Rewrite and reorganize the entire codebase
This commit is contained in:
parent
01c1e3aa2e
commit
937e50d0ee
19 changed files with 1422 additions and 1339 deletions
32
protocols/boot_manager_policy.h
Normal file
32
protocols/boot_manager_policy.h
Normal file
|
@ -0,0 +1,32 @@
|
|||
#ifndef EFI_PROTOCOLS_BOOT_MANAGER_POLICY_H
|
||||
#define EFI_PROTOCOLS_BOOT_MANAGER_POLICY_H
|
||||
|
||||
#define EFI_BOOT_MANAGER_POLICY_PROTOCOL_GUID {0xfedf8e0c,0xe147,0x11e3, {0x99,0x03,0xb8,0xe8,0x56,0x2c,0xba,0xfa}}
|
||||
#define EFI_BOOT_MANAGER_POLICY_CONSOLE_GUID {0xcab0e94c,0xe15f,0x11e3, {0x91,0x8d,0xb8,0xe8,0x56,0x2c,0xba,0xfa}}
|
||||
#define EFI_BOOT_MANAGER_POLICY_NETWORK_GUID {0xd04159dc,0xe15f,0x11e3, {0xb2,0x61,0xb8,0xe8,0x56,0x2c,0xba,0xfa}}
|
||||
#define EFI_BOOT_MANAGER_POLICY_CONNECT_ALL_GUID {0x113b2126, 0xfc8a, 0x11e3, {0xbd,0x6c,0xb8,0xe8,0x56,0x2c,0xba,0xfa}}
|
||||
|
||||
#define EFI_BOOT_MANAGER_POLICY_PROTOCOL_REVISION 0x00010000
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BOOT_MANAGER_POLICY_CONNECT_DEVICE_PATH)(
|
||||
IN EFI_BOOT_MANAGER_POLICY_PROTOCOL *This,
|
||||
IN EFI_DEVICE_PATH *DevicePath,
|
||||
IN BOOLEAN Recursive
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BOOT_MANAGER_POLICY_CONNECT_DEVICE_CLASS)(
|
||||
IN EFI_BOOT_MANAGER_POLICY_PROTOCOL *This,
|
||||
IN EFI_GUID *Class
|
||||
);
|
||||
|
||||
typedef struct _EFI_BOOT_MANAGER_POLICY_PROTOCOL {
|
||||
UINT64 Revision;
|
||||
EFI_BOOT_MANAGER_POLICY_CONNECT_DEVICE_PATH ConnectDevicePath;
|
||||
EFI_BOOT_MANAGER_POLICY_CONNECT_DEVICE_CLASS ConnectDeviceClass;
|
||||
} EFI_BOOT_MANAGER_POLICY_PROTOCOL;
|
||||
|
||||
#endif /* EFI_PROTOCOLS_BOOT_MANAGER_POLICY_H */
|
19
protocols/bus_specific_driver_override.h
Normal file
19
protocols/bus_specific_driver_override.h
Normal file
|
@ -0,0 +1,19 @@
|
|||
#ifndef EFI_PROTOCOLS_BUS_SPECIFIC_DRIVER_OVERRIDE_H
|
||||
#define EFI_PROTOCOLS_BUS_SPECIFIC_DRIVER_OVERRIDE_H
|
||||
|
||||
#define EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL_GUID {0x3bc1b285,0x8a15,0x4a82, {0xaa,0xbf,0x4d,0x7d,0x13,0xfb,0x32,0x65}}
|
||||
|
||||
typedef struct _EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_GET_DRIVER)(
|
||||
IN EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL *This,
|
||||
IN OUT EFI_HANDLE *DriverImageHandle
|
||||
);
|
||||
|
||||
typedef struct _EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL {
|
||||
EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_GET_DRIVER GetDriver;
|
||||
} EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL;
|
||||
|
||||
#endif /* EFI_PROTOCOLS_BUS_SPECIFIC_DRIVER_OVERRIDE_H */
|
12
protocols/device_path.h
Normal file
12
protocols/device_path.h
Normal file
|
@ -0,0 +1,12 @@
|
|||
#ifndef EFI_PROTOCOLS_DEVICE_PATH_H
|
||||
#define EFI_PROTOCOLS_DEVICE_PATH_H
|
||||
|
||||
#define EFI_DEVICE_PATH_PROTOCOL_GUID {0x09576e91,0x6d3f,0x11d2,{0x8e,0x39,0x00,0xa0,0xc9,0x69,0x72,0x3b}}
|
||||
|
||||
typedef struct _EFI_DEVICE_PATH_PROTOCOL {
|
||||
UINT8 Type;
|
||||
UINT8 SubType;
|
||||
UINT8 Length[2];
|
||||
} EFI_DEVICE_PATH_PROTOCOL;
|
||||
|
||||
#endif /* EFI_PROTOCOLS_DEVICE_PATH_H */
|
40
protocols/driver_binding.h
Normal file
40
protocols/driver_binding.h
Normal file
|
@ -0,0 +1,40 @@
|
|||
#ifndef EFI_PROTOCOLS_DRIVER_BINDING_H
|
||||
#define EFI_PROTOCOLS_DRIVER_BINDING_H
|
||||
|
||||
#define EFI_DRIVER_BINDING_PROTOCOL_GUID {0x18a031ab,0xb443,0x4d1a, {0xa5,0xc0,0x0c,0x09,0x26,0x1e,0x9f,0x71}}
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_DRIVER_BINDING_PROTOCOL_SUPPORTED)(
|
||||
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_DRIVER_BINDING_PROTOCOL_START)(
|
||||
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_DRIVER_BINDING_PROTOCOL_STOP)(
|
||||
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN UINTN NumberOfChildren,
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *ChildHandleBuffer OPTIONAL
|
||||
);
|
||||
|
||||
typedef struct _EFI_DRIVER_BINDING_PROTOCOL {
|
||||
EFI_DRIVER_BINDING_PROTOCOL_SUPPORTED Supported;
|
||||
EFI_DRIVER_BINDING_PROTOCOL_START Start;
|
||||
EFI_DRIVER_BINDING_PROTOCOL_STOP Stop;
|
||||
UINT32 Version;
|
||||
EFI_HANDLE ImageHandle;
|
||||
EFI_HANDLE DriverBindingHandle;
|
||||
} EFI_DRIVER_BINDING_PROTOCOL;
|
||||
|
||||
#endif /* EFI_PROTOCOLS_DRIVER_BINDING_H */
|
156
protocols/file.h
Normal file
156
protocols/file.h
Normal file
|
@ -0,0 +1,156 @@
|
|||
#ifndef EFI_PROTOCOLS_FILE_H
|
||||
#define EFI_PROTOCOLS_FILE_H
|
||||
|
||||
#define EFI_FILE_PROTOCOL_REVISION 0x00010000
|
||||
#define EFI_FILE_PROTOCOL_REVISION2 0x00020000
|
||||
#define EFI_FILE_PROTOCOL_LATEST_REVISION EFI_FILE_PROTOCOL_REVISION2
|
||||
|
||||
#define EFI_FILE_MODE_READ 0x0000000000000001
|
||||
#define EFI_FILE_MODE_WRITE 0x0000000000000002
|
||||
#define EFI_FILE_MODE_CREATE 0x8000000000000000
|
||||
|
||||
#define EFI_FILE_READ_ONLY 0x0000000000000001
|
||||
#define EFI_FILE_HIDDEN 0x0000000000000002
|
||||
#define EFI_FILE_SYSTEM 0x0000000000000004
|
||||
#define EFI_FILE_RESERVED 0x0000000000000008
|
||||
#define EFI_FILE_DIRECTORY 0x0000000000000010
|
||||
#define EFI_FILE_ARCHIVE 0x0000000000000020
|
||||
#define EFI_FILE_VALID_ATTR 0x0000000000000037
|
||||
|
||||
typedef struct {
|
||||
EFI_EVENT Event;
|
||||
EFI_STATUS Status;
|
||||
UINTN BufferSize;
|
||||
VOID *Buffer;
|
||||
} EFI_FILE_IO_TOKEN;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_FILE_OPEN)(
|
||||
IN EFI_FILE_PROTOCOL *This,
|
||||
OUT EFI_FILE_PROTOCOL **NewHandle,
|
||||
IN CHAR16 *FileName,
|
||||
IN UINT64 OpenMode,
|
||||
IN UINT64 Attributes
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_FILE_CLOSE)(
|
||||
IN EFI_FILE_PROTOCOL *This
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_FILE_DELETE)(
|
||||
IN EFI_FILE_PROTOCOL *This
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_FILE_READ)(
|
||||
IN EFI_FILE_PROTOCOL *This,
|
||||
IN OUT UINTN *BufferSize,
|
||||
OUT VOID *Buffer
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_FILE_WRITE)(
|
||||
IN EFI_FILE_PROTOCOL *This,
|
||||
IN OUT UINTN *BufferSize,
|
||||
IN VOID *Buffer
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_FILE_GET_POSITION)(
|
||||
IN EFI_FILE_PROTOCOL *This,
|
||||
OUT UINT64 Position
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_FILE_SET_POSITION)(
|
||||
IN EFI_FILE_PROTOCOL *This,
|
||||
IN UINT64 Position
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_FILE_GET_INFO)(
|
||||
IN EFI_FILE_PROTOCOL *This,
|
||||
IN EFI_GUID *InformationType,
|
||||
IN OUT UINTN *BufferSize,
|
||||
OUT VOID *Buffer
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_FILE_SET_INFO)(
|
||||
IN EFI_FILE_PROTOCOL *This,
|
||||
IN EFI_GUID *InformationType,
|
||||
IN UINTN BufferSize,
|
||||
IN VOID *Buffer
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_FILE_FLUSH)(
|
||||
IN EFI_FILE_PROTOCOL *This
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_FILE_OPEN_EX)(
|
||||
IN EFI_FILE_PROTOCOL *This,
|
||||
OUT EFI_FILE_PROTOCOL **NewHandle,
|
||||
IN CHAR16 *FileName,
|
||||
IN UINT64 OpenMode,
|
||||
IN UINT64 Attributes,
|
||||
IN OUT EFI_FILE_IO_TOKEN *Token
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_FILE_READ_EX)(
|
||||
IN EFI_FILE_PROTOCOL *This,
|
||||
IN OUT EFI_FILE_IO_TOKEN *Token
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_FILE_WRITE_EX)(
|
||||
IN EFI_FILE_PROTOCOL *This,
|
||||
IN OUT EFI_FILE_IO_TOKEN *Token
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_FILE_FLUSH_EX)(
|
||||
IN EFI_FILE_PROTOCOL *This,
|
||||
IN OUT EFI_FILE_IO_TOKEN *Token
|
||||
);
|
||||
|
||||
typedef struct _EFI_FILE_PROTOCOL {
|
||||
UINT64 Revision;
|
||||
|
||||
EFI_FILE_OPEN Open;
|
||||
EFI_FILE_CLOSE Close;
|
||||
EFI_FILE_DELETE Delete;
|
||||
EFI_FILE_READ Read;
|
||||
EFI_FILE_WRITE Write;
|
||||
EFI_FILE_GET_POSITION GetPosition;
|
||||
EFI_FILE_SET_POSITION SetPosition;
|
||||
EFI_FILE_GET_INFO GetInfo;
|
||||
EFI_FILE_SET_INFO SetInfo;
|
||||
EFI_FILE_FLUSH Flush;
|
||||
|
||||
// Added for revision 2
|
||||
EFI_FILE_OPEN_EX OpenEx;
|
||||
EFI_FILE_READ_EX ReadEx;
|
||||
EFI_FILE_WRITE_EX WriteEx;
|
||||
EFI_FILE_FLUSH_EX FlushEx;
|
||||
} EFI_FILE_PROTOCOL;
|
||||
|
||||
#endif /* EFI_PROTOCOLS_FILE_H */
|
34
protocols/loaded_image.h
Normal file
34
protocols/loaded_image.h
Normal file
|
@ -0,0 +1,34 @@
|
|||
#ifndef EFI_PROTOCOLS_LOADED_IMAGE_H
|
||||
#define EFI_PROTOCOLS_LOADED_IMAGE_H
|
||||
|
||||
#define EFI_LOADED_IMAGE_PROTOCOL_GUID {0x5b1b31a1,0x9562,0x11d2, {0x8e,0x3f,0x00,0xa0,0xc9,0x69,0x72,0x3b}}
|
||||
|
||||
#define EFI_LOADED_IMAGE_PROTOCOL_VERSION 0x1000
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_IMAGE_UNLOAD)(
|
||||
IN EFI_HANDLE ImageHandle
|
||||
);
|
||||
|
||||
typedef struct _EFI_LOADED_IMAGE_PROTOCOL {
|
||||
UINT32 Revision;
|
||||
EFI_HANDLE ParentHandle;
|
||||
EFI_SYSTEM_TABLE *SystemTable;
|
||||
|
||||
// Source location of the image
|
||||
EFI_HANDLE DeviceHandle;
|
||||
EFI_DEVICE_PATH_PROTOCOL *FilePath;
|
||||
VOID *Reserved;
|
||||
|
||||
UINT32 LoadOptionsSize;
|
||||
VOID *LoadOptions;
|
||||
|
||||
VOID *ImageBase;
|
||||
UINT64 ImageSize;
|
||||
EFI_MEMORY_TYPE ImageCodeType;
|
||||
EFI_MEMORY_TYPE ImageDataType;
|
||||
EFI_IMAGE_UNLOAD Unload;
|
||||
} EFI_LOADED_IMAGE_PROTOCOL;
|
||||
|
||||
#endif /* EFI_PROTOCOLS_LOADED_IMAGE_H */
|
12
protocols/loaded_image_device_path.h
Normal file
12
protocols/loaded_image_device_path.h
Normal file
|
@ -0,0 +1,12 @@
|
|||
#ifndef EFI_PROTOCOLS_LOADED_IMAGE_DEVICE_PATH_H
|
||||
#define EFI_PROTOCOLS_LOADED_IMAGE_DEVICE_PATH_H
|
||||
|
||||
#define EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL_GUID {0xbc62157e,0x3e33,0x4fec, {0x99,0x20,0x2d,0x3b,0x36,0xd7,0x50,0xdf}}
|
||||
|
||||
// UEFI Spec 2.10, 9.2.1:
|
||||
// The Loaded Image Device Path Protocol uses the same protocol interface structure as the Device Path Protocol defined
|
||||
// in Chapter 9. The only difference between the Device Path Protocol and the Loaded Image Device Path Protocol is
|
||||
// the protocol GUID value.
|
||||
typedef EFI_DEVICE_PATH_PROTOCOL EFI_LOADED_IMAGE_DEVICE_PATH_PROTOCOL;
|
||||
|
||||
#endif /* EFI_PROTOCOLS_LOADED_IMAGE_DEVICE_PATH_H */
|
39
protocols/platform_driver_override.h
Normal file
39
protocols/platform_driver_override.h
Normal file
|
@ -0,0 +1,39 @@
|
|||
#ifndef EFI_PLATFORMS_PLATFORM_DRIVER_OVERRIDE_H
|
||||
#define EFI_PLATFORMS_PLATFORM_DRIVER_OVERRIDE_H
|
||||
|
||||
#define EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL_GUID {0x6b30c738,0xa391,0x11d4, {0x9a,0x3b,0x00,0x90,0x27,0x3f,0xc1,0x4d}}
|
||||
|
||||
typedef struct _EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PLATFORM_DRIVER_OVERRIDE_GET_DRIVER)(
|
||||
IN EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL *This,
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN OUT EFI_HANDLE *DriverImageHandle
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PLATFORM_DRIVER_OVERRIDE_GET_DRIVER_PATH)(
|
||||
IN EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL *This,
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN OUT EFI_DEVICE_PATH_PROTOCOL **DriverImagePath
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_PLATFORM_DRIVER_OVERRIDE_DRIVER_LOADED)(
|
||||
IN EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL *This,
|
||||
IN EFI_HANDLE ControllerHandle,
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *DriverImagePath,
|
||||
IN EFI_HANDLE DriverImageHandle
|
||||
);
|
||||
|
||||
typedef struct _EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL {
|
||||
EFI_PLATFORM_DRIVER_OVERRIDE_GET_DRIVER GetDriver;
|
||||
EFI_PLATFORM_DRIVER_OVERRIDE_GET_DRIVER_PATH GetDriverPath;
|
||||
EFI_PLATFORM_DRIVER_OVERRIDE_DRIVER_LOADED DriverLoaded;
|
||||
} EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL;
|
||||
|
||||
#endif /* EFI_PLATFORMS_PLATFORM_DRIVER_OVERRIDE_H */
|
18
protocols/simple_file_system.h
Normal file
18
protocols/simple_file_system.h
Normal file
|
@ -0,0 +1,18 @@
|
|||
#ifndef EFI_PROTOCOLS_SIMPLE_FILE_SYSTEM_H
|
||||
#define EFI_PROTOCOLS_SIMPLE_FILE_SYSTEM_H
|
||||
|
||||
#define EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_REVISION 0x00010000
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_OPEN_VOLUME)(
|
||||
IN EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *This,
|
||||
OUT EFI_FILE_PROTOCOL **Root
|
||||
);
|
||||
|
||||
typedef struct _EFI_SIMPLE_FILE_SYSTEM_PROTOCOL {
|
||||
UINT64 Revision;
|
||||
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_OPEN_VOLUME OpenVolume;
|
||||
} EFI_SIMPLE_FILE_SYSTEM_PROTOCOL;
|
||||
|
||||
#endif /* EFI_PROTOCOLS_SIMPLE_FILE_SYSTEM_H */
|
34
protocols/simple_text_input.h
Normal file
34
protocols/simple_text_input.h
Normal file
|
@ -0,0 +1,34 @@
|
|||
#ifndef EFI_PROTOCOLS_SIMPLE_TEXT_INPUT_H
|
||||
#define EFI_PROTOCOLS_SIMPLE_TEXT_INPUT_H
|
||||
|
||||
#include "efi_types.h"
|
||||
|
||||
typedef struct _EFI_SIMPLE_TEXT_INPUT_PROTOCOL EFI_SIMPLE_TEXT_INPUT_PROTOCOL;
|
||||
|
||||
// Input Key
|
||||
typedef struct {
|
||||
UINT16 ScanCode;
|
||||
CHAR16 UnicodeChar;
|
||||
} EFI_INPUT_KEY;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_INPUT_READ_KEY)(
|
||||
IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *This,
|
||||
OUT EFI_INPUT_KEY *Key
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_INPUT_RESET)(
|
||||
IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *This,
|
||||
IN BOOLEAN ExtendedVerification
|
||||
);
|
||||
|
||||
typedef struct _EFI_SIMPLE_TEXT_INPUT_PROTOCOL {
|
||||
EFI_INPUT_RESET Reset;
|
||||
EFI_INPUT_READ_KEY ReadKeyStroke;
|
||||
EFI_EVENT WaitForKey;
|
||||
} EFI_SIMPLE_TEXT_INPUT_PROTOCOL;
|
||||
|
||||
#endif /* EFI_PROTOCOLS_SIMPLE_TEXT_INPUT_H */
|
95
protocols/simple_text_output.h
Normal file
95
protocols/simple_text_output.h
Normal file
|
@ -0,0 +1,95 @@
|
|||
#ifndef EFI_PROTOCOLS_SIMPLE_TEXT_OUTPUT_H
|
||||
#define EFI_PROTOCOLS_SIMPLE_TEXT_OUTPUT_H
|
||||
|
||||
typedef struct _EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL;
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_TEXT_RESET)(
|
||||
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
|
||||
IN BOOLEAN ExtendedVerification
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_TEXT_STRING)(
|
||||
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
|
||||
IN CHAR16 *String
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_TEXT_TEST_STRING)(
|
||||
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
|
||||
IN CHAR16 *String
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_TEXT_QUERY_MODE)(
|
||||
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
|
||||
IN UINTN ModeNumber,
|
||||
OUT UINTN *Columns,
|
||||
OUT UINTN *Rows
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_TEXT_SET_MODE)(
|
||||
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
|
||||
IN UINTN ModeNumber
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_TEXT_SET_ATTRIBUTE)(
|
||||
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
|
||||
IN UINTN Attribute
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_TEXT_CLEAR_SCREEN)(
|
||||
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_TEXT_SET_CURSOR_POSITION)(
|
||||
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
|
||||
IN UINTN Column,
|
||||
IN UINTN Row
|
||||
);
|
||||
|
||||
typedef
|
||||
EFI_STATUS
|
||||
(EFIAPI *EFI_TEXT_ENABLE_CURSOR)(
|
||||
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
|
||||
IN BOOLEAN Visible
|
||||
);
|
||||
|
||||
typedef struct {
|
||||
INT32 MaxNode;
|
||||
|
||||
// Current settings
|
||||
INT32 Mode;
|
||||
INT32 Attribute;
|
||||
INT32 CursorColumn;
|
||||
INT32 CursorRow;
|
||||
BOOLEAN CursorVisible;
|
||||
} SIMPLE_TEXT_OUTPUT_MODE;
|
||||
|
||||
typedef struct _EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL {
|
||||
EFI_TEXT_RESET Reset;
|
||||
EFI_TEXT_STRING OutputString;
|
||||
EFI_TEXT_TEST_STRING TestString;
|
||||
EFI_TEXT_QUERY_MODE QueryMode;
|
||||
EFI_TEXT_SET_MODE SetMode;
|
||||
EFI_TEXT_SET_ATTRIBUTE SetAttribute;
|
||||
EFI_TEXT_CLEAR_SCREEN ClearScreen;
|
||||
EFI_TEXT_SET_CURSOR_POSITION SetCursorPosition;
|
||||
EFI_TEXT_ENABLE_CURSOR EnableCursor;
|
||||
SIMPLE_TEXT_OUTPUT_MODE *Mode;
|
||||
} EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL;
|
||||
|
||||
#endif /* EFI_PROTOCOLS_SIMPLE_TEXT_OUTPUT_H */
|
Loading…
Add table
Add a link
Reference in a new issue