1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! TPM2 Commands and Responses
//!
//! This module contains the structures for TPM2 [`Command`]s and their
//! corresponding [`Command::Response`]s.
//!
//! Command structs appear without the leading `TPM2_`. For example, the
//! `TPM2_GetRandom` command in the spec corresponds to [`GetRandom`].
//!
//! Using the [`Command::Response`] associated type is preffered to using the
//! standalone type in the [`responses`] sub-module. For example, when referring
//! to the TPM2_GetRandom Response, prefer [`GetRandom::Response`]
//! for `TPM2_GetRandom` should use ``
//! Generally, the type of a command's
//! response
/// TPM2 Responses
///
/// These types are defined here because they cannot be private and still
/// have docstrings. However, they should generally be used via
/// [`Command`]
/// TODO: Flesh out this trait
/// `TPM2_GetRandom`
///
/// Returns the next `bytesRequested` octets from the random number generator (RNG).
// TODO: Implement these with a proc-macro or macro_rules!