21#ifndef __EFI_IP6_PROTOCOL_H__
22#define __EFI_IP6_PROTOCOL_H__
26#define EFI_IP6_SERVICE_BINDING_PROTOCOL_GUID \
28 0xec835dd3, 0xfe0f, 0x617b, {0xa6, 0x21, 0xb3, 0x50, 0xc3, 0xe1, 0x33, 0x88 } \
31#define EFI_IP6_PROTOCOL_GUID \
33 0x2c8759d5, 0x5c2d, 0x66ef, {0x92, 0x5f, 0xb6, 0x6c, 0x10, 0x19, 0x57, 0xe2 } \
80#define ICMP_V6_DEST_UNREACHABLE 0x1
81#define ICMP_V6_PACKET_TOO_BIG 0x2
82#define ICMP_V6_TIME_EXCEEDED 0x3
83#define ICMP_V6_PARAMETER_PROBLEM 0x4
90#define ICMP_V6_ECHO_REQUEST 0x80
91#define ICMP_V6_ECHO_REPLY 0x81
92#define ICMP_V6_LISTENER_QUERY 0x82
93#define ICMP_V6_LISTENER_REPORT 0x83
94#define ICMP_V6_LISTENER_DONE 0x84
95#define ICMP_V6_ROUTER_SOLICIT 0x85
96#define ICMP_V6_ROUTER_ADVERTISE 0x86
97#define ICMP_V6_NEIGHBOR_SOLICIT 0x87
98#define ICMP_V6_NEIGHBOR_ADVERTISE 0x88
99#define ICMP_V6_REDIRECT 0x89
100#define ICMP_V6_LISTENER_REPORT_2 0x8F
107#define ICMP_V6_NO_ROUTE_TO_DEST 0x0
108#define ICMP_V6_COMM_PROHIBITED 0x1
109#define ICMP_V6_BEYOND_SCOPE 0x2
110#define ICMP_V6_ADDR_UNREACHABLE 0x3
111#define ICMP_V6_PORT_UNREACHABLE 0x4
112#define ICMP_V6_SOURCE_ADDR_FAILED 0x5
113#define ICMP_V6_ROUTE_REJECTED 0x6
120#define ICMP_V6_TIMEOUT_HOP_LIMIT 0x0
121#define ICMP_V6_TIMEOUT_REASSEMBLE 0x1
128#define ICMP_V6_ERRONEOUS_HEADER 0x0
129#define ICMP_V6_UNRECOGNIZE_NEXT_HDR 0x1
130#define ICMP_V6_UNRECOGNIZE_OPTION 0x2
396 UINT8 TrafficClassH : 4;
398 UINT8 FlowLabelH : 4;
399 UINT8 TrafficClassL : 4;
401 UINT16 PayloadLength;
711 IN BOOLEAN DeleteRoute,
713 IN UINT8 PrefixLength,
767 IN BOOLEAN DeleteFlag,
943extern EFI_GUID gEfiIp6ServiceBindingProtocolGuid;
struct _EFI_IP6_TRANSMIT_DATA EFI_IP6_TRANSMIT_DATA
struct _EFI_IP6_FRAGMENT_DATA EFI_IP6_FRAGMENT_DATA
EFI_STATUS(EFIAPI * EFI_IP6_CANCEL)(IN EFI_IP6_PROTOCOL *This, IN EFI_IP6_COMPLETION_TOKEN *Token OPTIONAL)
EFI_STATUS(EFIAPI * EFI_IP6_GROUPS)(IN EFI_IP6_PROTOCOL *This, IN BOOLEAN JoinFlag, IN EFI_IPv6_ADDRESS *GroupAddress OPTIONAL)
struct _EFI_IP6_OVERRIDE_DATA EFI_IP6_OVERRIDE_DATA
EFI_STATUS(EFIAPI * EFI_IP6_ROUTES)(IN EFI_IP6_PROTOCOL *This, IN BOOLEAN DeleteRoute, IN EFI_IPv6_ADDRESS *Destination OPTIONAL, IN UINT8 PrefixLength, IN EFI_IPv6_ADDRESS *GatewayAddress OPTIONAL)
EFI_STATUS(EFIAPI * EFI_IP6_GET_MODE_DATA)(IN EFI_IP6_PROTOCOL *This, OUT EFI_IP6_MODE_DATA *Ip6ModeData OPTIONAL, OUT EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL, OUT EFI_SIMPLE_NETWORK_MODE *SnpModeData OPTIONAL)
EFI_STATUS(EFIAPI * EFI_IP6_POLL)(IN EFI_IP6_PROTOCOL *This)
EFI_STATUS(EFIAPI * EFI_IP6_CONFIGURE)(IN EFI_IP6_PROTOCOL *This, IN EFI_IP6_CONFIG_DATA *Ip6ConfigData OPTIONAL)
EFI_STATUS(EFIAPI * EFI_IP6_TRANSMIT)(IN EFI_IP6_PROTOCOL *This, IN EFI_IP6_COMPLETION_TOKEN *Token)
struct _EFI_IP6_HEADER EFI_IP6_HEADER
struct _EFI_IP6_RECEIVE_DATA EFI_IP6_RECEIVE_DATA
EFI_STATUS(EFIAPI * EFI_IP6_RECEIVE)(IN EFI_IP6_PROTOCOL *This, IN EFI_IP6_COMPLETION_TOKEN *Token)
EFI_STATUS(EFIAPI * EFI_IP6_NEIGHBORS)(IN EFI_IP6_PROTOCOL *This, IN BOOLEAN DeleteFlag, IN EFI_IPv6_ADDRESS *TargetIp6Address, IN EFI_MAC_ADDRESS *TargetLinkAddress, IN UINT32 Timeout, IN BOOLEAN Override)
VOID * FragmentBuffer
Pointer to fragment data. This field may not be set to NULL.
UINT32 FragmentLength
Length of fragment data. This field may not be set to zero.
UINT8 HopLimit
Hop-Limit override.
UINT32 FlowLabel
Flow-Label override.
UINT8 Protocol
Protocol type override.
EFI_IP6_FRAGMENT_DATA FragmentTable[1]
EFI_IP6_FRAGMENT_DATA FragmentTable[1]
EFI_IP6_OVERRIDE_DATA * OverrideData
EFI_IPv6_ADDRESS DestinationAddress
UINT8 PrefixLength
The length of the prefix associated with the Address.
EFI_IPv6_ADDRESS Address
The IPv6 address.
EFI_HANDLE InstanceHandle
EFI_IPv6_ADDRESS Ip6Address
EFI_IP6_RECEIVE_DATA * RxData
EFI_IP6_TRANSMIT_DATA * TxData
BOOLEAN AcceptAnyProtocol
EFI_IPv6_ADDRESS DestinationAddress
EFI_IPv6_ADDRESS StationAddress
BOOLEAN AcceptPromiscuous
UINT8 Type
The type of ICMP message.
UINT8 Code
The code of the ICMP message.
EFI_IP6_NEIGHBOR_CACHE * NeighborCache
EFI_IP6_ICMP_TYPE * IcmpTypeList
EFI_IP6_ADDRESS_INFO * AddressList
EFI_IP6_ROUTE_TABLE * RouteTable
EFI_IPv6_ADDRESS * GroupTable
EFI_IP6_CONFIG_DATA ConfigData
EFI_IP6_ADDRESS_INFO * PrefixTable
EFI_IP6_NEIGHBOR_STATE State
State of this neighbor cache entry.
EFI_MAC_ADDRESS LinkAddress
Link-layer address of the neighbor.
EFI_IPv6_ADDRESS Neighbor
The on-link unicast/anycast IP address of the neighbor.
EFI_IPv6_ADDRESS Destination