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//
17TPM_RC
18TPM2_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