TianoCore EDK2 master
Loading...
Searching...
No Matches
UsbEthernetProtocol.h File Reference

Go to the source code of this file.

Data Structures

struct  USB_HEADER_FUN_DESCRIPTOR
 
struct  USB_UNION_FUN_DESCRIPTOR
 
struct  USB_ETHERNET_FUN_DESCRIPTOR
 
struct  USB_CONNECT_SPEED_CHANGE
 
struct  NIC_DATA
 
struct  EDKII_USB_ETHERNET_UNDI
 
struct  _EDKII_USB_ETHERNET_PROTOCOL
 

Macros

#define EDKII_USB_ETHERNET_PROTOCOL_GUID    {0x8d8969cc, 0xfeb0, 0x4303, {0xb2, 0x1a, 0x1f, 0x11, 0x6f, 0x38, 0x56, 0x43}}
 
#define USB_CDC_CLASS   0x02
 
#define USB_CDC_ACM_SUBCLASS   0x02
 
#define USB_CDC_ECM_SUBCLASS   0x06
 
#define USB_CDC_NCM_SUBCLASS   0x0D
 
#define USB_CDC_DATA_CLASS   0x0A
 
#define USB_CDC_DATA_SUBCLASS   0x00
 
#define USB_NO_CLASS_PROTOCOL   0x00
 
#define USB_NCM_NTB_PROTOCOL   0x01
 
#define USB_VENDOR_PROTOCOL   0xFF
 
#define USB_MISC_CLASS   0xEF
 
#define USB_RNDIS_SUBCLASS   0x04
 
#define USB_RNDIS_ETHERNET_PROTOCOL   0x01
 
#define HEADER_FUN_DESCRIPTOR   0x00
 
#define UNION_FUN_DESCRIPTOR   0x06
 
#define ETHERNET_FUN_DESCRIPTOR   0x0F
 
#define MAX_LAN_INTERFACE   0x10
 
#define USB_CDC_NETWORK_CONNECTION   0x00
 
#define NETWORK_CONNECTED   0x01
 
#define NETWORK_DISCONNECT   0x00
 
#define MAC_FILTERS_MASK   0x7FFF
 
#define USB_ETHERNET_GET_REQ_TYPE   0xA1
 
#define USB_ETHERNET_SET_REQ_TYPE   0x21
 
#define SET_ETH_MULTICAST_FILTERS_REQ   0x40
 
#define SET_ETH_POWER_MANAGEMENT_PATTERN_FILTER_REQ   0x41
 
#define GET_ETH_POWER_MANAGEMENT_PATTERN_FILTER_REQ   0x42
 
#define SET_ETH_PACKET_FILTER_REQ   0x43
 
#define GET_ETH_STATISTIC_REQ   0x44
 
#define USB_ETH_POWER_FILTER_LENGTH   2
 
#define USB_ETH_PACKET_FILTER_LENGTH   0
 
#define USB_ETH_STATISTIC   4
 
#define USB_ETH_PACKET_TYPE_PROMISCUOUS   BIT0
 
#define USB_ETH_PACKET_TYPE_ALL_MULTICAST   BIT1
 
#define USB_ETH_PACKET_TYPE_DIRECTED   BIT2
 
#define USB_ETH_PACKET_TYPE_BROADCAST   BIT3
 
#define USB_ETH_PACKET_TYPE_MULTICAST   BIT4
 
#define USB_ETH_XMIT_OK   0x01
 
#define USB_ETH_RCV_OK   0x02
 
#define USB_ETH_XMIT_ERROR   0x03
 
#define USB_ETH_RCV_ERROR   0x04
 
#define USB_ETH_RCV_NO_BUFFER   0x05
 
#define USB_ETH_DIRECTED_BYTES_XMIT   0x06
 
#define USB_ETH_DIRECTED_FRAMES_XMIT   0x07
 
#define USB_ETH_MULTICAST_BYTES_XMIT   0x08
 
#define USB_ETH_MULTICAST_FRAMES_XMIT   0x09
 
#define USB_ETH_BROADCAST_BYTES_XMIT   0x0A
 
#define USB_ETH_BROADCAST_FRAMES_XMIT   0x0B
 
#define USB_ETH_DIRECTED_BYTES_RCV   0x0C
 
#define USB_ETH_DIRECTED_FRAMES_RCV   0x0D
 
#define USB_ETH_MULTICAST_BYTES_RCV   0x0E
 
#define USB_ETH_MULTICAST_FRAMES_RCV   0x0F
 
#define USB_ETH_BROADCAST_BYTES_RCV   0x10
 
#define USB_ETH_BROADCAST_FRAMES_RCV   0x11
 
#define USB_ETH_RCV_CRC_ERROR   0x12
 
#define USB_ETH_TRANSMIT_QUEUE_LENGTH   0x13
 
#define USB_ETH_RCV_ERROR_ALIGNMENT   0x14
 
