From 8a23f6ba0ed23ed9bc2acdf66545f977aa0a5d6f Mon Sep 17 00:00:00 2001 From: belliash Date: Fri, 19 Aug 2022 23:42:04 +0200 Subject: [PATCH] Unify capsule naming convensions and add EFI_BLOCK_DEVICE_DATA structure --- sdk/xtdk/xtstruct.h | 1 + sdk/xtdk/xtuefi.h | 19 ++++++++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/sdk/xtdk/xtstruct.h b/sdk/xtdk/xtstruct.h index 2ae3296..f4c9dfe 100644 --- a/sdk/xtdk/xtstruct.h +++ b/sdk/xtdk/xtstruct.h @@ -18,6 +18,7 @@ typedef struct _EFI_ACPI_HID_DEVICE_PATH EFI_ACPI_HID_DEVICE_PATH, *PEFI_ACPI_HI typedef struct _EFI_ATAPI_DEVICE_PATH EFI_ATAPI_DEVICE_PATH, *PEFI_ATAPI_DEVICE_PATH; typedef struct _EFI_BBS_BBS_DEVICE_PATH EFI_BBS_BBS_DEVICE_PATH, *PEFI_BBS_BBS_DEVICE_PATH; typedef struct _EFI_BLOCK_DEVICE EFI_BLOCK_DEVICE, *PEFI_BLOCK_DEVICE; +typedef struct _EFI_BLOCK_DEVICE_DATA EFI_BLOCK_DEVICE_DATA, *PEFI_BLOCK_DEVICE_DATA; typedef struct _EFI_BLOCK_IO_PROTOCOL EFI_BLOCK_IO_PROTOCOL, *PEFI_BLOCK_IO_PROTOCOL; typedef struct _EFI_BLOCK_IO2_PROTOCOL EFI_BLOCK_IO2_PROTOCOL, *PEFI_BLOCK_IO2_PROTOCOL; typedef struct _EFI_BLOCK_IO2_TOKEN EFI_BLOCK_IO2_TOKEN, *PEFI_BLOCK_IO2_TOKEN; diff --git a/sdk/xtdk/xtuefi.h b/sdk/xtdk/xtuefi.h index efd68be..03fa418 100644 --- a/sdk/xtdk/xtuefi.h +++ b/sdk/xtdk/xtuefi.h @@ -46,9 +46,9 @@ #define EFI_OPEN_PROTOCOL_EXCLUSIVE 0x00000020 /* EFI capsule flags */ -#define CAPSULE_FLAGS_PERSIST_ACROSS_RESET 0x00010000 -#define CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE 0x00020000 -#define CAPSULE_FLAGS_INITIATE_RESET 0x00040000 +#define EFI_CAPSULE_FLAGS_PERSIST_ACROSS_RESET 0x00010000 +#define EFI_CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE 0x00020000 +#define EFI_CAPSULE_FLAGS_INITIATE_RESET 0x00040000 /* EFI variables related definitions */ #define EFI_VARIABLE_NON_VOLATILE 0x00000001 @@ -72,6 +72,10 @@ #define EFI_EVENT_SIGNAL_VIRTUAL_ADDRESS_CHANGE 0x60000202 #define EFI_EVENT_EFI_SIGNAL_MASK 0x000000FF +/* EFI disk signature type */ +#define EFI_DISK_SIGNATURE_TYPE_MBR 0x01 +#define EFI_DISK_SIGNATURE_TYPE_GPT 0x02 + /* EFI device path types */ #define EFI_HARDWARE_DEVICE_PATH 0x01 #define EFI_ACPI_DEVICE_PATH 0x02 @@ -1447,9 +1451,18 @@ typedef struct _EFI_BLOCK_DEVICE USHORT DriveType; ULONG DriveNumber; ULONG PartitionNumber; + PEFI_GUID PartitionGuid; PEFI_DEVICE_PATH_PROTOCOL DevicePath; } EFI_BLOCK_DEVICE, *PEFI_BLOCK_DEVICE; +/* Describes block device I/O and DP protocols */ +typedef struct _EFI_BLOCK_DEVICE_DATA +{ + LIST_ENTRY ListEntry; + PEFI_DEVICE_PATH_PROTOCOL DevicePath; + PEFI_BLOCK_IO_PROTOCOL BlockIo; +} EFI_BLOCK_DEVICE_DATA, *PEFI_BLOCK_DEVICE_DATA; + /* Block I/O media structure */ typedef struct _EFI_BLOCK_IO_MEDIA {