summaryrefslogtreecommitdiffstats
path: root/vendor/r-efi/src/protocols/decompress.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/r-efi/src/protocols/decompress.rs')
-rw-r--r--vendor/r-efi/src/protocols/decompress.rs37
1 files changed, 37 insertions, 0 deletions
diff --git a/vendor/r-efi/src/protocols/decompress.rs b/vendor/r-efi/src/protocols/decompress.rs
new file mode 100644
index 000000000..640369ad0
--- /dev/null
+++ b/vendor/r-efi/src/protocols/decompress.rs
@@ -0,0 +1,37 @@
+//! Decompress Protocol
+//!
+//! The decompress protocol provides a decompression service that allows a compressed source
+//! buffer in memory to be decompressed into a destination buffer in memory.
+
+pub const PROTOCOL_GUID: crate::base::Guid = crate::base::Guid::from_fields(
+ 0xd8117cfe,
+ 0x94a6,
+ 0x11d4,
+ 0x9a,
+ 0x3a,
+ &[0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d],
+);
+
+pub type ProtocolGetInfo = eficall! {fn(
+ *mut Protocol,
+ *mut core::ffi::c_void,
+ u32,
+ *mut u32,
+ *mut u32,
+) -> crate::base::Status};
+
+pub type ProtocolDecompress = eficall! {fn(
+ *mut Protocol,
+ *mut core::ffi::c_void,
+ u32,
+ *mut core::ffi::c_void,
+ u32,
+ *mut core::ffi::c_void,
+ u32,
+) -> crate::base::Status};
+
+#[repr(C)]
+pub struct Protocol {
+ pub get_info: ProtocolGetInfo,
+ pub decompress: ProtocolDecompress,
+}