On Mon, Aug 14, 2023 at 04:38:40PM -0500, Glenn Washburn wrote: > 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.
Hmmm... Could you point out us an official doc saying "packed" attribute does that? And I hope you tested that change because we use grub_efi_boolean_t type quite often... > Signed-off-by: Glenn Washburn <developm...@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, I would explicitly do GRUB_EFI_FALSE = 0, > + GRUB_EFI_TRUE > + }; I would move GRUB_PACKED here to be inline with its other uses. Daniel _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel