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 no_sessions: false,
19 with_sessions: true,
20 handles: {
21 pub authorization: crate::data::TpmiRhHierarchy,
22 pub key_handle: crate::data::TpmiDhObject,
23 },
24 parameters: {
25 pub fu_digest: Tpm2bDigest,
26 pub manifest_signature: TpmtSignature,
27 }
28}
29
30tpm_struct! {
31 #[derive(Debug, Default, PartialEq, Eq, Copy, Clone)]
32 kind: Response,
33 name: TpmFieldUpgradeStartResponse,
34 cc: TpmCc::FieldUpgradeStart,
35 no_sessions: false,
36 with_sessions: true,
37 handles: {},
38 parameters: {}
39}
40
41tpm_struct! {
42 #[derive(Debug, PartialEq, Eq, Clone)]
43 kind: Command,
44 name: TpmFieldUpgradeDataCommand,
45 cc: TpmCc::FieldUpgradeData,
46 no_sessions: true,
47 with_sessions: true,
48 handles: {},
49 parameters: {
50 pub fu_data: crate::data::Tpm2bMaxBuffer,
51 }
52}
53
54tpm_struct! {
55 #[derive(Debug, PartialEq, Eq, Clone)]
56 kind: Response,
57 name: TpmFieldUpgradeDataResponse,
58 cc: TpmCc::FieldUpgradeData,
59 no_sessions: true,
60 with_sessions: true,
61 handles: {},
62 parameters: {
63 pub next_digest: TpmtHa,
64 pub first_digest: TpmtHa,
65 }
66}
67
68tpm_struct! {
69 #[derive(Debug, PartialEq, Eq, Clone, Copy)]
70 kind: Command,
71 name: TpmFirmwareReadCommand,
72 cc: TpmCc::FirmwareRead,
73 no_sessions: true,
74 with_sessions: true,
75 handles: {},
76 parameters: {
77 pub sequence_number: u32,
78 }
79}
80
81tpm_struct! {
82 #[derive(Debug, PartialEq, Eq, Clone)]
83 kind: Response,
84 name: TpmFirmwareReadResponse,
85 cc: TpmCc::FirmwareRead,
86 no_sessions: true,
87 with_sessions: true,
88 handles: {},
89 parameters: {
90 pub fu_data: crate::data::Tpm2bMaxBuffer,
91 }
92}