[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] efi: Change grub_efi_boolean_t from char to enum
From: |
Daniel Kiper |
Subject: |
Re: [PATCH] efi: Change grub_efi_boolean_t from char to enum |
Date: |
Thu, 31 Aug 2023 20:05:37 +0200 |
User-agent: |
NeoMutt/20170113 (1.7.2) |
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 <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,
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