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 "HashSequenceStart_fp.h"
10 //
11 //
12 //     Error Returns                     Meaning
13 //
14 //     TPM_RC_OBJECT_MEMORY              no space to create an internal object
15 //
16 TPM_RC
TPM2_HashSequenceStart(HashSequenceStart_In * in,HashSequenceStart_Out * out)17 TPM2_HashSequenceStart(
18    HashSequenceStart_In      *in,                   // IN: input parameter list
19    HashSequenceStart_Out     *out                   // OUT: output parameter list
20    )
21 {
22 // Internal Data Update
23 
24    if(in->hashAlg == TPM_ALG_NULL)
25        // Start a event sequence. A TPM_RC_OBJECT_MEMORY error may be
26        // returned at this point
27        return ObjectCreateEventSequence(&in->auth, &out->sequenceHandle);
28 
29    // Start a hash sequence. A TPM_RC_OBJECT_MEMORY error may be
30    // returned at this point
31    return ObjectCreateHashSequence(in->hashAlg, &in->auth, &out->sequenceHandle);
32 }
33