125 lines
2.7 KiB
C
125 lines
2.7 KiB
C
|
/* SPDX-License-Identifier: GPL-2.0+ */
|
||
|
/*
|
||
|
* EFI Test driver Header
|
||
|
*
|
||
|
* Copyright(C) 2012-2016 Canonical Ltd.
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
#ifndef _DRIVERS_FIRMWARE_EFI_TEST_H_
|
||
|
#define _DRIVERS_FIRMWARE_EFI_TEST_H_
|
||
|
|
||
|
#include <linux/efi.h>
|
||
|
|
||
|
struct efi_getvariable {
|
||
|
efi_char16_t *variable_name;
|
||
|
efi_guid_t *vendor_guid;
|
||
|
u32 *attributes;
|
||
|
unsigned long *data_size;
|
||
|
void *data;
|
||
|
efi_status_t *status;
|
||
|
} __packed;
|
||
|
|
||
|
struct efi_setvariable {
|
||
|
efi_char16_t *variable_name;
|
||
|
efi_guid_t *vendor_guid;
|
||
|
u32 attributes;
|
||
|
unsigned long data_size;
|
||
|
void *data;
|
||
|
efi_status_t *status;
|
||
|
} __packed;
|
||
|
|
||
|
struct efi_getnextvariablename {
|
||
|
unsigned long *variable_name_size;
|
||
|
efi_char16_t *variable_name;
|
||
|
efi_guid_t *vendor_guid;
|
||
|
efi_status_t *status;
|
||
|
} __packed;
|
||
|
|
||
|
struct efi_queryvariableinfo {
|
||
|
u32 attributes;
|
||
|
u64 *maximum_variable_storage_size;
|
||
|
u64 *remaining_variable_storage_size;
|
||
|
u64 *maximum_variable_size;
|
||
|
efi_status_t *status;
|
||
|
} __packed;
|
||
|
|
||
|
struct efi_gettime {
|
||
|
efi_time_t *time;
|
||
|
efi_time_cap_t *capabilities;
|
||
|
efi_status_t *status;
|
||
|
} __packed;
|
||
|
|
||
|
struct efi_settime {
|
||
|
efi_time_t *time;
|
||
|
efi_status_t *status;
|
||
|
} __packed;
|
||
|
|
||
|
struct efi_getwakeuptime {
|
||
|
efi_bool_t *enabled;
|
||
|
efi_bool_t *pending;
|
||
|
efi_time_t *time;
|
||
|
efi_status_t *status;
|
||
|
} __packed;
|
||
|
|
||
|
struct efi_setwakeuptime {
|
||
|
efi_bool_t enabled;
|
||
|
efi_time_t *time;
|
||
|
efi_status_t *status;
|
||
|
} __packed;
|
||
|
|
||
|
struct efi_getnexthighmonotoniccount {
|
||
|
u32 *high_count;
|
||
|
efi_status_t *status;
|
||
|
} __packed;
|
||
|
|
||
|
struct efi_querycapsulecapabilities {
|
||
|
efi_capsule_header_t **capsule_header_array;
|
||
|
unsigned long capsule_count;
|
||
|
u64 *maximum_capsule_size;
|
||
|
int *reset_type;
|
||
|
efi_status_t *status;
|
||
|
} __packed;
|
||
|
|
||
|
struct efi_resetsystem {
|
||
|
int reset_type;
|
||
|
efi_status_t status;
|
||
|
unsigned long data_size;
|
||
|
efi_char16_t *data;
|
||
|
} __packed;
|
||
|
|
||
|
#define EFI_RUNTIME_GET_VARIABLE \
|
||
|
_IOWR('p', 0x01, struct efi_getvariable)
|
||
|
#define EFI_RUNTIME_SET_VARIABLE \
|
||
|
_IOW('p', 0x02, struct efi_setvariable)
|
||
|
|
||
|
#define EFI_RUNTIME_GET_TIME \
|
||
|
_IOR('p', 0x03, struct efi_gettime)
|
||
|
#define EFI_RUNTIME_SET_TIME \
|
||
|
_IOW('p', 0x04, struct efi_settime)
|
||
|
|
||
|
#define EFI_RUNTIME_GET_WAKETIME \
|
||
|
_IOR('p', 0x05, struct efi_getwakeuptime)
|
||
|
#define EFI_RUNTIME_SET_WAKETIME \
|
||
|
_IOW('p', 0x06, struct efi_setwakeuptime)
|
||
|
|
||
|
#define EFI_RUNTIME_GET_NEXTVARIABLENAME \
|
||
|
_IOWR('p', 0x07, struct efi_getnextvariablename)
|
||
|
|
||
|
#define EFI_RUNTIME_QUERY_VARIABLEINFO \
|
||
|
_IOR('p', 0x08, struct efi_queryvariableinfo)
|
||
|
|
||
|
#define EFI_RUNTIME_GET_NEXTHIGHMONOTONICCOUNT \
|
||
|
_IOR('p', 0x09, struct efi_getnexthighmonotoniccount)
|
||
|
|
||
|
#define EFI_RUNTIME_QUERY_CAPSULECAPABILITIES \
|
||
|
_IOR('p', 0x0A, struct efi_querycapsulecapabilities)
|
||
|
|
||
|
#define EFI_RUNTIME_RESET_SYSTEM \
|
||
|
_IOW('p', 0x0B, struct efi_resetsystem)
|
||
|
|
||
|
#define EFI_RUNTIME_GET_SUPPORTED_MASK \
|
||
|
_IOR('p', 0x0C, unsigned int)
|
||
|
|
||
|
#endif /* _DRIVERS_FIRMWARE_EFI_TEST_H_ */
|