#define USB_ETH_XMIT_ONE_COLLISION   0x15
 
#define USB_ETH_XMIT_MORE_COLLISIONS   0x16
 
#define USB_ETH_XMIT_DEFERRED   0x17
 
#define USB_ETH_XMIT_MAX_COLLISIONS   0x18
 
#define USB_ETH_RCV_OVERRUN   0x19
 
#define USB_ETH_XMIT_UNDERRUN   0x1A
 
#define USB_ETH_XMIT_HEARTBEAT_FAILURE   0x1B
 
#define USB_ETH_XMIT_TIMES_CRS_LOST   0x1C
 
#define USB_ETH_XMIT_LATE_COLLISIONS   0x1D
 
#define NIC_DATA_SIGNATURE   SIGNATURE_32('n', 'i', 'c', 'd')
 
#define NIC_DATA_FROM_EDKII_USB_ETHERNET_PROTOCOL(a)   CR (a, NIC_DATA, UsbEth, NIC_DATA_SIGNATURE)
 

Typedefs

typedef struct _EDKII_USB_ETHERNET_PROTOCOL EDKII_USB_ETHERNET_PROTOCOL
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_GET_STATE) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_START) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_STOP) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_GET_INIT_INFO) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_GET_CONFIG_INFO) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_INITIALIZE) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_RESET) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_SHUTDOWN) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_INTERRUPT_ENABLE) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_RECEIVE_FILTER) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_STATION_ADDRESS) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_STATISTICS) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_MCAST_IPTOMAC) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_NV_DATA) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_GET_STATUS) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_FILL_HEADER) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_TRANSMIT) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_RECEIVE) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_INITIALIZE) (IN PXE_CDB *Cdb, IN OUT NIC_DATA *Nic)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_STATISTICS) (IN NIC_DATA *Nic, IN UINT64 DbAddr, IN UINT16 DbSize)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_RECEIVE) (IN PXE_CDB *Cdb, IN EDKII_USB_ETHERNET_PROTOCOL *This, IN OUT VOID *Packet, IN OUT UINTN *PacketLength)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_TRANSMIT) (IN PXE_CDB *Cdb, IN EDKII_USB_ETHERNET_PROTOCOL *This, IN OUT VOID *Packet, IN OUT UINTN *PacketLength)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_INTERRUPT) (IN EDKII_USB_ETHERNET_PROTOCOL *This, IN BOOLEAN IsNewTransfer, IN UINTN PollingInterval, IN EFI_USB_DEVICE_REQUEST *Request)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_GET_ETH_MAC_ADDRESS) (IN EDKII_USB_ETHERNET_PROTOCOL *This, OUT EFI_MAC_ADDRESS *MacAddress)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETH_MAX_BULK_SIZE) (IN EDKII_USB_ETHERNET_PROTOCOL *This, OUT UINTN *BulkSize)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_HEADER_FUNCTIONAL_DESCRIPTOR) (IN EDKII_USB_ETHERNET_PROTOCOL *This, OUT USB_HEADER_FUN_DESCRIPTOR *UsbHeaderFunDescriptor)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_UNION_FUNCTIONAL_DESCRIPTOR) (IN EDKII_USB_ETHERNET_PROTOCOL *This, OUT USB_UNION_FUN_DESCRIPTOR *UsbUnionFunDescriptor)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_FUNCTIONAL_DESCRIPTOR) (IN EDKII_USB_ETHERNET_PROTOCOL *This, OUT USB_ETHERNET_FUN_DESCRIPTOR *UsbEthFunDescriptor)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_SET_ETH_MULTICAST_FILTERS) (IN EDKII_USB_ETHERNET_PROTOCOL *This, IN UINT16 Value, IN VOID *McastAddr)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_SET_ETH_POWER_MANAGE_PATTERN_FILTER) (IN EDKII_USB_ETHERNET_PROTOCOL *This, IN UINT16 Value, IN UINT16 Length, IN VOID *PatternFilter)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_GET_ETH_POWER_MANAGE_PATTERN_FILTER) (IN EDKII_USB_ETHERNET_PROTOCOL *This, IN UINT16 Value, OUT BOOLEAN *PatternActive)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_SET_ETH_PACKET_FILTER) (IN EDKII_USB_ETHERNET_PROTOCOL *This, IN UINT16 Value)
 
typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_GET_ETH_STATISTIC) (IN EDKII_USB_ETHERNET_PROTOCOL *This, IN UINT16 FeatureSelector, OUT VOID *Statistic)
 

Variables

EFI_GUID gEdkIIUsbEthProtocolGuid
 

Detailed Description

Header file contains code for USB Ethernet Protocol definitions

Copyright (c) 2023, American Megatrends International LLC. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file UsbEthernetProtocol.h.

Macro Definition Documentation

◆ EDKII_USB_ETHERNET_PROTOCOL_GUID

