EFI_USBFN_POLICY_TYPE
The EFI_USBFN_POLICY_TYPE enumeration contains values used to indicate the type of endpoint.
Syntax
typedef enum _EFI_USBFN_POLICY_TYPE{
EfiUsbPolicyUndefined = 0,
EfiUsbPolicyMaxTransactionSize,
EfiUsbPolicyZeroLengthTerminationSupport,
EfiUsbPolicyZeroLengthTermination
} EFI_USBFN_POLICY_TYPE;
Constants
EfiUsbPolicyUndefined
Invalid policy value that must never be used across a driver boundary. If used, the callee function must never return a success status code.
EfiUsbPolicyMaxTransactionSize
This policy is read-only. When used with EFI_USBFN_IO_PROTOCOL.GetEndpointPolicy, the size of the maximum single transaction (delivery of service to an endpoint) supported by a controller is returned. It must be more than or equal to the maximum transfer size that can be retrieved by calling EFI_USBFN_IO_PROTOCOL.GetMaxTransferSize.
GetEndpointPolicy | SetEndpointPolicy | |
---|---|---|
BufferSize | 4 bytes, sizeof(UINT32) | Not applicable |
Return status | EFI_STATUS | EFI_UNSUPPORTED |
EfiUsbPolicyZeroLengthTerminationSupport
This policy is read-only. When used with EFI_USBFN_IO_PROTOCOL.GetEndpointPolicy, TRUE is returned if the USB controller hardware is capable of automatically handling zero-length packets when the transfer size is a multiple of USB maximum packet size; FALSE is returned if such a scenario is not supported by the controller hardware.
GetEndpointPolicy | SetEndpointPolicy | |
---|---|---|
BufferSize | 1 byte, sizeof(BOOLEAN) | Not applicable |
Return status | EFI_STATUS | EFI_UNSUPPORTED |
EfiUsbPolicyZeroLengthTermination
When used with EFI_USBFN_IO_PROTOCOL.GetEndpointPolicy, TRUE is returned if the USB controller hardware is configured to automatically handle zero-length packets when the transfer size is a multiple of USB maximum packet size; FALSE is returned if the controller hardware is not configured to support such a scenario.
EFI_USBFN_IO_PROTOCOL.SetEndpointPolicy can only accept this policy type if the USB controller hardware is capable of supporting automatic zero-length packet termination. When this value is set to TRUE, the controller must be configured to handle zero-length termination for the specified endpoint; a FALSE value would not configure the controller in such fashion.
Even if the controller hardware is capable of supporting automatic zero-length termination, it must not be the default configuration.
GetEndpointPolicy | SetEndpointPolicy | |
---|---|---|
BufferSize | 1 byte, sizeof(BOOLEAN) | 1 byte, sizeof(BOOLEAN) |
Return status | EFI_STATUS | EFI_STATUS |
Requirements
Header: User generated