efivar3
Efi non volatile variable support
Part of libefivar(3).
Usage
#include <efivar.h>
int
efi_append_variable(efi_guid_t guid, const char *name, void *data, size_t data_size, uint32_t attributes);
int
efi_del_variable(efi_guid_t guid, const char *name);
int
efi_get_variable(efi_guid_t guid, const char *name, void **data, ssize_t *data_size, uint32_t *attributes);
int
efi_get_variable_attributes(efi_guid_t guid, const char *name, uint32_t *attributes);
int
efi_get_variable_size(efi_guid_t guid, const char *name, size_t *size);
int
efi_get_next_variable_name(efi_guid_t **guid, char **name);
int
efi_guid_to_name(efi_guid_t *guid, char **name);
int
efi_guid_to_symbol(efi_guid_t *guid, char **symbol);
int
efi_guid_to_str(const efi_guid_t *guid, char **sp);
int
efi_name_to_guid(const char *name, efi_guid_t *guid);
int
efi_set_variable(efi_guid_t guid, const char *name, void *data, size_t data_size, uint32_t attributes);
int
efi_str_to_guid(const char *s, efi_guid_t *guid);
int
efi_variables_supported(void);
Overview
The libefivar library implements access to EFI Variables via the EFI Runtime Services. All char * strings are converted to 16-bit UTF strings before passing them to EFI.
efi_variables_supported() returns non-zero if the current machine supports setting of EFI firmware variables and the kernel support for doing so is present. Otherwise zero is returned.
efi_del_variable() deletes the EFI variable selected by guid and name.
The following functions have not been implemented yet:
-
efi_append_variable() -
efi_get_next_variable_name() -
efi_get_variable() -
efi_get_variable_attributes() -
efi_get_variable_size() -
efi_guid_to_name() -
efi_guid_to_str() -
efi_guid_to_symbol() -
efi_name_to_guid() -
efi_set_variable() -
efi_str_to_guid()
Releases
24 releases since FreeBSD 11.1-RELEASE; the text changed 10 times.