r_efi/vendor/intel/
console_control.rs

1//! Console Control Protocol
2//!
3//! The console-control protocols allows modifying the behavior of the default
4//! console device. It is supported by TianoCore and widely adopted.
5
6pub const PROTOCOL_GUID: crate::base::Guid = crate::base::Guid::from_fields(
7    0xf42f7782,
8    0x012e,
9    0x4c12,
10    0x99,
11    0x56,
12    &[0x49, 0xf9, 0x43, 0x04, 0xf7, 0x21],
13);
14
15pub type ScreenMode = u32;
16
17pub const SCREEN_TEXT: ScreenMode = 0x00000000;
18pub const SCREEN_GRAPHICS: ScreenMode = 0x00000001;
19pub const SCREEN_MAX_VALUE: ScreenMode = 0x00000002;
20
21#[repr(C)]
22pub struct Protocol {
23    pub get_mode: eficall! {fn(
24        *mut Protocol,
25        *mut ScreenMode,
26        *mut crate::base::Boolean,
27        *mut crate::base::Boolean,
28    ) -> crate::base::Status},
29    pub set_mode: eficall! {fn(
30        *mut Protocol,
31        ScreenMode,
32    ) -> crate::base::Status},
33    pub lock_std_in: eficall! {fn(
34        *mut Protocol,
35        *mut crate::base::Char16,
36    ) -> crate::base::Status},
37}