XenevaOS
Loading...
Searching...
No Matches
UsbIo.h
Go to the documentation of this file.
1
19#ifndef __USB_IO_H__
20#define __USB_IO_H__
21
23
24//
25// Global ID for the USB I/O Protocol
26//
27#define EFI_USB_IO_PROTOCOL_GUID \
28 { \
29 0x2B2F68D6, 0x0CD2, 0x44cf, {0x8E, 0x8B, 0xBB, 0xA2, 0x0B, 0x1B, 0x5B, 0x75 } \
30 }
31
33
34//
35// Related Definition for EFI USB I/O protocol
36//
37
38//
39// USB standard descriptors and reqeust
40//
46
55
56//
57// USB Transfer Results
58//
59#define EFI_USB_NOERROR 0x00
60#define EFI_USB_ERR_NOTEXECUTE 0x01
61#define EFI_USB_ERR_STALL 0x02
62#define EFI_USB_ERR_BUFFER 0x04
63#define EFI_USB_ERR_BABBLE 0x08
64#define EFI_USB_ERR_NAK 0x10
65#define EFI_USB_ERR_CRC 0x20
66#define EFI_USB_ERR_TIMEOUT 0x40
67#define EFI_USB_ERR_BITSTUFF 0x80
68#define EFI_USB_ERR_SYSTEM 0x100
69
84typedef
87 IN VOID *Data,
88 IN UINTN DataLength,
91 );
92
93//
94// Prototype for EFI USB I/O protocol
95//
96
97
120typedef
124 IN EFI_USB_DEVICE_REQUEST *Request,
125 IN EFI_USB_DATA_DIRECTION Direction,
126 IN UINT32 Timeout,
127 IN OUT VOID *Data OPTIONAL,
128 IN UINTN DataLength OPTIONAL,
130 );
131
163typedef
167 IN UINT8 DeviceEndpoint,
168 IN OUT VOID *Data,
169 IN OUT UINTN *DataLength,
170 IN UINTN Timeout,
172 );
173
208typedef
212 IN UINT8 DeviceEndpoint,
213 IN BOOLEAN IsNewTransfer,
214 IN UINTN PollingInterval OPTIONAL,
215 IN UINTN DataLength OPTIONAL,
218 );
219
248typedef
252 IN UINT8 DeviceEndpoint,
253 IN OUT VOID *Data,
254 IN OUT UINTN *DataLength,
255 IN UINTN Timeout,
257 );
258
284typedef
288 IN UINT8 DeviceEndpoint,
289 IN OUT VOID *Data,
290 IN UINTN DataLength,
292 );
293
321typedef
325 IN UINT8 DeviceEndpoint,
326 IN OUT VOID *Data,
327 IN UINTN DataLength,
328 IN EFI_ASYNC_USB_TRANSFER_CALLBACK IsochronousCallBack,
330 );
331
343typedef
347 );
348
360typedef
364 OUT EFI_USB_DEVICE_DESCRIPTOR *DeviceDescriptor
365 );
366
379typedef
383 OUT EFI_USB_CONFIG_DESCRIPTOR *ConfigurationDescriptor
384 );
385
399typedef
403 OUT EFI_USB_INTERFACE_DESCRIPTOR *InterfaceDescriptor
404 );
405
420typedef
424 IN UINT8 EndpointIndex,
425 OUT EFI_USB_ENDPOINT_DESCRIPTOR *EndpointDescriptor
426 );
427
445typedef
449 IN UINT16 LangID,
450 IN UINT8 StringID,
451 OUT CHAR16 **String
452 );
453
468typedef
472 OUT UINT16 **LangIDTable,
473 OUT UINT16 *TableSize
474 );
475
509
511
512#endif
UINT64 UINTN
Definition ProcessorBind.h:118
unsigned short CHAR16
Definition ProcessorBind.h:105
#define EFIAPI
Definition ProcessorBind.h:172
unsigned int UINT32
Definition ProcessorBind.h:102
#define IN
Definition Base.h:347
#define OUT
Definition Base.h:352
#define OPTIONAL
Definition Base.h:358
RETURN_STATUS EFI_STATUS
Definition UefiBaseType.h:33
USB_DEVICE_DESCRIPTOR EFI_USB_DEVICE_DESCRIPTOR
Definition UsbIo.h:42
EFI_STATUS(EFIAPI * EFI_USB_IO_SYNC_INTERRUPT_TRANSFER)(IN EFI_USB_IO_PROTOCOL *This, IN UINT8 DeviceEndpoint, IN OUT VOID *Data, IN OUT UINTN *DataLength, IN UINTN Timeout, OUT UINT32 *Status)
Definition UsbIo.h:250
EFI_STATUS(EFIAPI * EFI_USB_IO_ASYNC_ISOCHRONOUS_TRANSFER)(IN EFI_USB_IO_PROTOCOL *This, IN UINT8 DeviceEndpoint, IN OUT VOID *Data, IN UINTN DataLength, IN EFI_ASYNC_USB_TRANSFER_CALLBACK IsochronousCallBack, IN VOID *Context OPTIONAL)
Definition UsbIo.h:323
EFI_STATUS(EFIAPI * EFI_USB_IO_ASYNC_INTERRUPT_TRANSFER)(IN EFI_USB_IO_PROTOCOL *This, IN UINT8 DeviceEndpoint, IN BOOLEAN IsNewTransfer, IN UINTN PollingInterval OPTIONAL, IN UINTN DataLength OPTIONAL, IN EFI_ASYNC_USB_TRANSFER_CALLBACK InterruptCallBack OPTIONAL, IN VOID *Context OPTIONAL)
Definition UsbIo.h:210
EFI_STATUS(EFIAPI * EFI_USB_IO_BULK_TRANSFER)(IN EFI_USB_IO_PROTOCOL *This, IN UINT8 DeviceEndpoint, IN OUT VOID *Data, IN OUT UINTN *DataLength, IN UINTN Timeout, OUT UINT32 *Status)
Definition UsbIo.h:165
EFI_USB_DATA_DIRECTION
Definition UsbIo.h:50
@ EfiUsbNoData
Definition UsbIo.h:53
@ EfiUsbDataIn
Definition UsbIo.h:51
@ EfiUsbDataOut
Definition UsbIo.h:52
EFI_STATUS(EFIAPI * EFI_USB_IO_CONTROL_TRANSFER)(IN EFI_USB_IO_PROTOCOL *This, IN EFI_USB_DEVICE_REQUEST *Request, IN EFI_USB_DATA_DIRECTION Direction, IN UINT32 Timeout, IN OUT VOID *Data OPTIONAL, IN UINTN DataLength OPTIONAL, OUT UINT32 *Status)
Definition UsbIo.h:122
EFI_STATUS(EFIAPI * EFI_USB_IO_PORT_RESET)(IN EFI_USB_IO_PROTOCOL *This)
Definition UsbIo.h:345
EFI_STATUS(EFIAPI * EFI_USB_IO_GET_ENDPOINT_DESCRIPTOR)(IN EFI_USB_IO_PROTOCOL *This, IN UINT8 EndpointIndex, OUT EFI_USB_ENDPOINT_DESCRIPTOR *EndpointDescriptor)
Definition UsbIo.h:422
USB_CONFIG_DESCRIPTOR EFI_USB_CONFIG_DESCRIPTOR
Definition UsbIo.h:43
EFI_STATUS(EFIAPI * EFI_USB_IO_GET_DEVICE_DESCRIPTOR)(IN EFI_USB_IO_PROTOCOL *This, OUT EFI_USB_DEVICE_DESCRIPTOR *DeviceDescriptor)
Definition UsbIo.h:362
USB_INTERFACE_DESCRIPTOR EFI_USB_INTERFACE_DESCRIPTOR
Definition UsbIo.h:44
USB_DEVICE_REQUEST EFI_USB_DEVICE_REQUEST
Definition UsbIo.h:41
EFI_STATUS(EFIAPI * EFI_USB_IO_GET_SUPPORTED_LANGUAGE)(IN EFI_USB_IO_PROTOCOL *This, OUT UINT16 **LangIDTable, OUT UINT16 *TableSize)
Definition UsbIo.h:470
EFI_STATUS(EFIAPI * EFI_USB_IO_ISOCHRONOUS_TRANSFER)(IN EFI_USB_IO_PROTOCOL *This, IN UINT8 DeviceEndpoint, IN OUT VOID *Data, IN UINTN DataLength, OUT UINT32 *Status)
Definition UsbIo.h:286
EFI_STATUS(EFIAPI * EFI_ASYNC_USB_TRANSFER_CALLBACK)(IN VOID *Data, IN UINTN DataLength, IN VOID *Context, IN UINT32 Status)
Definition UsbIo.h:86
EFI_GUID gEfiUsbIoProtocolGuid
EFI_STATUS(EFIAPI * EFI_USB_IO_GET_INTERFACE_DESCRIPTOR)(IN EFI_USB_IO_PROTOCOL *This, OUT EFI_USB_INTERFACE_DESCRIPTOR *InterfaceDescriptor)
Definition UsbIo.h:401
EFI_STATUS(EFIAPI * EFI_USB_IO_GET_CONFIG_DESCRIPTOR)(IN EFI_USB_IO_PROTOCOL *This, OUT EFI_USB_CONFIG_DESCRIPTOR *ConfigurationDescriptor)
Definition UsbIo.h:381
USB_ENDPOINT_DESCRIPTOR EFI_USB_ENDPOINT_DESCRIPTOR
Definition UsbIo.h:45
EFI_STATUS(EFIAPI * EFI_USB_IO_GET_STRING_DESCRIPTOR)(IN EFI_USB_IO_PROTOCOL *This, IN UINT16 LangID, IN UINT8 StringID, OUT CHAR16 **String)
Definition UsbIo.h:447
#define VOID
Definition acefi.h:190
UINT32 void * Context
Definition acevents.h:322
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char ACPI_WALK_RESOURCE_CALLBACK void *Context ACPI_BUFFER *RetBuffer UINT16 ACPI_RESOURCE **ResourcePtr ACPI_GENERIC_ADDRESS *Reg UINT32 *ReturnValue UINT8 UINT8 *Slp_TypB ACPI_PHYSICAL_ADDRESS PhysicalAddress64 UINT32 UINT32 *TimeElapsed UINT32 ACPI_STATUS Status
Definition acpixf.h:1303
unsigned short UINT16
Definition actypes.h:237
unsigned char BOOLEAN
Definition actypes.h:235
unsigned char UINT8
Definition actypes.h:236
Definition Base.h:281
Definition Usb.h:130
Definition Usb.h:109
Definition Usb.h:97
Definition Usb.h:161
Definition Usb.h:145
Definition UsbIo.h:483
EFI_USB_IO_GET_CONFIG_DESCRIPTOR UsbGetConfigDescriptor
Definition UsbIo.h:498
EFI_USB_IO_GET_INTERFACE_DESCRIPTOR UsbGetInterfaceDescriptor
Definition UsbIo.h:499
EFI_USB_IO_CONTROL_TRANSFER UsbControlTransfer
Definition UsbIo.h:487
EFI_USB_IO_BULK_TRANSFER UsbBulkTransfer
Definition UsbIo.h:488
EFI_USB_IO_GET_DEVICE_DESCRIPTOR UsbGetDeviceDescriptor
Definition UsbIo.h:497
EFI_USB_IO_ASYNC_ISOCHRONOUS_TRANSFER UsbAsyncIsochronousTransfer
Definition UsbIo.h:492
EFI_USB_IO_ASYNC_INTERRUPT_TRANSFER UsbAsyncInterruptTransfer
Definition UsbIo.h:489
EFI_USB_IO_GET_ENDPOINT_DESCRIPTOR UsbGetEndpointDescriptor
Definition UsbIo.h:500
EFI_USB_IO_SYNC_INTERRUPT_TRANSFER UsbSyncInterruptTransfer
Definition UsbIo.h:490
EFI_USB_IO_GET_STRING_DESCRIPTOR UsbGetStringDescriptor
Definition UsbIo.h:501
EFI_USB_IO_PORT_RESET UsbPortReset
Definition UsbIo.h:507
EFI_USB_IO_ISOCHRONOUS_TRANSFER UsbIsochronousTransfer
Definition UsbIo.h:491
EFI_USB_IO_GET_SUPPORTED_LANGUAGE UsbGetSupportedLanguages
Definition UsbIo.h:502