1 /******************************************************************************
3 * Name: acefiex.h - Extra OS specific defines, etc. for EFI
5 *****************************************************************************/
8 * Copyright (C) 2000 - 2016, Intel Corp.
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
14 * 1. Redistributions of source code must retain the above copyright
15 * notice, this list of conditions, and the following disclaimer,
16 * without modification.
17 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18 * substantially similar to the "NO WARRANTY" disclaimer below
19 * ("Disclaimer") and any redistribution must be conditioned upon
20 * including a substantially similar Disclaimer requirement for further
21 * binary redistribution.
22 * 3. Neither the names of the above-listed copyright holders nor the names
23 * of any contributors may be used to endorse or promote products derived
24 * from this software without specific prior written permission.
26 * Alternatively, this software may be distributed under the terms of the
27 * GNU General Public License ("GPL") version 2 as published by the Free
28 * Software Foundation.
31 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
34 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
36 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
37 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
38 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
39 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
40 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
41 * POSSIBILITY OF SUCH DAMAGES.
48 #define EFI_ERROR(a) (((INTN) a) < 0)
50 #define EFI_LOAD_ERROR EFIERR(1)
51 #define EFI_INVALID_PARAMETER EFIERR(2)
52 #define EFI_UNSUPPORTED EFIERR(3)
53 #define EFI_BAD_BUFFER_SIZE EFIERR(4)
54 #define EFI_BUFFER_TOO_SMALL EFIERR(5)
55 #define EFI_NOT_READY EFIERR(6)
56 #define EFI_DEVICE_ERROR EFIERR(7)
57 #define EFI_WRITE_PROTECTED EFIERR(8)
58 #define EFI_OUT_OF_RESOURCES EFIERR(9)
59 #define EFI_VOLUME_CORRUPTED EFIERR(10)
60 #define EFI_VOLUME_FULL EFIERR(11)
61 #define EFI_NO_MEDIA EFIERR(12)
62 #define EFI_MEDIA_CHANGED EFIERR(13)
63 #define EFI_NOT_FOUND EFIERR(14)
64 #define EFI_ACCESS_DENIED EFIERR(15)
65 #define EFI_NO_RESPONSE EFIERR(16)
66 #define EFI_NO_MAPPING EFIERR(17)
67 #define EFI_TIMEOUT EFIERR(18)
68 #define EFI_NOT_STARTED EFIERR(19)
69 #define EFI_ALREADY_STARTED EFIERR(20)
70 #define EFI_ABORTED EFIERR(21)
71 #define EFI_PROTOCOL_ERROR EFIERR(24)
74 typedef UINTN EFI_STATUS
;
75 typedef VOID
*EFI_HANDLE
;
76 typedef VOID
*EFI_EVENT
;
85 typedef struct _EFI_DEVICE_PATH
{
91 typedef UINT64 EFI_PHYSICAL_ADDRESS
;
92 typedef UINT64 EFI_VIRTUAL_ADDRESS
;
102 EfiReservedMemoryType
,
107 EfiRuntimeServicesCode
,
108 EfiRuntimeServicesData
,
109 EfiConventionalMemory
,
111 EfiACPIReclaimMemory
,
114 EfiMemoryMappedIOPortSpace
,
119 /* possible caching types for the memory range */
120 #define EFI_MEMORY_UC 0x0000000000000001
121 #define EFI_MEMORY_WC 0x0000000000000002
122 #define EFI_MEMORY_WT 0x0000000000000004
123 #define EFI_MEMORY_WB 0x0000000000000008
124 #define EFI_MEMORY_UCE 0x0000000000000010
126 /* physical memory protection on range */
127 #define EFI_MEMORY_WP 0x0000000000001000
128 #define EFI_MEMORY_RP 0x0000000000002000
129 #define EFI_MEMORY_XP 0x0000000000004000
131 /* range requires a runtime mapping */
132 #define EFI_MEMORY_RUNTIME 0x8000000000000000
134 #define EFI_MEMORY_DESCRIPTOR_VERSION 1
138 EFI_PHYSICAL_ADDRESS PhysicalStart
;
139 EFI_VIRTUAL_ADDRESS VirtualStart
;
140 UINT64 NumberOfPages
;
142 } EFI_MEMORY_DESCRIPTOR
;
144 typedef struct _EFI_TABLE_HEARDER
{
154 (EFIAPI
*EFI_UNKNOWN_INTERFACE
) (
159 * Text output protocol
161 #define SIMPLE_TEXT_OUTPUT_PROTOCOL \
162 { 0x387477c2, 0x69c7, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} }
166 (EFIAPI
*EFI_TEXT_RESET
) (
167 struct _SIMPLE_TEXT_OUTPUT_INTERFACE
*This
,
168 BOOLEAN ExtendedVerification
);
172 (EFIAPI
*EFI_TEXT_OUTPUT_STRING
) (
173 struct _SIMPLE_TEXT_OUTPUT_INTERFACE
*This
,
178 (EFIAPI
*EFI_TEXT_TEST_STRING
) (
179 struct _SIMPLE_TEXT_OUTPUT_INTERFACE
*This
,
184 (EFIAPI
*EFI_TEXT_QUERY_MODE
) (
185 struct _SIMPLE_TEXT_OUTPUT_INTERFACE
*This
,
192 (EFIAPI
*EFI_TEXT_SET_MODE
) (
193 struct _SIMPLE_TEXT_OUTPUT_INTERFACE
*This
,
198 (EFIAPI
*EFI_TEXT_SET_ATTRIBUTE
) (
199 struct _SIMPLE_TEXT_OUTPUT_INTERFACE
*This
,
204 (EFIAPI
*EFI_TEXT_CLEAR_SCREEN
) (
205 struct _SIMPLE_TEXT_OUTPUT_INTERFACE
*This
);
209 (EFIAPI
*EFI_TEXT_SET_CURSOR_POSITION
) (
210 struct _SIMPLE_TEXT_OUTPUT_INTERFACE
*This
,
216 (EFIAPI
*EFI_TEXT_ENABLE_CURSOR
) (
217 struct _SIMPLE_TEXT_OUTPUT_INTERFACE
*This
,
226 BOOLEAN CursorVisible
;
227 } SIMPLE_TEXT_OUTPUT_MODE
;
229 typedef struct _SIMPLE_TEXT_OUTPUT_INTERFACE
{
230 EFI_TEXT_RESET Reset
;
232 EFI_TEXT_OUTPUT_STRING OutputString
;
233 EFI_TEXT_TEST_STRING TestString
;
235 EFI_TEXT_QUERY_MODE QueryMode
;
236 EFI_TEXT_SET_MODE SetMode
;
237 EFI_TEXT_SET_ATTRIBUTE SetAttribute
;
239 EFI_TEXT_CLEAR_SCREEN ClearScreen
;
240 EFI_TEXT_SET_CURSOR_POSITION SetCursorPosition
;
241 EFI_TEXT_ENABLE_CURSOR EnableCursor
;
243 SIMPLE_TEXT_OUTPUT_MODE
*Mode
;
244 } SIMPLE_TEXT_OUTPUT_INTERFACE
;
247 * Text input protocol
249 #define SIMPLE_TEXT_INPUT_PROTOCOL \
250 { 0x387477c1, 0x69c7, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} }
258 * Baseline unicode control chars
260 #define CHAR_NULL 0x0000
261 #define CHAR_BACKSPACE 0x0008
262 #define CHAR_TAB 0x0009
263 #define CHAR_LINEFEED 0x000A
264 #define CHAR_CARRIAGE_RETURN 0x000D
268 (EFIAPI
*EFI_INPUT_RESET
) (
269 struct _SIMPLE_INPUT_INTERFACE
*This
,
270 BOOLEAN ExtendedVerification
);
274 (EFIAPI
*EFI_INPUT_READ_KEY
) (
275 struct _SIMPLE_INPUT_INTERFACE
*This
,
278 typedef struct _SIMPLE_INPUT_INTERFACE
{
279 EFI_INPUT_RESET Reset
;
280 EFI_INPUT_READ_KEY ReadKeyStroke
;
281 EFI_EVENT WaitForKey
;
282 } SIMPLE_INPUT_INTERFACE
;
286 * Simple file system protocol
288 #define SIMPLE_FILE_SYSTEM_PROTOCOL \
289 { 0x964e5b22, 0x6459, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} }
293 (EFIAPI
*EFI_VOLUME_OPEN
) (
294 struct _EFI_FILE_IO_INTERFACE
*This
,
295 struct _EFI_FILE_HANDLE
**Root
);
297 #define EFI_FILE_IO_INTERFACE_REVISION 0x00010000
299 typedef struct _EFI_FILE_IO_INTERFACE
{
301 EFI_VOLUME_OPEN OpenVolume
;
302 } EFI_FILE_IO_INTERFACE
;
306 (EFIAPI
*EFI_FILE_OPEN
) (
307 struct _EFI_FILE_HANDLE
*File
,
308 struct _EFI_FILE_HANDLE
**NewHandle
,
313 /* Values for OpenMode used above */
315 #define EFI_FILE_MODE_READ 0x0000000000000001
316 #define EFI_FILE_MODE_WRITE 0x0000000000000002
317 #define EFI_FILE_MODE_CREATE 0x8000000000000000
319 /* Values for Attribute used above */
321 #define EFI_FILE_READ_ONLY 0x0000000000000001
322 #define EFI_FILE_HIDDEN 0x0000000000000002
323 #define EFI_FILE_SYSTEM 0x0000000000000004
324 #define EFI_FILE_RESERVIED 0x0000000000000008
325 #define EFI_FILE_DIRECTORY 0x0000000000000010
326 #define EFI_FILE_ARCHIVE 0x0000000000000020
327 #define EFI_FILE_VALID_ATTR 0x0000000000000037
331 (EFIAPI
*EFI_FILE_CLOSE
) (
332 struct _EFI_FILE_HANDLE
*File
);
336 (EFIAPI
*EFI_FILE_DELETE
) (
337 struct _EFI_FILE_HANDLE
*File
);
341 (EFIAPI
*EFI_FILE_READ
) (
342 struct _EFI_FILE_HANDLE
*File
,
348 (EFIAPI
*EFI_FILE_WRITE
) (
349 struct _EFI_FILE_HANDLE
*File
,
355 (EFIAPI
*EFI_FILE_SET_POSITION
) (
356 struct _EFI_FILE_HANDLE
*File
,
361 (EFIAPI
*EFI_FILE_GET_POSITION
) (
362 struct _EFI_FILE_HANDLE
*File
,
367 (EFIAPI
*EFI_FILE_GET_INFO
) (
368 struct _EFI_FILE_HANDLE
*File
,
369 EFI_GUID
*InformationType
,
375 (EFIAPI
*EFI_FILE_SET_INFO
) (
376 struct _EFI_FILE_HANDLE
*File
,
377 EFI_GUID
*InformationType
,
383 (EFIAPI
*EFI_FILE_FLUSH
) (
384 struct _EFI_FILE_HANDLE
*File
);
387 #define EFI_FILE_HANDLE_REVISION 0x00010000
389 typedef struct _EFI_FILE_HANDLE
{
392 EFI_FILE_CLOSE Close
;
393 EFI_FILE_DELETE Delete
;
395 EFI_FILE_WRITE Write
;
396 EFI_FILE_GET_POSITION GetPosition
;
397 EFI_FILE_SET_POSITION SetPosition
;
398 EFI_FILE_GET_INFO GetInfo
;
399 EFI_FILE_SET_INFO SetInfo
;
400 EFI_FILE_FLUSH Flush
;
401 } EFI_FILE
, *EFI_FILE_HANDLE
;
405 * Loaded image protocol
407 #define LOADED_IMAGE_PROTOCOL \
408 { 0x5B1B31A1, 0x9562, 0x11d2, {0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B} }
412 (EFIAPI
*EFI_IMAGE_ENTRY_POINT
) (
413 EFI_HANDLE ImageHandle
,
414 struct _EFI_SYSTEM_TABLE
*SystemTable
);
418 (EFIAPI
*EFI_IMAGE_LOAD
) (
420 EFI_HANDLE ParentImageHandle
,
421 EFI_DEVICE_PATH
*FilePath
,
424 EFI_HANDLE
*ImageHandle
);
428 (EFIAPI
*EFI_IMAGE_START
) (
429 EFI_HANDLE ImageHandle
,
436 EFI_HANDLE ImageHandle
,
437 EFI_STATUS ExitStatus
,
443 (EFIAPI
*EFI_IMAGE_UNLOAD
) (
444 EFI_HANDLE ImageHandle
);
447 #define EFI_IMAGE_INFORMATION_REVISION 0x1000
450 EFI_HANDLE ParentHandle
;
451 struct _EFI_SYSTEM_TABLE
*SystemTable
;
452 EFI_HANDLE DeviceHandle
;
453 EFI_DEVICE_PATH
*FilePath
;
455 UINT32 LoadOptionsSize
;
459 EFI_MEMORY_TYPE ImageCodeType
;
460 EFI_MEMORY_TYPE ImageDataType
;
461 EFI_IMAGE_UNLOAD Unload
;
471 (EFIAPI
*EFI_ALLOCATE_PAGES
) (
472 EFI_ALLOCATE_TYPE Type
,
473 EFI_MEMORY_TYPE MemoryType
,
475 EFI_PHYSICAL_ADDRESS
*Memory
);
479 (EFIAPI
*EFI_FREE_PAGES
) (
480 EFI_PHYSICAL_ADDRESS Memory
,
485 (EFIAPI
*EFI_GET_MEMORY_MAP
) (
486 UINTN
*MemoryMapSize
,
487 EFI_MEMORY_DESCRIPTOR
*MemoryMap
,
489 UINTN
*DescriptorSize
,
490 UINT32
*DescriptorVersion
);
492 #define NextMemoryDescriptor(Ptr,Size) ((EFI_MEMORY_DESCRIPTOR *) (((UINT8 *) Ptr) + Size))
496 (EFIAPI
*EFI_ALLOCATE_POOL
) (
497 EFI_MEMORY_TYPE PoolType
,
503 (EFIAPI
*EFI_FREE_POOL
) (
508 * Protocol handler functions
511 EFI_NATIVE_INTERFACE
,
513 } EFI_INTERFACE_TYPE
;
519 } EFI_LOCATE_SEARCH_TYPE
;
523 (EFIAPI
*EFI_INSTALL_PROTOCOL_INTERFACE
) (
526 EFI_INTERFACE_TYPE InterfaceType
,
531 (EFIAPI
*EFI_REINSTALL_PROTOCOL_INTERFACE
) (
539 (EFIAPI
*EFI_UNINSTALL_PROTOCOL_INTERFACE
) (
546 (EFIAPI
*EFI_HANDLE_PROTOCOL
) (
553 (EFIAPI
*EFI_REGISTER_PROTOCOL_NOTIFY
) (
556 VOID
**Registration
);
560 (EFIAPI
*EFI_LOCATE_HANDLE
) (
561 EFI_LOCATE_SEARCH_TYPE SearchType
,
569 (EFIAPI
*EFI_LOCATE_DEVICE_PATH
) (
571 EFI_DEVICE_PATH
**DevicePath
,
576 (EFIAPI
*EFI_INSTALL_CONFIGURATION_TABLE
) (
580 #define EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL 0x00000001
581 #define EFI_OPEN_PROTOCOL_GET_PROTOCOL 0x00000002
582 #define EFI_OPEN_PROTOCOL_TEST_PROTOCOL 0x00000004
583 #define EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER 0x00000008
584 #define EFI_OPEN_PROTOCOL_BY_DRIVER 0x00000010
585 #define EFI_OPEN_PROTOCOL_EXCLUSIVE 0x00000020
589 (EFIAPI
*EFI_OPEN_PROTOCOL
) (
593 EFI_HANDLE AgentHandle
,
594 EFI_HANDLE ControllerHandle
,
599 (EFIAPI
*EFI_CLOSE_PROTOCOL
) (
602 EFI_HANDLE AgentHandle
,
603 EFI_HANDLE ControllerHandle
);
606 EFI_HANDLE AgentHandle
;
607 EFI_HANDLE ControllerHandle
;
610 } EFI_OPEN_PROTOCOL_INFORMATION_ENTRY
;
614 (EFIAPI
*EFI_OPEN_PROTOCOL_INFORMATION
) (
617 EFI_OPEN_PROTOCOL_INFORMATION_ENTRY
**EntryBuffer
,
622 (EFIAPI
*EFI_PROTOCOLS_PER_HANDLE
) (
624 EFI_GUID
***ProtocolBuffer
,
625 UINTN
*ProtocolBufferCount
);
629 (EFIAPI
*EFI_LOCATE_HANDLE_BUFFER
) (
630 EFI_LOCATE_SEARCH_TYPE SearchType
,
634 EFI_HANDLE
**Buffer
);
638 (EFIAPI
*EFI_LOCATE_PROTOCOL
) (
645 (EFIAPI
*EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES
) (
651 (EFIAPI
*EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES
) (
657 (EFIAPI
*EFI_CALCULATE_CRC32
) (
664 (EFIAPI
*EFI_COPY_MEM
) (
671 (EFIAPI
*EFI_SET_MEM
) (
677 * EFI Boot Services Table
679 #define EFI_BOOT_SERVICES_SIGNATURE 0x56524553544f4f42
680 #define EFI_BOOT_SERVICES_REVISION (EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION)
682 typedef struct _EFI_BOOT_SERVICES
{
683 EFI_TABLE_HEADER Hdr
;
686 EFI_RAISE_TPL RaiseTPL
;
687 EFI_RESTORE_TPL RestoreTPL
;
689 EFI_UNKNOWN_INTERFACE RaiseTPL
;
690 EFI_UNKNOWN_INTERFACE RestoreTPL
;
693 EFI_ALLOCATE_PAGES AllocatePages
;
694 EFI_FREE_PAGES FreePages
;
695 EFI_GET_MEMORY_MAP GetMemoryMap
;
696 EFI_ALLOCATE_POOL AllocatePool
;
697 EFI_FREE_POOL FreePool
;
700 EFI_CREATE_EVENT CreateEvent
;
701 EFI_SET_TIMER SetTimer
;
702 EFI_WAIT_FOR_EVENT WaitForEvent
;
703 EFI_SIGNAL_EVENT SignalEvent
;
704 EFI_CLOSE_EVENT CloseEvent
;
705 EFI_CHECK_EVENT CheckEvent
;
707 EFI_UNKNOWN_INTERFACE CreateEvent
;
708 EFI_UNKNOWN_INTERFACE SetTimer
;
709 EFI_UNKNOWN_INTERFACE WaitForEvent
;
710 EFI_UNKNOWN_INTERFACE SignalEvent
;
711 EFI_UNKNOWN_INTERFACE CloseEvent
;
712 EFI_UNKNOWN_INTERFACE CheckEvent
;
715 EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface
;
716 EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface
;
717 EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface
;
718 EFI_HANDLE_PROTOCOL HandleProtocol
;
719 EFI_HANDLE_PROTOCOL PCHandleProtocol
;
720 EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify
;
721 EFI_LOCATE_HANDLE LocateHandle
;
722 EFI_LOCATE_DEVICE_PATH LocateDevicePath
;
723 EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable
;
725 EFI_IMAGE_LOAD LoadImage
;
726 EFI_IMAGE_START StartImage
;
728 EFI_IMAGE_UNLOAD UnloadImage
;
731 EFI_EXIT_BOOT_SERVICES ExitBootServices
;
732 EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount
;
734 EFI_SET_WATCHDOG_TIMER SetWatchdogTimer
;
736 EFI_UNKNOWN_INTERFACE ExitBootServices
;
737 EFI_UNKNOWN_INTERFACE GetNextMonotonicCount
;
738 EFI_UNKNOWN_INTERFACE Stall
;
739 EFI_UNKNOWN_INTERFACE SetWatchdogTimer
;
743 EFI_CONNECT_CONTROLLER ConnectController
;
744 EFI_DISCONNECT_CONTROLLER DisconnectController
;
746 EFI_UNKNOWN_INTERFACE ConnectController
;
747 EFI_UNKNOWN_INTERFACE DisconnectController
;
750 EFI_OPEN_PROTOCOL OpenProtocol
;
751 EFI_CLOSE_PROTOCOL CloseProtocol
;
752 EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation
;
753 EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle
;
754 EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer
;
755 EFI_LOCATE_PROTOCOL LocateProtocol
;
756 EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces
;
757 EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces
;
759 EFI_CALCULATE_CRC32 CalculateCrc32
;
761 EFI_COPY_MEM CopyMem
;
765 EFI_CREATE_EVENT_EX CreateEventEx
;
767 EFI_UNKNOWN_INTERFACE CreateEventEx
;
777 * EFI Configuration Table and GUID definitions
779 #define ACPI_TABLE_GUID \
780 { 0xeb9d2d30, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
781 #define ACPI_20_TABLE_GUID \
782 { 0x8868e871, 0xe4f1, 0x11d3, {0xbc, 0x22, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} }
784 typedef struct _EFI_CONFIGURATION_TABLE
{
787 } EFI_CONFIGURATION_TABLE
;
790 #define EFI_SYSTEM_TABLE_SIGNATURE 0x5453595320494249
791 #define EFI_SYSTEM_TABLE_REVISION (EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION)
793 typedef struct _EFI_SYSTEM_TABLE
{
794 EFI_TABLE_HEADER Hdr
;
796 CHAR16
*FirmwareVendor
;
797 UINT32 FirmwareRevision
;
799 EFI_HANDLE ConsoleInHandle
;
800 SIMPLE_INPUT_INTERFACE
*ConIn
;
802 EFI_HANDLE ConsoleOutHandle
;
803 SIMPLE_TEXT_OUTPUT_INTERFACE
*ConOut
;
805 EFI_HANDLE StandardErrorHandle
;
806 SIMPLE_TEXT_OUTPUT_INTERFACE
*StdErr
;
809 EFI_RUNTIME_SERVICES
*RuntimeServices
;
811 EFI_HANDLE
*RuntimeServices
;
813 EFI_BOOT_SERVICES
*BootServices
;
815 UINTN NumberOfTableEntries
;
816 EFI_CONFIGURATION_TABLE
*ConfigurationTable
;
821 /* GNU EFI definitions */
823 #if defined(_GNU_EFI)
826 * This is needed to hide platform specific code from ACPICA
835 * EFI specific prototypes
840 EFI_SYSTEM_TABLE
*SystemTab
);
850 extern EFI_GUID AcpiGbl_LoadedImageProtocol
;
851 extern EFI_GUID AcpiGbl_TextInProtocol
;
852 extern EFI_GUID AcpiGbl_TextOutProtocol
;
853 extern EFI_GUID AcpiGbl_FileSystemProtocol
;
855 #endif /* __ACEFIEX_H__ */