tpm2_protocol/data/
tpmi.rs1use crate::{
5 basic::TpmHandle,
6 data::{TpmAlgId, TpmSt},
7 tpm_bool, tpm_enum,
8};
9
10tpm_bool! {
11 #[derive(Debug, Default, Clone, Copy, PartialEq, Eq)]
12 pub struct TpmiYesNo(bool);
13}
14
15tpm_enum! {
16 #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Copy, Clone, Hash, Default)]
17 pub enum TpmiEccKeyExchange(u16) {
18 #[default]
19 (None, 0x0000, "TPM_ECC_NONE"),
20 (Ecdh, 0x0019, "TPM_ALG_ECDH"),
21 (Ecmqv, 0x001D, "TPM_ALG_ECMQV"),
22 (Sm2, 0x001B, "TPM_ALG_SM2"),
23 }
24}
25
26pub type TpmiAlgHash = TpmAlgId;
27pub type TpmiAlgSymObject = TpmAlgId;
28pub type TpmiStCommandTag = TpmSt;
29
30pub type TpmiDhObject = TpmHandle;
31pub type TpmiDhParent = TpmHandle;
32pub type TpmiShAuthSession = TpmHandle;
33pub type TpmiRhHierarchy = TpmHandle;
34pub type TpmiRhNvExpIndex = TpmHandle;