10#ifndef __IP6_CONFIG_IMPL_H__
11#define __IP6_CONFIG_IMPL_H__
13#define IP6_CONFIG_INSTANCE_SIGNATURE SIGNATURE_32 ('I', 'P', '6', 'C')
14#define IP6_FORM_CALLBACK_INFO_SIGNATURE SIGNATURE_32 ('I', 'F', 'C', 'I')
15#define IP6_CONFIG_VARIABLE_ATTRIBUTE (EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS)
17#define IP6_CONFIG_DEFAULT_DAD_XMITS 1
19#define DATA_ATTRIB_SIZE_FIXED 0x1
20#define DATA_ATTRIB_VOLATILE 0x2
22#define DATA_ATTRIB_SET(Attrib, Bits) (BOOLEAN)((Attrib) & (Bits))
23#define SET_DATA_ATTRIB(Attrib, Bits) ((Attrib) |= (Bits))
27#define IP6_CONFIG_INSTANCE_FROM_PROTOCOL(Proto) \
29 IP6_CONFIG_INSTANCE, \
31 IP6_CONFIG_INSTANCE_SIGNATURE \
34#define IP6_CONFIG_INSTANCE_FROM_FORM_CALLBACK(Callback) \
36 IP6_CONFIG_INSTANCE, \
38 IP6_CONFIG_INSTANCE_SIGNATURE \
41#define IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE(Instance) \
45 IP6_SERVICE_SIGNATURE \
48#define IP6_FORM_CALLBACK_INFO_FROM_CONFIG_ACCESS(ConfigAccess) \
50 IP6_FORM_CALLBACK_INFO, \
52 IP6_FORM_CALLBACK_INFO_SIGNATURE \
146 UINT16 DataRecordCount;
198 BOOLEAN OtherInfoOnly;
201 UINT32 FailedIaAddressCount;
203 UINT32 DeclineAddressCount;
264 IN BOOLEAN OtherInfoOnly
@ Ip6ConfigDataTypeMaximum
EFI_STATUS(* IP6_CONFIG_SET_DATA)(IN IP6_CONFIG_INSTANCE *Instance, IN UINTN DataSize, IN VOID *Data)
EFI_STATUS EFIAPI Ip6ConfigOnDhcp6Reply(IN EFI_DHCP6_PROTOCOL *This, IN VOID *Context, IN EFI_DHCP6_PACKET *Packet)
EFI_STATUS(* IP6_CONFIG_GET_DATA)(IN IP6_CONFIG_INSTANCE *Instance, IN OUT UINTN *DataSize, IN VOID *Data OPTIONAL)
VOID Ip6ConfigCleanInstance(IN OUT IP6_CONFIG_INSTANCE *Instance)
EFI_STATUS Ip6ConfigStartStatefulAutoConfig(IN IP6_CONFIG_INSTANCE *Instance, IN BOOLEAN OtherInfoOnly)
EFI_STATUS Ip6ConfigInitInstance(OUT IP6_CONFIG_INSTANCE *Instance)
EFI_STATUS Ip6ConfigDestroyDhcp6(IN OUT IP6_CONFIG_INSTANCE *Instance)
EFI_STATUS Ip6ConfigReadConfigData(IN CHAR16 *VarName, IN OUT IP6_CONFIG_INSTANCE *Instance)
EFI_IP6_CONFIG_DUP_ADDR_DETECT_TRANSMITS DadTransmitCount
dad transmits count
UINT32 ManualAddressCount
IP addresses count.
LIST_ENTRY DnsAddress
DNS server address.
UINT32 GatewayAddressCount
Gateway address count.
LIST_ENTRY GatewayAddress
Gateway address.
EFI_IP6_CONFIG_INTERFACE_ID InterfaceId
alternative interface id
LIST_ENTRY ManualAddress
IP addresses.
EFI_IP6_CONFIG_POLICY Policy
manual or automatic
UINT32 DnsAddressCount
DNS server address count.