File indexing completed on 2025-05-11 08:24:05
0001
0002 #ifndef _EFI_API_H
0003 #define _EFI_API_H
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035 #define EFI_SPECIFICATION_MAJOR_REVISION 1
0036 #define EFI_SPECIFICATION_MINOR_REVISION 10
0037
0038
0039
0040
0041
0042 INTERFACE_DECL(_EFI_SYSTEM_TABLE);
0043
0044
0045
0046
0047
0048 typedef
0049 EFI_STATUS
0050 (EFIAPI *EFI_ALLOCATE_PAGES) (
0051 IN EFI_ALLOCATE_TYPE Type,
0052 IN EFI_MEMORY_TYPE MemoryType,
0053 IN UINTN NoPages,
0054 OUT EFI_PHYSICAL_ADDRESS *Memory
0055 );
0056
0057 typedef
0058 EFI_STATUS
0059 (EFIAPI *EFI_FREE_PAGES) (
0060 IN EFI_PHYSICAL_ADDRESS Memory,
0061 IN UINTN NoPages
0062 );
0063
0064 typedef
0065 EFI_STATUS
0066 (EFIAPI *EFI_GET_MEMORY_MAP) (
0067 IN OUT UINTN *MemoryMapSize,
0068 IN OUT EFI_MEMORY_DESCRIPTOR *MemoryMap,
0069 OUT UINTN *MapKey,
0070 OUT UINTN *DescriptorSize,
0071 OUT UINT32 *DescriptorVersion
0072 );
0073
0074 #define NextMemoryDescriptor(Ptr,Size) ((EFI_MEMORY_DESCRIPTOR *) (((UINT8 *) Ptr) + Size))
0075
0076
0077 typedef
0078 EFI_STATUS
0079 (EFIAPI *EFI_ALLOCATE_POOL) (
0080 IN EFI_MEMORY_TYPE PoolType,
0081 IN UINTN Size,
0082 OUT VOID **Buffer
0083 );
0084
0085 typedef
0086 EFI_STATUS
0087 (EFIAPI *EFI_FREE_POOL) (
0088 IN VOID *Buffer
0089 );
0090
0091 typedef
0092 EFI_STATUS
0093 (EFIAPI *EFI_SET_VIRTUAL_ADDRESS_MAP) (
0094 IN UINTN MemoryMapSize,
0095 IN UINTN DescriptorSize,
0096 IN UINT32 DescriptorVersion,
0097 IN EFI_MEMORY_DESCRIPTOR *VirtualMap
0098 );
0099
0100
0101 #define EFI_OPTIONAL_PTR 0x00000001
0102 #define EFI_INTERNAL_FNC 0x00000002
0103 #define EFI_INTERNAL_PTR 0x00000004
0104
0105
0106 typedef
0107 EFI_STATUS
0108 (EFIAPI *EFI_CONVERT_POINTER) (
0109 IN UINTN DebugDisposition,
0110 IN OUT VOID **Address
0111 );
0112
0113
0114
0115
0116
0117
0118
0119
0120 #define EVT_TIMER 0x80000000
0121 #define EVT_RUNTIME 0x40000000
0122 #define EVT_RUNTIME_CONTEXT 0x20000000
0123
0124 #define EVT_NOTIFY_WAIT 0x00000100
0125 #define EVT_NOTIFY_SIGNAL 0x00000200
0126
0127 #define EVT_SIGNAL_EXIT_BOOT_SERVICES 0x00000201
0128 #define EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE 0x60000202
0129
0130 #define EVT_EFI_SIGNAL_MASK 0x000000FF
0131 #define EVT_EFI_SIGNAL_MAX 2
0132
0133 typedef
0134 VOID
0135 (EFIAPI *EFI_EVENT_NOTIFY) (
0136 IN EFI_EVENT Event,
0137 IN VOID *Context
0138 );
0139
0140 typedef
0141 EFI_STATUS
0142 (EFIAPI *EFI_CREATE_EVENT) (
0143 IN UINT32 Type,
0144 IN EFI_TPL NotifyTpl,
0145 IN EFI_EVENT_NOTIFY NotifyFunction,
0146 IN VOID *NotifyContext,
0147 OUT EFI_EVENT *Event
0148 );
0149
0150 typedef enum {
0151 TimerCancel,
0152 TimerPeriodic,
0153 TimerRelative,
0154 TimerTypeMax
0155 } EFI_TIMER_DELAY;
0156
0157 typedef
0158 EFI_STATUS
0159 (EFIAPI *EFI_SET_TIMER) (
0160 IN EFI_EVENT Event,
0161 IN EFI_TIMER_DELAY Type,
0162 IN UINT64 TriggerTime
0163 );
0164
0165 typedef
0166 EFI_STATUS
0167 (EFIAPI *EFI_SIGNAL_EVENT) (
0168 IN EFI_EVENT Event
0169 );
0170
0171 typedef
0172 EFI_STATUS
0173 (EFIAPI *EFI_WAIT_FOR_EVENT) (
0174 IN UINTN NumberOfEvents,
0175 IN EFI_EVENT *Event,
0176 OUT UINTN *Index
0177 );
0178
0179 typedef
0180 EFI_STATUS
0181 (EFIAPI *EFI_CLOSE_EVENT) (
0182 IN EFI_EVENT Event
0183 );
0184
0185 typedef
0186 EFI_STATUS
0187 (EFIAPI *EFI_CHECK_EVENT) (
0188 IN EFI_EVENT Event
0189 );
0190
0191
0192
0193
0194
0195 #define TPL_APPLICATION 4
0196 #define TPL_CALLBACK 8
0197 #define TPL_NOTIFY 16
0198 #define TPL_HIGH_LEVEL 31
0199
0200 typedef
0201 EFI_TPL
0202 (EFIAPI *EFI_RAISE_TPL) (
0203 IN EFI_TPL NewTpl
0204 );
0205
0206 typedef
0207 VOID
0208 (EFIAPI *EFI_RESTORE_TPL) (
0209 IN EFI_TPL OldTpl
0210 );
0211
0212
0213
0214
0215
0216
0217 #define EFI_GLOBAL_VARIABLE \
0218 { 0x8BE4DF61, 0x93CA, 0x11d2, {0xAA, 0x0D, 0x00, 0xE0, 0x98, 0x03, 0x2B, 0x8C} }
0219
0220
0221 #define EFI_VARIABLE_NON_VOLATILE 0x00000001
0222 #define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002
0223 #define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004
0224 #define EFI_VARIABLE_HARDWARE_ERROR_RECORD 0x00000008
0225 #define EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS 0x00000010
0226 #define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 0x00000020
0227 #define EFI_VARIABLE_APPEND_WRITE 0x00000040
0228
0229
0230 #define EFI_MAXIMUM_VARIABLE_SIZE 1024
0231
0232 typedef
0233 EFI_STATUS
0234 (EFIAPI *EFI_GET_VARIABLE) (
0235 IN CHAR16 *VariableName,
0236 IN EFI_GUID *VendorGuid,
0237 OUT UINT32 *Attributes OPTIONAL,
0238 IN OUT UINTN *DataSize,
0239 OUT VOID *Data
0240 );
0241
0242 typedef
0243 EFI_STATUS
0244 (EFIAPI *EFI_GET_NEXT_VARIABLE_NAME) (
0245 IN OUT UINTN *VariableNameSize,
0246 IN OUT CHAR16 *VariableName,
0247 IN OUT EFI_GUID *VendorGuid
0248 );
0249
0250
0251 typedef
0252 EFI_STATUS
0253 (EFIAPI *EFI_SET_VARIABLE) (
0254 IN const CHAR16 *VariableName,
0255 IN EFI_GUID *VendorGuid,
0256 IN UINT32 Attributes,
0257 IN UINTN DataSize,
0258 IN VOID *Data
0259 );
0260
0261
0262
0263
0264
0265
0266 typedef struct {
0267 UINT32 Resolution;
0268 UINT32 Accuracy;
0269 BOOLEAN SetsToZero;
0270 } EFI_TIME_CAPABILITIES;
0271
0272
0273 typedef
0274 EFI_STATUS
0275 (EFIAPI *EFI_GET_TIME) (
0276 OUT EFI_TIME *Time,
0277 OUT EFI_TIME_CAPABILITIES *Capabilities OPTIONAL
0278 );
0279
0280 typedef
0281 EFI_STATUS
0282 (EFIAPI *EFI_SET_TIME) (
0283 IN EFI_TIME *Time
0284 );
0285
0286 typedef
0287 EFI_STATUS
0288 (EFIAPI *EFI_GET_WAKEUP_TIME) (
0289 OUT BOOLEAN *Enabled,
0290 OUT BOOLEAN *Pending,
0291 OUT EFI_TIME *Time
0292 );
0293
0294 typedef
0295 EFI_STATUS
0296 (EFIAPI *EFI_SET_WAKEUP_TIME) (
0297 IN BOOLEAN Enable,
0298 IN EFI_TIME *Time OPTIONAL
0299 );
0300
0301
0302
0303
0304
0305
0306
0307
0308
0309 #if !defined(IMAGE_SUBSYSTEM_EFI_APPLICATION)
0310 #define IMAGE_SUBSYSTEM_EFI_APPLICATION 10
0311 #define IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER 11
0312 #define IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER 12
0313 #endif
0314
0315
0316
0317 #if !defined(EFI_IMAGE_MACHINE_IA32)
0318 #define EFI_IMAGE_MACHINE_IA32 0x014c
0319 #endif
0320
0321 #if !defined(EFI_IMAGE_MACHINE_EBC)
0322 #define EFI_IMAGE_MACHINE_EBC 0x0EBC
0323 #endif
0324
0325
0326
0327 typedef
0328 EFI_STATUS
0329 (EFIAPI *EFI_IMAGE_ENTRY_POINT) (
0330 IN EFI_HANDLE ImageHandle,
0331 IN struct _EFI_SYSTEM_TABLE *SystemTable
0332 );
0333
0334 typedef
0335 EFI_STATUS
0336 (EFIAPI *EFI_IMAGE_LOAD) (
0337 IN BOOLEAN BootPolicy,
0338 IN EFI_HANDLE ParentImageHandle,
0339 IN EFI_DEVICE_PATH *FilePath,
0340 IN VOID *SourceBuffer OPTIONAL,
0341 IN UINTN SourceSize,
0342 OUT EFI_HANDLE *ImageHandle
0343 );
0344
0345 typedef
0346 EFI_STATUS
0347 (EFIAPI *EFI_IMAGE_START) (
0348 IN EFI_HANDLE ImageHandle,
0349 OUT UINTN *ExitDataSize,
0350 OUT CHAR16 **ExitData OPTIONAL
0351 );
0352
0353 typedef
0354 EFI_STATUS
0355 (EFIAPI *EFI_EXIT) (
0356 IN EFI_HANDLE ImageHandle,
0357 IN EFI_STATUS ExitStatus,
0358 IN UINTN ExitDataSize,
0359 IN CHAR16 *ExitData OPTIONAL
0360 )
0361 #ifndef __rtems__
0362 __dead2
0363 #endif
0364 ;
0365
0366 typedef
0367 EFI_STATUS
0368 (EFIAPI *EFI_IMAGE_UNLOAD) (
0369 IN EFI_HANDLE ImageHandle
0370 );
0371
0372
0373
0374 #define LOADED_IMAGE_PROTOCOL \
0375 { 0x5B1B31A1, 0x9562, 0x11d2, {0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B} }
0376
0377 #define EFI_LOADED_IMAGE_INFORMATION_REVISION 0x1000
0378 typedef struct {
0379 UINT32 Revision;
0380 EFI_HANDLE ParentHandle;
0381 struct _EFI_SYSTEM_TABLE *SystemTable;
0382
0383
0384 EFI_HANDLE DeviceHandle;
0385 EFI_DEVICE_PATH *FilePath;
0386 VOID *Reserved;
0387
0388
0389 UINT32 LoadOptionsSize;
0390 VOID *LoadOptions;
0391
0392
0393 VOID *ImageBase;
0394 UINT64 ImageSize;
0395 EFI_MEMORY_TYPE ImageCodeType;
0396 EFI_MEMORY_TYPE ImageDataType;
0397
0398
0399 EFI_IMAGE_UNLOAD Unload;
0400
0401 } EFI_LOADED_IMAGE;
0402
0403
0404 typedef
0405 EFI_STATUS
0406 (EFIAPI *EFI_EXIT_BOOT_SERVICES) (
0407 IN EFI_HANDLE ImageHandle,
0408 IN UINTN MapKey
0409 );
0410
0411
0412
0413
0414
0415
0416 typedef
0417 EFI_STATUS
0418 (EFIAPI *EFI_STALL) (
0419 IN UINTN Microseconds
0420 );
0421
0422 typedef
0423 EFI_STATUS
0424 (EFIAPI *EFI_SET_WATCHDOG_TIMER) (
0425 IN UINTN Timeout,
0426 IN UINT64 WatchdogCode,
0427 IN UINTN DataSize,
0428 IN CHAR16 *WatchdogData OPTIONAL
0429 );
0430
0431
0432 typedef enum {
0433 EfiResetCold,
0434 EfiResetWarm,
0435 EfiResetShutdown
0436 } EFI_RESET_TYPE;
0437
0438 typedef
0439 VOID
0440 (EFIAPI *EFI_RESET_SYSTEM) (
0441 IN EFI_RESET_TYPE ResetType,
0442 IN EFI_STATUS ResetStatus,
0443 IN UINTN DataSize,
0444 IN CHAR16 *ResetData OPTIONAL
0445 )
0446 #ifndef __rtems__
0447 __dead2
0448 #endif
0449 ;
0450
0451 typedef
0452 EFI_STATUS
0453 (EFIAPI *EFI_GET_NEXT_MONOTONIC_COUNT) (
0454 OUT UINT64 *Count
0455 );
0456
0457 typedef
0458 EFI_STATUS
0459 (EFIAPI *EFI_GET_NEXT_HIGH_MONO_COUNT) (
0460 OUT UINT32 *HighCount
0461 );
0462
0463
0464
0465
0466
0467 typedef enum {
0468 EFI_NATIVE_INTERFACE
0469 } EFI_INTERFACE_TYPE;
0470
0471 typedef
0472 EFI_STATUS
0473 (EFIAPI *EFI_INSTALL_PROTOCOL_INTERFACE) (
0474 IN OUT EFI_HANDLE *Handle,
0475 IN EFI_GUID *Protocol,
0476 IN EFI_INTERFACE_TYPE InterfaceType,
0477 IN VOID *Interface
0478 );
0479
0480 typedef
0481 EFI_STATUS
0482 (EFIAPI *EFI_REINSTALL_PROTOCOL_INTERFACE) (
0483 IN EFI_HANDLE Handle,
0484 IN EFI_GUID *Protocol,
0485 IN VOID *OldInterface,
0486 IN VOID *NewInterface
0487 );
0488
0489 typedef
0490 EFI_STATUS
0491 (EFIAPI *EFI_UNINSTALL_PROTOCOL_INTERFACE) (
0492 IN EFI_HANDLE Handle,
0493 IN EFI_GUID *Protocol,
0494 IN VOID *Interface
0495 );
0496
0497 typedef
0498 EFI_STATUS
0499 (EFIAPI *EFI_HANDLE_PROTOCOL) (
0500 IN EFI_HANDLE Handle,
0501 IN EFI_GUID *Protocol,
0502 OUT VOID **Interface
0503 );
0504
0505 typedef
0506 EFI_STATUS
0507 (EFIAPI *EFI_REGISTER_PROTOCOL_NOTIFY) (
0508 IN EFI_GUID *Protocol,
0509 IN EFI_EVENT Event,
0510 OUT VOID **Registration
0511 );
0512
0513 typedef enum {
0514 AllHandles,
0515 ByRegisterNotify,
0516 ByProtocol
0517 } EFI_LOCATE_SEARCH_TYPE;
0518
0519 typedef
0520 EFI_STATUS
0521 (EFIAPI *EFI_LOCATE_HANDLE) (
0522 IN EFI_LOCATE_SEARCH_TYPE SearchType,
0523 IN EFI_GUID *Protocol OPTIONAL,
0524 IN VOID *SearchKey OPTIONAL,
0525 IN OUT UINTN *BufferSize,
0526 OUT EFI_HANDLE *Buffer
0527 );
0528
0529 typedef
0530 EFI_STATUS
0531 (EFIAPI *EFI_LOCATE_DEVICE_PATH) (
0532 IN EFI_GUID *Protocol,
0533 IN OUT EFI_DEVICE_PATH **DevicePath,
0534 OUT EFI_HANDLE *Device
0535 );
0536
0537 typedef
0538 EFI_STATUS
0539 (EFIAPI *EFI_INSTALL_CONFIGURATION_TABLE) (
0540 IN EFI_GUID *Guid,
0541 IN VOID *Table
0542 );
0543
0544 typedef
0545 EFI_STATUS
0546 (EFIAPI *EFI_RESERVED_SERVICE) (
0547 VOID
0548 );
0549
0550 typedef
0551 EFI_STATUS
0552 (EFIAPI *EFI_CONNECT_CONTROLLER) (
0553 IN EFI_HANDLE ControllerHandle,
0554 IN EFI_HANDLE *DriverImageHandle OPTIONAL,
0555 IN EFI_DEVICE_PATH *RemainingDevicePath OPTIONAL,
0556 IN BOOLEAN Recursive
0557 );
0558
0559 typedef
0560 EFI_STATUS
0561 (EFIAPI *EFI_DISCONNECT_CONTROLLER)(
0562 IN EFI_HANDLE ControllerHandle,
0563 IN EFI_HANDLE DriverImageHandle, OPTIONAL
0564 IN EFI_HANDLE ChildHandle OPTIONAL
0565 );
0566
0567 #define EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL 0x00000001
0568 #define EFI_OPEN_PROTOCOL_GET_PROTOCOL 0x00000002
0569 #define EFI_OPEN_PROTOCOL_TEST_PROTOCOL 0x00000004
0570 #define EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER 0x00000008
0571 #define EFI_OPEN_PROTOCOL_BY_DRIVER 0x00000010
0572 #define EFI_OPEN_PROTOCOL_EXCLUSIVE 0x00000020
0573
0574 typedef
0575 EFI_STATUS
0576 (EFIAPI *EFI_OPEN_PROTOCOL) (
0577 IN EFI_HANDLE Handle,
0578 IN EFI_GUID *Protocol,
0579 OUT VOID **Interface,
0580 IN EFI_HANDLE ImageHandle,
0581 IN EFI_HANDLE ControllerHandle, OPTIONAL
0582 IN UINT32 Attributes
0583 );
0584
0585 typedef
0586 EFI_STATUS
0587 (EFIAPI *EFI_CLOSE_PROTOCOL) (
0588 IN EFI_HANDLE Handle,
0589 IN EFI_GUID *Protocol,
0590 IN EFI_HANDLE ImageHandle,
0591 IN EFI_HANDLE DeviceHandle
0592 );
0593
0594 typedef struct {
0595 EFI_HANDLE AgentHandle;
0596 EFI_HANDLE ControllerHandle;
0597 UINT32 Attributes;
0598 UINT32 OpenCount;
0599 } EFI_OPEN_PROTOCOL_INFORMATION_ENTRY;
0600
0601 typedef
0602 EFI_STATUS
0603 (EFIAPI *EFI_OPEN_PROTOCOL_INFORMATION) (
0604 IN EFI_HANDLE UserHandle,
0605 IN EFI_GUID *Protocol,
0606 IN EFI_OPEN_PROTOCOL_INFORMATION_ENTRY **EntryBuffer,
0607 OUT UINTN *EntryCount
0608 );
0609
0610 typedef
0611 EFI_STATUS
0612 (EFIAPI *EFI_PROTOCOLS_PER_HANDLE) (
0613 IN EFI_HANDLE UserHandle,
0614 OUT EFI_GUID ***ProtocolBuffer,
0615 OUT UINTN *ProtocolBufferCount
0616 );
0617
0618 typedef
0619 EFI_STATUS
0620 (EFIAPI *EFI_LOCATE_HANDLE_BUFFER) (
0621 IN EFI_LOCATE_SEARCH_TYPE SearchType,
0622 IN EFI_GUID *Protocol OPTIONAL,
0623 IN VOID *SearchKey OPTIONAL,
0624 IN OUT UINTN *NumberHandles,
0625 OUT EFI_HANDLE **Buffer
0626 );
0627
0628 typedef
0629 EFI_STATUS
0630 (EFIAPI *EFI_LOCATE_PROTOCOL) (
0631 EFI_GUID *Protocol,
0632 VOID *Registration, OPTIONAL
0633 VOID **Interface
0634 );
0635
0636 typedef
0637 EFI_STATUS
0638 (EFIAPI *EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES) (
0639 IN OUT EFI_HANDLE *Handle,
0640 ...
0641 );
0642
0643 typedef
0644 EFI_STATUS
0645 (EFIAPI *EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES) (
0646 IN EFI_HANDLE Handle,
0647 ...
0648 );
0649
0650 typedef
0651 EFI_STATUS
0652 (EFIAPI *EFI_CALCULATE_CRC32) (
0653 IN VOID *Data,
0654 IN UINTN DataSize,
0655 OUT UINT32 *Crc32
0656 );
0657
0658 typedef
0659 VOID
0660 (EFIAPI *EFI_COPY_MEM) (
0661 IN VOID *Destination,
0662 IN VOID *Source,
0663 IN UINTN Length
0664 );
0665
0666 typedef
0667 VOID
0668 (EFIAPI *EFI_SET_MEM) (
0669 IN VOID *Buffer,
0670 IN UINTN Size,
0671 IN UINT8 Value
0672 );
0673
0674
0675
0676
0677
0678 typedef struct _EFI_TABLE_HEARDER {
0679 UINT64 Signature;
0680 UINT32 Revision;
0681 UINT32 HeaderSize;
0682 UINT32 CRC32;
0683 UINT32 Reserved;
0684 } EFI_TABLE_HEADER;
0685
0686
0687
0688
0689
0690
0691 #define EFI_RUNTIME_SERVICES_SIGNATURE 0x56524553544e5552
0692 #define EFI_RUNTIME_SERVICES_REVISION ((EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION))
0693
0694 typedef struct {
0695 EFI_TABLE_HEADER Hdr;
0696
0697
0698
0699
0700
0701 EFI_GET_TIME GetTime;
0702 EFI_SET_TIME SetTime;
0703 EFI_GET_WAKEUP_TIME GetWakeupTime;
0704 EFI_SET_WAKEUP_TIME SetWakeupTime;
0705
0706
0707
0708
0709
0710 EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap;
0711 EFI_CONVERT_POINTER ConvertPointer;
0712
0713
0714
0715
0716
0717 EFI_GET_VARIABLE GetVariable;
0718 EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName;
0719 EFI_SET_VARIABLE SetVariable;
0720
0721
0722
0723
0724
0725 EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount;
0726 EFI_RESET_SYSTEM ResetSystem;
0727
0728 } EFI_RUNTIME_SERVICES;
0729
0730
0731
0732
0733
0734
0735 #define EFI_BOOT_SERVICES_SIGNATURE 0x56524553544f4f42
0736 #define EFI_BOOT_SERVICES_REVISION ((EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION))
0737
0738 typedef struct {
0739
0740 EFI_TABLE_HEADER Hdr;
0741
0742
0743
0744
0745
0746 EFI_RAISE_TPL RaiseTPL;
0747 EFI_RESTORE_TPL RestoreTPL;
0748
0749
0750
0751
0752
0753 EFI_ALLOCATE_PAGES AllocatePages;
0754 EFI_FREE_PAGES FreePages;
0755 EFI_GET_MEMORY_MAP GetMemoryMap;
0756 EFI_ALLOCATE_POOL AllocatePool;
0757 EFI_FREE_POOL FreePool;
0758
0759
0760
0761
0762
0763 EFI_CREATE_EVENT CreateEvent;
0764 EFI_SET_TIMER SetTimer;
0765 EFI_WAIT_FOR_EVENT WaitForEvent;
0766 EFI_SIGNAL_EVENT SignalEvent;
0767 EFI_CLOSE_EVENT CloseEvent;
0768 EFI_CHECK_EVENT CheckEvent;
0769
0770
0771
0772
0773
0774 EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface;
0775 EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface;
0776 EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface;
0777 EFI_HANDLE_PROTOCOL HandleProtocol;
0778 VOID *Reserved;
0779 EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify;
0780 EFI_LOCATE_HANDLE LocateHandle;
0781 EFI_LOCATE_DEVICE_PATH LocateDevicePath;
0782 EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable;
0783
0784
0785
0786
0787
0788 EFI_IMAGE_LOAD LoadImage;
0789 EFI_IMAGE_START StartImage;
0790 EFI_EXIT Exit;
0791 EFI_IMAGE_UNLOAD UnloadImage;
0792 EFI_EXIT_BOOT_SERVICES ExitBootServices;
0793
0794
0795
0796
0797
0798 EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount;
0799 EFI_STALL Stall;
0800 EFI_SET_WATCHDOG_TIMER SetWatchdogTimer;
0801
0802
0803
0804
0805 EFI_CONNECT_CONTROLLER ConnectController;
0806 EFI_DISCONNECT_CONTROLLER DisconnectController;
0807
0808
0809
0810
0811 EFI_OPEN_PROTOCOL OpenProtocol;
0812 EFI_CLOSE_PROTOCOL CloseProtocol;
0813 EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation;
0814
0815
0816
0817
0818 EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle;
0819 EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer;
0820 EFI_LOCATE_PROTOCOL LocateProtocol;
0821
0822 EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces;
0823 EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces;
0824
0825
0826
0827
0828 EFI_CALCULATE_CRC32 CalculateCrc32;
0829
0830
0831
0832
0833 EFI_COPY_MEM CopyMem;
0834 EFI_SET_MEM SetMem;
0835
0836 } EFI_BOOT_SERVICES;
0837
0838
0839
0840
0841
0842
0843 #define MPS_TABLE_GUID \
0844 { 0xeb9d2d2f, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
0845
0846 #define ACPI_TABLE_GUID \
0847 { 0xeb9d2d30, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
0848
0849 #define ACPI_20_TABLE_GUID \
0850 { 0x8868e871, 0xe4f1, 0x11d3, {0xbc, 0x22, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} }
0851
0852 #define SMBIOS_TABLE_GUID \
0853 { 0xeb9d2d31, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
0854
0855 #define SMBIOS3_TABLE_GUID \
0856 { 0xf2fd1544, 0x9794, 0x4a2c, {0x99, 0x2e, 0xe5, 0xbb, 0xcf, 0x20, 0xe3, 0x94} }
0857
0858 #define SAL_SYSTEM_TABLE_GUID \
0859 { 0xeb9d2d32, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
0860
0861 #define FDT_TABLE_GUID \
0862 { 0xb1b621d5, 0xf19c, 0x41a5, {0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0} }
0863
0864 #define DXE_SERVICES_TABLE_GUID \
0865 { 0x5ad34ba, 0x6f02, 0x4214, {0x95, 0x2e, 0x4d, 0xa0, 0x39, 0x8e, 0x2b, 0xb9} }
0866
0867 #define HOB_LIST_TABLE_GUID \
0868 { 0x7739f24c, 0x93d7, 0x11d4, {0x9a, 0x3a, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
0869
0870 #define LZMA_DECOMPRESSION_GUID \
0871 { 0xee4e5898, 0x3914, 0x4259, {0x9d, 0x6e, 0xdc, 0x7b, 0xd7, 0x94, 0x3, 0xcf} }
0872
0873 #define ARM_MP_CORE_INFO_TABLE_GUID \
0874 { 0xa4ee0728, 0xe5d7, 0x4ac5, {0xb2, 0x1e, 0x65, 0x8e, 0xd8, 0x57, 0xe8, 0x34} }
0875
0876 #define ESRT_TABLE_GUID \
0877 { 0xb122a263, 0x3661, 0x4f68, {0x99, 0x29, 0x78, 0xf8, 0xb0, 0xd6, 0x21, 0x80} }
0878
0879 #define MEMORY_TYPE_INFORMATION_TABLE_GUID \
0880 { 0x4c19049f, 0x4137, 0x4dd3, {0x9c, 0x10, 0x8b, 0x97, 0xa8, 0x3f, 0xfd, 0xfa} }
0881
0882 #define DEBUG_IMAGE_INFO_TABLE_GUID \
0883 { 0x49152e77, 0x1ada, 0x4764, {0xb7, 0xa2, 0x7a, 0xfe, 0xfe, 0xd9, 0x5e, 0x8b} }
0884
0885 typedef struct _EFI_CONFIGURATION_TABLE {
0886 EFI_GUID VendorGuid;
0887 VOID *VendorTable;
0888 } EFI_CONFIGURATION_TABLE;
0889
0890
0891
0892
0893
0894
0895
0896
0897
0898 #define EFI_SYSTEM_TABLE_SIGNATURE 0x5453595320494249
0899 #define EFI_SYSTEM_TABLE_REVISION ((EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION))
0900 #define EFI_1_10_SYSTEM_TABLE_REVISION ((1<<16) | 10)
0901 #define EFI_1_02_SYSTEM_TABLE_REVISION ((1<<16) | 02)
0902
0903 typedef struct _EFI_SYSTEM_TABLE {
0904 EFI_TABLE_HEADER Hdr;
0905
0906 CHAR16 *FirmwareVendor;
0907 UINT32 FirmwareRevision;
0908
0909 EFI_HANDLE ConsoleInHandle;
0910 SIMPLE_INPUT_INTERFACE *ConIn;
0911
0912 EFI_HANDLE ConsoleOutHandle;
0913 SIMPLE_TEXT_OUTPUT_INTERFACE *ConOut;
0914
0915 EFI_HANDLE StandardErrorHandle;
0916 SIMPLE_TEXT_OUTPUT_INTERFACE *StdErr;
0917
0918 EFI_RUNTIME_SERVICES *RuntimeServices;
0919 EFI_BOOT_SERVICES *BootServices;
0920
0921 UINTN NumberOfTableEntries;
0922 EFI_CONFIGURATION_TABLE *ConfigurationTable;
0923
0924 } EFI_SYSTEM_TABLE;
0925
0926
0927
0928
0929 #define EFI_EBC_INTERPRETER_PROTOCOL_GUID \
0930 { 0x13AC6DD1, 0x73D0, 0x11D4, {0xB0, 0x6B, 0x00, 0xAA, 0x00, 0xBD, 0x6D, 0xE7} }
0931
0932 #define EFI_DRIVER_CONFIGURATION2_PROTOCOL_GUID \
0933 { 0xbfd7dc1d, 0x24f1, 0x40d9, {0x82, 0xe7, 0x2e, 0x09, 0xbb, 0x6b, 0x4e, 0xbe} }
0934
0935 #define EFI_DRIVER_CONFIGURATION_PROTOCOL_GUID \
0936 { 0x107a772b, 0xd5e1, 0x11d4, {0x9a, 0x46, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
0937
0938 #define EFI_DRIVER_BINDING_PROTOCOL_GUID \
0939 { 0x18A031AB, 0xB443, 0x4D1A, \
0940 { 0xA5, 0xC0, 0x0C, 0x09, 0x26, 0x1E, 0x9F, 0x71 } \
0941 }
0942
0943 #define EFI_TAPE_IO_PROTOCOL_GUID \
0944 { 0x1e93e633, 0xd65a, 0x459e, \
0945 { 0xab, 0x84, 0x93, 0xd9, 0xec, 0x26, 0x6d, 0x18 } \
0946 }
0947
0948 #define EFI_SCSI_IO_PROTOCOL_GUID \
0949 { 0x932f47e6, 0x2362, 0x4002, \
0950 { 0x80, 0x3e, 0x3c, 0xd5, 0x4b, 0x13, 0x8f, 0x85 } \
0951 }
0952
0953 #define EFI_USB2_HC_PROTOCOL_GUID \
0954 { 0x3e745226, 0x9818, 0x45b6, \
0955 { 0xa2, 0xac, 0xd7, 0xcd, 0x0e, 0x8b, 0xa2, 0xbc } \
0956 }
0957
0958 #define EFI_DEBUG_SUPPORT_PROTOCOL_GUID \
0959 { 0x2755590C, 0x6F3C, 0x42FA, \
0960 { 0x9E, 0xA4, 0xA3, 0xBA, 0x54, 0x3C, 0xDA, 0x25 } \
0961 }
0962
0963 #define EFI_DEBUGPORT_PROTOCOL_GUID \
0964 { 0xEBA4E8D2, 0x3858, 0x41EC, \
0965 { 0xA2, 0x81, 0x26, 0x47, 0xBA, 0x96, 0x60, 0xD0 } \
0966 }
0967
0968 #define EFI_DECOMPRESS_PROTOCOL_GUID \
0969 { 0xd8117cfe, 0x94a6, 0x11d4, \
0970 { 0x9a, 0x3a, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \
0971 }
0972
0973 #define EFI_ACPI_TABLE_PROTOCOL_GUID \
0974 { 0xffe06bdd, 0x6107, 0x46a6, \
0975 { 0x7b, 0xb2, 0x5a, 0x9c, 0x7e, 0xc5, 0x27, 0x5c} \
0976 }
0977
0978 #define EFI_HII_CONFIG_ROUTING_PROTOCOL_GUID \
0979 { 0x587e72d7, 0xcc50, 0x4f79, \
0980 { 0x82, 0x09, 0xca, 0x29, 0x1f, 0xc1, 0xa1, 0x0f } \
0981 }
0982
0983 #define EFI_HII_DATABASE_PROTOCOL_GUID \
0984 { 0xef9fc172, 0xa1b2, 0x4693, \
0985 { 0xb3, 0x27, 0x6d, 0x32, 0xfc, 0x41, 0x60, 0x42 } \
0986 }
0987
0988 #define EFI_HII_STRING_PROTOCOL_GUID \
0989 { 0xfd96974, 0x23aa, 0x4cdc, \
0990 { 0xb9, 0xcb, 0x98, 0xd1, 0x77, 0x50, 0x32, 0x2a } \
0991 }
0992
0993 #define EFI_HII_IMAGE_PROTOCOL_GUID \
0994 { 0x31a6406a, 0x6bdf, 0x4e46, \
0995 { 0xb2, 0xa2, 0xeb, 0xaa, 0x89, 0xc4, 0x9, 0x20 } \
0996 }
0997
0998 #define EFI_HII_FONT_PROTOCOL_GUID \
0999 { 0xe9ca4775, 0x8657, 0x47fc, \
1000 { 0x97, 0xe7, 0x7e, 0xd6, 0x5a, 0x8, 0x43, 0x24 } \
1001 }
1002 #define EFI_HII_CONFIGURATION_ACCESS_PROTOCOL_GUID \
1003 { 0x330d4706, 0xf2a0, 0x4e4f, \
1004 { 0xa3, 0x69, 0xb6, 0x6f, 0xa8, 0xd5, 0x43, 0x85 } \
1005 }
1006
1007 #define EFI_COMPONENT_NAME_PROTOCOL_GUID \
1008 { 0x107a772c, 0xd5e1, 0x11d4, {0x9a, 0x46, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
1009
1010 #define EFI_COMPONENT_NAME2_PROTOCOL_GUID \
1011 { 0x6a7a5cff, 0xe8d9, 0x4f70, \
1012 { 0xba, 0xda, 0x75, 0xab, 0x30, 0x25, 0xce, 0x14} \
1013 }
1014
1015 #define EFI_USB_IO_PROTOCOL_GUID \
1016 { 0x2B2F68D6, 0x0CD2, 0x44cf, \
1017 { 0x8E, 0x8B, 0xBB, 0xA2, 0x0B, 0x1B, 0x5B, 0x75 } \
1018 }
1019 #define EFI_HCDP_TABLE_GUID \
1020 { 0xf951938d, 0x620b, 0x42ef, \
1021 { 0x82, 0x79, 0xa8, 0x4b, 0x79, 0x61, 0x78, 0x98 } \
1022 }
1023
1024 #define EFI_DEVICE_TREE_GUID \
1025 { 0xb1b621d5, 0xf19c, 0x41a5, \
1026 { 0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0 } \
1027 }
1028
1029 #define EFI_VENDOR_APPLE_GUID \
1030 { 0x2B0585EB, 0xD8B8, 0x49A9, \
1031 { 0x8B, 0x8C, 0xE2, 0x1B, 0x01, 0xAE, 0xF2, 0xB7 } \
1032 }
1033
1034 #define EFI_CONSOLE_IN_DEVICE_GUID \
1035 { 0xd3b36f2b, 0xd551, 0x11d4, {0x9a, 0x46, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
1036
1037 #define EFI_CONSOLE_OUT_DEVICE_GUID \
1038 { 0xd3b36f2c, 0xd551, 0x11d4, {0x9a, 0x46, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
1039
1040 #define EFI_STANDARD_ERROR_DEVICE_GUID \
1041 { 0xd3b36f2d, 0xd551, 0x11d4, {0x9a, 0x46, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
1042
1043 #define EFI_UNICODE_COLLATION2_PROTOCOL_GUID \
1044 { 0xa4c751fc, 0x23ae, 0x4c3e, {0x92, 0xe9, 0x49, 0x64, 0xcf, 0x63, 0xf3, 0x49} }
1045
1046 #define EFI_FORM_BROWSER2_PROTOCOL_GUID \
1047 { 0xb9d4c360, 0xbcfb, 0x4f9b, {0x92, 0x98, 0x53, 0xc1, 0x36, 0x98, 0x22, 0x58} }
1048
1049 #define EFI_ARP_SERVICE_BINDING_PROTOCOL_GUID \
1050 { 0xf44c00ee, 0x1f2c, 0x4a00, {0xaa, 0x9, 0x1c, 0x9f, 0x3e, 0x8, 0x0, 0xa3} }
1051
1052 #define EFI_ARP_PROTOCOL_GUID \
1053 { 0xf4b427bb, 0xba21, 0x4f16, {0xbc, 0x4e, 0x43, 0xe4, 0x16, 0xab, 0x61, 0x9c} }
1054
1055 #define EFI_IP4_CONFIG_PROTOCOL_GUID \
1056 { 0x3b95aa31, 0x3793, 0x434b, {0x86, 0x67, 0xc8, 0x07, 0x08, 0x92, 0xe0, 0x5e} }
1057
1058 #define EFI_IP6_CONFIG_PROTOCOL_GUID \
1059 { 0x937fe521, 0x95ae, 0x4d1a, {0x89, 0x29, 0x48, 0xbc, 0xd9, 0x0a, 0xd3, 0x1a} }
1060
1061 #define EFI_MANAGED_NETWORK_SERVICE_BINDING_PROTOCOL_GUID \
1062 { 0xf36ff770, 0xa7e1, 0x42cf, {0x9e, 0xd2, 0x56, 0xf0, 0xf2, 0x71, 0xf4, 0x4c} }
1063
1064 #define EFI_MANAGED_NETWORK_PROTOCOL_GUID \
1065 { 0x7ab33a91, 0xace5, 0x4326, {0xb5, 0x72, 0xe7, 0xee, 0x33, 0xd3, 0x9f, 0x16} }
1066
1067 #define EFI_MTFTP4_SERVICE_BINDING_PROTOCOL_GUID \
1068 { 0x2FE800BE, 0x8F01, 0x4aa6, {0x94, 0x6B, 0xD7, 0x13, 0x88, 0xE1, 0x83, 0x3F} }
1069
1070 #define EFI_MTFTP4_PROTOCOL_GUID \
1071 { 0x78247c57, 0x63db, 0x4708, {0x99, 0xc2, 0xa8, 0xb4, 0xa9, 0xa6, 0x1f, 0x6b} }
1072
1073 #define EFI_MTFTP6_SERVICE_BINDING_PROTOCOL_GUID \
1074 { 0xd9760ff3, 0x3cca, 0x4267, {0x80, 0xf9, 0x75, 0x27, 0xfa, 0xfa, 0x42, 0x23} }
1075
1076 #define EFI_MTFTP6_PROTOCOL_GUID \
1077 { 0xbf0a78ba, 0xec29, 0x49cf, {0xa1, 0xc9, 0x7a, 0xe5, 0x4e, 0xab, 0x6a, 0x51} }
1078
1079 #define EFI_DHCP4_PROTOCOL_GUID \
1080 { 0x8a219718, 0x4ef5, 0x4761, {0x91, 0xc8, 0xc0, 0xf0, 0x4b, 0xda, 0x9e, 0x56} }
1081
1082 #define EFI_DHCP4_SERVICE_BINDING_PROTOCOL_GUID \
1083 { 0x9d9a39d8, 0xbd42, 0x4a73, {0xa4, 0xd5, 0x8e, 0xe9, 0x4b, 0xe1, 0x13, 0x80} }
1084
1085 #define EFI_DHCP6_SERVICE_BINDING_PROTOCOL_GUID \
1086 { 0x9fb9a8a1, 0x2f4a, 0x43a6, {0x88, 0x9c, 0xd0, 0xf7, 0xb6, 0xc4, 0x7a, 0xd5} }
1087
1088 #define EFI_DHCP6_PROTOCOL_GUID \
1089 { 0x87c8bad7, 0x595, 0x4053, {0x82, 0x97, 0xde, 0xde, 0x39, 0x5f, 0x5d, 0x5b} }
1090
1091 #define EFI_SCSI_PASS_THRU_PROTOCOL_GUID \
1092 { 0xa59e8fcf, 0xbda0, 0x43bb, {0x90, 0xb1, 0xd3, 0x73, 0x2e, 0xca, 0xa8, 0x77} }
1093
1094 #define EFI_EXT_SCSI_PASS_THRU_PROTOCOL_GUID \
1095 { 0x143b7632, 0xb81b, 0x4cb7, {0xab, 0xd3, 0xb6, 0x25, 0xa5, 0xb9, 0xbf, 0xfe} }
1096
1097 #define EFI_DISK_INFO_PROTOCOL_GUID \
1098 { 0xd432a67f, 0x14dc, 0x484b, {0xb3, 0xbb, 0x3f, 0x2, 0x91, 0x84, 0x93, 0x27} }
1099
1100 #define EFI_ISA_IO_PROTOCOL_GUID \
1101 { 0x7ee2bd44, 0x3da0, 0x11d4, { 0x9a, 0x38, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
1102
1103 #define EFI_VLAN_CONFIG_PROTOCOL_GUID \
1104 { 0x9e23d768, 0xd2f3, 0x4366, {0x9f, 0xc3, 0x3a, 0x7a, 0xba, 0x86, 0x43, 0x74} }
1105
1106 #define EFI_IDE_CONTROLLER_INIT_PROTOCOL_GUID \
1107 { 0xa1e37052, 0x80d9, 0x4e65, {0xa3, 0x17, 0x3e, 0x9a, 0x55, 0xc4, 0x3e, 0xc9} }
1108
1109 #define EFI_ISA_ACPI_PROTOCOL_GUID \
1110 { 0x64a892dc, 0x5561, 0x4536, {0x92, 0xc7, 0x79, 0x9b, 0xfc, 0x18, 0x33, 0x55} }
1111
1112 #define EFI_PCI_ENUMERATION_COMPLETE_GUID \
1113 { 0x30cfe3e7, 0x3de1, 0x4586, {0xbe, 0x20, 0xde, 0xab, 0xa1, 0xb3, 0xb7, 0x93} }
1114
1115 #define EFI_DRIVER_DIAGNOSTICS_PROTOCOL_GUID \
1116 { 0x0784924f, 0xe296, 0x11d4, {0x9a, 0x49, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } }
1117
1118 #define EFI_DRIVER_DIAGNOSTICS2_PROTOCOL_GUID \
1119 { 0x4d330321, 0x025f, 0x4aac, {0x90, 0xd8, 0x5e, 0xd9, 0x00, 0x17, 0x3b, 0x63} }
1120
1121 #define EFI_CAPSULE_ARCH_PROTOCOL_GUID \
1122 { 0x5053697e, 0x2cbc, 0x4819, {0x90, 0xd9, 0x05, 0x80, 0xde, 0xee, 0x57, 0x54} }
1123
1124 #define EFI_MONOTONIC_COUNTER_ARCH_PROTOCOL_GUID \
1125 {0x1da97072, 0xbddc, 0x4b30, {0x99, 0xf1, 0x72, 0xa0, 0xb5, 0x6f, 0xff, 0x2a} }
1126
1127 #define EFI_REALTIME_CLOCK_ARCH_PROTOCOL_GUID \
1128 {0x27cfac87, 0x46cc, 0x11d4, {0x9a, 0x38, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
1129
1130 #define EFI_MP_SERVICES_PROTOCOL_GUID \
1131 { 0x3fdda605, 0xa76e, 0x4f46, {0xad, 0x29, 0x12, 0xf4, 0x53, 0x1b, 0x3d, 0x08} }
1132
1133 #define EFI_VARIABLE_ARCH_PROTOCOL_GUID \
1134 { 0x1e5668e2, 0x8481, 0x11d4, {0xbc, 0xf1, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } }
1135
1136 #define EFI_VARIABLE_WRITE_ARCH_PROTOCOL_GUID \
1137 { 0x6441f818, 0x6362, 0x4e44, {0xb5, 0x70, 0x7d, 0xba, 0x31, 0xdd, 0x24, 0x53} }
1138
1139 #define EFI_WATCHDOG_TIMER_ARCH_PROTOCOL_GUID \
1140 { 0x6441f818, 0x6362, 0x4e44, {0xb5, 0x70, 0x7d, 0xba, 0x31, 0xdd, 0x24, 0x53} }
1141
1142 #define EFI_ACPI_SUPPORT_PROTOCOL_GUID \
1143 { 0x6441f818, 0x6362, 0x4e44, {0xb5, 0x70, 0x7d, 0xba, 0x31, 0xdd, 0x24, 0x53} }
1144
1145 #define EFI_BDS_ARCH_PROTOCOL_GUID \
1146 { 0x665e3ff6, 0x46cc, 0x11d4, {0x9a, 0x38, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
1147
1148 #define EFI_METRONOME_ARCH_PROTOCOL_GUID \
1149 { 0x26baccb2, 0x6f42, 0x11d4, {0xbc, 0xe7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } }
1150
1151 #define EFI_TIMER_ARCH_PROTOCOL_GUID \
1152 { 0x26baccb3, 0x6f42, 0x11d4, {0xbc, 0xe7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } }
1153
1154 #define EFI_DPC_PROTOCOL_GUID \
1155 { 0x480f8ae9, 0xc46, 0x4aa9, { 0xbc, 0x89, 0xdb, 0x9f, 0xba, 0x61, 0x98, 0x6} }
1156
1157 #define EFI_PRINT2_PROTOCOL_GUID \
1158 { 0xf05976ef, 0x83f1, 0x4f3d, {0x86, 0x19, 0xf7, 0x59, 0x5d, 0x41, 0xe5, 0x38} }
1159
1160 #define EFI_RESET_ARCH_PROTOCOL_GUID \
1161 { 0x27cfac88, 0x46cc, 0x11d4, {0x9a, 0x38, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d} }
1162
1163 #define EFI_CPU_ARCH_PROTOCOL_GUID \
1164 { 0x26baccb1, 0x6f42, 0x11d4, {0xbc, 0xe7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } }
1165
1166 #define EFI_CPU_IO2_PROTOCOL_GUID \
1167 { 0xad61f191, 0xae5f, 0x4c0e, {0xb9, 0xfa, 0xe8, 0x69, 0xd2, 0x88, 0xc6, 0x4f} }
1168
1169 #define EFI_LEGACY_8259_PROTOCOL_GUID \
1170 { 0x38321dba, 0x4fe0, 0x4e17, {0x8a, 0xec, 0x41, 0x30, 0x55, 0xea, 0xed, 0xc1} }
1171
1172 #define EFI_SECURITY_ARCH_PROTOCOL_GUID \
1173 { 0xa46423e3, 0x4617, 0x49f1, {0xb9, 0xff, 0xd1, 0xbf, 0xa9, 0x11, 0x58, 0x39} }
1174
1175 #define EFI_SECURITY2_ARCH_PROTOCOL_GUID \
1176 { 0x94ab2f58, 0x1438, 0x4ef1, {0x91, 0x52, 0x18, 0x94, 0x1a, 0x3a, 0x0e, 0x68} }
1177
1178 #define EFI_RUNTIME_ARCH_PROTOCOL_GUID \
1179 { 0xb7dfb4e1, 0x52f, 0x449f, {0x87, 0xbe, 0x98, 0x18, 0xfc, 0x91, 0xb7, 0x33} }
1180
1181 #define EFI_STATUS_CODE_RUNTIME_PROTOCOL_GUID \
1182 { 0xd2b2b828, 0x826, 0x48a7, {0xb3, 0xdf, 0x98, 0x3c, 0x0, 0x60, 0x24, 0xf0} }
1183
1184 #define EFI_DATA_HUB_PROTOCOL_GUID \
1185 { 0xae80d021, 0x618e, 0x11d4, {0xbc, 0xd7, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} }
1186
1187 #define PCD_PROTOCOL_GUID \
1188 { 0x11b34006, 0xd85b, 0x4d0a, { 0xa2, 0x90, 0xd5, 0xa5, 0x71, 0x31, 0xe, 0xf7} }
1189
1190 #define EFI_PCD_PROTOCOL_GUID \
1191 { 0x13a3f0f6, 0x264a, 0x3ef0, {0xf2, 0xe0, 0xde, 0xc5, 0x12, 0x34, 0x2f, 0x34} }
1192
1193 #define EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL_GUID \
1194 { 0x8f644fa9, 0xe850, 0x4db1, {0x9c, 0xe2, 0xb, 0x44, 0x69, 0x8e, 0x8d, 0xa4 } }
1195
1196 #define EFI_FIRMWARE_VOLUME2_PROTOCOL_GUID \
1197 { 0x220e73b6, 0x6bdb, 0x4413, { 0x84, 0x5, 0xb9, 0x74, 0xb1, 0x8, 0x61, 0x9a } }
1198
1199 #define EFI_FIRMWARE_VOLUME_DISPATCH_PROTOCOL_GUID \
1200 { 0x7aa35a69, 0x506c, 0x444f, {0xa7, 0xaf, 0x69, 0x4b, 0xf5, 0x6f, 0x71, 0xc8} }
1201
1202 #define LZMA_COMPRESS_GUID \
1203 { 0xee4e5898, 0x3914, 0x4259, {0x9d, 0x6e, 0xdc, 0x7b, 0xd7, 0x94, 0x03, 0xcf} }
1204 #endif