-int efi_get_variable(void *ctx, const char *guidstr, const char *name,
- uint8_t **data, size_t *data_size, uint32_t *attributes);
-int efi_set_variable(void *ctx, const char *guidstr, const char *name,
- uint8_t *data, size_t data_size, uint32_t attributes);
-int efi_del_variable(void *ctx, const char *guidstr, const char *name);
+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 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);