1 /*++
2 
3 Copyright (c) 2004, Intel Corporation. All rights reserved.<BR>
4 This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution.  The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8 
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11 
12 Module Name:
13 
14     pxe.h
15 
16 Abstract:
17 
18     PXE 2.1 Common Structures
19 
20 Revision History
21 
22 --*/
23 
24 #ifndef _PXE_H
25 #define _PXE_H
26 
27 //
28 // Packet definitions
29 //
30 typedef struct {
31   UINT8   BootpOpcode;
32   UINT8   BootpHwType;
33   UINT8   BootpHwAddrLen;
34   UINT8   BootpGateHops;
35   UINT32  BootpIdent;
36   UINT16  BootpSeconds;
37   UINT16  BootpFlags;
38   UINT8   BootpCiAddr[4];
39   UINT8   BootpYiAddr[4];
40   UINT8   BootpSiAddr[4];
41   UINT8   BootpGiAddr[4];
42   UINT8   BootpHwAddr[16];
43   UINT8   BootpSrvName[64];
44   UINT8   BootpBootFile[128];
45   UINT32  DhcpMagik;
46   UINT8   DhcpOptions[56];
47 } EFI_PXE_BASE_CODE_DHCPV4_PACKET;
48 
49 typedef union {
50   UINT8                           Raw[1472];
51   EFI_PXE_BASE_CODE_DHCPV4_PACKET Dhcpv4;
52 
53   //
54   //  EFI_PXE_BASE_CODE_DHCPV6_PACKET     Dhcpv6;
55   //
56 } EFI_PXE_BASE_CODE_PACKET;
57 
58 #endif
59