Home | History | Annotate | Download | only in tpm2
      1 // This file was extracted from the TCG Published
      2 // Trusted Platform Module Library
      3 // Part 3: Commands
      4 // Family "2.0"
      5 // Level 00 Revision 01.16
      6 // October 30, 2014
      7 
      8 #include "InternalRoutines.h"
      9 #include "IncrementalSelfTest_fp.h"
     10 //
     11 //
     12 //     Error Returns                 Meaning
     13 //
     14 //     TPM_RC_CANCELED               the command was canceled (some tests may have completed)
     15 //     TPM_RC_VALUE                  an algorithm in the toTest list is not implemented
     16 //
     17 TPM_RC
     18 TPM2_IncrementalSelfTest(
     19    IncrementalSelfTest_In        *in,                // IN: input parameter list
     20    IncrementalSelfTest_Out       *out                // OUT: output parameter list
     21    )
     22 {
     23    TPM_RC                         result;
     24 // Command Output
     25 
     26    // Call incremental self test function in crypt module. If this function
     27    // returns TPM_RC_VALUE, it means that an algorithm on the 'toTest' list is
     28    // not implemented.
     29    result = CryptIncrementalSelfTest(&in->toTest, &out->toDoList);
     30    if(result == TPM_RC_VALUE)
     31        return TPM_RC_VALUE + RC_IncrementalSelfTest_toTest;
     32    return result;
     33 }
     34