.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "TPMLIB_ValidateState 3" .TH TPMLIB_ValidateState 3 2024-03-09 libtpms "" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME TPMLIB_ValidateState \- Validate the state blobs of the TPM .SH LIBRARY .IX Header "LIBRARY" TPM library (libtpms, \-ltpms) .SH SYNOPSIS .IX Header "SYNOPSIS" \&\fB#include .PP \&\fBuint32_t TPMLIB_ValidateState(TPMLIB_StateType st, unsigned int flags); \&\fR .SH DESCRIPTION .IX Header "DESCRIPTION" The \fBTPMLIB_ValidateState()\fR function allows to validate the state blobs that the TPM would read upon \fBTPMLIB_MainInit()\fR or once the TPM_Startup command has been sent to it. .PP This function is useful for TPM state migration between possibly different version of libtpms. Here the target libtpms needs to be able to determine whether it can support the version of blobs that were migrated and if this is not the case, the caller can refuse the migration. .PP The \fBtpmlib_state\fR parameter can be a logical 'or' of one or multiple of of the following: \fBTPMLIB_STATE_PERMANENT\fR, \&\fBTPMLIB_STATE_VOLATILE\fR, or \fBTPMLIB_STATE_SAVE_STATE\fR. The \fBflags\fR parameter is currently not used and should be set to 0. .PP The first state blob that should be loaded is the permanent state, since for example the volatile state requires it to be available for validation. .PP This function should be called before \fBTPMLIB_MainInit()\fR is invoked. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBTPMLIB_MainInit\fR(3), \fBTPMLIB_Terminate\fR(3)