#define EDKII_USB_ETHERNET_PROTOCOL_GUID    {0x8d8969cc, 0xfeb0, 0x4303, {0xb2, 0x1a, 0x1f, 0x11, 0x6f, 0x38, 0x56, 0x43}}

Definition at line 12 of file UsbEthernetProtocol.h.

◆ ETHERNET_FUN_DESCRIPTOR

#define ETHERNET_FUN_DESCRIPTOR   0x0F

Definition at line 34 of file UsbEthernetProtocol.h.

◆ GET_ETH_POWER_MANAGEMENT_PATTERN_FILTER_REQ

#define GET_ETH_POWER_MANAGEMENT_PATTERN_FILTER_REQ   0x42

Definition at line 89 of file UsbEthernetProtocol.h.

◆ GET_ETH_STATISTIC_REQ

#define GET_ETH_STATISTIC_REQ   0x44

Definition at line 91 of file UsbEthernetProtocol.h.

◆ HEADER_FUN_DESCRIPTOR

#define HEADER_FUN_DESCRIPTOR   0x00

Definition at line 32 of file UsbEthernetProtocol.h.

◆ MAC_FILTERS_MASK

#define MAC_FILTERS_MASK   0x7FFF

Definition at line 45 of file UsbEthernetProtocol.h.

◆ MAX_LAN_INTERFACE

#define MAX_LAN_INTERFACE   0x10

Definition at line 36 of file UsbEthernetProtocol.h.

◆ NETWORK_CONNECTED

#define NETWORK_CONNECTED   0x01

Definition at line 42 of file UsbEthernetProtocol.h.

◆ NETWORK_DISCONNECT

#define NETWORK_DISCONNECT   0x00

Definition at line 43 of file UsbEthernetProtocol.h.

◆ NIC_DATA_FROM_EDKII_USB_ETHERNET_PROTOCOL

#define NIC_DATA_FROM_EDKII_USB_ETHERNET_PROTOCOL (   a)    CR (a, NIC_DATA, UsbEth, NIC_DATA_SIGNATURE)

Definition at line 172 of file UsbEthernetProtocol.h.

◆ NIC_DATA_SIGNATURE

#define NIC_DATA_SIGNATURE   SIGNATURE_32('n', 'i', 'c', 'd')

Definition at line 171 of file UsbEthernetProtocol.h.

◆ SET_ETH_MULTICAST_FILTERS_REQ

#define SET_ETH_MULTICAST_FILTERS_REQ   0x40

Definition at line 87 of file UsbEthernetProtocol.h.

◆ SET_ETH_PACKET_FILTER_REQ

#define SET_ETH_PACKET_FILTER_REQ   0x43

Definition at line 90 of file UsbEthernetProtocol.h.

◆ SET_ETH_POWER_MANAGEMENT_PATTERN_FILTER_REQ

#define SET_ETH_POWER_MANAGEMENT_PATTERN_FILTER_REQ   0x41

Definition at line 88 of file UsbEthernetProtocol.h.

◆ UNION_FUN_DESCRIPTOR

#define UNION_FUN_DESCRIPTOR   0x06

Definition at line 33 of file UsbEthernetProtocol.h.

◆ USB_CDC_ACM_SUBCLASS

#define USB_CDC_ACM_SUBCLASS   0x02

Definition at line 18 of file UsbEthernetProtocol.h.

◆ USB_CDC_CLASS

#define USB_CDC_CLASS   0x02

Definition at line 17 of file UsbEthernetProtocol.h.

◆ USB_CDC_DATA_CLASS

#define USB_CDC_DATA_CLASS   0x0A

Definition at line 21 of file UsbEthernetProtocol.h.

◆ USB_CDC_DATA_SUBCLASS

#define USB_CDC_DATA_SUBCLASS   0x00

Definition at line 22 of file UsbEthernetProtocol.h.

◆ USB_CDC_ECM_SUBCLASS

#define USB_CDC_ECM_SUBCLASS   0x06

Definition at line 19 of file UsbEthernetProtocol.h.

◆ USB_CDC_NCM_SUBCLASS

#define USB_CDC_NCM_SUBCLASS   0x0D

Definition at line 20 of file UsbEthernetProtocol.h.

◆ USB_CDC_NETWORK_CONNECTION

#define USB_CDC_NETWORK_CONNECTION   0x00

Definition at line 39 of file UsbEthernetProtocol.h.

◆ USB_ETH_BROADCAST_BYTES_RCV

#define USB_ETH_BROADCAST_BYTES_RCV   0x10

Definition at line 123 of file UsbEthernetProtocol.h.

◆ USB_ETH_BROADCAST_BYTES_XMIT

#define USB_ETH_BROADCAST_BYTES_XMIT   0x0A

Definition at line 117 of file UsbEthernetProtocol.h.

◆ USB_ETH_BROADCAST_FRAMES_RCV

#define USB_ETH_BROADCAST_FRAMES_RCV   0x11

Definition at line 124 of file UsbEthernetProtocol.h.

