#define EFI_PXE_DHCP4_PROTOCOL_GUID \\r
{ 0x03c4e624, 0xac28, 0x11d3, {0x9a, 0x2d, 0x00, 0x90, 0x29, 0x3f, 0xc1, 0x4d } }\r
\r
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
//\r
// Interface definition\r
//\r
-\r
typedef struct _EFI_PXE_DHCP4_PROTOCOL EFI_PXE_DHCP4_PROTOCOL;\r
\r
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
//\r
// Descriptions of the DHCP version 4 header and options can be found\r
// in RFC-2131 and RFC-2132 at www.ietf.org\r
//\r
-\r
#pragma pack(1)\r
typedef struct {\r
\r
} DHCP4_HEADER;\r
#pragma pack()\r
\r
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
//\r
// DHCPv4 packet definition. Room for 576 bytes including IP and\r
// UDP header.\r
//\r
-\r
#define DHCP4_MAX_PACKET_SIZE 576\r
#define DHCP4_UDP_HEADER_SIZE 8\r
#define DHCP4_IP_HEADER_SIZE 20\r
#define DHCP4_SERVER_PORT 67\r
#define DHCP4_CLIENT_PORT 68\r
\r
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
//\r
// DHCPv4 and PXE option numbers.\r
//\r
-\r
#define DHCP4_PAD 0\r
#define DHCP4_END 255\r
#define DHCP4_SUBNET_MASK 1\r
#define DHCP4_NETWORK_ARCHITECTURE 94\r
#define DHCP4_PLATFORM_ID 97\r
\r
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
-//\r
-// DHCP4 option format.\r
-//\r
-\r
#pragma pack(1)\r
typedef struct {\r
UINT8 op;\r
} DHCP4_OP;\r
#pragma pack()\r
\r
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
\r
typedef struct {\r
DHCP4_PACKET Discover;\r
BOOLEAN IsAck;\r
} EFI_PXE_DHCP4_DATA;\r
\r
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_PXE_DHCP4_RUN)(\r
IN OPTIONAL VOID *OpList\r
);\r
\r
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_PXE_DHCP4_SETUP)(\r
IN OPTIONAL EFI_PXE_DHCP4_DATA * NewData\r
);\r
\r
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_PXE_DHCP4_INIT)(\r
#define DHCP4_MIN_SECONDS 1\r
#define DHCP4_MAX_SECONDS 60\r
\r
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_PXE_DHCP4_SELECT)(\r
IN DHCP4_PACKET * offer\r
);\r
\r
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_PXE_DHCP4_RENEW)(\r
UINTN seconds_timeout\r
);\r
\r
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_PXE_DHCP4_REBIND)(\r
UINTN seconds_timeout\r
);\r
\r
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
typedef\r
EFI_STATUS\r
(EFIAPI *EFI_PXE_DHCP4_RELEASE)(\r
IN EFI_PXE_DHCP4_PROTOCOL * This\r
);\r
\r
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
-\r
#define EFI_PXE_DHCP4_PROTOCOL_REVISION 0x00010000\r
\r
struct _EFI_PXE_DHCP4_PROTOCOL {\r
EFI_PXE_DHCP4_DATA *Data;\r
};\r
\r
-//\r
-//\r
-//\r
-\r
extern EFI_GUID gEfiPxeDhcp4ProtocolGuid;\r
\r
-#endif /* _PXEDHCP4_H_ */\r
-/* EOF - PxeDhcp4.h */\r
+#endif\r