summaryrefslogtreecommitdiffstats
path: root/vendor/r-efi/src/protocols/driver_diagnostics2.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/r-efi/src/protocols/driver_diagnostics2.rs')
-rw-r--r--vendor/r-efi/src/protocols/driver_diagnostics2.rs38
1 files changed, 38 insertions, 0 deletions
diff --git a/vendor/r-efi/src/protocols/driver_diagnostics2.rs b/vendor/r-efi/src/protocols/driver_diagnostics2.rs
new file mode 100644
index 000000000..dff5bd446
--- /dev/null
+++ b/vendor/r-efi/src/protocols/driver_diagnostics2.rs
@@ -0,0 +1,38 @@
+//! Driver Diagnostics Protocol
+//!
+//! Defined in UEFI Specification, Section 11.4
+//! Used to perform diagnostics on a controller that a UEFI driver is managing.
+
+pub const PROTOCOL_GUID: crate::base::Guid = crate::base::Guid::from_fields(
+ 0x4d330321,
+ 0x025f,
+ 0x4aac,
+ 0x90,
+ 0xd8,
+ &[0x5e, 0xd9, 0x00, 0x17, 0x3b, 0x63],
+);
+
+pub type Type = u32;
+
+pub const TYPE_STANDARD: Type = 0;
+pub const TYPE_EXTENDED: Type = 1;
+pub const TYPE_MANUFACTURING: Type = 2;
+pub const TYPE_CANCEL: Type = 3;
+pub const TYPE_MAXIMUM: Type = 4;
+
+pub type RunDiagnostics = eficall! {fn(
+ *mut Protocol,
+ crate::base::Handle,
+ crate::base::Handle,
+ Type,
+ *mut crate::base::Char8,
+ *mut *mut crate::base::Guid,
+ *mut usize,
+ *mut *mut crate::base::Char16,
+) -> crate::base::Status};
+
+#[repr(C)]
+pub struct Protocol {
+ pub run_diagnostics: RunDiagnostics,
+ pub supported_languages: *mut crate::base::Char8,
+}