◆ USB_ETH_BROADCAST_FRAMES_XMIT

#define USB_ETH_BROADCAST_FRAMES_XMIT   0x0B

Definition at line 118 of file UsbEthernetProtocol.h.

◆ USB_ETH_DIRECTED_BYTES_RCV

#define USB_ETH_DIRECTED_BYTES_RCV   0x0C

Definition at line 119 of file UsbEthernetProtocol.h.

◆ USB_ETH_DIRECTED_BYTES_XMIT

#define USB_ETH_DIRECTED_BYTES_XMIT   0x06

Definition at line 113 of file UsbEthernetProtocol.h.

◆ USB_ETH_DIRECTED_FRAMES_RCV

#define USB_ETH_DIRECTED_FRAMES_RCV   0x0D

Definition at line 120 of file UsbEthernetProtocol.h.

◆ USB_ETH_DIRECTED_FRAMES_XMIT

#define USB_ETH_DIRECTED_FRAMES_XMIT   0x07

Definition at line 114 of file UsbEthernetProtocol.h.

◆ USB_ETH_MULTICAST_BYTES_RCV

#define USB_ETH_MULTICAST_BYTES_RCV   0x0E

Definition at line 121 of file UsbEthernetProtocol.h.

◆ USB_ETH_MULTICAST_BYTES_XMIT

#define USB_ETH_MULTICAST_BYTES_XMIT   0x08

Definition at line 115 of file UsbEthernetProtocol.h.

◆ USB_ETH_MULTICAST_FRAMES_RCV

#define USB_ETH_MULTICAST_FRAMES_RCV   0x0F

Definition at line 122 of file UsbEthernetProtocol.h.

◆ USB_ETH_MULTICAST_FRAMES_XMIT

#define USB_ETH_MULTICAST_FRAMES_XMIT   0x09

Definition at line 116 of file UsbEthernetProtocol.h.

◆ USB_ETH_PACKET_FILTER_LENGTH

#define USB_ETH_PACKET_FILTER_LENGTH   0

Definition at line 95 of file UsbEthernetProtocol.h.

◆ USB_ETH_PACKET_TYPE_ALL_MULTICAST

#define USB_ETH_PACKET_TYPE_ALL_MULTICAST   BIT1

Definition at line 101 of file UsbEthernetProtocol.h.

◆ USB_ETH_PACKET_TYPE_BROADCAST

#define USB_ETH_PACKET_TYPE_BROADCAST   BIT3

Definition at line 103 of file UsbEthernetProtocol.h.

◆ USB_ETH_PACKET_TYPE_DIRECTED

#define USB_ETH_PACKET_TYPE_DIRECTED   BIT2

Definition at line 102 of file UsbEthernetProtocol.h.

◆ USB_ETH_PACKET_TYPE_MULTICAST

#define USB_ETH_PACKET_TYPE_MULTICAST   BIT4

Definition at line 104 of file UsbEthernetProtocol.h.

◆ USB_ETH_PACKET_TYPE_PROMISCUOUS

#define USB_ETH_PACKET_TYPE_PROMISCUOUS   BIT0

Definition at line 100 of file UsbEthernetProtocol.h.

◆ USB_ETH_POWER_FILTER_LENGTH

#define USB_ETH_POWER_FILTER_LENGTH   2

Definition at line 94 of file UsbEthernetProtocol.h.

◆ USB_ETH_RCV_CRC_ERROR

#define USB_ETH_RCV_CRC_ERROR   0x12

Definition at line 125 of file UsbEthernetProtocol.h.

◆ USB_ETH_RCV_ERROR

#define USB_ETH_RCV_ERROR   0x04

Definition at line 111 of file UsbEthernetProtocol.h.

◆ USB_ETH_RCV_ERROR_ALIGNMENT

#define USB_ETH_RCV_ERROR_ALIGNMENT   0x14

Definition at line 127 of file UsbEthernetProtocol.h.

◆ USB_ETH_RCV_NO_BUFFER

#define USB_ETH_RCV_NO_BUFFER   0x05

Definition at line 112 of file UsbEthernetProtocol.h.

◆ USB_ETH_RCV_OK

#define USB_ETH_RCV_OK   0x02

Definition at line 109 of file UsbEthernetProtocol.h.

◆ USB_ETH_RCV_OVERRUN

#define USB_ETH_RCV_OVERRUN   0x19

Definition at line 132 of file UsbEthernetProtocol.h.

◆ USB_ETH_STATISTIC

#define USB_ETH_STATISTIC   4

Definition at line 96 of file UsbEthernetProtocol.h.

◆ USB_ETH_TRANSMIT_QUEUE_LENGTH

#define USB_ETH_TRANSMIT_QUEUE_LENGTH   0x13

Definition at line 126 of file UsbEthernetProtocol.h.

◆ USB_ETH_XMIT_DEFERRED

#define USB_ETH_XMIT_DEFERRED   0x17

Definition at line 130 of file UsbEthernetProtocol.h.

