NetworkPkg/Ip6Dxe/Ip6ConfigImpl.h File Reference


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)

Detailed Description

Definitions for EFI IPv6 Configuartion Protocol implementation.

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 Documentation

#define DATA_ATTRIB_SET ( Attrib,
Bits   )     (BOOLEAN)((Attrib) & (Bits))

#define DATA_ATTRIB_SIZE_FIXED   0x1

#define DATA_ATTRIB_VOLATILE   0x2

#define IP6_CONFIG_DEFAULT_DAD_XMITS   1

Referenced by Ip6ConfigInitInstance().

#define IP6_CONFIG_DHCP6_OPTION_DNS_SERVERS   23

#define IP6_CONFIG_DHCP6_OPTION_ORO   6

#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   ) 

#define IP6_CONFIG_INSTANCE_SIGNATURE   SIGNATURE_32 ('I', 'P', '6', 'C')

#define IP6_CONFIG_VARIABLE_ATTRIBUTE   (EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS)

#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   ) 

#define SET_DATA_ATTRIB ( Attrib,
Bits   )     ((Attrib) |= (Bits))

Referenced by Ip6ConfigInitInstance().


Typedef Documentation

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().

Parameters:
[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.
Return values:
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 EFI_STATUS(* IP6_CONFIG_SET_DATA)(IN IP6_CONFIG_INSTANCE *Instance, IN UINTN DataSize, IN VOID *Data)

The prototype of work function for EfiIp6ConfigSetData().

Parameters:
[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.
Return values:
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.


Function Documentation

VOID Ip6ConfigCleanInstance ( IN OUT IP6_CONFIG_INSTANCE Instance  ) 

Release an IP6_CONFIG_INSTANCE.

Parameters:
[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.

Parameters:
[in,out] Instance The buffer of IP6_CONFIG_INSTANCE to be freed.
Return values:
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  ) 

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.

Parameters:
[in] This Points to the EFI_DHCP6_PROTOCOL.
[in] Context The pointer to the IP6 configuration instance data.
[in] Packet The DHCPv6 reply packet.
Return values:
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.
The event process routine when the DHCPv6 server is answered with a reply packet for an information request.

Parameters:
[in] This Points to the EFI_DHCP6_PROTOCOL.
[in] Context The pointer to the IP6 configuration instance data.
[in] Packet The DHCPv6 reply packet.
Return values:
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.

Parameters:
[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.
Return values:
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().


Generated on Mon Sep 28 08:49:05 2015 for NetworkPkg[ALL] by  doxygen 1.5.7.1