| /* 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; | 
 |  | 
 | #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) | 
 |  | 
 | #endif /* _DRIVERS_FIRMWARE_EFI_TEST_H_ */ |