blob: 59f995d6bc033e9d4383be33db65d5e038495389 [file] [log] [blame]
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -07001// Copyright 2015 The Chromium OS Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// THIS CODE IS GENERATED - DO NOT MODIFY!
6
7#include "tpm_generated.h"
8#include "HandleProcess_fp.h"
9#include "Implementation.h"
10#include "TPM_Types.h"
11
12TPM_RC ParseHandleBuffer(TPM_CC command_code,
13 BYTE** request_handle_buffer_start,
14 INT32* request_buffer_remaining_size,
15 TPM_HANDLE request_handles[],
16 UINT32* num_request_handles) {
17 TPM_RC result = TPM_RC_SUCCESS;
18 *num_request_handles = 0;
19 switch (command_code) {
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -070020#ifdef TPM_CC_ActivateCredential
21 case TPM_CC_ActivateCredential:
22 result = TPMI_DH_OBJECT_Unmarshal(
23 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
24 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
25 if (result != TPM_RC_SUCCESS) {
26 return result;
27 }
28 ++(*num_request_handles);
29 result = TPMI_DH_OBJECT_Unmarshal(
30 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
31 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
32 if (result != TPM_RC_SUCCESS) {
33 return result;
34 }
35 ++(*num_request_handles);
36 return TPM_RC_SUCCESS;
37#endif
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -070038#ifdef TPM_CC_Certify
39 case TPM_CC_Certify:
40 result = TPMI_DH_OBJECT_Unmarshal(
41 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
42 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
43 if (result != TPM_RC_SUCCESS) {
44 return result;
45 }
46 ++(*num_request_handles);
47 result = TPMI_DH_OBJECT_Unmarshal(
48 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
49 request_handle_buffer_start, request_buffer_remaining_size, TRUE);
50 if (result != TPM_RC_SUCCESS) {
51 return result;
52 }
53 ++(*num_request_handles);
54 return TPM_RC_SUCCESS;
55#endif
56#ifdef TPM_CC_CertifyCreation
57 case TPM_CC_CertifyCreation:
58 result = TPMI_DH_OBJECT_Unmarshal(
59 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
60 request_handle_buffer_start, request_buffer_remaining_size, TRUE);
61 if (result != TPM_RC_SUCCESS) {
62 return result;
63 }
64 ++(*num_request_handles);
65 result = TPMI_DH_OBJECT_Unmarshal(
66 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
67 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
68 if (result != TPM_RC_SUCCESS) {
69 return result;
70 }
71 ++(*num_request_handles);
72 return TPM_RC_SUCCESS;
73#endif
Vadim Bendebury764e99b2015-09-15 11:29:08 -070074#ifdef TPM_CC_ChangeEPS
75 case TPM_CC_ChangeEPS:
76 result = TPMI_RH_PLATFORM_Unmarshal(
77 (TPMI_RH_PLATFORM*)&request_handles[*num_request_handles],
78 request_handle_buffer_start, request_buffer_remaining_size);
79 if (result != TPM_RC_SUCCESS) {
80 return result;
81 }
82 ++(*num_request_handles);
83 return TPM_RC_SUCCESS;
84#endif
85#ifdef TPM_CC_ChangePPS
86 case TPM_CC_ChangePPS:
87 result = TPMI_RH_PLATFORM_Unmarshal(
88 (TPMI_RH_PLATFORM*)&request_handles[*num_request_handles],
89 request_handle_buffer_start, request_buffer_remaining_size);
90 if (result != TPM_RC_SUCCESS) {
91 return result;
92 }
93 ++(*num_request_handles);
94 return TPM_RC_SUCCESS;
95#endif
96#ifdef TPM_CC_Clear
97 case TPM_CC_Clear:
98 result = TPMI_RH_CLEAR_Unmarshal(
99 (TPMI_RH_CLEAR*)&request_handles[*num_request_handles],
100 request_handle_buffer_start, request_buffer_remaining_size);
101 if (result != TPM_RC_SUCCESS) {
102 return result;
103 }
104 ++(*num_request_handles);
105 return TPM_RC_SUCCESS;
106#endif
107#ifdef TPM_CC_ClearControl
108 case TPM_CC_ClearControl:
109 result = TPMI_RH_CLEAR_Unmarshal(
110 (TPMI_RH_CLEAR*)&request_handles[*num_request_handles],
111 request_handle_buffer_start, request_buffer_remaining_size);
112 if (result != TPM_RC_SUCCESS) {
113 return result;
114 }
115 ++(*num_request_handles);
116 return TPM_RC_SUCCESS;
117#endif
118#ifdef TPM_CC_ClockRateAdjust
119 case TPM_CC_ClockRateAdjust:
120 result = TPMI_RH_PROVISION_Unmarshal(
121 (TPMI_RH_PROVISION*)&request_handles[*num_request_handles],
122 request_handle_buffer_start, request_buffer_remaining_size);
123 if (result != TPM_RC_SUCCESS) {
124 return result;
125 }
126 ++(*num_request_handles);
127 return TPM_RC_SUCCESS;
128#endif
129#ifdef TPM_CC_ClockSet
130 case TPM_CC_ClockSet:
131 result = TPMI_RH_PROVISION_Unmarshal(
132 (TPMI_RH_PROVISION*)&request_handles[*num_request_handles],
133 request_handle_buffer_start, request_buffer_remaining_size);
134 if (result != TPM_RC_SUCCESS) {
135 return result;
136 }
137 ++(*num_request_handles);
138 return TPM_RC_SUCCESS;
139#endif
140#ifdef TPM_CC_Commit
141 case TPM_CC_Commit:
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -0700142 result = TPMI_DH_OBJECT_Unmarshal(
143 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
144 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
145 if (result != TPM_RC_SUCCESS) {
146 return result;
147 }
148 ++(*num_request_handles);
149 return TPM_RC_SUCCESS;
150#endif
Vadim Bendebury764e99b2015-09-15 11:29:08 -0700151#ifdef TPM_CC_ContextLoad
152 case TPM_CC_ContextLoad:
153 return TPM_RC_SUCCESS;
154#endif
155#ifdef TPM_CC_ContextSave
156 case TPM_CC_ContextSave:
157 result = TPMI_DH_CONTEXT_Unmarshal(
158 (TPMI_DH_CONTEXT*)&request_handles[*num_request_handles],
159 request_handle_buffer_start, request_buffer_remaining_size);
160 if (result != TPM_RC_SUCCESS) {
161 return result;
162 }
163 ++(*num_request_handles);
164 return TPM_RC_SUCCESS;
165#endif
166#ifdef TPM_CC_Create
167 case TPM_CC_Create:
168 result = TPMI_DH_OBJECT_Unmarshal(
169 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
170 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
171 if (result != TPM_RC_SUCCESS) {
172 return result;
173 }
174 ++(*num_request_handles);
175 return TPM_RC_SUCCESS;
176#endif
177#ifdef TPM_CC_CreatePrimary
178 case TPM_CC_CreatePrimary:
179 result = TPMI_RH_HIERARCHY_Unmarshal(
180 (TPMI_RH_HIERARCHY*)&request_handles[*num_request_handles],
181 request_handle_buffer_start, request_buffer_remaining_size, TRUE);
182 if (result != TPM_RC_SUCCESS) {
183 return result;
184 }
185 ++(*num_request_handles);
186 return TPM_RC_SUCCESS;
187#endif
188#ifdef TPM_CC_DictionaryAttackLockReset
189 case TPM_CC_DictionaryAttackLockReset:
190 result = TPMI_RH_LOCKOUT_Unmarshal(
191 (TPMI_RH_LOCKOUT*)&request_handles[*num_request_handles],
192 request_handle_buffer_start, request_buffer_remaining_size);
193 if (result != TPM_RC_SUCCESS) {
194 return result;
195 }
196 ++(*num_request_handles);
197 return TPM_RC_SUCCESS;
198#endif
199#ifdef TPM_CC_DictionaryAttackParameters
200 case TPM_CC_DictionaryAttackParameters:
201 result = TPMI_RH_LOCKOUT_Unmarshal(
202 (TPMI_RH_LOCKOUT*)&request_handles[*num_request_handles],
203 request_handle_buffer_start, request_buffer_remaining_size);
204 if (result != TPM_RC_SUCCESS) {
205 return result;
206 }
207 ++(*num_request_handles);
208 return TPM_RC_SUCCESS;
209#endif
210#ifdef TPM_CC_Duplicate
211 case TPM_CC_Duplicate:
212 result = TPMI_DH_OBJECT_Unmarshal(
213 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
214 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
215 if (result != TPM_RC_SUCCESS) {
216 return result;
217 }
218 ++(*num_request_handles);
219 result = TPMI_DH_OBJECT_Unmarshal(
220 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
221 request_handle_buffer_start, request_buffer_remaining_size, TRUE);
222 if (result != TPM_RC_SUCCESS) {
223 return result;
224 }
225 ++(*num_request_handles);
226 return TPM_RC_SUCCESS;
227#endif
228#ifdef TPM_CC_ECC_Parameters
229 case TPM_CC_ECC_Parameters:
230 return TPM_RC_SUCCESS;
231#endif
232#ifdef TPM_CC_ECDH_KeyGen
233 case TPM_CC_ECDH_KeyGen:
234 result = TPMI_DH_OBJECT_Unmarshal(
235 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
236 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
237 if (result != TPM_RC_SUCCESS) {
238 return result;
239 }
240 ++(*num_request_handles);
241 return TPM_RC_SUCCESS;
242#endif
243#ifdef TPM_CC_ECDH_ZGen
244 case TPM_CC_ECDH_ZGen:
245 result = TPMI_DH_OBJECT_Unmarshal(
246 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
247 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
248 if (result != TPM_RC_SUCCESS) {
249 return result;
250 }
251 ++(*num_request_handles);
252 return TPM_RC_SUCCESS;
253#endif
254#ifdef TPM_CC_EC_Ephemeral
255 case TPM_CC_EC_Ephemeral:
256 return TPM_RC_SUCCESS;
257#endif
258#ifdef TPM_CC_EncryptDecrypt
259 case TPM_CC_EncryptDecrypt:
260 result = TPMI_DH_OBJECT_Unmarshal(
261 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
262 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
263 if (result != TPM_RC_SUCCESS) {
264 return result;
265 }
266 ++(*num_request_handles);
267 return TPM_RC_SUCCESS;
268#endif
269#ifdef TPM_CC_EventSequenceComplete
270 case TPM_CC_EventSequenceComplete:
271 result = TPMI_DH_PCR_Unmarshal(
272 (TPMI_DH_PCR*)&request_handles[*num_request_handles],
273 request_handle_buffer_start, request_buffer_remaining_size, TRUE);
274 if (result != TPM_RC_SUCCESS) {
275 return result;
276 }
277 ++(*num_request_handles);
278 result = TPMI_DH_OBJECT_Unmarshal(
279 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
280 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
281 if (result != TPM_RC_SUCCESS) {
282 return result;
283 }
284 ++(*num_request_handles);
285 return TPM_RC_SUCCESS;
286#endif
287#ifdef TPM_CC_EvictControl
288 case TPM_CC_EvictControl:
289 result = TPMI_RH_PROVISION_Unmarshal(
290 (TPMI_RH_PROVISION*)&request_handles[*num_request_handles],
291 request_handle_buffer_start, request_buffer_remaining_size);
292 if (result != TPM_RC_SUCCESS) {
293 return result;
294 }
295 ++(*num_request_handles);
296 result = TPMI_DH_OBJECT_Unmarshal(
297 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
298 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
299 if (result != TPM_RC_SUCCESS) {
300 return result;
301 }
302 ++(*num_request_handles);
303 return TPM_RC_SUCCESS;
304#endif
305#ifdef TPM_CC_FieldUpgradeData
306 case TPM_CC_FieldUpgradeData:
307 return TPM_RC_SUCCESS;
308#endif
309#ifdef TPM_CC_FieldUpgradeStart
310 case TPM_CC_FieldUpgradeStart:
311 result = TPMI_RH_PLATFORM_Unmarshal(
312 (TPMI_RH_PLATFORM*)&request_handles[*num_request_handles],
313 request_handle_buffer_start, request_buffer_remaining_size);
314 if (result != TPM_RC_SUCCESS) {
315 return result;
316 }
317 ++(*num_request_handles);
318 result = TPMI_DH_OBJECT_Unmarshal(
319 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
320 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
321 if (result != TPM_RC_SUCCESS) {
322 return result;
323 }
324 ++(*num_request_handles);
325 return TPM_RC_SUCCESS;
326#endif
327#ifdef TPM_CC_FirmwareRead
328 case TPM_CC_FirmwareRead:
329 return TPM_RC_SUCCESS;
330#endif
331#ifdef TPM_CC_FlushContext
332 case TPM_CC_FlushContext:
333 return TPM_RC_SUCCESS;
334#endif
335#ifdef TPM_CC_GetCapability
336 case TPM_CC_GetCapability:
337 return TPM_RC_SUCCESS;
338#endif
339#ifdef TPM_CC_GetCommandAuditDigest
340 case TPM_CC_GetCommandAuditDigest:
341 result = TPMI_RH_ENDORSEMENT_Unmarshal(
342 (TPMI_RH_ENDORSEMENT*)&request_handles[*num_request_handles],
343 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
344 if (result != TPM_RC_SUCCESS) {
345 return result;
346 }
347 ++(*num_request_handles);
348 result = TPMI_DH_OBJECT_Unmarshal(
349 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
350 request_handle_buffer_start, request_buffer_remaining_size, TRUE);
351 if (result != TPM_RC_SUCCESS) {
352 return result;
353 }
354 ++(*num_request_handles);
355 return TPM_RC_SUCCESS;
356#endif
357#ifdef TPM_CC_GetRandom
358 case TPM_CC_GetRandom:
359 return TPM_RC_SUCCESS;
360#endif
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -0700361#ifdef TPM_CC_GetSessionAuditDigest
362 case TPM_CC_GetSessionAuditDigest:
363 result = TPMI_RH_ENDORSEMENT_Unmarshal(
364 (TPMI_RH_ENDORSEMENT*)&request_handles[*num_request_handles],
365 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
366 if (result != TPM_RC_SUCCESS) {
367 return result;
368 }
369 ++(*num_request_handles);
370 result = TPMI_DH_OBJECT_Unmarshal(
371 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
372 request_handle_buffer_start, request_buffer_remaining_size, TRUE);
373 if (result != TPM_RC_SUCCESS) {
374 return result;
375 }
376 ++(*num_request_handles);
377 result = TPMI_SH_HMAC_Unmarshal(
378 (TPMI_SH_HMAC*)&request_handles[*num_request_handles],
379 request_handle_buffer_start, request_buffer_remaining_size);
380 if (result != TPM_RC_SUCCESS) {
381 return result;
382 }
383 ++(*num_request_handles);
384 return TPM_RC_SUCCESS;
385#endif
Vadim Bendebury764e99b2015-09-15 11:29:08 -0700386#ifdef TPM_CC_GetTestResult
387 case TPM_CC_GetTestResult:
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -0700388 return TPM_RC_SUCCESS;
389#endif
390#ifdef TPM_CC_GetTime
391 case TPM_CC_GetTime:
392 result = TPMI_RH_ENDORSEMENT_Unmarshal(
393 (TPMI_RH_ENDORSEMENT*)&request_handles[*num_request_handles],
394 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
395 if (result != TPM_RC_SUCCESS) {
396 return result;
397 }
398 ++(*num_request_handles);
399 result = TPMI_DH_OBJECT_Unmarshal(
400 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
401 request_handle_buffer_start, request_buffer_remaining_size, TRUE);
402 if (result != TPM_RC_SUCCESS) {
403 return result;
404 }
405 ++(*num_request_handles);
406 return TPM_RC_SUCCESS;
407#endif
Vadim Bendebury764e99b2015-09-15 11:29:08 -0700408#ifdef TPM_CC_HMAC
409 case TPM_CC_HMAC:
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -0700410 result = TPMI_DH_OBJECT_Unmarshal(
411 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
412 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
413 if (result != TPM_RC_SUCCESS) {
414 return result;
415 }
416 ++(*num_request_handles);
417 return TPM_RC_SUCCESS;
418#endif
Vadim Bendebury764e99b2015-09-15 11:29:08 -0700419#ifdef TPM_CC_HMAC_Start
420 case TPM_CC_HMAC_Start:
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -0700421 result = TPMI_DH_OBJECT_Unmarshal(
422 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
423 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
424 if (result != TPM_RC_SUCCESS) {
425 return result;
426 }
427 ++(*num_request_handles);
428 return TPM_RC_SUCCESS;
429#endif
Vadim Bendebury764e99b2015-09-15 11:29:08 -0700430#ifdef TPM_CC_Hash
431 case TPM_CC_Hash:
432 result = TPMI_RH_HIERARCHY_Unmarshal(
433 (TPMI_RH_HIERARCHY*)&request_handles[*num_request_handles],
434 request_handle_buffer_start, request_buffer_remaining_size, TRUE);
435 if (result != TPM_RC_SUCCESS) {
436 return result;
437 }
438 ++(*num_request_handles);
439 return TPM_RC_SUCCESS;
440#endif
441#ifdef TPM_CC_HashSequenceStart
442 case TPM_CC_HashSequenceStart:
443 return TPM_RC_SUCCESS;
444#endif
445#ifdef TPM_CC_HierarchyChangeAuth
446 case TPM_CC_HierarchyChangeAuth:
447 result = TPMI_RH_HIERARCHY_AUTH_Unmarshal(
448 (TPMI_RH_HIERARCHY_AUTH*)&request_handles[*num_request_handles],
449 request_handle_buffer_start, request_buffer_remaining_size);
450 if (result != TPM_RC_SUCCESS) {
451 return result;
452 }
453 ++(*num_request_handles);
454 return TPM_RC_SUCCESS;
455#endif
456#ifdef TPM_CC_HierarchyControl
457 case TPM_CC_HierarchyControl:
458 result = TPMI_RH_HIERARCHY_Unmarshal(
459 (TPMI_RH_HIERARCHY*)&request_handles[*num_request_handles],
460 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
461 if (result != TPM_RC_SUCCESS) {
462 return result;
463 }
464 ++(*num_request_handles);
465 return TPM_RC_SUCCESS;
466#endif
467#ifdef TPM_CC_Import
468 case TPM_CC_Import:
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -0700469 result = TPMI_DH_OBJECT_Unmarshal(
470 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
471 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
472 if (result != TPM_RC_SUCCESS) {
473 return result;
474 }
475 ++(*num_request_handles);
476 return TPM_RC_SUCCESS;
477#endif
Vadim Bendebury764e99b2015-09-15 11:29:08 -0700478#ifdef TPM_CC_IncrementalSelfTest
479 case TPM_CC_IncrementalSelfTest:
480 return TPM_RC_SUCCESS;
481#endif
482#ifdef TPM_CC_Load
483 case TPM_CC_Load:
484 result = TPMI_DH_OBJECT_Unmarshal(
485 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
486 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
487 if (result != TPM_RC_SUCCESS) {
488 return result;
489 }
490 ++(*num_request_handles);
491 return TPM_RC_SUCCESS;
492#endif
493#ifdef TPM_CC_LoadExternal
494 case TPM_CC_LoadExternal:
495 result = TPMI_RH_HIERARCHY_Unmarshal(
496 (TPMI_RH_HIERARCHY*)&request_handles[*num_request_handles],
497 request_handle_buffer_start, request_buffer_remaining_size, TRUE);
498 if (result != TPM_RC_SUCCESS) {
499 return result;
500 }
501 ++(*num_request_handles);
502 return TPM_RC_SUCCESS;
503#endif
504#ifdef TPM_CC_MakeCredential
505 case TPM_CC_MakeCredential:
506 result = TPMI_DH_OBJECT_Unmarshal(
507 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
508 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
509 if (result != TPM_RC_SUCCESS) {
510 return result;
511 }
512 ++(*num_request_handles);
513 return TPM_RC_SUCCESS;
514#endif
515#ifdef TPM_CC_NV_Certify
516 case TPM_CC_NV_Certify:
517 result = TPMI_DH_OBJECT_Unmarshal(
518 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
519 request_handle_buffer_start, request_buffer_remaining_size, TRUE);
520 if (result != TPM_RC_SUCCESS) {
521 return result;
522 }
523 ++(*num_request_handles);
524 result = TPMI_RH_NV_AUTH_Unmarshal(
525 (TPMI_RH_NV_AUTH*)&request_handles[*num_request_handles],
526 request_handle_buffer_start, request_buffer_remaining_size);
527 if (result != TPM_RC_SUCCESS) {
528 return result;
529 }
530 ++(*num_request_handles);
531 result = TPMI_RH_NV_INDEX_Unmarshal(
532 (TPMI_RH_NV_INDEX*)&request_handles[*num_request_handles],
533 request_handle_buffer_start, request_buffer_remaining_size);
534 if (result != TPM_RC_SUCCESS) {
535 return result;
536 }
537 ++(*num_request_handles);
538 return TPM_RC_SUCCESS;
539#endif
540#ifdef TPM_CC_NV_ChangeAuth
541 case TPM_CC_NV_ChangeAuth:
542 result = TPMI_RH_NV_INDEX_Unmarshal(
543 (TPMI_RH_NV_INDEX*)&request_handles[*num_request_handles],
544 request_handle_buffer_start, request_buffer_remaining_size);
545 if (result != TPM_RC_SUCCESS) {
546 return result;
547 }
548 ++(*num_request_handles);
549 return TPM_RC_SUCCESS;
550#endif
551#ifdef TPM_CC_NV_DefineSpace
552 case TPM_CC_NV_DefineSpace:
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -0700553 result = TPMI_RH_PROVISION_Unmarshal(
554 (TPMI_RH_PROVISION*)&request_handles[*num_request_handles],
555 request_handle_buffer_start, request_buffer_remaining_size);
556 if (result != TPM_RC_SUCCESS) {
557 return result;
558 }
559 ++(*num_request_handles);
560 return TPM_RC_SUCCESS;
561#endif
Vadim Bendebury764e99b2015-09-15 11:29:08 -0700562#ifdef TPM_CC_NV_Extend
563 case TPM_CC_NV_Extend:
564 result = TPMI_RH_NV_AUTH_Unmarshal(
565 (TPMI_RH_NV_AUTH*)&request_handles[*num_request_handles],
566 request_handle_buffer_start, request_buffer_remaining_size);
567 if (result != TPM_RC_SUCCESS) {
568 return result;
569 }
570 ++(*num_request_handles);
571 result = TPMI_RH_NV_INDEX_Unmarshal(
572 (TPMI_RH_NV_INDEX*)&request_handles[*num_request_handles],
573 request_handle_buffer_start, request_buffer_remaining_size);
574 if (result != TPM_RC_SUCCESS) {
575 return result;
576 }
577 ++(*num_request_handles);
578 return TPM_RC_SUCCESS;
579#endif
580#ifdef TPM_CC_NV_GlobalWriteLock
581 case TPM_CC_NV_GlobalWriteLock:
582 result = TPMI_RH_PROVISION_Unmarshal(
583 (TPMI_RH_PROVISION*)&request_handles[*num_request_handles],
584 request_handle_buffer_start, request_buffer_remaining_size);
585 if (result != TPM_RC_SUCCESS) {
586 return result;
587 }
588 ++(*num_request_handles);
589 return TPM_RC_SUCCESS;
590#endif
591#ifdef TPM_CC_NV_Increment
592 case TPM_CC_NV_Increment:
593 result = TPMI_RH_NV_AUTH_Unmarshal(
594 (TPMI_RH_NV_AUTH*)&request_handles[*num_request_handles],
595 request_handle_buffer_start, request_buffer_remaining_size);
596 if (result != TPM_RC_SUCCESS) {
597 return result;
598 }
599 ++(*num_request_handles);
600 result = TPMI_RH_NV_INDEX_Unmarshal(
601 (TPMI_RH_NV_INDEX*)&request_handles[*num_request_handles],
602 request_handle_buffer_start, request_buffer_remaining_size);
603 if (result != TPM_RC_SUCCESS) {
604 return result;
605 }
606 ++(*num_request_handles);
607 return TPM_RC_SUCCESS;
608#endif
609#ifdef TPM_CC_NV_Read
610 case TPM_CC_NV_Read:
611 result = TPMI_RH_NV_AUTH_Unmarshal(
612 (TPMI_RH_NV_AUTH*)&request_handles[*num_request_handles],
613 request_handle_buffer_start, request_buffer_remaining_size);
614 if (result != TPM_RC_SUCCESS) {
615 return result;
616 }
617 ++(*num_request_handles);
618 result = TPMI_RH_NV_INDEX_Unmarshal(
619 (TPMI_RH_NV_INDEX*)&request_handles[*num_request_handles],
620 request_handle_buffer_start, request_buffer_remaining_size);
621 if (result != TPM_RC_SUCCESS) {
622 return result;
623 }
624 ++(*num_request_handles);
625 return TPM_RC_SUCCESS;
626#endif
627#ifdef TPM_CC_NV_ReadLock
628 case TPM_CC_NV_ReadLock:
629 result = TPMI_RH_NV_AUTH_Unmarshal(
630 (TPMI_RH_NV_AUTH*)&request_handles[*num_request_handles],
631 request_handle_buffer_start, request_buffer_remaining_size);
632 if (result != TPM_RC_SUCCESS) {
633 return result;
634 }
635 ++(*num_request_handles);
636 result = TPMI_RH_NV_INDEX_Unmarshal(
637 (TPMI_RH_NV_INDEX*)&request_handles[*num_request_handles],
638 request_handle_buffer_start, request_buffer_remaining_size);
639 if (result != TPM_RC_SUCCESS) {
640 return result;
641 }
642 ++(*num_request_handles);
643 return TPM_RC_SUCCESS;
644#endif
645#ifdef TPM_CC_NV_ReadPublic
646 case TPM_CC_NV_ReadPublic:
647 result = TPMI_RH_NV_INDEX_Unmarshal(
648 (TPMI_RH_NV_INDEX*)&request_handles[*num_request_handles],
649 request_handle_buffer_start, request_buffer_remaining_size);
650 if (result != TPM_RC_SUCCESS) {
651 return result;
652 }
653 ++(*num_request_handles);
654 return TPM_RC_SUCCESS;
655#endif
656#ifdef TPM_CC_NV_SetBits
657 case TPM_CC_NV_SetBits:
658 result = TPMI_RH_NV_AUTH_Unmarshal(
659 (TPMI_RH_NV_AUTH*)&request_handles[*num_request_handles],
660 request_handle_buffer_start, request_buffer_remaining_size);
661 if (result != TPM_RC_SUCCESS) {
662 return result;
663 }
664 ++(*num_request_handles);
665 result = TPMI_RH_NV_INDEX_Unmarshal(
666 (TPMI_RH_NV_INDEX*)&request_handles[*num_request_handles],
667 request_handle_buffer_start, request_buffer_remaining_size);
668 if (result != TPM_RC_SUCCESS) {
669 return result;
670 }
671 ++(*num_request_handles);
672 return TPM_RC_SUCCESS;
673#endif
674#ifdef TPM_CC_NV_UndefineSpace
675 case TPM_CC_NV_UndefineSpace:
676 result = TPMI_RH_PROVISION_Unmarshal(
677 (TPMI_RH_PROVISION*)&request_handles[*num_request_handles],
678 request_handle_buffer_start, request_buffer_remaining_size);
679 if (result != TPM_RC_SUCCESS) {
680 return result;
681 }
682 ++(*num_request_handles);
683 result = TPMI_RH_NV_INDEX_Unmarshal(
684 (TPMI_RH_NV_INDEX*)&request_handles[*num_request_handles],
685 request_handle_buffer_start, request_buffer_remaining_size);
686 if (result != TPM_RC_SUCCESS) {
687 return result;
688 }
689 ++(*num_request_handles);
690 return TPM_RC_SUCCESS;
691#endif
692#ifdef TPM_CC_NV_UndefineSpaceSpecial
693 case TPM_CC_NV_UndefineSpaceSpecial:
694 result = TPMI_RH_NV_INDEX_Unmarshal(
695 (TPMI_RH_NV_INDEX*)&request_handles[*num_request_handles],
696 request_handle_buffer_start, request_buffer_remaining_size);
697 if (result != TPM_RC_SUCCESS) {
698 return result;
699 }
700 ++(*num_request_handles);
701 result = TPMI_RH_PLATFORM_Unmarshal(
702 (TPMI_RH_PLATFORM*)&request_handles[*num_request_handles],
703 request_handle_buffer_start, request_buffer_remaining_size);
704 if (result != TPM_RC_SUCCESS) {
705 return result;
706 }
707 ++(*num_request_handles);
708 return TPM_RC_SUCCESS;
709#endif
710#ifdef TPM_CC_NV_Write
711 case TPM_CC_NV_Write:
712 result = TPMI_RH_NV_AUTH_Unmarshal(
713 (TPMI_RH_NV_AUTH*)&request_handles[*num_request_handles],
714 request_handle_buffer_start, request_buffer_remaining_size);
715 if (result != TPM_RC_SUCCESS) {
716 return result;
717 }
718 ++(*num_request_handles);
719 result = TPMI_RH_NV_INDEX_Unmarshal(
720 (TPMI_RH_NV_INDEX*)&request_handles[*num_request_handles],
721 request_handle_buffer_start, request_buffer_remaining_size);
722 if (result != TPM_RC_SUCCESS) {
723 return result;
724 }
725 ++(*num_request_handles);
726 return TPM_RC_SUCCESS;
727#endif
728#ifdef TPM_CC_NV_WriteLock
729 case TPM_CC_NV_WriteLock:
730 result = TPMI_RH_NV_AUTH_Unmarshal(
731 (TPMI_RH_NV_AUTH*)&request_handles[*num_request_handles],
732 request_handle_buffer_start, request_buffer_remaining_size);
733 if (result != TPM_RC_SUCCESS) {
734 return result;
735 }
736 ++(*num_request_handles);
737 result = TPMI_RH_NV_INDEX_Unmarshal(
738 (TPMI_RH_NV_INDEX*)&request_handles[*num_request_handles],
739 request_handle_buffer_start, request_buffer_remaining_size);
740 if (result != TPM_RC_SUCCESS) {
741 return result;
742 }
743 ++(*num_request_handles);
744 return TPM_RC_SUCCESS;
745#endif
746#ifdef TPM_CC_ObjectChangeAuth
747 case TPM_CC_ObjectChangeAuth:
748 result = TPMI_DH_OBJECT_Unmarshal(
749 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
750 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
751 if (result != TPM_RC_SUCCESS) {
752 return result;
753 }
754 ++(*num_request_handles);
755 result = TPMI_DH_OBJECT_Unmarshal(
756 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
757 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
758 if (result != TPM_RC_SUCCESS) {
759 return result;
760 }
761 ++(*num_request_handles);
762 return TPM_RC_SUCCESS;
763#endif
764#ifdef TPM_CC_PCR_Allocate
765 case TPM_CC_PCR_Allocate:
766 result = TPMI_RH_PLATFORM_Unmarshal(
767 (TPMI_RH_PLATFORM*)&request_handles[*num_request_handles],
768 request_handle_buffer_start, request_buffer_remaining_size);
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -0700769 if (result != TPM_RC_SUCCESS) {
770 return result;
771 }
772 ++(*num_request_handles);
773 return TPM_RC_SUCCESS;
774#endif
775#ifdef TPM_CC_PCR_Event
776 case TPM_CC_PCR_Event:
777 result = TPMI_DH_PCR_Unmarshal(
778 (TPMI_DH_PCR*)&request_handles[*num_request_handles],
779 request_handle_buffer_start, request_buffer_remaining_size, TRUE);
780 if (result != TPM_RC_SUCCESS) {
781 return result;
782 }
783 ++(*num_request_handles);
784 return TPM_RC_SUCCESS;
785#endif
Vadim Bendebury764e99b2015-09-15 11:29:08 -0700786#ifdef TPM_CC_PCR_Extend
787 case TPM_CC_PCR_Extend:
788 result = TPMI_DH_PCR_Unmarshal(
789 (TPMI_DH_PCR*)&request_handles[*num_request_handles],
790 request_handle_buffer_start, request_buffer_remaining_size, TRUE);
791 if (result != TPM_RC_SUCCESS) {
792 return result;
793 }
794 ++(*num_request_handles);
795 return TPM_RC_SUCCESS;
796#endif
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -0700797#ifdef TPM_CC_PCR_Read
798 case TPM_CC_PCR_Read:
799 return TPM_RC_SUCCESS;
800#endif
Vadim Bendebury764e99b2015-09-15 11:29:08 -0700801#ifdef TPM_CC_PCR_Reset
802 case TPM_CC_PCR_Reset:
803 result = TPMI_DH_PCR_Unmarshal(
804 (TPMI_DH_PCR*)&request_handles[*num_request_handles],
805 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -0700806 if (result != TPM_RC_SUCCESS) {
807 return result;
808 }
809 ++(*num_request_handles);
810 return TPM_RC_SUCCESS;
811#endif
812#ifdef TPM_CC_PCR_SetAuthPolicy
813 case TPM_CC_PCR_SetAuthPolicy:
814 result = TPMI_RH_PLATFORM_Unmarshal(
815 (TPMI_RH_PLATFORM*)&request_handles[*num_request_handles],
816 request_handle_buffer_start, request_buffer_remaining_size);
817 if (result != TPM_RC_SUCCESS) {
818 return result;
819 }
820 ++(*num_request_handles);
821 result = TPMI_DH_PCR_Unmarshal(
822 (TPMI_DH_PCR*)&request_handles[*num_request_handles],
823 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
824 if (result != TPM_RC_SUCCESS) {
825 return result;
826 }
827 ++(*num_request_handles);
828 return TPM_RC_SUCCESS;
829#endif
830#ifdef TPM_CC_PCR_SetAuthValue
831 case TPM_CC_PCR_SetAuthValue:
832 result = TPMI_DH_PCR_Unmarshal(
833 (TPMI_DH_PCR*)&request_handles[*num_request_handles],
834 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
835 if (result != TPM_RC_SUCCESS) {
836 return result;
837 }
838 ++(*num_request_handles);
839 return TPM_RC_SUCCESS;
840#endif
Vadim Bendebury764e99b2015-09-15 11:29:08 -0700841#ifdef TPM_CC_PP_Commands
842 case TPM_CC_PP_Commands:
843 result = TPMI_RH_PLATFORM_Unmarshal(
844 (TPMI_RH_PLATFORM*)&request_handles[*num_request_handles],
845 request_handle_buffer_start, request_buffer_remaining_size);
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -0700846 if (result != TPM_RC_SUCCESS) {
847 return result;
848 }
849 ++(*num_request_handles);
850 return TPM_RC_SUCCESS;
851#endif
Vadim Bendebury764e99b2015-09-15 11:29:08 -0700852#ifdef TPM_CC_PolicyAuthValue
853 case TPM_CC_PolicyAuthValue:
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -0700854 result = TPMI_SH_POLICY_Unmarshal(
855 (TPMI_SH_POLICY*)&request_handles[*num_request_handles],
856 request_handle_buffer_start, request_buffer_remaining_size);
857 if (result != TPM_RC_SUCCESS) {
858 return result;
859 }
860 ++(*num_request_handles);
861 return TPM_RC_SUCCESS;
862#endif
Vadim Bendebury764e99b2015-09-15 11:29:08 -0700863#ifdef TPM_CC_PolicyAuthorize
864 case TPM_CC_PolicyAuthorize:
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -0700865 result = TPMI_SH_POLICY_Unmarshal(
866 (TPMI_SH_POLICY*)&request_handles[*num_request_handles],
867 request_handle_buffer_start, request_buffer_remaining_size);
868 if (result != TPM_RC_SUCCESS) {
869 return result;
870 }
871 ++(*num_request_handles);
872 return TPM_RC_SUCCESS;
873#endif
Vadim Bendebury764e99b2015-09-15 11:29:08 -0700874#ifdef TPM_CC_PolicyCommandCode
875 case TPM_CC_PolicyCommandCode:
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -0700876 result = TPMI_SH_POLICY_Unmarshal(
877 (TPMI_SH_POLICY*)&request_handles[*num_request_handles],
878 request_handle_buffer_start, request_buffer_remaining_size);
879 if (result != TPM_RC_SUCCESS) {
880 return result;
881 }
882 ++(*num_request_handles);
883 return TPM_RC_SUCCESS;
884#endif
Vadim Bendebury764e99b2015-09-15 11:29:08 -0700885#ifdef TPM_CC_PolicyCounterTimer
886 case TPM_CC_PolicyCounterTimer:
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -0700887 result = TPMI_SH_POLICY_Unmarshal(
888 (TPMI_SH_POLICY*)&request_handles[*num_request_handles],
889 request_handle_buffer_start, request_buffer_remaining_size);
890 if (result != TPM_RC_SUCCESS) {
891 return result;
892 }
893 ++(*num_request_handles);
894 return TPM_RC_SUCCESS;
895#endif
Vadim Bendebury764e99b2015-09-15 11:29:08 -0700896#ifdef TPM_CC_PolicyCpHash
897 case TPM_CC_PolicyCpHash:
898 result = TPMI_SH_POLICY_Unmarshal(
899 (TPMI_SH_POLICY*)&request_handles[*num_request_handles],
900 request_handle_buffer_start, request_buffer_remaining_size);
901 if (result != TPM_RC_SUCCESS) {
902 return result;
903 }
904 ++(*num_request_handles);
905 return TPM_RC_SUCCESS;
906#endif
907#ifdef TPM_CC_PolicyDuplicationSelect
908 case TPM_CC_PolicyDuplicationSelect:
909 result = TPMI_SH_POLICY_Unmarshal(
910 (TPMI_SH_POLICY*)&request_handles[*num_request_handles],
911 request_handle_buffer_start, request_buffer_remaining_size);
912 if (result != TPM_RC_SUCCESS) {
913 return result;
914 }
915 ++(*num_request_handles);
916 return TPM_RC_SUCCESS;
917#endif
918#ifdef TPM_CC_PolicyGetDigest
919 case TPM_CC_PolicyGetDigest:
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -0700920 result = TPMI_SH_POLICY_Unmarshal(
921 (TPMI_SH_POLICY*)&request_handles[*num_request_handles],
922 request_handle_buffer_start, request_buffer_remaining_size);
923 if (result != TPM_RC_SUCCESS) {
924 return result;
925 }
926 ++(*num_request_handles);
927 return TPM_RC_SUCCESS;
928#endif
929#ifdef TPM_CC_PolicyLocality
930 case TPM_CC_PolicyLocality:
931 result = TPMI_SH_POLICY_Unmarshal(
932 (TPMI_SH_POLICY*)&request_handles[*num_request_handles],
933 request_handle_buffer_start, request_buffer_remaining_size);
934 if (result != TPM_RC_SUCCESS) {
935 return result;
936 }
937 ++(*num_request_handles);
938 return TPM_RC_SUCCESS;
939#endif
940#ifdef TPM_CC_PolicyNV
941 case TPM_CC_PolicyNV:
942 result = TPMI_RH_NV_AUTH_Unmarshal(
943 (TPMI_RH_NV_AUTH*)&request_handles[*num_request_handles],
944 request_handle_buffer_start, request_buffer_remaining_size);
945 if (result != TPM_RC_SUCCESS) {
946 return result;
947 }
948 ++(*num_request_handles);
949 result = TPMI_RH_NV_INDEX_Unmarshal(
950 (TPMI_RH_NV_INDEX*)&request_handles[*num_request_handles],
951 request_handle_buffer_start, request_buffer_remaining_size);
952 if (result != TPM_RC_SUCCESS) {
953 return result;
954 }
955 ++(*num_request_handles);
956 result = TPMI_SH_POLICY_Unmarshal(
957 (TPMI_SH_POLICY*)&request_handles[*num_request_handles],
958 request_handle_buffer_start, request_buffer_remaining_size);
959 if (result != TPM_RC_SUCCESS) {
960 return result;
961 }
962 ++(*num_request_handles);
963 return TPM_RC_SUCCESS;
964#endif
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -0700965#ifdef TPM_CC_PolicyNameHash
966 case TPM_CC_PolicyNameHash:
967 result = TPMI_SH_POLICY_Unmarshal(
968 (TPMI_SH_POLICY*)&request_handles[*num_request_handles],
969 request_handle_buffer_start, request_buffer_remaining_size);
970 if (result != TPM_RC_SUCCESS) {
971 return result;
972 }
973 ++(*num_request_handles);
974 return TPM_RC_SUCCESS;
975#endif
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -0700976#ifdef TPM_CC_PolicyNvWritten
977 case TPM_CC_PolicyNvWritten:
978 result = TPMI_SH_POLICY_Unmarshal(
979 (TPMI_SH_POLICY*)&request_handles[*num_request_handles],
980 request_handle_buffer_start, request_buffer_remaining_size);
981 if (result != TPM_RC_SUCCESS) {
982 return result;
983 }
984 ++(*num_request_handles);
985 return TPM_RC_SUCCESS;
986#endif
Vadim Bendebury764e99b2015-09-15 11:29:08 -0700987#ifdef TPM_CC_PolicyOR
988 case TPM_CC_PolicyOR:
989 result = TPMI_SH_POLICY_Unmarshal(
990 (TPMI_SH_POLICY*)&request_handles[*num_request_handles],
991 request_handle_buffer_start, request_buffer_remaining_size);
992 if (result != TPM_RC_SUCCESS) {
993 return result;
994 }
995 ++(*num_request_handles);
996 return TPM_RC_SUCCESS;
997#endif
998#ifdef TPM_CC_PolicyPCR
999 case TPM_CC_PolicyPCR:
1000 result = TPMI_SH_POLICY_Unmarshal(
1001 (TPMI_SH_POLICY*)&request_handles[*num_request_handles],
1002 request_handle_buffer_start, request_buffer_remaining_size);
1003 if (result != TPM_RC_SUCCESS) {
1004 return result;
1005 }
1006 ++(*num_request_handles);
1007 return TPM_RC_SUCCESS;
1008#endif
1009#ifdef TPM_CC_PolicyPassword
1010 case TPM_CC_PolicyPassword:
1011 result = TPMI_SH_POLICY_Unmarshal(
1012 (TPMI_SH_POLICY*)&request_handles[*num_request_handles],
1013 request_handle_buffer_start, request_buffer_remaining_size);
1014 if (result != TPM_RC_SUCCESS) {
1015 return result;
1016 }
1017 ++(*num_request_handles);
1018 return TPM_RC_SUCCESS;
1019#endif
1020#ifdef TPM_CC_PolicyPhysicalPresence
1021 case TPM_CC_PolicyPhysicalPresence:
1022 result = TPMI_SH_POLICY_Unmarshal(
1023 (TPMI_SH_POLICY*)&request_handles[*num_request_handles],
1024 request_handle_buffer_start, request_buffer_remaining_size);
1025 if (result != TPM_RC_SUCCESS) {
1026 return result;
1027 }
1028 ++(*num_request_handles);
1029 return TPM_RC_SUCCESS;
1030#endif
1031#ifdef TPM_CC_PolicyRestart
1032 case TPM_CC_PolicyRestart:
1033 result = TPMI_SH_POLICY_Unmarshal(
1034 (TPMI_SH_POLICY*)&request_handles[*num_request_handles],
1035 request_handle_buffer_start, request_buffer_remaining_size);
1036 if (result != TPM_RC_SUCCESS) {
1037 return result;
1038 }
1039 ++(*num_request_handles);
1040 return TPM_RC_SUCCESS;
1041#endif
1042#ifdef TPM_CC_PolicySecret
1043 case TPM_CC_PolicySecret:
1044 result = TPMI_DH_ENTITY_Unmarshal(
1045 (TPMI_DH_ENTITY*)&request_handles[*num_request_handles],
1046 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
1047 if (result != TPM_RC_SUCCESS) {
1048 return result;
1049 }
1050 ++(*num_request_handles);
1051 result = TPMI_SH_POLICY_Unmarshal(
1052 (TPMI_SH_POLICY*)&request_handles[*num_request_handles],
1053 request_handle_buffer_start, request_buffer_remaining_size);
1054 if (result != TPM_RC_SUCCESS) {
1055 return result;
1056 }
1057 ++(*num_request_handles);
1058 return TPM_RC_SUCCESS;
1059#endif
1060#ifdef TPM_CC_PolicySigned
1061 case TPM_CC_PolicySigned:
1062 result = TPMI_DH_OBJECT_Unmarshal(
1063 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
1064 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
1065 if (result != TPM_RC_SUCCESS) {
1066 return result;
1067 }
1068 ++(*num_request_handles);
1069 result = TPMI_SH_POLICY_Unmarshal(
1070 (TPMI_SH_POLICY*)&request_handles[*num_request_handles],
1071 request_handle_buffer_start, request_buffer_remaining_size);
1072 if (result != TPM_RC_SUCCESS) {
1073 return result;
1074 }
1075 ++(*num_request_handles);
1076 return TPM_RC_SUCCESS;
1077#endif
1078#ifdef TPM_CC_PolicyTicket
1079 case TPM_CC_PolicyTicket:
1080 result = TPMI_SH_POLICY_Unmarshal(
1081 (TPMI_SH_POLICY*)&request_handles[*num_request_handles],
1082 request_handle_buffer_start, request_buffer_remaining_size);
1083 if (result != TPM_RC_SUCCESS) {
1084 return result;
1085 }
1086 ++(*num_request_handles);
1087 return TPM_RC_SUCCESS;
1088#endif
1089#ifdef TPM_CC_Quote
1090 case TPM_CC_Quote:
1091 result = TPMI_DH_OBJECT_Unmarshal(
1092 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
Vadim Bendebury0232bac2015-09-17 17:26:29 -07001093 request_handle_buffer_start, request_buffer_remaining_size, TRUE);
Vadim Bendebury764e99b2015-09-15 11:29:08 -07001094 if (result != TPM_RC_SUCCESS) {
1095 return result;
1096 }
1097 ++(*num_request_handles);
1098 return TPM_RC_SUCCESS;
1099#endif
1100#ifdef TPM_CC_RSA_Decrypt
1101 case TPM_CC_RSA_Decrypt:
1102 result = TPMI_DH_OBJECT_Unmarshal(
1103 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
1104 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
1105 if (result != TPM_RC_SUCCESS) {
1106 return result;
1107 }
1108 ++(*num_request_handles);
1109 return TPM_RC_SUCCESS;
1110#endif
1111#ifdef TPM_CC_RSA_Encrypt
1112 case TPM_CC_RSA_Encrypt:
1113 result = TPMI_DH_OBJECT_Unmarshal(
1114 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
1115 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
1116 if (result != TPM_RC_SUCCESS) {
1117 return result;
1118 }
1119 ++(*num_request_handles);
1120 return TPM_RC_SUCCESS;
1121#endif
1122#ifdef TPM_CC_ReadClock
1123 case TPM_CC_ReadClock:
1124 return TPM_RC_SUCCESS;
1125#endif
1126#ifdef TPM_CC_ReadPublic
1127 case TPM_CC_ReadPublic:
1128 result = TPMI_DH_OBJECT_Unmarshal(
1129 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
1130 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
1131 if (result != TPM_RC_SUCCESS) {
1132 return result;
1133 }
1134 ++(*num_request_handles);
1135 return TPM_RC_SUCCESS;
1136#endif
1137#ifdef TPM_CC_Rewrap
1138 case TPM_CC_Rewrap:
1139 result = TPMI_DH_OBJECT_Unmarshal(
1140 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
1141 request_handle_buffer_start, request_buffer_remaining_size, TRUE);
1142 if (result != TPM_RC_SUCCESS) {
1143 return result;
1144 }
1145 ++(*num_request_handles);
1146 result = TPMI_DH_OBJECT_Unmarshal(
1147 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
1148 request_handle_buffer_start, request_buffer_remaining_size, TRUE);
1149 if (result != TPM_RC_SUCCESS) {
1150 return result;
1151 }
1152 ++(*num_request_handles);
1153 return TPM_RC_SUCCESS;
1154#endif
1155#ifdef TPM_CC_SelfTest
1156 case TPM_CC_SelfTest:
1157 return TPM_RC_SUCCESS;
1158#endif
1159#ifdef TPM_CC_SequenceComplete
1160 case TPM_CC_SequenceComplete:
1161 result = TPMI_DH_OBJECT_Unmarshal(
1162 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
1163 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
1164 if (result != TPM_RC_SUCCESS) {
1165 return result;
1166 }
1167 ++(*num_request_handles);
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -07001168 result = TPMI_RH_HIERARCHY_Unmarshal(
1169 (TPMI_RH_HIERARCHY*)&request_handles[*num_request_handles],
1170 request_handle_buffer_start, request_buffer_remaining_size, TRUE);
1171 if (result != TPM_RC_SUCCESS) {
1172 return result;
1173 }
1174 ++(*num_request_handles);
1175 return TPM_RC_SUCCESS;
1176#endif
Vadim Bendebury764e99b2015-09-15 11:29:08 -07001177#ifdef TPM_CC_SequenceUpdate
1178 case TPM_CC_SequenceUpdate:
1179 result = TPMI_DH_OBJECT_Unmarshal(
1180 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -07001181 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
1182 if (result != TPM_RC_SUCCESS) {
1183 return result;
1184 }
1185 ++(*num_request_handles);
1186 return TPM_RC_SUCCESS;
1187#endif
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -07001188#ifdef TPM_CC_SetAlgorithmSet
1189 case TPM_CC_SetAlgorithmSet:
1190 result = TPMI_RH_PLATFORM_Unmarshal(
1191 (TPMI_RH_PLATFORM*)&request_handles[*num_request_handles],
1192 request_handle_buffer_start, request_buffer_remaining_size);
1193 if (result != TPM_RC_SUCCESS) {
1194 return result;
1195 }
1196 ++(*num_request_handles);
1197 return TPM_RC_SUCCESS;
1198#endif
Vadim Bendebury764e99b2015-09-15 11:29:08 -07001199#ifdef TPM_CC_SetCommandCodeAuditStatus
1200 case TPM_CC_SetCommandCodeAuditStatus:
1201 result = TPMI_RH_PROVISION_Unmarshal(
1202 (TPMI_RH_PROVISION*)&request_handles[*num_request_handles],
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -07001203 request_handle_buffer_start, request_buffer_remaining_size);
1204 if (result != TPM_RC_SUCCESS) {
1205 return result;
1206 }
1207 ++(*num_request_handles);
Vadim Bendebury764e99b2015-09-15 11:29:08 -07001208 return TPM_RC_SUCCESS;
1209#endif
1210#ifdef TPM_CC_SetPrimaryPolicy
1211 case TPM_CC_SetPrimaryPolicy:
Vadim Bendebury0232bac2015-09-17 17:26:29 -07001212 result = TPMI_RH_HIERARCHY_AUTH_Unmarshal(
1213 (TPMI_RH_HIERARCHY_AUTH*)&request_handles[*num_request_handles],
1214 request_handle_buffer_start, request_buffer_remaining_size);
Vadim Bendebury764e99b2015-09-15 11:29:08 -07001215 if (result != TPM_RC_SUCCESS) {
1216 return result;
1217 }
1218 ++(*num_request_handles);
1219 return TPM_RC_SUCCESS;
1220#endif
1221#ifdef TPM_CC_Shutdown
1222 case TPM_CC_Shutdown:
1223 return TPM_RC_SUCCESS;
1224#endif
1225#ifdef TPM_CC_Sign
1226 case TPM_CC_Sign:
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -07001227 result = TPMI_DH_OBJECT_Unmarshal(
1228 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
1229 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
1230 if (result != TPM_RC_SUCCESS) {
1231 return result;
1232 }
1233 ++(*num_request_handles);
1234 return TPM_RC_SUCCESS;
1235#endif
Vadim Bendebury764e99b2015-09-15 11:29:08 -07001236#ifdef TPM_CC_StartAuthSession
1237 case TPM_CC_StartAuthSession:
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -07001238 result = TPMI_DH_OBJECT_Unmarshal(
1239 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
1240 request_handle_buffer_start, request_buffer_remaining_size, TRUE);
1241 if (result != TPM_RC_SUCCESS) {
1242 return result;
1243 }
1244 ++(*num_request_handles);
Vadim Bendebury764e99b2015-09-15 11:29:08 -07001245 result = TPMI_DH_ENTITY_Unmarshal(
1246 (TPMI_DH_ENTITY*)&request_handles[*num_request_handles],
1247 request_handle_buffer_start, request_buffer_remaining_size, TRUE);
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -07001248 if (result != TPM_RC_SUCCESS) {
1249 return result;
1250 }
1251 ++(*num_request_handles);
Vadim Bendebury764e99b2015-09-15 11:29:08 -07001252 return TPM_RC_SUCCESS;
1253#endif
1254#ifdef TPM_CC_Startup
1255 case TPM_CC_Startup:
1256 return TPM_RC_SUCCESS;
1257#endif
1258#ifdef TPM_CC_StirRandom
1259 case TPM_CC_StirRandom:
1260 return TPM_RC_SUCCESS;
1261#endif
1262#ifdef TPM_CC_TestParms
1263 case TPM_CC_TestParms:
1264 return TPM_RC_SUCCESS;
1265#endif
1266#ifdef TPM_CC_Unseal
1267 case TPM_CC_Unseal:
1268 result = TPMI_DH_OBJECT_Unmarshal(
1269 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
1270 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
1271 if (result != TPM_RC_SUCCESS) {
1272 return result;
1273 }
1274 ++(*num_request_handles);
1275 return TPM_RC_SUCCESS;
1276#endif
1277#ifdef TPM_CC_VerifySignature
1278 case TPM_CC_VerifySignature:
1279 result = TPMI_DH_OBJECT_Unmarshal(
1280 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
1281 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
1282 if (result != TPM_RC_SUCCESS) {
1283 return result;
1284 }
1285 ++(*num_request_handles);
1286 return TPM_RC_SUCCESS;
1287#endif
1288#ifdef TPM_CC_ZGen_2Phase
1289 case TPM_CC_ZGen_2Phase:
1290 result = TPMI_DH_OBJECT_Unmarshal(
1291 (TPMI_DH_OBJECT*)&request_handles[*num_request_handles],
1292 request_handle_buffer_start, request_buffer_remaining_size, FALSE);
Jocelyn Bohra4ed3aa2015-07-30 10:44:16 -07001293 if (result != TPM_RC_SUCCESS) {
1294 return result;
1295 }
1296 ++(*num_request_handles);
1297 return TPM_RC_SUCCESS;
1298#endif
1299 default:
1300 return TPM_RC_COMMAND_CODE;
1301 }
1302}