Skip to content

Commit 74e63cc

Browse files
authored
Merge pull request #884 from nicholasbishop/bishop-raw-pointer
uefi-raw: Add `SimplePointerProtocol`
2 parents 28706a8 + 396c222 commit 74e63cc

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

uefi-raw/src/protocol/console.rs

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,41 @@ pub struct SimpleTextOutputProtocol {
5252
impl SimpleTextOutputProtocol {
5353
pub const GUID: Guid = guid!("387477c2-69c7-11d2-8e39-00a0c969723b");
5454
}
55+
56+
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
57+
#[repr(C)]
58+
pub struct SimplePointerMode {
59+
pub resolution_x: u64,
60+
pub resolution_y: u64,
61+
pub resolution_z: u64,
62+
pub left_button: u8,
63+
pub right_button: u8,
64+
}
65+
66+
#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
67+
#[repr(C)]
68+
pub struct SimplePointerState {
69+
pub relative_movement_x: i32,
70+
pub relative_movement_y: i32,
71+
pub relative_movement_z: i32,
72+
pub left_button: u8,
73+
pub right_button: u8,
74+
}
75+
76+
#[repr(C)]
77+
pub struct SimplePointerProtocol {
78+
pub reset: unsafe extern "efiapi" fn(
79+
this: *mut SimplePointerProtocol,
80+
extended_verification: bool,
81+
) -> Status,
82+
pub get_state: unsafe extern "efiapi" fn(
83+
this: *mut SimplePointerProtocol,
84+
state: *mut SimplePointerState,
85+
) -> Status,
86+
pub wait_for_input: Event,
87+
pub mode: *const SimplePointerMode,
88+
}
89+
90+
impl SimplePointerProtocol {
91+
pub const GUID: Guid = guid!("31878c87-0b75-11d5-9a4f-0090273fc14d");
92+
}

0 commit comments

Comments
 (0)