modify coding style to pass ecc tool and provide comments that complied with Doxgen.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5436 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
eric_tian
2008-07-09 10:02:26 +00:00
parent 78f64f281a
commit 8616fc4c13
11 changed files with 1047 additions and 783 deletions

View File

@@ -1,5 +1,7 @@
/** @file
Manage Usb Port/Hc/Etc.
Copyright (c) 2007, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
@@ -9,22 +11,23 @@ http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
Module Name:
UsbUtility.h
Abstract:
Manage Usb Port/Hc/Etc
Revision History
**/
#ifndef _USB_UTILITY_H
#define _USB_UTILITY_H
#ifndef _EFI_USB_UTILITY_H_
#define _EFI_USB_UTILITY_H_
/**
Get the capability of the host controller.
@param UsbBus The usb driver.
@param MaxSpeed The maximum speed this host controller supports.
@param NumOfPort The number of the root hub port.
@param Is64BitCapable Whether this controller support 64 bit addressing.
@retval EFI_SUCCESS The host controller capability is returned.
@retval Others Failed to retrieve the host controller capability.
**/
EFI_STATUS
UsbHcGetCapability (
IN USB_BUS *UsbBus,
@@ -33,27 +36,67 @@ UsbHcGetCapability (
OUT UINT8 *Is64BitCapable
);
/**
Reset the host controller.
@param UsbBus The usb bus driver.
@param Attributes The reset type, only global reset is used by this driver.
@retval EFI_SUCCESS The reset operation succeeded.
@retval EFI_INVALID_PARAMETER Attributes is not valid.
@retval EFI_UNSUPPOURTED The type of reset specified by Attributes is
not currently supported by the host controller.
@retval EFI_DEVICE_ERROR Host controller isn't halted to reset.
**/
EFI_STATUS
UsbHcReset (
IN USB_BUS *UsbBus,
IN UINT16 Attributes
);
/**
Get the current operation state of the host controller.
@param UsbBus The USB bus driver.
@param State The host controller operation state.
@retval EFI_SUCCESS The operation state is returned in State.
@retval Others Failed to get the host controller state.
**/
EFI_STATUS
UsbHcGetState (
IN USB_BUS *UsbBus,
OUT EFI_USB_HC_STATE *State
);
/**
Set the host controller operation state.
@param UsbBus The USB bus driver.
@param State The state to set.
@retval EFI_SUCCESS The host controller is now working at State.
@retval Others Failed to set operation state.
**/
EFI_STATUS
UsbHcSetState (
IN USB_BUS *UsbBus,
IN EFI_USB_HC_STATE State
);
/**
Get the root hub port state.
@param UsbBus The USB bus driver.
@param PortIndex The index of port.
@param PortStatus The variable to save port state.
@retval EFI_SUCCESS The root port state is returned in.
@retval Others Failed to get the root hub port state.
**/
EFI_STATUS
UsbHcGetRootHubPortStatus (
IN USB_BUS *UsbBus,
@@ -61,7 +104,17 @@ UsbHcGetRootHubPortStatus (
OUT EFI_USB_PORT_STATUS *PortStatus
);
/**
Set the root hub port feature.
@param UsbBus The USB bus driver.
@param PortIndex The port index.
@param Feature The port feature to set.
@retval EFI_SUCCESS The port feature is set.
@retval Others Failed to set port feature.
**/
EFI_STATUS
UsbHcSetRootHubPortFeature (
IN USB_BUS *UsbBus,
@@ -69,7 +122,17 @@ UsbHcSetRootHubPortFeature (
IN EFI_USB_PORT_FEATURE Feature
);
/**
Clear the root hub port feature.
@param UsbBus The USB bus driver.
@param PortIndex The port index.
@param Feature The port feature to clear.
@retval EFI_SUCCESS The port feature is clear.
@retval Others Failed to clear port feature.
**/
EFI_STATUS
UsbHcClearRootHubPortFeature (
IN USB_BUS *UsbBus,
@@ -77,7 +140,25 @@ UsbHcClearRootHubPortFeature (
IN EFI_USB_PORT_FEATURE Feature
);
/**
Execute a control transfer to the device.
@param UsbBus The USB bus driver.
@param DevAddr The device address.
@param DevSpeed The device speed.
@param MaxPacket Maximum packet size of endpoint 0.
@param Request The control transfer request.
@param Direction The direction of data stage.
@param Data The buffer holding data.
@param DataLength The length of the data.
@param TimeOut Timeout (in ms) to wait until timeout.
@param Translator The transaction translator for low/full speed device.
@param UsbResult The result of transfer.
@retval EFI_SUCCESS The control transfer finished without error.
@retval Others The control transfer failed, reason returned in UsbReslt.
**/
EFI_STATUS
UsbHcControlTransfer (
IN USB_BUS *UsbBus,
@@ -93,7 +174,28 @@ UsbHcControlTransfer (
OUT UINT32 *UsbResult
);
/**
Execute a bulk transfer to the device's endpoint.
@param UsbBus The USB bus driver.
@param DevAddr The target device address.
@param EpAddr The target endpoint address, with direction encoded in
bit 7.
@param DevSpeed The device's speed.
@param MaxPacket The endpoint's max packet size.
@param BufferNum The number of data buffer.
@param Data Array of pointers to data buffer.
@param DataLength The length of data buffer.
@param DataToggle On input, the initial data toggle to use, also return
the next toggle on output.
@param TimeOut The time to wait until timeout.
@param Translator The transaction translator for low/full speed device.
@param UsbResult The result of USB execution.
@retval EFI_SUCCESS The bulk transfer is finished without error.
@retval Others Failed to execute bulk transfer, result in UsbResult.
**/
EFI_STATUS
UsbHcBulkTransfer (
IN USB_BUS *UsbBus,
@@ -110,7 +212,28 @@ UsbHcBulkTransfer (
OUT UINT32 *UsbResult
);
/**
Queue or cancel an asynchronous interrupt transfer.
@param UsbBus The USB bus driver.
@param DevAddr The target device address.
@param EpAddr The target endpoint address, with direction encoded in
bit 7.
@param DevSpeed The device's speed.
@param MaxPacket The endpoint's max packet size.
@param IsNewTransfer Whether this is a new request. If not, cancel the old
request.
@param DataToggle Data toggle to use on input, next toggle on output.
@param PollingInterval The interval to poll the interrupt transfer (in ms).
@param DataLength The length of periodical data receive.
@param Translator The transaction translator for low/full speed device.
@param Callback Function to call when data is received.
@param Context The context to the callback.
@retval EFI_SUCCESS The asynchronous transfer is queued.
@retval Others Failed to queue the transfer.
**/
EFI_STATUS
UsbHcAsyncInterruptTransfer (
IN USB_BUS *UsbBus,
@@ -127,7 +250,27 @@ UsbHcAsyncInterruptTransfer (
IN VOID *Context OPTIONAL
);
/**
Execute a synchronous interrupt transfer to the target endpoint.
@param UsbBus The USB bus driver.
@param DevAddr The target device address.
@param EpAddr The target endpoint address, with direction encoded in
bit 7.
@param DevSpeed The device's speed.
@param MaxPacket The endpoint's max packet size.
@param Data Pointer to data buffer.
@param DataLength The length of data buffer.
@param DataToggle On input, the initial data toggle to use, also return
the next toggle on output.
@param TimeOut The time to wait until timeout.
@param Translator The transaction translator for low/full speed device.
@param UsbResult The result of USB execution.
@retval EFI_SUCCESS The synchronous interrupt transfer is OK.
@retval Others Failed to execute the synchronous interrupt transfer.
**/
EFI_STATUS
UsbHcSyncInterruptTransfer (
IN USB_BUS *UsbBus,
@@ -143,7 +286,24 @@ UsbHcSyncInterruptTransfer (
OUT UINT32 *UsbResult
);
/**
Execute a synchronous Isochronous USB transfer.
@param UsbBus The USB bus driver.
@param DevAddr The target device address.
@param EpAddr The target endpoint address, with direction encoded in
bit 7.
@param DevSpeed The device's speed.
@param MaxPacket The endpoint's max packet size.
@param BufferNum The number of data buffer.
@param Data Array of pointers to data buffer.
@param DataLength The length of data buffer.
@param Translator The transaction translator for low/full speed device.
@param UsbResult The result of USB execution.
@retval EFI_UNSUPPORTED The isochronous transfer isn't supported now.
**/
EFI_STATUS
UsbHcIsochronousTransfer (
IN USB_BUS *UsbBus,
@@ -158,7 +318,25 @@ UsbHcIsochronousTransfer (
OUT UINT32 *UsbResult
);
/**
Queue an asynchronous isochronous transfer.
@param UsbBus The USB bus driver.
@param DevAddr The target device address.
@param EpAddr The target endpoint address, with direction encoded in
bit 7.
@param DevSpeed The device's speed.
@param MaxPacket The endpoint's max packet size.
@param BufferNum The number of data buffer.
@param Data Array of pointers to data buffer.
@param DataLength The length of data buffer.
@param Translator The transaction translator for low/full speed device.
@param Callback The function to call when data is transferred.
@param Context The context to the callback function.
@retval EFI_UNSUPPORTED The asynchronous isochronous transfer isn't supported.
**/
EFI_STATUS
UsbHcAsyncIsochronousTransfer (
IN USB_BUS *UsbBus,
@@ -174,37 +352,47 @@ UsbHcAsyncIsochronousTransfer (
IN VOID *Context
);
/**
Open the USB host controller protocol BY_CHILD.
@param Bus The USB bus driver.
@param Child The child handle.
@return The open protocol return.
**/
EFI_STATUS
UsbOpenHostProtoByChild (
IN USB_BUS *Bus,
IN EFI_HANDLE Child
);
/**
Close the USB host controller protocol BY_CHILD.
@param Bus The USB bus driver.
@param Child The child handle.
@return None.
**/
VOID
UsbCloseHostProtoByChild (
IN USB_BUS *Bus,
IN EFI_HANDLE Child
);
/**
return the current TPL, copied from the EDKII glue lib.
@param VOID.
@return Current TPL.
**/
EFI_TPL
UsbGetCurrentTpl (
VOID
);
VOID
UsbDebug (
IN CHAR8 *Format,
...
);
VOID
UsbError (
IN CHAR8 *Format,
...
);
#endif