tpm2_protocol/message/
field_upgrade.rs1use crate::{
8 data::{Tpm2bDigest, TpmCc, TpmtHa, TpmtSignature},
9 tpm_struct,
10};
11use core::fmt::Debug;
12
13tpm_struct! {
14 #[derive(Debug, PartialEq, Eq, Clone)]
15 kind: Command,
16 name: TpmFieldUpgradeStartCommand,
17 cc: TpmCc::FieldUpgradeStart,
18 handles: {
19 pub authorization: crate::data::TpmiRhHierarchy,
20 pub key_handle: crate::data::TpmiDhObject,
21 },
22 parameters: {
23 pub fu_digest: Tpm2bDigest,
24 pub manifest_signature: TpmtSignature,
25 }
26}
27
28tpm_struct! {
29 #[derive(Debug, Default, PartialEq, Eq, Copy, Clone)]
30 kind: Response,
31 name: TpmFieldUpgradeStartResponse,
32 cc: TpmCc::FieldUpgradeStart,
33 handles: {},
34 parameters: {}
35}
36
37tpm_struct! {
38 #[derive(Debug, PartialEq, Eq, Clone)]
39 kind: Command,
40 name: TpmFieldUpgradeDataCommand,
41 cc: TpmCc::FieldUpgradeData,
42 handles: {},
43 parameters: {
44 pub fu_data: crate::data::Tpm2bMaxBuffer,
45 }
46}
47
48tpm_struct! {
49 #[derive(Debug, PartialEq, Eq, Clone)]
50 kind: Response,
51 name: TpmFieldUpgradeDataResponse,
52 cc: TpmCc::FieldUpgradeData,
53 handles: {},
54 parameters: {
55 pub next_digest: TpmtHa,
56 pub first_digest: TpmtHa,
57 }
58}
59
60tpm_struct! {
61 #[derive(Debug, PartialEq, Eq, Clone, Copy)]
62 kind: Command,
63 name: TpmFirmwareReadCommand,
64 cc: TpmCc::FirmwareRead,
65 handles: {},
66 parameters: {
67 pub sequence_number: u32,
68 }
69}
70
71tpm_struct! {
72 #[derive(Debug, PartialEq, Eq, Clone)]
73 kind: Response,
74 name: TpmFirmwareReadResponse,
75 cc: TpmCc::FirmwareRead,
76 handles: {},
77 parameters: {
78 pub fu_data: crate::data::Tpm2bMaxBuffer,
79 }
80}