forked from xt-sys/exectos
Network and PXE related structures
This commit is contained in:
parent
4bead0ead0
commit
9788f37cf8
|
@ -124,6 +124,22 @@ typedef struct _EFI_LBAL EFI_LBAL, *PEFI_LBAL;
|
||||||
typedef struct _EFI_RL EFI_RL, *PEFI_RL;
|
typedef struct _EFI_RL EFI_RL, *PEFI_RL;
|
||||||
typedef struct _EFI_UART_IO_MODE EFI_UART_IO_MODE, *PEFI_UART_IO_MODE;
|
typedef struct _EFI_UART_IO_MODE EFI_UART_IO_MODE, *PEFI_UART_IO_MODE;
|
||||||
typedef struct _EFI_UART_IO_PROTOCOL EFI_UART_IO_PROTOCOL, *PEFI_UART_IO_PROTOCOL;
|
typedef struct _EFI_UART_IO_PROTOCOL EFI_UART_IO_PROTOCOL, *PEFI_UART_IO_PROTOCOL;
|
||||||
|
typedef struct _EFI_NETWORK_STATISTICS EFI_NETWORK_STATISTICS, *PEFI_NETWORK_STATISTICS;
|
||||||
|
typedef struct _EFI_SIMPLE_NETWORK_MODE EFI_SIMPLE_NETWORK_MODE, *PEFI_SIMPLE_NETWORK_MODE;
|
||||||
|
typedef struct _EFI_SIMPLE_NETWORK_PROTOCOL EFI_SIMPLE_NETWORK_PROTOCOL, *PEFI_SIMPLE_NETWORK_PROTOCOL;
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_DHCPV4_PACKET EFI_PXE_BASE_CODE_DHCPV4_PACKET, *PEFI_PXE_BASE_CODE_DHCPV4_PACKET;
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_DHCPV6_PACKET EFI_PXE_BASE_CODE_DHCPV6_PACKET, *PEFI_PXE_BASE_CODE_DHCPV6_PACKET;
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_ICMP_ERROR EFI_PXE_BASE_CODE_ICMP_ERROR, *PEFI_PXE_BASE_CODE_ICMP_ERROR;
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_TFTP_ERROR EFI_PXE_BASE_CODE_TFTP_ERROR, *PEFI_PXE_BASE_CODE_TFTP_ERROR;
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_IP_FILTER EFI_PXE_BASE_CODE_IP_FILTER, *PEFI_PXE_BASE_CODE_IP_FILTER;
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_ARP_ENTRY EFI_PXE_BASE_CODE_ARP_ENTRY, *PEFI_PXE_BASE_CODE_ARP_ENTRY;
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_ROUTE_ENTRY EFI_PXE_BASE_CODE_ROUTE_ENTRY, *PEFI_PXE_BASE_CODE_ROUTE_ENTRY;
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_SRVLIST EFI_PXE_BASE_CODE_SRVLIST, *PEFI_PXE_BASE_CODE_SRVLIST;
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_DISCOVER_INFO EFI_PXE_BASE_CODE_DISCOVER_INFO, *PEFI_PXE_BASE_CODE_DISCOVER_INFO;
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_MTFTP_INFO EFI_PXE_BASE_CODE_MTFTP_INFO, *PEFI_PXE_BASE_CODE_MTFTP_INFO;
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_MODE EFI_PXE_BASE_CODE_MODE, *PEFI_PXE_BASE_CODE_MODE;
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_PROTOCOL EFI_PXE_BASE_CODE_PROTOCOL, *PEFI_PXE_BASE_CODE_PROTOCOL;
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL, *PEFI_PXE_BASE_CODE_CALLBACK_PROTOCOL;
|
||||||
typedef struct _LIST_ENTRY LIST_ENTRY, *PLIST_ENTRY;
|
typedef struct _LIST_ENTRY LIST_ENTRY, *PLIST_ENTRY;
|
||||||
typedef struct _LIST_ENTRY32 LIST_ENTRY32, *PLIST_ENTRY32;
|
typedef struct _LIST_ENTRY32 LIST_ENTRY32, *PLIST_ENTRY32;
|
||||||
typedef struct _LIST_ENTRY64 LIST_ENTRY64, *PLIST_ENTRY64;
|
typedef struct _LIST_ENTRY64 LIST_ENTRY64, *PLIST_ENTRY64;
|
||||||
|
@ -133,5 +149,7 @@ typedef union _EFI_DEV_PATH EFI_DEV_PATH, *PEFI_DEV_PATH;
|
||||||
typedef union _EFI_DEV_PATH_PTR EFI_DEV_PATH_PTR, *PEFI_DEV_PATH_PTR;
|
typedef union _EFI_DEV_PATH_PTR EFI_DEV_PATH_PTR, *PEFI_DEV_PATH_PTR;
|
||||||
typedef union _EFI_HASH_OUTPUT EFI_HASH_OUTPUT, *PEFI_HASH_OUTPUT;
|
typedef union _EFI_HASH_OUTPUT EFI_HASH_OUTPUT, *PEFI_HASH_OUTPUT;
|
||||||
typedef union _EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION, *PEFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION;
|
typedef union _EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION, *PEFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION;
|
||||||
|
typedef union _EFI_IP_ADDRESS EFI_IP_ADDRESS, *PEFI_IP_ADDRESS;
|
||||||
|
typedef union _EFI_PXE_BASE_CODE_PACKET EFI_PXE_BASE_CODE_PACKET, *PEFI_PXE_BASE_CODE_PACKET;
|
||||||
|
|
||||||
#endif /* __XTDK_XTSTRUCT_H */
|
#endif /* __XTDK_XTSTRUCT_H */
|
||||||
|
|
|
@ -178,6 +178,13 @@
|
||||||
#define EFI_UART_SOFTWARE_LOOPBACK_ENABLE 0x2000
|
#define EFI_UART_SOFTWARE_LOOPBACK_ENABLE 0x2000
|
||||||
#define EFI_UART_HARDWARE_FLOW_CONTROL_ENABLE 0x4000
|
#define EFI_UART_HARDWARE_FLOW_CONTROL_ENABLE 0x4000
|
||||||
|
|
||||||
|
/* EFI Simple Network protocol */
|
||||||
|
#define EFI_SIMPLE_NETWORK_RECEIVE_UNICAST 0x01
|
||||||
|
#define EFI_SIMPLE_NETWORK_RECEIVE_MULTICAST 0x02
|
||||||
|
#define EFI_SIMPLE_NETWORK_RECEIVE_BROADCAST 0x04
|
||||||
|
#define EFI_SIMPLE_NETWORK_RECEIVE_PROMISCUOUS 0x08
|
||||||
|
#define EFI_SIMPLE_NETWORK_RECEIVE_PROMISCUOUS_MULTICAST 0x10
|
||||||
|
|
||||||
/* EFI protocols GUIDs */
|
/* EFI protocols GUIDs */
|
||||||
#define EFI_BLOCK_IO_PROTOCOL_GUID {0x964E5B21, 0x6459, 0x11D2, {0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B}}
|
#define EFI_BLOCK_IO_PROTOCOL_GUID {0x964E5B21, 0x6459, 0x11D2, {0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B}}
|
||||||
#define EFI_BLOCK_IO2_PROTOCOL_GUID {0xA77B2472, 0xE282, 0x4E9F, {0xA2, 0x45, 0xC2, 0xC0, 0xE2, 0x7B, 0xBC, 0xC1}}
|
#define EFI_BLOCK_IO2_PROTOCOL_GUID {0xA77B2472, 0xE282, 0x4E9F, {0xA2, 0x45, 0xC2, 0xC0, 0xE2, 0x7B, 0xBC, 0xC1}}
|
||||||
|
@ -209,8 +216,11 @@
|
||||||
#define EFI_PCI_IO_PROTOCOL_GUID {0x4CF5B200, 0x68B8, 0x4CA5, {0x9E, 0xEC, 0xB2, 0x3E, 0x3F, 0x50, 0x02, 0x9A}}
|
#define EFI_PCI_IO_PROTOCOL_GUID {0x4CF5B200, 0x68B8, 0x4CA5, {0x9E, 0xEC, 0xB2, 0x3E, 0x3F, 0x50, 0x02, 0x9A}}
|
||||||
#define EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_GUID {0x2F707EBB, 0x4A1A, 0x11d4, {0x9A, 0x38, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D}}
|
#define EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_GUID {0x2F707EBB, 0x4A1A, 0x11d4, {0x9A, 0x38, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D}}
|
||||||
#define EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL_GUID {0x6B30C738, 0xA391, 0x11D4, {0x9A, 0x3B, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D}}
|
#define EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL_GUID {0x6B30C738, 0xA391, 0x11D4, {0x9A, 0x3B, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D}}
|
||||||
|
#define EFI_PXE_BASE_CODE_PROTOCOL_GUID {0x03C4E603, 0xAC28, 0x11D3, {0x9A, 0x2D, 0x00, 0x90, 0x27, 0x3D, 0xC1, 0x4D}}
|
||||||
|
#define EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL_GUID {0x245DCA21, 0xFB7F, 0x11D3, {0x8F, 0x01, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B}}
|
||||||
#define EFI_RNG_PROTOCOL_GUID {0x3152BCA5, 0xEADE, 0x433D, {0x86, 0x2E, 0xC0, 0x1C, 0xDC, 0x29, 0x1F, 0x44}}
|
#define EFI_RNG_PROTOCOL_GUID {0x3152BCA5, 0xEADE, 0x433D, {0x86, 0x2E, 0xC0, 0x1C, 0xDC, 0x29, 0x1F, 0x44}}
|
||||||
#define EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID {0x964E5B22, 0x6459, 0x11D2, {0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B}}
|
#define EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID {0x964E5B22, 0x6459, 0x11D2, {0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B}}
|
||||||
|
#define EFI_SIMPLE_NETWORK_PROTOCOL_GUID {0xA19832B9, 0xAC25, 0x11D3, {0x9A, 0x2D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D}}
|
||||||
#define EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID {0x387477C1, 0x69C7, 0x11D2, {0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B}}
|
#define EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID {0x387477C1, 0x69C7, 0x11D2, {0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B}}
|
||||||
#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID {0xDD9E7534, 0x7762, 0x4698, {0x8C, 0x14, 0xF5, 0x85, 0x17, 0xA6, 0x25, 0xAA}}
|
#define EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID {0xDD9E7534, 0x7762, 0x4698, {0x8C, 0x14, 0xF5, 0x85, 0x17, 0xA6, 0x25, 0xAA}}
|
||||||
#define EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL_GUID {0x387477C2, 0x69C7, 0x11D2, {0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B}}
|
#define EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL_GUID {0x387477C2, 0x69C7, 0x11D2, {0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B}}
|
||||||
|
@ -398,6 +408,52 @@ typedef enum _EFI_UART_STOP_BITS_TYPE
|
||||||
TwoStopBits
|
TwoStopBits
|
||||||
} EFI_UART_STOP_BITS_TYPE, *PEFI_UART_STOP_BITS_TYPE;
|
} EFI_UART_STOP_BITS_TYPE, *PEFI_UART_STOP_BITS_TYPE;
|
||||||
|
|
||||||
|
/* Enumeration of network state */
|
||||||
|
typedef enum _EFI_SIMPLE_NETWORK_STATE
|
||||||
|
{
|
||||||
|
EfiSimpleNetworkStopped,
|
||||||
|
EfiSimpleNetworkStarted,
|
||||||
|
EfiSimpleNetworkInitialized,
|
||||||
|
EfiSimpleNetworkMaxState
|
||||||
|
} EFI_SIMPLE_NETWORK_STATE, *PEFI_SIMPLE_NETWORK_STATE;
|
||||||
|
|
||||||
|
/* Enumeration of PXE TFTP opcodes */
|
||||||
|
typedef enum _EFI_PXE_BASE_CODE_TFTP_OPCODE
|
||||||
|
{
|
||||||
|
EFI_PXE_BASE_CODE_TFTP_FIRST,
|
||||||
|
EFI_PXE_BASE_CODE_TFTP_GET_FILE_SIZE,
|
||||||
|
EFI_PXE_BASE_CODE_TFTP_READ_FILE,
|
||||||
|
EFI_PXE_BASE_CODE_TFTP_WRITE_FILE,
|
||||||
|
EFI_PXE_BASE_CODE_TFTP_READ_DIRECTORY,
|
||||||
|
EFI_PXE_BASE_CODE_MTFTP_GET_FILE_SIZE,
|
||||||
|
EFI_PXE_BASE_CODE_MTFTP_READ_FILE,
|
||||||
|
EFI_PXE_BASE_CODE_MTFTP_READ_DIRECTORY,
|
||||||
|
EFI_PXE_BASE_CODE_MTFTP_LAST
|
||||||
|
} EFI_PXE_BASE_CODE_TFTP_OPCODE, *PEFI_PXE_BASE_CODE_TFTP_OPCODE;
|
||||||
|
|
||||||
|
/* Enumeration of PXE functions */
|
||||||
|
typedef enum _EFI_PXE_BASE_CODE_FUNCTION
|
||||||
|
{
|
||||||
|
EFI_PXE_BASE_CODE_FUNCTION_FIRST,
|
||||||
|
EFI_PXE_BASE_CODE_FUNCTION_DHCP,
|
||||||
|
EFI_PXE_BASE_CODE_FUNCTION_DISCOVER,
|
||||||
|
EFI_PXE_BASE_CODE_FUNCTION_MTFTP,
|
||||||
|
EFI_PXE_BASE_CODE_FUNCTION_UDP_WRITE,
|
||||||
|
EFI_PXE_BASE_CODE_FUNCTION_UDP_READ,
|
||||||
|
EFI_PXE_BASE_CODE_FUNCTION_ARP,
|
||||||
|
EFI_PXE_BASE_CODE_FUNCTION_IGMP,
|
||||||
|
EFI_PXE_BASE_CODE_PXE_FUNCTION_LAST
|
||||||
|
} EFI_PXE_BASE_CODE_FUNCTION, *PEFI_PXE_BASE_CODE_FUNCTION;
|
||||||
|
|
||||||
|
/* Enumeration of PXE callback statuses */
|
||||||
|
typedef enum _EFI_PXE_BASE_CODE_CALLBACK_STATUS
|
||||||
|
{
|
||||||
|
EFI_PXE_BASE_CODE_CALLBACK_STATUS_FIRST,
|
||||||
|
EFI_PXE_BASE_CODE_CALLBACK_STATUS_CONTINUE,
|
||||||
|
EFI_PXE_BASE_CODE_CALLBACK_STATUS_ABORT,
|
||||||
|
EFI_PXE_BASE_CODE_CALLBACK_STATUS_LAST
|
||||||
|
} EFI_PXE_BASE_CODE_CALLBACK_STATUS, *PEFI_PXE_BASE_CODE_CALLBACK_STATUS;
|
||||||
|
|
||||||
/* EFI routines forward references */
|
/* EFI routines forward references */
|
||||||
typedef EFI_STATUS (*PEFI_CONVERT_POINTER)(IN UINT_PTR DebugDisposition, IN OUT PVOID *Address);
|
typedef EFI_STATUS (*PEFI_CONVERT_POINTER)(IN UINT_PTR DebugDisposition, IN OUT PVOID *Address);
|
||||||
typedef EFI_STATUS (*PEFI_ALLOCATE_PAGES)(IN EFI_ALLOCATE_TYPE Type, IN EFI_MEMORY_TYPE MemoryType, IN UINT_PTR NoPages, OUT PEFI_PHYSICAL_ADDRESS Memory);
|
typedef EFI_STATUS (*PEFI_ALLOCATE_PAGES)(IN EFI_ALLOCATE_TYPE Type, IN EFI_MEMORY_TYPE MemoryType, IN UINT_PTR NoPages, OUT PEFI_PHYSICAL_ADDRESS Memory);
|
||||||
|
@ -586,6 +642,32 @@ typedef EFI_STATUS (*PEFI_UART_SET_CONTROL_BITS)(IN PEFI_UART_IO_PROTOCOL This,
|
||||||
typedef EFI_STATUS (*PEFI_UART_GET_CONTROL_BITS)(IN PEFI_UART_IO_PROTOCOL This, OUT PUINT32 Control);
|
typedef EFI_STATUS (*PEFI_UART_GET_CONTROL_BITS)(IN PEFI_UART_IO_PROTOCOL This, OUT PUINT32 Control);
|
||||||
typedef EFI_STATUS (*PEFI_UART_WRITE)(IN PEFI_UART_IO_PROTOCOL This, IN OUT PUINT_PTR BufferSize, IN PVOID Buffer);
|
typedef EFI_STATUS (*PEFI_UART_WRITE)(IN PEFI_UART_IO_PROTOCOL This, IN OUT PUINT_PTR BufferSize, IN PVOID Buffer);
|
||||||
typedef EFI_STATUS (*PEFI_UART_READ)(IN PEFI_UART_IO_PROTOCOL This, IN OUT PUINT_PTR BufferSize, OUT PVOID Buffer);
|
typedef EFI_STATUS (*PEFI_UART_READ)(IN PEFI_UART_IO_PROTOCOL This, IN OUT PUINT_PTR BufferSize, OUT PVOID Buffer);
|
||||||
|
typedef EFI_STATUS (*PEFI_SIMPLE_NETWORK_START)(IN PEFI_SIMPLE_NETWORK_PROTOCOL This);
|
||||||
|
typedef EFI_STATUS (*PEFI_SIMPLE_NETWORK_STOP)(IN PEFI_SIMPLE_NETWORK_PROTOCOL This);
|
||||||
|
typedef EFI_STATUS (*PEFI_SIMPLE_NETWORK_INITIALIZE)(IN PEFI_SIMPLE_NETWORK_PROTOCOL This, IN UINT_PTR ExtraRxBufferSize, IN UINT_PTR ExtraTxBufferSize);
|
||||||
|
typedef EFI_STATUS (*PEFI_SIMPLE_NETWORK_RESET)(IN PEFI_SIMPLE_NETWORK_PROTOCOL This, IN BOOLEAN ExtendedVerification);
|
||||||
|
typedef EFI_STATUS (*PEFI_SIMPLE_NETWORK_SHUTDOWN)(IN PEFI_SIMPLE_NETWORK_PROTOCOL This);
|
||||||
|
typedef EFI_STATUS (*PEFI_SIMPLE_NETWORK_RECEIVE_FILTERS)(IN PEFI_SIMPLE_NETWORK_PROTOCOL This, IN UINT32 Enable, IN UINT32 Disable, IN BOOLEAN ResetMCastFilter, IN UINT_PTR MCastFilterCnt, IN PEFI_MAC_ADDRESS MCastFilter);
|
||||||
|
typedef EFI_STATUS (*PEFI_SIMPLE_NETWORK_STATION_ADDRESS)(IN PEFI_SIMPLE_NETWORK_PROTOCOL This, IN BOOLEAN Reset, IN PEFI_MAC_ADDRESS New);
|
||||||
|
typedef EFI_STATUS (*PEFI_SIMPLE_NETWORK_STATISTICS)(IN PEFI_SIMPLE_NETWORK_PROTOCOL This, IN BOOLEAN Reset, IN OUT PUINT_PTR StatisticsSize, OUT PEFI_NETWORK_STATISTICS StatisticsTable);
|
||||||
|
typedef EFI_STATUS (*PEFI_SIMPLE_NETWORK_MCAST_IP_TO_MAC)(IN PEFI_SIMPLE_NETWORK_PROTOCOL This, IN BOOLEAN IPv6, IN PEFI_IP_ADDRESS IP, OUT PEFI_MAC_ADDRESS MAC);
|
||||||
|
typedef EFI_STATUS (*PEFI_SIMPLE_NETWORK_NVDATA)(IN PEFI_SIMPLE_NETWORK_PROTOCOL This, IN BOOLEAN ReadWrite, IN UINT_PTR Offset, IN UINT_PTR BufferSize, IN OUT PVOID Buffer);
|
||||||
|
typedef EFI_STATUS (*PEFI_SIMPLE_NETWORK_GET_STATUS)(IN PEFI_SIMPLE_NETWORK_PROTOCOL This, OUT PUINT32 InterruptStatus, OUT PVOID *TxBuf);
|
||||||
|
typedef EFI_STATUS (*PEFI_SIMPLE_NETWORK_TRANSMIT)(IN PEFI_SIMPLE_NETWORK_PROTOCOL This, IN UINT_PTR HeaderSize, IN UINT_PTR BufferSize, IN PVOID Buffer, IN PEFI_MAC_ADDRESS SrcAddr, IN PEFI_MAC_ADDRESS DestAddr, IN PUINT16 Protocol);
|
||||||
|
typedef EFI_STATUS (*PEFI_SIMPLE_NETWORK_RECEIVE)(IN PEFI_SIMPLE_NETWORK_PROTOCOL This, OUT PUINT_PTR HeaderSize, IN OUT PUINT_PTR BufferSize, OUT PVOID Buffer, OUT PEFI_MAC_ADDRESS SrcAddr, OUT PEFI_MAC_ADDRESS DestAddr, OUT PUINT16 Protocol);
|
||||||
|
typedef EFI_STATUS (*PEFI_PXE_BASE_CODE_START)(IN PEFI_PXE_BASE_CODE_PROTOCOL This, IN BOOLEAN UseIpv6);
|
||||||
|
typedef EFI_STATUS (*PEFI_PXE_BASE_CODE_STOP)(IN PEFI_PXE_BASE_CODE_PROTOCOL This);
|
||||||
|
typedef EFI_STATUS (*PEFI_PXE_BASE_CODE_DHCP)(IN PEFI_PXE_BASE_CODE_PROTOCOL This, IN BOOLEAN SortOffers);
|
||||||
|
typedef EFI_STATUS (*PEFI_PXE_BASE_CODE_DISCOVER)(IN PEFI_PXE_BASE_CODE_PROTOCOL This, IN UINT16 Type, IN PUINT16 Layer, IN BOOLEAN UseBis, IN OUT PEFI_PXE_BASE_CODE_DISCOVER_INFO Info);
|
||||||
|
typedef EFI_STATUS (*PEFI_PXE_BASE_CODE_MTFTP)(IN PEFI_PXE_BASE_CODE_PROTOCOL This, IN EFI_PXE_BASE_CODE_TFTP_OPCODE Operation, IN OUT PVOID *BufferPtr, IN BOOLEAN Overwrite, IN OUT PUINT64 BufferSize, IN PUINT_PTR BlockSize, IN PEFI_IP_ADDRESS ServerIp, IN PUINT8 Filename, IN PEFI_PXE_BASE_CODE_MTFTP_INFO Info, IN BOOLEAN DontUseBuffer);
|
||||||
|
typedef EFI_STATUS (*PEFI_PXE_BASE_CODE_UDP_WRITE)(IN PEFI_PXE_BASE_CODE_PROTOCOL This, IN UINT16 OpFlags, IN PEFI_IP_ADDRESS DestIp, IN PUINT16 DestPort, IN PEFI_IP_ADDRESS GatewayIp, IN PEFI_IP_ADDRESS SrcIp, IN OUT PUINT16 SrcPort, IN PUINT_PTR HeaderSize, IN PVOID HeaderPtr, IN PUINT_PTR BufferSize, IN PVOID BufferPtr);
|
||||||
|
typedef EFI_STATUS (*PEFI_PXE_BASE_CODE_UDP_READ)(IN PEFI_PXE_BASE_CODE_PROTOCOL This, IN UINT16 OpFlags, IN OUT PEFI_IP_ADDRESS DestIp, IN OUT PUINT16 DestPort, IN OUT PEFI_IP_ADDRESS SrcIp, IN OUT PUINT16 SrcPort, IN PUINT_PTR HeaderSize, IN PVOID HeaderPtr, IN OUT PUINT_PTR BufferSize, IN PVOID BufferPtr);
|
||||||
|
typedef EFI_STATUS (*PEFI_PXE_BASE_CODE_SET_IP_FILTER)(IN PEFI_PXE_BASE_CODE_PROTOCOL This, IN PEFI_PXE_BASE_CODE_IP_FILTER NewFilter);
|
||||||
|
typedef EFI_STATUS (*PEFI_PXE_BASE_CODE_ARP)(IN PEFI_PXE_BASE_CODE_PROTOCOL This, IN PEFI_IP_ADDRESS IpAddr, IN PEFI_MAC_ADDRESS MacAddr);
|
||||||
|
typedef EFI_STATUS (*PEFI_PXE_BASE_CODE_SET_PARAMETERS)(IN PEFI_PXE_BASE_CODE_PROTOCOL This, IN PBOOLEAN NewAutoArp, IN PBOOLEAN NewSendGUID, IN PUINT8 NewTTL, IN PUINT8 NewToS, IN PBOOLEAN NewMakeCallback);
|
||||||
|
typedef EFI_STATUS (*PEFI_PXE_BASE_CODE_SET_STATION_IP)(IN PEFI_PXE_BASE_CODE_PROTOCOL This, IN PEFI_IP_ADDRESS NewStationIp, IN PEFI_IP_ADDRESS NewSubnetMask);
|
||||||
|
typedef EFI_STATUS (*PEFI_PXE_BASE_CODE_SET_PACKETS)(IN PEFI_PXE_BASE_CODE_PROTOCOL This, PBOOLEAN NewDhcpDiscoverValid, PBOOLEAN NewDhcpAckReceived, PBOOLEAN NewProxyOfferReceived, PBOOLEAN NewPxeDiscoverValid, PBOOLEAN NewPxeReplyReceived, PBOOLEAN NewPxeBisReplyReceived, IN PEFI_PXE_BASE_CODE_PACKET NewDhcpDiscover, IN PEFI_PXE_BASE_CODE_PACKET NewDhcpAck, IN PEFI_PXE_BASE_CODE_PACKET NewProxyOffer, IN PEFI_PXE_BASE_CODE_PACKET NewPxeDiscover, IN PEFI_PXE_BASE_CODE_PACKET NewPxeReply, IN PEFI_PXE_BASE_CODE_PACKET NewPxeBisReply);
|
||||||
|
typedef EFI_PXE_BASE_CODE_CALLBACK_STATUS (*PEFI_PXE_CALLBACK)(IN PEFI_PXE_BASE_CODE_CALLBACK_PROTOCOL This, IN EFI_PXE_BASE_CODE_FUNCTION Function, IN BOOLEAN Received, IN UINT32 PacketLen, IN PEFI_PXE_BASE_CODE_PACKET Packet);
|
||||||
|
|
||||||
/* 128-bit buffer containing a unique identifier value */
|
/* 128-bit buffer containing a unique identifier value */
|
||||||
typedef struct _EFI_GUID
|
typedef struct _EFI_GUID
|
||||||
|
@ -1833,4 +1915,266 @@ typedef struct _EFI_UART_IO_PROTOCOL {
|
||||||
PEFI_UART_IO_MODE Mode;
|
PEFI_UART_IO_MODE Mode;
|
||||||
} EFI_UART_IO_PROTOCOL, *PEFI_UART_IO_PROTOCOL;
|
} EFI_UART_IO_PROTOCOL, *PEFI_UART_IO_PROTOCOL;
|
||||||
|
|
||||||
|
/* EFI IP address definition */
|
||||||
|
typedef union _EFI_IP_ADDRESS
|
||||||
|
{
|
||||||
|
UINT32 Addr[4];
|
||||||
|
EFI_IPv4_ADDRESS v4;
|
||||||
|
EFI_IPv6_ADDRESS v6;
|
||||||
|
} EFI_IP_ADDRESS, *PEFI_IP_ADDRESS;
|
||||||
|
|
||||||
|
/* EFI DHCPv4 packet definition */
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_DHCPV4_PACKET
|
||||||
|
{
|
||||||
|
UINT8 BootpOpcode;
|
||||||
|
UINT8 BootpHwType;
|
||||||
|
UINT8 BootpHwAddrLen;
|
||||||
|
UINT8 BootpGateHops;
|
||||||
|
UINT32 BootpIdent;
|
||||||
|
UINT16 BootpSeconds;
|
||||||
|
UINT16 BootpFlags;
|
||||||
|
UINT8 BootpCiAddr[4];
|
||||||
|
UINT8 BootpYiAddr[4];
|
||||||
|
UINT8 BootpSiAddr[4];
|
||||||
|
UINT8 BootpGiAddr[4];
|
||||||
|
UINT8 BootpHwAddr[16];
|
||||||
|
UINT8 BootpSrvName[64];
|
||||||
|
UINT8 BootpBootFile[128];
|
||||||
|
UINT32 DhcpMagik;
|
||||||
|
UINT8 DhcpOptions[56];
|
||||||
|
} EFI_PXE_BASE_CODE_DHCPV4_PACKET, *PEFI_PXE_BASE_CODE_DHCPV4_PACKET;
|
||||||
|
|
||||||
|
/* EFI DHCPv6 packet definition */
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_DHCPV6_PACKET
|
||||||
|
{
|
||||||
|
UINT32 MessageType:8;
|
||||||
|
UINT32 TransactionId:24;
|
||||||
|
UINT8 DhcpOptions[1024];
|
||||||
|
} EFI_PXE_BASE_CODE_DHCPV6_PACKET, *PEFI_PXE_BASE_CODE_DHCPV6_PACKET;
|
||||||
|
|
||||||
|
/* EFI packet definition */
|
||||||
|
typedef union _EFI_PXE_BASE_CODE_PACKET
|
||||||
|
{
|
||||||
|
UINT8 Raw[1472];
|
||||||
|
EFI_PXE_BASE_CODE_DHCPV4_PACKET Dhcpv4;
|
||||||
|
EFI_PXE_BASE_CODE_DHCPV6_PACKET Dhcpv6;
|
||||||
|
} EFI_PXE_BASE_CODE_PACKET, *PEFI_PXE_BASE_CODE_PACKET;
|
||||||
|
|
||||||
|
/* EFI ICMP error definition */
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_ICMP_ERROR
|
||||||
|
{
|
||||||
|
UINT8 Type;
|
||||||
|
UINT8 Code;
|
||||||
|
UINT16 Checksum;
|
||||||
|
union
|
||||||
|
{
|
||||||
|
UINT32 reserved;
|
||||||
|
UINT32 Mtu;
|
||||||
|
UINT32 Pointer;
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
UINT16 Identifier;
|
||||||
|
UINT16 Sequence;
|
||||||
|
} Echo;
|
||||||
|
} u;
|
||||||
|
UINT8 Data[494];
|
||||||
|
} EFI_PXE_BASE_CODE_ICMP_ERROR, *PEFI_PXE_BASE_CODE_ICMP_ERROR;
|
||||||
|
|
||||||
|
/* EFI TFTP error definition */
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_TFTP_ERROR
|
||||||
|
{
|
||||||
|
UINT8 ErrorCode;
|
||||||
|
UINT8 ErrorString[127];
|
||||||
|
} EFI_PXE_BASE_CODE_TFTP_ERROR, *PEFI_PXE_BASE_CODE_TFTP_ERROR;
|
||||||
|
|
||||||
|
/* EFI IP filter */
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_IP_FILTER
|
||||||
|
{
|
||||||
|
UINT8 Filters;
|
||||||
|
UINT8 IpCnt;
|
||||||
|
UINT16 reserved;
|
||||||
|
EFI_IP_ADDRESS IpList[8];
|
||||||
|
} EFI_PXE_BASE_CODE_IP_FILTER, *PEFI_PXE_BASE_CODE_IP_FILTER;
|
||||||
|
|
||||||
|
/* EFI ARP cache entry */
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_ARP_ENTRY
|
||||||
|
{
|
||||||
|
EFI_IP_ADDRESS IpAddr;
|
||||||
|
EFI_MAC_ADDRESS MacAddr;
|
||||||
|
} EFI_PXE_BASE_CODE_ARP_ENTRY, *PEFI_PXE_BASE_CODE_ARP_ENTRY;
|
||||||
|
|
||||||
|
/* EFI route cache entry */
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_ROUTE_ENTRY
|
||||||
|
{
|
||||||
|
EFI_IP_ADDRESS IpAddr;
|
||||||
|
EFI_IP_ADDRESS SubnetMask;
|
||||||
|
EFI_IP_ADDRESS GwAddr;
|
||||||
|
} EFI_PXE_BASE_CODE_ROUTE_ENTRY, *PEFI_PXE_BASE_CODE_ROUTE_ENTRY;
|
||||||
|
|
||||||
|
/* EFI service list */
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_SRVLIST
|
||||||
|
{
|
||||||
|
UINT16 Type;
|
||||||
|
BOOLEAN AcceptAnyResponse;
|
||||||
|
UINT8 Reserved;
|
||||||
|
EFI_IP_ADDRESS IpAddr;
|
||||||
|
} EFI_PXE_BASE_CODE_SRVLIST, *PEFI_PXE_BASE_CODE_SRVLIST;
|
||||||
|
|
||||||
|
/* EFI network discovery info */
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_DISCOVER_INFO
|
||||||
|
{
|
||||||
|
BOOLEAN UseMCast;
|
||||||
|
BOOLEAN UseBCast;
|
||||||
|
BOOLEAN UseUCast;
|
||||||
|
BOOLEAN MustUseList;
|
||||||
|
EFI_IP_ADDRESS ServerMCastIp;
|
||||||
|
UINT16 IpCnt;
|
||||||
|
EFI_PXE_BASE_CODE_SRVLIST SrvList[1];
|
||||||
|
} EFI_PXE_BASE_CODE_DISCOVER_INFO, *PEFI_PXE_BASE_CODE_DISCOVER_INFO;
|
||||||
|
|
||||||
|
/* EFI TFTP info */
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_MTFTP_INFO
|
||||||
|
{
|
||||||
|
EFI_IP_ADDRESS MCastIp;
|
||||||
|
UINT16 CPort;
|
||||||
|
UINT16 SPort;
|
||||||
|
UINT16 ListenTimeout;
|
||||||
|
UINT16 TransmitTimeout;
|
||||||
|
} EFI_PXE_BASE_CODE_MTFTP_INFO, *PEFI_PXE_BASE_CODE_MTFTP_INFO;
|
||||||
|
|
||||||
|
/* EFI PXE base code mode structure */
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_MODE
|
||||||
|
{
|
||||||
|
BOOLEAN Started;
|
||||||
|
BOOLEAN Ipv6Available;
|
||||||
|
BOOLEAN Ipv6Supported;
|
||||||
|
BOOLEAN UsingIpv6;
|
||||||
|
BOOLEAN BisSupported;
|
||||||
|
BOOLEAN BisDetected;
|
||||||
|
BOOLEAN AutoArp;
|
||||||
|
BOOLEAN SendGUID;
|
||||||
|
BOOLEAN DhcpDiscoverValid;
|
||||||
|
BOOLEAN DhcpAckReceived;
|
||||||
|
BOOLEAN ProxyOfferReceived;
|
||||||
|
BOOLEAN PxeDiscoverValid;
|
||||||
|
BOOLEAN PxeReplyReceived;
|
||||||
|
BOOLEAN PxeBisReplyReceived;
|
||||||
|
BOOLEAN IcmpErrorReceived;
|
||||||
|
BOOLEAN TftpErrorReceived;
|
||||||
|
BOOLEAN MakeCallbacks;
|
||||||
|
UINT8 TTL;
|
||||||
|
UINT8 ToS;
|
||||||
|
EFI_IP_ADDRESS StationIp;
|
||||||
|
EFI_IP_ADDRESS SubnetMask;
|
||||||
|
EFI_PXE_BASE_CODE_PACKET DhcpDiscover;
|
||||||
|
EFI_PXE_BASE_CODE_PACKET DhcpAck;
|
||||||
|
EFI_PXE_BASE_CODE_PACKET ProxyOffer;
|
||||||
|
EFI_PXE_BASE_CODE_PACKET PxeDiscover;
|
||||||
|
EFI_PXE_BASE_CODE_PACKET PxeReply;
|
||||||
|
EFI_PXE_BASE_CODE_PACKET PxeBisReply;
|
||||||
|
EFI_PXE_BASE_CODE_IP_FILTER IpFilter;
|
||||||
|
UINT32 ArpCacheEntries;
|
||||||
|
EFI_PXE_BASE_CODE_ARP_ENTRY ArpCache[8];
|
||||||
|
UINT32 RouteTableEntries;
|
||||||
|
EFI_PXE_BASE_CODE_ROUTE_ENTRY RouteTable[8];
|
||||||
|
EFI_PXE_BASE_CODE_ICMP_ERROR IcmpError;
|
||||||
|
EFI_PXE_BASE_CODE_TFTP_ERROR TftpError;
|
||||||
|
} EFI_PXE_BASE_CODE_MODE, *PEFI_PXE_BASE_CODE_MODE;
|
||||||
|
|
||||||
|
/* EFI PXE base code protocol */
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_PROTOCOL {
|
||||||
|
UINT64 Revision;
|
||||||
|
PEFI_PXE_BASE_CODE_START Start;
|
||||||
|
PEFI_PXE_BASE_CODE_STOP Stop;
|
||||||
|
PEFI_PXE_BASE_CODE_DHCP Dhcp;
|
||||||
|
PEFI_PXE_BASE_CODE_DISCOVER Discover;
|
||||||
|
PEFI_PXE_BASE_CODE_MTFTP Mtftp;
|
||||||
|
PEFI_PXE_BASE_CODE_UDP_WRITE UdpWrite;
|
||||||
|
PEFI_PXE_BASE_CODE_UDP_READ UdpRead;
|
||||||
|
PEFI_PXE_BASE_CODE_SET_IP_FILTER SetIpFilter;
|
||||||
|
PEFI_PXE_BASE_CODE_ARP Arp;
|
||||||
|
PEFI_PXE_BASE_CODE_SET_PARAMETERS SetParameters;
|
||||||
|
PEFI_PXE_BASE_CODE_SET_STATION_IP SetStationIp;
|
||||||
|
PEFI_PXE_BASE_CODE_SET_PACKETS SetPackets;
|
||||||
|
PEFI_PXE_BASE_CODE_MODE Mode;
|
||||||
|
} EFI_PXE_BASE_CODE_PROTOCOL, *PEFI_PXE_BASE_CODE_PROTOCOL;
|
||||||
|
|
||||||
|
/* EFI PXE base code callback protocol */
|
||||||
|
typedef struct _EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL {
|
||||||
|
UINT64 Revision;
|
||||||
|
PEFI_PXE_CALLBACK Callback;
|
||||||
|
} EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL, *PEFI_PXE_BASE_CODE_CALLBACK_PROTOCOL;
|
||||||
|
|
||||||
|
/* EFI network statistics structure */
|
||||||
|
typedef struct _EFI_NETWORK_STATISTICS
|
||||||
|
{
|
||||||
|
UINT64 RxTotalFrames;
|
||||||
|
UINT64 RxGoodFrames;
|
||||||
|
UINT64 RxUndersizeFrames;
|
||||||
|
UINT64 RxOversizeFrames;
|
||||||
|
UINT64 RxDroppedFrames;
|
||||||
|
UINT64 RxUnicastFrames;
|
||||||
|
UINT64 RxBroadcastFrames;
|
||||||
|
UINT64 RxMulticastFrames;
|
||||||
|
UINT64 RxCrcErrorFrames;
|
||||||
|
UINT64 RxTotalBytes;
|
||||||
|
UINT64 TxTotalFrames;
|
||||||
|
UINT64 TxGoodFrames;
|
||||||
|
UINT64 TxUndersizeFrames;
|
||||||
|
UINT64 TxOversizeFrames;
|
||||||
|
UINT64 TxDroppedFrames;
|
||||||
|
UINT64 TxUnicastFrames;
|
||||||
|
UINT64 TxBroadcastFrames;
|
||||||
|
UINT64 TxMulticastFrames;
|
||||||
|
UINT64 TxCrcErrorFrames;
|
||||||
|
UINT64 TxTotalBytes;
|
||||||
|
UINT64 Collisions;
|
||||||
|
UINT64 UnsupportedProtocol;
|
||||||
|
} EFI_NETWORK_STATISTICS, *PEFI_NETWORK_STATISTICS;
|
||||||
|
|
||||||
|
/* EFI network mode structure */
|
||||||
|
typedef struct _EFI_SIMPLE_NETWORK_MODE
|
||||||
|
{
|
||||||
|
UINT32 State;
|
||||||
|
UINT32 HwAddressSize;
|
||||||
|
UINT32 MediaHeaderSize;
|
||||||
|
UINT32 MaxPacketSize;
|
||||||
|
UINT32 NvRamSize;
|
||||||
|
UINT32 NvRamAccessSize;
|
||||||
|
UINT32 ReceiveFilterMask;
|
||||||
|
UINT32 ReceiveFilterSetting;
|
||||||
|
UINT32 MaxMCastFilterCount;
|
||||||
|
UINT32 MCastFilterCount;
|
||||||
|
EFI_MAC_ADDRESS MCastFilter[16];
|
||||||
|
EFI_MAC_ADDRESS CurrentAddress;
|
||||||
|
EFI_MAC_ADDRESS BroadcastAddress;
|
||||||
|
EFI_MAC_ADDRESS PermanentAddress;
|
||||||
|
UINT8 IfType;
|
||||||
|
BOOLEAN MacAddressChangeable;
|
||||||
|
BOOLEAN MultipleTxSupported;
|
||||||
|
BOOLEAN MediaPresentSupported;
|
||||||
|
BOOLEAN MediaPresent;
|
||||||
|
} EFI_SIMPLE_NETWORK_MODE, *PEFI_SIMPLE_NETWORK_MODE;
|
||||||
|
|
||||||
|
/* EFI network protocol structure */
|
||||||
|
typedef struct _EFI_SIMPLE_NETWORK_PROTOCOL
|
||||||
|
{
|
||||||
|
UINT64 Revision;
|
||||||
|
PEFI_SIMPLE_NETWORK_START Start;
|
||||||
|
PEFI_SIMPLE_NETWORK_STOP Stop;
|
||||||
|
PEFI_SIMPLE_NETWORK_INITIALIZE Initialize;
|
||||||
|
PEFI_SIMPLE_NETWORK_RESET Reset;
|
||||||
|
PEFI_SIMPLE_NETWORK_SHUTDOWN Shutdown;
|
||||||
|
PEFI_SIMPLE_NETWORK_RECEIVE_FILTERS ReceiveFilters;
|
||||||
|
PEFI_SIMPLE_NETWORK_STATION_ADDRESS StationAddress;
|
||||||
|
PEFI_SIMPLE_NETWORK_STATISTICS Statistics;
|
||||||
|
PEFI_SIMPLE_NETWORK_MCAST_IP_TO_MAC MCastIpToMac;
|
||||||
|
PEFI_SIMPLE_NETWORK_NVDATA NvData;
|
||||||
|
PEFI_SIMPLE_NETWORK_GET_STATUS GetStatus;
|
||||||
|
PEFI_SIMPLE_NETWORK_TRANSMIT Transmit;
|
||||||
|
PEFI_SIMPLE_NETWORK_RECEIVE Receive;
|
||||||
|
EFI_EVENT WaitForPacket;
|
||||||
|
PEFI_SIMPLE_NETWORK_MODE Mode;
|
||||||
|
} EFI_SIMPLE_NETWORK_PROTOCOL, *PEFI_SIMPLE_NETWORK_PROTOCOL;
|
||||||
|
|
||||||
#endif /* __XTDK_XTUEFI_H */
|
#endif /* __XTDK_XTUEFI_H */
|
||||||
|
|
Loading…
Reference in New Issue
Block a user