28#ifndef __USB_FUNCTION_IO_H__
29#define __USB_FUNCTION_IO_H__
33#define EFI_USBFN_IO_PROTOCOL_GUID \
35 0x32d2963a, 0xfe5d, 0x4f30, {0xb6, 0x33, 0x6e, 0x5d, 0xc5, 0x58, 0x3, 0xcc} \
40#define EFI_USBFN_IO_PROTOCOL_REVISION 0x00010001
UINT64 UINTN
Definition ProcessorBind.h:118
#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
uint32_t Size
Definition pe.h:1
RETURN_STATUS EFI_STATUS
Definition UefiBaseType.h:33
union _EFI_USBFN_MESSAGE_PAYLOAD EFI_USBFN_MESSAGE_PAYLOAD
_EFI_USBFN_DEVICE_INFO_ID
Definition UsbFunctionIo.h:72
@ EfiUsbDeviceInfoManufacturerName
Definition UsbFunctionIo.h:75
@ EfiUsbDeviceInfoProductName
Definition UsbFunctionIo.h:76
@ EfiUsbDeviceInfoSerialNumber
Definition UsbFunctionIo.h:74
@ EfiUsbDeviceInfoUnknown
Definition UsbFunctionIo.h:73
enum _EFI_USBFN_ENDPOINT_DIRECTION EFI_USBFN_ENDPOINT_DIRECTION
EFI_STATUS(EFIAPI * EFI_USBFN_IO_GET_ENDPOINT_STALL_STATE)(IN EFI_USBFN_IO_PROTOCOL *This, IN UINT8 EndpointIndex, IN EFI_USBFN_ENDPOINT_DIRECTION Direction, IN OUT BOOLEAN *State)
Definition UsbFunctionIo.h:364
EFI_GUID gEfiUsbFunctionIoProtocolGuid
struct _EFI_USBFN_TRANSFER_RESULT EFI_USBFN_TRANSFER_RESULT
EFI_STATUS(EFIAPI * EFI_USBFN_IO_GET_ENDPOINT_POLICY)(IN EFI_USBFN_IO_PROTOCOL *This, IN UINT8 EndpointIndex, IN EFI_USBFN_ENDPOINT_DIRECTION Direction, IN EFI_USBFN_POLICY_TYPE PolicyType, IN OUT UINTN *BufferSize, IN OUT VOID *Buffer)
Definition UsbFunctionIo.h:653
EFI_STATUS(EFIAPI * EFI_USBFN_IO_ALLOCATE_TRANSFER_BUFFER)(IN EFI_USBFN_IO_PROTOCOL *This, IN UINTN Size, OUT VOID **Buffer)
Definition UsbFunctionIo.h:530
enum _EFI_USBFN_PORT_TYPE EFI_USBFN_PORT_TYPE
_EFI_USBFN_POLICY_TYPE
Definition UsbFunctionIo.h:170
@ EfiUsbPolicyUndefined
Definition UsbFunctionIo.h:171
@ EfiUsbPolicyMaxTransactionSize
Definition UsbFunctionIo.h:172
@ EfiUsbPolicyZeroLengthTerminationSupport
Definition UsbFunctionIo.h:173
@ EfiUsbPolicyZeroLengthTermination
Definition UsbFunctionIo.h:174
enum _EFI_USB_BUS_SPEED EFI_USB_BUS_SPEED
_EFI_USBFN_PORT_TYPE
Definition UsbFunctionIo.h:42
@ EfiUsbStandardDownstreamPort
Definition UsbFunctionIo.h:44
@ EfiUsbChargingDownstreamPort
Definition UsbFunctionIo.h:45
@ EfiUsbDedicatedChargingPort
Definition UsbFunctionIo.h:46
@ EfiUsbInvalidDedicatedChargingPort
Definition UsbFunctionIo.h:47
@ EfiUsbUnknownPort
Definition UsbFunctionIo.h:43
EFI_STATUS(EFIAPI * EFI_USBFN_IO_STOP_CONTROLLER)(IN EFI_USBFN_IO_PROTOCOL *This)
Definition UsbFunctionIo.h:588
EFI_STATUS(EFIAPI * EFI_USBFN_IO_CONFIGURE_ENABLE_ENDPOINTS)(IN EFI_USBFN_IO_PROTOCOL *This, OUT EFI_USB_DEVICE_INFO *DeviceInfo)
Definition UsbFunctionIo.h:223
_EFI_USBFN_ENDPOINT_DIRECTION
Definition UsbFunctionIo.h:79
@ EfiUsbEndpointDirectionDeviceRx
Definition UsbFunctionIo.h:83
@ EfiUsbEndpointDirectionHostOut
Definition UsbFunctionIo.h:80
@ EfiUsbEndpointDirectionHostIn
Definition UsbFunctionIo.h:81
@ EfiUsbEndpointDirectionDeviceTx
Definition UsbFunctionIo.h:82
EFI_STATUS(EFIAPI * EFI_USBFN_IO_SET_ENDPOINT_STALL_STATE)(IN EFI_USBFN_IO_PROTOCOL *This, IN UINT8 EndpointIndex, IN EFI_USBFN_ENDPOINT_DIRECTION Direction, IN OUT BOOLEAN *State)
Definition UsbFunctionIo.h:393
EFI_STATUS(EFIAPI * EFI_USBFN_IO_DETECT_PORT)(IN EFI_USBFN_IO_PROTOCOL *This, OUT EFI_USBFN_PORT_TYPE *PortType)
Definition UsbFunctionIo.h:193
EFI_STATUS(EFIAPI * EFI_USBFN_IO_ABORT_TRANSFER)(IN EFI_USBFN_IO_PROTOCOL *This, IN UINT8 EndpointIndex, IN EFI_USBFN_ENDPOINT_DIRECTION Direction)
Definition UsbFunctionIo.h:337
_EFI_USB_BUS_SPEED
Definition UsbFunctionIo.h:155
@ UsbBusSpeedSuper
Definition UsbFunctionIo.h:160
@ UsbBusSpeedMaximum
Definition UsbFunctionIo.h:161
@ UsbBusSpeedUnknown
Definition UsbFunctionIo.h:156
@ UsbBusSpeedLow
Definition UsbFunctionIo.h:157
@ UsbBusSpeedFull
Definition UsbFunctionIo.h:158
@ UsbBusSpeedHigh
Definition UsbFunctionIo.h:159
EFI_STATUS(EFIAPI * EFI_USBFN_IO_TRANSFER)(IN EFI_USBFN_IO_PROTOCOL *This, IN UINT8 EndpointIndex, IN EFI_USBFN_ENDPOINT_DIRECTION Direction, IN OUT UINTN *BufferSize, IN OUT VOID *Buffer)
Definition UsbFunctionIo.h:476
_EFI_USBFN_TRANSFER_STATUS
Definition UsbFunctionIo.h:139
@ UsbTransferStatusAborted
Definition UsbFunctionIo.h:142
@ UsbTransferStatusActive
Definition UsbFunctionIo.h:143
@ UsbTransferStatusNone
Definition UsbFunctionIo.h:144
@ UsbTransferStatusUnknown
Definition UsbFunctionIo.h:140
@ UsbTransferStatusComplete
Definition UsbFunctionIo.h:141
enum _EFI_USB_ENDPOINT_TYPE EFI_USB_ENDPOINT_TYPE
enum _EFI_USBFN_DEVICE_INFO_ID EFI_USBFN_DEVICE_INFO_ID
EFI_STATUS(EFIAPI * EFI_USBFN_IO_GET_VENDOR_ID_PRODUCT_ID)(IN EFI_USBFN_IO_PROTOCOL *This, OUT UINT16 *Vid, OUT UINT16 *Pid)
Definition UsbFunctionIo.h:311
EFI_STATUS(EFIAPI * EFI_USBFN_IO_FREE_TRANSFER_BUFFER)(IN EFI_USBFN_IO_PROTOCOL *This, IN VOID *Buffer)
Definition UsbFunctionIo.h:553
_EFI_USB_ENDPOINT_TYPE
Definition UsbFunctionIo.h:65
@ UsbEndpointControl
Definition UsbFunctionIo.h:66
@ UsbEndpointBulk
Definition UsbFunctionIo.h:68
enum _EFI_USBFN_POLICY_TYPE EFI_USBFN_POLICY_TYPE
EFI_STATUS(EFIAPI * EFI_USBFN_IO_GET_MAXTRANSFER_SIZE)(IN EFI_USBFN_IO_PROTOCOL *This, OUT UINTN *MaxTransferSize)
Definition UsbFunctionIo.h:502
EFI_STATUS(EFIAPI * EFI_USBFN_IO_EVENTHANDLER)(IN EFI_USBFN_IO_PROTOCOL *This, OUT EFI_USBFN_MESSAGE *Message, IN OUT UINTN *PayloadSize, OUT EFI_USBFN_MESSAGE_PAYLOAD *Payload)
Definition UsbFunctionIo.h:428
EFI_STATUS(EFIAPI * EFI_USBFN_IO_START_CONTROLLER)(IN EFI_USBFN_IO_PROTOCOL *This)
Definition UsbFunctionIo.h:572
_EFI_USBFN_MESSAGE
Definition UsbFunctionIo.h:86
@ EfiUsbMsgBusEventSpeed
Definition UsbFunctionIo.h:136
@ EfiUsbMsgEndpointStatusChangedTx
Definition UsbFunctionIo.h:111
@ EfiUsbMsgEndpointStatusChangedRx
Definition UsbFunctionIo.h:103
@ EfiUsbMsgNone
Definition UsbFunctionIo.h:90
@ EfiUsbMsgBusEventReset
Definition UsbFunctionIo.h:123
@ EfiUsbMsgSetupPacket
Definition UsbFunctionIo.h:95
@ EfiUsbMsgBusEventDetach
Definition UsbFunctionIo.h:115
@ EfiUsbMsgBusEventResume
Definition UsbFunctionIo.h:131
@ EfiUsbMsgBusEventAttach
Definition UsbFunctionIo.h:119
@ EfiUsbMsgBusEventSuspend
Definition UsbFunctionIo.h:127
enum _EFI_USBFN_MESSAGE EFI_USBFN_MESSAGE
EFI_STATUS(EFIAPI * EFI_USBFN_IO_SET_ENDPOINT_POLICY)(IN EFI_USBFN_IO_PROTOCOL *This, IN UINT8 EndpointIndex, IN EFI_USBFN_ENDPOINT_DIRECTION Direction, IN EFI_USBFN_POLICY_TYPE PolicyType, IN UINTN BufferSize, IN VOID *Buffer)
Definition UsbFunctionIo.h:617
EFI_STATUS(EFIAPI * EFI_USBFN_IO_GET_ENDPOINT_MAXPACKET_SIZE)(IN EFI_USBFN_IO_PROTOCOL *This, IN EFI_USB_ENDPOINT_TYPE EndpointType, IN EFI_USB_BUS_SPEED BusSpeed, OUT UINT16 *MaxPacketSize)
Definition UsbFunctionIo.h:253
enum _EFI_USBFN_TRANSFER_STATUS EFI_USBFN_TRANSFER_STATUS
EFI_STATUS(EFIAPI * EFI_USBFN_IO_GET_DEVICE_INFO)(IN EFI_USBFN_IO_PROTOCOL *This, IN EFI_USBFN_DEVICE_INFO_ID Id, IN OUT UINTN *BufferSize, OUT VOID *Buffer OPTIONAL)
Definition UsbFunctionIo.h:290
#define VOID
Definition acefi.h:190
unsigned short UINT16
Definition actypes.h:237
unsigned char BOOLEAN
Definition actypes.h:235
unsigned char UINT8
Definition actypes.h:236
Definition UsbFunctionIo.h:55
EFI_USB_INTERFACE_INFO ** InterfaceInfoTable
Definition UsbFunctionIo.h:57
EFI_USB_CONFIG_DESCRIPTOR * ConfigDescriptor
Definition UsbFunctionIo.h:56
Definition UsbFunctionIo.h:60
EFI_USB_DEVICE_DESCRIPTOR * DeviceDescriptor
Definition UsbFunctionIo.h:61
EFI_USB_CONFIG_INFO ** ConfigInfoTable
Definition UsbFunctionIo.h:62
Definition UsbFunctionIo.h:50
EFI_USB_INTERFACE_DESCRIPTOR * InterfaceDescriptor
Definition UsbFunctionIo.h:51
EFI_USB_ENDPOINT_DESCRIPTOR ** EndpointDescriptorTable
Definition UsbFunctionIo.h:52
Definition UsbFunctionIo.h:666
EFI_USBFN_IO_SET_ENDPOINT_POLICY SetEndpointPolicy
Definition UsbFunctionIo.h:683
EFI_USBFN_IO_GET_ENDPOINT_POLICY GetEndpointPolicy
Definition UsbFunctionIo.h:684
EFI_USBFN_IO_STOP_CONTROLLER StopController
Definition UsbFunctionIo.h:682
EFI_USBFN_IO_EVENTHANDLER EventHandler
Definition UsbFunctionIo.h:676
EFI_USBFN_IO_ALLOCATE_TRANSFER_BUFFER AllocateTransferBuffer
Definition UsbFunctionIo.h:679
EFI_USBFN_IO_GET_MAXTRANSFER_SIZE GetMaxTransferSize
Definition UsbFunctionIo.h:678
UINT32 Revision
Definition UsbFunctionIo.h:667
EFI_USBFN_IO_CONFIGURE_ENABLE_ENDPOINTS ConfigureEnableEndpoints
Definition UsbFunctionIo.h:669
EFI_USBFN_IO_GET_ENDPOINT_STALL_STATE GetEndpointStallState
Definition UsbFunctionIo.h:674
EFI_USBFN_IO_GET_DEVICE_INFO GetDeviceInfo
Definition UsbFunctionIo.h:671
EFI_USBFN_IO_GET_ENDPOINT_MAXPACKET_SIZE GetEndpointMaxPacketSize
Definition UsbFunctionIo.h:670
EFI_USBFN_IO_GET_VENDOR_ID_PRODUCT_ID GetVendorIdProductId
Definition UsbFunctionIo.h:672
EFI_USBFN_IO_SET_ENDPOINT_STALL_STATE SetEndpointStallState
Definition UsbFunctionIo.h:675
EFI_USBFN_IO_START_CONTROLLER StartController
Definition UsbFunctionIo.h:681
EFI_USBFN_IO_FREE_TRANSFER_BUFFER FreeTransferBuffer
Definition UsbFunctionIo.h:680
EFI_USBFN_IO_ABORT_TRANSFER AbortTransfer
Definition UsbFunctionIo.h:673
EFI_USBFN_IO_DETECT_PORT DetectPort
Definition UsbFunctionIo.h:668
EFI_USBFN_IO_TRANSFER Transfer
Definition UsbFunctionIo.h:677
Definition UsbFunctionIo.h:147
UINTN BytesTransferred
Definition UsbFunctionIo.h:148
VOID * Buffer
Definition UsbFunctionIo.h:152
UINT8 EndpointIndex
Definition UsbFunctionIo.h:150
EFI_USBFN_ENDPOINT_DIRECTION Direction
Definition UsbFunctionIo.h:151
EFI_USBFN_TRANSFER_STATUS TransferStatus
Definition UsbFunctionIo.h:149
Definition UsbFunctionIo.h:164
EFI_USB_BUS_SPEED ubs
Definition UsbFunctionIo.h:167
EFI_USBFN_TRANSFER_RESULT utr
Definition UsbFunctionIo.h:166
EFI_USB_DEVICE_REQUEST udr
Definition UsbFunctionIo.h:165