#ifndef __EFI_DHCP4_IMPL_H__\r
#define __EFI_DHCP4_IMPL_H__\r
\r
-\r
-\r
#include <Uefi.h>\r
\r
#include <Protocol/Dhcp4.h>\r
#include <Library/BaseLib.h>\r
#include <Library/NetLib.h>\r
\r
-typedef struct _DHCP_SERVICE DHCP_SERVICE;\r
-typedef struct _DHCP_PROTOCOL DHCP_PROTOCOL;\r
+typedef struct _DHCP_SERVICE DHCP_SERVICE;\r
+typedef struct _DHCP_PROTOCOL DHCP_PROTOCOL;\r
\r
#include "Dhcp4Option.h"\r
#include "Dhcp4Io.h"\r
#define DHCP_SERVICE_SIGNATURE SIGNATURE_32 ('D', 'H', 'C', 'P')\r
#define DHCP_PROTOCOL_SIGNATURE SIGNATURE_32 ('d', 'h', 'c', 'p')\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
//\r
// The state of the DHCP service. It starts as UNCONFIGED. If\r
// goes back to UNCONFIGED. It becomes DESTROY if it is (partly)\r
// destroyed.\r
//\r
-#define DHCP_UNCONFIGED 0\r
-#define DHCP_CONFIGED 1\r
-#define DHCP_DESTROY 2\r
-\r
+#define DHCP_UNCONFIGED 0\r
+#define DHCP_CONFIGED 1\r
+#define DHCP_DESTROY 2\r
\r
struct _DHCP_PROTOCOL {\r
- UINT32 Signature;\r
- EFI_DHCP4_PROTOCOL Dhcp4Protocol;\r
- LIST_ENTRY Link;\r
- EFI_HANDLE Handle;\r
- DHCP_SERVICE *Service;\r
-\r
- BOOLEAN InDestroy;\r
-\r
- EFI_EVENT CompletionEvent;\r
- EFI_EVENT RenewRebindEvent;\r
-\r
- EFI_DHCP4_TRANSMIT_RECEIVE_TOKEN *Token;\r
- UDP_IO *UdpIo; // The UDP IO used for TransmitReceive.\r
- UINT32 Timeout;\r
- UINT16 ElaspedTime;\r
- NET_BUF_QUEUE ResponseQueue;\r
+ UINT32 Signature;\r
+ EFI_DHCP4_PROTOCOL Dhcp4Protocol;\r
+ LIST_ENTRY Link;\r
+ EFI_HANDLE Handle;\r
+ DHCP_SERVICE *Service;\r
+\r
+ BOOLEAN InDestroy;\r
+\r
+ EFI_EVENT CompletionEvent;\r
+ EFI_EVENT RenewRebindEvent;\r
+\r
+ EFI_DHCP4_TRANSMIT_RECEIVE_TOKEN *Token;\r
+ UDP_IO *UdpIo; // The UDP IO used for TransmitReceive.\r
+ UINT32 Timeout;\r
+ UINT16 ElaspedTime;\r
+ NET_BUF_QUEUE ResponseQueue;\r
};\r
\r
//\r
// has a service binding, there can be only one active child.\r
//\r
struct _DHCP_SERVICE {\r
- UINT32 Signature;\r
- EFI_SERVICE_BINDING_PROTOCOL ServiceBinding;\r
+ UINT32 Signature;\r
+ EFI_SERVICE_BINDING_PROTOCOL ServiceBinding;\r
\r
- INTN ServiceState; // CONFIGED, UNCONFIGED, and DESTROY\r
+ INTN ServiceState; // CONFIGED, UNCONFIGED, and DESTROY\r
\r
- EFI_HANDLE Controller;\r
- EFI_HANDLE Image;\r
+ EFI_HANDLE Controller;\r
+ EFI_HANDLE Image;\r
\r
- LIST_ENTRY Children;\r
- UINTN NumChildren;\r
+ LIST_ENTRY Children;\r
+ UINTN NumChildren;\r
\r
- INTN DhcpState;\r
- EFI_STATUS IoStatus; // the result of last user operation\r
- UINT32 Xid;\r
+ INTN DhcpState;\r
+ EFI_STATUS IoStatus; // the result of last user operation\r
+ UINT32 Xid;\r
\r
- IP4_ADDR ClientAddr; // lease IP or configured client address\r
- IP4_ADDR Netmask;\r
- IP4_ADDR ServerAddr;\r
+ IP4_ADDR ClientAddr; // lease IP or configured client address\r
+ IP4_ADDR Netmask;\r
+ IP4_ADDR ServerAddr;\r
\r
- EFI_DHCP4_PACKET *LastOffer; // The last received offer\r
- EFI_DHCP4_PACKET *Selected;\r
- DHCP_PARAMETER *Para;\r
+ EFI_DHCP4_PACKET *LastOffer; // The last received offer\r
+ EFI_DHCP4_PACKET *Selected;\r
+ DHCP_PARAMETER *Para;\r
\r
- UINT32 Lease;\r
- UINT32 T1;\r
- UINT32 T2;\r
- INTN ExtraRefresh; // This refresh is reqested by user\r
+ UINT32 Lease;\r
+ UINT32 T1;\r
+ UINT32 T2;\r
+ INTN ExtraRefresh; // This refresh is reqested by user\r
\r
- UDP_IO *UdpIo; // Udp child receiving all DHCP message\r
- UDP_IO *LeaseIoPort; // Udp child with lease IP\r
- EFI_DHCP4_PACKET *LastPacket; // The last sent packet for retransmission\r
- EFI_MAC_ADDRESS Mac;\r
- UINT8 HwType;\r
- UINT8 HwLen;\r
- UINT8 ClientAddressSendOut[16];\r
+ UDP_IO *UdpIo; // Udp child receiving all DHCP message\r
+ UDP_IO *LeaseIoPort; // Udp child with lease IP\r
+ EFI_DHCP4_PACKET *LastPacket; // The last sent packet for retransmission\r
+ EFI_MAC_ADDRESS Mac;\r
+ UINT8 HwType;\r
+ UINT8 HwLen;\r
+ UINT8 ClientAddressSendOut[16];\r
\r
- DHCP_PROTOCOL *ActiveChild;\r
- EFI_DHCP4_CONFIG_DATA ActiveConfig;\r
- UINT32 UserOptionLen;\r
+ DHCP_PROTOCOL *ActiveChild;\r
+ EFI_DHCP4_CONFIG_DATA ActiveConfig;\r
+ UINT32 UserOptionLen;\r
\r
//\r
// Timer event and various timer\r
//\r
- EFI_EVENT Timer;\r
+ EFI_EVENT Timer;\r
\r
- UINT32 PacketToLive; // Retransmission timer for our packets\r
- UINT32 LastTimeout; // Record the init value of PacketToLive every time\r
- INTN CurRetry;\r
- INTN MaxRetries;\r
- UINT32 LeaseLife;\r
+ UINT32 PacketToLive; // Retransmission timer for our packets\r
+ UINT32 LastTimeout; // Record the init value of PacketToLive every time\r
+ INTN CurRetry;\r
+ INTN MaxRetries;\r
+ UINT32 LeaseLife;\r
};\r
\r
typedef struct {\r
- EFI_DHCP4_PACKET_OPTION **Option;\r
- UINT32 OptionCount;\r
- UINT32 Index;\r
+ EFI_DHCP4_PACKET_OPTION **Option;\r
+ UINT32 OptionCount;\r
+ UINT32 Index;\r
} DHCP_PARSE_CONTEXT;\r
\r
#define DHCP_INSTANCE_FROM_THIS(Proto) \\r
#define DHCP_SERVICE_FROM_THIS(Sb) \\r
CR ((Sb), DHCP_SERVICE, ServiceBinding, DHCP_SERVICE_SIGNATURE)\r
\r
-extern EFI_DHCP4_PROTOCOL mDhcp4ProtocolTemplate;\r
+extern EFI_DHCP4_PROTOCOL mDhcp4ProtocolTemplate;\r
\r
/**\r
Give up the control of the DHCP service to let other child\r
**/\r
VOID\r
DhcpYieldControl (\r
- IN DHCP_SERVICE *DhcpSb\r
+ IN DHCP_SERVICE *DhcpSb\r
);\r
\r
/**\r
VOID\r
EFIAPI\r
DhcpDummyExtFree (\r
- IN VOID *Arg\r
+ IN VOID *Arg\r
);\r
\r
/**\r
**/\r
VOID\r
SetElapsedTime (\r
- IN UINT16 *Elapsed,\r
- IN DHCP_PROTOCOL *Instance\r
+ IN UINT16 *Elapsed,\r
+ IN DHCP_PROTOCOL *Instance\r
);\r
\r
#endif\r