diff options
Diffstat (limited to 'qemu/roms/ipxe/src/include/ipxe/efi/Protocol/Ip4.h')
-rw-r--r-- | qemu/roms/ipxe/src/include/ipxe/efi/Protocol/Ip4.h | 614 |
1 files changed, 0 insertions, 614 deletions
diff --git a/qemu/roms/ipxe/src/include/ipxe/efi/Protocol/Ip4.h b/qemu/roms/ipxe/src/include/ipxe/efi/Protocol/Ip4.h deleted file mode 100644 index f174c0cfb..000000000 --- a/qemu/roms/ipxe/src/include/ipxe/efi/Protocol/Ip4.h +++ /dev/null @@ -1,614 +0,0 @@ -/** @file - This file defines the EFI IPv4 (Internet Protocol version 4) - Protocol interface. It is split into the following three main - sections: - - EFI IPv4 Service Binding Protocol - - EFI IPv4 Variable (deprecated in UEFI 2.4B) - - EFI IPv4 Protocol. - The EFI IPv4 Protocol provides basic network IPv4 packet I/O services, - which includes support foR a subset of the Internet Control Message - Protocol (ICMP) and may include support for the Internet Group Management - Protocol (IGMP). - -Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> -This program and the accompanying materials are licensed and made available under -the terms and conditions of the BSD License that accompanies this distribution. -The full text of the license may be found at -http://opensource.org/licenses/bsd-license.php. - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - - @par Revision Reference: - This Protocol is introduced in UEFI Specification 2.0. - -**/ - -#ifndef __EFI_IP4_PROTOCOL_H__ -#define __EFI_IP4_PROTOCOL_H__ - -FILE_LICENCE ( BSD3 ); - -#include <ipxe/efi/Protocol/ManagedNetwork.h> - -#define EFI_IP4_SERVICE_BINDING_PROTOCOL_GUID \ - { \ - 0xc51711e7, 0xb4bf, 0x404a, {0xbf, 0xb8, 0x0a, 0x04, 0x8e, 0xf1, 0xff, 0xe4 } \ - } - -#define EFI_IP4_PROTOCOL_GUID \ - { \ - 0x41d94cd2, 0x35b6, 0x455a, {0x82, 0x58, 0xd4, 0xe5, 0x13, 0x34, 0xaa, 0xdd } \ - } - -typedef struct _EFI_IP4_PROTOCOL EFI_IP4_PROTOCOL; - -/// -/// EFI_IP4_ADDRESS_PAIR is deprecated in the UEFI 2.4B and should not be used any more. -/// The definition in here is only present to provide backwards compatability. -/// -typedef struct { - EFI_HANDLE InstanceHandle; - EFI_IPv4_ADDRESS Ip4Address; - EFI_IPv4_ADDRESS SubnetMask; -} EFI_IP4_ADDRESS_PAIR; - -/// -/// EFI_IP4_VARIABLE_DATA is deprecated in the UEFI 2.4B and should not be used any more. -/// The definition in here is only present to provide backwards compatability. -/// -typedef struct { - EFI_HANDLE DriverHandle; - UINT32 AddressCount; - EFI_IP4_ADDRESS_PAIR AddressPairs[1]; -} EFI_IP4_VARIABLE_DATA; - -typedef struct { - /// - /// The default IPv4 protocol packets to send and receive. Ignored - /// when AcceptPromiscuous is TRUE. - /// - UINT8 DefaultProtocol; - /// - /// Set to TRUE to receive all IPv4 packets that get through the receive filters. - /// Set to FALSE to receive only the DefaultProtocol IPv4 - /// packets that get through the receive filters. - /// - BOOLEAN AcceptAnyProtocol; - /// - /// Set to TRUE to receive ICMP error report packets. Ignored when - /// AcceptPromiscuous or AcceptAnyProtocol is TRUE. - /// - BOOLEAN AcceptIcmpErrors; - /// - /// Set to TRUE to receive broadcast IPv4 packets. Ignored when - /// AcceptPromiscuous is TRUE. - /// Set to FALSE to stop receiving broadcast IPv4 packets. - /// - BOOLEAN AcceptBroadcast; - /// - /// Set to TRUE to receive all IPv4 packets that are sent to any - /// hardware address or any protocol address. - /// Set to FALSE to stop receiving all promiscuous IPv4 packets - /// - BOOLEAN AcceptPromiscuous; - /// - /// Set to TRUE to use the default IPv4 address and default routing table. - /// - BOOLEAN UseDefaultAddress; - /// - /// The station IPv4 address that will be assigned to this EFI IPv4Protocol instance. - /// - EFI_IPv4_ADDRESS StationAddress; - /// - /// The subnet address mask that is associated with the station address. - /// - EFI_IPv4_ADDRESS SubnetMask; - /// - /// TypeOfService field in transmitted IPv4 packets. - /// - UINT8 TypeOfService; - /// - /// TimeToLive field in transmitted IPv4 packets. - /// - UINT8 TimeToLive; - /// - /// State of the DoNotFragment bit in transmitted IPv4 packets. - /// - BOOLEAN DoNotFragment; - /// - /// Set to TRUE to send and receive unformatted packets. The other - /// IPv4 receive filters are still applied. Fragmentation is disabled for RawData mode. - /// - BOOLEAN RawData; - /// - /// The timer timeout value (number of microseconds) for the - /// receive timeout event to be associated with each assembled - /// packet. Zero means do not drop assembled packets. - /// - UINT32 ReceiveTimeout; - /// - /// The timer timeout value (number of microseconds) for the - /// transmit timeout event to be associated with each outgoing - /// packet. Zero means do not drop outgoing packets. - /// - UINT32 TransmitTimeout; -} EFI_IP4_CONFIG_DATA; - - -typedef struct { - EFI_IPv4_ADDRESS SubnetAddress; - EFI_IPv4_ADDRESS SubnetMask; - EFI_IPv4_ADDRESS GatewayAddress; -} EFI_IP4_ROUTE_TABLE; - -typedef struct { - UINT8 Type; - UINT8 Code; -} EFI_IP4_ICMP_TYPE; - -typedef struct { - /// - /// Set to TRUE after this EFI IPv4 Protocol instance has been successfully configured. - /// - BOOLEAN IsStarted; - /// - /// The maximum packet size, in bytes, of the packet which the upper layer driver could feed. - /// - UINT32 MaxPacketSize; - /// - /// Current configuration settings. - /// - EFI_IP4_CONFIG_DATA ConfigData; - /// - /// Set to TRUE when the EFI IPv4 Protocol instance has a station address and subnet mask. - /// - BOOLEAN IsConfigured; - /// - /// Number of joined multicast groups. - /// - UINT32 GroupCount; - /// - /// List of joined multicast group addresses. - /// - EFI_IPv4_ADDRESS *GroupTable; - /// - /// Number of entries in the routing table. - /// - UINT32 RouteCount; - /// - /// Routing table entries. - /// - EFI_IP4_ROUTE_TABLE *RouteTable; - /// - /// Number of entries in the supported ICMP types list. - /// - UINT32 IcmpTypeCount; - /// - /// Array of ICMP types and codes that are supported by this EFI IPv4 Protocol driver - /// - EFI_IP4_ICMP_TYPE *IcmpTypeList; -} EFI_IP4_MODE_DATA; - -#pragma pack(1) - -typedef struct { - UINT8 HeaderLength:4; - UINT8 Version:4; - UINT8 TypeOfService; - UINT16 TotalLength; - UINT16 Identification; - UINT16 Fragmentation; - UINT8 TimeToLive; - UINT8 Protocol; - UINT16 Checksum; - EFI_IPv4_ADDRESS SourceAddress; - EFI_IPv4_ADDRESS DestinationAddress; -} EFI_IP4_HEADER; -#pragma pack() - - -typedef struct { - UINT32 FragmentLength; - VOID *FragmentBuffer; -} EFI_IP4_FRAGMENT_DATA; - - -typedef struct { - EFI_TIME TimeStamp; - EFI_EVENT RecycleSignal; - UINT32 HeaderLength; - EFI_IP4_HEADER *Header; - UINT32 OptionsLength; - VOID *Options; - UINT32 DataLength; - UINT32 FragmentCount; - EFI_IP4_FRAGMENT_DATA FragmentTable[1]; -} EFI_IP4_RECEIVE_DATA; - - -typedef struct { - EFI_IPv4_ADDRESS SourceAddress; - EFI_IPv4_ADDRESS GatewayAddress; - UINT8 Protocol; - UINT8 TypeOfService; - UINT8 TimeToLive; - BOOLEAN DoNotFragment; -} EFI_IP4_OVERRIDE_DATA; - -typedef struct { - EFI_IPv4_ADDRESS DestinationAddress; - EFI_IP4_OVERRIDE_DATA *OverrideData; //OPTIONAL - UINT32 OptionsLength; //OPTIONAL - VOID *OptionsBuffer; //OPTIONAL - UINT32 TotalDataLength; - UINT32 FragmentCount; - EFI_IP4_FRAGMENT_DATA FragmentTable[1]; -} EFI_IP4_TRANSMIT_DATA; - -typedef struct { - /// - /// This Event will be signaled after the Status field is updated - /// by the EFI IPv4 Protocol driver. The type of Event must be - /// EFI_NOTIFY_SIGNAL. The Task Priority Level (TPL) of - /// Event must be lower than or equal to TPL_CALLBACK. - /// - EFI_EVENT Event; - /// - /// The status that is returned to the caller at the end of the operation - /// to indicate whether this operation completed successfully. - /// - EFI_STATUS Status; - union { - /// - /// When this token is used for receiving, RxData is a pointer to the EFI_IP4_RECEIVE_DATA. - /// - EFI_IP4_RECEIVE_DATA *RxData; - /// - /// When this token is used for transmitting, TxData is a pointer to the EFI_IP4_TRANSMIT_DATA. - /// - EFI_IP4_TRANSMIT_DATA *TxData; - } Packet; -} EFI_IP4_COMPLETION_TOKEN; - -/** - Gets the current operational settings for this instance of the EFI IPv4 Protocol driver. - - The GetModeData() function returns the current operational mode data for this - driver instance. The data fields in EFI_IP4_MODE_DATA are read only. This - function is used optionally to retrieve the operational mode data of underlying - networks or drivers. - - @param This The pointer to the EFI_IP4_PROTOCOL instance. - @param Ip4ModeData The pointer to the EFI IPv4 Protocol mode data structure. - @param MnpConfigData The pointer to the managed network configuration data structure. - @param SnpModeData The pointer to the simple network mode data structure. - - @retval EFI_SUCCESS The operation completed successfully. - @retval EFI_INVALID_PARAMETER This is NULL. - @retval EFI_OUT_OF_RESOURCES The required mode data could not be allocated. - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_IP4_GET_MODE_DATA)( - IN CONST EFI_IP4_PROTOCOL *This, - OUT EFI_IP4_MODE_DATA *Ip4ModeData OPTIONAL, - OUT EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL, - OUT EFI_SIMPLE_NETWORK_MODE *SnpModeData OPTIONAL - ); - -/** - Assigns an IPv4 address and subnet mask to this EFI IPv4 Protocol driver instance. - - The Configure() function is used to set, change, or reset the operational - parameters and filter settings for this EFI IPv4 Protocol instance. Until these - parameters have been set, no network traffic can be sent or received by this - instance. Once the parameters have been reset (by calling this function with - IpConfigData set to NULL), no more traffic can be sent or received until these - parameters have been set again. Each EFI IPv4 Protocol instance can be started - and stopped independently of each other by enabling or disabling their receive - filter settings with the Configure() function. - - When IpConfigData.UseDefaultAddress is set to FALSE, the new station address will - be appended as an alias address into the addresses list in the EFI IPv4 Protocol - driver. While set to TRUE, Configure() will trigger the EFI_IP4_CONFIG_PROTOCOL - to retrieve the default IPv4 address if it is not available yet. Clients could - frequently call GetModeData() to check the status to ensure that the default IPv4 - address is ready. - - If operational parameters are reset or changed, any pending transmit and receive - requests will be cancelled. Their completion token status will be set to EFI_ABORTED - and their events will be signaled. - - @param This The pointer to the EFI_IP4_PROTOCOL instance. - @param IpConfigData The pointer to the EFI IPv4 Protocol configuration data structure. - - @retval EFI_SUCCESS The driver instance was successfully opened. - @retval EFI_NO_MAPPING When using the default address, configuration (DHCP, BOOTP, - RARP, etc.) is not finished yet. - @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE: - This is NULL. - IpConfigData.StationAddress is not a unicast IPv4 address. - IpConfigData.SubnetMask is not a valid IPv4 subnet - @retval EFI_UNSUPPORTED One or more of the following conditions is TRUE: - A configuration protocol (DHCP, BOOTP, RARP, etc.) could - not be located when clients choose to use the default IPv4 - address. This EFI IPv4 Protocol implementation does not - support this requested filter or timeout setting. - @retval EFI_OUT_OF_RESOURCES The EFI IPv4 Protocol driver instance data could not be allocated. - @retval EFI_ALREADY_STARTED The interface is already open and must be stopped before the - IPv4 address or subnet mask can be changed. The interface must - also be stopped when switching to/from raw packet mode. - @retval EFI_DEVICE_ERROR An unexpected system or network error occurred. The EFI IPv4 - Protocol driver instance is not opened. - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_IP4_CONFIGURE)( - IN EFI_IP4_PROTOCOL *This, - IN EFI_IP4_CONFIG_DATA *IpConfigData OPTIONAL - ); - -/** - Joins and leaves multicast groups. - - The Groups() function is used to join and leave multicast group sessions. Joining - a group will enable reception of matching multicast packets. Leaving a group will - disable the multicast packet reception. - - If JoinFlag is FALSE and GroupAddress is NULL, all joined groups will be left. - - @param This The pointer to the EFI_IP4_PROTOCOL instance. - @param JoinFlag Set to TRUE to join the multicast group session and FALSE to leave. - @param GroupAddress The pointer to the IPv4 multicast address. - - @retval EFI_SUCCESS The operation completed successfully. - @retval EFI_INVALID_PARAMETER One or more of the following is TRUE: - - This is NULL. - - JoinFlag is TRUE and GroupAddress is NULL. - - GroupAddress is not NULL and *GroupAddress is - not a multicast IPv4 address. - @retval EFI_NOT_STARTED This instance has not been started. - @retval EFI_NO_MAPPING When using the default address, configuration (DHCP, BOOTP, - RARP, etc.) is not finished yet. - @retval EFI_OUT_OF_RESOURCES System resources could not be allocated. - @retval EFI_UNSUPPORTED This EFI IPv4 Protocol implementation does not support multicast groups. - @retval EFI_ALREADY_STARTED The group address is already in the group table (when - JoinFlag is TRUE). - @retval EFI_NOT_FOUND The group address is not in the group table (when JoinFlag is FALSE). - @retval EFI_DEVICE_ERROR An unexpected system or network error occurred. - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_IP4_GROUPS)( - IN EFI_IP4_PROTOCOL *This, - IN BOOLEAN JoinFlag, - IN EFI_IPv4_ADDRESS *GroupAddress OPTIONAL - ); - -/** - Adds and deletes routing table entries. - - The Routes() function adds a route to or deletes a route from the routing table. - - Routes are determined by comparing the SubnetAddress with the destination IPv4 - address arithmetically AND-ed with the SubnetMask. The gateway address must be - on the same subnet as the configured station address. - - The default route is added with SubnetAddress and SubnetMask both set to 0.0.0.0. - The default route matches all destination IPv4 addresses that do not match any - other routes. - - A GatewayAddress that is zero is a nonroute. Packets are sent to the destination - IP address if it can be found in the ARP cache or on the local subnet. One automatic - nonroute entry will be inserted into the routing table for outgoing packets that - are addressed to a local subnet (gateway address of 0.0.0.0). - - Each EFI IPv4 Protocol instance has its own independent routing table. Those EFI - IPv4 Protocol instances that use the default IPv4 address will also have copies - of the routing table that was provided by the EFI_IP4_CONFIG_PROTOCOL, and these - copies will be updated whenever the EIF IPv4 Protocol driver reconfigures its - instances. As a result, client modification to the routing table will be lost. - - @param This The pointer to the EFI_IP4_PROTOCOL instance. - @param DeleteRoute Set to TRUE to delete this route from the routing table. Set to - FALSE to add this route to the routing table. SubnetAddress - and SubnetMask are used as the key to each route entry. - @param SubnetAddress The address of the subnet that needs to be routed. - @param SubnetMask The subnet mask of SubnetAddress. - @param GatewayAddress The unicast gateway IPv4 address for this route. - - @retval EFI_SUCCESS The operation completed successfully. - @retval EFI_NOT_STARTED The driver instance has not been started. - @retval EFI_NO_MAPPING When using the default address, configuration (DHCP, BOOTP, - RARP, etc.) is not finished yet. - @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE: - - This is NULL. - - SubnetAddress is NULL. - - SubnetMask is NULL. - - GatewayAddress is NULL. - - *SubnetAddress is not a valid subnet address. - - *SubnetMask is not a valid subnet mask. - - *GatewayAddress is not a valid unicast IPv4 address. - @retval EFI_OUT_OF_RESOURCES Could not add the entry to the routing table. - @retval EFI_NOT_FOUND This route is not in the routing table (when DeleteRoute is TRUE). - @retval EFI_ACCESS_DENIED The route is already defined in the routing table (when - DeleteRoute is FALSE). - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_IP4_ROUTES)( - IN EFI_IP4_PROTOCOL *This, - IN BOOLEAN DeleteRoute, - IN EFI_IPv4_ADDRESS *SubnetAddress, - IN EFI_IPv4_ADDRESS *SubnetMask, - IN EFI_IPv4_ADDRESS *GatewayAddress - ); - -/** - Places outgoing data packets into the transmit queue. - - The Transmit() function places a sending request in the transmit queue of this - EFI IPv4 Protocol instance. Whenever the packet in the token is sent out or some - errors occur, the event in the token will be signaled and the status is updated. - - @param This The pointer to the EFI_IP4_PROTOCOL instance. - @param Token The pointer to the transmit token. - - @retval EFI_SUCCESS The data has been queued for transmission. - @retval EFI_NOT_STARTED This instance has not been started. - @retval EFI_NO_MAPPING When using the default address, configuration (DHCP, BOOTP, - RARP, etc.) is not finished yet. - @retval EFI_INVALID_PARAMETER One or more pameters are invalid. - @retval EFI_ACCESS_DENIED The transmit completion token with the same Token.Event - was already in the transmit queue. - @retval EFI_NOT_READY The completion token could not be queued because the transmit - queue is full. - @retval EFI_NOT_FOUND Not route is found to destination address. - @retval EFI_OUT_OF_RESOURCES Could not queue the transmit data. - @retval EFI_BUFFER_TOO_SMALL Token.Packet.TxData.TotalDataLength is too - short to transmit. - @retval EFI_BAD_BUFFER_SIZE The length of the IPv4 header + option length + total data length is - greater than MTU (or greater than the maximum packet size if - Token.Packet.TxData.OverrideData. - DoNotFragment is TRUE.) - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_IP4_TRANSMIT)( - IN EFI_IP4_PROTOCOL *This, - IN EFI_IP4_COMPLETION_TOKEN *Token - ); - -/** - Places a receiving request into the receiving queue. - - The Receive() function places a completion token into the receive packet queue. - This function is always asynchronous. - - The Token.Event field in the completion token must be filled in by the caller - and cannot be NULL. When the receive operation completes, the EFI IPv4 Protocol - driver updates the Token.Status and Token.Packet.RxData fields and the Token.Event - is signaled. - - @param This The pointer to the EFI_IP4_PROTOCOL instance. - @param Token The pointer to a token that is associated with the receive data descriptor. - - @retval EFI_SUCCESS The receive completion token was cached. - @retval EFI_NOT_STARTED This EFI IPv4 Protocol instance has not been started. - @retval EFI_NO_MAPPING When using the default address, configuration (DHCP, BOOTP, RARP, etc.) - is not finished yet. - @retval EFI_INVALID_PARAMETER One or more of the following conditions is TRUE: - - This is NULL. - - Token is NULL. - - Token.Event is NULL. - @retval EFI_OUT_OF_RESOURCES The receive completion token could not be queued due to a lack of system - resources (usually memory). - @retval EFI_DEVICE_ERROR An unexpected system or network error occurred. - The EFI IPv4 Protocol instance has been reset to startup defaults. - @retval EFI_ACCESS_DENIED The receive completion token with the same Token.Event was already - in the receive queue. - @retval EFI_NOT_READY The receive request could not be queued because the receive queue is full. - @retval EFI_ICMP_ERROR An ICMP error packet was received. - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_IP4_RECEIVE)( - IN EFI_IP4_PROTOCOL *This, - IN EFI_IP4_COMPLETION_TOKEN *Token - ); - -/** - Abort an asynchronous transmit or receive request. - - The Cancel() function is used to abort a pending transmit or receive request. - If the token is in the transmit or receive request queues, after calling this - function, Token->Status will be set to EFI_ABORTED and then Token->Event will - be signaled. If the token is not in one of the queues, which usually means the - asynchronous operation has completed, this function will not signal the token - and EFI_NOT_FOUND is returned. - - @param This The pointer to the EFI_IP4_PROTOCOL instance. - @param Token The pointer to a token that has been issued by - EFI_IP4_PROTOCOL.Transmit() or - EFI_IP4_PROTOCOL.Receive(). If NULL, all pending - tokens are aborted. Type EFI_IP4_COMPLETION_TOKEN is - defined in EFI_IP4_PROTOCOL.Transmit(). - - @retval EFI_SUCCESS The asynchronous I/O request was aborted and - Token->Event was signaled. When Token is NULL, all - pending requests were aborted and their events were signaled. - @retval EFI_INVALID_PARAMETER This is NULL. - @retval EFI_NOT_STARTED This instance has not been started. - @retval EFI_NO_MAPPING When using the default address, configuration (DHCP, BOOTP, - RARP, etc.) is not finished yet. - @retval EFI_NOT_FOUND When Token is not NULL, the asynchronous I/O request was - not found in the transmit or receive queue. It has either completed - or was not issued by Transmit() and Receive(). - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_IP4_CANCEL)( - IN EFI_IP4_PROTOCOL *This, - IN EFI_IP4_COMPLETION_TOKEN *Token OPTIONAL - ); - -/** - Polls for incoming data packets and processes outgoing data packets. - - The Poll() function polls for incoming data packets and processes outgoing data - packets. Network drivers and applications can call the EFI_IP4_PROTOCOL.Poll() - function to increase the rate that data packets are moved between the communications - device and the transmit and receive queues. - - In some systems the periodic timer event may not poll the underlying communications - device fast enough to transmit and/or receive all data packets without missing - incoming packets or dropping outgoing packets. Drivers and applications that are - experiencing packet loss should try calling the EFI_IP4_PROTOCOL.Poll() function - more often. - - @param This The pointer to the EFI_IP4_PROTOCOL instance. - - @retval EFI_SUCCESS Incoming or outgoing data was processed. - @retval EFI_NOT_STARTED This EFI IPv4 Protocol instance has not been started. - @retval EFI_NO_MAPPING When using the default address, configuration (DHCP, BOOTP, - RARP, etc.) is not finished yet. - @retval EFI_INVALID_PARAMETER This is NULL. - @retval EFI_DEVICE_ERROR An unexpected system or network error occurred. - @retval EFI_NOT_READY No incoming or outgoing data is processed. - @retval EFI_TIMEOUT Data was dropped out of the transmit and/or receive queue. - Consider increasing the polling rate. - -**/ -typedef -EFI_STATUS -(EFIAPI *EFI_IP4_POLL)( - IN EFI_IP4_PROTOCOL *This - ); - -/// -/// The EFI IPv4 Protocol implements a simple packet-oriented interface that can be -/// used by drivers, daemons, and applications to transmit and receive network packets. -/// -struct _EFI_IP4_PROTOCOL { - EFI_IP4_GET_MODE_DATA GetModeData; - EFI_IP4_CONFIGURE Configure; - EFI_IP4_GROUPS Groups; - EFI_IP4_ROUTES Routes; - EFI_IP4_TRANSMIT Transmit; - EFI_IP4_RECEIVE Receive; - EFI_IP4_CANCEL Cancel; - EFI_IP4_POLL Poll; -}; - -extern EFI_GUID gEfiIp4ServiceBindingProtocolGuid; -extern EFI_GUID gEfiIp4ProtocolGuid; - -#endif |