pub const PROTOCOL_GUID: crate::base::Guid = crate::base::Guid::from_fields(
0x8d59d32b,
0xc655,
0x4ae9,
0x9b,
0x15,
&[0xf2, 0x59, 0x04, 0x99, 0x2a, 0x43],
);
pub const SUPPORTS_ALT_ACTIVE: u32 = 0x00000001;
pub const SUPPORTS_PRESSURE_AS_Z: u32 = 0x00000002;
#[derive(Clone, Copy, Debug, Default)]
#[repr(C)]
pub struct Mode {
pub absolute_min_x: u64,
pub absolute_min_y: u64,
pub absolute_min_z: u64,
pub absolute_max_x: u64,
pub absolute_max_y: u64,
pub absolute_max_z: u64,
pub attributes: u32,
}
pub const TOUCH_ACTIVE: u32 = 0x00000001;
pub const ALT_ACTIVE: u32 = 0x00000002;
#[derive(Clone, Copy, Debug, Default)]
#[repr(C)]
pub struct State {
pub current_x: u64,
pub current_y: u64,
pub current_z: u64,
pub active_buttons: u32,
}
pub type Reset = eficall! {fn(
this: *mut Protocol,
extended_verification: bool,
) -> crate::base::Status};
pub type GetState = eficall! {fn(
this: *mut Protocol,
state: *mut State,
) -> crate::base::Status};
#[repr(C)]
pub struct Protocol {
pub reset: Reset,
pub get_state: GetState,
pub wait_for_input: crate::efi::Event,
pub mode: *mut Mode,
}