UEFI Dynamic Host Configuration Protocol 6 Definition, which is used to get IPv6\r
addresses and other configuration parameters from DHCPv6 servers.\r
\r
-Copyright (c) 2008 - 2009, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+ Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.<BR>\r
+ This program and the accompanying materials \r
+ are licensed and made available under the terms and conditions of the BSD License \r
+ which accompanies this distribution. The full text of the license may be found at \r
+ http://opensource.org/licenses/bsd-license.php \r
+ \r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+ @par Revision Reference: \r
+ This Protocol is introduced in UEFI Specification 2.2\r
\r
**/\r
\r
#define EFI_DHCP6_IA_TYPE_TA 4\r
\r
#pragma pack(1)\r
+///\r
+/// EFI_DHCP6_PACKET_OPTION\r
+/// defines the format of the DHCPv6 option, See RFC 3315 for more information.\r
+/// This data structure is used to reference option data that is packed in the DHCPv6 packet. \r
+///\r
typedef struct {\r
///\r
- /// The DHCPv6 option code.\r
+ /// The DHCPv6 option code, stored in network order.\r
///\r
UINT16 OpCode;\r
///\r
- /// Length of the DHCPv6 option data. From the first byte to the last byte of the Data field.\r
+ /// Length of the DHCPv6 option data, stored in network order.\r
+ /// From the first byte to the last byte of the Data field.\r
///\r
UINT16 OpLen;\r
///\r
- /// The data for the DHCPv6 option.\r
+ /// The data for the DHCPv6 option, stored in network order.\r
///\r
UINT8 Data[1];\r
} EFI_DHCP6_PACKET_OPTION;\r
\r
+///\r
+/// EFI_DHCP6_HEADER\r
+/// defines the format of the DHCPv6 header. See RFC 3315 for more information. \r
+///\r
typedef struct{\r
///\r
/// The DHCPv6 transaction ID.\r
UINT32 TransactionId:24;\r
} EFI_DHCP6_HEADER;\r
\r
+///\r
+/// EFI_DHCP6_PACKET \r
+/// defines the format of the DHCPv6 packet. See RFC 3315 for more information.\r
+///\r
typedef struct {\r
///\r
/// Size of the EFI_DHCP6_PACKET buffer.\r
**/\r
typedef \r
EFI_STATUS \r
-(*EFI_DHCP6_CALLBACK)(\r
+(EFIAPI *EFI_DHCP6_CALLBACK)(\r
IN EFI_DHCP6_PROTOCOL *This,\r
IN VOID *Context,\r
IN EFI_DHCP6_STATE CurrentState,\r
**/\r
typedef\r
EFI_STATUS\r
-(*EFI_DHCP6_INFO_CALLBACK)(\r
+(EFIAPI *EFI_DHCP6_INFO_CALLBACK)(\r
IN EFI_DHCP6_PROTOCOL *This,\r
IN VOID *Context,\r
IN EFI_DHCP6_PACKET *Packet\r
@retval EFI_NO_MAPPING No IPv6 address has been bound to the configured IA after the \r
DHCPv6 S.A.R.R process.\r
@retval EFI_ABORTED The DHCPv6 S.A.R.R process aborted by user.\r
+ @retval EFI_NO_MEDIA There was a media error.\r
\r
**/\r
typedef \r