1 | =head1 NAME
|
---|
2 |
|
---|
3 | TPMLIB_ValidateState - Validate the state blobs of the TPM
|
---|
4 |
|
---|
5 | =head1 LIBRARY
|
---|
6 |
|
---|
7 | TPM library (libtpms, -ltpms)
|
---|
8 |
|
---|
9 | =head1 SYNOPSIS
|
---|
10 |
|
---|
11 | B<#include <libtpms/tpm_library.h>>
|
---|
12 |
|
---|
13 | B<uint32_t TPMLIB_ValidateState(TPMLIB_StateType st,
|
---|
14 | unsigned int flags);
|
---|
15 | >
|
---|
16 |
|
---|
17 | =head1 DESCRIPTION
|
---|
18 |
|
---|
19 | The B<TPMLIB_ValidateState()> function allows to validate the
|
---|
20 | state blobs that the TPM would read upon B<TPMLIB_MainInit()> or
|
---|
21 | once the TPM_Startup command has been sent to it.
|
---|
22 |
|
---|
23 | This function is useful for TPM state migration between possibly
|
---|
24 | different version of libtpms. Here the target libtpms needs to be
|
---|
25 | able to determine whether it can support the version of blobs that were
|
---|
26 | migrated and if this is not the case, the caller can refuse the
|
---|
27 | migration.
|
---|
28 |
|
---|
29 | The B<tpmlib_state> parameter can be a logical 'or' of one or
|
---|
30 | multiple of of the following: B<TPMLIB_STATE_PERMANENT>,
|
---|
31 | B<TPMLIB_STATE_VOLATILE>, or B<TPMLIB_STATE_SAVE_STATE>.
|
---|
32 | The B<flags> parameter is currently not used and should be set to 0.
|
---|
33 |
|
---|
34 | The first state blob that should be loaded is the permanent state,
|
---|
35 | since for example the volatile state requires it to be available
|
---|
36 | for validation.
|
---|
37 |
|
---|
38 | This function should be called before B<TPMLIB_MainInit()> is invoked.
|
---|
39 |
|
---|
40 | =head1 SEE ALSO
|
---|
41 |
|
---|
42 | B<TPMLIB_MainInit>(3), B<TPMLIB_Terminate>(3)
|
---|
43 |
|
---|
44 | =cut
|
---|