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