11#ifndef __IP4_CONFIG2_IMPL_H__
12#define __IP4_CONFIG2_IMPL_H__
14#define IP4_CONFIG2_INSTANCE_SIGNATURE SIGNATURE_32 ('I', 'P', 'C', '2')
15#define IP4_FORM_CALLBACK_INFO_SIGNATURE SIGNATURE_32 ('I', 'F', 'C', 'I')
17#define IP4_CONFIG2_VARIABLE_ATTRIBUTE (EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS)
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))
24#define REMOVE_DATA_ATTRIB(Attrib, Bits) ((Attrib) &= (~Bits))
28#define IP4_CONFIG2_INSTANCE_FROM_PROTOCOL(Proto) \
30 IP4_CONFIG2_INSTANCE, \
32 IP4_CONFIG2_INSTANCE_SIGNATURE \
35#define IP4_SERVICE_FROM_IP4_CONFIG2_INSTANCE(Instance) \
39 IP4_SERVICE_SIGNATURE \
42#define IP4_CONFIG2_INSTANCE_FROM_FORM_CALLBACK(Callback) \
44 IP4_CONFIG2_INSTANCE, \
46 IP4_CONFIG2_INSTANCE_SIGNATURE \
49#define IP4_FORM_CALLBACK_INFO_FROM_CONFIG_ACCESS(ConfigAccess) \
51 IP4_FORM_CALLBACK_INFO, \
52 HiiConfigAccessProtocol, \
53 IP4_FORM_CALLBACK_INFO_SIGNATURE \
141 UINT16 DataRecordCount;
182 BOOLEAN OtherInfoOnly;
184 UINT32 FailedIaAddressCount;
186 UINT32 DeclineAddressCount;
EFI_IP4_CONFIG2_DATA_TYPE
EFI_STATUS Ip4Config2ReadConfigData(IN CHAR16 *VarName, IN OUT IP4_CONFIG2_INSTANCE *Instance)
EFI_STATUS Ip4Config2InitInstance(OUT IP4_CONFIG2_INSTANCE *Instance)
EFI_STATUS Ip4Config2DestroyDhcp4(IN OUT IP4_CONFIG2_INSTANCE *Instance)
EFI_STATUS(* IP4_CONFIG2_SET_DATA)(IN IP4_CONFIG2_INSTANCE *Instance, IN UINTN DataSize, IN VOID *Data)
EFI_STATUS(* IP4_CONFIG2_GET_DATA)(IN IP4_CONFIG2_INSTANCE *Instance, IN OUT UINTN *DataSize, IN VOID *Data OPTIONAL)
VOID Ip4Config2CleanInstance(IN OUT IP4_CONFIG2_INSTANCE *Instance)
VOID EFIAPI Ip4AutoReconfigCallBack(IN EFI_EVENT Event, IN VOID *Context)
EFI_STATUS Ip4StartAutoConfig(IN IP4_CONFIG2_INSTANCE *Instance)
EFI_IP4_CONFIG2_MANUAL_ADDRESS * ManualAddress
IP addresses.
EFI_IPv4_ADDRESS * DnsAddress
DNS server address.
UINT32 ManualAddressCount
IP addresses count.
UINT32 DnsAddressCount
DNS server address count.
EFI_IP4_CONFIG2_POLICY Policy
manual or automatic
EFI_IPv4_ADDRESS * GatewayAddress
Gateway address.
UINT32 GatewayAddressCount
Gateway address count.