#[repr(C)]pub struct Tcg2Protocol {
pub get_capability: unsafe extern "efiapi" fn(this: *mut Self, protocol_capability: *mut Tcg2BootServiceCapability) -> Status,
pub get_event_log: unsafe extern "efiapi" fn(this: *mut Self, event_log_format: Tcg2EventLogFormat, event_log_location: *mut PhysicalAddress, event_log_last_entry: *mut PhysicalAddress, event_log_truncated: *mut u8) -> Status,
pub hash_log_extend_event: unsafe extern "efiapi" fn(this: *mut Self, flags: Tcg2HashLogExtendEventFlags, data_to_hash: PhysicalAddress, data_to_hash_len: u64, event: *const c_void) -> Status,
pub submit_command: unsafe extern "efiapi" fn(this: *mut Self, input_parameter_block_size: u32, input_parameter_block: *const u8, output_parameter_block_size: u32, output_parameter_block: *mut u8) -> Status,
pub get_active_pcr_banks: unsafe extern "efiapi" fn(this: *mut Self, active_pcr_banks: *mut Tcg2HashAlgorithmBitmap) -> Status,
pub set_active_pcr_banks: unsafe extern "efiapi" fn(this: *mut Self, active_pcr_banks: Tcg2HashAlgorithmBitmap) -> Status,
pub get_result_of_set_active_pcr_banks: unsafe extern "efiapi" fn(this: *mut Self, operation_present: *mut u32, response: *mut u32) -> Status,
}
Expand description
Protocol for interacting with TPM devices.
This protocol can be used for interacting with older TPM 1.1/1.2 devices, but most firmware only uses it for TPM 2.0.
The corresponding C type is EFI_TCG2_PROTOCOL
.
Fields§
§get_capability: unsafe extern "efiapi" fn(this: *mut Self, protocol_capability: *mut Tcg2BootServiceCapability) -> Status
§get_event_log: unsafe extern "efiapi" fn(this: *mut Self, event_log_format: Tcg2EventLogFormat, event_log_location: *mut PhysicalAddress, event_log_last_entry: *mut PhysicalAddress, event_log_truncated: *mut u8) -> Status
§hash_log_extend_event: unsafe extern "efiapi" fn(this: *mut Self, flags: Tcg2HashLogExtendEventFlags, data_to_hash: PhysicalAddress, data_to_hash_len: u64, event: *const c_void) -> Status
§submit_command: unsafe extern "efiapi" fn(this: *mut Self, input_parameter_block_size: u32, input_parameter_block: *const u8, output_parameter_block_size: u32, output_parameter_block: *mut u8) -> Status
§get_active_pcr_banks: unsafe extern "efiapi" fn(this: *mut Self, active_pcr_banks: *mut Tcg2HashAlgorithmBitmap) -> Status
§set_active_pcr_banks: unsafe extern "efiapi" fn(this: *mut Self, active_pcr_banks: Tcg2HashAlgorithmBitmap) -> Status
§get_result_of_set_active_pcr_banks: unsafe extern "efiapi" fn(this: *mut Self, operation_present: *mut u32, response: *mut u32) -> Status
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Tcg2Protocol
impl RefUnwindSafe for Tcg2Protocol
impl Send for Tcg2Protocol
impl Sync for Tcg2Protocol
impl Unpin for Tcg2Protocol
impl UnwindSafe for Tcg2Protocol
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more