blob: be6bc3560431154434b40db77f02b727191f14bc [file] [log] [blame]
Will Arthur54e04e42015-07-15 11:29:25 -04001//**********************************************************************;
2// Copyright (c) 2015, Intel Corporation
3// All rights reserved.
Philip Tricca1ea84a52015-11-19 18:07:06 -08004//
5// Redistribution and use in source and binary forms, with or without
Will Arthur54e04e42015-07-15 11:29:25 -04006// modification, are permitted provided that the following conditions are met:
Philip Tricca1ea84a52015-11-19 18:07:06 -08007//
8// 1. Redistributions of source code must retain the above copyright notice,
Will Arthur54e04e42015-07-15 11:29:25 -04009// this list of conditions and the following disclaimer.
Philip Tricca1ea84a52015-11-19 18:07:06 -080010//
11// 2. Redistributions in binary form must reproduce the above copyright notice,
12// this list of conditions and the following disclaimer in the documentation
Will Arthur54e04e42015-07-15 11:29:25 -040013// and/or other materials provided with the distribution.
Philip Tricca1ea84a52015-11-19 18:07:06 -080014//
15// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
19// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
Will Arthur54e04e42015-07-15 11:29:25 -040025// THE POSSIBILITY OF SUCH DAMAGE.
26//**********************************************************************;
27
28#ifndef TSS2_SYS_API_MARSHAL_UNMARSHAL_H
29#define TSS2_SYS_API_MARSHAL_UNMARSHAL_H
30
Philip Tricca6260ec02017-02-14 15:06:30 -080031#include "sapi/marshal.h"
32
Will Arthur54e04e42015-07-15 11:29:25 -040033void Marshal_Simple_TPM2B( UINT8 *inBuffPtr, UINT32 maxCommandSize, UINT8 **nextData, TPM2B *value, TSS2_RC *rval );
34void Unmarshal_Simple_TPM2B( UINT8 *outBuffPtr, UINT32 maxResponseSize, UINT8 **nextData, TPM2B *value, TSS2_RC *rval );
wcarthur7b10eeb2015-12-03 16:40:41 -050035void Unmarshal_Simple_TPM2B_NoSizeCheck( UINT8 *outBuffPtr, UINT32 maxResponseSize, UINT8 **nextData, TPM2B *value, TSS2_RC *rval );
Philip Tricca9d6801f2017-02-15 15:53:37 -080036#define Marshal_UINT64(inBuffPtr, maxCommandSize, nextData, src, rval) \
37 do { \
38 if (*rval != TSS2_RC_SUCCESS) \
39 break; \
40 size_t index = *nextData - inBuffPtr; \
41 UINT64 floop = src; \
42 *rval = UINT64_Marshal (&floop, \
43 inBuffPtr, \
44 maxCommandSize, \
45 &index); \
46 *nextData = inBuffPtr + index; \
47 } while (0);
Philip Tricca935972e2017-02-15 14:49:56 -080048#define Marshal_UINT32(inBuffPtr, maxCommandSize, nextData, src, rval) \
49 do { \
50 if (*rval != TSS2_RC_SUCCESS) \
51 break; \
52 size_t index = *nextData - inBuffPtr; \
53 UINT32 floop = src; \
54 *rval = UINT32_Marshal (&floop, \
55 inBuffPtr, \
56 maxCommandSize, \
57 &index); \
58 *nextData = inBuffPtr + index; \
59 } while (0);
Philip Tricca819af362017-02-15 14:26:34 -080060#define Marshal_UINT16(inBuffPtr, maxCommandSize, nextData, src, rval) \
61 do { \
62 if (*rval != TSS2_RC_SUCCESS) \
63 break; \
64 size_t index = *nextData - inBuffPtr; \
65 UINT16 floop = src; \
66 *rval = UINT16_Marshal (&floop, \
67 inBuffPtr, \
68 maxCommandSize, \
69 &index); \
70 *nextData = inBuffPtr + index; \
71 } while (0);
Philip Tricca6260ec02017-02-14 15:06:30 -080072/*
73 * inBuffPtr is a UINT8* that's the start of the input buffer
74 * maxCommandSize is a size_t / UINT32 holding the inBuffPtr size
75 * nextData is a UINT8** that points to the next location in inBuffPtr to write to
76 * src is the input UINT8
77 * rval is the TSS2_RC* to store the results of UINT8_Marshal in
78 */
79#define Marshal_UINT8(inBuffPtr, maxCommandSize, nextData, src, rval) \
80 do { \
81 if (*rval != TSS2_RC_SUCCESS) \
82 break; \
83 size_t index = *nextData - inBuffPtr; \
84 UINT8 floop = src; \
85 *rval = UINT8_Marshal (&floop, \
86 inBuffPtr, \
87 maxCommandSize, \
88 &index); \
89 *nextData = inBuffPtr + index; \
90 } while (0);
Philip Tricca9d6801f2017-02-15 15:53:37 -080091#define Unmarshal_UINT64(outBuffPtr, maxResponseSize, nextData, dest, rval) \
92 do { \
93 if (*rval != TSS2_RC_SUCCESS) \
94 break; \
95 size_t index = *nextData - outBuffPtr; \
96 *rval = UINT64_Unmarshal (outBuffPtr, \
97 maxResponseSize, \
98 &index, \
99 dest); \
100 *nextData = outBuffPtr + index; \
101 } while (0);
Philip Tricca935972e2017-02-15 14:49:56 -0800102#define Unmarshal_UINT32(outBuffPtr, maxResponseSize, nextData, dest, rval) \
103 do { \
104 if (*rval != TSS2_RC_SUCCESS) \
105 break; \
106 size_t index = *nextData - outBuffPtr; \
107 *rval = UINT32_Unmarshal (outBuffPtr, \
108 maxResponseSize, \
109 &index, \
110 dest); \
111 *nextData = outBuffPtr + index; \
112 } while (0);
Philip Tricca819af362017-02-15 14:26:34 -0800113#define Unmarshal_UINT16(outBuffPtr, maxResponseSize, nextData, dest, rval) \
114 do { \
115 if (*rval != TSS2_RC_SUCCESS) \
116 break; \
117 size_t index = *nextData - outBuffPtr; \
118 *rval = UINT16_Unmarshal (outBuffPtr, \
119 maxResponseSize, \
120 &index, \
121 dest); \
122 *nextData = outBuffPtr + index; \
123 } while (0);
Philip Tricca6260ec02017-02-14 15:06:30 -0800124/*
125 * outBuffPtr is a UINT8* that's the start of the input buffer
126 * maxCommandSize is a size_t / UINT32 holding the inBuffPtr size
127 * nextData is a UINT8** that points to the next location in inBuffPtr to write to
128 * dest is the output UINT8
129 * rval is the TSS2_RC* to store the results of UINT8_Marshal in
130 */
131#define Unmarshal_UINT8(outBuffPtr, maxResponseSize, nextData, dest, rval) \
132 do { \
133 if (*rval != TSS2_RC_SUCCESS) \
134 break; \
135 size_t index = *nextData - outBuffPtr; \
136 *rval = UINT8_Unmarshal (outBuffPtr, \
137 maxResponseSize, \
138 &index, \
139 dest); \
140 *nextData = outBuffPtr + index; \
141 } while (0);
Will Arthur54e04e42015-07-15 11:29:25 -0400142void Marshal_TPMS_EMPTY( TSS2_SYS_CONTEXT *sysContext, TPMS_EMPTY *empty );
143void Unmarshal_TPMS_EMPTY( TSS2_SYS_CONTEXT *sysContext, TPMS_EMPTY *empty );
144
Will Arthur54e04e42015-07-15 11:29:25 -0400145// Macro for unmarshalling/marshalling in SYSAPI code. We needed access to generic base functions in resource manager and
146// other places
147#define UNMARSHAL_SIMPLE_TPM2B( sysContext, value ) \
148 Unmarshal_Simple_TPM2B( SYS_CONTEXT->tpmOutBuffPtr, SYS_CONTEXT->maxResponseSize, &( SYS_CONTEXT->nextData ), value, &(SYS_CONTEXT->rval ) )
149
wcarthur7b10eeb2015-12-03 16:40:41 -0500150#define UNMARSHAL_SIMPLE_TPM2B_NO_SIZE_CHECK( sysContext, value ) \
151 Unmarshal_Simple_TPM2B_NoSizeCheck( SYS_CONTEXT->tpmOutBuffPtr, SYS_CONTEXT->maxResponseSize, &( SYS_CONTEXT->nextData ), value, &(SYS_CONTEXT->rval ) )
152
Will Arthur54e04e42015-07-15 11:29:25 -0400153#define UNMARSHAL_TPMS_CONTEXT( sysContext, value ) \
154 Unmarshal_TPMS_CONTEXT( SYS_CONTEXT->tpmOutBuffPtr, SYS_CONTEXT->maxResponseSize, &( SYS_CONTEXT->nextData ), value, &(SYS_CONTEXT->rval ) )
155
156#define MARSHAL_SIMPLE_TPM2B( sysContext, value ) \
157 Marshal_Simple_TPM2B( SYS_CONTEXT->tpmInBuffPtr, SYS_CONTEXT->maxCommandSize, &( SYS_CONTEXT->nextData ), value, &(SYS_CONTEXT->rval ) )
158
Will Arthur54e04e42015-07-15 11:29:25 -0400159#define Marshal_TPM_ALGORITHM_ID( sysContext, var ) Marshal_UINT32( sysContext, (UINT32 *)var )
160
161#define Unmarshal_TPM_ALGORITHM_ID( sysContext, var ) Unmarshal_UINT32( sysContext, (UINT32 *)var )
162
163#define Marshal_TPM_MODIFIER_INDICATOR( sysContext, var ) Marshal_UINT32( sysContext, (UINT32 *)var )
164
165#define Unmarshal_TPM_MODIFIER_INDICATOR( sysContext, var ) Unmarshal_UINT32( sysContext, (UINT32 *)var )
166
167#define Marshal_TPM_AUTHORIZATION_SIZE( sysContext, var ) Marshal_UINT32( sysContext, (UINT32 *)var )
168
169#define Unmarshal_TPM_AUTHORIZATION_SIZE( sysContext, var ) Unmarshal_UINT32( sysContext, (UINT32 *)var )
170
171#define Marshal_TPM_PARAMETER_SIZE( sysContext, var ) Marshal_UINT32( sysContext, (UINT32 *)var )
172
173#define Unmarshal_TPM_PARAMETER_SIZE( sysContext, var ) Unmarshal_UINT32( sysContext, (UINT32 *)var )
174
175#define Marshal_TPM_KEY_SIZE( sysContext, var ) Marshal_UINT16( sysContext, (UINT16 *)var )
176
177#define Unmarshal_TPM_KEY_SIZE( sysContext, var ) Unmarshal_UINT16( sysContext, (UINT16 *)var )
178
179#define Marshal_TPM_KEY_BITS( sysContext, var ) Marshal_UINT16( sysContext, (UINT16 *)var )
180
181#define Unmarshal_TPM_KEY_BITS( sysContext, var ) Unmarshal_UINT16( sysContext, (UINT16 *)var )
182
183#define Marshal_TPM2B_NONCE( sysContext, var ) Marshal_TPM2B_DIGEST( sysContext, (TPM2B_DIGEST *)var )
184
185#define Unmarshal_TPM2B_NONCE( sysContext, var ) Unmarshal_TPM2B_DIGEST( sysContext, (TPM2B_DIGEST *)var )
186
187#define Marshal_TPM2B_AUTH( sysContext, var ) Marshal_TPM2B_DIGEST( sysContext, (TPM2B_DIGEST *)var )
188
189#define Unmarshal_TPM2B_AUTH( sysContext, var ) Unmarshal_TPM2B_DIGEST( sysContext, (TPM2B_DIGEST *)var )
190
191#define Marshal_TPM2B_OPERAND( sysContext, var ) Marshal_TPM2B_DIGEST( sysContext, (TPM2B_DIGEST *)var )
192
193#define Unmarshal_TPM2B_OPERAND( sysContext, var ) Unmarshal_TPM2B_DIGEST( sysContext, (TPM2B_DIGEST *)var )
194
195#define Marshal_TPM2B_TIMEOUT( sysContext, var ) Marshal_TPM2B_DIGEST( sysContext, (TPM2B_DIGEST *)var )
196
197#define Unmarshal_TPM2B_TIMEOUT( sysContext, var ) Unmarshal_TPM2B_DIGEST( sysContext, (TPM2B_DIGEST *)var )
198
199#define Marshal_TPMS_SCHEME_HMAC( sysContext, var ) Marshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
200
201#define Unmarshal_TPMS_SCHEME_HMAC( sysContext, var ) Unmarshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
202
203#define Marshal_TPMS_SIG_SCHEME_RSASSA( sysContext, var ) Marshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
204
205#define Unmarshal_TPMS_SIG_SCHEME_RSASSA( sysContext, var ) Unmarshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
206
207#define Marshal_TPMS_SIG_SCHEME_RSAPSS( sysContext, var ) Marshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
208
209#define Unmarshal_TPMS_SIG_SCHEME_RSAPSS( sysContext, var ) Unmarshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
210
211#define Marshal_TPMS_SIG_SCHEME_ECDSA( sysContext, var ) Marshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
212
213#define Unmarshal_TPMS_SIG_SCHEME_ECDSA( sysContext, var ) Unmarshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
214
215#define Marshal_TPMS_SIG_SCHEME_SM2( sysContext, var ) Marshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
216
217#define Unmarshal_TPMS_SIG_SCHEME_SM2( sysContext, var ) Unmarshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
218
219#define Marshal_TPMS_SIG_SCHEME_ECSCHNORR( sysContext, var ) Marshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
220
221#define Unmarshal_TPMS_SIG_SCHEME_ECSCHNORR( sysContext, var ) Unmarshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
222
223#define Marshal_TPMS_SIG_SCHEME_ECDAA( sysContext, var ) Marshal_TPMS_SCHEME_ECDAA( sysContext, (TPMS_SCHEME_ECDAA *)var )
224
225#define Unmarshal_TPMS_SIG_SCHEME_ECDAA( sysContext, var ) Unmarshal_TPMS_SCHEME_ECDAA( sysContext, (TPMS_SCHEME_ECDAA *)var )
226
227#define Marshal_TPMS_ENC_SCHEME_OAEP( sysContext, var ) Marshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
228
229#define Unmarshal_TPMS_ENC_SCHEME_OAEP( sysContext, var ) Unmarshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
230
231#define Marshal_TPMS_ENC_SCHEME_RSAES( sysContext, var ) Marshal_TPMS_EMPTY( sysContext, (TPMS_EMPTY *)var )
232
233#define Unmarshal_TPMS_ENC_SCHEME_RSAES( sysContext, var ) Unmarshal_TPMS_EMPTY( sysContext, (TPMS_EMPTY *)var )
234
235#define Marshal_TPMS_KEY_SCHEME_ECDH( sysContext, var ) Marshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
236
237#define Unmarshal_TPMS_KEY_SCHEME_ECDH( sysContext, var ) Unmarshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
238
239#define Marshal_TPMS_KEY_SCHEME_ECMQV( sysContext, var ) Marshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
240
241#define Unmarshal_TPMS_KEY_SCHEME_ECMQV( sysContext, var ) Unmarshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
242
243#define Marshal_TPMS_SCHEME_MGF1( sysContext, var ) Marshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
244
245#define Unmarshal_TPMS_SCHEME_MGF1( sysContext, var ) Unmarshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
246
247#define Marshal_TPMS_SCHEME_KDF1_SP800_56A( sysContext, var ) Marshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
248
249#define Unmarshal_TPMS_SCHEME_KDF1_SP800_56A( sysContext, var ) Unmarshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
250
251#define Marshal_TPMS_SCHEME_KDF2( sysContext, var ) Marshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
252
253#define Unmarshal_TPMS_SCHEME_KDF2( sysContext, var ) Unmarshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
254
255#define Marshal_TPMS_SCHEME_KDF1_SP800_108( sysContext, var ) Marshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
256
257#define Unmarshal_TPMS_SCHEME_KDF1_SP800_108( sysContext, var ) Unmarshal_TPMS_SCHEME_HASH( sysContext, (TPMS_SCHEME_HASH *)var )
258
259#define Marshal_TPMS_SIGNATURE_RSASSA( sysContext, var ) Marshal_TPMS_SIGNATURE_RSA( sysContext, (TPMS_SIGNATURE_RSA *)var )
260
261#define Unmarshal_TPMS_SIGNATURE_RSASSA( sysContext, var ) Unmarshal_TPMS_SIGNATURE_RSA( sysContext, (TPMS_SIGNATURE_RSA *)var )
262
263#define Marshal_TPMS_SIGNATURE_RSAPSS( sysContext, var ) Marshal_TPMS_SIGNATURE_RSA( sysContext, (TPMS_SIGNATURE_RSA *)var )
264
265#define Unmarshal_TPMS_SIGNATURE_RSAPSS( sysContext, var ) Unmarshal_TPMS_SIGNATURE_RSA( sysContext, (TPMS_SIGNATURE_RSA *)var )
266
267#define Marshal_TPMS_SIGNATURE_ECDSA( sysContext, var ) Marshal_TPMS_SIGNATURE_ECC( sysContext, (TPMS_SIGNATURE_ECC *)var )
268
269#define Unmarshal_TPMS_SIGNATURE_ECDSA( sysContext, var ) Unmarshal_TPMS_SIGNATURE_ECC( sysContext, (TPMS_SIGNATURE_ECC *)var )
270
271#define Marshal_TPMS_SIGNATURE_ECDAA( sysContext, var ) Marshal_TPMS_SIGNATURE_ECC( sysContext, (TPMS_SIGNATURE_ECC *)var )
272
273#define Unmarshal_TPMS_SIGNATURE_ECDAA( sysContext, var ) Unmarshal_TPMS_SIGNATURE_ECC( sysContext, (TPMS_SIGNATURE_ECC *)var )
274
275#define Marshal_TPMS_SIGNATURE_SM2( sysContext, var ) Marshal_TPMS_SIGNATURE_ECC( sysContext, (TPMS_SIGNATURE_ECC *)var )
276
277#define Unmarshal_TPMS_SIGNATURE_SM2( sysContext, var ) Unmarshal_TPMS_SIGNATURE_ECC( sysContext, (TPMS_SIGNATURE_ECC *)var )
278
279#define Marshal_TPMS_SIGNATURE_ECSCHNORR( sysContext, var ) Marshal_TPMS_SIGNATURE_ECC( sysContext, (TPMS_SIGNATURE_ECC *)var )
280
281#define Unmarshal_TPMS_SIGNATURE_ECSCHNORR( sysContext, var ) Unmarshal_TPMS_SIGNATURE_ECC( sysContext, (TPMS_SIGNATURE_ECC *)var )
282
283void Marshal_TPML_ALG(
284 TSS2_SYS_CONTEXT *sysContext,
285 TPML_ALG *alg
286 );
287
288void Marshal_TPMT_SYM_DEF(
289 TSS2_SYS_CONTEXT *sysContext,
290 TPMT_SYM_DEF *symDef
291 );
292
293void Marshal_TPM2B_SENSITIVE_CREATE(
294 TSS2_SYS_CONTEXT *sysContext,
295 TPM2B_SENSITIVE_CREATE *sensitiveCreate
296 );
297
298void Marshal_TPM2B_PUBLIC(
299 TSS2_SYS_CONTEXT *sysContext,
300 TPM2B_PUBLIC *publicVar
301 );
302
303void Marshal_TPML_PCR_SELECTION(
304 TSS2_SYS_CONTEXT *sysContext,
305 TPML_PCR_SELECTION *pcrSelection
306 );
307
308void Marshal_TPM2B_SENSITIVE(
309 TSS2_SYS_CONTEXT *sysContext,
310 TPM2B_SENSITIVE *sensitive
311 );
312
313void Marshal_TPMT_SYM_DEF_OBJECT(
314 TSS2_SYS_CONTEXT *sysContext,
315 TPMT_SYM_DEF_OBJECT *symDefObject
316 );
317
318void Marshal_TPMT_RSA_DECRYPT(
319 TSS2_SYS_CONTEXT *sysContext,
320 TPMT_RSA_DECRYPT *rsaDecrypt
321 );
322
323void Marshal_TPM2B_ECC_POINT(
324 TSS2_SYS_CONTEXT *sysContext,
325 TPM2B_ECC_POINT *eccPoint
326 );
327
328void Marshal_TPMT_SIG_SCHEME(
329 TSS2_SYS_CONTEXT *sysContext,
330 TPMT_SIG_SCHEME *sigScheme
331 );
332
333void Marshal_TPMT_TK_CREATION(
334 TSS2_SYS_CONTEXT *sysContext,
335 TPMT_TK_CREATION *tkCreation
336 );
337
338void Marshal_TPMT_SIGNATURE(
339 TSS2_SYS_CONTEXT *sysContext,
340 TPMT_SIGNATURE *signature
341 );
342
343void Marshal_TPMT_TK_HASHCHECK(
344 TSS2_SYS_CONTEXT *sysContext,
345 TPMT_TK_HASHCHECK *tkHashcheck
346 );
347
348void Marshal_TPML_CC(
349 TSS2_SYS_CONTEXT *sysContext,
350 TPML_CC *cc
351 );
352
353void Marshal_TPML_DIGEST_VALUES(
354 TSS2_SYS_CONTEXT *sysContext,
355 TPML_DIGEST_VALUES *digestValues
356 );
357
358void Marshal_TPMT_TK_AUTH(
359 TSS2_SYS_CONTEXT *sysContext,
360 TPMT_TK_AUTH *tkAuth
361 );
362
363void Marshal_TPML_DIGEST(
364 TSS2_SYS_CONTEXT *sysContext,
365 TPML_DIGEST *digest
366 );
367
368void Marshal_TPMA_LOCALITY(
369 TSS2_SYS_CONTEXT *sysContext,
370 TPMA_LOCALITY locality
371 );
372
373void Marshal_TPMT_TK_VERIFIED(
374 TSS2_SYS_CONTEXT *sysContext,
375 TPMT_TK_VERIFIED *tkVerified
376 );
377
378void Marshal_TPMS_CONTEXT(
379 TSS2_SYS_CONTEXT *sysContext,
380 TPMS_CONTEXT *context
381 );
382
383void Marshal_TPMT_PUBLIC_PARMS(
384 TSS2_SYS_CONTEXT *sysContext,
385 TPMT_PUBLIC_PARMS *publicVarParms
386 );
387
388void Marshal_TPM2B_NV_PUBLIC(
389 TSS2_SYS_CONTEXT *sysContext,
390 TPM2B_NV_PUBLIC *nvPublic
391 );
392
393void Marshal_TPMA_ALGORITHM(
394 TSS2_SYS_CONTEXT *sysContext,
395 TPMA_ALGORITHM algorithm
396 );
397
398void Marshal_TPMA_OBJECT(
399 TSS2_SYS_CONTEXT *sysContext,
400 TPMA_OBJECT object
401 );
402
403void Marshal_TPMA_SESSION(
404 TSS2_SYS_CONTEXT *sysContext,
405 TPMA_SESSION session
406 );
407
408void Marshal_TPMU_HA(
409 TSS2_SYS_CONTEXT *sysContext,
410 TPMU_HA *ha,
411 UINT32 selector
412 );
413
414void Marshal_TPMT_HA(
415 TSS2_SYS_CONTEXT *sysContext,
416 TPMT_HA *ha
417 );
418
419void Marshal_TPMS_PCR_SELECT(
420 TSS2_SYS_CONTEXT *sysContext,
421 TPMS_PCR_SELECT *pcrSelect
422 );
423
424void Marshal_TPMS_PCR_SELECTION(
425 TSS2_SYS_CONTEXT *sysContext,
426 TPMS_PCR_SELECTION *pcrSelection
427 );
428
429void Marshal_TPMS_CLOCK_INFO(
430 TSS2_SYS_CONTEXT *sysContext,
431 TPMS_CLOCK_INFO *clockInfo
432 );
433
434void Marshal_TPMS_TIME_INFO(
435 TSS2_SYS_CONTEXT *sysContext,
436 TPMS_TIME_INFO *timeInfo
437 );
438
439void Marshal_TPMS_AUTH_COMMAND(
440 TSS2_SYS_CONTEXT *sysContext,
441 TPMS_AUTH_COMMAND *authCommand
442 );
443
444void Marshal_TPMU_SYM_KEY_BITS(
445 TSS2_SYS_CONTEXT *sysContext,
446 TPMU_SYM_KEY_BITS *symKeyBits,
447 UINT32 selector
448 );
449
450void Marshal_TPMU_SYM_MODE(
451 TSS2_SYS_CONTEXT *sysContext,
452 TPMU_SYM_MODE *symMode,
453 UINT32 selector
454 );
455
456void Marshal_TPMS_SYMCIPHER_PARMS(
457 TSS2_SYS_CONTEXT *sysContext,
458 TPMS_SYMCIPHER_PARMS *symcipherParms
459 );
460
461void Marshal_TPMS_SENSITIVE_CREATE(
462 TSS2_SYS_CONTEXT *sysContext,
463 TPMS_SENSITIVE_CREATE *sensitiveCreate
464 );
465
466void Marshal_TPMS_SCHEME_HASH(
467 TSS2_SYS_CONTEXT *sysContext,
468 TPMS_SCHEME_HASH *schemeHash
469 );
470
471void Marshal_TPMS_SCHEME_ECDAA(
472 TSS2_SYS_CONTEXT *sysContext,
473 TPMS_SCHEME_ECDAA *schemeEcdaa
474 );
475
476void Marshal_TPMS_SCHEME_XOR(
477 TSS2_SYS_CONTEXT *sysContext,
478 TPMS_SCHEME_XOR *schemeXor
479 );
480
481void Marshal_TPMU_SCHEME_KEYEDHASH(
482 TSS2_SYS_CONTEXT *sysContext,
483 TPMU_SCHEME_KEYEDHASH *schemeKeyedhash,
484 UINT32 selector
485 );
486
487void Marshal_TPMT_KEYEDHASH_SCHEME(
488 TSS2_SYS_CONTEXT *sysContext,
489 TPMT_KEYEDHASH_SCHEME *keyedhashScheme
490 );
491
492void Marshal_TPMU_SIG_SCHEME(
493 TSS2_SYS_CONTEXT *sysContext,
494 TPMU_SIG_SCHEME *sigScheme,
495 UINT32 selector
496 );
497
498void Marshal_TPMU_KDF_SCHEME(
499 TSS2_SYS_CONTEXT *sysContext,
500 TPMU_KDF_SCHEME *kdfScheme,
501 UINT32 selector
502 );
503
504void Marshal_TPMT_KDF_SCHEME(
505 TSS2_SYS_CONTEXT *sysContext,
506 TPMT_KDF_SCHEME *kdfScheme
507 );
508
509void Marshal_TPMU_ASYM_SCHEME(
510 TSS2_SYS_CONTEXT *sysContext,
511 TPMU_ASYM_SCHEME *asymScheme,
512 UINT32 selector
513 );
514
515void Marshal_TPMT_RSA_SCHEME(
516 TSS2_SYS_CONTEXT *sysContext,
517 TPMT_RSA_SCHEME *rsaScheme
518 );
519
520void Marshal_TPMS_ECC_POINT(
521 TSS2_SYS_CONTEXT *sysContext,
522 TPMS_ECC_POINT *eccPoint
523 );
524
525void Marshal_TPMT_ECC_SCHEME(
526 TSS2_SYS_CONTEXT *sysContext,
527 TPMT_ECC_SCHEME *eccScheme
528 );
529
530void Marshal_TPMS_SIGNATURE_RSA(
531 TSS2_SYS_CONTEXT *sysContext,
532 TPMS_SIGNATURE_RSA *signatureRsa
533 );
534
535void Marshal_TPMS_SIGNATURE_ECC(
536 TSS2_SYS_CONTEXT *sysContext,
537 TPMS_SIGNATURE_ECC *signatureEcc
538 );
539
540void Marshal_TPMU_SIGNATURE(
541 TSS2_SYS_CONTEXT *sysContext,
542 TPMU_SIGNATURE *signature,
543 UINT32 selector
544 );
545
546void Marshal_TPMU_PUBLIC_ID(
547 TSS2_SYS_CONTEXT *sysContext,
548 TPMU_PUBLIC_ID *publicVarId,
549 UINT32 selector
550 );
551
552void Marshal_TPMS_KEYEDHASH_PARMS(
553 TSS2_SYS_CONTEXT *sysContext,
554 TPMS_KEYEDHASH_PARMS *keyedhashParms
555 );
556
557void Marshal_TPMS_RSA_PARMS(
558 TSS2_SYS_CONTEXT *sysContext,
559 TPMS_RSA_PARMS *rsaParms
560 );
561
562void Marshal_TPMS_ECC_PARMS(
563 TSS2_SYS_CONTEXT *sysContext,
564 TPMS_ECC_PARMS *eccParms
565 );
566
567void Marshal_TPMU_PUBLIC_PARMS(
568 TSS2_SYS_CONTEXT *sysContext,
569 TPMU_PUBLIC_PARMS *publicVarParms,
570 UINT32 selector
571 );
572
573void Marshal_TPMT_PUBLIC(
574 TSS2_SYS_CONTEXT *sysContext,
575 TPMT_PUBLIC *publicVar
576 );
577
578void Marshal_TPMU_SENSITIVE_COMPOSITE(
579 TSS2_SYS_CONTEXT *sysContext,
580 TPMU_SENSITIVE_COMPOSITE *sensitiveComposite,
581 UINT32 selector
582 );
583
584void Marshal_TPMT_SENSITIVE(
585 TSS2_SYS_CONTEXT *sysContext,
586 TPMT_SENSITIVE *sensitive
587 );
588
wcarthurb4b7e032016-01-12 16:40:39 -0500589void Marshal_TPMS_NV_PIN_COUNTER_PARAMETERS(
590 TSS2_SYS_CONTEXT *sysContext,
591 TPMS_NV_PIN_COUNTER_PARAMETERS *nvPinCounterParameters
592 );
593
Will Arthur54e04e42015-07-15 11:29:25 -0400594void Marshal_TPMA_NV(
595 TSS2_SYS_CONTEXT *sysContext,
596 TPMA_NV nv
597 );
598
599void Marshal_TPMS_NV_PUBLIC(
600 TSS2_SYS_CONTEXT *sysContext,
601 TPMS_NV_PUBLIC *nvPublic
602 );
603
604void Marshal_TPMS_CONTEXT_DATA(
605 TSS2_SYS_CONTEXT *sysContext,
606 TPMS_CONTEXT_DATA *contextData
607 );
608
609void Unmarshal_TPML_ALG(
610 TSS2_SYS_CONTEXT *sysContext,
611 TPML_ALG *alg
612 );
613
614void Unmarshal_TPM2B_PUBLIC(
615 TSS2_SYS_CONTEXT *sysContext,
616 TPM2B_PUBLIC *publicVar
617 );
618
wcarthur7b10eeb2015-12-03 16:40:41 -0500619void Unmarshal_TPM2B_CREATION_DATA(
620 TSS2_SYS_CONTEXT *sysContext,
621 TPM2B_CREATION_DATA *creationData
622 );
623
Will Arthur54e04e42015-07-15 11:29:25 -0400624void Unmarshal_TPMT_TK_CREATION(
625 TSS2_SYS_CONTEXT *sysContext,
626 TPMT_TK_CREATION *tkCreation
627 );
628
629void Unmarshal_TPM2B_ECC_POINT(
630 TSS2_SYS_CONTEXT *sysContext,
631 TPM2B_ECC_POINT *eccPoint
632 );
633
634void Unmarshal_TPMS_ALGORITHM_DETAIL_ECC(
635 TSS2_SYS_CONTEXT *sysContext,
636 TPMS_ALGORITHM_DETAIL_ECC *algorithmDetailEcc
637 );
638
639void Unmarshal_TPMT_TK_HASHCHECK(
640 TSS2_SYS_CONTEXT *sysContext,
641 TPMT_TK_HASHCHECK *tkHashcheck
642 );
643
644void Unmarshal_TPML_DIGEST_VALUES(
645 TSS2_SYS_CONTEXT *sysContext,
646 TPML_DIGEST_VALUES *digestValues
647 );
648
649void Unmarshal_TPMT_SIGNATURE(
650 TSS2_SYS_CONTEXT *sysContext,
651 TPMT_SIGNATURE *signature
652 );
653
654void Unmarshal_TPMT_TK_VERIFIED(
655 TSS2_SYS_CONTEXT *sysContext,
656 TPMT_TK_VERIFIED *tkVerified
657 );
658
659void Unmarshal_TPML_PCR_SELECTION(
660 TSS2_SYS_CONTEXT *sysContext,
661 TPML_PCR_SELECTION *pcrSelection
662 );
663
664void Unmarshal_TPML_DIGEST(
665 TSS2_SYS_CONTEXT *sysContext,
666 TPML_DIGEST *digest
667 );
668
669void Unmarshal_TPMT_TK_AUTH(
670 TSS2_SYS_CONTEXT *sysContext,
671 TPMT_TK_AUTH *tkAuth
672 );
673
674void Unmarshal_TPMT_HA(
675 TSS2_SYS_CONTEXT *sysContext,
676 TPMT_HA *ha
677 );
678
679void Unmarshal_TPMS_CONTEXT(
680 TSS2_SYS_CONTEXT *sysContext,
681 TPMS_CONTEXT *context
682 );
683
684void Unmarshal_TPMS_TIME_INFO(
685 TSS2_SYS_CONTEXT *sysContext,
686 TPMS_TIME_INFO *timeInfo
687 );
688
689void Unmarshal_TPMS_CAPABILITY_DATA(
690 TSS2_SYS_CONTEXT *sysContext,
691 TPMS_CAPABILITY_DATA *capabilityData
692 );
693
694void Unmarshal_TPM2B_NV_PUBLIC(
695 TSS2_SYS_CONTEXT *sysContext,
696 TPM2B_NV_PUBLIC *nvPublic
697 );
698
699void Unmarshal_TPMA_ALGORITHM(
700 TSS2_SYS_CONTEXT *sysContext,
701 TPMA_ALGORITHM *algorithm
702 );
703
704void Unmarshal_TPMA_OBJECT(
705 TSS2_SYS_CONTEXT *sysContext,
706 TPMA_OBJECT *object
707 );
708
709void Unmarshal_TPMA_SESSION(
710 TSS2_SYS_CONTEXT *sysContext,
711 TPMA_SESSION *session
712 );
713
714void Unmarshal_TPMA_LOCALITY(
715 TSS2_SYS_CONTEXT *sysContext,
716 TPMA_LOCALITY *locality
717 );
718
719void Unmarshal_TPMA_PERMANENT(
720 TSS2_SYS_CONTEXT *sysContext,
721 TPMA_PERMANENT *permanent
722 );
723
724void Unmarshal_TPMA_STARTUP_CLEAR(
725 TSS2_SYS_CONTEXT *sysContext,
726 TPMA_STARTUP_CLEAR *startupClear
727 );
728
729void Unmarshal_TPMA_CC(
730 TSS2_SYS_CONTEXT *sysContext,
731 TPMA_CC *cc
732 );
733
734void Unmarshal_TPMS_ALGORITHM_DESCRIPTION(
735 TSS2_SYS_CONTEXT *sysContext,
736 TPMS_ALGORITHM_DESCRIPTION *algorithmDescription
737 );
738
739void Unmarshal_TPMU_HA(
740 TSS2_SYS_CONTEXT *sysContext,
741 TPMU_HA *ha,
742 UINT32 selector
743 );
744
745void Unmarshal_TPMS_PCR_SELECT(
746 TSS2_SYS_CONTEXT *sysContext,
747 TPMS_PCR_SELECT *pcrSelect
748 );
749
750void Unmarshal_TPMS_PCR_SELECTION(
751 TSS2_SYS_CONTEXT *sysContext,
752 TPMS_PCR_SELECTION *pcrSelection
753 );
754
755void Unmarshal_TPMS_ALG_PROPERTY(
756 TSS2_SYS_CONTEXT *sysContext,
757 TPMS_ALG_PROPERTY *algProperty
758 );
759
760void Unmarshal_TPMS_TAGGED_PROPERTY(
761 TSS2_SYS_CONTEXT *sysContext,
762 TPMS_TAGGED_PROPERTY *taggedProperty
763 );
764
765void Unmarshal_TPMS_TAGGED_PCR_SELECT(
766 TSS2_SYS_CONTEXT *sysContext,
767 TPMS_TAGGED_PCR_SELECT *taggedPcrSelect
768 );
769
770void Unmarshal_TPML_CC(
771 TSS2_SYS_CONTEXT *sysContext,
772 TPML_CC *cc
773 );
774
775void Unmarshal_TPML_CCA(
776 TSS2_SYS_CONTEXT *sysContext,
777 TPML_CCA *cca
778 );
779
780void Unmarshal_TPML_HANDLE(
781 TSS2_SYS_CONTEXT *sysContext,
782 TPML_HANDLE *handle
783 );
784
785void Unmarshal_TPML_ALG_PROPERTY(
786 TSS2_SYS_CONTEXT *sysContext,
787 TPML_ALG_PROPERTY *algProperty
788 );
789
790void Unmarshal_TPML_TAGGED_TPM_PROPERTY(
791 TSS2_SYS_CONTEXT *sysContext,
792 TPML_TAGGED_TPM_PROPERTY *taggedTpmProperty
793 );
794
795void Unmarshal_TPML_TAGGED_PCR_PROPERTY(
796 TSS2_SYS_CONTEXT *sysContext,
797 TPML_TAGGED_PCR_PROPERTY *taggedPcrProperty
798 );
799
800void Unmarshal_TPML_ECC_CURVE(
801 TSS2_SYS_CONTEXT *sysContext,
802 TPML_ECC_CURVE *eccCurve
803 );
804
805void Unmarshal_TPMU_CAPABILITIES(
806 TSS2_SYS_CONTEXT *sysContext,
807 TPMU_CAPABILITIES *capabilities,
808 UINT32 selector
809 );
810
811void Unmarshal_TPMS_CLOCK_INFO(
812 TSS2_SYS_CONTEXT *sysContext,
813 TPMS_CLOCK_INFO *clockInfo
814 );
815
816void Unmarshal_TPMS_TIME_ATTEST_INFO(
817 TSS2_SYS_CONTEXT *sysContext,
818 TPMS_TIME_ATTEST_INFO *timeAttestInfo
819 );
820
821void Unmarshal_TPMS_CERTIFY_INFO(
822 TSS2_SYS_CONTEXT *sysContext,
823 TPMS_CERTIFY_INFO *certifyInfo
824 );
825
826void Unmarshal_TPMS_QUOTE_INFO(
827 TSS2_SYS_CONTEXT *sysContext,
828 TPMS_QUOTE_INFO *quoteInfo
829 );
830
831void Unmarshal_TPMS_COMMAND_AUDIT_INFO(
832 TSS2_SYS_CONTEXT *sysContext,
833 TPMS_COMMAND_AUDIT_INFO *commandAuditInfo
834 );
835
836void Unmarshal_TPMS_SESSION_AUDIT_INFO(
837 TSS2_SYS_CONTEXT *sysContext,
838 TPMS_SESSION_AUDIT_INFO *sessionAuditInfo
839 );
840
841void Unmarshal_TPMS_CREATION_INFO(
842 TSS2_SYS_CONTEXT *sysContext,
843 TPMS_CREATION_INFO *creationInfo
844 );
845
846void Unmarshal_TPMS_NV_CERTIFY_INFO(
847 TSS2_SYS_CONTEXT *sysContext,
848 TPMS_NV_CERTIFY_INFO *nvCertifyInfo
849 );
850
851void Unmarshal_TPMU_ATTEST(
852 TSS2_SYS_CONTEXT *sysContext,
853 TPMU_ATTEST *attest,
854 UINT32 selector
855 );
856
857void Unmarshal_TPMS_ATTEST(
858 TSS2_SYS_CONTEXT *sysContext,
859 TPMS_ATTEST *attest
860 );
861
862void Unmarshal_TPMS_AUTH_RESPONSE(
863 TSS2_SYS_CONTEXT *sysContext,
864 TPMS_AUTH_RESPONSE *authResponse
865 );
866
867void Unmarshal_TPMU_SYM_KEY_BITS(
868 TSS2_SYS_CONTEXT *sysContext,
869 TPMU_SYM_KEY_BITS *symKeyBits,
870 UINT32 selector
871 );
872
873void Unmarshal_TPMU_SYM_MODE(
874 TSS2_SYS_CONTEXT *sysContext,
875 TPMU_SYM_MODE *symMode,
876 UINT32 selector
877 );
878
879void Unmarshal_TPMT_SYM_DEF(
880 TSS2_SYS_CONTEXT *sysContext,
881 TPMT_SYM_DEF *symDef
882 );
883
884void Unmarshal_TPMT_SYM_DEF_OBJECT(
885 TSS2_SYS_CONTEXT *sysContext,
886 TPMT_SYM_DEF_OBJECT *symDefObject
887 );
888
889void Unmarshal_TPMS_SYMCIPHER_PARMS(
890 TSS2_SYS_CONTEXT *sysContext,
891 TPMS_SYMCIPHER_PARMS *symcipherParms
892 );
893
894void Unmarshal_TPMS_SCHEME_HASH(
895 TSS2_SYS_CONTEXT *sysContext,
896 TPMS_SCHEME_HASH *schemeHash
897 );
898
899void Unmarshal_TPMS_SCHEME_ECDAA(
900 TSS2_SYS_CONTEXT *sysContext,
901 TPMS_SCHEME_ECDAA *schemeEcdaa
902 );
903
904void Unmarshal_TPMS_SCHEME_XOR(
905 TSS2_SYS_CONTEXT *sysContext,
906 TPMS_SCHEME_XOR *schemeXor
907 );
908
909void Unmarshal_TPMU_SCHEME_KEYEDHASH(
910 TSS2_SYS_CONTEXT *sysContext,
911 TPMU_SCHEME_KEYEDHASH *schemeKeyedhash,
912 UINT32 selector
913 );
914
915void Unmarshal_TPMT_KEYEDHASH_SCHEME(
916 TSS2_SYS_CONTEXT *sysContext,
917 TPMT_KEYEDHASH_SCHEME *keyedhashScheme
918 );
919
920void Unmarshal_TPMU_SIG_SCHEME(
921 TSS2_SYS_CONTEXT *sysContext,
922 TPMU_SIG_SCHEME *sigScheme,
923 UINT32 selector
924 );
925
926void Unmarshal_TPMT_SIG_SCHEME(
927 TSS2_SYS_CONTEXT *sysContext,
928 TPMT_SIG_SCHEME *sigScheme
929 );
930
931void Unmarshal_TPMU_KDF_SCHEME(
932 TSS2_SYS_CONTEXT *sysContext,
933 TPMU_KDF_SCHEME *kdfScheme,
934 UINT32 selector
935 );
936
937void Unmarshal_TPMT_KDF_SCHEME(
938 TSS2_SYS_CONTEXT *sysContext,
939 TPMT_KDF_SCHEME *kdfScheme
940 );
941
942void Unmarshal_TPMU_ASYM_SCHEME(
943 TSS2_SYS_CONTEXT *sysContext,
944 TPMU_ASYM_SCHEME *asymScheme,
945 UINT32 selector
946 );
947
948void Unmarshal_TPMT_RSA_SCHEME(
949 TSS2_SYS_CONTEXT *sysContext,
950 TPMT_RSA_SCHEME *rsaScheme
951 );
952
953void Unmarshal_TPMT_RSA_DECRYPT(
954 TSS2_SYS_CONTEXT *sysContext,
955 TPMT_RSA_DECRYPT *rsaDecrypt
956 );
957
958void Unmarshal_TPMS_ECC_POINT(
959 TSS2_SYS_CONTEXT *sysContext,
960 TPMS_ECC_POINT *eccPoint
961 );
962
963void Unmarshal_TPMT_ECC_SCHEME(
964 TSS2_SYS_CONTEXT *sysContext,
965 TPMT_ECC_SCHEME *eccScheme
966 );
967
968void Unmarshal_TPMS_SIGNATURE_RSA(
969 TSS2_SYS_CONTEXT *sysContext,
970 TPMS_SIGNATURE_RSA *signatureRsa
971 );
972
973void Unmarshal_TPMS_SIGNATURE_ECC(
974 TSS2_SYS_CONTEXT *sysContext,
975 TPMS_SIGNATURE_ECC *signatureEcc
976 );
977
978void Unmarshal_TPMU_SIGNATURE(
979 TSS2_SYS_CONTEXT *sysContext,
980 TPMU_SIGNATURE *signature,
981 UINT32 selector
982 );
983
984void Unmarshal_TPMU_PUBLIC_ID(
985 TSS2_SYS_CONTEXT *sysContext,
986 TPMU_PUBLIC_ID *publicVarId,
987 UINT32 selector
988 );
989
990void Unmarshal_TPMS_KEYEDHASH_PARMS(
991 TSS2_SYS_CONTEXT *sysContext,
992 TPMS_KEYEDHASH_PARMS *keyedhashParms
993 );
994
995void Unmarshal_TPMS_RSA_PARMS(
996 TSS2_SYS_CONTEXT *sysContext,
997 TPMS_RSA_PARMS *rsaParms
998 );
999
1000void Unmarshal_TPMS_ECC_PARMS(
1001 TSS2_SYS_CONTEXT *sysContext,
1002 TPMS_ECC_PARMS *eccParms
1003 );
1004
1005void Unmarshal_TPMU_PUBLIC_PARMS(
1006 TSS2_SYS_CONTEXT *sysContext,
1007 TPMU_PUBLIC_PARMS *publicVarParms,
1008 UINT32 selector
1009 );
1010
1011void Unmarshal_TPMT_PUBLIC_PARMS(
1012 TSS2_SYS_CONTEXT *sysContext,
1013 TPMT_PUBLIC_PARMS *publicVarParms
1014 );
1015
1016void Unmarshal_TPMT_PUBLIC(
1017 TSS2_SYS_CONTEXT *sysContext,
1018 TPMT_PUBLIC *publicVar
1019 );
1020
1021void Unmarshal_TPMU_SENSITIVE_COMPOSITE(
1022 TSS2_SYS_CONTEXT *sysContext,
1023 TPMU_SENSITIVE_COMPOSITE *sensitiveComposite,
1024 UINT32 selector
1025 );
1026
1027void Unmarshal_TPMT_SENSITIVE(
1028 TSS2_SYS_CONTEXT *sysContext,
1029 TPMT_SENSITIVE *sensitive
1030 );
1031
1032void Unmarshal_TPM2B_SENSITIVE(
1033 TSS2_SYS_CONTEXT *sysContext,
1034 TPM2B_SENSITIVE *sensitive
1035 );
1036
wcarthurb4b7e032016-01-12 16:40:39 -05001037void Unmarshal_TPMS_NV_PIN_COUNTER_PARAMETERS(
1038 TSS2_SYS_CONTEXT *sysContext,
1039 TPMS_NV_PIN_COUNTER_PARAMETERS *nvPinCounterParameters
1040 );
1041
Will Arthur54e04e42015-07-15 11:29:25 -04001042void Unmarshal_TPMA_NV(
1043 TSS2_SYS_CONTEXT *sysContext,
1044 TPMA_NV *nv
1045 );
1046
1047void Unmarshal_TPMS_NV_PUBLIC(
1048 TSS2_SYS_CONTEXT *sysContext,
1049 TPMS_NV_PUBLIC *nvPublic
1050 );
1051
1052void Unmarshal_TPMS_CONTEXT_DATA(
1053 TSS2_SYS_CONTEXT *sysContext,
1054 TPMS_CONTEXT_DATA *contextData
1055 );
1056
1057void Unmarshal_TPMS_CREATION_DATA(
1058 TSS2_SYS_CONTEXT *sysContext,
1059 TPMS_CREATION_DATA *creationData
1060 );
1061
1062
1063#endif