grub-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]