Man

Command Section
LIBEFIVAR(3)           FreeBSD Library Functions Manual           LIBEFIVAR(3)

NAME
     libefivar - EFI Non Volatile Variable Suppoert

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
     The libefivar library implements access to EFI Variables via the EFI
     Runtime Serivces.  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.

     efi_get_variable() efi_get_variable_attributes() efi_get_variable_size()
     efi_append_variable() efi_set_variable() efi_get_next_variable_name()
     efi_str_to_guid() efi_guid_to_str() efi_name_to_guid() efi_guid_to_name()
     efi_guid_to_symbol() This function is not actually implemented.

BUGS
     No facilities exist to process the strings as native UTF.  This is a
     limitation in the Linux libefivar library interface.

AUTHORS
     This software was originally written by Warner Losh.

FreeBSD 11.1-RELEASE-p4       September 14, 2016       FreeBSD 11.1-RELEASE-p4
Command Section