xref: /DragonStub/inc/efi.h (revision 5e85f477fb95734aa34184d1c38928001519d177)
1530d68baSNigel Croxon /*++
2530d68baSNigel Croxon 
3530d68baSNigel Croxon Copyright (c) 1998  Intel Corporation
4530d68baSNigel Croxon 
5530d68baSNigel Croxon Module Name:
6530d68baSNigel Croxon 
7530d68baSNigel Croxon     efi.h
8530d68baSNigel Croxon 
9530d68baSNigel Croxon Abstract:
10530d68baSNigel Croxon 
11530d68baSNigel Croxon     Public EFI header files
12530d68baSNigel Croxon 
13530d68baSNigel Croxon 
14530d68baSNigel Croxon 
15530d68baSNigel Croxon Revision History
16530d68baSNigel Croxon 
17530d68baSNigel Croxon --*/
18530d68baSNigel Croxon 
19751cbce3SNigel Croxon 
20751cbce3SNigel Croxon // Add a predefined macro to detect usage of the library
21751cbce3SNigel Croxon #ifndef _GNU_EFI
22751cbce3SNigel Croxon #define _GNU_EFI
23751cbce3SNigel Croxon #endif
24751cbce3SNigel Croxon 
25530d68baSNigel Croxon //
26530d68baSNigel Croxon // Build flags on input
27530d68baSNigel Croxon //  EFI32
28530d68baSNigel Croxon //  EFI_DEBUG               - Enable debugging code
29530d68baSNigel Croxon //  EFI_NT_EMULATOR         - Building for running under NT
30530d68baSNigel Croxon //
31530d68baSNigel Croxon 
32530d68baSNigel Croxon 
33530d68baSNigel Croxon #ifndef _EFI_INCLUDE_
34530d68baSNigel Croxon #define _EFI_INCLUDE_
35530d68baSNigel Croxon 
36*5e85f477SCallum Farmer #ifdef __cplusplus
37*5e85f477SCallum Farmer extern "C" {
38*5e85f477SCallum Farmer #endif
39*5e85f477SCallum Farmer 
40530d68baSNigel Croxon #define EFI_FIRMWARE_VENDOR         L"INTEL"
41530d68baSNigel Croxon #define EFI_FIRMWARE_MAJOR_REVISION 12
42530d68baSNigel Croxon #define EFI_FIRMWARE_MINOR_REVISION 33
43530d68baSNigel Croxon #define EFI_FIRMWARE_REVISION ((EFI_FIRMWARE_MAJOR_REVISION <<16) | (EFI_FIRMWARE_MINOR_REVISION))
44530d68baSNigel Croxon 
45b1c7a1c5SPete Batard #if defined(_M_X64) || defined(__x86_64__) || defined(__amd64__)
46b1c7a1c5SPete Batard #include "x86_64/efibind.h"
47b1c7a1c5SPete Batard #elif defined(_M_IX86) || defined(__i386__)
48b1c7a1c5SPete Batard #include "ia32/efibind.h"
49b1c7a1c5SPete Batard #elif defined(_M_IA64) || defined(__ia64__)
50b1c7a1c5SPete Batard #include "ia64/efibind.h"
51b1c7a1c5SPete Batard #elif defined (_M_ARM64) || defined(__aarch64__)
52b1c7a1c5SPete Batard #include "aarch64/efibind.h"
53b1c7a1c5SPete Batard #elif defined (_M_ARM) || defined(__arm__)
54b1c7a1c5SPete Batard #include "arm/efibind.h"
556b285635SFabrice Fontaine #elif defined (_M_MIPS64) || defined(__mips64__) || defined(__mips64)
56b1c7a1c5SPete Batard #include "mips64el/efibind.h"
57b95f138fSHeinrich Schuchardt #elif defined (__riscv) && __riscv_xlen == 64
58b95f138fSHeinrich Schuchardt #include "riscv64/efibind.h"
59e7db4418Szhoumingtao #elif defined (__loongarch64)
60e7db4418Szhoumingtao #include "loongarch64/efibind.h"
61b1c7a1c5SPete Batard #else
62b1c7a1c5SPete Batard #error Usupported architecture
63b1c7a1c5SPete Batard #endif
64b1c7a1c5SPete Batard 
655ff74ecaSNigel Croxon #include "eficompiler.h"
66530d68baSNigel Croxon #include "efidef.h"
67530d68baSNigel Croxon #include "efidevp.h"
68530d68baSNigel Croxon #include "efipciio.h"
69530d68baSNigel Croxon #include "efiprot.h"
70530d68baSNigel Croxon #include "eficon.h"
71b82e6b6fSKagurazaka Kotori #include "eficonex.h"
72530d68baSNigel Croxon #include "efiser.h"
73530d68baSNigel Croxon #include "efi_nii.h"
74530d68baSNigel Croxon #include "efipxebc.h"
75530d68baSNigel Croxon #include "efinet.h"
76530d68baSNigel Croxon #include "efiapi.h"
77530d68baSNigel Croxon #include "efifs.h"
78530d68baSNigel Croxon #include "efierr.h"
79530d68baSNigel Croxon #include "efiui.h"
80530d68baSNigel Croxon #include "efiip.h"
81530d68baSNigel Croxon #include "efiudp.h"
82530d68baSNigel Croxon #include "efitcp.h"
83530d68baSNigel Croxon #include "efipoint.h"
842b26c811SJiaqing Zhao #include "efishell.h"
85530d68baSNigel Croxon 
86*5e85f477SCallum Farmer #ifdef __cplusplus
87*5e85f477SCallum Farmer }
88*5e85f477SCallum Farmer #endif
89*5e85f477SCallum Farmer 
90530d68baSNigel Croxon #endif
91