X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=lib%2Fefi%2Fefivar.h;h=9307d6c1761156cc802f0f8692744e5592d17c46;hb=9e869ebe3a5127575105d82c4d289d95cbed2db9;hp=48edd17a2b0231eacd8649a1566453151b55ed59;hpb=a82b9c070a2acb99c81137cb0b6407244646276f;p=petitboot diff --git a/lib/efi/efivar.h b/lib/efi/efivar.h index 48edd17..9307d6c 100644 --- a/lib/efi/efivar.h +++ b/lib/efi/efivar.h @@ -19,7 +19,7 @@ #ifndef EFIVAR_H #define EFIVAR_H -#include +#include #include #define EFI_VARIABLE_NON_VOLATILE 0x00000001 @@ -36,10 +36,6 @@ EFI_VARIABLE_BOOTSERVICE_ACCESS \ ) -#ifndef EFIVARFS_MAGIC -#define EFIVARFS_MAGIC 0xde5e81e4 -#endif - struct efi_data { uint32_t attributes; size_t data_size; @@ -47,13 +43,23 @@ struct efi_data { uint8_t fill[0]; }; -void set_efivarfs_path(const char *path); -const char *get_efivarfs_path(void); +struct efi_mount { + const char *path; + const char *guid; +}; + +void efi_init_mount(struct efi_mount *efi_mount, const char *path, + const char *guid); +bool efi_check_mount_magic(const struct efi_mount *efi_mount, bool check_magic); +static inline bool efi_check_mount(const struct efi_mount *efi_mount) +{ + return efi_check_mount_magic(efi_mount, true); +} -int efi_get_variable(void *ctx, const char *guidstr, const char *name, - struct efi_data **efi_data); -int efi_set_variable(const char *guidstr, const char *name, - const struct efi_data *efi_data); -int efi_del_variable(const char *guidstr, const char *name); +int efi_get_variable(void *ctx, const struct efi_mount *efi_mount, + const char *name, struct efi_data **efi_data); +int efi_set_variable(const struct efi_mount *efi_mount, const char *name, + const struct efi_data *efi_data); +int efi_del_variable(const struct efi_mount *efi_mount, const char *name); #endif /* EFIVAR_H */