Data Structures | |
union | IP6_CONFIG_DATA |
struct | IP6_CONFIG_DATA_ITEM |
struct | IP6_CONFIG_DATA_RECORD |
struct | IP6_CONFIG_VARIABLE |
struct | IP6_ADDRESS_INFO_ENTRY |
struct | IP6_CONFIG_NVDATA |
struct | _IP6_FORM_CALLBACK_INFO |
struct | _IP6_CONFIG_INSTANCE |
Defines | |
#define | IP6_CONFIG_INSTANCE_SIGNATURE SIGNATURE_32 ('I', 'P', '6', 'C') |
#define | IP6_FORM_CALLBACK_INFO_SIGNATURE SIGNATURE_32 ('I', 'F', 'C', 'I') |
#define | IP6_CONFIG_VARIABLE_ATTRIBUTE (EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS) |
#define | IP6_CONFIG_DEFAULT_DAD_XMITS 1 |
#define | IP6_CONFIG_DHCP6_OPTION_ORO 6 |
#define | IP6_CONFIG_DHCP6_OPTION_DNS_SERVERS 23 |
#define | DATA_ATTRIB_SIZE_FIXED 0x1 |
#define | DATA_ATTRIB_VOLATILE 0x2 |
#define | DATA_ATTRIB_SET(Attrib, Bits) (BOOLEAN)((Attrib) & (Bits)) |
#define | SET_DATA_ATTRIB(Attrib, Bits) ((Attrib) |= (Bits)) |
#define | IP6_CONFIG_INSTANCE_FROM_PROTOCOL(Proto) |
#define | IP6_CONFIG_INSTANCE_FROM_FORM_CALLBACK(Callback) |
#define | IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE(Instance) |
#define | IP6_FORM_CALLBACK_INFO_FROM_CONFIG_ACCESS(ConfigAccess) |
Typedefs | |
typedef struct _IP6_CONFIG_INSTANCE | IP6_CONFIG_INSTANCE |
typedef EFI_STATUS(* | IP6_CONFIG_SET_DATA )(IN IP6_CONFIG_INSTANCE *Instance, IN UINTN DataSize, IN VOID *Data) |
typedef EFI_STATUS(* | IP6_CONFIG_GET_DATA )(IN IP6_CONFIG_INSTANCE *Instance, IN OUT UINTN *DataSize, IN VOID *Data) |
typedef struct _IP6_FORM_CALLBACK_INFO | IP6_FORM_CALLBACK_INFO |
Functions | |
EFI_STATUS EFIAPI | Ip6ConfigOnDhcp6Reply (IN EFI_DHCP6_PROTOCOL *This, IN VOID *Context, IN EFI_DHCP6_PACKET *Packet) |
EFI_STATUS | Ip6ConfigStartStatefulAutoConfig (IN IP6_CONFIG_INSTANCE *Instance, IN BOOLEAN OtherInfoOnly) |
EFI_STATUS | Ip6ConfigInitInstance (OUT IP6_CONFIG_INSTANCE *Instance) |
VOID | Ip6ConfigCleanInstance (IN OUT IP6_CONFIG_INSTANCE *Instance) |
EFI_STATUS | Ip6ConfigDestroyDhcp6 (IN OUT IP6_CONFIG_INSTANCE *Instance) |
Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which 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.
#define DATA_ATTRIB_SET | ( | Attrib, | |||
Bits | ) | (BOOLEAN)((Attrib) & (Bits)) |
Referenced by Ip6ConfigCleanInstance(), Ip6ConfigReadConfigData(), and Ip6ConfigWriteConfigData().
#define DATA_ATTRIB_SIZE_FIXED 0x1 |
Referenced by Ip6ConfigCleanInstance(), Ip6ConfigInitInstance(), and Ip6ConfigReadConfigData().
#define DATA_ATTRIB_VOLATILE 0x2 |
Referenced by Ip6ConfigInitInstance(), and Ip6ConfigWriteConfigData().
#define IP6_CONFIG_DEFAULT_DAD_XMITS 1 |
Referenced by Ip6ConfigInitInstance().
#define IP6_CONFIG_DHCP6_OPTION_DNS_SERVERS 23 |
Referenced by Ip6ConfigParseDhcpReply(), Ip6ConfigStartStatefulAutoConfig(), and Ip6OnDADFinished().
#define IP6_CONFIG_DHCP6_OPTION_ORO 6 |
Referenced by Ip6ConfigStartStatefulAutoConfig(), and Ip6OnDADFinished().
#define IP6_CONFIG_INSTANCE_FROM_FORM_CALLBACK | ( | Callback | ) |
Value:
CR ((Callback), \ IP6_CONFIG_INSTANCE, \ CallbackInfo, \ IP6_CONFIG_INSTANCE_SIGNATURE \ )
Referenced by Ip6FormCallback(), and Ip6FormExtractConfig().
#define IP6_CONFIG_INSTANCE_FROM_PROTOCOL | ( | Proto | ) |
Value:
CR ((Proto), \ IP6_CONFIG_INSTANCE, \ Ip6Config, \ IP6_CONFIG_INSTANCE_SIGNATURE \ )
Referenced by EfiIp6ConfigGetData(), EfiIp6ConfigRegisterDataNotify(), EfiIp6ConfigSetData(), and EfiIp6ConfigUnregisterDataNotify().
#define IP6_CONFIG_INSTANCE_SIGNATURE SIGNATURE_32 ('I', 'P', '6', 'C') |
#define IP6_CONFIG_VARIABLE_ATTRIBUTE (EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS) |
Referenced by Ip6ConfigReadConfigData(), and Ip6ConfigWriteConfigData().
#define IP6_FORM_CALLBACK_INFO_FROM_CONFIG_ACCESS | ( | ConfigAccess | ) |
Value:
CR ((ConfigAccess), \ IP6_FORM_CALLBACK_INFO, \ HiiConfigAccess, \ IP6_FORM_CALLBACK_INFO_SIGNATURE \ )
Referenced by Ip6FormCallback(), and Ip6FormExtractConfig().
#define IP6_FORM_CALLBACK_INFO_SIGNATURE SIGNATURE_32 ('I', 'F', 'C', 'I') |
Referenced by Ip6ConfigFormInit().
#define IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE | ( | Instance | ) |
Value:
CR ((Instance), \ IP6_SERVICE, \ Ip6ConfigInstance, \ IP6_SERVICE_SIGNATURE \ )
Referenced by EfiIp6ConfigSetData(), Ip6ConfigDestroyDhcp6(), Ip6ConfigFormInit(), Ip6ConfigFormUnload(), Ip6ConfigGetIfInfo(), Ip6ConfigInitInstance(), Ip6ConfigOnDhcp6Event(), Ip6ConfigSetGateway(), Ip6ConfigSetMaunualAddress(), Ip6ConfigSetPolicy(), Ip6ConfigStartStatefulAutoConfig(), and Ip6ManualAddrDadCallback().
#define SET_DATA_ATTRIB | ( | Attrib, | |||
Bits | ) | ((Attrib) |= (Bits)) |
Referenced by Ip6ConfigInitInstance().
typedef EFI_STATUS(* IP6_CONFIG_GET_DATA)(IN IP6_CONFIG_INSTANCE *Instance, IN OUT UINTN *DataSize, IN VOID *Data) |
The prototype of work function for EfiIp6ConfigGetData().
[in] | Instance | The pointer to the IP6 config instance data. |
[in,out] | DataSize | On input, in bytes, the size of Data. On output, in bytes, the size of buffer required to store the specified configuration data. |
[in] | Data | The data buffer in which the configuration data is returned. Ignored if DataSize is ZERO. |
EFI_BUFFER_TOO_SMALL | The size of Data is too small for the specified configuration data, and the required size is returned in DataSize. | |
EFI_SUCCESS | The specified configuration data was obtained successfully. |
typedef struct _IP6_CONFIG_INSTANCE IP6_CONFIG_INSTANCE |
typedef EFI_STATUS(* IP6_CONFIG_SET_DATA)(IN IP6_CONFIG_INSTANCE *Instance, IN UINTN DataSize, IN VOID *Data) |
The prototype of work function for EfiIp6ConfigSetData().
[in] | Instance | The pointer to the IP6 config instance data. |
[in] | DataSize | In bytes, the size of the buffer pointed to by Data. |
[in] | Data | The data buffer to set. |
EFI_BAD_BUFFER_SIZE | The DataSize does not match the size of the type, 8 bytes. | |
EFI_SUCCESS | The specified configuration data for the EFI IPv6 network stack was set successfully. |
typedef struct _IP6_FORM_CALLBACK_INFO IP6_FORM_CALLBACK_INFO |
VOID Ip6ConfigCleanInstance | ( | IN OUT IP6_CONFIG_INSTANCE * | Instance | ) |
Release an IP6_CONFIG_INSTANCE.
[in,out] | Instance | The buffer of IP6_CONFIG_INSTANCE to be freed. |
References IP6_CONFIG_DATA_ITEM::Attribute, IP6_CONFIG_DATA_ITEM::Data, DATA_ATTRIB_SET, DATA_ATTRIB_SIZE_FIXED, IP6_CONFIG_DATA_ITEM::DataSize, Ip6ConfigDestroyDhcp6(), Ip6ConfigFormUnload(), and IP6_CONFIG_DATA::Ptr.
Referenced by Ip6CleanService().
EFI_STATUS Ip6ConfigDestroyDhcp6 | ( | IN OUT IP6_CONFIG_INSTANCE * | Instance | ) |
Destroy the Dhcp6 child in IP6_CONFIG_INSTANCE and release the resources.
[in,out] | Instance | The buffer of IP6_CONFIG_INSTANCE to be freed. |
EFI_SUCCESS | The child was successfully destroyed. | |
Others | Failed to destroy the child. |
References _IP6_SERVICE::Controller, _IP6_SERVICE::Image, and IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE.
Referenced by Ip6ConfigCleanInstance(), Ip6ConfigSetPolicy(), and Ip6DriverBindingStop().
EFI_STATUS Ip6ConfigInitInstance | ( | OUT IP6_CONFIG_INSTANCE * | Instance | ) |
Initialize an IP6_CONFIG_INSTANCE.
[out] | Instance | The buffer of IP6_CONFIG_INSTANCE to be initialized. |
EFI_OUT_OF_RESOURCES | Failed to allocate resources to complete the operation. | |
EFI_SUCCESS | The IP6_CONFIG_INSTANCE initialized successfully. |
References IP6_CONFIG_DATA_ITEM::Attribute, IP6_CONFIG_DATA_ITEM::Data, DATA_ATTRIB_SIZE_FIXED, DATA_ATTRIB_VOLATILE, IP6_CONFIG_DATA_ITEM::DataSize, EfiIp6ConfigGetData(), EfiIp6ConfigRegisterDataNotify(), EfiIp6ConfigSetData(), EfiIp6ConfigUnregisterDataNotify(), IP6_CONFIG_DATA_ITEM::GetData, _IP6_CONFIG_INSTANCE::IfIndex, IP6_CONFIG_DEFAULT_DAD_XMITS, IP6_CONFIG_INSTANCE_SIGNATURE, IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE, Ip6ConfigFormInit(), Ip6ConfigGetIfInfo(), Ip6ConfigInitIfInfo(), Ip6ConfigOnDhcp6Event(), Ip6ConfigReadConfigData(), Ip6ConfigSetAltIfId(), Ip6ConfigSetDadXmits(), Ip6ConfigSetDnsServer(), Ip6ConfigSetGateway(), Ip6ConfigSetMaunualAddress(), Ip6ConfigSetPolicy(), Ip6ConfigWriteConfigData(), _IP6_ADDRESS_INFO::Link, _IP6_SERVICE::MacString, mIp6ConfigInstanceList, IP6_CONFIG_DATA::Ptr, SET_DATA_ATTRIB, IP6_CONFIG_DATA_ITEM::SetData, _IP6_SERVICE::SnpMode, and IP6_CONFIG_DATA_ITEM::Status.
Referenced by Ip6CreateService().
EFI_STATUS EFIAPI Ip6ConfigOnDhcp6Reply | ( | IN EFI_DHCP6_PROTOCOL * | This, | |
IN VOID * | Context, | |||
IN EFI_DHCP6_PACKET * | Packet | |||
) |
The event process routine when the DHCPv6 server is answered with a reply packet for an information request.
[in] | This | Points to the EFI_DHCP6_PROTOCOL. |
[in] | Context | The pointer to the IP6 configuration instance data. |
[in] | Packet | The DHCPv6 reply packet. |
EFI_SUCCESS | The DNS server address was retrieved from the reply packet. | |
EFI_NOT_READY | The reply packet does not contain the DNS server option, or the DNS server address is not valid. |
[in] | This | Points to the EFI_DHCP6_PROTOCOL. |
[in] | Context | The pointer to the IP6 configuration instance data. |
[in] | Packet | The DHCPv6 reply packet. |
EFI_SUCCESS | The DNS server address was retrieved from the reply packet. | |
EFI_NOT_READY | The reply packet does not contain the DNS server option, or the DNS server address is not valid. |
References Ip6ConfigParseDhcpReply().
Referenced by Ip6ConfigStartStatefulAutoConfig(), and Ip6OnDADFinished().
EFI_STATUS Ip6ConfigStartStatefulAutoConfig | ( | IN IP6_CONFIG_INSTANCE * | Instance, | |
IN BOOLEAN | OtherInfoOnly | |||
) |
The work function to trigger the DHCPv6 process to perform a stateful autoconfiguration.
[in] | Instance | Pointer to the IP6 config instance data. |
[in] | OtherInfoOnly | If FALSE, get stateful address and other information via DHCPv6. Otherwise, only get the other information. |
EFI_SUCCESS | The operation finished successfully. | |
EFI_UNSUPPORTED | The DHCP6 driver is not available. |
References _IP6_SERVICE::Controller, _IP6_SERVICE::Dhcp6NeedInfoRequest, _IP6_SERVICE::Dhcp6NeedStart, _IP6_SERVICE::Image, IP6_CONFIG_DHCP6_OPTION_DNS_SERVERS, IP6_CONFIG_DHCP6_OPTION_ORO, IP6_SERVICE_FROM_IP6_CONFIG_INSTANCE, Ip6ConfigOnDhcp6Reply(), Ip6ConfigOnDhcp6SbInstalled(), and _IP6_SERVICE::LinkLocalOk.
Referenced by Ip6ConfigOnDhcp6SbInstalled(), and Ip6ProcessRouterAdvertise().