efi_hii_config.c 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. // SPDX-License-Identifier: GPL-2.0+
  2. /*
  3. * EFI Human Interface Infrastructure ... Configuration
  4. *
  5. * Copyright (c) 2017 Leif Lindholm
  6. * Copyright (c) 2018 AKASHI Takahiro, Linaro Limited
  7. *
  8. * As this is still a non-working stub and the protocol is neither required
  9. * by the EFI shell nor by the UEFI SCT this module has been removed from
  10. * the Makefile.
  11. */
  12. #include <common.h>
  13. #include <efi_loader.h>
  14. const efi_guid_t efi_guid_hii_config_routing_protocol
  15. = EFI_HII_CONFIG_ROUTING_PROTOCOL_GUID;
  16. const efi_guid_t efi_guid_hii_config_access_protocol
  17. = EFI_HII_CONFIG_ACCESS_PROTOCOL_GUID;
  18. /*
  19. * EFI_HII_CONFIG_ROUTING_PROTOCOL
  20. */
  21. static efi_status_t EFIAPI
  22. extract_config(const struct efi_hii_config_routing_protocol *this,
  23. const efi_string_t request,
  24. efi_string_t *progress,
  25. efi_string_t *results)
  26. {
  27. EFI_ENTRY("%p, \"%ls\", %p, %p", this, request, progress, results);
  28. return EFI_EXIT(EFI_OUT_OF_RESOURCES);
  29. }
  30. static efi_status_t EFIAPI
  31. export_config(const struct efi_hii_config_routing_protocol *this,
  32. efi_string_t *results)
  33. {
  34. EFI_ENTRY("%p, %p", this, results);
  35. return EFI_EXIT(EFI_OUT_OF_RESOURCES);
  36. }
  37. static efi_status_t EFIAPI
  38. route_config(const struct efi_hii_config_routing_protocol *this,
  39. const efi_string_t configuration,
  40. efi_string_t *progress)
  41. {
  42. EFI_ENTRY("%p, \"%ls\", %p", this, configuration, progress);
  43. return EFI_EXIT(EFI_OUT_OF_RESOURCES);
  44. }
  45. static efi_status_t EFIAPI
  46. block_to_config(const struct efi_hii_config_routing_protocol *this,
  47. const efi_string_t config_request,
  48. const u8 *block,
  49. const efi_uintn_t block_size,
  50. efi_string_t *config,
  51. efi_string_t *progress)
  52. {
  53. EFI_ENTRY("%p, \"%ls\", %p, %zu, %p, %p", this, config_request,
  54. block, block_size, config, progress);
  55. return EFI_EXIT(EFI_OUT_OF_RESOURCES);
  56. }
  57. static efi_status_t EFIAPI
  58. config_to_block(const struct efi_hii_config_routing_protocol *this,
  59. const efi_string_t config_resp,
  60. const u8 *block,
  61. const efi_uintn_t *block_size,
  62. efi_string_t *progress)
  63. {
  64. EFI_ENTRY("%p, \"%ls\", %p, %p, %p", this, config_resp,
  65. block, block_size, progress);
  66. return EFI_EXIT(EFI_OUT_OF_RESOURCES);
  67. }
  68. static efi_status_t EFIAPI
  69. get_alt_config(const struct efi_hii_config_routing_protocol *this,
  70. const efi_string_t config_resp,
  71. const efi_guid_t *guid,
  72. const efi_string_t name,
  73. const struct efi_device_path *device_path,
  74. const efi_string_t alt_cfg_id,
  75. efi_string_t *alt_cfg_resp)
  76. {
  77. EFI_ENTRY("%p, \"%ls\", %pUs, \"%ls\", %p, \"%ls\", %p",
  78. this, config_resp, guid, name, device_path,
  79. alt_cfg_id, alt_cfg_resp);
  80. return EFI_EXIT(EFI_OUT_OF_RESOURCES);
  81. }
  82. /*
  83. * EFI_HII_ACCESS_PROTOCOL
  84. */
  85. efi_status_t EFIAPI
  86. extract_config_access(const struct efi_hii_config_access_protocol *this,
  87. const efi_string_t request,
  88. efi_string_t *progress,
  89. efi_string_t *results)
  90. {
  91. EFI_ENTRY("%p, \"%ls\", %p, %p", this, request, progress, results);
  92. return EFI_EXIT(EFI_OUT_OF_RESOURCES);
  93. };
  94. efi_status_t EFIAPI
  95. route_config_access(const struct efi_hii_config_access_protocol *this,
  96. const efi_string_t configuration,
  97. efi_string_t *progress)
  98. {
  99. EFI_ENTRY("%p, \"%ls\", %p", this, configuration, progress);
  100. return EFI_EXIT(EFI_OUT_OF_RESOURCES);
  101. };
  102. efi_status_t EFIAPI
  103. form_callback(const struct efi_hii_config_access_protocol *this,
  104. efi_browser_action_t action,
  105. efi_question_id_t question_id,
  106. u8 type,
  107. union efi_ifr_type_value *value,
  108. efi_browser_action_request_t *action_request)
  109. {
  110. EFI_ENTRY("%p, 0x%zx, 0x%x, 0x%x, %p, %p", this, action,
  111. question_id, type, value, action_request);
  112. return EFI_EXIT(EFI_DEVICE_ERROR);
  113. };
  114. const struct efi_hii_config_routing_protocol efi_hii_config_routing = {
  115. .extract_config = extract_config,
  116. .export_config = export_config,
  117. .route_config = route_config,
  118. .block_to_config = block_to_config,
  119. .config_to_block = config_to_block,
  120. .get_alt_config = get_alt_config
  121. };
  122. const struct efi_hii_config_access_protocol efi_hii_config_access = {
  123. .extract_config_access = extract_config_access,
  124. .route_config_access = route_config_access,
  125. .form_callback = form_callback
  126. };