TianoCore EDK2 master
|
#include <Library/UefiDriverEntryPoint.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiLib.h>
#include <Library/DevicePathLib.h>
#include <Library/DebugLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/UefiUsbLib.h>
#include <Protocol/UsbIo.h>
#include <Protocol/UsbEthernetProtocol.h>
Go to the source code of this file.
Data Structures | |
struct | USB_RNDIS_DEVICE |
struct | BIT_MAP |
struct | _REMOTE_NDIS_MSG_HEADER |
struct | REMOTE_NDIS_INITIALIZE_MSG |
struct | REMOTE_NDIS_HALT_MSG |
struct | REMOTE_NDIS_QUERY_MSG |
struct | REMOTE_NDIS_QUERY_MAC_MSG |
struct | REMOTE_NDIS_QUERY_MAX_TOTAL_SIZE_MSG |
struct | REMOTE_NDIS_SET_MSG |
struct | REMOTE_NDIS_RESET_MSG |
struct | REMOTE_NDIS_INDICATE_STATUS_MSG |
struct | RNDIS_DIAGNOSTIC_INFO |
struct | REMOTE_NDIS_KEEPALIVE_MSG |
struct | REMOTE_NDIS_INITIALIZE_CMPLT |
struct | REMOTE_NDIS_QUERY_CMPLT |
struct | REMOTE_NDIS_QUERY_MAC_CMPLT |
struct | REMOTE_NDIS_QUERY_MAX_TOTAL_SIZE_CMPLT |
struct | REMOTE_NDIS_SET_CMPLT |
struct | REMOTE_NDIS_RESET_CMPLT |
struct | REMOTE_NDIS_KEEPALIVE_CMPLT |
struct | REMOTE_NDIS_PACKET_MSG |
struct | OUT_OF_BAND_DATA_RECORD |
struct | PER_PACKET_INFO_DATA_RECORD |
struct | PACKET_LIST |
Typedefs | |
typedef struct _REMOTE_NDIS_MSG_HEADER | REMOTE_NDIS_MSG_HEADER |
Variables | |
EFI_COMPONENT_NAME2_PROTOCOL | gUsbRndisComponentName2 |
Header file for for USB Rndis driver
Copyright (c) 2023, American Megatrends International LLC. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file UsbRndis.h.
#define BULKIN_CMD_POLLING_CNT 300 |
Definition at line 53 of file UsbRndis.h.
#define GET_ENCAPSULATED_RESPONSE 0x00000001 |
Definition at line 352 of file UsbRndis.h.
#define LAN_BULKIN_CMD_CONTROL 1 |
Definition at line 50 of file UsbRndis.h.
#define MAXIMUM_STOPBULKIN_CNT 300 |
Definition at line 51 of file UsbRndis.h.
#define MINIMUM_STOPBULKIN_CNT 3 |
Definition at line 52 of file UsbRndis.h.
#define NDIS_PACKET_TYPE_ALL_FUNCTIONAL 0x2000 |
Definition at line 416 of file UsbRndis.h.
#define NDIS_PACKET_TYPE_ALL_LOCAL 0x0080 |
Definition at line 413 of file UsbRndis.h.
#define NDIS_PACKET_TYPE_ALL_MULTICAST 0x0004 |
Definition at line 408 of file UsbRndis.h.
#define NDIS_PACKET_TYPE_BROADCAST 0x0008 |
Definition at line 409 of file UsbRndis.h.
#define NDIS_PACKET_TYPE_DIRECTED 0x0001 |
Definition at line 406 of file UsbRndis.h.
#define NDIS_PACKET_TYPE_FUNCTIONAL 0x4000 |
Definition at line 415 of file UsbRndis.h.
#define NDIS_PACKET_TYPE_GROUP 0x1000 |
Definition at line 417 of file UsbRndis.h.
#define NDIS_PACKET_TYPE_MAC_FRAME 0x8000 |
Definition at line 414 of file UsbRndis.h.
#define NDIS_PACKET_TYPE_MULTICAST 0x0002 |
Definition at line 407 of file UsbRndis.h.
#define NDIS_PACKET_TYPE_PROMISCUOUS 0x0020 |
Definition at line 411 of file UsbRndis.h.
#define NDIS_PACKET_TYPE_SMT 0x0040 |
Definition at line 412 of file UsbRndis.h.
#define NDIS_PACKET_TYPE_SOURCE_ROUTING 0x0010 |
Definition at line 410 of file UsbRndis.h.
#define OID_802_3_CURRENT_ADDRESS 0x01010102 |
Definition at line 402 of file UsbRndis.h.
#define OID_GEN_BROADCAST_BYTES_RCV 0x0002020B |
Definition at line 397 of file UsbRndis.h.
#define OID_GEN_BROADCAST_BYTES_XMIT 0x00020205 |
Definition at line 391 of file UsbRndis.h.
#define OID_GEN_BROADCAST_FRAMES_RCV 0x0002020C |
Definition at line 398 of file UsbRndis.h.
#define OID_GEN_BROADCAST_FRAMES_XMIT 0x00020206 |
Definition at line 392 of file UsbRndis.h.
#define OID_GEN_CURRENT_LOOKAHEAD 0x0001010F |
Definition at line 372 of file UsbRndis.h.
#define OID_GEN_CURRENT_PACKET_FILTER 0x0001010E |
Definition at line 371 of file UsbRndis.h.
#define OID_GEN_DIRECTED_BYTES_RCV 0x00020207 |
Definition at line 393 of file UsbRndis.h.
#define OID_GEN_DIRECTED_BYTES_XMIT 0x00020201 |
Definition at line 387 of file UsbRndis.h.
#define OID_GEN_DIRECTED_FRAMES_RCV 0x00020208 |
Definition at line 394 of file UsbRndis.h.
#define OID_GEN_DIRECTED_FRAMES_XMIT 0x00020202 |
Definition at line 388 of file UsbRndis.h.
#define OID_GEN_DRIVER_VERSION 0x00010110 |
Definition at line 373 of file UsbRndis.h.
#define OID_GEN_HARDWARE_STATUS 0x00010102 |
Definition at line 359 of file UsbRndis.h.
#define OID_GEN_LINK_SPEED 0x00010107 |
Definition at line 364 of file UsbRndis.h.
#define OID_GEN_MAC_OPTIONS 0x00010113 |
Definition at line 376 of file UsbRndis.h.
#define OID_GEN_MAXIMUM_FRAME_SIZE 0x00010106 |
Definition at line 363 of file UsbRndis.h.
#define OID_GEN_MAXIMUM_LOOKAHEAD 0x00010105 |
Definition at line 362 of file UsbRndis.h.
#define OID_GEN_MAXIMUM_SEND_PACKETS 0x00010115 |
Definition at line 378 of file UsbRndis.h.
#define OID_GEN_MAXIMUM_TOTAL_SIZE 0x00010111 |
Definition at line 374 of file UsbRndis.h.
#define OID_GEN_MEDIA_CONNECT_STATUS 0x00010114 |
Definition at line 377 of file UsbRndis.h.
#define OID_GEN_MEDIA_IN_USE 0x00010104 |
Definition at line 361 of file UsbRndis.h.
#define OID_GEN_MEDIA_SUPPORTED 0x00010103 |
Definition at line 360 of file UsbRndis.h.
#define OID_GEN_MULTICAST_BYTES_RCV 0x00020209 |
Definition at line 395 of file UsbRndis.h.
#define OID_GEN_MULTICAST_BYTES_XMIT 0x00020203 |
Definition at line 389 of file UsbRndis.h.
#define OID_GEN_MULTICAST_FRAMES_RCV 0x0002020A |
Definition at line 396 of file UsbRndis.h.
#define OID_GEN_MULTICAST_FRAMES_XMIT 0x00020204 |
Definition at line 390 of file UsbRndis.h.
#define OID_GEN_PROTOCOL_OPTIONS 0x00010112 |
Definition at line 375 of file UsbRndis.h.
#define OID_GEN_RCV_CRC_ERROR 0x0002020D |
Definition at line 399 of file UsbRndis.h.
#define OID_GEN_RCV_ERROR 0x00020104 |
Definition at line 384 of file UsbRndis.h.
#define OID_GEN_RCV_NO_BUFFER 0x00020105 |
Definition at line 385 of file UsbRndis.h.
#define OID_GEN_RCV_OK 0x00020102 |
Definition at line 382 of file UsbRndis.h.
#define OID_GEN_RECEIVE_BLOCK_SIZE 0x0001010B |
Definition at line 368 of file UsbRndis.h.
#define OID_GEN_RECEIVE_BUFFER_SPACE 0x00010109 |
Definition at line 366 of file UsbRndis.h.
#define OID_GEN_SUPPORTED_LIST 0x00010101 |
Definition at line 358 of file UsbRndis.h.
#define OID_GEN_TRANSMIT_BLOCK_SIZE 0x0001010A |
Definition at line 367 of file UsbRndis.h.
#define OID_GEN_TRANSMIT_BUFFER_SPACE 0x00010108 |
Definition at line 365 of file UsbRndis.h.
#define OID_GEN_TRANSMIT_QUEUE_LENGTH 0x0002020E |
Definition at line 400 of file UsbRndis.h.
#define OID_GEN_VENDOR_DESCRIPTION 0x0001010D |
Definition at line 370 of file UsbRndis.h.
#define OID_GEN_VENDOR_DRIVER_VERSION 0x00010116 |
Definition at line 379 of file UsbRndis.h.
#define OID_GEN_VENDOR_ID 0x0001010C |
Definition at line 369 of file UsbRndis.h.
#define OID_GEN_XMIT_ERROR 0x00020103 |
Definition at line 383 of file UsbRndis.h.
#define OID_GEN_XMIT_OK 0x00020101 |
Definition at line 381 of file UsbRndis.h.
#define RNDIS_CONTROL_TIMEOUT 10000 |
Definition at line 348 of file UsbRndis.h.
#define RNDIS_HLT_MSG 0x00000003 |
Definition at line 330 of file UsbRndis.h.
#define RNDIS_INDICATE_STATUS_MSG 0x00000007 |
Definition at line 337 of file UsbRndis.h.
#define RNDIS_INITIALIZE_CMPLT 0x80000002 |
Definition at line 329 of file UsbRndis.h.
#define RNDIS_INITIALIZE_MSG 0x00000002 |
Definition at line 328 of file UsbRndis.h.
#define RNDIS_KEEPALIVE_CMPLT 0x80000008 |
Definition at line 339 of file UsbRndis.h.
#define RNDIS_KEEPALIVE_MSG 0x00000008 |
Definition at line 338 of file UsbRndis.h.
#define RNDIS_KEEPALIVE_TIMEOUT 5000 |
Definition at line 349 of file UsbRndis.h.
#define RNDIS_MAJOR_VERSION 0x00000001 |
Definition at line 323 of file UsbRndis.h.
#define RNDIS_MAX_TRANSFER_SIZE 0x4000 |
Definition at line 325 of file UsbRndis.h.
#define RNDIS_MINOR_VERSION 0x00000000 |
Definition at line 324 of file UsbRndis.h.
#define RNDIS_PACKET_MSG 0x00000001 |
Definition at line 327 of file UsbRndis.h.
#define RNDIS_QUERY_CMPLT 0x80000004 |
Definition at line 332 of file UsbRndis.h.
#define RNDIS_QUERY_MSG 0x00000004 |
Definition at line 331 of file UsbRndis.h.
#define RNDIS_RESERVED_BYTE_LENGTH 8 |
Definition at line 54 of file UsbRndis.h.
#define RNDIS_RESET_CMPLT 0x80000006 |
Definition at line 336 of file UsbRndis.h.
#define RNDIS_RESET_MSG 0x00000006 |
Definition at line 335 of file UsbRndis.h.
#define RNDIS_SET_CMPLT 0x80000005 |
Definition at line 334 of file UsbRndis.h.
#define RNDIS_SET_MSG 0x00000005 |
Definition at line 333 of file UsbRndis.h.
#define RNDIS_STATUS_FAILURE 0xC0000001 |
Definition at line 342 of file UsbRndis.h.
#define RNDIS_STATUS_INVALID_DATA 0xC0010015 |
Definition at line 343 of file UsbRndis.h.
#define RNDIS_STATUS_MEDIA_CONNECT 0x4001000B |
Definition at line 345 of file UsbRndis.h.
#define RNDIS_STATUS_MEDIA_DISCONNECT 0x4001000C |
Definition at line 346 of file UsbRndis.h.
#define RNDIS_STATUS_NOT_SUPPORTED 0xC00000BB |
Definition at line 344 of file UsbRndis.h.
#define RNDIS_STATUS_SUCCESS 0x00000000 |
Definition at line 341 of file UsbRndis.h.
#define SEND_ENCAPSULATED_COMMAND 0x00000000 |
Definition at line 351 of file UsbRndis.h.
#define USB_ETHERNET_TRANSFER_TIMEOUT 200 |
Definition at line 48 of file UsbRndis.h.
#define USB_RNDIS_DEVICE_FROM_THIS | ( | a | ) | CR (a, USB_RNDIS_DEVICE, UsbEth, USB_RNDIS_SIGNATURE) |
Definition at line 57 of file UsbRndis.h.
#define USB_RNDIS_DRIVER_VERSION 1 |
Definition at line 45 of file UsbRndis.h.
#define USB_RNDIS_SIGNATURE SIGNATURE_32('r', 'n', 'd', 's') |
Definition at line 56 of file UsbRndis.h.
#define USB_RX_ETHERNET_BULK_TIMEOUT 3 |
Definition at line 47 of file UsbRndis.h.
#define USB_TX_ETHERNET_BULK_TIMEOUT 3000 |
Definition at line 46 of file UsbRndis.h.
typedef struct _REMOTE_NDIS_MSG_HEADER REMOTE_NDIS_MSG_HEADER |
Definition at line 22 of file UsbRndis.h.
VOID GetEndpoint | ( | IN EFI_USB_IO_PROTOCOL * | UsbIo, |
IN OUT USB_RNDIS_DEVICE * | UsbRndisDevice | ||
) |
Get USB Ethernet IO endpoint and USB CDC data IO endpoint.
[in] | UsbIo | A pointer to the EFI_USB_IO_PROTOCOL instance. |
[in,out] | UsbRndisDevice | A pointer to the USB_RNDIS_DEVICE instance. |
Definition at line 169 of file UsbRndisFunction.c.
EFI_STATUS GetFunctionalDescriptor | ( | IN EFI_USB_CONFIG_DESCRIPTOR * | Config, |
IN UINT8 | FunDescriptorType, | ||
OUT VOID * | DataBuffer | ||
) |
Read Function descriptor
[in] | Config | A pointer to all of configuration. |
[in] | FunDescriptorType | USB CDC class descriptor SubType. |
[out] | DataBuffer | A pointer to the Data of corresponding to device capability. |
EFI_SUCCESS | The device capability descriptor was retrieved successfully. |
EFI_UNSUPPORTED | No supported. |
EFI_NOT_FOUND | The device capability descriptor was not found. |
Definition at line 100 of file UsbEcmFunction.c.
EFI_STATUS EFIAPI GetUsbEthMacAddress | ( | IN EDKII_USB_ETHERNET_PROTOCOL * | This, |
OUT EFI_MAC_ADDRESS * | MacAddress | ||
) |
Retrieves the USB Ethernet Mac Address.
[in] | This | A pointer to the EDKII_USB_ETHERNET_PROTOCOL instance. |
[out] | MacAddress | A pointer to the caller allocated USB Ethernet Mac Address. |
EFI_SUCCESS | The USB Header Functional descriptor was retrieved successfully. |
EFI_INVALID_PARAMETER | UsbHeaderFunDescriptor is NULL. |
EFI_NOT_FOUND | The USB Header Functional descriptor was not found. |
Definition at line 421 of file UsbEcmFunction.c.
EFI_STATUS EFIAPI GetUsbHeaderFunDescriptor | ( | IN EDKII_USB_ETHERNET_PROTOCOL * | This, |
OUT USB_HEADER_FUN_DESCRIPTOR * | UsbHeaderFunDescriptor | ||
) |
Retrieves the USB Header functional Descriptor.
[in] | This | A pointer to the EDKII_USB_ETHERNET_PROTOCOL instance. |
[out] | UsbHeaderFunDescriptor | A pointer to the caller allocated USB Header Functional Descriptor. |
EFI_SUCCESS | The USB Header Functional descriptor was retrieved successfully. |
EFI_INVALID_PARAMETER | UsbHeaderFunDescriptor is NULL. |
EFI_NOT_FOUND | The USB Header Functional descriptor was not found. |
Definition at line 511 of file UsbEcmFunction.c.
EFI_STATUS EFIAPI GetUsbRndisFunDescriptor | ( | IN EDKII_USB_ETHERNET_PROTOCOL * | This, |
OUT USB_ETHERNET_FUN_DESCRIPTOR * | UsbEthFunDescriptor | ||
) |
Retrieves the USB Ethernet functional Descriptor.
This function get the Mac Address, Ethernet statistics, maximum segment size, number of multicast filters, and number of pattern filters from Ethernet functional Descriptor.
[in] | This | A pointer to the EDKII_USB_ETHERNET_PROTOCOL instance. |
[out] | UsbEthFunDescriptor | A pointer to the caller allocated USB Ethernet Functional Descriptor. |
EFI_SUCCESS | The USB Ethernet Functional descriptor was retrieved successfully. |
EFI_INVALID_PARAMETER | UsbEthFunDescriptor is NULL. |
EFI_NOT_FOUND | The USB Ethernet Functional descriptor was not found. |
Definition at line 606 of file UsbRndisFunction.c.
EFI_STATUS EFIAPI GetUsbUnionFunDescriptor | ( | IN EDKII_USB_ETHERNET_PROTOCOL * | This, |
OUT USB_UNION_FUN_DESCRIPTOR * | UsbUnionFunDescriptor | ||
) |
Retrieves the USB Union functional Descriptor.
[in] | This | A pointer to the EDKII_USB_ETHERNET_PROTOCOL instance. |
[out] | UsbUnionFunDescriptor | A pointer to the caller allocated USB Union Functional Descriptor. |
EFI_SUCCESS | The USB Union Functional descriptor was retrieved successfully. |
EFI_INVALID_PARAMETER | UsbUnionFunDescriptor is NULL. |
EFI_NOT_FOUND | The USB Union Functional descriptor was not found. |
Definition at line 542 of file UsbEcmFunction.c.
EFI_STATUS EFIAPI InterruptCallback | ( | IN VOID * | Data, |
IN UINTN | DataLength, | ||
IN VOID * | Context, | ||
IN UINT32 | Status | ||
) |
Async USB transfer callback routine.
[in] | Data | Data received or sent via the USB Asynchronous Transfer, if the transfer completed successfully. |
[in] | DataLength | The length of Data received or sent via the Asynchronous Transfer, if transfer successfully completes. |
[in] | Context | Data passed from UsbAsyncInterruptTransfer() request. |
[in] | Status | Indicates the result of the asynchronous transfer. |
EFI_SUCCESS | The asynchronous USB transfer request has been successfully executed. |
EFI_DEVICE_ERROR | The asynchronous USB transfer request failed. |
Definition at line 327 of file UsbEcmFunction.c.
EFI_STATUS LoadAllDescriptor | ( | IN EFI_USB_IO_PROTOCOL * | UsbIo, |
OUT EFI_USB_CONFIG_DESCRIPTOR ** | ConfigDesc | ||
) |
Load All of device descriptor.
[in] | UsbIo | A pointer to the EFI_USB_IO_PROTOCOL instance. |
[out] | ConfigDesc | A pointer to the configuration descriptor. |
EFI_SUCCESS | The request executed successfully. |
EFI_OUT_OF_RESOURCES | The request could not be completed because the buffer specified by DescriptorLength and Descriptor is not large enough to hold the result of the request. |
EFI_TIMEOUT | A timeout occurred executing the request. |
EFI_DEVICE_ERROR | The request failed due to a device error. The transfer status is returned in Status. |
Definition at line 27 of file UsbEcmFunction.c.
BOOLEAN NextDescriptor | ( | IN EFI_USB_CONFIG_DESCRIPTOR * | Desc, |
IN OUT UINTN * | Offset | ||
) |
Returns pointer to the next descriptor for the pack of USB descriptors located in continues memory segment
[in] | Desc | A pointer to the CONFIG_DESCRIPTOR instance. |
[in,out] | Offset | A pointer to the sum of descriptor length. |
TRUE | The request executed successfully. |
FALSE | No next descriptor. |
Definition at line 65 of file UsbEcmFunction.c.
VOID PrintRndisMsg | ( | IN REMOTE_NDIS_MSG_HEADER * | RndisMsg | ) |
Prints RNDIS Header and Data
[in] | RndisMsg | A pointer to the REMOTE_NDIS_MSG_HEADER data. |
Definition at line 1635 of file UsbRndisFunction.c.
EFI_STATUS RndisControlMsg | ( | IN USB_RNDIS_DEVICE * | UsbRndisDevice, |
IN REMOTE_NDIS_MSG_HEADER * | RndisMsg, | ||
OUT REMOTE_NDIS_MSG_HEADER * | RndisMsgResponse | ||
) |
This function send the RNDIS command through the device's control endpoint
[in] | UsbRndisDevice | A pointer to the USB_RNDIS_DEVICE instance. |
[in] | RndisMsg | A pointer to the REMOTE_NDIS_MSG_HEADER data. |
[out] | RndisMsgResponse | A pointer to the REMOTE_NDIS_MSG_HEADER data for getting responses. |
EFI_SUCCESS | The bulk transfer has been successfully executed. |
Definition at line 1433 of file UsbRndisFunction.c.
EFI_STATUS EFIAPI RndisDummyReturn | ( | IN PXE_CDB * | Cdb, |
IN NIC_DATA * | Nic | ||
) |
This is a dummy function which just returns. Unimplemented EDKII_USB_ETHERNET_PROTOCOL functions point to this function.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
EFI_SUCCESS | The request executed successfully. |
Definition at line 1413 of file UsbRndisFunction.c.
EFI_STATUS EFIAPI RndisUndiGetConfigInfo | ( | IN PXE_CDB * | Cdb, |
IN NIC_DATA * | Nic | ||
) |
This function is called when RndisUndiGetConfigInfo is invoked.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
EFI_SUCCESS | The request executed successfully. |
Definition at line 1042 of file UsbRndisFunction.c.
EFI_STATUS EFIAPI RndisUndiGetInitInfo | ( | IN PXE_CDB * | Cdb, |
IN NIC_DATA * | Nic | ||
) |
This function is called when UndiGetInitInfo is invoked.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
EFI_SUCCESS | The request executed successfully. |
Definition at line 1004 of file UsbRndisFunction.c.
EFI_STATUS EFIAPI RndisUndiGetStatus | ( | IN PXE_CDB * | Cdb, |
IN NIC_DATA * | Nic | ||
) |
Update the Media connection.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
EFI_SUCCESS | The request executed successfully. |
Definition at line 1218 of file UsbRndisFunction.c.
EFI_STATUS EFIAPI RndisUndiInitialize | ( | IN PXE_CDB * | Cdb, |
IN NIC_DATA * | Nic | ||
) |
This function is called when UndiInitialize is invoked.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
EFI_SUCCESS | The request executed successfully. |
EFI_UNSUPPORTED | Not supported. |
Definition at line 1063 of file UsbRndisFunction.c.
EFI_STATUS EFIAPI RndisUndiReceive | ( | IN PXE_CDB * | Cdb, |
IN EDKII_USB_ETHERNET_PROTOCOL * | This, | ||
IN OUT VOID * | BulkInData, | ||
IN OUT UINTN * | DataLength | ||
) |
Receives and removes RNDIS header and returns the raw data.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | This | A pointer to the EDKII_USB_ETHERNET_PROTOCOL instance. |
[in,out] | BulkInData | A pointer to the buffer of data that will be transmitted to USB device or received from USB device. |
[in,out] | DataLength | A pointer to the PacketLength. |
EFI_SUCCESS | The request executed successfully. |
EFI_BUFFER_TOO_SMALL | The user provided buffer is too small |
EFI_NOT_FOUND | No buffer was found in the list. |
Definition at line 1304 of file UsbRndisFunction.c.
EFI_STATUS EFIAPI RndisUndiReceiveFilter | ( | IN PXE_CDB * | Cdb, |
IN NIC_DATA * | Nic | ||
) |
Updates Filter settings on the device.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
EFI_STATUS |
Definition at line 825 of file UsbRndisFunction.c.
EFI_STATUS EFIAPI RndisUndiReset | ( | IN PXE_CDB * | Cdb, |
IN NIC_DATA * | Nic | ||
) |
This function is called when UndiReset is invoked.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
EFI_SUCCESS | The request executed successfully. |
EFI_DEVICE_ERROR | The request failed due to a device error. |
Definition at line 1130 of file UsbRndisFunction.c.
EFI_STATUS EFIAPI RndisUndiShutdown | ( | IN PXE_CDB * | Cdb, |
IN NIC_DATA * | Nic | ||
) |
This function is called when UndiShutdown is invoked.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
EFI_SUCCESS | The request executed successfully. |
Definition at line 1177 of file UsbRndisFunction.c.
EFI_STATUS EFIAPI RndisUndiStart | ( | IN PXE_CDB * | Cdb, |
IN NIC_DATA * | Nic | ||
) |
This function is called when UndiStart is invoked.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
EFI_SUCCESS | The request executed successfully. |
Definition at line 949 of file UsbRndisFunction.c.
EFI_STATUS EFIAPI RndisUndiStop | ( | IN PXE_CDB * | Cdb, |
IN NIC_DATA * | Nic | ||
) |
This function is called when Undistop is invoked.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | Nic | A pointer to the Network interface controller data. |
EFI_SUCCESS | The request executed successfully. |
Definition at line 984 of file UsbRndisFunction.c.
EFI_STATUS EFIAPI RndisUndiTransmit | ( | IN PXE_CDB * | Cdb, |
IN EDKII_USB_ETHERNET_PROTOCOL * | This, | ||
IN VOID * | BulkOutData, | ||
IN OUT UINTN * | DataLength | ||
) |
Transmit the data after appending RNDIS header.
[in] | Cdb | A pointer to the command descriptor block. |
[in] | This | A pointer to the EDKII_USB_ETHERNET_PROTOCOL instance. |
[in] | BulkOutData | A pointer to the buffer of data that will be transmitted to USB device or received from USB device. |
[in,out] | DataLength | A pointer to the PacketLength. |
EFI_SUCCESS | The request executed successfully. |
Definition at line 1241 of file UsbRndisFunction.c.
EFI_STATUS EFIAPI SetUsbRndisMcastFilter | ( | 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.
[in] | This | A pointer to the EDKII_USB_ETHERNET_PROTOCOL instance. |
[in] | Value | Number of filters. |
[in] | McastAddr | A pointer to the value of the multicast addresses. |
EFI_SUCCESS | The request executed successfully. |
EFI_TIMEOUT | A timeout occurred executing the request. |
EFI_DEVICE_ERROR | The request failed due to a device error. |
EFI_INVALID_PARAMETER | One of the parameters has an invalid value. |
EFI_UNSUPPORTED | Not supported. |
Definition at line 645 of file UsbRndisFunction.c.
EFI_STATUS EFIAPI SetUsbRndisPacketFilter | ( | IN EDKII_USB_ETHERNET_PROTOCOL * | This, |
IN UINT16 | Value | ||
) |
This request is used to configure device Ethernet packet filter settings.
[in] | This | A pointer to the EDKII_USB_ETHERNET_PROTOCOL instance. |
[in] | Value | Packet Filter Bitmap. |
EFI_SUCCESS | The request executed successfully. |
EFI_TIMEOUT | A timeout occurred executing the request. |
EFI_DEVICE_ERROR | The request failed due to a device error. |
EFI_INVALID_PARAMETER | One of the parameters has an invalid value. |
EFI_UNSUPPORTED | Not supported. |
Definition at line 905 of file UsbRndisFunction.c.
EFI_STATUS EFIAPI SetUsbRndisPowerFilter | ( | 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.
[in] | This | A pointer to the EDKII_USB_ETHERNET_PROTOCOL instance. |
[in] | Value | Number of filters. |
[in] | Length | Size of the power management pattern filter data. |
[in] | PatternFilter | A pointer to the power management pattern filter structure. |
EFI_SUCCESS | The request executed successfully. |
EFI_TIMEOUT | A timeout occurred executing the request. |
EFI_DEVICE_ERROR | The request failed due to a device error. |
EFI_INVALID_PARAMETER | One of the parameters has an invalid value. |
EFI_UNSUPPORTED | Not supported. |
Definition at line 703 of file UsbRndisFunction.c.
EFI_STATUS EFIAPI UsbEthBulkSize | ( | IN EDKII_USB_ETHERNET_PROTOCOL * | This, |
OUT UINTN * | BulkSize | ||
) |
Retrieves the USB Ethernet Bulk transfer data size.
[in] | This | A pointer to the EDKII_USB_ETHERNET_PROTOCOL instance. |
[out] | BulkSize | A pointer to the Bulk transfer data size. |
EFI_SUCCESS | The bulk transfer data size was retrieved successfully. |
other | Failed to retrieve the bulk transfer data size. |
Definition at line 473 of file UsbRndisFunction.c.
EFI_STATUS EFIAPI UsbRndisDriverStart | ( | IN EFI_DRIVER_BINDING_PROTOCOL * | This, |
IN EFI_HANDLE | ControllerHandle, | ||
IN EFI_DEVICE_PATH_PROTOCOL * | RemainingDevicePath | ||
) |
USB RNDIS Driver Binding Start.
[in] | This | Protocol instance pointer. |
[in] | ControllerHandle | Handle of device to bind driver to. |
[in] | RemainingDevicePath | Optional parameter use to pick a specific child device to start. |
EFI_SUCCESS | This driver is added to ControllerHandle |
EFI_DEVICE_ERROR | This driver could not be started due to a device error |
EFI_OUT_OF_RESOURCES | The driver could not install successfully due to a lack of resources. |
other | This driver does not support this device |
Definition at line 518 of file UsbRndis.c.
EFI_STATUS EFIAPI UsbRndisDriverStop | ( | IN EFI_DRIVER_BINDING_PROTOCOL * | This, |
IN EFI_HANDLE | ControllerHandle, | ||
IN UINTN | NumberOfChildren, | ||
IN EFI_HANDLE * | ChildHandleBuffer | ||
) |
USB Rndis Driver Binding Stop.
[in] | This | Protocol instance pointer. |
[in] | ControllerHandle | Handle of device to stop driver on |
[in] | NumberOfChildren | Number of Handles in ChildHandleBuffer. If number of children is zero stop the entire bus driver. |
[in] | ChildHandleBuffer | List of Child Handles to Stop. |
EFI_SUCCESS | This driver is removed ControllerHandle |
other | This driver was not removed from this device |
Definition at line 795 of file UsbRndis.c.
EFI_STATUS EFIAPI UsbRndisDriverSupported | ( | IN EFI_DRIVER_BINDING_PROTOCOL * | This, |
IN EFI_HANDLE | ControllerHandle, | ||
IN EFI_DEVICE_PATH_PROTOCOL * | RemainingDevicePath | ||
) |
USB Rndis Driver Binding Support.
[in] | This | Protocol instance pointer. |
[in] | ControllerHandle | Handle of device to test. |
[in] | RemainingDevicePath | Optional parameter use to pick a specific child device to start. |
EFI_SUCCESS | This driver supports this device. |
EFI_ALREADY_STARTED | This driver is already running on this device. |
other | This driver does not support this device. |
Definition at line 470 of file UsbRndis.c.
EFI_STATUS EFIAPI UsbRndisInterrupt | ( | IN EDKII_USB_ETHERNET_PROTOCOL * | This, |
IN BOOLEAN | IsNewTransfer, | ||
IN UINTN | PollingInterval, | ||
IN EFI_USB_DEVICE_REQUEST * | Requst | ||
) |
This function is used to manage a USB device with an interrupt transfer pipe.
[in] | This | A pointer to the EDKII_USB_ETHERNET_PROTOCOL instance. |
[in] | IsNewTransfer | If 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] | PollingInterval | Indicates 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] | Requst | A pointer to the EFI_USB_DEVICE_REQUEST data. |
EFI_SUCCESS | The asynchronous USB transfer request transfer has been successfully executed. |
EFI_DEVICE_ERROR | The asynchronous USB transfer request failed. |
Definition at line 280 of file UsbRndisFunction.c.
|
extern |
Definition at line 46 of file ComponentName.c.