RFC 1534: Interoperation Between DHCP and BOOTP\r
RFC 3396: Encoding Long Options in DHCP.\r
\r
-Copyright (c) 2006 - 2008, Intel Corporation.<BR>\r
+Copyright (c) 2006 - 2009, Intel Corporation.<BR>\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
#define DHCP_SERVICE_SIGNATURE SIGNATURE_32 ('D', 'H', 'C', 'P')\r
#define DHCP_PROTOCOL_SIGNATURE SIGNATURE_32 ('d', 'h', 'c', 'p')\r
\r
-typedef enum {\r
- //\r
- // The state of the DHCP service. It starts as UNCONFIGED. If\r
- // and active child configures the service successfully, it\r
- // goes to CONFIGED. If the active child configures NULL, it\r
- // goes back to UNCONFIGED. It becomes DESTORY if it is (partly)\r
- // destoried.\r
- //\r
- DHCP_UNCONFIGED = 0,\r
- DHCP_CONFIGED,\r
- DHCP_DESTORY\r
-} DHCP_STATE;\r
+\r
+//\r
+// The state of the DHCP service. It starts as UNCONFIGED. If\r
+// and active child configures the service successfully, it\r
+// goes to CONFIGED. If the active child configures NULL, it\r
+// goes back to UNCONFIGED. It becomes DESTORY if it is (partly)\r
+// destoried.\r
+//\r
+#define DHCP_UNCONFIGED 0\r
+#define DHCP_CONFIGED 1\r
+#define DHCP_DESTORY 2\r
+\r
\r
struct _DHCP_PROTOCOL {\r
UINT32 Signature;\r
EFI_EVENT RenewRebindEvent;\r
\r
EFI_DHCP4_TRANSMIT_RECEIVE_TOKEN *Token;\r
- UDP_IO_PORT *UdpIo; // The UDP IO used for TransmitReceive.\r
+ UDP_IO *UdpIo; // The UDP IO used for TransmitReceive.\r
UINT32 Timeout;\r
NET_BUF_QUEUE ResponseQueue;\r
};\r
UINT32 T2;\r
INTN ExtraRefresh; // This refresh is reqested by user\r
\r
- UDP_IO_PORT *UdpIo; // Udp child receiving all DHCP message\r
- UDP_IO_PORT *LeaseIoPort; // Udp child with lease IP\r
- NET_BUF *LastPacket; // The last sent packet for retransmission\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
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