Finished EFI System Table and EFI Simple Text Input Protocol
This commit is contained in:
parent
9d885a0986
commit
25966996e3
1 changed files with 42 additions and 9 deletions
51
efi.h
51
efi.h
|
@ -25,6 +25,26 @@
|
||||||
#define TPL_HIGH_LEVEL 31
|
#define TPL_HIGH_LEVEL 31
|
||||||
//
|
//
|
||||||
|
|
||||||
|
// EFI System Table Revisions
|
||||||
|
#define EFI_SYSTEM_TABLE_SIGNATURE 0x5453595320494249
|
||||||
|
#define EFI_2_100_SYSTEM_TABLE_REVISION ((2<<16) | (100))
|
||||||
|
#define EFI_2_90_SYSTEM_TABLE_REVISION ((2<<16) | (90))
|
||||||
|
#define EFI_2_80_SYSTEM_TABLE_REVISION ((2<<16) | (80))
|
||||||
|
#define EFI_2_70_SYSTEM_TABLE_REVISION ((2<<16) | (70))
|
||||||
|
#define EFI_2_60_SYSTEM_TABLE_REVISION ((2<<16) | (60))
|
||||||
|
#define EFI_2_50_SYSTEM_TABLE_REVISION ((2<<16) | (50))
|
||||||
|
#define EFI_2_40_SYSTEM_TABLE_REVISION ((2<<16) | (40))
|
||||||
|
#define EFI_2_31_SYSTEM_TABLE_REVISION ((2<<16) | (31))
|
||||||
|
#define EFI_2_30_SYSTEM_TABLE_REVISION ((2<<16) | (30))
|
||||||
|
#define EFI_2_20_SYSTEM_TABLE_REVISION ((2<<16) | (20))
|
||||||
|
#define EFI_2_10_SYSTEM_TABLE_REVISION ((2<<16) | (10))
|
||||||
|
#define EFI_2_00_SYSTEM_TABLE_REVISION ((2<<16) | (00))
|
||||||
|
#define EFI_1_10_SYSTEM_TABLE_REVISION ((1<<16) | (10))
|
||||||
|
#define EFI_1_02_SYSTEM_TABLE_REVISION ((1<<16) | (02))
|
||||||
|
#define EFI_SPECIFICATION_VERSION EFI_SYSTEM_TABLE_REVISION
|
||||||
|
#define EFI_SYSTEM_TABLE_REVISION EFI_2_100_SYSTEM_TABLE_REVISION
|
||||||
|
//
|
||||||
|
|
||||||
// OS Indications
|
// OS Indications
|
||||||
#define EFI_OS_INDICATIONS_BOOT_TO_FW_UI 0x0000000000000001
|
#define EFI_OS_INDICATIONS_BOOT_TO_FW_UI 0x0000000000000001
|
||||||
#define EFI_OS_INDICATIONS_TIMESTAMP_REVOCATION 0x0000000000000002
|
#define EFI_OS_INDICATIONS_TIMESTAMP_REVOCATION 0x0000000000000002
|
||||||
|
@ -355,6 +375,13 @@ EFI_STATUS
|
||||||
OUT EFI_INPUT_KEY *Key
|
OUT EFI_INPUT_KEY *Key
|
||||||
);
|
);
|
||||||
|
|
||||||
|
typedef
|
||||||
|
EFI_STATUS
|
||||||
|
(EFIAPI *EFI_INPUT_RESET)(
|
||||||
|
IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *This,
|
||||||
|
IN BOOLEAN ExtendedVerification
|
||||||
|
);
|
||||||
|
|
||||||
// EFI Simple Text Output Protocol
|
// EFI Simple Text Output Protocol
|
||||||
|
|
||||||
typedef
|
typedef
|
||||||
|
@ -907,9 +934,9 @@ typedef struct EFI_DEVICE_PATH_PROTOCOL {
|
||||||
|
|
||||||
// EFI Simple Text Input Protocol
|
// EFI Simple Text Input Protocol
|
||||||
typedef struct EFI_SIMPLE_TEXT_INPUT_PROTOCOL {
|
typedef struct EFI_SIMPLE_TEXT_INPUT_PROTOCOL {
|
||||||
void *Reset;
|
EFI_INPUT_RESET Reset;
|
||||||
EFI_INPUT_READ_KEY ReadKeyStroke;
|
EFI_INPUT_READ_KEY ReadKeyStroke;
|
||||||
void *WaitForKey;
|
EFI_EVENT WaitForKey;
|
||||||
} EFI_SIMPLE_TEXT_INPUT_PROTOCOL;
|
} EFI_SIMPLE_TEXT_INPUT_PROTOCOL;
|
||||||
|
|
||||||
// EFI Simple Text Output Protocol
|
// EFI Simple Text Output Protocol
|
||||||
|
@ -986,7 +1013,7 @@ typedef struct EFI_BOOT_SERVICES {
|
||||||
EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface;
|
EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface;
|
||||||
EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface;
|
EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface;
|
||||||
EFI_HANDLE_PROTOCOL HandleProtocol;
|
EFI_HANDLE_PROTOCOL HandleProtocol;
|
||||||
void *Reserved;
|
VOID *Reserved;
|
||||||
EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify;
|
EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify;
|
||||||
EFI_LOCATE_HANDLE LocateHandle;
|
EFI_LOCATE_HANDLE LocateHandle;
|
||||||
EFI_LOCATE_DEVICE_PATH LocateDevicePath;
|
EFI_LOCATE_DEVICE_PATH LocateDevicePath;
|
||||||
|
@ -1035,22 +1062,28 @@ typedef struct {
|
||||||
VOID *CapsulePtr[ANYSIZE_ARRAY];
|
VOID *CapsulePtr[ANYSIZE_ARRAY];
|
||||||
} EFI_CAPSULE_TABLE;
|
} EFI_CAPSULE_TABLE;
|
||||||
|
|
||||||
|
// EFI Configuration Table
|
||||||
|
typedef struct {
|
||||||
|
EFI_GUID VendorGuid;
|
||||||
|
VOID *VendorTable;
|
||||||
|
} EFI_CONFIGURATION_TABLE;
|
||||||
|
|
||||||
// EFI System Table
|
// EFI System Table
|
||||||
typedef struct EFI_SYSTEM_TABLE {
|
typedef struct EFI_SYSTEM_TABLE {
|
||||||
EFI_TABLE_HEADER Hdr;
|
EFI_TABLE_HEADER Hdr;
|
||||||
|
|
||||||
void *FirmwareVendor;
|
CHAR16 *FirmwareVendor;
|
||||||
UINT32 FirmwareRevision;
|
UINT32 FirmwareRevision;
|
||||||
void *ConsoleInHandle;
|
EFI_HANDLE ConsoleInHandle;
|
||||||
EFI_SIMPLE_TEXT_INPUT_PROTOCOL *ConIn;
|
EFI_SIMPLE_TEXT_INPUT_PROTOCOL *ConIn;
|
||||||
void *ConsoleOutHandle;
|
EFI_HANDLE ConsoleOutHandle;
|
||||||
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *ConOut;
|
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *ConOut;
|
||||||
void *StandardErrorHandle;
|
EFI_HANDLE StandardErrorHandle;
|
||||||
void *StdErr;
|
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *StdErr;
|
||||||
EFI_RUNTIME_SERVICES *RuntimeServices;
|
EFI_RUNTIME_SERVICES *RuntimeServices;
|
||||||
EFI_BOOT_SERVICES *BootServices;
|
EFI_BOOT_SERVICES *BootServices;
|
||||||
UINTN NumberOfTableEntries;
|
UINTN NumberOfTableEntries;
|
||||||
void *ConfigurationTable;
|
EFI_CONFIGURATION_TABLE *ConfigurationTable;
|
||||||
} EFI_SYSTEM_TABLE;
|
} EFI_SYSTEM_TABLE;
|
||||||
|
|
||||||
#endif /* EFI_H */
|
#endif /* EFI_H */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue