11#ifndef __EFI_IP6_IMPL_H__
12#define __EFI_IP6_IMPL_H__
57#define IP6_PROTOCOL_SIGNATURE SIGNATURE_32 ('I', 'P', '6', 'P')
58#define IP6_SERVICE_SIGNATURE SIGNATURE_32 ('I', 'P', '6', 'S')
66#define IP6_STATE_UNCONFIGED 0
67#define IP6_STATE_CONFIGED 1
75#define IP6_SERVICE_UNSTARTED 0
76#define IP6_SERVICE_STARTED 1
77#define IP6_SERVICE_CONFIGED 2
78#define IP6_SERVICE_DESTROY 3
80#define IP6_INSTANCE_FROM_PROTOCOL(Ip6) \
81 CR ((Ip6), IP6_PROTOCOL, Ip6Proto, IP6_PROTOCOL_SIGNATURE)
83#define IP6_SERVICE_FROM_PROTOCOL(Sb) \
84 CR ((Sb), IP6_SERVICE, ServiceBinding, IP6_SERVICE_SIGNATURE)
86#define IP6_NO_MAPPING(IpInstance) (!(IpInstance)->Interface->Configured)
89extern BOOLEAN mIpSec2Installed;
187 BOOLEAN LinkLocalDadFail;
188 BOOLEAN Dhcp6NeedStart;
189 BOOLEAN Dhcp6NeedInfoRequest;
196 UINT32 BaseReachableTime;
197 UINT32 ReachableTime;
207 UINT8 InterfaceIdLen;
210 BOOLEAN RouterAdvertiseReceived;
239 UINT32 MaxPacketSize;
240 UINT32 OldMaxPacketSize;
511 IN BOOLEAN DeleteRoute,
513 IN UINT8 PrefixLength,
567 IN BOOLEAN DeleteFlag,
EFI_STATUS EFIAPI EfiIp6Receive(IN EFI_IP6_PROTOCOL *This, IN EFI_IP6_COMPLETION_TOKEN *Token)
EFI_STATUS EFIAPI EfiIp6Transmit(IN EFI_IP6_PROTOCOL *This, IN EFI_IP6_COMPLETION_TOKEN *Token)
EFI_STATUS EFIAPI EfiIp6Routes(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 EfiIp6Poll(IN EFI_IP6_PROTOCOL *This)
EFI_STATUS Ip6Cancel(IN IP6_PROTOCOL *IpInstance, IN EFI_IP6_COMPLETION_TOKEN *Token OPTIONAL)
EFI_STATUS EFIAPI EfiIp6Neighbors(IN EFI_IP6_PROTOCOL *This, IN BOOLEAN DeleteFlag, IN EFI_IPv6_ADDRESS *TargetIp6Address, IN EFI_MAC_ADDRESS *TargetLinkAddress OPTIONAL, IN UINT32 Timeout, IN BOOLEAN Override)
EFI_STATUS Ip6CleanProtocol(IN OUT IP6_PROTOCOL *IpInstance)
EFI_STATUS EFIAPI EfiIp6Groups(IN EFI_IP6_PROTOCOL *This, IN BOOLEAN JoinFlag, IN EFI_IPv6_ADDRESS *GroupAddress OPTIONAL)
EFI_STATUS Ip6ServiceConfigMnp(IN IP6_SERVICE *IpSb, IN BOOLEAN Force)
VOID EFIAPI Ip6FreeTxToken(IN VOID *Context)
EFI_STATUS EFIAPI EfiIp6GetModeData(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)
VOID Ip6InitProtocol(IN IP6_SERVICE *IpSb, IN OUT IP6_PROTOCOL *IpInstance)
EFI_STATUS EFIAPI EfiIp6Configure(IN EFI_IP6_PROTOCOL *This, IN EFI_IP6_CONFIG_DATA *Ip6ConfigData OPTIONAL)
EFI_STATUS EFIAPI EfiIp6Cancel(IN EFI_IP6_PROTOCOL *This, IN EFI_IP6_COMPLETION_TOKEN *Token OPTIONAL)