#ifndef __EFI_DHCP6_IMPL_H__\r
#define __EFI_DHCP6_IMPL_H__\r
\r
-\r
#include <Uefi.h>\r
\r
#include <IndustryStandard/Dhcp.h>\r
#include <Library/PrintLib.h>\r
#include <Guid/ZeroGuid.h>\r
\r
-\r
-typedef struct _DHCP6_IA_CB DHCP6_IA_CB;\r
-typedef struct _DHCP6_INF_CB DHCP6_INF_CB;\r
-typedef struct _DHCP6_TX_CB DHCP6_TX_CB;\r
-typedef struct _DHCP6_SERVICE DHCP6_SERVICE;\r
-typedef struct _DHCP6_INSTANCE DHCP6_INSTANCE;\r
+typedef struct _DHCP6_IA_CB DHCP6_IA_CB;\r
+typedef struct _DHCP6_INF_CB DHCP6_INF_CB;\r
+typedef struct _DHCP6_TX_CB DHCP6_TX_CB;\r
+typedef struct _DHCP6_SERVICE DHCP6_SERVICE;\r
+typedef struct _DHCP6_INSTANCE DHCP6_INSTANCE;\r
\r
#include "Dhcp6Utility.h"\r
#include "Dhcp6Io.h"\r
#define DHCP6_SERVICE_SIGNATURE SIGNATURE_32 ('D', 'H', '6', 'S')\r
#define DHCP6_INSTANCE_SIGNATURE SIGNATURE_32 ('D', 'H', '6', 'I')\r
\r
-#define DHCP6_PACKET_ALL 0\r
-#define DHCP6_PACKET_STATEFUL 1\r
-#define DHCP6_PACKET_STATELESS 2\r
+#define DHCP6_PACKET_ALL 0\r
+#define DHCP6_PACKET_STATEFUL 1\r
+#define DHCP6_PACKET_STATELESS 2\r
\r
-#define DHCP6_BASE_PACKET_SIZE 1024\r
+#define DHCP6_BASE_PACKET_SIZE 1024\r
\r
-#define DHCP6_PORT_CLIENT 546\r
-#define DHCP6_PORT_SERVER 547\r
+#define DHCP6_PORT_CLIENT 546\r
+#define DHCP6_PORT_SERVER 547\r
\r
-#define DHCP_CHECK_MEDIA_WAITING_TIME EFI_TIMER_PERIOD_SECONDS(20)\r
+#define DHCP_CHECK_MEDIA_WAITING_TIME EFI_TIMER_PERIOD_SECONDS(20)\r
\r
-#define DHCP6_INSTANCE_FROM_THIS(Instance) CR ((Instance), DHCP6_INSTANCE, Dhcp6, DHCP6_INSTANCE_SIGNATURE)\r
-#define DHCP6_SERVICE_FROM_THIS(Service) CR ((Service), DHCP6_SERVICE, ServiceBinding, DHCP6_SERVICE_SIGNATURE)\r
+#define DHCP6_INSTANCE_FROM_THIS(Instance) CR ((Instance), DHCP6_INSTANCE, Dhcp6, DHCP6_INSTANCE_SIGNATURE)\r
+#define DHCP6_SERVICE_FROM_THIS(Service) CR ((Service), DHCP6_SERVICE, ServiceBinding, DHCP6_SERVICE_SIGNATURE)\r
\r
-extern EFI_IPv6_ADDRESS mAllDhcpRelayAndServersAddress;\r
-extern EFI_DHCP6_PROTOCOL gDhcp6ProtocolTemplate;\r
+extern EFI_IPv6_ADDRESS mAllDhcpRelayAndServersAddress;\r
+extern EFI_DHCP6_PROTOCOL gDhcp6ProtocolTemplate;\r
\r
//\r
// Control block for each IA.\r
//\r
struct _DHCP6_IA_CB {\r
- EFI_DHCP6_IA *Ia;\r
- UINT32 T1;\r
- UINT32 T2;\r
- UINT32 AllExpireTime;\r
- UINT32 LeaseTime;\r
+ EFI_DHCP6_IA *Ia;\r
+ UINT32 T1;\r
+ UINT32 T2;\r
+ UINT32 AllExpireTime;\r
+ UINT32 LeaseTime;\r
};\r
\r
//\r
// Control block for each transmitted message.\r
//\r
struct _DHCP6_TX_CB {\r
- LIST_ENTRY Link;\r
- UINT32 Xid;\r
- EFI_DHCP6_PACKET *TxPacket;\r
- EFI_DHCP6_RETRANSMISSION RetryCtl;\r
- UINT32 RetryCnt;\r
- UINT32 RetryExp;\r
- UINT32 RetryLos;\r
- UINT32 TickTime;\r
- UINT16 *Elapsed;\r
- BOOLEAN SolicitRetry;\r
+ LIST_ENTRY Link;\r
+ UINT32 Xid;\r
+ EFI_DHCP6_PACKET *TxPacket;\r
+ EFI_DHCP6_RETRANSMISSION RetryCtl;\r
+ UINT32 RetryCnt;\r
+ UINT32 RetryExp;\r
+ UINT32 RetryLos;\r
+ UINT32 TickTime;\r
+ UINT16 *Elapsed;\r
+ BOOLEAN SolicitRetry;\r
};\r
\r
//\r
// Control block for each info-request message.\r
//\r
struct _DHCP6_INF_CB {\r
- LIST_ENTRY Link;\r
- UINT32 Xid;\r
- EFI_DHCP6_INFO_CALLBACK ReplyCallback;\r
- VOID *CallbackContext;\r
- EFI_EVENT TimeoutEvent;\r
+ LIST_ENTRY Link;\r
+ UINT32 Xid;\r
+ EFI_DHCP6_INFO_CALLBACK ReplyCallback;\r
+ VOID *CallbackContext;\r
+ EFI_EVENT TimeoutEvent;\r
};\r
\r
//\r
// Control block for Dhcp6 instance, it's per configuration data.\r
//\r
struct _DHCP6_INSTANCE {\r
- UINT32 Signature;\r
- EFI_HANDLE Handle;\r
- DHCP6_SERVICE *Service;\r
- LIST_ENTRY Link;\r
- EFI_DHCP6_PROTOCOL Dhcp6;\r
- EFI_EVENT Timer;\r
- EFI_DHCP6_CONFIG_DATA *Config;\r
- EFI_DHCP6_IA *CacheIa;\r
- DHCP6_IA_CB IaCb;\r
- LIST_ENTRY TxList;\r
- LIST_ENTRY InfList;\r
- EFI_DHCP6_PACKET *AdSelect;\r
- UINT8 AdPref;\r
- EFI_IPv6_ADDRESS *Unicast;\r
- volatile EFI_STATUS UdpSts;\r
- BOOLEAN InDestroy;\r
- BOOLEAN MediaPresent;\r
+ UINT32 Signature;\r
+ EFI_HANDLE Handle;\r
+ DHCP6_SERVICE *Service;\r
+ LIST_ENTRY Link;\r
+ EFI_DHCP6_PROTOCOL Dhcp6;\r
+ EFI_EVENT Timer;\r
+ EFI_DHCP6_CONFIG_DATA *Config;\r
+ EFI_DHCP6_IA *CacheIa;\r
+ DHCP6_IA_CB IaCb;\r
+ LIST_ENTRY TxList;\r
+ LIST_ENTRY InfList;\r
+ EFI_DHCP6_PACKET *AdSelect;\r
+ UINT8 AdPref;\r
+ EFI_IPv6_ADDRESS *Unicast;\r
+ volatile EFI_STATUS UdpSts;\r
+ BOOLEAN InDestroy;\r
+ BOOLEAN MediaPresent;\r
//\r
// StartTime is used to calculate the 'elapsed-time' option. Refer to RFC3315,\r
// the elapsed-time is amount of time since the client began its current DHCP transaction.\r
//\r
- UINT64 StartTime;\r
+ UINT64 StartTime;\r
};\r
\r
//\r
// Control block for Dhcp6 service, it's per Nic handle.\r
//\r
struct _DHCP6_SERVICE {\r
- UINT32 Signature;\r
- EFI_HANDLE Controller;\r
- EFI_HANDLE Image;\r
- EFI_SERVICE_BINDING_PROTOCOL ServiceBinding;\r
- EFI_SIMPLE_NETWORK_PROTOCOL *Snp;\r
- EFI_IP6_CONFIG_PROTOCOL *Ip6Cfg;\r
- EFI_DHCP6_DUID *ClientId;\r
- UDP_IO *UdpIo;\r
- UINT32 Xid;\r
- LIST_ENTRY Child;\r
- UINTN NumOfChild;\r
+ UINT32 Signature;\r
+ EFI_HANDLE Controller;\r
+ EFI_HANDLE Image;\r
+ EFI_SERVICE_BINDING_PROTOCOL ServiceBinding;\r
+ EFI_SIMPLE_NETWORK_PROTOCOL *Snp;\r
+ EFI_IP6_CONFIG_PROTOCOL *Ip6Cfg;\r
+ EFI_DHCP6_DUID *ClientId;\r
+ UDP_IO *UdpIo;\r
+ UINT32 Xid;\r
+ LIST_ENTRY Child;\r
+ UINTN NumOfChild;\r
};\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
EfiDhcp6Start (\r
- IN EFI_DHCP6_PROTOCOL *This\r
+ IN EFI_DHCP6_PROTOCOL *This\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
EfiDhcp6Stop (\r
- IN EFI_DHCP6_PROTOCOL *This\r
+ IN EFI_DHCP6_PROTOCOL *This\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
EfiDhcp6GetModeData (\r
- IN EFI_DHCP6_PROTOCOL *This,\r
- OUT EFI_DHCP6_MODE_DATA *Dhcp6ModeData OPTIONAL,\r
- OUT EFI_DHCP6_CONFIG_DATA *Dhcp6ConfigData OPTIONAL\r
+ IN EFI_DHCP6_PROTOCOL *This,\r
+ OUT EFI_DHCP6_MODE_DATA *Dhcp6ModeData OPTIONAL,\r
+ OUT EFI_DHCP6_CONFIG_DATA *Dhcp6ConfigData OPTIONAL\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
EfiDhcp6Configure (\r
- IN EFI_DHCP6_PROTOCOL *This,\r
- IN EFI_DHCP6_CONFIG_DATA *Dhcp6CfgData OPTIONAL\r
+ IN EFI_DHCP6_PROTOCOL *This,\r
+ IN EFI_DHCP6_CONFIG_DATA *Dhcp6CfgData OPTIONAL\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
EfiDhcp6RenewRebind (\r
- IN EFI_DHCP6_PROTOCOL *This,\r
- IN BOOLEAN RebindRequest\r
+ IN EFI_DHCP6_PROTOCOL *This,\r
+ IN BOOLEAN RebindRequest\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
EfiDhcp6Decline (\r
- IN EFI_DHCP6_PROTOCOL *This,\r
- IN UINT32 AddressCount,\r
- IN EFI_IPv6_ADDRESS *Addresses\r
+ IN EFI_DHCP6_PROTOCOL *This,\r
+ IN UINT32 AddressCount,\r
+ IN EFI_IPv6_ADDRESS *Addresses\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
EfiDhcp6Release (\r
- IN EFI_DHCP6_PROTOCOL *This,\r
- IN UINT32 AddressCount,\r
- IN EFI_IPv6_ADDRESS *Addresses\r
+ IN EFI_DHCP6_PROTOCOL *This,\r
+ IN UINT32 AddressCount,\r
+ IN EFI_IPv6_ADDRESS *Addresses\r
);\r
\r
/**\r