home | help
EFI_GET_VARIABLE(3)	    Library Functions Manual	     EFI_GET_VARIABLE(3)

NAME
     efi_variables_supported,  efi_del_variable, efi_get_variable, efi_get_vari-
     able_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_exists(efi_guid_t guid, const char *name);

     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, 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_exists() gets if the variable specified by guid  and  name
     exists.

     efi_get_variable_size()  gets  the size of the data for the variable speci-
     fied 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, and sets
     the file mode to mode, subject to umask.  Note that the mode will not  per-
     sist across a reboot, and that the permissions only apply if on systems us-
     ing efivarfs.

     efi_get_next_variable_name()  iterates  across  the  currently extant vari-
     ables, 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 re-
     sponsibility 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 equiva-
     lent 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-style 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_exists(), 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)

home | help