1 /*++
2 
3 Copyright (c) 2004 - 2006, 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   EfiPeOptionalHeader.h
15 
16 Abstract:
17   Defines the optional header in the PE image per the PE specification.  This
18   file must be included only from within EfiImage.h since
19   EFI_IMAGE_DATA_DIRECTORY and EFI_IMAGE_NUMBER_OF_DIRECTORY_ENTRIES are defined
20   there.
21 
22 --*/
23 
24 #ifndef _EFI_PE_OPTIONAL_HEADER_H_
25 #define _EFI_PE_OPTIONAL_HEADER_H_
26 
27 //
28 // This is just to make sure you can cross compile with the EBC compiiler.
29 // It does not make sense to have a PE loader coded in EBC. You need to
30 // understand the basic
31 //
32 #define EFI_IMAGE_MACHINE_TYPE (EFI_IMAGE_MACHINE_EBC)
33 
34 #define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_EBC)
35 
36 #define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE)
37 
38 //
39 // BUGBUG: Is this the correct magic for EBC?
40 //
41 #define EFI_IMAGE_NT_OPTIONAL_HDR_MAGIC EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC
42 
43 typedef EFI_IMAGE_OPTIONAL_HEADER32 EFI_IMAGE_OPTIONAL_HEADER;
44 typedef EFI_IMAGE_NT_HEADERS32      EFI_IMAGE_NT_HEADERS;
45 
46 #endif
47