/// The EFI DHCPv6 Protocol instance is configured, and start() needs\r
/// to be called\r
///\r
- Dhcp6Init = 0x0,\r
+ Dhcp6Init = 0x0,\r
///\r
/// A Solicit packet is sent out to discover DHCPv6 server, and the EFI\r
/// DHCPv6 Protocol instance is collecting Advertise packets.\r
///\r
- Dhcp6Selecting = 0x1,\r
+ Dhcp6Selecting = 0x1,\r
///\r
/// A Request is sent out to the DHCPv6 server, and the EFI DHCPv6\r
/// Protocol instance is waiting for Reply packet.\r
///\r
- Dhcp6Requesting = 0x2,\r
+ Dhcp6Requesting = 0x2,\r
///\r
/// A Decline packet is sent out to indicate one or more addresses of the\r
/// configured IA are in use by another node, and the EFI DHCPv6.\r
/// Protocol instance is waiting for Reply packet.\r
///\r
- Dhcp6Declining = 0x3,\r
+ Dhcp6Declining = 0x3,\r
///\r
/// A Confirm packet is sent out to confirm the IPv6 addresses of the\r
/// configured IA, and the EFI DHCPv6 Protocol instance is waiting for Reply packet.\r
///\r
- Dhcp6Confirming = 0x4,\r
+ Dhcp6Confirming = 0x4,\r
///\r
/// A Release packet is sent out to release one or more IPv6 addresses of\r
/// the configured IA, and the EFI DHCPv6 Protocol instance is waiting for Reply packet.\r
///\r
- Dhcp6Releasing = 0x5,\r
+ Dhcp6Releasing = 0x5,\r
///\r
/// The DHCPv6 S.A.R.R process is completed for the configured IA.\r
///\r
- Dhcp6Bound = 0x6,\r
+ Dhcp6Bound = 0x6,\r
///\r
/// A Renew packet is sent out to extend lifetime for the IPv6 addresses of\r
/// the configured IA, and the EFI DHCPv6 Protocol instance is waiting for Reply packet.\r
///\r
- Dhcp6Renewing = 0x7,\r
+ Dhcp6Renewing = 0x7,\r
///\r
/// A Rebind packet is sent out to extend lifetime for the IPv6 addresses of\r
/// the configured IA, and the EFI DHCPv6 Protocol instance is waiting for Reply packet.\r
///\r
- Dhcp6Rebinding = 0x8\r
+ Dhcp6Rebinding = 0x8\r
} EFI_DHCP6_STATE;\r
\r
typedef enum {\r
/// A Solicit packet is about to be sent. The packet is passed to Dhcp6Callback and\r
/// can be modified or replaced in Dhcp6Callback.\r
///\r
- Dhcp6SendSolicit = 0x0,\r
+ Dhcp6SendSolicit = 0x0,\r
///\r
/// An Advertise packet is received and will be passed to Dhcp6Callback.\r
///\r
- Dhcp6RcvdAdvertise = 0x1,\r
+ Dhcp6RcvdAdvertise = 0x1,\r
///\r
/// It is time for Dhcp6Callback to determine whether select the default Advertise\r
/// packet by RFC 3315 policy, or overwrite it by specific user policy.\r
///\r
- Dhcp6SelectAdvertise = 0x2,\r
+ Dhcp6SelectAdvertise = 0x2,\r
///\r
/// A Request packet is about to be sent. The packet is passed to Dhcp6Callback and\r
/// can be modified or replaced in Dhcp6Callback.\r
///\r
- Dhcp6SendRequest = 0x3,\r
+ Dhcp6SendRequest = 0x3,\r
///\r
/// A Reply packet is received and will be passed to Dhcp6Callback.\r
///\r
- Dhcp6RcvdReply = 0x4,\r
+ Dhcp6RcvdReply = 0x4,\r
///\r
/// A Reconfigure packet is received and will be passed to Dhcp6Callback.\r
///\r
- Dhcp6RcvdReconfigure = 0x5,\r
+ Dhcp6RcvdReconfigure = 0x5,\r
///\r
/// A Decline packet is about to be sent. The packet is passed to Dhcp6Callback and\r
/// can be modified or replaced in Dhcp6Callback.\r
///\r
- Dhcp6SendDecline = 0x6,\r
+ Dhcp6SendDecline = 0x6,\r
///\r
/// A Confirm packet is about to be sent. The packet is passed to Dhcp6Callback and\r
/// can be modified or replaced in Dhcp6Callback.\r
///\r
- Dhcp6SendConfirm = 0x7,\r
+ Dhcp6SendConfirm = 0x7,\r
///\r
/// A Release packet is about to be sent. The packet is passed to Dhcp6Callback and\r
/// can be modified or replaced in Dhcp6Callback.\r
///\r
- Dhcp6SendRelease = 0x8,\r
+ Dhcp6SendRelease = 0x8,\r
///\r
/// A Renew packet is about to be sent. The packet is passed to Dhcp6Callback and\r
/// can be modified or replaced in Dhcp6Callback.\r
///\r
- Dhcp6EnterRenewing = 0x9,\r
+ Dhcp6EnterRenewing = 0x9,\r
///\r
/// A Rebind packet is about to be sent. The packet is passed to Dhcp6Callback and\r
/// can be modified or replaced in Dhcp6Callback.\r
///\r
- Dhcp6EnterRebinding = 0xa\r
+ Dhcp6EnterRebinding = 0xa\r
} EFI_DHCP6_EVENT;\r
\r
///\r
/// An IA which carries assigned not temporary address.\r
///\r
-#define EFI_DHCP6_IA_TYPE_NA 3\r
+#define EFI_DHCP6_IA_TYPE_NA 3\r
///\r
/// An IA which carries assigned temporary address.\r
///\r
-#define EFI_DHCP6_IA_TYPE_TA 4\r
+#define EFI_DHCP6_IA_TYPE_TA 4\r
\r
#pragma pack(1)\r
///\r
///\r
/// The DHCPv6 option code, stored in network order.\r
///\r
- UINT16 OpCode;\r
+ UINT16 OpCode;\r
///\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
+ UINT16 OpLen;\r
///\r
/// The data for the DHCPv6 option, stored in network order.\r
///\r
- UINT8 Data[1];\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
+typedef struct {\r
///\r
/// The DHCPv6 transaction ID.\r
///\r
- UINT32 MessageType:8;\r
+ UINT32 MessageType : 8;\r
///\r
/// The DHCPv6 message type.\r
///\r
- UINT32 TransactionId:24;\r
+ UINT32 TransactionId : 24;\r
} EFI_DHCP6_HEADER;\r
\r
///\r
///\r
/// Size of the EFI_DHCP6_PACKET buffer.\r
///\r
- UINT32 Size;\r
+ UINT32 Size;\r
///\r
/// Length of the EFI_DHCP6_PACKET from the first byte of the Header field to the last\r
/// byte of the Option[] field.\r
///\r
- UINT32 Length;\r
- struct{\r
+ UINT32 Length;\r
+ struct {\r
///\r
/// The DHCPv6 packet header.\r
///\r
- EFI_DHCP6_HEADER Header;\r
+ EFI_DHCP6_HEADER Header;\r
///\r
/// Start of the DHCPv6 packed option data.\r
///\r
- UINT8 Option[1];\r
+ UINT8 Option[1];\r
} Dhcp6;\r
} EFI_DHCP6_PACKET;\r
\r
///\r
/// Length of DUID in octects.\r
///\r
- UINT16 Length;\r
+ UINT16 Length;\r
///\r
/// Array of DUID octects.\r
///\r
- UINT8 Duid[1];\r
+ UINT8 Duid[1];\r
} EFI_DHCP6_DUID;\r
\r
typedef struct {\r
///\r
/// Initial retransmission timeout.\r
///\r
- UINT32 Irt;\r
+ UINT32 Irt;\r
///\r
/// Maximum retransmission count for one packet. If Mrc is zero, there's no upper limit\r
/// for retransmission count.\r
///\r
- UINT32 Mrc;\r
+ UINT32 Mrc;\r
///\r
/// Maximum retransmission timeout for each retry. It's the upper bound of the number of\r
/// retransmission timeout. If Mrt is zero, there is no upper limit for retransmission\r
/// timeout.\r
///\r
- UINT32 Mrt;\r
+ UINT32 Mrt;\r
///\r
/// Maximum retransmission duration for one packet. It's the upper bound of the numbers\r
/// the client may retransmit a message. If Mrd is zero, there's no upper limit for\r
/// retransmission duration.\r
///\r
- UINT32 Mrd;\r
+ UINT32 Mrd;\r
} EFI_DHCP6_RETRANSMISSION;\r
\r
typedef struct {\r
///\r
/// The IPv6 address.\r
///\r
- EFI_IPv6_ADDRESS IpAddress;\r
+ EFI_IPv6_ADDRESS IpAddress;\r
///\r
/// The preferred lifetime in unit of seconds for the IPv6 address.\r
///\r
- UINT32 PreferredLifetime;\r
+ UINT32 PreferredLifetime;\r
///\r
/// The valid lifetime in unit of seconds for the IPv6 address.\r
///\r
- UINT32 ValidLifetime;\r
+ UINT32 ValidLifetime;\r
} EFI_DHCP6_IA_ADDRESS;\r
\r
typedef struct {\r
- UINT16 Type; ///< Type for an IA.\r
- UINT32 IaId; ///< The identifier for an IA.\r
+ UINT16 Type; ///< Type for an IA.\r
+ UINT32 IaId; ///< The identifier for an IA.\r
} EFI_DHCP6_IA_DESCRIPTOR;\r
\r
typedef struct {\r
///\r
/// The descriptor for IA.\r
///\r
- EFI_DHCP6_IA_DESCRIPTOR Descriptor;\r
+ EFI_DHCP6_IA_DESCRIPTOR Descriptor;\r
///\r
/// The state of the configured IA.\r
///\r
- EFI_DHCP6_STATE State;\r
+ EFI_DHCP6_STATE State;\r
///\r
/// Pointer to the cached latest Reply packet. May be NULL if no packet is cached.\r
///\r
- EFI_DHCP6_PACKET *ReplyPacket;\r
+ EFI_DHCP6_PACKET *ReplyPacket;\r
///\r
/// Number of IPv6 addresses of the configured IA.\r
///\r
- UINT32 IaAddressCount;\r
+ UINT32 IaAddressCount;\r
///\r
/// List of the IPv6 addresses of the configured IA. When the state of the configured IA is\r
/// in Dhcp6Bound, Dhcp6Renewing and Dhcp6Rebinding, the IPv6 addresses are usable.\r
///\r
- EFI_DHCP6_IA_ADDRESS IaAddress[1];\r
+ EFI_DHCP6_IA_ADDRESS IaAddress[1];\r
} EFI_DHCP6_IA;\r
\r
typedef struct {\r
///\r
/// Pointer to the DHCPv6 unique identifier. The caller is responsible for freeing this buffer.\r
///\r
- EFI_DHCP6_DUID *ClientId;\r
+ EFI_DHCP6_DUID *ClientId;\r
///\r
/// Pointer to the configured IA of current instance. The caller can free this buffer after\r
/// using it.\r
///\r
- EFI_DHCP6_IA *Ia;\r
+ EFI_DHCP6_IA *Ia;\r
} EFI_DHCP6_MODE_DATA;\r
\r
/**\r
/// The callback function is to intercept various events that occur in the DHCPv6 S.A.R.R\r
/// process. Set to NULL to ignore all those events.\r
///\r
- EFI_DHCP6_CALLBACK Dhcp6Callback;\r
+ EFI_DHCP6_CALLBACK Dhcp6Callback;\r
///\r
/// Pointer to the context that will be passed to Dhcp6Callback.\r
///\r
- VOID *CallbackContext;\r
+ VOID *CallbackContext;\r
///\r
/// Number of the DHCPv6 options in the OptionList.\r
///\r
- UINT32 OptionCount;\r
+ UINT32 OptionCount;\r
///\r
/// List of the DHCPv6 options to be included in Solicit and Request packet. The buffer\r
/// can be freed after EFI_DHCP6_PROTOCOL.Configure() returns. Ignored if\r
/// and any IA option, which will be appended by EFI DHCPv6 Protocol instance\r
/// automatically.\r
///\r
- EFI_DHCP6_PACKET_OPTION **OptionList;\r
+ EFI_DHCP6_PACKET_OPTION **OptionList;\r
///\r
/// The descriptor for the IA of the EFI DHCPv6 Protocol instance.\r
///\r
- EFI_DHCP6_IA_DESCRIPTOR IaDescriptor;\r
+ EFI_DHCP6_IA_DESCRIPTOR IaDescriptor;\r
///\r
/// If not NULL, the event will be signaled when any IPv6 address information of the\r
/// configured IA is updated, including IPv6 address, preferred lifetime and valid\r
/// renewrebind(), decline(), release() and stop() will be blocking\r
/// operations, and they will wait for the exchange process completion or failure.\r
///\r
- EFI_EVENT IaInfoEvent;\r
+ EFI_EVENT IaInfoEvent;\r
///\r
/// If TRUE, the EFI DHCPv6 Protocol instance is willing to accept Reconfigure packet.\r
/// Otherwise, it will ignore it. Reconfigure Accept option can not be specified through\r
/// OptionList parameter.\r
///\r
- BOOLEAN ReconfigureAccept;\r
+ BOOLEAN ReconfigureAccept;\r
///\r
/// If TRUE, the EFI DHCPv6 Protocol instance will send Solicit packet with Rapid\r
/// Commit option. Otherwise, Rapid Commit option will not be included in Solicit\r
/// packet. Rapid Commit option can not be specified through OptionList parameter.\r
///\r
- BOOLEAN RapidCommit;\r
+ BOOLEAN RapidCommit;\r
///\r
/// Parameter to control Solicit packet retransmission behavior. The\r
/// buffer can be freed after EFI_DHCP6_PROTOCOL.Configure() returns.\r
///\r
- EFI_DHCP6_RETRANSMISSION *SolicitRetransmission;\r
+ EFI_DHCP6_RETRANSMISSION *SolicitRetransmission;\r
} EFI_DHCP6_CONFIG_DATA;\r
\r
/**\r
IN EFI_DHCP6_PACKET *Packet,\r
IN OUT UINT32 *OptionCount,\r
OUT EFI_DHCP6_PACKET_OPTION *PacketOptionList[] OPTIONAL\r
-);\r
+ );\r
\r
///\r
/// The EFI DHCPv6 Protocol is used to get IPv6 addresses and other configuration parameters\r
/// from DHCPv6 servers.\r
///\r
struct _EFI_DHCP6_PROTOCOL {\r
- EFI_DHCP6_GET_MODE_DATA GetModeData;\r
- EFI_DHCP6_CONFIGURE Configure;\r
- EFI_DHCP6_START Start;\r
- EFI_DHCP6_INFO_REQUEST InfoRequest;\r
- EFI_DHCP6_RENEW_REBIND RenewRebind;\r
- EFI_DHCP6_DECLINE Decline;\r
- EFI_DHCP6_RELEASE Release;\r
- EFI_DHCP6_STOP Stop;\r
- EFI_DHCP6_PARSE Parse;\r
+ EFI_DHCP6_GET_MODE_DATA GetModeData;\r
+ EFI_DHCP6_CONFIGURE Configure;\r
+ EFI_DHCP6_START Start;\r
+ EFI_DHCP6_INFO_REQUEST InfoRequest;\r
+ EFI_DHCP6_RENEW_REBIND RenewRebind;\r
+ EFI_DHCP6_DECLINE Decline;\r
+ EFI_DHCP6_RELEASE Release;\r
+ EFI_DHCP6_STOP Stop;\r
+ EFI_DHCP6_PARSE Parse;\r
};\r
\r
-extern EFI_GUID gEfiDhcp6ProtocolGuid;\r
-extern EFI_GUID gEfiDhcp6ServiceBindingProtocolGuid;\r
+extern EFI_GUID gEfiDhcp6ProtocolGuid;\r
+extern EFI_GUID gEfiDhcp6ServiceBindingProtocolGuid;\r
\r
#endif\r