Provided by: libefivar-dev_0.23-2_amd64 bug

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)