◆ USB_ETH_XMIT_ERROR

#define USB_ETH_XMIT_ERROR   0x03

Definition at line 110 of file UsbEthernetProtocol.h.

◆ USB_ETH_XMIT_HEARTBEAT_FAILURE

#define USB_ETH_XMIT_HEARTBEAT_FAILURE   0x1B

Definition at line 134 of file UsbEthernetProtocol.h.

◆ USB_ETH_XMIT_LATE_COLLISIONS

#define USB_ETH_XMIT_LATE_COLLISIONS   0x1D

Definition at line 136 of file UsbEthernetProtocol.h.

◆ USB_ETH_XMIT_MAX_COLLISIONS

#define USB_ETH_XMIT_MAX_COLLISIONS   0x18

Definition at line 131 of file UsbEthernetProtocol.h.

◆ USB_ETH_XMIT_MORE_COLLISIONS

#define USB_ETH_XMIT_MORE_COLLISIONS   0x16

Definition at line 129 of file UsbEthernetProtocol.h.

◆ USB_ETH_XMIT_OK

#define USB_ETH_XMIT_OK   0x01

Definition at line 108 of file UsbEthernetProtocol.h.

◆ USB_ETH_XMIT_ONE_COLLISION

#define USB_ETH_XMIT_ONE_COLLISION   0x15

Definition at line 128 of file UsbEthernetProtocol.h.

◆ USB_ETH_XMIT_TIMES_CRS_LOST

#define USB_ETH_XMIT_TIMES_CRS_LOST   0x1C

Definition at line 135 of file UsbEthernetProtocol.h.

◆ USB_ETH_XMIT_UNDERRUN

#define USB_ETH_XMIT_UNDERRUN   0x1A

Definition at line 133 of file UsbEthernetProtocol.h.

◆ USB_ETHERNET_GET_REQ_TYPE

#define USB_ETHERNET_GET_REQ_TYPE   0xA1

Definition at line 82 of file UsbEthernetProtocol.h.

◆ USB_ETHERNET_SET_REQ_TYPE

#define USB_ETHERNET_SET_REQ_TYPE   0x21

Definition at line 83 of file UsbEthernetProtocol.h.

◆ USB_MISC_CLASS

#define USB_MISC_CLASS   0xEF

Definition at line 27 of file UsbEthernetProtocol.h.

◆ USB_NCM_NTB_PROTOCOL

#define USB_NCM_NTB_PROTOCOL   0x01

Definition at line 24 of file UsbEthernetProtocol.h.

◆ USB_NO_CLASS_PROTOCOL

#define USB_NO_CLASS_PROTOCOL   0x00

Definition at line 23 of file UsbEthernetProtocol.h.

◆ USB_RNDIS_ETHERNET_PROTOCOL

#define USB_RNDIS_ETHERNET_PROTOCOL   0x01

Definition at line 29 of file UsbEthernetProtocol.h.

◆ USB_RNDIS_SUBCLASS

#define USB_RNDIS_SUBCLASS   0x04

Definition at line 28 of file UsbEthernetProtocol.h.

◆ USB_VENDOR_PROTOCOL

#define USB_VENDOR_PROTOCOL   0xFF

Definition at line 25 of file UsbEthernetProtocol.h.

Typedef Documentation

◆ EDKII_USB_ETH_MAX_BULK_SIZE

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETH_MAX_BULK_SIZE) (IN EDKII_USB_ETHERNET_PROTOCOL *This, OUT UINTN *BulkSize)

Retrieves the USB Ethernet Bulk transfer data size.

Parameters
[in]ThisA pointer to the EDKII_USB_ETHERNET_PROTOCOL instance.
[out]BulkSizeA pointer to the Bulk transfer data size.
Return values
EFI_SUCCESSThe USB Header Functional descriptor was retrieved successfully.
EFI_INVALID_PARAMETERUsbHeaderFunDescriptor is NULL.
EFI_NOT_FOUNDThe USB Header Functional descriptor was not found.

Definition at line 670 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_FUNCTIONAL_DESCRIPTOR

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_FUNCTIONAL_DESCRIPTOR) (IN EDKII_USB_ETHERNET_PROTOCOL *This, OUT USB_ETHERNET_FUN_DESCRIPTOR *UsbEthFunDescriptor)

Retrieves the USB Ethernet functional Descriptor.

Parameters
[in]ThisA pointer to the EDKII_USB_ETHERNET_PROTOCOL instance.
[out]UsbEthFunDescriptorA pointer to the caller allocated USB Ethernet Functional Descriptor.
Return values
EFI_SUCCESSThe USB Ethernet Functional descriptor was retrieved successfully.
EFI_INVALID_PARAMETERUsbEthFunDescriptor is NULL.
EFI_NOT_FOUNDThe USB Ethernet Functional descriptor was not found.

