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,42 @@
1
+ //! Debug Port Protocol
2
+ //!
3
+ //! It provides the communication link between the debug agent and the remote host.
4
+
5
+ pub const PROTOCOL_GUID: crate::base::Guid = crate::base::Guid::from_fields(
6
+ 0xeba4e8d2,
7
+ 0x3858,
8
+ 0x41ec,
9
+ 0xa2,
10
+ 0x81,
11
+ &[0x26, 0x47, 0xba, 0x96, 0x60, 0xd0],
12
+ );
13
+
14
+ pub type Reset = eficall! {fn(
15
+ *mut Protocol,
16
+ ) -> *mut crate::base::Status};
17
+
18
+ pub type Write = eficall! {fn(
19
+ *mut Protocol,
20
+ u32,
21
+ *mut usize,
22
+ *mut core::ffi::c_void
23
+ ) -> *mut crate::base::Status};
24
+
25
+ pub type Read = eficall! {fn(
26
+ *mut Protocol,
27
+ u32,
28
+ *mut usize,
29
+ *mut core::ffi::c_void
30
+ ) -> *mut crate::base::Status};
31
+
32
+ pub type Poll = eficall! {fn(
33
+ *mut Protocol,
34
+ ) -> *mut crate::base::Status};
35
+
36
+ #[repr(C)]
37
+ pub struct Protocol {
38
+ pub reset: Reset,
39
+ pub write: Write,
40
+ pub read: Read,
41
+ pub poll: Poll,
42
+ }
@@ -0,0 +1,37 @@
1
+ //! Decompress Protocol
2
+ //!
3
+ //! The decompress protocol provides a decompression service that allows a compressed source
4
+ //! buffer in memory to be decompressed into a destination buffer in memory.
5
+
6
+ pub const PROTOCOL_GUID: crate::base::Guid = crate::base::Guid::from_fields(
7
+ 0xd8117cfe,
8
+ 0x94a6,
9
+ 0x11d4,
10
+ 0x9a,
11
+ 0x3a,
12
+ &[0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d],
13
+ );
14
+
15
+ pub type ProtocolGetInfo = eficall! {fn(
16
+ *mut Protocol,
17
+ *mut core::ffi::c_void,
18
+ u32,
19
+ *mut u32,
20
+ *mut u32,
21
+ ) -> crate::base::Status};
22
+
23
+ pub type ProtocolDecompress = eficall! {fn(
24
+ *mut Protocol,
25
+ *mut core::ffi::c_void,
26
+ u32,
27
+ *mut core::ffi::c_void,
28
+ u32,
29
+ *mut core::ffi::c_void,
30
+ u32,
31
+ ) -> crate::base::Status};
32
+
33
+ #[repr(C)]
34
+ pub struct Protocol {
35
+ pub get_info: ProtocolGetInfo,
36
+ pub decompress: ProtocolDecompress,
37
+ }
@@ -0,0 +1,82 @@
1
+ //! Device Path Protocol
2
+ //!
3
+ //! The device path protocol defines how to obtain generic path/location information
4
+ //! concerning the phisycal or logical device.
5
+
6
+ pub const PROTOCOL_GUID: crate::base::Guid = crate::base::Guid::from_fields(
7
+ 0x09576e91,
8
+ 0x6d3f,
9
+ 0x11d2,
10
+ 0x8e,
11
+ 0x39,
12
+ &[0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b],
13
+ );
14
+
15
+ pub const TYPE_HARDWARE: u8 = 0x01;
16
+ pub const TYPE_ACPI: u8 = 0x02;
17
+ pub const TYPE_MESSAGING: u8 = 0x03;
18
+ pub const TYPE_MEDIA: u8 = 0x04;
19
+ pub const TYPE_BIOS: u8 = 0x05;
20
+ pub const TYPE_END: u8 = 0x7f;
21
+
22
+ #[repr(C)]
23
+ #[derive(Clone, Copy, Debug)]
24
+ pub struct Protocol {
25
+ pub r#type: u8,
26
+ pub sub_type: u8,
27
+ pub length: [u8; 2],
28
+ }
29
+
30
+ #[repr(C)]
31
+ #[derive(Clone, Copy, Debug)]
32
+ pub struct End {
33
+ pub header: Protocol,
34
+ }
35
+
36
+ impl End {
37
+ pub const SUBTYPE_INSTANCE: u8 = 0x01;
38
+ pub const SUBTYPE_ENTIRE: u8 = 0xff;
39
+ }
40
+
41
+ #[repr(C)]
42
+ #[derive(Clone, Copy, Debug)]
43
+ pub struct Hardware {
44
+ pub header: Protocol,
45
+ }
46
+
47
+ impl Hardware {
48
+ pub const SUBTYPE_PCI: u8 = 0x01;
49
+ pub const SUBTYPE_PCCARD: u8 = 0x02;
50
+ pub const SUBTYPE_MMAP: u8 = 0x03;
51
+ pub const SUBTYPE_VENDOR: u8 = 0x04;
52
+ pub const SUBTYPE_CONTROLLER: u8 = 0x05;
53
+ pub const SUBTYPE_BMC: u8 = 0x06;
54
+ }
55
+
56
+ #[repr(C, packed)]
57
+ #[derive(Clone, Copy, Debug)]
58
+ pub struct HardDriveMedia {
59
+ pub header: Protocol,
60
+ pub partition_number: u32,
61
+ pub partition_start: u64,
62
+ pub partition_size: u64,
63
+ pub partition_signature: [u8; 16],
64
+ pub partition_format: u8,
65
+ pub signature_type: u8,
66
+ }
67
+
68
+ pub struct Media {
69
+ pub header: Protocol,
70
+ }
71
+
72
+ impl Media {
73
+ pub const SUBTYPE_HARDDRIVE: u8 = 0x01;
74
+ pub const SUBTYPE_CDROM: u8 = 0x02;
75
+ pub const SUBTYPE_VENDOR: u8 = 0x03;
76
+ pub const SUBTYPE_FILE_PATH: u8 = 0x04;
77
+ pub const SUBTYPE_MEDIA_PROTOCOL: u8 = 0x05;
78
+ pub const SUBTYPE_PIWG_FIRMWARE_FILE: u8 = 0x06;
79
+ pub const SUBTYPE_PIWG_FIRMWARE_VOLUME: u8 = 0x07;
80
+ pub const SUBTYPE_RELATIVE_OFFSET_RANGE: u8 = 0x08;
81
+ pub const SUBTYPE_RAM_DISK: u8 = 0x09;
82
+ }
@@ -0,0 +1,26 @@
1
+ //! Device Path From Text Protocol
2
+ //!
3
+ //! Convert text to device paths and device nodes.
4
+
5
+ pub const PROTOCOL_GUID: crate::base::Guid = crate::base::Guid::from_fields(
6
+ 0x5c99a21,
7
+ 0xc70f,
8
+ 0x4ad2,
9
+ 0x8a,
10
+ 0x5f,
11
+ &[0x35, 0xdf, 0x33, 0x43, 0xf5, 0x1e],
12
+ );
13
+
14
+ pub type DevicePathFromTextNode = eficall! {fn(
15
+ *const crate::base::Char16,
16
+ ) -> *mut crate::protocols::device_path::Protocol};
17
+
18
+ pub type DevicePathFromTextPath = eficall! {fn(
19
+ *const crate::base::Char16,
20
+ ) -> *mut crate::protocols::device_path::Protocol};
21
+
22
+ #[repr(C)]
23
+ pub struct Protocol {
24
+ pub convert_text_to_device_node: DevicePathFromTextNode,
25
+ pub convert_text_to_device_path: DevicePathFromTextPath,
26
+ }
@@ -0,0 +1,30 @@
1
+ //! Device Path to Text Protocol
2
+ //!
3
+ //! Convert device nodes and paths to text.
4
+
5
+ pub const PROTOCOL_GUID: crate::base::Guid = crate::base::Guid::from_fields(
6
+ 0x8b843e20,
7
+ 0x8132,
8
+ 0x4852,
9
+ 0x90,
10
+ 0xcc,
11
+ &[0x55, 0x1a, 0x4e, 0x4a, 0x7f, 0x1c],
12
+ );
13
+
14
+ pub type DevicePathToTextNode = eficall! {fn(
15
+ *mut crate::protocols::device_path::Protocol,
16
+ crate::base::Boolean,
17
+ crate::base::Boolean,
18
+ ) -> *mut crate::base::Char16};
19
+
20
+ pub type DevicePathToTextPath = eficall! {fn(
21
+ *mut crate::protocols::device_path::Protocol,
22
+ crate::base::Boolean,
23
+ crate::base::Boolean,
24
+ ) -> *mut crate::base::Char16};
25
+
26
+ #[repr(C)]
27
+ pub struct Protocol {
28
+ pub convert_device_node_to_text: DevicePathToTextNode,
29
+ pub convert_device_path_to_text: DevicePathToTextPath,
30
+ }
@@ -0,0 +1,63 @@
1
+ //! Device Path Utilities Protocol
2
+ //!
3
+ //! The device-path utilities protocol provides common utilities for creating and manipulating
4
+ //! device paths and device nodes.
5
+
6
+ pub const PROTOCOL_GUID: crate::base::Guid = crate::base::Guid::from_fields(
7
+ 0x379be4e,
8
+ 0xd706,
9
+ 0x437d,
10
+ 0xb0,
11
+ 0x37,
12
+ &[0xed, 0xb8, 0x2f, 0xb7, 0x72, 0xa4],
13
+ );
14
+
15
+ pub type ProtocolGetDevicePathSize = eficall! {fn(
16
+ *const crate::protocols::device_path::Protocol,
17
+ ) -> usize};
18
+
19
+ pub type ProtocolDuplicateDevicePath = eficall! {fn(
20
+ *const crate::protocols::device_path::Protocol,
21
+ ) -> *mut crate::protocols::device_path::Protocol};
22
+
23
+ pub type ProtocolAppendDevicePath = eficall! {fn(
24
+ *const crate::protocols::device_path::Protocol,
25
+ *const crate::protocols::device_path::Protocol,
26
+ ) -> *mut crate::protocols::device_path::Protocol};
27
+
28
+ pub type ProtocolAppendDeviceNode = eficall! {fn(
29
+ *const crate::protocols::device_path::Protocol,
30
+ *const crate::protocols::device_path::Protocol,
31
+ ) -> *mut crate::protocols::device_path::Protocol};
32
+
33
+ pub type ProtocolAppendDevicePathInstance = eficall! {fn(
34
+ *const crate::protocols::device_path::Protocol,
35
+ *const crate::protocols::device_path::Protocol,
36
+ ) -> *mut crate::protocols::device_path::Protocol};
37
+
38
+ pub type ProtocolGetNextDevicePathInstance = eficall! {fn(
39
+ *mut *mut crate::protocols::device_path::Protocol,
40
+ *mut usize,
41
+ ) -> *mut crate::protocols::device_path::Protocol};
42
+
43
+ pub type ProtocolIsDevicePathMultiInstance = eficall! {fn(
44
+ *const crate::protocols::device_path::Protocol,
45
+ ) -> crate::base::Boolean};
46
+
47
+ pub type ProtocolCreateDeviceNode = eficall! {fn(
48
+ u8,
49
+ u8,
50
+ u16,
51
+ ) -> *mut crate::protocols::device_path::Protocol};
52
+
53
+ #[repr(C)]
54
+ pub struct Protocol {
55
+ pub get_device_path_size: ProtocolGetDevicePathSize,
56
+ pub duplicate_device_path: ProtocolDuplicateDevicePath,
57
+ pub append_device_path: ProtocolAppendDevicePath,
58
+ pub append_device_node: ProtocolAppendDeviceNode,
59
+ pub append_device_path_instance: ProtocolAppendDevicePathInstance,
60
+ pub get_next_device_path_instance: ProtocolGetNextDevicePathInstance,
61
+ pub is_device_path_multi_instance: ProtocolIsDevicePathMultiInstance,
62
+ pub create_device_node: ProtocolCreateDeviceNode,
63
+ }
@@ -0,0 +1,40 @@
1
+ //! Disk I/O Protocol
2
+ //!
3
+ //! Abstracts block accesses of the Block I/O protocol to a more general offset-length protocol.
4
+ //! Firmware is responsible for adding this protocol to any Block I/O interface that appears
5
+ //! in the system that does not already have a Disk I/O protocol. File systems and other disk
6
+ //! access code utilize the Disk I/O protocol.
7
+
8
+ pub const PROTOCOL_GUID: crate::base::Guid = crate::base::Guid::from_fields(
9
+ 0xce345171,
10
+ 0xba0b,
11
+ 0x11d2,
12
+ 0x8e,
13
+ 0x4f,
14
+ &[0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b],
15
+ );
16
+
17
+ pub const REVISION: u64 = 0x0000000000010000u64;
18
+
19
+ pub type ProtocolReadDisk = eficall! {fn(
20
+ *mut Protocol,
21
+ u32,
22
+ u64,
23
+ usize,
24
+ *mut core::ffi::c_void,
25
+ ) -> crate::base::Status};
26
+
27
+ pub type ProtocolWriteDisk = eficall! {fn(
28
+ *mut Protocol,
29
+ u32,
30
+ u64,
31
+ usize,
32
+ *mut core::ffi::c_void,
33
+ ) -> crate::base::Status};
34
+
35
+ #[repr(C)]
36
+ pub struct Protocol {
37
+ pub revision: u64,
38
+ pub read_disk: ProtocolReadDisk,
39
+ pub write_disk: ProtocolWriteDisk,
40
+ }
@@ -0,0 +1,58 @@
1
+ //! Disk I/O 2 Protocol
2
+ //!
3
+ //! Extends the Disk I/O protocol interface to enable non-blocking /
4
+ //! asynchronous byte-oriented disk operation.
5
+
6
+ pub const PROTOCOL_GUID: crate::base::Guid = crate::base::Guid::from_fields(
7
+ 0x151c8eae,
8
+ 0x7f2c,
9
+ 0x472c,
10
+ 0x9e,
11
+ 0x54,
12
+ &[0x98, 0x28, 0x19, 0x4f, 0x6a, 0x88],
13
+ );
14
+
15
+ pub const REVISION: u64 = 0x0000000000020000u64;
16
+
17
+ #[repr(C)]
18
+ #[derive(Clone, Copy, Debug)]
19
+ pub struct Token {
20
+ event: crate::base::Event,
21
+ transaction_status: crate::base::Status,
22
+ }
23
+
24
+ pub type ProtocolCancel = eficall! {fn(
25
+ *mut Protocol,
26
+ ) -> crate::base::Status};
27
+
28
+ pub type ProtocolReadDiskEx = eficall! {fn(
29
+ *mut Protocol,
30
+ u32,
31
+ u64,
32
+ *mut Token,
33
+ usize,
34
+ *mut core::ffi::c_void,
35
+ ) -> crate::base::Status};
36
+
37
+ pub type ProtocolWriteDiskEx = eficall! {fn(
38
+ *mut Protocol,
39
+ u32,
40
+ u64,
41
+ *mut Token,
42
+ usize,
43
+ *mut core::ffi::c_void,
44
+ ) -> crate::base::Status};
45
+
46
+ pub type ProtocolFlushDiskEx = eficall! {fn(
47
+ *mut Protocol,
48
+ *mut Token,
49
+ ) -> crate::base::Status};
50
+
51
+ #[repr(C)]
52
+ pub struct Protocol {
53
+ pub revision: u64,
54
+ pub cancel: ProtocolCancel,
55
+ pub read_disk_ex: ProtocolReadDiskEx,
56
+ pub write_disk_ex: ProtocolWriteDiskEx,
57
+ pub flush_disk_ex: ProtocolFlushDiskEx,
58
+ }
@@ -0,0 +1,42 @@
1
+ //! Driver Binding Protocol
2
+ //!
3
+ //! Provides the services required to determine if a driver supports a given controller. If
4
+ //! a controller is supported, then it also provides routines to start and stop the controller.
5
+
6
+ pub const PROTOCOL_GUID: crate::base::Guid = crate::base::Guid::from_fields(
7
+ 0x18a031ab,
8
+ 0xb443,
9
+ 0x4d1a,
10
+ 0xa5,
11
+ 0xc0,
12
+ &[0x0c, 0x09, 0x26, 0x1e, 0x9f, 0x71],
13
+ );
14
+
15
+ pub type ProtocolSupported = eficall! {fn(
16
+ *mut Protocol,
17
+ crate::base::Handle,
18
+ *mut crate::protocols::device_path::Protocol,
19
+ ) -> crate::base::Status};
20
+
21
+ pub type ProtocolStart = eficall! {fn(
22
+ *mut Protocol,
23
+ crate::base::Handle,
24
+ *mut crate::protocols::device_path::Protocol,
25
+ ) -> crate::base::Status};
26
+
27
+ pub type ProtocolStop = eficall! {fn(
28
+ *mut Protocol,
29
+ crate::base::Handle,
30
+ usize,
31
+ *mut crate::base::Handle,
32
+ ) -> crate::base::Status};
33
+
34
+ #[repr(C)]
35
+ pub struct Protocol {
36
+ pub supported: ProtocolSupported,
37
+ pub start: ProtocolStart,
38
+ pub stop: ProtocolStop,
39
+ pub version: u32,
40
+ pub image_handle: crate::base::Handle,
41
+ pub driver_binding_handle: crate::base::Handle,
42
+ }
@@ -0,0 +1,38 @@
1
+ //! Driver Diagnostics Protocol
2
+ //!
3
+ //! Defined in UEFI Specification, Section 11.4
4
+ //! Used to perform diagnostics on a controller that a UEFI driver is managing.
5
+
6
+ pub const PROTOCOL_GUID: crate::base::Guid = crate::base::Guid::from_fields(
7
+ 0x4d330321,
8
+ 0x025f,
9
+ 0x4aac,
10
+ 0x90,
11
+ 0xd8,
12
+ &[0x5e, 0xd9, 0x00, 0x17, 0x3b, 0x63],
13
+ );
14
+
15
+ pub type Type = u32;
16
+
17
+ pub const TYPE_STANDARD: Type = 0;
18
+ pub const TYPE_EXTENDED: Type = 1;
19
+ pub const TYPE_MANUFACTURING: Type = 2;
20
+ pub const TYPE_CANCEL: Type = 3;
21
+ pub const TYPE_MAXIMUM: Type = 4;
22
+
23
+ pub type RunDiagnostics = eficall! {fn(
24
+ *mut Protocol,
25
+ crate::base::Handle,
26
+ crate::base::Handle,
27
+ Type,
28
+ *mut crate::base::Char8,
29
+ *mut *mut crate::base::Guid,
30
+ *mut usize,
31
+ *mut *mut crate::base::Char16,
32
+ ) -> crate::base::Status};
33
+
34
+ #[repr(C)]
35
+ pub struct Protocol {
36
+ pub run_diagnostics: RunDiagnostics,
37
+ pub supported_languages: *mut crate::base::Char8,
38
+ }
@@ -0,0 +1,23 @@
1
+ //! Driver Family Override Protocol
2
+ //!
3
+ //! When installed, the Driver Family Override Protocol informs the UEFI Boot
4
+ //! Service `ConnectController()` that this driver is higher priority than the
5
+ //! list of drivers returned by the Bus Specific Driver Override Protocol.
6
+
7
+ pub const PROTOCOL_GUID: crate::base::Guid = crate::base::Guid::from_fields(
8
+ 0xb1ee129e,
9
+ 0xda36,
10
+ 0x4181,
11
+ 0x91,
12
+ 0xf8,
13
+ &[0x04, 0xa4, 0x92, 0x37, 0x66, 0xa7],
14
+ );
15
+
16
+ pub type ProtocolGetVersion = eficall! {fn(
17
+ *mut Protocol,
18
+ ) -> u32};
19
+
20
+ #[repr(C)]
21
+ pub struct Protocol {
22
+ pub get_version: ProtocolGetVersion,
23
+ }
@@ -0,0 +1,183 @@
1
+ //! File Protocol
2
+ //!
3
+ //! Provides an interface to interact with both files and directories. This protocol is typically
4
+ //! obtained via an EFI_SIMPLE_FILE_SYSTEM protocol or via another EFI_FILE_PROTOCOL.
5
+
6
+ pub const REVISION: u64 = 0x0000_0000_0001_0000u64;
7
+ pub const REVISION2: u64 = 0x0000_0000_0002_0000u64;
8
+ pub const LATEST_REVISION: u64 = REVISION2;
9
+
10
+ pub const MODE_READ: u64 = 0x0000000000000001u64;
11
+ pub const MODE_WRITE: u64 = 0x0000000000000002u64;
12
+ pub const MODE_CREATE: u64 = 0x8000000000000000u64;
13
+
14
+ pub const READ_ONLY: u64 = 0x0000000000000001u64;
15
+ pub const HIDDEN: u64 = 0x0000000000000002u64;
16
+ pub const SYSTEM: u64 = 0x0000000000000004u64;
17
+ pub const RESERVED: u64 = 0x0000000000000008u64;
18
+ pub const DIRECTORY: u64 = 0x0000000000000010u64;
19
+ pub const ARCHIVE: u64 = 0x0000000000000020u64;
20
+ pub const VALID_ATTR: u64 = 0x0000000000000037u64;
21
+
22
+ pub const INFO_ID: crate::base::Guid = crate::base::Guid::from_fields(
23
+ 0x09576e92,
24
+ 0x6d3f,
25
+ 0x11d2,
26
+ 0x8e,
27
+ 0x39,
28
+ &[0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b],
29
+ );
30
+ pub const SYSTEM_INFO_ID: crate::base::Guid = crate::base::Guid::from_fields(
31
+ 0x09576e93,
32
+ 0x6d3f,
33
+ 0x11d2,
34
+ 0x8e,
35
+ 0x39,
36
+ &[0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b],
37
+ );
38
+ pub const SYSTEM_VOLUME_LABEL_ID: crate::base::Guid = crate::base::Guid::from_fields(
39
+ 0xdb47d7d3,
40
+ 0xfe81,
41
+ 0x11d3,
42
+ 0x9a,
43
+ 0x35,
44
+ &[0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d],
45
+ );
46
+
47
+ #[repr(C)]
48
+ #[derive(Clone, Copy, Debug)]
49
+ pub struct IoToken {
50
+ pub event: crate::base::Event,
51
+ pub status: crate::base::Status,
52
+ pub buffer_size: usize,
53
+ pub buffer: *mut core::ffi::c_void,
54
+ }
55
+
56
+ #[repr(C)]
57
+ #[derive(Clone, Copy, Debug)]
58
+ pub struct Info<const N: usize = 0> {
59
+ pub size: u64,
60
+ pub file_size: u64,
61
+ pub physical_size: u64,
62
+ pub create_time: crate::system::Time,
63
+ pub last_access_time: crate::system::Time,
64
+ pub modification_time: crate::system::Time,
65
+ pub attribute: u64,
66
+ pub file_name: [crate::base::Char16; N],
67
+ }
68
+
69
+ #[repr(C)]
70
+ #[derive(Clone, Copy, Debug)]
71
+ pub struct SystemInfo<const N: usize = 0> {
72
+ pub size: u64,
73
+ pub read_only: crate::base::Boolean,
74
+ pub volume_size: u64,
75
+ pub free_space: u64,
76
+ pub block_size: u32,
77
+ pub volume_label: [crate::base::Char16; N],
78
+ }
79
+
80
+ #[repr(C)]
81
+ #[derive(Clone, Copy, Debug)]
82
+ pub struct SystemVolumeLabel<const N: usize = 0> {
83
+ pub volume_label: [crate::base::Char16; N],
84
+ }
85
+
86
+ pub type ProtocolOpen = eficall! {fn(
87
+ *mut Protocol,
88
+ *mut *mut Protocol,
89
+ *mut crate::base::Char16,
90
+ u64,
91
+ u64,
92
+ ) -> crate::base::Status};
93
+
94
+ pub type ProtocolClose = eficall! {fn(
95
+ *mut Protocol,
96
+ ) -> crate::base::Status};
97
+
98
+ pub type ProtocolDelete = eficall! {fn(
99
+ *mut Protocol,
100
+ ) -> crate::base::Status};
101
+
102
+ pub type ProtocolRead = eficall! {fn(
103
+ *mut Protocol,
104
+ *mut usize,
105
+ *mut core::ffi::c_void,
106
+ ) -> crate::base::Status};
107
+
108
+ pub type ProtocolWrite = eficall! {fn(
109
+ *mut Protocol,
110
+ *mut usize,
111
+ *mut core::ffi::c_void,
112
+ ) -> crate::base::Status};
113
+
114
+ pub type ProtocolGetPosition = eficall! {fn(
115
+ *mut Protocol,
116
+ *mut u64,
117
+ ) -> crate::base::Status};
118
+
119
+ pub type ProtocolSetPosition = eficall! {fn(
120
+ *mut Protocol,
121
+ u64,
122
+ ) -> crate::base::Status};
123
+
124
+ pub type ProtocolGetInfo = eficall! {fn(
125
+ *mut Protocol,
126
+ *mut crate::base::Guid,
127
+ *mut usize,
128
+ *mut core::ffi::c_void,
129
+ ) -> crate::base::Status};
130
+
131
+ pub type ProtocolSetInfo = eficall! {fn(
132
+ *mut Protocol,
133
+ *mut crate::base::Guid,
134
+ usize,
135
+ *mut core::ffi::c_void,
136
+ ) -> crate::base::Status};
137
+
138
+ pub type ProtocolFlush = eficall! {fn(
139
+ *mut Protocol,
140
+ ) -> crate::base::Status};
141
+
142
+ pub type ProtocolOpenEx = eficall! {fn(
143
+ *mut Protocol,
144
+ *mut *mut Protocol,
145
+ *mut crate::base::Char16,
146
+ u64,
147
+ u64,
148
+ *mut IoToken,
149
+ ) -> crate::base::Status};
150
+
151
+ pub type ProtocolReadEx = eficall! {fn(
152
+ *mut Protocol,
153
+ *mut IoToken,
154
+ ) -> crate::base::Status};
155
+
156
+ pub type ProtocolWriteEx = eficall! {fn(
157
+ *mut Protocol,
158
+ *mut IoToken,
159
+ ) -> crate::base::Status};
160
+
161
+ pub type ProtocolFlushEx = eficall! {fn(
162
+ *mut Protocol,
163
+ *mut IoToken,
164
+ ) -> crate::base::Status};
165
+
166
+ #[repr(C)]
167
+ pub struct Protocol {
168
+ pub revision: u64,
169
+ pub open: ProtocolOpen,
170
+ pub close: ProtocolClose,
171
+ pub delete: ProtocolDelete,
172
+ pub read: ProtocolRead,
173
+ pub write: ProtocolWrite,
174
+ pub get_position: ProtocolGetPosition,
175
+ pub set_position: ProtocolSetPosition,
176
+ pub get_info: ProtocolGetInfo,
177
+ pub set_info: ProtocolSetInfo,
178
+ pub flush: ProtocolFlush,
179
+ pub open_ex: ProtocolOpenEx,
180
+ pub read_ex: ProtocolReadEx,
181
+ pub write_ex: ProtocolWriteEx,
182
+ pub flush_ex: ProtocolFlushEx,
183
+ }