NAME
libefivar
—
EFI Non Volatile Variable
Support
SYNOPSIS
#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);
DESCRIPTION
Thelibefivar
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
()
SEE ALSO
HISTORY
The libefivar
library first appeared in
FreeBSD 12.0.
AUTHORS
This software was originally written by Warner Losh.
BUGS
No facilities exist to process the strings as native UTF. This is
a limitation in the Linux libefivar
library
interface.