DragonFly On-Line Manual Pages
EFI_GET_VARIABLE(3) DragonFly Library Functions Manual EFI_GET_VARIABLE(3)
NAME
efi_variables_supported, efi_del_variable, efi_get_variable,
efi_get_variable_attributes, efi_get_variable_size, efi_set_variable -
manipulate UEFI variables
SYNOPSIS
#include <efivar.h>
int efi_variables_supported(void);
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_append_variable(efi_guid_t guid, const char *name,
void *data, size_t data_size,
uint32_t attributes);
int efi_set_variable(efi_guid_t guid, const char *name,
void *data, size_t data_size,
uint32_t attributes);
int efi_set_variable(efi_guid_t guid, const char *name,
void *data, size_t data_size,
uint32_t attributes, mode_t mode);
int efi_get_next_variable_name(efi_guid_t **guid, char **name);
int efi_str_to_guid(const char *s, efi_guid_t *guid);
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_id_guid_to_guid(const char *id_guid, efi_guid_t *guid);
int efi_guid_to_name(efi_guid_t *guid, char **name);
int efi_guid_to_id_guid(efi_guid_t *guid, char **id_guid);
int efi_guid_to_symbol(efi_guid_t *guid, char **symbol);
int efi_symbol_to_guid(const char *symbol, efi_guid_t *guid);
DESCRIPTION
efi_variables_supported() tests if the UEFI variable facility is
supported on the current machine.
efi_del_variable() deletes the variable specified by guid and name.
efi_get_variable() gets the variable specified by guid and name. The
value is stored in data, its size in data_size, and its attributes are
stored in attributes.
efi_get_variable_attributes() gets attributes for the variable
specified by guid and name.
efi_get_variable_size() gets the size of the data for the variable
specified by guid and name.
efi_append_variable() appends data of size size to the variable
specified by guid and name.
efi_set_variable() sets the variable specified by guid and name. If
the optional mode parameter is given, it will use those permissions to
create the file, subject to umask.
efi_get_next_variable_name() iterates across the currently extant
variables, passing back a guid and name.
efi_str_to_guid() parses a UEFI GUID from string form to an efi_guid_t
the caller provides
efi_guid_to_str() Creates a string representation of a UEFI GUID. If
sp is NULL, it returns how big the string would be. If sp is not NULL
but *sp is NULL, it allocates a string and returns it with. It is the
caller's responsibility to free this string. If sp is not NULL and *sp
is not NULL, efi_guid_to_str() assumes there is an allocation of
suitable size and uses it.
efi_name_to_guid() translates from a well known name to an efi_guid_t
the caller provides.
efi_guid_to_name() translates from an efi_guid_t to a well known name.
If the supplied GUID does not have a well known name, this function is
equivalent to efi_guid_to_str().
efi_guid_to_id_guid() translates from an efi_guid_t to an {ID GUID}.
If the supplied GUID has a well known name, the {ID GUID} will be of
the form "{name_here}". If not, it will be of the form
"{66b2af1c-6211-4082-95cb-9f73a4795a7e}".
efi_id_guid_to_guid() translates from an {ID GUID} to an efi_guid_t the
caller provides.
efi_guid_to_symbol() translates from an efi_guid_t to a unique (within
libefivar) C-sytle symbol name. These symbol names are useful for
printing as a unique, easily parsed identifier, and are also provide by
the library and its header files.
efi_symbol_to_guid() translates from a libefivar efi_guid_$FOO symbol
name to an efi_guid_t the caller provides.
RETURN VALUE
efi_variables_supported() returns true if variables are supported on
the running hardware, and false if they are not.
efi_get_next_variable_name() returns 0 when iteration has completed, 1
when iteration has not completed, and -1 on error. In the event of an
error, errno(3) is set appropriately.
efi_del_variable(), efi_get_variable(), efi_get_variable_attributes(),
efi_get_variable_size(), efi_append_variable(), efi_set_variable(),
efi_str_to_guid(), efi_guid_to_str(), efi_name_to_guid(), and
efi_guid_to_name() return negative on error and zero on success.
AUTHORS
Peter Jones <pjones@redhat.com>
Thu Aug 20 2012 EFI_GET_VARIABLE(3)