efi_loader: adjust definitions of variable services

The definitons of the variable services are adjusted:
- use efi_uintn_t instead of unsigned long
- use u16 * instead of s16 * for Unicode strings
- correct definition of QueryVariableInfo
- rename efi_get_next_variable to efi_get_next_variable_name

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
Heinrich Schuchardt 2018-05-17 07:57:05 +02:00 committed by Alexander Graf
parent e37aa7ada3
commit 45c66f9cdf
5 changed files with 43 additions and 43 deletions

View file

@ -70,17 +70,17 @@ static void parse_load_option(struct load_option *lo, void *ptr)
/* free() the result */
static void *get_var(u16 *name, const efi_guid_t *vendor,
unsigned long *size)
efi_uintn_t *size)
{
efi_guid_t *v = (efi_guid_t *)vendor;
efi_status_t ret;
void *buf = NULL;
*size = 0;
EFI_CALL(ret = rs->get_variable((s16 *)name, v, NULL, size, buf));
EFI_CALL(ret = rs->get_variable(name, v, NULL, size, buf));
if (ret == EFI_BUFFER_TOO_SMALL) {
buf = malloc(*size);
EFI_CALL(ret = rs->get_variable((s16 *)name, v, NULL, size, buf));
EFI_CALL(ret = rs->get_variable(name, v, NULL, size, buf));
}
if (ret != EFI_SUCCESS) {
@ -104,7 +104,7 @@ static void *try_load_entry(uint16_t n, struct efi_device_path **device_path,
u16 varname[] = L"Boot0000";
u16 hexmap[] = L"0123456789ABCDEF";
void *load_option, *image = NULL;
unsigned long size;
efi_uintn_t size;
varname[4] = hexmap[(n & 0xf000) >> 12];
varname[5] = hexmap[(n & 0x0f00) >> 8];
@ -147,7 +147,7 @@ void *efi_bootmgr_load(struct efi_device_path **device_path,
struct efi_device_path **file_path)
{
uint16_t *bootorder;
unsigned long size;
efi_uintn_t size;
void *image = NULL;
int i, num;