summaryrefslogtreecommitdiffstats
path: root/include/efi/efi-payload.h
blob: 774c069229ab3379c1dd44f3fd83e61a2026cfeb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/* SPDX-License-Identifier: GPL-2.0-only */
#ifndef __EFI_PAYLOAD_H
#define __EFI_PAYLOAD_H

#include <efi/types.h>
#include <efi/efi-util.h>

struct efi_system_table;
struct efi_loaded_image;

extern struct efi_system_table *efi_sys_table;
extern efi_handle_t efi_parent_image;
extern struct efi_device_path *efi_device_path;
extern struct efi_loaded_image *efi_loaded_image;

void *efi_get_variable(char *name, efi_guid_t *vendor, int *var_size);

static inline void *efi_get_global_var(char *name, int *var_size)
{
	extern efi_guid_t efi_global_variable_guid;
	return efi_get_variable(name, &efi_global_variable_guid, var_size);
}

int efi_set_variable(char *name, efi_guid_t *vendor, uint32_t attributes,
		     void *buf, unsigned long size);
int efi_set_variable_usec(char *name, efi_guid_t *vendor, uint64_t usec);

efi_physical_addr_t efi_earlymem_alloc(const struct efi_system_table *sys_table,
				       size_t *memsize);

#endif