efi_test.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. /*
  2. * EFI Test driver Header
  3. *
  4. * Copyright(C) 2012-2016 Canonical Ltd.
  5. *
  6. */
  7. #ifndef _DRIVERS_FIRMWARE_EFI_TEST_H_
  8. #define _DRIVERS_FIRMWARE_EFI_TEST_H_
  9. #include <linux/efi.h>
  10. struct efi_getvariable {
  11. efi_char16_t *variable_name;
  12. efi_guid_t *vendor_guid;
  13. u32 *attributes;
  14. unsigned long *data_size;
  15. void *data;
  16. efi_status_t *status;
  17. } __packed;
  18. struct efi_setvariable {
  19. efi_char16_t *variable_name;
  20. efi_guid_t *vendor_guid;
  21. u32 attributes;
  22. unsigned long data_size;
  23. void *data;
  24. efi_status_t *status;
  25. } __packed;
  26. struct efi_getnextvariablename {
  27. unsigned long *variable_name_size;
  28. efi_char16_t *variable_name;
  29. efi_guid_t *vendor_guid;
  30. efi_status_t *status;
  31. } __packed;
  32. struct efi_queryvariableinfo {
  33. u32 attributes;
  34. u64 *maximum_variable_storage_size;
  35. u64 *remaining_variable_storage_size;
  36. u64 *maximum_variable_size;
  37. efi_status_t *status;
  38. } __packed;
  39. struct efi_gettime {
  40. efi_time_t *time;
  41. efi_time_cap_t *capabilities;
  42. efi_status_t *status;
  43. } __packed;
  44. struct efi_settime {
  45. efi_time_t *time;
  46. efi_status_t *status;
  47. } __packed;
  48. struct efi_getwakeuptime {
  49. efi_bool_t *enabled;
  50. efi_bool_t *pending;
  51. efi_time_t *time;
  52. efi_status_t *status;
  53. } __packed;
  54. struct efi_setwakeuptime {
  55. efi_bool_t enabled;
  56. efi_time_t *time;
  57. efi_status_t *status;
  58. } __packed;
  59. struct efi_getnexthighmonotoniccount {
  60. u32 *high_count;
  61. efi_status_t *status;
  62. } __packed;
  63. struct efi_querycapsulecapabilities {
  64. efi_capsule_header_t **capsule_header_array;
  65. unsigned long capsule_count;
  66. u64 *maximum_capsule_size;
  67. int *reset_type;
  68. efi_status_t *status;
  69. } __packed;
  70. #define EFI_RUNTIME_GET_VARIABLE \
  71. _IOWR('p', 0x01, struct efi_getvariable)
  72. #define EFI_RUNTIME_SET_VARIABLE \
  73. _IOW('p', 0x02, struct efi_setvariable)
  74. #define EFI_RUNTIME_GET_TIME \
  75. _IOR('p', 0x03, struct efi_gettime)
  76. #define EFI_RUNTIME_SET_TIME \
  77. _IOW('p', 0x04, struct efi_settime)
  78. #define EFI_RUNTIME_GET_WAKETIME \
  79. _IOR('p', 0x05, struct efi_getwakeuptime)
  80. #define EFI_RUNTIME_SET_WAKETIME \
  81. _IOW('p', 0x06, struct efi_setwakeuptime)
  82. #define EFI_RUNTIME_GET_NEXTVARIABLENAME \
  83. _IOWR('p', 0x07, struct efi_getnextvariablename)
  84. #define EFI_RUNTIME_QUERY_VARIABLEINFO \
  85. _IOR('p', 0x08, struct efi_queryvariableinfo)
  86. #define EFI_RUNTIME_GET_NEXTHIGHMONOTONICCOUNT \
  87. _IOR('p', 0x09, struct efi_getnexthighmonotoniccount)
  88. #define EFI_RUNTIME_QUERY_CAPSULECAPABILITIES \
  89. _IOR('p', 0x0A, struct efi_querycapsulecapabilities)
  90. #endif /* _DRIVERS_FIRMWARE_EFI_TEST_H_ */