Definition at line 721 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_GET_ETH_POWER_MANAGE_PATTERN_FILTER

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_GET_ETH_POWER_MANAGE_PATTERN_FILTER) (IN EDKII_USB_ETHERNET_PROTOCOL *This, IN UINT16 Value, OUT BOOLEAN *PatternActive)

This request retrieves the status of the specified Ethernet power management pattern filter from the device.

Parameters
[in]ThisA pointer to the EDKII_USB_ETHERNET_PROTOCOL instance.
[in]ValueThe filter number.
[out]PatternActiveA pointer to the pattern active boolean.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 788 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_GET_ETH_STATISTIC

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_GET_ETH_STATISTIC) (IN EDKII_USB_ETHERNET_PROTOCOL *This, IN UINT16 FeatureSelector, OUT VOID *Statistic)

This request is used to retrieve a statistic based on the feature selector.

Parameters
[in]ThisA pointer to the EDKII_USB_ETHERNET_PROTOCOL instance.
[in]FeatureSelectorValue of the feature selector.
[out]StatisticA pointer to the 32 bit unsigned integer.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 828 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_INITIALIZE

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_INITIALIZE) (IN PXE_CDB *Cdb, IN OUT NIC_DATA *Nic)

This command resets the network adapter and initializes UNDI using the parameters supplied in the CPB.

Parameters
[in]CdbA pointer to the command descriptor block.
[in,out]NicA pointer to the Network interface controller data.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 541 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_INTERRUPT

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_INTERRUPT) (IN EDKII_USB_ETHERNET_PROTOCOL *This, IN BOOLEAN IsNewTransfer, IN UINTN PollingInterval, IN EFI_USB_DEVICE_REQUEST *Request)

This function is used to manage a USB device with an interrupt transfer pipe.

Parameters
[in]ThisA pointer to the EDKII_USB_ETHERNET_PROTOCOL instance.
[in]IsNewTransferIf TRUE, a new transfer will be submitted to USB controller. If FALSE, the interrupt transfer is deleted from the device's interrupt transfer queue.
[in]PollingIntervalIndicates the periodic rate, in milliseconds, that the transfer is to be executed.This parameter is required when IsNewTransfer is TRUE. The value must be between 1 to 255, otherwise EFI_INVALID_PARAMETER is returned. The units are in milliseconds.
[in]RequestA pointer to the EFI_USB_DEVICE_REQUEST data.
Return values
EFI_SUCCESSThe asynchronous USB transfer request transfer has been successfully executed.
EFI_DEVICE_ERRORThe asynchronous USB transfer request failed.

Definition at line 634 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_PROTOCOL

◆ EDKII_USB_ETHERNET_RECEIVE

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_RECEIVE) (IN PXE_CDB *Cdb, IN EDKII_USB_ETHERNET_PROTOCOL *This, IN OUT VOID *Packet, IN OUT UINTN *PacketLength)

This function is used to manage a USB device with the bulk transfer pipe. The endpoint is Bulk in.

Parameters
[in]CdbA pointer to the command descriptor block.
[in]ThisA pointer to the EDKII_USB_ETHERNET_PROTOCOL instance.
[in,out]PacketA pointer to the buffer of data that will be transmitted to USB device or received from USB device.
[in,out]PacketLengthA pointer to the PacketLength.
Return values
EFI_SUCCESSThe bulk transfer has been successfully executed.
EFI_DEVICE_ERRORThe transfer failed. The transfer status is returned in status.
EFI_INVALID_PARAMETEROne or more parameters are invalid.
EFI_OUT_OF_RESOURCESThe request could not be submitted due to a lack of resources.
EFI_TIMEOUTThe control transfer fails due to timeout.

Definition at line 584 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_SET_ETH_MULTICAST_FILTERS

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_SET_ETH_MULTICAST_FILTERS) (IN EDKII_USB_ETHERNET_PROTOCOL *This, IN UINT16 Value, IN VOID *McastAddr)

This request sets the Ethernet device multicast filters as specified in the sequential list of 48 bit Ethernet multicast addresses.

Parameters
[in]ThisA pointer to the EDKII_USB_ETHERNET_PROTOCOL instance.
[in]ValueNumber of filters.
[in]McastAddrA pointer to the value of the multicast addresses.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 742 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_SET_ETH_PACKET_FILTER

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_SET_ETH_PACKET_FILTER) (IN EDKII_USB_ETHERNET_PROTOCOL *This, IN UINT16 Value)

This request is used to configure device Ethernet packet filter settings.

Parameters
[in]ThisA pointer to the EDKII_USB_ETHERNET_PROTOCOL instance.
[in]ValuePacket Filter Bitmap.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 808 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_SET_ETH_POWER_MANAGE_PATTERN_FILTER

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_SET_ETH_POWER_MANAGE_PATTERN_FILTER) (IN EDKII_USB_ETHERNET_PROTOCOL *This, IN UINT16 Value, IN UINT16 Length, IN VOID *PatternFilter)

This request sets up the specified Ethernet power management pattern filter as described in the data structure.

