1#ifndef TCS_H
2#define TCS_H
3#include <tss/platform.h>
4#include <tss/tss_structs.h>
5#include <tss/tcs_typedef.h>
6#include <tss/tcs_defines.h>
7#include <tss/tcs_structs.h>
8#include <tss/tcs_error.h>
9#include <tss/tpm.h>
10
11#if defined __cplusplus
12extern "C" {
13#endif
14
15extern TSS_RESULT Tcsi_OpenContext
16(
17    TCS_CONTEXT_HANDLE*   hContext                     // out
18);
19extern TSS_RESULT Tcsi_CloseContext
20(
21    TCS_CONTEXT_HANDLE    hContext                     // in
22);
23extern TSS_RESULT Tcsi_FreeMemory
24(
25    TCS_CONTEXT_HANDLE    hContext,                    // in
26    BYTE*                 pMemory                      // in
27);
28extern TSS_RESULT Tcsi_GetCapability
29(
30    TCS_CONTEXT_HANDLE    hContext,                    // in
31    TPM_CAPABILITY_AREA   capArea,                     // in
32    UINT32                subCapSize,                  // in
33    BYTE*                 subCap,                      // in
34    UINT32*               respSize,                    // out
35    BYTE**                resp                         // out
36);
37extern TSS_RESULT Tcsi_RegisterKey
38(
39    TCS_CONTEXT_HANDLE    hContext,                    // in
40    TSS_UUID              WrappingKeyUUID,             // in
41    TSS_UUID              KeyUUID,                     // in
42    UINT32                cKeySize,                    // in
43    BYTE*                 rgbKey,                      // in
44    UINT32                cVendorDataSize,             // in
45    BYTE*                 gbVendorData                 // in
46);
47extern TSS_RESULT Tcsip_UnregisterKey
48(
49    TCS_CONTEXT_HANDLE    hContext,                    // in
50    TSS_UUID              KeyUUID                      // in
51);
52extern TSS_RESULT Tcsip_KeyControlOwner
53(
54    TCS_CONTEXT_HANDLE    hContext,                    // in
55    TCS_KEY_HANDLE        hKey,                        // in
56    UINT32                ulPubKeyLength,              // in
57    BYTE*                 prgbPubKey,                  // in
58    UINT32                attribName,                  // in
59    TSS_BOOL              attribValue,                 // in
60    TPM_AUTH*             pOwnerAuth,                  // in, out
61    TSS_UUID*             pUuidData                    // out
62);
63extern TSS_RESULT Tcsi_EnumRegisteredKeys
64(
65    TCS_CONTEXT_HANDLE    hContext,                    // in
66    TSS_UUID*             pKeyUUID,                    // in
67    UINT32*               pcKeyHierarchySize,          // out
68    TSS_KM_KEYINFO**      ppKeyHierarchy               // out
69);
70extern TSS_RESULT Tcsi_GetRegisteredKey
71(
72    TCS_CONTEXT_HANDLE    hContext,                    // in
73    TSS_UUID              KeyUUID,                     // in
74    TSS_KM_KEYINFO**      ppKeyInfo                    // out
75);
76extern TSS_RESULT Tcsi_GetRegisteredKeyBlob
77(
78    TCS_CONTEXT_HANDLE    hContext,                    // in
79    TSS_UUID              KeyUUID,                     // in
80    UINT32*               pcKeySize,                   // out
81    BYTE**                prgbKey                      // out
82);
83extern TSS_RESULT Tcsip_GetRegisteredKeyByPublicInfo
84(
85    TCS_CONTEXT_HANDLE    hContext,                    // in
86    TSS_ALGORITHM_ID      algID,                       // in
87    UINT32                ulPublicInfoLength,          // in
88    BYTE*                 rgbPublicInfo,               // in
89    UINT32*               keySize,                     // out
90    BYTE**                keyBlob                      // out
91);
92extern TSS_RESULT Tcsip_LoadKeyByBlob
93(
94    TCS_CONTEXT_HANDLE    hContext,                    // in
95    TCS_KEY_HANDLE        hUnwrappingKey,              // in
96    UINT32                cWrappedKeyBlobSize,         // in
97    BYTE*                 rgbWrappedKeyBlob,           // in
98    TPM_AUTH*             pAuth,                       // in, out
99    TCS_KEY_HANDLE*       phKeyTCSI,                   // out
100    TCS_KEY_HANDLE*       phKeyHMAC                    // out
101);
102extern TSS_RESULT Tcsip_LoadKeyByUUID
103(
104    TCS_CONTEXT_HANDLE    hContext,                    // in
105    TSS_UUID              KeyUUID,                     // in
106    TCS_LOADKEY_INFO*     pLoadKeyInfo,                // in, out
107    TCS_KEY_HANDLE*       phKeyTCSI                    // out
108);
109extern TSS_RESULT Tcsip_EvictKey
110(
111    TCS_CONTEXT_HANDLE    hContext,                    // in
112    TCS_KEY_HANDLE        hKey                         // in
113);
114extern TSS_RESULT Tcsip_CreateWrapKey
115(
116    TCS_CONTEXT_HANDLE    hContext,                    // in
117    TCS_KEY_HANDLE        hWrappingKey,                // in
118    TPM_ENCAUTH           KeyUsageAuth,                // in
119    TPM_ENCAUTH           KeyMigrationAuth,            // in
120    UINT32                keyInfoSize,                 // in
121    BYTE*                 keyInfo,                     // in
122    TPM_AUTH*             pAuth,                       // in, out
123    UINT32*               keyDataSize,                 // out
124    BYTE**                keyData                      // out
125);
126extern TSS_RESULT Tcsip_GetPubKey
127(
128    TCS_CONTEXT_HANDLE    hContext,                    // in
129    TCS_KEY_HANDLE        hKey,                        // in
130    TPM_AUTH*             pAuth,                       // in, out
131    UINT32*               pcPubKeySize,                // out
132    BYTE**                prgbPubKey                   // out
133);
134extern TSS_RESULT Tcsip_MakeIdentity
135(
136    TCS_CONTEXT_HANDLE    hContext,                              // in
137    TPM_ENCAUTH           identityAuth,                          // in
138    TPM_CHOSENID_HASH     IDLabel_PrivCAHash,                    // in
139    UINT32                idIdentityKeyInfoSize,                 // in
140    BYTE*                 idIdentityKeyInfo,                     // in
141    TPM_AUTH*             pSrkAuth,                              // in, out
142    TPM_AUTH*             pOwnerAuth,                            // in, out
143    UINT32*               idIdentityKeySize,                     // out
144    BYTE**                idIdentityKey,                         // out
145    UINT32*               pcIdentityBindingSize,                 // out
146    BYTE**                prgbIdentityBinding,                   // out
147    UINT32*               pcEndorsementCredentialSize,           // out
148    BYTE**                prgbEndorsementCredential,             // out
149    UINT32*               pcPlatformCredentialSize,              // out
150    BYTE**                prgbPlatformCredential,                // out
151    UINT32*               pcConformanceCredentialSize,           // out
152    BYTE**                prgbConformanceCredential              // out
153);
154extern TSS_RESULT Tcsip_MakeIdentity2
155(
156    TCS_CONTEXT_HANDLE    hContext,                              // in
157    TPM_ENCAUTH           identityAuth,                          // in
158    TPM_CHOSENID_HASH     IDLabel_PrivCAHash,                    // in
159    UINT32                idIdentityKeyInfoSize,                 // in
160    BYTE*                 idIdentityKeyInfo,                     // in
161    TPM_AUTH*             pSrkAuth,                              // in, out
162    TPM_AUTH*             pOwnerAuth,                            // in, out
163    UINT32*               idIdentityKeySize,                     // out
164    BYTE**                idIdentityKey,                         // out
165    UINT32*               pcIdentityBindingSize,                 // out
166    BYTE**                prgbIdentityBinding                    // out
167);
168extern TSS_RESULT Tcsi_LogPcrEvent
169(
170    TCS_CONTEXT_HANDLE    hContext,                    // in
171    TSS_PCR_EVENT         Event,                       // in
172    UINT32*               pNumber                      // out
173);
174extern TSS_RESULT Tcsi_GetPcrEvent
175(
176    TCS_CONTEXT_HANDLE    hContext,                    // in
177    UINT32                PcrIndex,                    // in
178    UINT32*               pNumber,                     // in, out
179    TSS_PCR_EVENT**       ppEvent                      // out
180);
181extern TSS_RESULT Tcsi_GetPcrEventsByPcr
182(
183    TCS_CONTEXT_HANDLE    hContext,                    // in
184    UINT32                PcrIndex,                    // in
185    UINT32                FirstEvent,                  // in
186    UINT32*               pEventCount,                 // in, out
187    TSS_PCR_EVENT**       ppEvents                     // out
188);
189extern TSS_RESULT Tcsi_GetPcrEventLog
190(
191    TCS_CONTEXT_HANDLE    hContext,                    // in
192    UINT32*               pEventCount,                 // out
193    TSS_PCR_EVENT**       ppEvents                     // out
194);
195extern TSS_RESULT Tcsip_SetOwnerInstall
196(
197    TCS_CONTEXT_HANDLE    hContext,                    // in
198    TSS_BOOL              state                        // in
199);
200extern TSS_RESULT Tcsip_TakeOwnership
201(
202    TCS_CONTEXT_HANDLE    hContext,                    // in
203    UINT16                protocolID,                  // in
204    UINT32                encOwnerAuthSize,            // in
205    BYTE*                 encOwnerAuth,                // in
206    UINT32                encSrkAuthSize,              // in
207    BYTE*                 encSrkAuth,                  // in
208    UINT32                srkKeyInfoSize,              // in
209    BYTE*                 srkKeyInfo,                  // in
210    TPM_AUTH*             ownerAuth,                   // in, out
211    UINT32*               srkKeyDataSize,              // out
212    BYTE**                srkKeyData                   // out
213);
214extern TSS_RESULT Tcsip_SetOperatorAuth
215(
216    TCS_CONTEXT_HANDLE    hContext,                    // in
217    TPM_SECRET            operatorAuth                 // in
218);
219extern TSS_RESULT Tcsip_OIAP
220(
221    TCS_CONTEXT_HANDLE    hContext,                    // in
222    TCS_AUTHHANDLE*       authHandle,                  // out
223    TPM_NONCE*            nonce0                       // out
224);
225extern TSS_RESULT Tcsip_OSAP
226(
227    TCS_CONTEXT_HANDLE    hContext,                    // in
228    TPM_ENTITY_TYPE       entityType,                  // in
229    UINT32                entityValue,                 // in
230    TPM_NONCE             nonceOddOSAP,                // in
231    TCS_AUTHHANDLE*       authHandle,                  // out
232    TPM_NONCE*            nonceEven,                   // out
233    TPM_NONCE*            nonceEvenOSAP                // out
234);
235extern TSS_RESULT Tcsip_ChangeAuth
236(
237    TCS_CONTEXT_HANDLE    hContext,                    // in
238    TCS_KEY_HANDLE        parentHandle,                // in
239    TPM_PROTOCOL_ID       protocolID,                  // in
240    TPM_ENCAUTH           newAuth,                     // in
241    TPM_ENTITY_TYPE       entityType,                  // in
242    UINT32                encDataSize,                 // in
243    BYTE*                 encData,                     // in
244    TPM_AUTH*             ownerAuth,                   // in, out
245    TPM_AUTH*             entityAuth,                  // in, out
246    UINT32*               outDataSize,                 // out
247    BYTE**                outData                      // out
248);
249extern TSS_RESULT Tcsip_ChangeAuthOwner
250(
251    TCS_CONTEXT_HANDLE    hContext,                    // in
252    TPM_PROTOCOL_ID       protocolID,                  // in
253    TPM_ENCAUTH           newAuth,                     // in
254    TPM_ENTITY_TYPE       entityType,                  // in
255    TPM_AUTH*             ownerAuth                    // in, out
256);
257extern TSS_RESULT Tcsip_ChangeAuthAsymStart
258(
259    TCS_CONTEXT_HANDLE    hContext,                    // in
260    TCS_KEY_HANDLE        idHandle,                    // in
261    TPM_NONCE             antiReplay,                  // in
262    UINT32                TempKeyInfoSize,             // in
263    BYTE*                 TempKeyInfoData,             // in
264    TPM_AUTH*             pAuth,                       // in, out
265    UINT32*               TempKeySize,                 // out
266    BYTE**                TempKeyData,                 // out
267    UINT32*               CertifyInfoSize,             // out
268    BYTE**                CertifyInfo,                 // out
269    UINT32*               sigSize,                     // out
270    BYTE**                sig,                         // out
271    TCS_KEY_HANDLE*       ephHandle                    // out
272);
273extern TSS_RESULT Tcsip_ChangeAuthAsymFinish
274(
275    TCS_CONTEXT_HANDLE    hContext,                    // in
276    TCS_KEY_HANDLE        parentHandle,                // in
277    TCS_KEY_HANDLE        ephHandle,                   // in
278    TPM_ENTITY_TYPE       entityType,                  // in
279    TPM_HMAC              newAuthLink,                 // in
280    UINT32                newAuthSize,                 // in
281    BYTE*                 encNewAuth,                  // in
282    UINT32                encDataSizeIn,               // in
283    BYTE*                 encDataIn,                   // in
284    TPM_AUTH*             ownerAuth,                   // in, out
285    UINT32*               encDataSizeOut,              // out
286    BYTE**                encDataOut,                  // out
287    TPM_NONCE*            saltNonce,                   // out
288    TPM_DIGEST*           changeProof                  // out
289);
290extern TSS_RESULT Tcsip_TerminateHandle
291(
292    TCS_CONTEXT_HANDLE    hContext,                    // in
293    TCS_AUTHHANDLE        handle                       // in
294);
295extern TSS_RESULT Tcsip_ActivateTPMIdentity
296(
297    TCS_CONTEXT_HANDLE    hContext,                    // in
298    TCS_KEY_HANDLE        idKey,                       // in
299    UINT32                blobSize,                    // in
300    BYTE*                 blob,                        // in
301    TPM_AUTH*             idKeyAuth,                   // in, out
302    TPM_AUTH*             ownerAuth,                   // in, out
303    UINT32*               SymmetricKeySize,            // out
304    BYTE**                SymmetricKey                 // out
305);
306extern TSS_RESULT Tcsip_EstablishTransport
307(
308    TCS_CONTEXT_HANDLE            hContext,                      // in
309    UINT32                        ulTransControlFlags,           // in
310    TCS_KEY_HANDLE                hEncKey,                       // in
311    UINT32                        ulTransSessionInfoSize,        // in
312    BYTE*                         rgbTransSessionInfo,           // in
313    UINT32                        ulSecretSize,                  // in
314    BYTE*                         rgbSecret,                     // in
315    TPM_AUTH*                     pEncKeyAuth,                   // in, out
316    TPM_MODIFIER_INDICATOR*       pbLocality,                    // out
317    TCS_HANDLE*                   hTransSession,                 // out
318    UINT32*                       ulCurrentTicksSize,            // out
319    BYTE**                        prgbCurrentTicks,              // out
320    TPM_NONCE*                    pTransNonce                    // out
321);
322extern TSS_RESULT Tcsip_ExecuteTransport
323(
324    TCS_CONTEXT_HANDLE            hContext,                      // in
325    TPM_COMMAND_CODE              unWrappedCommandOrdinal,       // in
326    UINT32                        ulWrappedCmdParamInSize,       // in
327    BYTE*                         rgbWrappedCmdParamIn,          // in
328    UINT32*                       pulHandleListSize,             // in, out
329    TCS_HANDLE**                  rghHandles,                    // in, out
330    TPM_AUTH*                     pWrappedCmdAuth1,              // in, out
331    TPM_AUTH*                     pWrappedCmdAuth2,              // in, out
332    TPM_AUTH*                     pTransAuth,                    // in, out
333    UINT64*                       punCurrentTicks,               // out
334    TPM_MODIFIER_INDICATOR*       pbLocality,                    // out
335    TPM_RESULT*                   pulWrappedCmdReturnCode,       // out
336    UINT32*                       ulWrappedCmdParamOutSize,      // out
337    BYTE**                        rgbWrappedCmdParamOut          // out
338);
339extern TSS_RESULT Tcsip_ReleaseTransportSigned
340(
341    TCS_CONTEXT_HANDLE            hContext,            // in
342    TCS_KEY_HANDLE                hSignatureKey,       // in
343    TPM_NONCE                     AntiReplayNonce,     // in
344    TPM_AUTH*                     pKeyAuth,            // in, out
345    TPM_AUTH*                     pTransAuth,          // in, out
346    TPM_MODIFIER_INDICATOR*       pbLocality,          // out
347    UINT32*                       pulCurrentTicksSize, // out
348    BYTE**                        prgbCurrentTicks,    // out
349    UINT32*                       pulSignatureSize,    // out
350    BYTE**                        prgbSignature        // out
351);
352extern TSS_RESULT Tcsip_Extend
353(
354    TCS_CONTEXT_HANDLE    hContext,                    // in
355    TPM_PCRINDEX          pcrNum,                      // in
356    TPM_DIGEST            inDigest,                    // in
357    TPM_PCRVALUE*         outDigest                    // out
358);
359extern TSS_RESULT Tcsip_PcrRead
360(
361    TCS_CONTEXT_HANDLE    hContext,                    // in
362    TPM_PCRINDEX          pcrNum,                      // in
363    TPM_PCRVALUE*         outDigest                    // out
364);
365extern TSS_RESULT Tcsip_Quote
366(
367    TCS_CONTEXT_HANDLE    hContext,                    // in
368    TCS_KEY_HANDLE        keyHandle,                   // in
369    TPM_NONCE             antiReplay,                  // in
370    UINT32                pcrTargetSize,               // in
371    BYTE*                 pcrTarget,                   // in
372    TPM_AUTH*             privAuth,                    // in, out
373    UINT32*               pcrDataSize,                 // out
374    BYTE**                pcrData,                     // out
375    UINT32*               sigSize,                     // out
376    BYTE**                sig                          // out
377);
378extern TSS_RESULT Tcsip_Quote2
379(
380    TCS_CONTEXT_HANDLE    hContext,                    // in
381    TCS_KEY_HANDLE        keyHandle,                   // in
382    TPM_NONCE             antiReplay,                  // in
383    UINT32                pcrTargetSize,               // in
384    BYTE*                 pcrTarget,                   // in
385    TSS_BOOL              addVersion,                  // in
386    TPM_AUTH*             privAuth,                    // in, out
387    UINT32*               pcrDataSize,                 // out
388    BYTE**                pcrData,                     // out
389    UINT32*               versionInfoSize,             // out
390    BYTE**                versionInfo,                 // out
391    UINT32*               sigSize,                     // out
392    BYTE**                sig                          // out
393);
394extern TSS_RESULT Tcsip_DirWriteAuth
395(
396    TCS_CONTEXT_HANDLE    hContext,                    // in
397    TPM_DIRINDEX          dirIndex,                    // in
398    TPM_DIRVALUE          newContents,                 // in
399    TPM_AUTH*             ownerAuth                    // in, out
400);
401extern TSS_RESULT Tcsip_DirRead
402(
403    TCS_CONTEXT_HANDLE    hContext,                    // in
404    TPM_DIRINDEX          dirIndex,                    // in
405    TPM_DIRVALUE*         dirValue                     // out
406);
407extern TSS_RESULT Tcsip_Seal
408(
409    TCS_CONTEXT_HANDLE    hContext,                    // in
410    TCS_KEY_HANDLE        keyHandle,                   // in
411    TPM_ENCAUTH           encAuth,                     // in
412    UINT32                pcrInfoSize,                 // in
413    BYTE*                 PcrInfo,                     // in
414    UINT32                inDataSize,                  // in
415    BYTE*                 inData,                      // in
416    TPM_AUTH*             pubAuth,                     // in, out
417    UINT32*               SealedDataSize,              // out
418    BYTE**                SealedData                   // out
419);
420extern TSS_RESULT Tcsip_Unseal
421(
422    TCS_CONTEXT_HANDLE    hContext,                    // in
423    TCS_KEY_HANDLE        keyHandle,                   // in
424    UINT32                SealedDataSize,              // in
425    BYTE*                 SealedData,                  // in
426    TPM_AUTH*             keyAuth,                     // in, out
427    TPM_AUTH*             dataAuth,                    // in, out
428    UINT32*               DataSize,                    // out
429    BYTE**                Data                         // out
430);
431extern TSS_RESULT Tcsip_UnBind
432(
433    TCS_CONTEXT_HANDLE    hContext,                    // in
434    TCS_KEY_HANDLE        keyHandle,                   // in
435    UINT32                inDataSize,                  // in
436    BYTE*                 inData,                      // in
437    TPM_AUTH*             privAuth,                    // in, out
438    UINT32*               outDataSize,                 // out
439    BYTE**                outData                      // out
440);
441extern TSS_RESULT Tcsip_Sealx
442(
443    TCS_CONTEXT_HANDLE    hContext,                    // in
444    TCS_KEY_HANDLE        keyHandle,                   // in
445    TPM_ENCAUTH           encAuth,                     // in
446    UINT32                pcrInfoSize,                 // in
447    BYTE*                 PcrInfo,                     // in
448    UINT32                inDataSize,                  // in
449    BYTE*                 inData,                      // in
450    TPM_AUTH*             pubAuth,                     // in, out
451    UINT32*               SealedDataSize,              // out
452    BYTE**                SealedData                   // out
453);
454extern TSS_RESULT Tcsip_LoadKey2ByBlob
455(
456    TCS_CONTEXT_HANDLE    hContext,                    // in
457    TCS_KEY_HANDLE        hUnwrappingKey,              // in
458    UINT32                cWrappedKeyBlobSize,         // in
459    BYTE*                 rgbWrappedKeyBlob,           // in
460    TPM_AUTH*             pAuth,                       // in, out
461    TCS_KEY_HANDLE*       phKeyTCSI                    // out
462);
463extern TSS_RESULT Tcsip_CreateMigrationBlob
464(
465    TCS_CONTEXT_HANDLE    hContext,                    // in
466    TCS_KEY_HANDLE        parentHandle,                // in
467    TSS_MIGRATE_SCHEME    migrationType,               // in
468    UINT32                MigrationKeyAuthSize,        // in
469    BYTE*                 MigrationKeyAuth,            // in
470    UINT32                encDataSize,                 // in
471    BYTE*                 encData,                     // in
472    TPM_AUTH*             parentAuth,                  // in, out
473    TPM_AUTH*             entityAuth,                  // in, out
474    UINT32*               randomSize,                  // out
475    BYTE**                random,                      // out
476    UINT32*               outDataSize,                 // out
477    BYTE**                outData                      // out
478);
479extern TSS_RESULT Tcsip_ConvertMigrationBlob
480(
481    TCS_CONTEXT_HANDLE    hContext,                    // in
482    TCS_KEY_HANDLE        parentHandle,                // in
483    UINT32                inDataSize,                  // in
484    BYTE*                 inData,                      // in
485    UINT32                randomSize,                  // in
486    BYTE*                 random,                      // in
487    TPM_AUTH*             parentAuth,                  // in, out
488    UINT32*               outDataSize,                 // out
489    BYTE**                outData                      // out
490);
491extern TSS_RESULT Tcsip_AuthorizeMigrationKey
492(
493    TCS_CONTEXT_HANDLE    hContext,                    // in
494    TSS_MIGRATE_SCHEME    migrateScheme,               // in
495    UINT32                MigrationKeySize,            // in
496    BYTE*                 MigrationKey,                // in
497    TPM_AUTH*             ownerAuth,                   // in, out
498    UINT32*               MigrationKeyAuthSize,        // out
499    BYTE**                MigrationKeyAuth             // out
500);
501extern TSS_RESULT Tcsip_CertifyKey
502(
503    TCS_CONTEXT_HANDLE    hContext,                    // in
504    TCS_KEY_HANDLE        certHandle,                  // in
505    TCS_KEY_HANDLE        keyHandle,                   // in
506    TPM_NONCE             antiReplay,                  // in
507    TPM_AUTH*             certAuth,                    // in, out
508    TPM_AUTH*             keyAuth,                     // in, out
509    UINT32*               CertifyInfoSize,             // out
510    BYTE**                CertifyInfo,                 // out
511    UINT32*               outDataSize,                 // out
512    BYTE**                outData                      // out
513);
514extern TSS_RESULT Tcsip_CertifyKey2
515(
516    TCS_CONTEXT_HANDLE    hContext,                    // in
517    TCS_KEY_HANDLE        certHandle,                  // in
518    TCS_KEY_HANDLE        keyHandle,                   // in
519    TPM_DIGEST            MSAdigest,                   // in
520    TPM_NONCE             antiReplay,                  // in
521    TPM_AUTH*             certAuth,                    // in, out
522    TPM_AUTH*             keyAuth,                     // in, out
523    UINT32*               CertifyInfoSize,             // out
524    BYTE**                CertifyInfo,                 // out
525    UINT32*               outDataSize,                 // out
526    BYTE**                outData                      // out
527);
528extern TSS_RESULT Tcsip_Sign
529(
530    TCS_CONTEXT_HANDLE    hContext,                    // in
531    TCS_KEY_HANDLE        keyHandle,                   // in
532    UINT32                areaToSignSize,              // in
533    BYTE*                 areaToSign,                  // in
534    TPM_AUTH*             privAuth,                    // in, out
535    UINT32*               sigSize,                     // out
536    BYTE**                sig                          // out
537);
538extern TSS_RESULT Tcsip_GetRandom
539(
540    TCS_CONTEXT_HANDLE    hContext,                    // in
541    UINT32*               bytesRequested,              // in, out
542    BYTE**                randomBytes                  // out
543);
544extern TSS_RESULT Tcsip_StirRandom
545(
546    TCS_CONTEXT_HANDLE    hContext,                    // in
547    UINT32                inDataSize,                  // in
548    BYTE*                 inData                       // in
549);
550extern TSS_RESULT Tcsip_GetCapability
551(
552    TCS_CONTEXT_HANDLE    hContext,                    // in
553    TPM_CAPABILITY_AREA   capArea,                     // in
554    UINT32                subCapSize,                  // in
555    BYTE*                 subCap,                      // in
556    UINT32*               respSize,                    // out
557    BYTE**                resp                         // out
558);
559extern TSS_RESULT Tcsip_GetCapabilitySigned
560(
561    TCS_CONTEXT_HANDLE    hContext,                    // in
562    TCS_KEY_HANDLE        keyHandle,                   // in
563    TPM_NONCE             antiReplay,                  // in
564    TPM_CAPABILITY_AREA   capArea,                     // in
565    UINT32                subCapSize,                  // in
566    BYTE*                 subCap,                      // in
567    TPM_AUTH*             privAuth,                    // in, out
568    TPM_VERSION*          Version,                     // out
569    UINT32*               respSize,                    // out
570    BYTE**                resp,                        // out
571    UINT32*               sigSize,                     // out
572    BYTE**                sig                          // out
573);
574extern TSS_RESULT Tcsip_GetCapabilityOwner
575(
576    TCS_CONTEXT_HANDLE    hContext,                    // in
577    TPM_AUTH*             pOwnerAuth,                  // in, out
578    TPM_VERSION*          pVersion,                    // out
579    UINT32*               pNonVolatileFlags,           // out
580    UINT32*               pVolatileFlags               // out
581);
582extern TSS_RESULT Tcsip_CreateEndorsementKeyPair
583(
584    TCS_CONTEXT_HANDLE    hContext,                    // in
585    TPM_NONCE             antiReplay,                  // in
586    UINT32                endorsementKeyInfoSize,      // in
587    BYTE*                 endorsementKeyInfo,          // in
588    UINT32*               endorsementKeySize,          // out
589    BYTE**                endorsementKey,              // out
590    TPM_DIGEST*           checksum                     // out
591);
592extern TSS_RESULT Tcsip_ReadPubek
593(
594    TCS_CONTEXT_HANDLE    hContext,                    // in
595    TPM_NONCE             antiReplay,                  // in
596    UINT32*               pubEndorsementKeySize,       // out
597    BYTE**                pubEndorsementKey,           // out
598    TPM_DIGEST*           checksum                     // out
599);
600extern TSS_RESULT Tcsip_DisablePubekRead
601(
602    TCS_CONTEXT_HANDLE    hContext,                    // in
603    TPM_AUTH*             ownerAuth                    // in, out
604);
605extern TSS_RESULT Tcsip_OwnerReadPubek
606(
607    TCS_CONTEXT_HANDLE    hContext,                    // in
608    TPM_AUTH*             ownerAuth,                   // in, out
609    UINT32*               pubEndorsementKeySize,       // out
610    BYTE**                pubEndorsementKey            // out
611);
612extern TSS_RESULT Tcsip_SelfTestFull
613(
614    TCS_CONTEXT_HANDLE    hContext                     // in
615);
616extern TSS_RESULT Tcsip_CertifySelfTest
617(
618    TCS_CONTEXT_HANDLE    hContext,                    // in
619    TCS_KEY_HANDLE        keyHandle,                   // in
620    TPM_NONCE             antiReplay,                  // in
621    TPM_AUTH*             privAuth,                    // in, out
622    UINT32*               sigSize,                     // out
623    BYTE**                sig                          // out
624);
625extern TSS_RESULT Tcsip_ContinueSelfTest
626(
627    TCS_CONTEXT_HANDLE    hContext                     // in
628);
629extern TSS_RESULT Tcsip_GetTestResult
630(
631    TCS_CONTEXT_HANDLE    hContext,                    // in
632    UINT32*               outDataSize,                 // out
633    BYTE**                outData                      // out
634);
635extern TSS_RESULT Tcsip_OwnerSetDisable
636(
637    TCS_CONTEXT_HANDLE    hContext,                    // in
638    TSS_BOOL              disableState,                // in
639    TPM_AUTH*             ownerAuth                    // in, out
640);
641extern TSS_RESULT Tcsip_OwnerClear
642(
643    TCS_CONTEXT_HANDLE    hContext,                    // in
644    TPM_AUTH*             ownerAuth                    // in, out
645);
646extern TSS_RESULT Tcsip_DisableOwnerClear
647(
648    TCS_CONTEXT_HANDLE    hContext,                    // in
649    TPM_AUTH*             ownerAuth                    // in, out
650);
651extern TSS_RESULT Tcsip_ForceClear
652(
653    TCS_CONTEXT_HANDLE    hContext                     // in
654);
655extern TSS_RESULT Tcsip_DisableForceClear
656(
657    TCS_CONTEXT_HANDLE    hContext                     // in
658);
659extern TSS_RESULT Tcsip_PhysicalDisable
660(
661    TCS_CONTEXT_HANDLE    hContext                     // in
662);
663extern TSS_RESULT Tcsip_PhysicalEnable
664(
665    TCS_CONTEXT_HANDLE    hContext                     // in
666);
667extern TSS_RESULT Tcsip_PhysicalSetDeactivated
668(
669    TCS_CONTEXT_HANDLE    hContext,                    // in
670    TSS_BOOL              state                        // in
671);
672extern TSS_RESULT Tcsip_SetTempDeactivated
673(
674    TCS_CONTEXT_HANDLE    hContext                     // in
675);
676extern TSS_RESULT Tcsip_SetTempDeactivated2
677(
678    TCS_CONTEXT_HANDLE    hContext,                    // in
679    TPM_AUTH*             pOperatorAuth                // in, out
680);
681extern TSS_RESULT Tcsip_OwnerReadInternalPub
682(
683    TCS_CONTEXT_HANDLE   hContext,                     // in
684    TCS_KEY_HANDLE       hKey,                         // in
685    TPM_AUTH*            pOwnerAuth,                   // in, out
686    UINT32*              punPubKeySize,                // out
687    BYTE**               ppbPubKeyData                 // out
688);
689extern TSS_RESULT Tcsip_PhysicalPresence
690(
691    TCS_CONTEXT_HANDLE            hContext,            // in
692    TPM_PHYSICAL_PRESENCE         fPhysicalPresence    // in
693);
694extern TSS_RESULT Tcsip_FieldUpgrade
695(
696    TCS_CONTEXT_HANDLE    hContext,                    // in
697    UINT32                dataInSize,                  // in
698    BYTE*                 dataIn,                      // in
699    TPM_AUTH*             ownerAuth,                   // in, out
700    UINT32*               dataOutSize,                 // out
701    BYTE**                dataOut                      // out
702);
703extern TSS_RESULT Tcsip_ResetLockValue
704(
705    TCS_CONTEXT_HANDLE            hContext,            // in
706    TPM_AUTH*                     ownerAuth            // in, out
707);
708extern TSS_RESULT Tcsip_FlushSpecific
709(
710    TCS_CONTEXT_HANDLE    hContext,                    // in
711    TCS_HANDLE            hResHandle,                  // in
712    TPM_RESOURCE_TYPE     resourceType                 // in
713);
714extern TSS_RESULT Tcsip_SetRedirection
715(
716    TCS_CONTEXT_HANDLE    hContext,                    // in
717    TCS_KEY_HANDLE        keyHandle,                   // in
718    UINT32                c1,                          // in
719    UINT32                c2,                          // in
720    TPM_AUTH*             privAuth                     // in, out
721);
722extern TSS_RESULT Tcsip_DSAP
723(
724    TCS_CONTEXT_HANDLE    hContext,                    // in
725    TPM_ENTITY_TYPE       entityType,                  // in
726    TCS_KEY_HANDLE        keyHandle,                   // in
727    TPM_NONCE             nonceOddDSAP,                // in
728    UINT32                entityValueSize,             // in
729    BYTE*                 entityValue,                 // in
730    TCS_AUTHHANDLE*       authHandle,                  // out
731    TPM_NONCE*            nonceEven,                   // out
732    TPM_NONCE*            nonceEvenDSAP                // out
733);
734extern TSS_RESULT Tcsip_Delegate_Manage
735(
736    TCS_CONTEXT_HANDLE    hContext,                    // in
737    TPM_FAMILY_ID         familyID,                    // in
738    TPM_FAMILY_OPERATION  opFlag,                      // in
739    UINT32                opDataSize,                  // in
740    BYTE*                 opData,                      // in
741    TPM_AUTH*             ownerAuth,                   // in, out
742    UINT32*               retDataSize,                 // out
743    BYTE**                retData                      // out
744);
745extern TSS_RESULT Tcsip_Delegate_CreateKeyDelegation
746(
747    TCS_CONTEXT_HANDLE    hContext,                    // in
748    TCS_KEY_HANDLE        hKey,                        // in
749    UINT32                publicInfoSize,              // in
750    BYTE*                 publicInfo,                  // in
751    TPM_ENCAUTH           encDelAuth,                  // in
752    TPM_AUTH*             keyAuth,                     // in, out
753    UINT32*               blobSize,                    // out
754    BYTE**                blob                         // out
755);
756extern TSS_RESULT Tcsip_Delegate_CreateOwnerDelegation
757(
758    TCS_CONTEXT_HANDLE    hContext,                    // in
759    TSS_BOOL              increment,                   // in
760    UINT32                publicInfoSize,              // in
761    BYTE*                 publicInfo,                  // in
762    TPM_ENCAUTH           encDelAuth,                  // in
763    TPM_AUTH*             ownerAuth,                   // in, out
764    UINT32*               blobSize,                    // out
765    BYTE**                blob                         // out
766);
767extern TSS_RESULT Tcsip_Delegate_LoadOwnerDelegation
768(
769    TCS_CONTEXT_HANDLE    hContext,                    // in
770    TPM_DELEGATE_INDEX    index,                       // in
771    UINT32                blobSize,                    // in
772    BYTE*                 blob,                        // in
773    TPM_AUTH*             ownerAuth                    // in, out
774);
775extern TSS_RESULT Tcsip_Delegate_UpdateVerificationCount
776(
777    TCS_CONTEXT_HANDLE    hContext,                    // in
778    UINT32                inputSize,                   // in
779    BYTE*                 input,                       // in
780    TPM_AUTH*             ownerAuth,                   // in, out
781    UINT32*               outputSize,                  // out
782    BYTE**                output                       // out
783);
784extern TSS_RESULT Tcsip_Delegate_VerifyDelegation
785(
786    TCS_CONTEXT_HANDLE    hContext,                    // in
787    UINT32                delegateSize,                // in
788    BYTE*                 delegate                     // in
789);
790extern TSS_RESULT Tcsip_Delegate_ReadTable
791(
792    TCS_CONTEXT_HANDLE    hContext,                    // in
793    UINT32*               pulFamilyTableSize,          // out
794    BYTE**                ppFamilyTable,               // out
795    UINT32*               pulDelegateTableSize,        // out
796    BYTE**                ppDelegateTable              // out
797);
798extern TSS_RESULT Tcsip_NV_DefineOrReleaseSpace
799(
800    TCS_CONTEXT_HANDLE    hContext,                    // in
801    UINT32                cPubInfoSize,                // in
802    BYTE*                 pPubInfo,                    // in
803    TPM_ENCAUTH           encAuth,                     // in
804    TPM_AUTH*             pAuth                        // in, out
805);
806extern TSS_RESULT Tcsip_NV_WriteValue
807(
808    TCS_CONTEXT_HANDLE    hContext,                    // in
809    TSS_NV_INDEX          hNVStore,                    // in
810    UINT32                offset,                      // in
811    UINT32                ulDataLength,                // in
812    BYTE*                 rgbDataToWrite,              // in
813    TPM_AUTH*             privAuth                     // in, out
814);
815extern TSS_RESULT Tcsip_NV_WriteValueAuth
816(
817    TCS_CONTEXT_HANDLE    hContext,                    // in
818    TSS_NV_INDEX          hNVStore,                    // in
819    UINT32                offset,                      // in
820    UINT32                ulDataLength,                // in
821    BYTE*                 rgbDataToWrite,              // in
822    TPM_AUTH*             NVAuth                       // in, out
823);
824extern TSS_RESULT Tcsip_NV_ReadValue
825(
826    TCS_CONTEXT_HANDLE    hContext,                    // in
827    TSS_NV_INDEX          hNVStore,                    // in
828    UINT32                offset,                      // in
829    UINT32*               pulDataLength,               // in, out
830    TPM_AUTH*             privAuth,                    // in, out
831    BYTE**                rgbDataRead                  // out
832);
833extern TSS_RESULT Tcsip_NV_ReadValueAuth
834(
835    TCS_CONTEXT_HANDLE    hContext,                    // in
836    TSS_NV_INDEX          hNVStore,                    // in
837    UINT32                offset,                      // in
838    UINT32*               pulDataLength,               // in, out
839    TPM_AUTH*             NVAuth,                      // in, out
840    BYTE**                rgbDataRead                  // out
841);
842extern TSS_RESULT Tcsip_CreateMaintenanceArchive
843(
844    TCS_CONTEXT_HANDLE    hContext,                    // in
845    TSS_BOOL              generateRandom,              // in
846    TPM_AUTH*             ownerAuth,                   // in, out
847    UINT32*               randomSize,                  // out
848    BYTE**                random,                      // out
849    UINT32*               archiveSize,                 // out
850    BYTE**                archive                      // out
851);
852extern TSS_RESULT Tcsip_LoadMaintenanceArchive
853(
854    TCS_CONTEXT_HANDLE    hContext,                    // in
855    UINT32                dataInSize,                  // in
856    BYTE*                 dataIn,                      // in
857    TPM_AUTH*             ownerAuth,                   // in, out
858    UINT32*               dataOutSize,                 // out
859    BYTE**                dataOut                      // out
860);
861extern TSS_RESULT Tcsip_KillMaintenanceFeature
862(
863    TCS_CONTEXT_HANDLE    hContext,                    // in
864    TPM_AUTH*             ownerAuth                    // in, out
865);
866extern TSS_RESULT Tcsip_LoadManuMaintPub
867(
868    TCS_CONTEXT_HANDLE    hContext,                    // in
869    TPM_NONCE             antiReplay,                  // in
870    UINT32                PubKeySize,                  // in
871    BYTE*                 PubKey,                      // in
872    TPM_DIGEST*           checksum                     // out
873);
874extern TSS_RESULT Tcsip_ReadManuMaintPub
875(
876    TCS_CONTEXT_HANDLE    hContext,                    // in
877    TPM_NONCE             antiReplay,                  // in
878    TPM_DIGEST*           checksum                     // out
879);
880extern TSS_RESULT Tcsip_CreateRevocableEndorsementKeyPair
881(
882    TCS_CONTEXT_HANDLE    hContext,                    // in
883    TPM_NONCE             antiReplay,                  // in
884    UINT32                endorsementKeyInfoSize,      // in
885    BYTE*                 endorsementKeyInfo,          // in
886    TSS_BOOL              GenResetAuth,                // in
887    TPM_DIGEST*           EKResetAuth,                 // in, out
888    UINT32*               endorsementKeySize,          // out
889    BYTE**                endorsementKey,              // out
890    TPM_DIGEST*           checksum                     // out
891);
892extern TSS_RESULT Tcsip_RevokeEndorsementKeyPair
893(
894    TCS_CONTEXT_HANDLE    hContext,                    // in
895    TPM_DIGEST            EKResetAuth                  // in
896);
897extern TSS_RESULT Tcsip_PcrReset
898(
899    TCS_CONTEXT_HANDLE    hContext,                    // in
900    UINT32                pcrTargetSize,               // in
901    BYTE*                 pcrTarget                    // in
902);
903extern TSS_RESULT Tcsip_ReadCounter
904(
905    TCS_CONTEXT_HANDLE    hContext,                    // in
906    TSS_COUNTER_ID        idCounter,                   // in
907    TPM_COUNTER_VALUE*    counterValue                 // out
908);
909extern TSS_RESULT Tcsip_CreateCounter
910(
911    TCS_CONTEXT_HANDLE    hContext,                    // in
912    UINT32                LabelSize,                   // in (=4)
913    BYTE*                 pLabel,                      // in
914    TPM_ENCAUTH           CounterAuth,                 // in
915    TPM_AUTH*             pOwnerAuth,                  // in, out
916    TSS_COUNTER_ID*       idCounter,                   // out
917    TPM_COUNTER_VALUE*    counterValue                 // out
918);
919extern TSS_RESULT Tcsip_IncrementCounter
920(
921    TCS_CONTEXT_HANDLE    hContext,                    // in
922    TSS_COUNTER_ID        idCounter,                   // in
923    TPM_AUTH*             pCounterAuth,                // in, out
924    TPM_COUNTER_VALUE*    counterValue                 // out
925);
926extern TSS_RESULT Tcsip_ReleaseCounter
927(
928    TCS_CONTEXT_HANDLE    hContext,                    // in
929    TSS_COUNTER_ID        idCounter,                   // in
930    TPM_AUTH*             pCounterAuth                 // in, out
931);
932extern TSS_RESULT Tcsip_ReleaseCounterOwner
933(
934    TCS_CONTEXT_HANDLE    hContext,                    // in
935    TSS_COUNTER_ID        idCounter,                   // in
936    TPM_AUTH*             pOwnerAuth                   // in, out
937);
938extern TSS_RESULT Tcsip_ReadCurrentTicks
939(
940    TCS_CONTEXT_HANDLE    hContext,                    // in
941    UINT32*               pulCurrentTimeSize,          // out
942    BYTE**                prgbCurrentTime              // out
943);
944extern TSS_RESULT Tcsip_TickStampBlob
945(
946    TCS_CONTEXT_HANDLE    hContext,                    // in
947    TCS_KEY_HANDLE        hKey,                        // in
948    TPM_NONCE             antiReplay,                  // in
949    TPM_DIGEST            digestToStamp,               // in
950    TPM_AUTH*             privAuth,                    // in, out
951    UINT32*               pulSignatureLength,          // out
952    BYTE**                prgbSignature,               // out
953    UINT32*               pulTickCountSize,            // out
954    BYTE**                prgbTickCount                // out
955);
956extern TSS_RESULT Tcsip_TPM_DAA_Join
957(
958    TCS_CONTEXT_HANDLE    hContext,                    // in
959    TPM_HANDLE            handle,                      // in
960    BYTE                  stage,                       // in
961    UINT32                inputSize0,                  // in
962    BYTE*                 inputData0,                  // in
963    UINT32                inputSize1,                  // in
964    BYTE*                 inputData1,                  // in
965    TPM_AUTH*             ownerAuth,                   // in, out
966    UINT32*               outputSize,                  // out
967    BYTE**                outputData                   // out
968);
969extern TSS_RESULT Tcsip_TPM_DAA_Sign
970(
971    TCS_CONTEXT_HANDLE    hContext,                    // in
972    TPM_HANDLE            handle,                      // in
973    BYTE                  stage,                       // in
974    UINT32                inputSize0,                  // in
975    BYTE*                 inputData0,                  // in
976    UINT32                inputSize1,                  // in
977    BYTE*                 inputData1,                  // in
978    TPM_AUTH*             ownerAuth,                   // in, out
979    UINT32*               outputSize,                  // out
980    BYTE**                outputData                   // out
981);
982extern TSS_RESULT Tcsip_MigrateKey
983(
984    TCS_CONTEXT_HANDLE    hContext,                    // in
985    TCS_KEY_HANDLE        hMaKey,                      // in
986    UINT32                PublicKeySize,               // in
987    BYTE*                 PublicKey,                   // in
988    UINT32                inDataSize,                  // in
989    BYTE*                 inData,                      // in
990    TPM_AUTH*             ownerAuth,                   // in, out
991    UINT32*               outDataSize,                 // out
992    BYTE**                outData                      // out
993);
994extern TSS_RESULT Tcsip_CMK_SetRestrictions
995(
996    TCS_CONTEXT_HANDLE    hContext,                    // in
997    TSS_CMK_DELEGATE      Restriction,                 // in
998    TPM_AUTH*             ownerAuth                    // in, out
999);
1000extern TSS_RESULT Tcsip_CMK_ApproveMA
1001(
1002    TCS_CONTEXT_HANDLE    hContext,                    // in
1003    TPM_DIGEST            migAuthorityDigest,          // in
1004    TPM_AUTH*             ownerAuth,                   // in, out
1005    TPM_HMAC*             HmacMigAuthDigest            // out
1006);
1007extern TSS_RESULT Tcsip_CMK_CreateKey
1008(
1009    TCS_CONTEXT_HANDLE    hContext,                    // in
1010    TCS_KEY_HANDLE        hWrappingKey,                // in
1011    TPM_ENCAUTH           KeyUsageAuth,                // in
1012    TPM_HMAC              MigAuthApproval,             // in
1013    TPM_DIGEST            MigAuthorityDigest,          // in
1014    UINT32*               keyDataSize,                 // in, out
1015    BYTE**                prgbKeyData,                 // in, out
1016    TPM_AUTH*             pAuth                        // in, out
1017);
1018extern TSS_RESULT Tcsip_CMK_CreateTicket
1019(
1020    TCS_CONTEXT_HANDLE    hContext,                    // in
1021    UINT32                PublicVerifyKeySize,         // in
1022    BYTE*                 PublicVerifyKey,             // in
1023    TPM_DIGEST            SignedData,                  // in
1024    UINT32                SigValueSize,                // in
1025    BYTE*                 SigValue,                    // in
1026    TPM_AUTH*             pOwnerAuth,                  // in, out
1027    TPM_HMAC*             SigTicket                    // out
1028);
1029extern TSS_RESULT Tcsip_CMK_CreateBlob
1030(
1031    TCS_CONTEXT_HANDLE    hContext,                    // in
1032    TCS_KEY_HANDLE        parentHandle,                // in
1033    TSS_MIGRATE_SCHEME    migrationType,               // in
1034    UINT32                MigrationKeyAuthSize,        // in
1035    BYTE*                 MigrationKeyAuth,            // in
1036    TPM_DIGEST            PubSourceKeyDigest,          // in
1037    UINT32                msaListSize,                 // in
1038    BYTE*                 msaList,                     // in
1039    UINT32                restrictTicketSize,          // in
1040    BYTE*                 restrictTicket,              // in
1041    UINT32                sigTicketSize,               // in
1042    BYTE*                 sigTicket,                   // in
1043    UINT32                encDataSize,                 // in
1044    BYTE*                 encData,                     // in
1045    TPM_AUTH*             parentAuth,                  // in, out
1046    UINT32*               randomSize,                  // out
1047    BYTE**                random,                      // out
1048    UINT32*               outDataSize,                 // out
1049    BYTE**                outData                      // out
1050);
1051extern TSS_RESULT Tcsip_CMK_ConvertMigration
1052(
1053    TCS_CONTEXT_HANDLE    hContext,                    // in
1054    TCS_KEY_HANDLE        parentHandle,                // in
1055    TPM_CMK_AUTH          restrictTicket,              // in
1056    TPM_HMAC              sigTicket,                   // in
1057    UINT32                keyDataSize,                 // in
1058    BYTE*                 prgbKeyData,                 // in
1059    UINT32                msaListSize,                 // in
1060    BYTE*                 msaList,                     // in
1061    UINT32                randomSize,                  // in
1062    BYTE*                 random,                      // in
1063    TPM_AUTH*             parentAuth,                  // in, out
1064    UINT32*               outDataSize,                 // out
1065    BYTE**                outData                      // out
1066);
1067extern TSS_RESULT Tcsip_SetCapability
1068(
1069    TCS_CONTEXT_HANDLE    hContext,                    // in
1070    TPM_CAPABILITY_AREA   capArea,                     // in
1071    UINT32                subCapSize,                  // in
1072    BYTE*                 subCap,                      // in
1073    UINT32                valueSize,                   // in
1074    BYTE*                 value,                       // in
1075    TPM_AUTH*             ownerAuth                    // in, out
1076);
1077extern TSS_RESULT Tcsip_GetAuditDigest
1078(
1079    TCS_CONTEXT_HANDLE    hContext,                    // in
1080    UINT32                startOrdinal,                // in
1081    TPM_DIGEST*           auditDigest,                 // out
1082    UINT32*               counterValueSize,            // out
1083    BYTE**                counterValue,                // out
1084    TSS_BOOL*             more,                        // out
1085    UINT32*               ordSize,                     // out
1086    UINT32**              ordList                      // out
1087);
1088extern TSS_RESULT Tcsip_GetAuditDigestSigned
1089(
1090    TCS_CONTEXT_HANDLE    hContext,                    // in
1091    TCS_KEY_HANDLE        keyHandle,                   // in
1092    TSS_BOOL              closeAudit,                  // in
1093    TPM_NONCE             antiReplay,                  // in
1094    TPM_AUTH*             privAuth,                    // in, out
1095    UINT32*               counterValueSize,            // out
1096    BYTE**                counterValue,                // out
1097    TPM_DIGEST*           auditDigest,                 // out
1098    TPM_DIGEST*           ordinalDigest,               // out
1099    UINT32*               sigSize,                     // out
1100    BYTE**                sig                          // out
1101);
1102extern TSS_RESULT Tcsip_SetOrdinalAuditStatus
1103(
1104    TCS_CONTEXT_HANDLE    hContext,                    // in
1105    UINT32                ordinalToAudit,              // in
1106    TSS_BOOL              auditState,                  // in
1107    TPM_AUTH*             ownerAuth                    // in, out
1108);
1109extern TSS_RESULT Tcsi_Admin_TSS_SessionsPerLocality
1110(
1111    TCS_CONTEXT_HANDLE    hContext,                    // in
1112    UINT32                ulLocality,                  // in
1113    UINT32                ulSessions,                  // in
1114    TPM_AUTH*             pOwnerAuth                   // in, out
1115);
1116extern TSS_RESULT Tcsi_GetCredential
1117(
1118    TCS_CONTEXT_HANDLE  hContext,               // in
1119    UINT32              ulCredentialType,       // in
1120    UINT32              ulCredentialAccessMode, // in
1121    UINT32*             pulCredentialSize,      // out
1122    BYTE**              prgbCredentialData      // out
1123);
1124
1125#if defined __cplusplus
1126} // extern "C"
1127#endif
1128
1129#endif /* TCS_H */
1130