Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/drivers/firmware/efi/test/efi_test.h
26483 views
1
/* SPDX-License-Identifier: GPL-2.0+ */
2
/*
3
* EFI Test driver Header
4
*
5
* Copyright(C) 2012-2016 Canonical Ltd.
6
*
7
*/
8
9
#ifndef _DRIVERS_FIRMWARE_EFI_TEST_H_
10
#define _DRIVERS_FIRMWARE_EFI_TEST_H_
11
12
#include <linux/efi.h>
13
14
struct efi_getvariable {
15
efi_char16_t *variable_name;
16
efi_guid_t *vendor_guid;
17
u32 *attributes;
18
unsigned long *data_size;
19
void *data;
20
efi_status_t *status;
21
} __packed;
22
23
struct efi_setvariable {
24
efi_char16_t *variable_name;
25
efi_guid_t *vendor_guid;
26
u32 attributes;
27
unsigned long data_size;
28
void *data;
29
efi_status_t *status;
30
} __packed;
31
32
struct efi_getnextvariablename {
33
unsigned long *variable_name_size;
34
efi_char16_t *variable_name;
35
efi_guid_t *vendor_guid;
36
efi_status_t *status;
37
} __packed;
38
39
struct efi_queryvariableinfo {
40
u32 attributes;
41
u64 *maximum_variable_storage_size;
42
u64 *remaining_variable_storage_size;
43
u64 *maximum_variable_size;
44
efi_status_t *status;
45
} __packed;
46
47
struct efi_gettime {
48
efi_time_t *time;
49
efi_time_cap_t *capabilities;
50
efi_status_t *status;
51
} __packed;
52
53
struct efi_settime {
54
efi_time_t *time;
55
efi_status_t *status;
56
} __packed;
57
58
struct efi_getwakeuptime {
59
efi_bool_t *enabled;
60
efi_bool_t *pending;
61
efi_time_t *time;
62
efi_status_t *status;
63
} __packed;
64
65
struct efi_setwakeuptime {
66
efi_bool_t enabled;
67
efi_time_t *time;
68
efi_status_t *status;
69
} __packed;
70
71
struct efi_getnexthighmonotoniccount {
72
u32 *high_count;
73
efi_status_t *status;
74
} __packed;
75
76
struct efi_querycapsulecapabilities {
77
efi_capsule_header_t **capsule_header_array;
78
unsigned long capsule_count;
79
u64 *maximum_capsule_size;
80
int *reset_type;
81
efi_status_t *status;
82
} __packed;
83
84
struct efi_resetsystem {
85
int reset_type;
86
efi_status_t status;
87
unsigned long data_size;
88
efi_char16_t *data;
89
} __packed;
90
91
#define EFI_RUNTIME_GET_VARIABLE \
92
_IOWR('p', 0x01, struct efi_getvariable)
93
#define EFI_RUNTIME_SET_VARIABLE \
94
_IOW('p', 0x02, struct efi_setvariable)
95
96
#define EFI_RUNTIME_GET_TIME \
97
_IOR('p', 0x03, struct efi_gettime)
98
#define EFI_RUNTIME_SET_TIME \
99
_IOW('p', 0x04, struct efi_settime)
100
101
#define EFI_RUNTIME_GET_WAKETIME \
102
_IOR('p', 0x05, struct efi_getwakeuptime)
103
#define EFI_RUNTIME_SET_WAKETIME \
104
_IOW('p', 0x06, struct efi_setwakeuptime)
105
106
#define EFI_RUNTIME_GET_NEXTVARIABLENAME \
107
_IOWR('p', 0x07, struct efi_getnextvariablename)
108
109
#define EFI_RUNTIME_QUERY_VARIABLEINFO \
110
_IOR('p', 0x08, struct efi_queryvariableinfo)
111
112
#define EFI_RUNTIME_GET_NEXTHIGHMONOTONICCOUNT \
113
_IOR('p', 0x09, struct efi_getnexthighmonotoniccount)
114
115
#define EFI_RUNTIME_QUERY_CAPSULECAPABILITIES \
116
_IOR('p', 0x0A, struct efi_querycapsulecapabilities)
117
118
#define EFI_RUNTIME_RESET_SYSTEM \
119
_IOW('p', 0x0B, struct efi_resetsystem)
120
121
#define EFI_RUNTIME_GET_SUPPORTED_MASK \
122
_IOR('p', 0x0C, unsigned int)
123
124
#endif /* _DRIVERS_FIRMWARE_EFI_TEST_H_ */
125
126