linux/drivers/firmware/efi/test/efi_test.h
<<
>>
Prefs
   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
  14struct 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
  23struct 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
  32struct 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
  39struct 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
  47struct efi_gettime {
  48        efi_time_t      *time;
  49        efi_time_cap_t  *capabilities;
  50        efi_status_t    *status;
  51} __packed;
  52
  53struct efi_settime {
  54        efi_time_t      *time;
  55        efi_status_t    *status;
  56} __packed;
  57
  58struct 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
  65struct efi_setwakeuptime {
  66        efi_bool_t      enabled;
  67        efi_time_t      *time;
  68        efi_status_t    *status;
  69} __packed;
  70
  71struct efi_getnexthighmonotoniccount {
  72        u32             *high_count;
  73        efi_status_t    *status;
  74} __packed;
  75
  76struct 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
  84struct 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