summaryrefslogtreecommitdiff
path: root/include/efi_api.h
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2019-09-08 09:35:32 +0200
committerHeinrich Schuchardt <xypron.glpk@gmx.de>2019-09-09 15:21:09 +0200
commite692ed1d560f8d9ece0e0b9e57c91233825be7ed (patch)
treeb69b753a2fe2199b6248d7f1cd072475bc70f9c8 /include/efi_api.h
parent9bb62fa63ba1e26ade9842588d98806b9fecd67e (diff)
downloadu-boot-e692ed1d560f8d9ece0e0b9e57c91233825be7ed.tar.gz
u-boot-e692ed1d560f8d9ece0e0b9e57c91233825be7ed.tar.bz2
u-boot-e692ed1d560f8d9ece0e0b9e57c91233825be7ed.zip
efi_loader: EFI_FILE_PROTOCOL rev 2 stub
The UEFI specification requires to implement version 2 of the EFI_FILE_PROTOCOL. Provide the missing functions as stubs. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Diffstat (limited to 'include/efi_api.h')
-rw-r--r--include/efi_api.h20
1 files changed, 16 insertions, 4 deletions
diff --git a/include/efi_api.h b/include/efi_api.h
index cb895f31e5..f43fb7a9ea 100644
--- a/include/efi_api.h
+++ b/include/efi_api.h
@@ -1461,6 +1461,12 @@ struct efi_pxe_base_code_protocol {
#define EFI_FILE_PROTOCOL_REVISION2 0x00020000
#define EFI_FILE_PROTOCOL_LATEST_REVISION EFI_FILE_PROTOCOL_REVISION2
+struct efi_file_io_token {
+ struct efi_event *event;
+ efi_status_t status;
+ efi_uintn_t buffer_size;
+ void *buffer;};
+
struct efi_file_handle {
u64 rev;
efi_status_t (EFIAPI *open)(struct efi_file_handle *file,
@@ -1483,10 +1489,16 @@ struct efi_file_handle {
const efi_guid_t *info_type, efi_uintn_t buffer_size,
void *buffer);
efi_status_t (EFIAPI *flush)(struct efi_file_handle *file);
- /*
- * TODO: We currently only support EFI file protocol revision 0x00010000
- * while UEFI specs 2.4 - 2.7 prescribe revision 0x00020000.
- */
+ efi_status_t (EFIAPI *open_ex)(struct efi_file_handle *file,
+ struct efi_file_handle **new_handle,
+ u16 *file_name, u64 open_mode, u64 attributes,
+ struct efi_file_io_token *token);
+ efi_status_t (EFIAPI *read_ex)(struct efi_file_handle *file,
+ struct efi_file_io_token *token);
+ efi_status_t (EFIAPI *write_ex)(struct efi_file_handle *file,
+ struct efi_file_io_token *token);
+ efi_status_t (EFIAPI *flush_ex)(struct efi_file_handle *file,
+ struct efi_file_io_token *token);
};
#define EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_REVISION 0x00010000