html-to-markdown 2.27.2 → 2.27.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +8 -8
  3. data/ext/html-to-markdown-rb/native/Cargo.toml +1 -1
  4. data/lib/html_to_markdown/version.rb +1 -1
  5. data/rust-vendor/getrandom/.cargo-checksum.json +1 -1
  6. data/rust-vendor/getrandom/.cargo_vcs_info.json +1 -1
  7. data/rust-vendor/getrandom/CHANGELOG.md +62 -43
  8. data/rust-vendor/getrandom/Cargo.lock +49 -56
  9. data/rust-vendor/getrandom/Cargo.toml +2 -2
  10. data/rust-vendor/getrandom/Cargo.toml.orig +2 -2
  11. data/rust-vendor/getrandom/src/backends/efi_rng.rs +8 -10
  12. data/rust-vendor/getrandom/src/backends/getentropy.rs +13 -4
  13. data/rust-vendor/getrandom/src/backends/linux_android_with_fallback.rs +10 -25
  14. data/rust-vendor/getrandom/src/backends/netbsd.rs +17 -25
  15. data/rust-vendor/getrandom/src/backends/rdrand.rs +15 -9
  16. data/rust-vendor/getrandom/src/backends/rndr.rs +2 -1
  17. data/rust-vendor/getrandom/src/backends/vxworks.rs +7 -3
  18. data/rust-vendor/getrandom/src/backends/windows.rs +21 -5
  19. data/rust-vendor/getrandom/src/utils/lazy_bool.rs +39 -0
  20. data/rust-vendor/getrandom/src/utils/lazy_ptr.rs +57 -0
  21. data/rust-vendor/html-to-markdown-rs/Cargo.toml +2 -2
  22. data/rust-vendor/html-to-markdown-rs/src/converter/text_node.rs +2 -1
  23. data/rust-vendor/html-to-markdown-rs/tests/issue_216_217_regressions.rs +82 -0
  24. data/rust-vendor/quote/.cargo-checksum.json +1 -1
  25. data/rust-vendor/quote/.cargo_vcs_info.json +1 -1
  26. data/rust-vendor/quote/.github/workflows/ci.yml +2 -2
  27. data/rust-vendor/quote/Cargo.lock +21 -21
  28. data/rust-vendor/quote/Cargo.toml +2 -2
  29. data/rust-vendor/quote/Cargo.toml.orig +2 -2
  30. data/rust-vendor/quote/README.md +0 -1
  31. data/rust-vendor/quote/src/lib.rs +1 -1
  32. data/rust-vendor/quote/src/to_tokens.rs +7 -0
  33. data/rust-vendor/quote/tests/ui/not-quotable.stderr +1 -1
  34. data/rust-vendor/quote/tests/ui/not-repeatable.stderr +3 -11
  35. data/rust-vendor/r-efi/.cargo-checksum.json +1 -1
  36. data/rust-vendor/r-efi/.cargo_vcs_info.json +1 -1
  37. data/rust-vendor/r-efi/AUTHORS +1 -0
  38. data/rust-vendor/r-efi/Cargo.lock +1 -1
  39. data/rust-vendor/r-efi/Cargo.toml +1 -3
  40. data/rust-vendor/r-efi/Cargo.toml.orig +1 -5
  41. data/rust-vendor/r-efi/NEWS.md +16 -0
  42. data/rust-vendor/r-efi/src/base.rs +1 -1
  43. data/rust-vendor/r-efi/src/lib.rs +27 -12
  44. data/rust-vendor/r-efi/src/protocols/absolute_pointer.rs +4 -4
  45. data/rust-vendor/r-efi/src/protocols/block_io.rs +8 -8
  46. data/rust-vendor/r-efi/src/protocols/bus_specific_driver_override.rs +2 -2
  47. data/rust-vendor/r-efi/src/protocols/debug_support.rs +10 -10
  48. data/rust-vendor/r-efi/src/protocols/debugport.rs +8 -8
  49. data/rust-vendor/r-efi/src/protocols/decompress.rs +4 -4
  50. data/rust-vendor/r-efi/src/protocols/device_path_from_text.rs +4 -4
  51. data/rust-vendor/r-efi/src/protocols/device_path_to_text.rs +4 -4
  52. data/rust-vendor/r-efi/src/protocols/device_path_utilities.rs +16 -16
  53. data/rust-vendor/r-efi/src/protocols/disk_io.rs +4 -4
  54. data/rust-vendor/r-efi/src/protocols/disk_io2.rs +8 -8
  55. data/rust-vendor/r-efi/src/protocols/driver_binding.rs +6 -6
  56. data/rust-vendor/r-efi/src/protocols/driver_diagnostics2.rs +2 -2
  57. data/rust-vendor/r-efi/src/protocols/driver_family_override.rs +2 -2
  58. data/rust-vendor/r-efi/src/protocols/file.rs +28 -28
  59. data/rust-vendor/r-efi/src/protocols/graphics_output.rs +6 -6
  60. data/rust-vendor/r-efi/src/protocols/hii_database.rs +24 -24
  61. data/rust-vendor/r-efi/src/protocols/hii_font.rs +8 -8
  62. data/rust-vendor/r-efi/src/protocols/hii_font_ex.rs +10 -10
  63. data/rust-vendor/r-efi/src/protocols/hii_string.rs +10 -10
  64. data/rust-vendor/r-efi/src/protocols/ip4.rs +16 -16
  65. data/rust-vendor/r-efi/src/protocols/ip6.rs +18 -18
  66. data/rust-vendor/r-efi/src/protocols/load_file.rs +2 -2
  67. data/rust-vendor/r-efi/src/protocols/loaded_image.rs +2 -2
  68. data/rust-vendor/r-efi/src/protocols/managed_network.rs +16 -16
  69. data/rust-vendor/r-efi/src/protocols/memory_attribute.rs +6 -6
  70. data/rust-vendor/r-efi/src/protocols/mp_services.rs +15 -15
  71. data/rust-vendor/r-efi/src/protocols/pci_io.rs +26 -26
  72. data/rust-vendor/r-efi/src/protocols/platform_driver_override.rs +6 -6
  73. data/rust-vendor/r-efi/src/protocols/rng.rs +4 -4
  74. data/rust-vendor/r-efi/src/protocols/service_binding.rs +4 -4
  75. data/rust-vendor/r-efi/src/protocols/shell.rs +81 -81
  76. data/rust-vendor/r-efi/src/protocols/shell_dynamic_command.rs +4 -4
  77. data/rust-vendor/r-efi/src/protocols/simple_file_system.rs +2 -2
  78. data/rust-vendor/r-efi/src/protocols/simple_network.rs +26 -26
  79. data/rust-vendor/r-efi/src/protocols/simple_text_input.rs +4 -4
  80. data/rust-vendor/r-efi/src/protocols/simple_text_input_ex.rs +11 -11
  81. data/rust-vendor/r-efi/src/protocols/simple_text_output.rs +18 -18
  82. data/rust-vendor/r-efi/src/protocols/tcp4.rs +20 -20
  83. data/rust-vendor/r-efi/src/protocols/tcp6.rs +18 -18
  84. data/rust-vendor/r-efi/src/protocols/timestamp.rs +3 -3
  85. data/rust-vendor/r-efi/src/protocols/udp4.rs +16 -16
  86. data/rust-vendor/r-efi/src/protocols/udp6.rs +14 -14
  87. data/rust-vendor/r-efi/src/system.rs +115 -115
  88. data/rust-vendor/r-efi/src/vendor/intel/console_control.rs +6 -6
  89. data/rust-vendor/r-efi-5.3.0/.cargo-checksum.json +1 -0
  90. data/rust-vendor/r-efi-5.3.0/.cargo_vcs_info.json +6 -0
  91. data/rust-vendor/r-efi-5.3.0/.github/workflows/publish.yml +39 -0
  92. data/rust-vendor/r-efi-5.3.0/.github/workflows/rust-tests.yml +125 -0
  93. data/rust-vendor/r-efi-5.3.0/AUTHORS +74 -0
  94. data/rust-vendor/r-efi-5.3.0/Cargo.lock +16 -0
  95. data/rust-vendor/r-efi-5.3.0/Cargo.toml +70 -0
  96. data/rust-vendor/r-efi-5.3.0/Cargo.toml.orig +51 -0
  97. data/rust-vendor/r-efi-5.3.0/Makefile +85 -0
  98. data/rust-vendor/r-efi-5.3.0/NEWS.md +301 -0
  99. data/rust-vendor/r-efi-5.3.0/README.md +99 -0
  100. data/rust-vendor/r-efi-5.3.0/examples/freestanding.rs +34 -0
  101. data/rust-vendor/r-efi-5.3.0/examples/gop-query.rs +188 -0
  102. data/rust-vendor/r-efi-5.3.0/examples/hello-world.rs +55 -0
  103. data/rust-vendor/r-efi-5.3.0/src/base.rs +993 -0
  104. data/rust-vendor/r-efi-5.3.0/src/hii.rs +1300 -0
  105. data/rust-vendor/r-efi-5.3.0/src/lib.rs +182 -0
  106. data/rust-vendor/r-efi-5.3.0/src/protocols/absolute_pointer.rs +69 -0
  107. data/rust-vendor/r-efi-5.3.0/src/protocols/block_io.rs +70 -0
  108. data/rust-vendor/r-efi-5.3.0/src/protocols/bus_specific_driver_override.rs +32 -0
  109. data/rust-vendor/r-efi-5.3.0/src/protocols/debug_support.rs +835 -0
  110. data/rust-vendor/r-efi-5.3.0/src/protocols/debugport.rs +42 -0
  111. data/rust-vendor/r-efi-5.3.0/src/protocols/decompress.rs +37 -0
  112. data/rust-vendor/r-efi-5.3.0/src/protocols/device_path.rs +82 -0
  113. data/rust-vendor/r-efi-5.3.0/src/protocols/device_path_from_text.rs +26 -0
  114. data/rust-vendor/r-efi-5.3.0/src/protocols/device_path_to_text.rs +30 -0
  115. data/rust-vendor/r-efi-5.3.0/src/protocols/device_path_utilities.rs +63 -0
  116. data/rust-vendor/r-efi-5.3.0/src/protocols/disk_io.rs +40 -0
  117. data/rust-vendor/r-efi-5.3.0/src/protocols/disk_io2.rs +58 -0
  118. data/rust-vendor/r-efi-5.3.0/src/protocols/driver_binding.rs +42 -0
  119. data/rust-vendor/r-efi-5.3.0/src/protocols/driver_diagnostics2.rs +38 -0
  120. data/rust-vendor/r-efi-5.3.0/src/protocols/driver_family_override.rs +23 -0
  121. data/rust-vendor/r-efi-5.3.0/src/protocols/file.rs +183 -0
  122. data/rust-vendor/r-efi-5.3.0/src/protocols/graphics_output.rs +103 -0
  123. data/rust-vendor/r-efi-5.3.0/src/protocols/hii_database.rs +299 -0
  124. data/rust-vendor/r-efi-5.3.0/src/protocols/hii_font.rs +87 -0
  125. data/rust-vendor/r-efi-5.3.0/src/protocols/hii_font_ex.rs +107 -0
  126. data/rust-vendor/r-efi-5.3.0/src/protocols/hii_package_list.rs +14 -0
  127. data/rust-vendor/r-efi-5.3.0/src/protocols/hii_string.rs +71 -0
  128. data/rust-vendor/r-efi-5.3.0/src/protocols/ip4.rs +202 -0
  129. data/rust-vendor/r-efi-5.3.0/src/protocols/ip6.rs +264 -0
  130. data/rust-vendor/r-efi-5.3.0/src/protocols/load_file.rs +26 -0
  131. data/rust-vendor/r-efi-5.3.0/src/protocols/load_file2.rs +15 -0
  132. data/rust-vendor/r-efi-5.3.0/src/protocols/loaded_image.rs +39 -0
  133. data/rust-vendor/r-efi-5.3.0/src/protocols/loaded_image_device_path.rs +13 -0
  134. data/rust-vendor/r-efi-5.3.0/src/protocols/managed_network.rs +147 -0
  135. data/rust-vendor/r-efi-5.3.0/src/protocols/memory_attribute.rs +40 -0
  136. data/rust-vendor/r-efi-5.3.0/src/protocols/mp_services.rs +121 -0
  137. data/rust-vendor/r-efi-5.3.0/src/protocols/pci_io.rs +203 -0
  138. data/rust-vendor/r-efi-5.3.0/src/protocols/platform_driver_override.rs +46 -0
  139. data/rust-vendor/r-efi-5.3.0/src/protocols/rng.rs +83 -0
  140. data/rust-vendor/r-efi-5.3.0/src/protocols/service_binding.rs +20 -0
  141. data/rust-vendor/r-efi-5.3.0/src/protocols/shell.rs +295 -0
  142. data/rust-vendor/r-efi-5.3.0/src/protocols/shell_dynamic_command.rs +33 -0
  143. data/rust-vendor/r-efi-5.3.0/src/protocols/shell_parameters.rs +23 -0
  144. data/rust-vendor/r-efi-5.3.0/src/protocols/simple_file_system.rs +26 -0
  145. data/rust-vendor/r-efi-5.3.0/src/protocols/simple_network.rs +196 -0
  146. data/rust-vendor/r-efi-5.3.0/src/protocols/simple_text_input.rs +38 -0
  147. data/rust-vendor/r-efi-5.3.0/src/protocols/simple_text_input_ex.rs +85 -0
  148. data/rust-vendor/r-efi-5.3.0/src/protocols/simple_text_output.rs +86 -0
  149. data/rust-vendor/r-efi-5.3.0/src/protocols/tcp4.rs +224 -0
  150. data/rust-vendor/r-efi-5.3.0/src/protocols/tcp6.rs +202 -0
  151. data/rust-vendor/r-efi-5.3.0/src/protocols/timestamp.rs +32 -0
  152. data/rust-vendor/r-efi-5.3.0/src/protocols/udp4.rs +151 -0
  153. data/rust-vendor/r-efi-5.3.0/src/protocols/udp6.rs +137 -0
  154. data/rust-vendor/r-efi-5.3.0/src/protocols.rs +54 -0
  155. data/rust-vendor/r-efi-5.3.0/src/system.rs +1130 -0
  156. data/rust-vendor/r-efi-5.3.0/src/vendor/intel/console_control.rs +37 -0
  157. data/rust-vendor/r-efi-5.3.0/src/vendor.rs +10 -0
  158. data/rust-vendor/tokio/.cargo-checksum.json +1 -1
  159. data/rust-vendor/tokio/.cargo_vcs_info.json +1 -1
  160. data/rust-vendor/tokio/CHANGELOG.md +94 -0
  161. data/rust-vendor/tokio/Cargo.lock +1549 -0
  162. data/rust-vendor/tokio/Cargo.toml +96 -83
  163. data/rust-vendor/tokio/Cargo.toml.orig +7 -7
  164. data/rust-vendor/tokio/README.md +1 -1
  165. data/rust-vendor/tokio/src/fs/open_options.rs +4 -1
  166. data/rust-vendor/tokio/src/fs/read.rs +4 -1
  167. data/rust-vendor/tokio/src/fs/write.rs +4 -1
  168. data/rust-vendor/tokio/src/io/async_write.rs +3 -4
  169. data/rust-vendor/tokio/src/io/poll_evented.rs +23 -1
  170. data/rust-vendor/tokio/src/io/stderr.rs +15 -1
  171. data/rust-vendor/tokio/src/io/stdout.rs +14 -0
  172. data/rust-vendor/tokio/src/io/util/async_write_ext.rs +2 -2
  173. data/rust-vendor/tokio/src/io/util/write_buf.rs +11 -2
  174. data/rust-vendor/tokio/src/lib.rs +12 -28
  175. data/rust-vendor/tokio/src/macros/select.rs +6 -8
  176. data/rust-vendor/tokio/src/net/tcp/socket.rs +25 -1
  177. data/rust-vendor/tokio/src/net/tcp/stream.rs +40 -1
  178. data/rust-vendor/tokio/src/process/unix/pidfd_reaper.rs +1 -41
  179. data/rust-vendor/tokio/src/runtime/blocking/pool.rs +18 -14
  180. data/rust-vendor/tokio/src/runtime/builder.rs +10 -4
  181. data/rust-vendor/tokio/src/runtime/handle.rs +3 -2
  182. data/rust-vendor/tokio/src/runtime/io/driver/uring.rs +49 -61
  183. data/rust-vendor/tokio/src/runtime/io/driver.rs +6 -5
  184. data/rust-vendor/tokio/src/runtime/mod.rs +20 -1
  185. data/rust-vendor/tokio/src/runtime/runtime.rs +71 -1
  186. data/rust-vendor/tokio/src/runtime/scheduler/current_thread/mod.rs +24 -8
  187. data/rust-vendor/tokio/src/runtime/scheduler/multi_thread/worker.rs +5 -0
  188. data/rust-vendor/tokio/src/runtime/task/core.rs +1 -0
  189. data/rust-vendor/tokio/src/runtime/task/join.rs +7 -3
  190. data/rust-vendor/tokio/src/runtime/task/list.rs +5 -3
  191. data/rust-vendor/tokio/src/runtime/task/mod.rs +0 -5
  192. data/rust-vendor/tokio/src/runtime/tests/loom_blocking.rs +39 -1
  193. data/rust-vendor/tokio/src/signal/mod.rs +6 -17
  194. data/rust-vendor/tokio/src/signal/registry.rs +1 -1
  195. data/rust-vendor/tokio/src/signal/unix.rs +24 -44
  196. data/rust-vendor/tokio/src/signal/windows/sys.rs +52 -64
  197. data/rust-vendor/tokio/src/signal/windows.rs +35 -23
  198. data/rust-vendor/tokio/src/sync/mpsc/mod.rs +3 -1
  199. data/rust-vendor/tokio/src/sync/oneshot.rs +13 -0
  200. data/rust-vendor/tokio/src/sync/rwlock.rs +4 -5
  201. data/rust-vendor/tokio/src/sync/tests/loom_oneshot.rs +27 -1
  202. data/rust-vendor/tokio/src/task/blocking.rs +16 -1
  203. data/rust-vendor/tokio/src/task/builder.rs +2 -2
  204. data/rust-vendor/tokio/src/task/mod.rs +1 -1
  205. data/rust-vendor/tokio/src/task/spawn.rs +8 -3
  206. data/rust-vendor/tokio/src/task/yield_now.rs +13 -23
  207. data/rust-vendor/tokio/src/time/clock.rs +62 -0
  208. data/rust-vendor/tokio/src/util/memchr.rs +32 -4
  209. data/rust-vendor/tokio/src/util/sharded_list.rs +6 -4
  210. data/rust-vendor/tokio/tests/fs_link.rs +54 -0
  211. data/rust-vendor/tokio/tests/io_async_fd_memory_leak.rs +209 -0
  212. data/rust-vendor/tokio/tests/io_write_buf.rs +56 -0
  213. data/rust-vendor/tokio/tests/process_issue_7144.rs +8 -0
  214. data/rust-vendor/tokio/tests/rt_basic.rs +41 -0
  215. data/rust-vendor/tokio/tests/rt_common_before_park.rs +92 -0
  216. data/rust-vendor/tokio/tests/rt_metrics.rs +1 -1
  217. data/rust-vendor/tokio/tests/rt_panic.rs +12 -0
  218. data/rust-vendor/tokio/tests/rt_shutdown_err.rs +82 -0
  219. data/rust-vendor/tokio/tests/rt_threaded.rs +49 -1
  220. data/rust-vendor/tokio/tests/rt_unstable_metrics.rs +32 -0
  221. data/rust-vendor/tokio/tests/tcp_connect.rs +2 -3
  222. data/rust-vendor/tokio/tests/tcp_shutdown.rs +1 -3
  223. data/rust-vendor/tokio/tests/tcp_socket.rs +3 -4
  224. data/rust-vendor/tokio/tests/tcp_stream.rs +3 -0
  225. metadata +78 -3
  226. data/rust-vendor/getrandom/src/utils/lazy.rs +0 -64
