13 #ifndef __EFI_DHCP6_PROTOCOL_H__ 14 #define __EFI_DHCP6_PROTOCOL_H__ 18 #define EFI_DHCP6_PROTOCOL_GUID \ 20 0x87c8bad7, 0x595, 0x4053, {0x82, 0x97, 0xde, 0xde, 0x39, 0x5f, 0x5d, 0x5b } \ 23 #define EFI_DHCP6_SERVICE_BINDING_PROTOCOL_GUID \ 25 0x9fb9a8a1, 0x2f4a, 0x43a6, {0x88, 0x9c, 0xd0, 0xf7, 0xb6, 0xc4, 0x7a, 0xd5 } \ 136 #define EFI_DHCP6_IA_TYPE_NA 3 140 #define EFI_DHCP6_IA_TYPE_TA 4 A Reconfigure packet is received and will be passed to Dhcp6Callback.
#define OPTIONAL
Passing the datum to the function is optional, and a NULL is passed if the value is not supplied.
A Decline packet is about to be sent.
A Release packet is about to be sent.
EFI_DHCP6_INFO_REQUEST InfoRequest
A Confirm packet is about to be sent.
A Request packet is about to be sent.
UINT32 Irt
Initial retransmission timeout.
UINT32 OptionCount
Number of the DHCPv6 options in the OptionList.
UINT16 OpCode
The DHCPv6 option code, stored in network order.
FILE_LICENCE(BSD2_PATENT)
BOOLEAN RapidCommit
If TRUE, the EFI DHCPv6 Protocol instance will send Solicit packet with Rapid Commit option.
The DHCPv6 S.A.R.R process is completed for the configured IA.
EFI_IPv6_ADDRESS IpAddress
The IPv6 address.
EFI_DHCP6_PACKET_OPTION ** OptionList
List of the DHCPv6 options to be included in Solicit and Request packet.
128 bit buffer containing a unique identifier value.
EFI_DHCP6_IA_DESCRIPTOR IaDescriptor
The descriptor for the IA of the EFI DHCPv6 Protocol instance.
VOID * EFI_EVENT
Handle to an event structure.
EFI_DHCP6_IA_DESCRIPTOR Descriptor
The descriptor for IA.
UINT32 Size
Size of the EFI_DHCP6_PACKET buffer.
EFI_GUID gEfiDhcp6ServiceBindingProtocolGuid
A Release packet is sent out to release one or more IPv6 addresses of the configured IA,...
UINT32 ValidLifetime
The valid lifetime in unit of seconds for the IPv6 address.
EFI_DHCP6_PACKET_OPTION defines the format of the DHCPv6 option, See RFC 3315 for more information.
EFI_STATUS(EFIAPI * EFI_DHCP6_INFO_REQUEST)(IN EFI_DHCP6_PROTOCOL *This, IN BOOLEAN SendClientId, IN EFI_DHCP6_PACKET_OPTION *OptionRequest, IN UINT32 OptionCount, IN EFI_DHCP6_PACKET_OPTION *OptionList[] OPTIONAL, IN EFI_DHCP6_RETRANSMISSION *Retransmission, IN EFI_EVENT TimeoutEvent OPTIONAL, IN EFI_DHCP6_INFO_CALLBACK ReplyCallback, IN VOID *CallbackContext OPTIONAL)
Request configuration information without the assignment of any IA addresses of the client.
EFI_DHCP6_RENEW_REBIND RenewRebind
A Rebind packet is about to be sent.
A Renew packet is sent out to extend lifetime for the IPv6 addresses of the configured IA,...
A Reply packet is received and will be passed to Dhcp6Callback.
EFI_DHCP6_CONFIGURE Configure
EFI_STATUS(EFIAPI * EFI_DHCP6_GET_MODE_DATA)(IN EFI_DHCP6_PROTOCOL *This, OUT EFI_DHCP6_MODE_DATA *Dhcp6ModeData OPTIONAL, OUT EFI_DHCP6_CONFIG_DATA *Dhcp6ConfigData OPTIONAL)
Retrieve the current operating mode data and configuration data for the EFI DHCPv6 Protocol instance.
EFI_DHCP6_RELEASE Release
EFI_DHCP6_DUID * ClientId
Pointer to the DHCPv6 unique identifier.
It is time for Dhcp6Callback to determine whether select the default Advertise packet by RFC 3315 pol...
UINT16 Length
Length of DUID in octects.
An Advertise packet is received and will be passed to Dhcp6Callback.
EFI_STATUS(EFIAPI * EFI_DHCP6_DECLINE)(IN EFI_DHCP6_PROTOCOL *This, IN UINT32 AddressCount, IN EFI_IPv6_ADDRESS *Addresses)
Inform that one or more IPv6 addresses assigned by a server are already in use by another node.
UINT32 IaId
The identifier for an IA.
EFI_STATUS(EFIAPI * EFI_DHCP6_INFO_CALLBACK)(IN EFI_DHCP6_PROTOCOL *This, IN VOID *Context, IN EFI_DHCP6_PACKET *Packet)
EFI_DHCP6_INFO_CALLBACK is provided by the consumer of the EFI DHCPv6 Protocol instance to intercept ...
UINT32 Mrc
Maximum retransmission count for one packet.
EFI_DHCP6_PACKET * ReplyPacket
Pointer to the cached latest Reply packet.
UINT32 IaAddressCount
Number of IPv6 addresses of the configured IA.
EFI_STATUS(EFIAPI * EFI_DHCP6_RELEASE)(IN EFI_DHCP6_PROTOCOL *This, IN UINT32 AddressCount, IN EFI_IPv6_ADDRESS *Addresses)
Release one or more IPv6 addresses associated with the configured IA for current instance.
A Renew packet is about to be sent.
EFI_DHCP6_DECLINE Decline
BOOLEAN ReconfigureAccept
If TRUE, the EFI DHCPv6 Protocol instance is willing to accept Reconfigure packet.
A Confirm packet is sent out to confirm the IPv6 addresses of the configured IA, and the EFI DHCPv6 P...
EFI_STATUS(EFIAPI * EFI_DHCP6_PARSE)(IN EFI_DHCP6_PROTOCOL *This, IN EFI_DHCP6_PACKET *Packet, IN OUT UINT32 *OptionCount, OUT EFI_DHCP6_PACKET_OPTION *PacketOptionList[] OPTIONAL)
Parse the option data in the DHCPv6 packet.
EFI_STATUS(EFIAPI * EFI_DHCP6_STOP)(IN EFI_DHCP6_PROTOCOL *This)
Stop the DHCPv6 S.A.R.R process.
#define VOID
Undeclared type.
A Solicit packet is sent out to discover DHCPv6 server, and the EFI DHCPv6 Protocol instance is colle...
A Request is sent out to the DHCPv6 server, and the EFI DHCPv6 Protocol instance is waiting for Reply...
The EFI DHCPv6 Protocol is used to get IPv6 addresses and other configuration parameters from DHCPv6 ...
EFI_DHCP6_CALLBACK Dhcp6Callback
The callback function is to intercept various events that occur in the DHCPv6 S.A....
EFI_STATUS(EFIAPI * EFI_DHCP6_RENEW_REBIND)(IN EFI_DHCP6_PROTOCOL *This, IN BOOLEAN RebindRequest)
Manually extend the valid and preferred lifetimes for the IPv6 addresses of the configured IA and upd...
The EFI DHCPv6 Protocol instance is configured, and start() needs to be called.
A Decline packet is sent out to indicate one or more addresses of the configured IA are in use by ano...
EFI_EVENT IaInfoEvent
If not NULL, the event will be signaled when any IPv6 address information of the configured IA is upd...
UINT32 Length
Length of the EFI_DHCP6_PACKET from the first byte of the Header field to the last byte of the Option...
A Rebind packet is sent out to extend lifetime for the IPv6 addresses of the configured IA,...
EFI_DHCP6_GET_MODE_DATA GetModeData
RETURN_STATUS EFI_STATUS
Function return status for EFI API.
UINT32 Mrt
Maximum retransmission timeout for each retry.
EFI_DHCP6_RETRANSMISSION * SolicitRetransmission
Parameter to control Solicit packet retransmission behavior.
UINT16 OpLen
Length of the DHCPv6 option data, stored in network order.
EFI_DHCP6_STATE State
The state of the configured IA.
EFI_STATUS(EFIAPI * EFI_DHCP6_START)(IN EFI_DHCP6_PROTOCOL *This)
Start the DHCPv6 S.A.R.R process.
UINT32 PreferredLifetime
The preferred lifetime in unit of seconds for the IPv6 address.
EFI_DHCP6_HEADER Header
The DHCPv6 packet header.
EFI_STATUS(EFIAPI * EFI_DHCP6_CALLBACK)(IN EFI_DHCP6_PROTOCOL *This, IN VOID *Context, IN EFI_DHCP6_STATE CurrentState, IN EFI_DHCP6_EVENT Dhcp6Event, IN EFI_DHCP6_PACKET *Packet, OUT EFI_DHCP6_PACKET **NewPacket OPTIONAL)
EFI_DHCP6_CALLBACK is provided by the consumer of the EFI DHCPv6 Protocol instance to intercept event...
EFI_DHCP6_IA * Ia
Pointer to the configured IA of current instance.
EFI_STATUS(EFIAPI * EFI_DHCP6_CONFIGURE)(IN EFI_DHCP6_PROTOCOL *This, IN EFI_DHCP6_CONFIG_DATA *Dhcp6CfgData OPTIONAL)
Initialize or clean up the configuration data for the EFI DHCPv6 Protocol instance.
UINT16 Type
Type for an IA.
A Solicit packet is about to be sent.
EFI_DHCP6_PACKET defines the format of the DHCPv6 packet.
EFI_GUID gEfiDhcp6ProtocolGuid
UINT32 Mrd
Maximum retransmission duration for one packet.
VOID * CallbackContext
Pointer to the context that will be passed to Dhcp6Callback.