[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] efi: Change grub_efi_boolean_t from char to enum
From: |
Glenn Washburn |
Subject: |
[PATCH] efi: Change grub_efi_boolean_t from char to enum |
Date: |
Mon, 14 Aug 2023 16:38:40 -0500 |
This allows using GRUB_EFI_TRUE and GRUB_EFI_FALSE with proper type and
value checking. The UEFI 2.10 specification, in section 2.3.1, table 2.3,
says the size of the boolean is 1 byte and may only contain the values 0 or
1. In order to have the enum be 1-byte in size instead of the default
int-sized, add the packed attribute to the enum.
Signed-off-by: Glenn Washburn <development@efficientek.com>
---
include/grub/efi/api.h | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/include/grub/efi/api.h b/include/grub/efi/api.h
index 5934db1c992b..be7c128dfb42 100644
--- a/include/grub/efi/api.h
+++ b/include/grub/efi/api.h
@@ -552,7 +552,13 @@ enum grub_efi_reset_type
typedef enum grub_efi_reset_type grub_efi_reset_type_t;
/* Types. */
-typedef char grub_efi_boolean_t;
+enum GRUB_PACKED grub_efi_boolean
+ {
+ GRUB_EFI_FALSE,
+ GRUB_EFI_TRUE
+ };
+typedef enum grub_efi_boolean grub_efi_boolean_t;
+
#if GRUB_CPU_SIZEOF_VOID_P == 8
typedef grub_int64_t grub_efi_intn_t;
typedef grub_uint64_t grub_efi_uintn_t;
--
2.34.1
- [PATCH] efi: Change grub_efi_boolean_t from char to enum,
Glenn Washburn <=