TianoCore EDK2 master
Loading...
Searching...
No Matches
UsbHostController.h
Go to the documentation of this file.
1
13#ifndef _USB_HOSTCONTROLLER_H_
14#define _USB_HOSTCONTROLLER_H_
15
17
18#define EFI_USB_HC_PROTOCOL_GUID \
19 { \
20 0xf5089266, 0x1aa0, 0x4953, {0x97, 0xd8, 0x56, 0x2f, 0x8a, 0x73, 0xb5, 0x19 } \
21 }
22
27
28//
29// Protocol definitions
30//
31
45typedef
49 IN UINT16 Attributes
50 );
51
65typedef
70 );
71
84typedef
89 );
90
122typedef
126 IN UINT8 DeviceAddress,
127 IN BOOLEAN IsSlowDevice,
128 IN UINT8 MaximumPacketLength,
129 IN EFI_USB_DEVICE_REQUEST *Request,
130 IN EFI_USB_DATA_DIRECTION TransferDirection,
131 IN OUT VOID *Data OPTIONAL,
132 IN OUT UINTN *DataLength OPTIONAL,
133 IN UINTN TimeOut,
134 OUT UINT32 *TransferResult
135 );
136
168typedef
172 IN UINT8 DeviceAddress,
173 IN UINT8 EndPointAddress,
174 IN UINT8 MaximumPacketLength,
175 IN OUT VOID *Data,
176 IN OUT UINTN *DataLength,
177 IN OUT UINT8 *DataToggle,
178 IN UINTN TimeOut,
179 OUT UINT32 *TransferResult
180 );
181
224typedef
228 IN UINT8 DeviceAddress,
229 IN UINT8 EndPointAddress,
230 IN BOOLEAN IsSlowDevice,
231 IN UINT8 MaxiumPacketLength,
232 IN BOOLEAN IsNewTransfer,
233 IN OUT UINT8 *DataToggle,
234 IN UINTN PollingInterval OPTIONAL,
235 IN UINTN DataLength OPTIONAL,
237 IN VOID *Context OPTIONAL
238 );
239
276typedef
280 IN UINT8 DeviceAddress,
281 IN UINT8 EndPointAddress,
282 IN BOOLEAN IsSlowDevice,
283 IN UINT8 MaximumPacketLength,
284 IN OUT VOID *Data,
285 IN OUT UINTN *DataLength,
286 IN OUT UINT8 *DataToggle,
287 IN UINTN TimeOut,
288 OUT UINT32 *TransferResult
289 );
290
319typedef
323 IN UINT8 DeviceAddress,
324 IN UINT8 EndPointAddress,
325 IN UINT8 MaximumPacketLength,
326 IN OUT VOID *Data,
327 IN UINTN DataLength,
328 OUT UINT32 *TransferResult
329 );
330
362typedef
366 IN UINT8 DeviceAddress,
367 IN UINT8 EndPointAddress,
368 IN UINT8 MaximumPacketLength,
369 IN OUT VOID *Data,
370 IN UINTN DataLength,
371 IN EFI_ASYNC_USB_TRANSFER_CALLBACK IsochronousCallBack,
372 IN VOID *Context OPTIONAL
373 );
374
386typedef
390 OUT UINT8 *PortNumber
391 );
392
408typedef
412 IN UINT8 PortNumber,
413 OUT EFI_USB_PORT_STATUS *PortStatus
414 );
415
432typedef
436 IN UINT8 PortNumber,
437 IN EFI_USB_PORT_FEATURE PortFeature
438 );
439
456typedef
460 IN UINT8 PortNumber,
461 IN EFI_USB_PORT_FEATURE PortFeature
462 );
463
480 EFI_USB_HC_PROTOCOL_ASYNC_ISOCHRONOUS_TRANSFER AsyncIsochronousTransfer;
497};
498
499extern EFI_GUID gEfiUsbHcProtocolGuid;
500
501#endif
UINT64 UINTN
#define OPTIONAL
Definition: Base.h:290
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
EFI_USB_PORT_FEATURE
EFI_USB_HC_STATE
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_GET_ROOTHUB_PORT_NUMBER)(IN EFI_USB_HC_PROTOCOL *This, OUT UINT8 *PortNumber)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_ISOCHRONOUS_TRANSFER)(IN EFI_USB_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN UINT8 EndPointAddress, IN UINT8 MaximumPacketLength, IN OUT VOID *Data, IN UINTN DataLength, OUT UINT32 *TransferResult)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_SYNC_INTERRUPT_TRANSFER)(IN EFI_USB_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN UINT8 EndPointAddress, IN BOOLEAN IsSlowDevice, IN UINT8 MaximumPacketLength, IN OUT VOID *Data, IN OUT UINTN *DataLength, IN OUT UINT8 *DataToggle, IN UINTN TimeOut, OUT UINT32 *TransferResult)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_ASYNC_ISOCHRONOUS_TRANSFER)(IN EFI_USB_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN UINT8 EndPointAddress, IN UINT8 MaximumPacketLength, IN OUT VOID *Data, IN UINTN DataLength, IN EFI_ASYNC_USB_TRANSFER_CALLBACK IsochronousCallBack, IN VOID *Context OPTIONAL)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_CLEAR_ROOTHUB_PORT_FEATURE)(IN EFI_USB_HC_PROTOCOL *This, IN UINT8 PortNumber, IN EFI_USB_PORT_FEATURE PortFeature)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_GET_STATE)(IN EFI_USB_HC_PROTOCOL *This, OUT EFI_USB_HC_STATE *State)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_CONTROL_TRANSFER)(IN EFI_USB_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN BOOLEAN IsSlowDevice, IN UINT8 MaximumPacketLength, IN EFI_USB_DEVICE_REQUEST *Request, IN EFI_USB_DATA_DIRECTION TransferDirection, IN OUT VOID *Data OPTIONAL, IN OUT UINTN *DataLength OPTIONAL, IN UINTN TimeOut, OUT UINT32 *TransferResult)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_SET_STATE)(IN EFI_USB_HC_PROTOCOL *This, IN EFI_USB_HC_STATE State)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_GET_ROOTHUB_PORT_STATUS)(IN EFI_USB_HC_PROTOCOL *This, IN UINT8 PortNumber, OUT EFI_USB_PORT_STATUS *PortStatus)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_SET_ROOTHUB_PORT_FEATURE)(IN EFI_USB_HC_PROTOCOL *This, IN UINT8 PortNumber, IN EFI_USB_PORT_FEATURE PortFeature)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_RESET)(IN EFI_USB_HC_PROTOCOL *This, IN UINT16 Attributes)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_ASYNC_INTERRUPT_TRANSFER)(IN EFI_USB_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN UINT8 EndPointAddress, IN BOOLEAN IsSlowDevice, IN UINT8 MaxiumPacketLength, IN BOOLEAN IsNewTransfer, IN OUT UINT8 *DataToggle, IN UINTN PollingInterval OPTIONAL, IN UINTN DataLength OPTIONAL, IN EFI_ASYNC_USB_TRANSFER_CALLBACK CallBackFunction OPTIONAL, IN VOID *Context OPTIONAL)
EFI_STATUS(EFIAPI * EFI_USB_HC_PROTOCOL_BULK_TRANSFER)(IN EFI_USB_HC_PROTOCOL *This, IN UINT8 DeviceAddress, IN UINT8 EndPointAddress, IN UINT8 MaximumPacketLength, IN OUT VOID *Data, IN OUT UINTN *DataLength, IN OUT UINT8 *DataToggle, IN UINTN TimeOut, OUT UINT32 *TransferResult)
EFI_USB_DATA_DIRECTION
Definition: UsbIo.h:44
EFI_STATUS(EFIAPI * EFI_ASYNC_USB_TRANSFER_CALLBACK)(IN VOID *Data, IN UINTN DataLength, IN VOID *Context, IN UINT32 Status)
Definition: UsbIo.h:80
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
Definition: Base.h:213