@@ -0,0 +1,103 @@
1
+ //! Graphics Output Protocol
2
+ //!
3
+ //! Provides means to configure graphics hardware and get access to
4
+ //! framebuffers. Replaces the old UGA interface from EFI with a
5
+ //! VGA-independent API.
6
+
7
+ pub const PROTOCOL_GUID: crate::base::Guid = crate::base::Guid::from_fields(
8
+ 0x9042a9de,
9
+ 0x23dc,
10
+ 0x4a38,
11
+ 0x96,
12
+ 0xfb,
13
+ &[0x7a, 0xde, 0xd0, 0x80, 0x51, 0x6a],
14
+ );
15
+
16
+ #[repr(C)]
17
+ #[derive(Clone, Copy, Debug)]
18
+ pub struct PixelBitmask {
19
+ pub red_mask: u32,
20
+ pub green_mask: u32,
21
+ pub blue_mask: u32,
22
+ pub reserved_mask: u32,
23
+ }
24
+
25
+ pub type GraphicsPixelFormat = u32;
26
+
27
+ pub const PIXEL_RED_GREEN_BLUE_RESERVED_8_BIT_PER_COLOR: GraphicsPixelFormat = 0x00000000;
28
+ pub const PIXEL_BLUE_GREEN_RED_RESERVED_8_BIT_PER_COLOR: GraphicsPixelFormat = 0x00000001;
29
+ pub const PIXEL_BIT_MASK: GraphicsPixelFormat = 0x00000002;
30
+ pub const PIXEL_BLT_ONLY: GraphicsPixelFormat = 0x00000003;
31
+ pub const PIXEL_FORMAT_MAX: GraphicsPixelFormat = 0x00000004;
32
+
33
+ #[repr(C)]
34
+ #[derive(Clone, Copy, Debug)]
35
+ pub struct ModeInformation {
36
+ pub version: u32,
37
+ pub horizontal_resolution: u32,
38
+ pub vertical_resolution: u32,
39
+ pub pixel_format: GraphicsPixelFormat,
40
+ pub pixel_information: PixelBitmask,
41
+ pub pixels_per_scan_line: u32,
42
+ }
43
+
44
+ #[repr(C)]
45
+ #[derive(Clone, Copy, Debug)]
46
+ pub struct Mode {
47
+ pub max_mode: u32,
48
+ pub mode: u32,
49
+ pub info: *mut ModeInformation,
50
+ pub size_of_info: usize,
51
+ pub frame_buffer_base: crate::base::PhysicalAddress,
52
+ pub frame_buffer_size: usize,
53
+ }
54
+
55
+ #[repr(C)]
56
+ #[derive(Clone, Copy, Debug)]
57
+ pub struct BltPixel {
58
+ pub blue: u8,
59
+ pub green: u8,
60
+ pub red: u8,
61
+ pub reserved: u8,
62
+ }
63
+
64
+ pub type BltOperation = u32;
65
+
66
+ pub const BLT_VIDEO_FILL: BltOperation = 0x00000000;
67
+ pub const BLT_VIDEO_TO_BLT_BUFFER: BltOperation = 0x00000001;
68
+ pub const BLT_BUFFER_TO_VIDEO: BltOperation = 0x00000002;
69
+ pub const BLT_VIDEO_TO_VIDEO: BltOperation = 0x00000003;
70
+ pub const BLT_OPERATION_MAX: BltOperation = 0x00000004;
71
+
72
+ pub type ProtocolQueryMode = eficall! {fn(
73
+ *mut Protocol,
74
+ u32,
75
+ *mut usize,
76
+ *mut *mut ModeInformation,
77
+ ) -> crate::base::Status};
78
+
79
+ pub type ProtocolSetMode = eficall! {fn(
80
+ *mut Protocol,
81
+ u32,
82
+ ) -> crate::base::Status};
83
+
84
+ pub type ProtocolBlt = eficall! {fn(
85
+ *mut Protocol,
86
+ *mut BltPixel,
87
+ BltOperation,
88
+ usize,
89
+ usize,
90
+ usize,
91
+ usize,
92
+ usize,
93
+ usize,
94
+ usize,
95
+ ) -> crate::base::Status};
96
+
97
+ #[repr(C)]
98
+ pub struct Protocol {
99
+ pub query_mode: ProtocolQueryMode,
100
+ pub set_mode: ProtocolSetMode,
101
+ pub blt: ProtocolBlt,
102
+ pub mode: *mut Mode,
103
+ }
@@ -0,0 +1,299 @@
1
+ //! Human Interface Infrastructure (HII) Protocol
2
+ //!
3
+ //! Database manager for HII-related data structures.
4
+
5
+ pub const PROTOCOL_GUID: crate::base::Guid = crate::base::Guid::from_fields(
6
+ 0xef9fc172,
7
+ 0xa1b2,
8
+ 0x4693,
9
+ 0xb3,
10
+ 0x27,
11
+ &[0x6d, 0x32, 0xfc, 0x41, 0x60, 0x42],
12
+ );
13
+
14
+ pub const SET_KEYBOARD_LAYOUT_EVENT_GUID: crate::base::Guid = crate::base::Guid::from_fields(
15
+ 0x14982a4f,
16
+ 0xb0ed,
17
+ 0x45b8,
18
+ 0xa8,
19
+ 0x11,
20
+ &[0x5a, 0x7a, 0x9b, 0xc2, 0x32, 0xdf],
21
+ );
22
+
23
+ pub type ProtocolNewPackageList = eficall! {fn(
24
+ *const Protocol,
25
+ *const crate::hii::PackageListHeader,
26
+ crate::base::Handle,
27
+ *mut crate::hii::Handle,
28
+ ) -> crate::base::Status};
29
+
30
+ pub type ProtocolRemovePackageList = eficall! {fn(
31
+ *const Protocol,
32
+ crate::hii::Handle,
33
+ ) -> crate::base::Status};
34
+
35
+ pub type ProtocolUpdatePackageList = eficall! {fn(
36
+ *const Protocol,
37
+ crate::hii::Handle,
38
+ *const crate::hii::PackageListHeader,
39
+ ) -> crate::base::Status};
40
+
41
+ pub type ProtocolListPackageLists = eficall! {fn(
42
+ *const Protocol,
43
+ u8,
44
+ *const crate::base::Guid,
45
+ *mut usize,
46
+ *mut crate::hii::Handle,
47
+ ) -> crate::base::Status};
48
+
49
+ pub type ProtocolExportPackageLists = eficall! {fn(
50
+ *const Protocol,
51
+ crate::hii::Handle,
52
+ *mut usize,
53
+ *mut crate::hii::PackageListHeader,
54
+ ) -> crate::base::Status};
55
+
56
+ pub type ProtocolRegisterPackageNotify = eficall! {fn(
57
+ *const Protocol,
58
+ u8,
59
+ *const crate::base::Guid,
60
+ Notify,
61
+ NotifyType,
62
+ *mut crate::base::Handle,
63
+ ) -> crate::base::Status};
64
+
65
+ pub type ProtocolUnregisterPackageNotify = eficall! {fn(
66
+ *const Protocol,
67
+ crate::base::Handle,
68
+ ) -> crate::base::Status};
69
+
70
+ pub type ProtocolFindKeyboardLayouts = eficall! {fn(
71
+ *const Protocol,
72
+ *mut u16,
73
+ *mut crate::base::Guid,
74
+ ) -> crate::base::Status};
75
+
76
+ pub type ProtocolGetKeyboardLayout = eficall! {fn(
77
+ *const Protocol,
78
+ *const crate::base::Guid,
79
+ *mut u16,
80
+ *mut KeyboardLayout,
81
+ ) -> crate::base::Status};
82
+
83
+ pub type ProtocolSetKeyboardLayout = eficall! {fn(
84
+ *const Protocol,
85
+ *mut crate::base::Guid,
86
+ ) -> crate::base::Status};
87
+
88
+ pub type ProtocolGetPackageListHandle = eficall! {fn(
89
+ *const Protocol,
90
+ crate::hii::Handle,
91
+ *mut crate::base::Handle,
92
+ ) -> crate::base::Status};
93
+
94
+ #[repr(C)]
95
+ pub struct Protocol {
96
+ pub new_package_list: ProtocolNewPackageList,
97
+ pub remove_package_list: ProtocolRemovePackageList,
98
+ pub update_package_list: ProtocolUpdatePackageList,
99
+ pub list_package_lists: ProtocolListPackageLists,
100
+ pub export_package_lists: ProtocolExportPackageLists,
101
+ pub register_package_notify: ProtocolRegisterPackageNotify,
102
+ pub unregister_package_notify: ProtocolUnregisterPackageNotify,
103
+ pub find_keyboard_layouts: ProtocolFindKeyboardLayouts,
104
+ pub get_keyboard_layout: ProtocolGetKeyboardLayout,
105
+ pub set_keyboard_layout: ProtocolSetKeyboardLayout,
106
+ pub get_package_list_handle: ProtocolGetPackageListHandle,
107
+ }
108
+
109
+ #[repr(C)]
110
+ #[derive(Clone, Copy, Debug)]
111
+ pub struct KeyboardLayout<const N: usize = 0> {
112
+ pub layout_length: u16,
113
+ pub guid: crate::base::Guid,
114
+ pub layout_descriptor_string_offset: u32,
115
+ pub descriptor_count: u8,
116
+ pub descriptors: [KeyDescriptor; N],
117
+ }
118
+
119
+ #[repr(C)]
120
+ #[derive(Clone, Copy, Debug)]
121
+ pub struct KeyDescriptor {
122
+ pub key: Key,
123
+ pub unicode: crate::base::Char16,
124
+ pub shifted_unicode: crate::base::Char16,
125
+ pub alt_gr_unicode: crate::base::Char16,
126
+ pub shifted_alt_gr_unicode: crate::base::Char16,
127
+ pub modifier: u16,
128
+ pub affected_attribute: u16,
129
+ }
130
+
131
+ pub const AFFECTED_BY_STANDARD_SHIFT: u16 = 0x0001;
132
+ pub const AFFECTED_BY_CAPS_LOCK: u16 = 0x0002;
133
+ pub const AFFECTED_BY_NUM_LOCK: u16 = 0x0004;
134
+
135
+ pub type Key = u32;
136
+
137
+ pub const EFI_KEY_LCTRL: Key = 0x00000000;
138
+ pub const EFI_KEY_A0: Key = 0x00000001;
139
+ pub const EFI_KEY_LALT: Key = 0x00000002;
140
+ pub const EFI_KEY_SPACE_BAR: Key = 0x00000003;
141
+ pub const EFI_KEY_A2: Key = 0x00000004;
142
+ pub const EFI_KEY_A3: Key = 0x00000005;
143
+ pub const EFI_KEY_A4: Key = 0x00000006;
144
+ pub const EFI_KEY_RCTRL: Key = 0x00000007;
145
+ pub const EFI_KEY_LEFT_ARROW: Key = 0x00000008;
146
+ pub const EFI_KEY_DOWN_ARROW: Key = 0x00000009;
147
+ pub const EFI_KEY_RIGHT_ARROW: Key = 0x0000000a;
148
+ pub const EFI_KEY_ZERO: Key = 0x0000000b;
149
+ pub const EFI_KEY_PERIOD: Key = 0x0000000c;
150
+ pub const EFI_KEY_ENTER: Key = 0x0000000d;
151
+ pub const EFI_KEY_LSHIFT: Key = 0x0000000e;
152
+ pub const EFI_KEY_B0: Key = 0x0000000f;
153
+ pub const EFI_KEY_B1: Key = 0x00000010;
154
+ pub const EFI_KEY_B2: Key = 0x00000011;
155
+ pub const EFI_KEY_B3: Key = 0x00000012;
156
+ pub const EFI_KEY_B4: Key = 0x00000013;
157
+ pub const EFI_KEY_B5: Key = 0x00000014;
158
+ pub const EFI_KEY_B6: Key = 0x00000015;
159
+ pub const EFI_KEY_B7: Key = 0x00000016;
160
+ pub const EFI_KEY_B8: Key = 0x00000017;
161
+ pub const EFI_KEY_B9: Key = 0x00000018;
162
+ pub const EFI_KEY_B10: Key = 0x00000019;
163
+ pub const EFI_KEY_RSHIFT: Key = 0x0000001a;
164
+ pub const EFI_KEY_UP_ARROW: Key = 0x0000001b;
165
+ pub const EFI_KEY_ONE: Key = 0x0000001c;
166
+ pub const EFI_KEY_TWO: Key = 0x0000001d;
167
+ pub const EFI_KEY_THREE: Key = 0x0000001e;
168
+ pub const EFI_KEY_CAPS_LOCK: Key = 0x0000001f;
169
+ pub const EFI_KEY_C1: Key = 0x00000020;
170
+ pub const EFI_KEY_C2: Key = 0x00000021;
171
+ pub const EFI_KEY_C3: Key = 0x00000022;
172
+ pub const EFI_KEY_C4: Key = 0x00000023;
173
+ pub const EFI_KEY_C5: Key = 0x00000024;
174
+ pub const EFI_KEY_C6: Key = 0x00000025;
175
+ pub const EFI_KEY_C7: Key = 0x00000026;
176
+ pub const EFI_KEY_C8: Key = 0x00000027;
177
+ pub const EFI_KEY_C9: Key = 0x00000028;
178
+ pub const EFI_KEY_C10: Key = 0x00000029;
179
+ pub const EFI_KEY_C11: Key = 0x0000002a;
180
+ pub const EFI_KEY_C12: Key = 0x0000002b;
181
+ pub const EFI_KEY_FOUR: Key = 0x0000002c;
182
+ pub const EFI_KEY_FIVE: Key = 0x0000002d;
183
+ pub const EFI_KEY_SIX: Key = 0x0000002e;
184
+ pub const EFI_KEY_PLUS: Key = 0x0000002f;
185
+ pub const EFI_KEY_TAB: Key = 0x00000030;
186
+ pub const EFI_KEY_D1: Key = 0x00000031;
187
+ pub const EFI_KEY_D2: Key = 0x00000032;
188
+ pub const EFI_KEY_D3: Key = 0x00000033;
189
+ pub const EFI_KEY_D4: Key = 0x00000034;
190
+ pub const EFI_KEY_D5: Key = 0x00000035;
191
+ pub const EFI_KEY_D6: Key = 0x00000036;
192
+ pub const EFI_KEY_D7: Key = 0x00000037;
193
+ pub const EFI_KEY_D8: Key = 0x00000038;
194
+ pub const EFI_KEY_D9: Key = 0x00000039;
195
+ pub const EFI_KEY_D10: Key = 0x0000003a;
196
+ pub const EFI_KEY_D11: Key = 0x0000003b;
197
+ pub const EFI_KEY_D12: Key = 0x0000003c;
198
+ pub const EFI_KEY_D13: Key = 0x0000003d;
199
+ pub const EFI_KEY_DEL: Key = 0x0000003e;
200
+ pub const EFI_KEY_END: Key = 0x0000003f;
201
+ pub const EFI_KEY_PGDN: Key = 0x00000040;
202
+ pub const EFI_KEY_SEVEN: Key = 0x00000041;
203
+ pub const EFI_KEY_EIGHT: Key = 0x00000042;
204
+ pub const EFI_KEY_NINE: Key = 0x00000043;
205
+ pub const EFI_KEY_E0: Key = 0x00000044;
206
+ pub const EFI_KEY_E1: Key = 0x00000045;
207
+ pub const EFI_KEY_E2: Key = 0x00000046;
208
+ pub const EFI_KEY_E3: Key = 0x00000047;
209
+ pub const EFI_KEY_E4: Key = 0x00000048;
210
+ pub const EFI_KEY_E5: Key = 0x00000049;
211
+ pub const EFI_KEY_E6: Key = 0x0000004a;
212
+ pub const EFI_KEY_E7: Key = 0x0000004b;
213
+ pub const EFI_KEY_E8: Key = 0x0000004c;
214
+ pub const EFI_KEY_E9: Key = 0x0000004d;
215
+ pub const EFI_KEY_E10: Key = 0x0000004e;
216
+ pub const EFI_KEY_E11: Key = 0x0000004f;
217
+ pub const EFI_KEY_E12: Key = 0x00000050;
218
+ pub const EFI_KEY_BACK_SPACE: Key = 0x00000051;
219
+ pub const EFI_KEY_INS: Key = 0x00000052;
220
+ pub const EFI_KEY_HOME: Key = 0x00000053;
221
+ pub const EFI_KEY_PGUP: Key = 0x00000054;
222
+ pub const EFI_KEY_NLCK: Key = 0x00000055;
223
+ pub const EFI_KEY_SLASH: Key = 0x00000056;
224
+ pub const EFI_KEY_ASTERISK: Key = 0x00000057;
225
+ pub const EFI_KEY_MINUS: Key = 0x00000058;
226
+ pub const EFI_KEY_ESC: Key = 0x00000059;
227
+ pub const EFI_KEY_F1: Key = 0x0000005a;
228
+ pub const EFI_KEY_F2: Key = 0x0000005b;
229
+ pub const EFI_KEY_F3: Key = 0x0000005c;
230
+ pub const EFI_KEY_F4: Key = 0x0000005d;
231
+ pub const EFI_KEY_F5: Key = 0x0000005e;
232
+ pub const EFI_KEY_F6: Key = 0x0000005f;
233
+ pub const EFI_KEY_F7: Key = 0x00000060;
234
+ pub const EFI_KEY_F8: Key = 0x00000061;
235
+ pub const EFI_KEY_F9: Key = 0x00000062;
236
+ pub const EFI_KEY_F10: Key = 0x00000063;
237
+ pub const EFI_KEY_F11: Key = 0x00000064;
238
+ pub const EFI_KEY_F12: Key = 0x00000065;
239
+ pub const EFI_KEY_PRINT: Key = 0x00000066;
240
+ pub const EFI_KEY_SLCK: Key = 0x00000067;
241
+ pub const EFI_KEY_PAUSE: Key = 0x00000068;
242
+
243
+ pub const NULL_MODIFIER: u16 = 0x0000;
244
+ pub const LEFT_CONTROL_MODIFIER: u16 = 0x0001;
245
+ pub const RIGHT_CONTROL_MODIFIER: u16 = 0x0002;
246
+ pub const LEFT_ALT_MODIFIER: u16 = 0x0003;
247
+ pub const RIGHT_ALT_MODIFIER: u16 = 0x0004;
248
+ pub const ALT_GR_MODIFIER: u16 = 0x0005;
249
+ pub const INSERT_MODIFIER: u16 = 0x0006;
250
+ pub const DELETE_MODIFIER: u16 = 0x0007;
251
+ pub const PAGE_DOWN_MODIFIER: u16 = 0x0008;
252
+ pub const PAGE_UP_MODIFIER: u16 = 0x0009;
253
+ pub const HOME_MODIFIER: u16 = 0x000A;
254
+ pub const END_MODIFIER: u16 = 0x000B;
255
+ pub const LEFT_SHIFT_MODIFIER: u16 = 0x000C;
256
+ pub const RIGHT_SHIFT_MODIFIER: u16 = 0x000D;
257
+ pub const CAPS_LOCK_MODIFIER: u16 = 0x000E;
258
+ pub const NUM_LOCK_MODIFIER: u16 = 0x000F;
259
+ pub const LEFT_ARROW_MODIFIER: u16 = 0x0010;
260
+ pub const RIGHT_ARROW_MODIFIER: u16 = 0x0011;
261
+ pub const DOWN_ARROW_MODIFIER: u16 = 0x0012;
262
+ pub const UP_ARROW_MODIFIER: u16 = 0x0013;
263
+ pub const NS_KEY_MODIFIER: u16 = 0x0014;
264
+ pub const NS_KEY_DEPENDENCY_MODIFIER: u16 = 0x0015;
265
+ pub const FUNCTION_KEY_ONE_MODIFIER: u16 = 0x0016;
266
+ pub const FUNCTION_KEY_TWO_MODIFIER: u16 = 0x0017;
267
+ pub const FUNCTION_KEY_THREE_MODIFIER: u16 = 0x0018;
268
+ pub const FUNCTION_KEY_FOUR_MODIFIER: u16 = 0x0019;
269
+ pub const FUNCTION_KEY_FIVE_MODIFIER: u16 = 0x001A;
270
+ pub const FUNCTION_KEY_SIX_MODIFIER: u16 = 0x001B;
271
+ pub const FUNCTION_KEY_SEVEN_MODIFIER: u16 = 0x001C;
272
+ pub const FUNCTION_KEY_EIGHT_MODIFIER: u16 = 0x001D;
273
+ pub const FUNCTION_KEY_NINE_MODIFIER: u16 = 0x001E;
274
+ pub const FUNCTION_KEY_TEN_MODIFIER: u16 = 0x001F;
275
+ pub const FUNCTION_KEY_ELEVEN_MODIFIER: u16 = 0x0020;
276
+ pub const FUNCTION_KEY_TWELVE_MODIFIER: u16 = 0x0021;
277
+ pub const PRINT_MODIFIER: u16 = 0x0022;
278
+ pub const SYS_REQUEST_MODIFIER: u16 = 0x0023;
279
+ pub const SCROLL_LOCK_MODIFIER: u16 = 0x0024;
280
+ pub const PAUSE_MODIFIER: u16 = 0x0025;
281
+ pub const BREAK_MODIFIER: u16 = 0x0026;
282
+ pub const LEFT_LOGO_MODIFIER: u16 = 0x0027;
283
+ pub const RIGHT_LOGO_MODIFIER: u16 = 0x0028;
284
+ pub const MENU_MODIFIER: u16 = 0x0029;
285
+
286
+ pub type Notify = eficall! {fn(
287
+ u8,
288
+ *const crate::base::Guid,
289
+ *const crate::hii::PackageHeader,
290
+ crate::hii::Handle,
291
+ NotifyType,
292
+ ) -> crate::base::Status};
293
+
294
+ pub type NotifyType = usize;
295
+
296
+ pub const NOTIFY_NEW_PACK: NotifyType = 0x00000001;
297
+ pub const NOTIFY_REMOVE_PACK: NotifyType = 0x00000002;
298
+ pub const NOTIFY_EXPORT_PACK: NotifyType = 0x00000004;
299
+ pub const NOTIFY_ADD_PACK: NotifyType = 0x00000008;
@@ -0,0 +1,87 @@
1
+ //! HII Font Protocol
2
+
3
+ pub const PROTOCOL_GUID: crate::base::Guid = crate::base::Guid::from_fields(
4
+ 0xe9ca4775,
5
+ 0x8657,
6
+ 0x47fc,
7
+ 0x97,
8
+ 0xe7,
9
+ &[0x7e, 0xd6, 0x5a, 0x08, 0x43, 0x24],
10
+ );
11
+
12
+ pub type ProtocolStringToImage = eficall! {fn(
13
+ *const Protocol,
14
+ OutFlags,
15
+ String,
16
+ *const super::hii_font_ex::DisplayInfo,
17
+ *mut *mut super::hii_font_ex::ImageOutput,
18
+ usize,
19
+ usize,
20
+ *mut *mut RowInfo,
21
+ *mut usize,
22
+ *mut usize,
23
+ ) -> crate::base::Status};
24
+
25
+ pub type ProtocolStringIdToImage = eficall! {fn(
26
+ *const Protocol,
27
+ OutFlags,
28
+ crate::hii::Handle,
29
+ crate::hii::StringId,
30
+ *const crate::base::Char8,
31
+ *const super::hii_font_ex::DisplayInfo,
32
+ *mut *mut super::hii_font_ex::ImageOutput,
33
+ usize,
34
+ usize,
35
+ *mut *mut RowInfo,
36
+ *mut usize,
37
+ *mut usize,
38
+ ) -> crate::base::Status};
39
+
40
+ pub type ProtocolGetGlyph = eficall! {fn(
41
+ *const Protocol,
42
+ crate::base::Char16,
43
+ *const super::hii_font_ex::DisplayInfo,
44
+ *mut *mut super::hii_font_ex::ImageOutput,
45
+ *mut usize,
46
+ ) -> crate::base::Status};
47
+
48
+ pub type ProtocolGetFontInfo = eficall! {fn(
49
+ *const Protocol,
50
+ *mut Handle,
51
+ *const super::hii_font_ex::DisplayInfo,
52
+ *mut *mut super::hii_font_ex::DisplayInfo,
53
+ String,
54
+ ) -> crate::base::Status};
55
+
56
+ #[repr(C)]
57
+ pub struct Protocol {
58
+ pub string_to_image: ProtocolStringToImage,
59
+ pub string_id_to_image: ProtocolStringIdToImage,
60
+ pub get_glyph: ProtocolGetGlyph,
61
+ pub get_font_info: ProtocolGetFontInfo,
62
+ }
63
+
64
+ pub type OutFlags = u32;
65
+
66
+ pub const OUT_FLAG_CLIP: OutFlags = 0x00000001;
67
+ pub const OUT_FLAG_WRAP: OutFlags = 0x00000002;
68
+ pub const OUT_FLAG_CLIP_CLEAN_Y: OutFlags = 0x00000004;
69
+ pub const OUT_FLAG_CLIP_CLEAN_X: OutFlags = 0x00000008;
70
+ pub const OUT_FLAG_TRANSPARENT: OutFlags = 0x00000010;
71
+ pub const IGNORE_IF_NO_GLYPH: OutFlags = 0x00000020;
72
+ pub const IGNORE_LINE_BREAK: OutFlags = 0x00000040;
73
+ pub const DIRECT_TO_SCREEN: OutFlags = 0x00000080;
74
+
75
+ pub type String = *mut crate::base::Char16;
76
+
77
+ #[repr(C)]
78
+ #[derive(Clone, Copy, Debug)]
79
+ pub struct RowInfo {
80
+ pub start_index: usize,
81
+ pub end_index: usize,
82
+ pub line_height: usize,
83
+ pub line_width: usize,
84
+ pub baseline_offset: usize,
85
+ }
86
+
87
+ pub type Handle = *mut core::ffi::c_void;
@@ -0,0 +1,107 @@
1
+ //! HII Font Ex Protocol
2
+
3
+ pub const PROTOCOL_GUID: crate::base::Guid = crate::base::Guid::from_fields(
4
+ 0x849e6875,
5
+ 0xdb35,
6
+ 0x4df8,
7
+ 0xb4,
8
+ 0x1e,
9
+ &[0xc8, 0xf3, 0x37, 0x18, 0x07, 0x3f],
10
+ );
11
+
12
+ pub type ProtocolStringToImageEx = eficall! {fn(
13
+ *const Protocol,
14
+ super::hii_font::OutFlags,
15
+ super::hii_font::String,
16
+ *const DisplayInfo,
17
+ *mut *mut ImageOutput,
18
+ usize,
19
+ usize,
20
+ *mut *mut super::hii_font::RowInfo,
21
+ *mut usize,
22
+ *mut usize,
23
+ ) -> crate::base::Status};
24
+
25
+ pub type ProtocolStringIdToImageEx = eficall! {fn(
26
+ *const Protocol,
27
+ super::hii_font::OutFlags,
28
+ crate::hii::Handle,
29
+ crate::hii::StringId,
30
+ *const crate::base::Char8,
31
+ *const DisplayInfo,
32
+ *mut *mut ImageOutput,
33
+ usize,
34
+ usize,
35
+ *mut *mut super::hii_font::RowInfo,
36
+ *mut usize,
37
+ *mut usize,
38
+ ) -> crate::base::Status};
39
+
40
+ pub type ProtocolGetGlyphEx = eficall! {fn(
41
+ *const Protocol,
42
+ crate::base::Char16,
43
+ *const DisplayInfo,
44
+ *mut *mut ImageOutput,
45
+ usize,
46
+ ) -> crate::base::Status};
47
+
48
+ pub type ProtocolGetFontInfoEx = eficall! {fn(
49
+ *const Protocol,
50
+ *mut super::hii_font::Handle,
51
+ *const DisplayInfo,
52
+ *mut *mut DisplayInfo,
53
+ super::hii_font::String,
54
+ ) -> crate::base::Status};
55
+
56
+ pub type ProtocolGetGlyphInfo = eficall! {fn(
57
+ *const Protocol,
58
+ crate::base::Char16,
59
+ *const DisplayInfo,
60
+ *mut crate::hii::GlyphInfo,
61
+ ) -> crate::base::Status};
62
+
63
+ #[repr(C)]
64
+ pub struct Protocol {
65
+ pub string_to_image_ex: ProtocolStringToImageEx,
66
+ pub string_id_to_image_ex: ProtocolStringIdToImageEx,
67
+ pub get_glyph_ex: ProtocolGetGlyphEx,
68
+ pub get_font_info_ex: ProtocolGetFontInfoEx,
69
+ pub get_glyph_info: ProtocolGetGlyphInfo,
70
+ }
71
+
72
+ #[repr(C)]
73
+ #[derive(Clone, Copy, Debug)]
74
+ pub struct DisplayInfo {
75
+ pub foreground_color: super::graphics_output::BltPixel,
76
+ pub background_color: super::graphics_output::BltPixel,
77
+ pub font_info_mask: InfoMask,
78
+ pub font_info: super::hii_string::Info,
79
+ }
80
+
81
+ pub type InfoMask = u32;
82
+
83
+ pub const INFO_SYS_FONT: InfoMask = 0x00000001;
84
+ pub const INFO_SYS_SIZE: InfoMask = 0x00000002;
85
+ pub const INFO_SYS_STYLE: InfoMask = 0x00000004;
86
+ pub const INFO_SYS_FORE_COLOR: InfoMask = 0x00000010;
87
+ pub const INFO_SYS_BACK_COLOR: InfoMask = 0x00000020;
88
+ pub const INFO_RESIZE: InfoMask = 0x00001000;
89
+ pub const INFO_RESTYLE: InfoMask = 0x00002000;
90
+ pub const INFO_ANY_FONT: InfoMask = 0x00010000;
91
+ pub const INFO_ANY_SIZE: InfoMask = 0x00020000;
92
+ pub const INFO_ANY_STYLE: InfoMask = 0x00040000;
93
+
94
+ #[repr(C)]
95
+ #[derive(Clone, Copy)]
96
+ pub union ImageOutputImage {
97
+ pub bitmap: *mut super::graphics_output::BltPixel,
98
+ pub screen: *mut super::graphics_output::Protocol,
99
+ }
100
+
101
+ #[repr(C)]
102
+ #[derive(Clone, Copy)]
103
+ pub struct ImageOutput {
104
+ pub width: u16,
105
+ pub height: u16,
106
+ pub image: ImageOutputImage,
107
+ }
@@ -0,0 +1,14 @@
1
+ //! Human Interface Infrastructure (HII) Package List Protocol
2
+ //!
3
+ //! Installed onto an image handle during load if the image contains a custom PE/COFF
4
+ //! resource with type 'HII'. The protocol's interface pointer points to the HII package
5
+ //! list which is contained in the resource's data.
6
+
7
+ pub const PROTOCOL_GUID: crate::base::Guid = crate::base::Guid::from_fields(
8
+ 0x6a1ee763,
9
+ 0xd47a,
10
+ 0x43b4,
11
+ 0xaa,
12
+ 0xbe,
13
+ &[0xef, 0x1d, 0xe2, 0xab, 0x56, 0xfc],
14
+ );
@@ -0,0 +1,71 @@
1
+ //! HII String Protocol
2
+
3
+ pub const PROTOCOL_GUID: crate::base::Guid = crate::base::Guid::from_fields(
4
+ 0xfd96974,
5
+ 0x23aa,
6
+ 0x4cdc,
7
+ 0xb9,
8
+ 0xcb,
9
+ &[0x98, 0xd1, 0x77, 0x50, 0x32, 0x2a],
10
+ );
11
+
12
+ pub type ProtocolNewString = eficall! {fn(
13
+ *const Protocol,
14
+ crate::hii::Handle,
15
+ *mut crate::hii::StringId,
16
+ *const crate::base::Char8,
17
+ *const crate::base::Char16,
18
+ super::hii_font::String,
19
+ *const Info,
20
+ ) -> crate::base::Status};
21
+
22
+ pub type ProtocolGetString = eficall! {fn(
23
+ *const Protocol,
24
+ *const crate::base::Char8,
25
+ crate::hii::Handle,
26
+ crate::hii::StringId,
27
+ super::hii_font::String,
28
+ *mut usize,
29
+ *mut *mut Info,
30
+ ) -> crate::base::Status};
31
+
32
+ pub type ProtocolSetString = eficall! {fn(
33
+ *const Protocol,
34
+ crate::hii::Handle,
35
+ crate::hii::StringId,
36
+ *const crate::base::Char8,
37
+ super::hii_font::String,
38
+ *const Info,
39
+ ) -> crate::base::Status};
40
+
41
+ pub type ProtocolGetLanguages = eficall! {fn(
42
+ *const Protocol,
43
+ crate::hii::Handle,
44
+ *mut crate::base::Char8,
45
+ *mut usize,
46
+ ) -> crate::base::Status};
47
+
48
+ pub type ProtocolGetSecondaryLanguages = eficall! {fn(
49
+ *const Protocol,
50
+ crate::hii::Handle,
51
+ *const crate::base::Char8,
52
+ *mut crate::base::Char8,
53
+ *mut usize,
54
+ ) -> crate::base::Status};
55
+
56
+ #[repr(C)]
57
+ pub struct Protocol {
58
+ pub new_string: ProtocolNewString,
59
+ pub get_string: ProtocolGetString,
60
+ pub set_string: ProtocolSetString,
61
+ pub get_languages: ProtocolGetLanguages,
62
+ pub get_secondary_languages: ProtocolGetSecondaryLanguages,
63
+ }
64
+
65
+ #[repr(C)]
66
+ #[derive(Clone, Copy, Debug)]
67
+ pub struct Info<const N: usize = 0> {
68
+ pub font_style: crate::hii::FontStyle,
69
+ pub font_size: u16,
70
+ pub font_name: [crate::base::Char16; N],
71
+ }