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_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);

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.

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() allocates a suitable string and populates it with string representation of a UEFI GUID. It is the caller's responsibility to free this string.

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.

efi_del_variable(), efi_get_variable(), efi_get_variable_attributes(), efi_get_variable_size(), efi_append_variable(), efi_set_variable(), efi_str_to_guid(), and efi_guid_to_str() return negative on error and zero on success.

AUTHORS
Peter Jones <pjones@redhat.com>