Parameters
[in]ThisA pointer to the EDKII_USB_ETHERNET_PROTOCOL instance.
[in]ValueNumber of filters.
[in]LengthSize of the power management pattern filter data.
[in]PatternFilterA pointer to the power management pattern filter structure.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 765 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_STATISTICS

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_STATISTICS) (IN NIC_DATA *Nic, IN UINT64 DbAddr, IN UINT16 DbSize)

This command is used to read and clear the NIC traffic statistics.

Parameters
[in]NicA pointer to the Network interface controller data.
[in]DbAddrData Block Address.
[in]DbSizeData Block Size.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 561 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_TRANSMIT

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_TRANSMIT) (IN PXE_CDB *Cdb, IN EDKII_USB_ETHERNET_PROTOCOL *This, IN OUT VOID *Packet, IN OUT UINTN *PacketLength)

This function is used to manage a USB device with the bulk transfer pipe. The endpoint is Bulk out.

Parameters
[in]CdbA pointer to the command descriptor block.
[in]ThisA pointer to the EDKII_USB_ETHERNET_PROTOCOL instance.
[in,out]PacketA pointer to the buffer of data that will be transmitted to USB device or received from USB device.
[in,out]PacketLengthA pointer to the PacketLength.
Return values
EFI_SUCCESSThe bulk transfer has been successfully executed.
EFI_DEVICE_ERRORThe transfer failed. The transfer status is returned in status.
EFI_INVALID_PARAMETEROne or more parameters are invalid.
EFI_OUT_OF_RESOURCESThe request could not be submitted due to a lack of resources.
EFI_TIMEOUTThe control transfer fails due to timeout.

Definition at line 608 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_UNDI_FILL_HEADER

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_FILL_HEADER) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)

This command is used to fill the media header(s) in transmit packet(s).

Parameters
[in]CdbA pointer to the command descriptor block.
[in]NicA pointer to the Network interface controller data.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 482 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_UNDI_GET_CONFIG_INFO

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_GET_CONFIG_INFO) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)

This command is used to retrieve configuration information about the NIC being controlled by the UNDI.

Parameters
[in]CdbA pointer to the command descriptor block.
[in]NicA pointer to the Network interface controller data.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 265 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_UNDI_GET_INIT_INFO

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_GET_INIT_INFO) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)

This command is used to retrieve initialization information that is needed by drivers and applications to initialized UNDI.

Parameters
[in]CdbA pointer to the command descriptor block.
[in]NicA pointer to the Network interface controller data.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 245 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_UNDI_GET_STATE

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_GET_STATE) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)

This command is used to determine the operational state of the UNDI.

Parameters
[in]CdbA pointer to the command descriptor block.
[in]NicA pointer to the Network interface controller data.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 187 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_UNDI_GET_STATUS

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_GET_STATUS) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)

This command returns the current interrupt status and/or the transmitted buffer addresses and the current media status.

Parameters
[in]CdbA pointer to the command descriptor block.
[in]NicA pointer to the Network interface controller data.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 463 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_UNDI_INITIALIZE

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_INITIALIZE) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)

This command resets the network adapter and initializes UNDI using the parameters supplied in the CPB.

Parameters
[in]CdbA pointer to the command descriptor block.
[in]NicA pointer to the Network interface controller data.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 285 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_UNDI_INTERRUPT_ENABLE

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_INTERRUPT_ENABLE) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)

The Interrupt Enables command can be used to read and/or change the current external interrupt enable settings.

Parameters
[in]CdbA pointer to the command descriptor block.
[in]NicA pointer to the Network interface controller data.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 345 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_UNDI_MCAST_IPTOMAC

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_MCAST_IPTOMAC) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)

Translate a multicast IPv4 or IPv6 address to a multicast MAC address.

Parameters
[in]CdbA pointer to the command descriptor block.
[in]NicA pointer to the Network interface controller data.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 423 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_UNDI_NV_DATA

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_NV_DATA) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)

This command is used to read and write (if supported by NIC H/W) nonvolatile storage on the NIC.

Parameters
[in]CdbA pointer to the command descriptor block.
[in]NicA pointer to the Network interface controller data.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 443 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_UNDI_RECEIVE

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_RECEIVE) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)

When the network adapter has received a frame, this command is used to copy the frame into driver/application storage.

Parameters
[in]CdbA pointer to the command descriptor block.
[in]NicA pointer to the Network interface controller data.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 521 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_UNDI_RECEIVE_FILTER

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_RECEIVE_FILTER) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)

This command is used to read and change receive filters and, if supported, read and change the multicast MAC address filter list.

Parameters
[in]CdbA pointer to the command descriptor block.
[in]NicA pointer to the Network interface controller data.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 365 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_UNDI_RESET

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_RESET) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)

This command resets the network adapter and reinitializes the UNDI with the same parameters provided in the Initialize command.

