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