//! EFI Timestamp Protocol //! //! The Timestamp protocol provides a platform independent interface for //! retrieving a high resolution timestamp counter. pub const PROTOCOL_GUID: crate::base::Guid = crate::base::Guid::from_fields( 0xafbfde41, 0x2e6e, 0x4262, 0xba, 0x65, &[0x62, 0xb9, 0x23, 0x6e, 0x54, 0x95], ); #[repr(C)] #[derive(Clone, Copy, Debug)] pub struct Properties { pub frequency: u64, pub end_value: u64, } pub type ProtocolGetTimestamp = eficall! {fn() -> u64}; pub type ProtocolGetProperties = eficall! {fn( *mut Properties, ) -> crate::base::Status}; #[repr(C)] pub struct Protocol { pub get_timestamp: ProtocolGetTimestamp, pub get_properties: ProtocolGetProperties, }