Parameters
[in]CdbA pointer to the command descriptor block.
[in]NicA pointer to the Network interface controller data.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 305 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_UNDI_SHUTDOWN

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_SHUTDOWN) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)

The Shutdown command resets the network adapter and leaves it in a safe state for another driver to initialize.

Parameters
[in]CdbA pointer to the command descriptor block.
[in]NicA pointer to the Network interface controller data.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 325 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_UNDI_START

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_START) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)

This command is used to change the UNDI operational state from stopped to started.

Parameters
[in]CdbA pointer to the command descriptor block.
[in]NicA pointer to the Network interface controller data.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 206 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_UNDI_STATION_ADDRESS

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_STATION_ADDRESS) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)

This command is used to get current station and broadcast MAC addresses and, if supported, to change the current station MAC address.

Parameters
[in]CdbA pointer to the command descriptor block.
[in]NicA pointer to the Network interface controller data.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 385 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_UNDI_STATISTICS

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_STATISTICS) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)

This command is used to read and clear the NIC traffic statistics.

Parameters
[in]CdbA pointer to the command descriptor block.
[in]NicA pointer to the Network interface controller data.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 404 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_UNDI_STOP

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_STOP) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)

This command is used to change the UNDI operational state from started to stopped.

Parameters
[in]CdbA pointer to the command descriptor block.
[in]NicA pointer to the Network interface controller data.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 225 of file UsbEthernetProtocol.h.

◆ EDKII_USB_ETHERNET_UNDI_TRANSMIT

typedef EFI_STATUS(EFIAPI * EDKII_USB_ETHERNET_UNDI_TRANSMIT) (IN PXE_CDB *Cdb, IN NIC_DATA *Nic)

The Transmit command is used to place a packet into the transmit queue.

Parameters
[in]CdbA pointer to the command descriptor block.
[in]NicA pointer to the Network interface controller data.
Return values
EFI_SUCCESSThe request executed successfully.
EFI_TIMEOUTA timeout occurred executing the request.
EFI_DEVICE_ERRORThe request failed due to a device error.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_UNSUPPORTEDNot supported.

Definition at line 501 of file UsbEthernetProtocol.h.

◆ EDKII_USB_GET_ETH_MAC_ADDRESS

typedef EFI_STATUS(EFIAPI * EDKII_USB_GET_ETH_MAC_ADDRESS) (IN EDKII_USB_ETHERNET_PROTOCOL *This, OUT EFI_MAC_ADDRESS *MacAddress)

Retrieves the USB Ethernet Mac Address.

Parameters
[in]ThisA pointer to the EDKII_USB_ETHERNET_PROTOCOL instance.
[out]MacAddressA pointer to the caller allocated USB Ethernet Mac Address.
Return values
EFI_SUCCESSThe USB Header Functional descriptor was retrieved successfully.
EFI_INVALID_PARAMETERUsbHeaderFunDescriptor is NULL.
EFI_NOT_FOUNDThe USB Header Functional descriptor was not found.

Definition at line 653 of file UsbEthernetProtocol.h.

◆ EDKII_USB_HEADER_FUNCTIONAL_DESCRIPTOR

typedef EFI_STATUS(EFIAPI * EDKII_USB_HEADER_FUNCTIONAL_DESCRIPTOR) (IN EDKII_USB_ETHERNET_PROTOCOL *This, OUT USB_HEADER_FUN_DESCRIPTOR *UsbHeaderFunDescriptor)

Retrieves the USB Header functional Descriptor.

Parameters
[in]ThisA pointer to the EDKII_USB_ETHERNET_PROTOCOL instance.
[out]UsbHeaderFunDescriptorA pointer to the caller allocated USB Header Functional Descriptor.
Return values
EFI_SUCCESSThe USB Header Functional descriptor was retrieved successfully.
EFI_INVALID_PARAMETERUsbHeaderFunDescriptor is NULL.
EFI_NOT_FOUNDThe USB Header Functional descriptor was not found.

Definition at line 687 of file UsbEthernetProtocol.h.

◆ EDKII_USB_UNION_FUNCTIONAL_DESCRIPTOR

typedef EFI_STATUS(EFIAPI * EDKII_USB_UNION_FUNCTIONAL_DESCRIPTOR) (IN EDKII_USB_ETHERNET_PROTOCOL *This, OUT USB_UNION_FUN_DESCRIPTOR *UsbUnionFunDescriptor)

Retrieves the USB Union functional Descriptor.

Parameters
[in]ThisA pointer to the EDKII_USB_ETHERNET_PROTOCOL instance.
[out]UsbUnionFunDescriptorA pointer to the caller allocated USB Union Functional Descriptor.
Return values
EFI_SUCCESSThe USB Union Functional descriptor was retrieved successfully.
EFI_INVALID_PARAMETERUsbUnionFunDescriptor is NULL.
EFI_NOT_FOUNDThe USB Union Functional descriptor was not found.

Definition at line 704 of file UsbEthernetProtocol.h.