]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/UefiPxeBcDxe/PxeBcDhcp4.h
Revert "DebugUsb3: Fix GCC build failures"
[mirror_edk2.git] / NetworkPkg / UefiPxeBcDxe / PxeBcDhcp4.h
index 248dc60d2c165ade18a2968e31247799f78d47fb..27794c911a128e3b1f752c2a792c9c9373b704ea 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Functions declaration related with DHCPv4 for UefiPxeBc Driver.\r
 \r
-  Copyright (c) 2009 - 2015, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.<BR>\r
 \r
   This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
@@ -18,7 +18,7 @@
 \r
 #define PXEBC_DHCP4_OPTION_MAX_NUM         16\r
 #define PXEBC_DHCP4_OPTION_MAX_SIZE        312\r
-#define PXEBC_DHCP4_PACKET_MAX_SIZE        1472\r
+#define PXEBC_DHCP4_PACKET_MAX_SIZE        (sizeof (EFI_PXE_BASE_CODE_PACKET))\r
 #define PXEBC_DHCP4_S_PORT                 67\r
 #define PXEBC_DHCP4_C_PORT                 68\r
 #define PXEBC_BS_DOWNLOAD_PORT             69\r
 #define PXEBC_DHCP4_MSG_TYPE_REQUEST       3\r
 #define PXEBC_DHCP4_MAGIC                  0x63538263 // network byte order\r
 \r
-//\r
-// Dhcp Options\r
-//\r
-#define PXEBC_DHCP4_TAG_PAD                0    // Pad Option\r
-#define PXEBC_DHCP4_TAG_EOP                255  // End Option\r
-#define PXEBC_DHCP4_TAG_NETMASK            1    // Subnet Mask\r
-#define PXEBC_DHCP4_TAG_TIME_OFFSET        2    // Time Offset from UTC\r
-#define PXEBC_DHCP4_TAG_ROUTER             3    // Router option,\r
-#define PXEBC_DHCP4_TAG_TIME_SERVER        4    // Time Server\r
-#define PXEBC_DHCP4_TAG_NAME_SERVER        5    // Name Server\r
-#define PXEBC_DHCP4_TAG_DNS_SERVER         6    // Domain Name Server\r
-#define PXEBC_DHCP4_TAG_HOSTNAME           12   // Host Name\r
-#define PXEBC_DHCP4_TAG_BOOTFILE_LEN       13   // Boot File Size\r
-#define PXEBC_DHCP4_TAG_DUMP               14   // Merit Dump File\r
-#define PXEBC_DHCP4_TAG_DOMAINNAME         15   // Domain Name\r
-#define PXEBC_DHCP4_TAG_ROOTPATH           17   // Root path\r
-#define PXEBC_DHCP4_TAG_EXTEND_PATH        18   // Extensions Path\r
-#define PXEBC_DHCP4_TAG_EMTU               22   // Maximum Datagram Reassembly Size\r
-#define PXEBC_DHCP4_TAG_TTL                23   // Default IP Time-to-live\r
-#define PXEBC_DHCP4_TAG_BROADCAST          28   // Broadcast Address\r
-#define PXEBC_DHCP4_TAG_NIS_DOMAIN         40   // Network Information Service Domain\r
-#define PXEBC_DHCP4_TAG_NIS_SERVER         41   // Network Information Servers\r
-#define PXEBC_DHCP4_TAG_NTP_SERVER         42   // Network Time Protocol Servers\r
-#define PXEBC_DHCP4_TAG_VENDOR             43   // Vendor Specific Information\r
-#define PXEBC_DHCP4_TAG_REQUEST_IP         50   // Requested IP Address\r
-#define PXEBC_DHCP4_TAG_LEASE              51   // IP Address Lease Time\r
-#define PXEBC_DHCP4_TAG_OVERLOAD           52   // Option Overload\r
-#define PXEBC_DHCP4_TAG_MSG_TYPE           53   // DHCP Message Type\r
-#define PXEBC_DHCP4_TAG_SERVER_ID          54   // Server Identifier\r
-#define PXEBC_DHCP4_TAG_PARA_LIST          55   // Parameter Request List\r
-#define PXEBC_DHCP4_TAG_MAXMSG             57   // Maximum DHCP Message Size\r
-#define PXEBC_DHCP4_TAG_T1                 58   // Renewal (T1) Time Value\r
-#define PXEBC_DHCP4_TAG_T2                 59   // Rebinding (T2) Time Value\r
-#define PXEBC_DHCP4_TAG_CLASS_ID           60   // Vendor class identifier\r
-#define PXEBC_DHCP4_TAG_CLIENT_ID          61   // Client-identifier\r
-#define PXEBC_DHCP4_TAG_TFTP               66   // TFTP server name\r
-#define PXEBC_DHCP4_TAG_BOOTFILE           67   // Bootfile name\r
-#define PXEBC_PXE_DHCP4_TAG_ARCH           93\r
-#define PXEBC_PXE_DHCP4_TAG_UNDI           94\r
-#define PXEBC_PXE_DHCP4_TAG_UUID           97\r
 //\r
 // Sub-Options in Dhcp Vendor Option\r
 //\r
@@ -303,10 +263,12 @@ typedef struct {
   UINT8                 CredTypeLen;\r
 } PXEBC_VENDOR_OPTION;\r
 \r
+#define PXEBC_CACHED_DHCP4_PACKET_MAX_SIZE  (OFFSET_OF (EFI_DHCP4_PACKET, Dhcp4) + PXEBC_DHCP4_PACKET_MAX_SIZE)\r
+\r
 typedef union {\r
   EFI_DHCP4_PACKET        Offer;\r
   EFI_DHCP4_PACKET        Ack;\r
-  UINT8                   Buffer[PXEBC_DHCP4_PACKET_MAX_SIZE];\r
+  UINT8                   Buffer[PXEBC_CACHED_DHCP4_PACKET_MAX_SIZE];\r
 } PXEBC_DHCP4_PACKET;\r
 \r
 typedef struct {\r