libtpms/man/man3/TPMLIB_SetState.pod
Stefan Berger ec672b4e37 Expose the two new API calls TPMLIB_Get/SetState
Expose the two new API calls TPMLIB_GetState() and TPMLIB_SetState().
Fix one parameter in the TPMLIB_GetState() call.

Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
2018-05-11 16:10:09 -04:00

49 lines
1.9 KiB
Plaintext

=head1 NAME
TPMLIB_SetState - Set the TPM's volatile, permanent, or save state
TPMLIB_GetState - Get the TPM's volatile, permanent, or save state
=head1 LIBRARY
TPM library (libtpms, -ltpms)
=head1 SYNOPSIS
B<#include <libtpms/tpm_library.h>>
B<TPM_RESULT TPMLIB_SetState(enum TPMLIB_StateType st,
const unsigned char *buffer, uint32_t buflen);>
B<TPM_RESULT TPMLIB_GetState(enum TPMLIB_StateType st,
unsigned char **buffer, uint32_t *buflen);>
=head1 DESCRIPTION
The B<TPMLIB_SetState()> function allows to set either one of the state blobs of
the TPM. The passed state blob is tested for whether it can be accepted and a TPM
error code is returned in case it cannot be accepted. In case of acceptance, the
state blob will be passed to the TPM upon TPM_MainInit(). Setting a state blob
hides a file that may contain the same type of blob and would be read otherwise.
It is required to call this function with a NULL pointer for the buffer parameter
to hide a state blob in a file.
It is only possible to set the state blobs after TPMLIB_ChooseTPMVersion() has been
called. All state blobs are cleared when TPMLIB_Terminate() is called.
The B<TPMLIB_GetState()> function allows to get the current state of the TPM.
For as long as the TPM has not been started, this function either returns the state
blob previously set with B<TPMLIB_GetState()> or the state read from a file.
Once the TPM has been start the state of the running TPM is returned.
The B<TPMLIB_STATE_SAVE_STATE> (save state) type of TPM state can be set with this
function. The same state blob will be returned until TPM_Startup(ST_STATE) has been
called, after which an empty blob will be returned. This blob can also only be
read after TPM_SaveState() has been sent to the TPM.
=head1 SEE ALSO
B<TPMLIB_ChooseTPMVersion>(3), B<TPMLIB_MainInit>(3), B<TPMLIB_Terminate>(3)
=cut