diff --git a/src/efivars.h b/src/efivars.h index 8782714..c7ae3e3 100644 --- a/src/efivars.h +++ b/src/efivars.h @@ -38,6 +38,26 @@ {0x4aafd29d, 0x68df, 0x49ee, \ {0x8a, 0xa9, 0x34, 0x7d, 0x37, 0x56, 0x65, 0xa7}} +#ifndef EFI_VARIABLE_NON_VOLATILE +#define EFI_VARIABLE_NON_VOLATILE 0x00000001 +#endif + +#ifndef EFI_VARIABLE_BOOTSERVICE_ACCESS +#define EFI_VARIABLE_BOOTSERVICE_ACCESS 0x00000002 +#endif + +#ifndef EFI_VARIABLE_RUNTIME_ACCESS +#define EFI_VARIABLE_RUNTIME_ACCESS 0x00000004 +#endif + +#ifndef EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS +#define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 0x00000020 +#endif + +#ifndef EFI_VARIABLE_APPEND_WRITE +#define EFI_VARIABLE_APPEND_WRITE 0x00000040 +#endif + typedef struct { UINT32 dwLength; UINT16 wRevision; diff --git a/src/sbvarsign.c b/src/sbvarsign.c index 3fc4599..3997c96 100644 --- a/src/sbvarsign.c +++ b/src/sbvarsign.c @@ -87,16 +87,15 @@ struct attr { int value; }; +#define EFI_VAR_ATTR(n) { #n, EFI_VARIABLE_ ## n } static struct attr attrs[] = { - { "NON_VOLATILE", 0x0001 }, - { "BOOTSERVICE_ACCESS", 0x0002 }, - { "RUNTIME_ACCESS", 0x0004 }, - { "TIME_BASED_AUTHENTICATED_WRITE_ACCESS", 0x0020 }, - { "APPEND_WRITE", 0x0040 }, + EFI_VAR_ATTR(NON_VOLATILE), + EFI_VAR_ATTR(BOOTSERVICE_ACCESS), + EFI_VAR_ATTR(RUNTIME_ACCESS), + EFI_VAR_ATTR(TIME_BASED_AUTHENTICATED_WRITE_ACCESS), + EFI_VAR_ATTR(APPEND_WRITE), }; -#define EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 0x0020 - static uint32_t attr_invalid = 0xffffffffu; static const char *attr_prefix = "EFI_VARIABLE_";