1b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato// Copyright 2015 The Chromium OS Authors. All rights reserved.
2b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato// Use of this source code is governed by a BSD-style license that can be
3b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato// found in the LICENSE file.
4b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
52270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom// THIS CODE IS GENERATED - DO NOT MODIFY!
6b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "ActivateCredential_fp.h"
7b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "Certify_fp.h"
8b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "CertifyCreation_fp.h"
9b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "ChangeEPS_fp.h"
10b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "ChangePPS_fp.h"
11b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "Clear_fp.h"
12b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "ClearControl_fp.h"
13b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "ClockRateAdjust_fp.h"
14b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "ClockSet_fp.h"
15b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "Commit_fp.h"
16b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "ContextLoad_fp.h"
17b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "ContextSave_fp.h"
18b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "Create_fp.h"
19b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "CreatePrimary_fp.h"
20b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "DictionaryAttackLockReset_fp.h"
21b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "DictionaryAttackParameters_fp.h"
22b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "Duplicate_fp.h"
23b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "ECC_Parameters_fp.h"
24b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "ECDH_KeyGen_fp.h"
25b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "ECDH_ZGen_fp.h"
26b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "EC_Ephemeral_fp.h"
27b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "EncryptDecrypt_fp.h"
28b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "EventSequenceComplete_fp.h"
29b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "EvictControl_fp.h"
30b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "FieldUpgradeData_fp.h"
31b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "FieldUpgradeStart_fp.h"
32b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "FirmwareRead_fp.h"
33b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "FlushContext_fp.h"
34b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "GetCapability_fp.h"
35b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "GetCommandAuditDigest_fp.h"
36b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "GetRandom_fp.h"
37b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "GetSessionAuditDigest_fp.h"
38b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "GetTestResult_fp.h"
39b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "GetTime_fp.h"
40b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "HMAC_fp.h"
41b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "HMAC_Start_fp.h"
42b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "Hash_fp.h"
43b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "HashSequenceStart_fp.h"
44b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "HierarchyChangeAuth_fp.h"
45b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "HierarchyControl_fp.h"
46b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "Import_fp.h"
47b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "IncrementalSelfTest_fp.h"
48b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "Load_fp.h"
49b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "LoadExternal_fp.h"
50b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "MakeCredential_fp.h"
51b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "NV_Certify_fp.h"
52b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "NV_ChangeAuth_fp.h"
53b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "NV_DefineSpace_fp.h"
54b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "NV_Extend_fp.h"
55b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "NV_GlobalWriteLock_fp.h"
56b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang#include "NV_Increment_fp.h"
57b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang#include "NV_Read_fp.h"
58b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang#include "NV_ReadLock_fp.h"
59b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang#include "NV_ReadPublic_fp.h"
60b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang#include "NV_SetBits_fp.h"
61b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang#include "NV_UndefineSpace_fp.h"
62b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "NV_UndefineSpaceSpecial_fp.h"
63b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "NV_Write_fp.h"
64b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "NV_WriteLock_fp.h"
65b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "ObjectChangeAuth_fp.h"
66b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PCR_Allocate_fp.h"
67b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PCR_Event_fp.h"
68b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PCR_Extend_fp.h"
69b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PCR_Read_fp.h"
70b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PCR_Reset_fp.h"
71b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PCR_SetAuthPolicy_fp.h"
72b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PCR_SetAuthValue_fp.h"
73b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PP_Commands_fp.h"
74b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PolicyAuthValue_fp.h"
75b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PolicyAuthorize_fp.h"
76b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PolicyCommandCode_fp.h"
77b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PolicyCounterTimer_fp.h"
78b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PolicyCpHash_fp.h"
79b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PolicyDuplicationSelect_fp.h"
80b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PolicyGetDigest_fp.h"
81b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PolicyLocality_fp.h"
82b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PolicyNV_fp.h"
83b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PolicyNameHash_fp.h"
84b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PolicyNvWritten_fp.h"
85b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PolicyOR_fp.h"
86b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PolicyPCR_fp.h"
87b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PolicyPassword_fp.h"
88b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PolicyPhysicalPresence_fp.h"
89b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PolicyRestart_fp.h"
90b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PolicySecret_fp.h"
91b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PolicySigned_fp.h"
92b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "PolicyTicket_fp.h"
93b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "Quote_fp.h"
94b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "RSA_Decrypt_fp.h"
95b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "RSA_Encrypt_fp.h"
96b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "ReadClock_fp.h"
97b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "ReadPublic_fp.h"
98b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "Rewrap_fp.h"
99b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "SelfTest_fp.h"
100b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "SequenceComplete_fp.h"
101b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "SequenceUpdate_fp.h"
102b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "SetAlgorithmSet_fp.h"
103b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "SetCommandCodeAuditStatus_fp.h"
104b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "SetPrimaryPolicy_fp.h"
105b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "Shutdown_fp.h"
106b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "Sign_fp.h"
107b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "StartAuthSession_fp.h"
108b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "Startup_fp.h"
109b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "StirRandom_fp.h"
110b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "TestParms_fp.h"
111b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "Unseal_fp.h"
112b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "VerifySignature_fp.h"
113b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "ZGen_2Phase_fp.h"
114b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
115b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "Implementation.h"
116b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#include "CommandDispatcher_fp.h"
117b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
118b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe OnoratoTPM_RC CommandDispatcher(TPMI_ST_COMMAND_TAG tag,
119b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                         TPM_CC command_code,
120b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                         INT32* request_parameter_buffer_size,
121b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                         BYTE* request_parameter_buffer_start,
122b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                         TPM_HANDLE request_handles[],
123b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                         UINT32* response_handle_buffer_size,
124b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                         UINT32* response_parameter_buffer_size) {
125b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato  BYTE* request_parameter_buffer = request_parameter_buffer_start;
126b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato  switch (command_code) {
127b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_ActivateCredential
128b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_ActivateCredential:
129b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_ActivateCredential(
130b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato          tag, &request_parameter_buffer, request_parameter_buffer_size,
131b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato          request_handles, response_handle_buffer_size,
132b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato          response_parameter_buffer_size);
133b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
134b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_Certify
135b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_Certify:
136b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_Certify(tag, &request_parameter_buffer,
137b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                          request_parameter_buffer_size, request_handles,
138b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                          response_handle_buffer_size,
139b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                          response_parameter_buffer_size);
140b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
141b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_CertifyCreation
142b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_CertifyCreation:
143b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_CertifyCreation(tag, &request_parameter_buffer,
144b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                                  request_parameter_buffer_size,
145b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                                  request_handles, response_handle_buffer_size,
1462270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom                                  response_parameter_buffer_size);
1472270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom#endif
1482270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom#ifdef TPM_CC_ChangeEPS
1492270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom    case TPM_CC_ChangeEPS:
1502270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom      return Exec_ChangeEPS(tag, &request_parameter_buffer,
1512270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom                            request_parameter_buffer_size, request_handles,
152b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                            response_handle_buffer_size,
153b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                            response_parameter_buffer_size);
154b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
155b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_ChangePPS
156b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_ChangePPS:
157b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_ChangePPS(tag, &request_parameter_buffer,
158b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                            request_parameter_buffer_size, request_handles,
159b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                            response_handle_buffer_size,
160b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                            response_parameter_buffer_size);
161b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
162b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_Clear
163b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_Clear:
164b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_Clear(tag, &request_parameter_buffer,
165b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                        request_parameter_buffer_size, request_handles,
166b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                        response_handle_buffer_size,
167b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                        response_parameter_buffer_size);
168b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
169b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_ClearControl
170b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_ClearControl:
171b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_ClearControl(tag, &request_parameter_buffer,
172b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                               request_parameter_buffer_size, request_handles,
173b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                               response_handle_buffer_size,
174b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                               response_parameter_buffer_size);
175b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
176b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_ClockRateAdjust
177b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_ClockRateAdjust:
178b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_ClockRateAdjust(tag, &request_parameter_buffer,
179b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                                  request_parameter_buffer_size,
180b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                                  request_handles, response_handle_buffer_size,
181b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                                  response_parameter_buffer_size);
182b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
183b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_ClockSet
184b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_ClockSet:
185b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_ClockSet(tag, &request_parameter_buffer,
186b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                           request_parameter_buffer_size, request_handles,
187b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                           response_handle_buffer_size,
188b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                           response_parameter_buffer_size);
189b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
190b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_Commit
191b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_Commit:
192b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_Commit(tag, &request_parameter_buffer,
193b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                         request_parameter_buffer_size, request_handles,
194b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                         response_handle_buffer_size,
195b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                         response_parameter_buffer_size);
196b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
197b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_ContextLoad
198b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_ContextLoad:
199b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_ContextLoad(tag, &request_parameter_buffer,
200b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                              request_parameter_buffer_size, request_handles,
201b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                              response_handle_buffer_size,
202b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                              response_parameter_buffer_size);
203b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
204b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_ContextSave
205b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_ContextSave:
206b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_ContextSave(tag, &request_parameter_buffer,
207b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                              request_parameter_buffer_size, request_handles,
208b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                              response_handle_buffer_size,
209b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                              response_parameter_buffer_size);
210b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
211b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_Create
212b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_Create:
213b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_Create(tag, &request_parameter_buffer,
214b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                         request_parameter_buffer_size, request_handles,
215b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                         response_handle_buffer_size,
216b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                         response_parameter_buffer_size);
217b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
218b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_CreatePrimary
219b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_CreatePrimary:
220b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_CreatePrimary(tag, &request_parameter_buffer,
221b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                                request_parameter_buffer_size, request_handles,
222b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                                response_handle_buffer_size,
223b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                                response_parameter_buffer_size);
224b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
225b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_DictionaryAttackLockReset
226b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_DictionaryAttackLockReset:
227b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_DictionaryAttackLockReset(
228b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato          tag, &request_parameter_buffer, request_parameter_buffer_size,
229b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato          request_handles, response_handle_buffer_size,
230b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato          response_parameter_buffer_size);
231b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
232b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_DictionaryAttackParameters
233b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_DictionaryAttackParameters:
234b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_DictionaryAttackParameters(
235b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato          tag, &request_parameter_buffer, request_parameter_buffer_size,
2362270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom          request_handles, response_handle_buffer_size,
2372270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom          response_parameter_buffer_size);
2382270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom#endif
2392270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom#ifdef TPM_CC_Duplicate
2402270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom    case TPM_CC_Duplicate:
2412270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom      return Exec_Duplicate(tag, &request_parameter_buffer,
2422270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom                            request_parameter_buffer_size, request_handles,
2432270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom                            response_handle_buffer_size,
2442270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom                            response_parameter_buffer_size);
2452270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom#endif
2462270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom#ifdef TPM_CC_ECC_Parameters
2472270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom    case TPM_CC_ECC_Parameters:
2482270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom      return Exec_ECC_Parameters(tag, &request_parameter_buffer,
2492270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom                                 request_parameter_buffer_size, request_handles,
2502270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom                                 response_handle_buffer_size,
2512270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom                                 response_parameter_buffer_size);
2522270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom#endif
2532270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom#ifdef TPM_CC_ECDH_KeyGen
2542270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom    case TPM_CC_ECDH_KeyGen:
2552270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom      return Exec_ECDH_KeyGen(tag, &request_parameter_buffer,
2562270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom                              request_parameter_buffer_size, request_handles,
2572270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom                              response_handle_buffer_size,
2582270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom                              response_parameter_buffer_size);
2592270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom#endif
2602270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom#ifdef TPM_CC_ECDH_ZGen
2612270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom    case TPM_CC_ECDH_ZGen:
2622270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom      return Exec_ECDH_ZGen(tag, &request_parameter_buffer,
2632270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom                            request_parameter_buffer_size, request_handles,
2642270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom                            response_handle_buffer_size,
2652270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom                            response_parameter_buffer_size);
2662270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom#endif
2672270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom#ifdef TPM_CC_EC_Ephemeral
2682270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom    case TPM_CC_EC_Ephemeral:
2692270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom      return Exec_EC_Ephemeral(tag, &request_parameter_buffer,
2702270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom                               request_parameter_buffer_size, request_handles,
2712270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom                               response_handle_buffer_size,
2722270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom                               response_parameter_buffer_size);
2732270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom#endif
2742270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom#ifdef TPM_CC_EncryptDecrypt
2752270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom    case TPM_CC_EncryptDecrypt:
2762270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom      return Exec_EncryptDecrypt(tag, &request_parameter_buffer,
2772270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom                                 request_parameter_buffer_size, request_handles,
2782270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom                                 response_handle_buffer_size,
2792270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom                                 response_parameter_buffer_size);
2802270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom#endif
2812270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom#ifdef TPM_CC_EventSequenceComplete
2822270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom    case TPM_CC_EventSequenceComplete:
2832270795fbe0b277bfd49f40950ecaa78583175ccBrian Carlstrom      return Exec_EventSequenceComplete(
284b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato          tag, &request_parameter_buffer, request_parameter_buffer_size,
285b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato          request_handles, response_handle_buffer_size,
286b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato          response_parameter_buffer_size);
287b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
288b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_EvictControl
289b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_EvictControl:
290b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_EvictControl(tag, &request_parameter_buffer,
291b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                               request_parameter_buffer_size, request_handles,
292b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                               response_handle_buffer_size,
293b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                               response_parameter_buffer_size);
294b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
295b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_FieldUpgradeData
296b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_FieldUpgradeData:
297b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_FieldUpgradeData(tag, &request_parameter_buffer,
298b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                                   request_parameter_buffer_size,
299b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                                   request_handles, response_handle_buffer_size,
300b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                                   response_parameter_buffer_size);
301b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
302b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_FieldUpgradeStart
303b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_FieldUpgradeStart:
304b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_FieldUpgradeStart(
305b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato          tag, &request_parameter_buffer, request_parameter_buffer_size,
306b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato          request_handles, response_handle_buffer_size,
307b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato          response_parameter_buffer_size);
308b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
309b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_FirmwareRead
310b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_FirmwareRead:
311b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_FirmwareRead(tag, &request_parameter_buffer,
312b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                               request_parameter_buffer_size, request_handles,
313b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                               response_handle_buffer_size,
314b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                               response_parameter_buffer_size);
315b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
316b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_FlushContext
317b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_FlushContext:
318b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_FlushContext(tag, &request_parameter_buffer,
319b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                               request_parameter_buffer_size, request_handles,
320b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                               response_handle_buffer_size,
321b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                               response_parameter_buffer_size);
322b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
323b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_GetCapability
324b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_GetCapability:
325b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_GetCapability(tag, &request_parameter_buffer,
326b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                                request_parameter_buffer_size, request_handles,
327b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                                response_handle_buffer_size,
328b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                                response_parameter_buffer_size);
329b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
330b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_GetCommandAuditDigest
331b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_GetCommandAuditDigest:
332b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_GetCommandAuditDigest(
333b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato          tag, &request_parameter_buffer, request_parameter_buffer_size,
334b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato          request_handles, response_handle_buffer_size,
335b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato          response_parameter_buffer_size);
336b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
337b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_GetRandom
338b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_GetRandom:
339b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_GetRandom(tag, &request_parameter_buffer,
340b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                            request_parameter_buffer_size, request_handles,
341b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                            response_handle_buffer_size,
342b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato                            response_parameter_buffer_size);
343b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
344b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#ifdef TPM_CC_GetSessionAuditDigest
345b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato    case TPM_CC_GetSessionAuditDigest:
346b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato      return Exec_GetSessionAuditDigest(
347b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato          tag, &request_parameter_buffer, request_parameter_buffer_size,
348b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato          request_handles, response_handle_buffer_size,
349b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato          response_parameter_buffer_size);
350b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato#endif
351#ifdef TPM_CC_GetTestResult
352    case TPM_CC_GetTestResult:
353      return Exec_GetTestResult(tag, &request_parameter_buffer,
354                                request_parameter_buffer_size, request_handles,
355                                response_handle_buffer_size,
356                                response_parameter_buffer_size);
357#endif
358#ifdef TPM_CC_GetTime
359    case TPM_CC_GetTime:
360      return Exec_GetTime(tag, &request_parameter_buffer,
361                          request_parameter_buffer_size, request_handles,
362                          response_handle_buffer_size,
363                          response_parameter_buffer_size);
364#endif
365#ifdef TPM_CC_HMAC
366    case TPM_CC_HMAC:
367      return Exec_HMAC(tag, &request_parameter_buffer,
368                       request_parameter_buffer_size, request_handles,
369                       response_handle_buffer_size,
370                       response_parameter_buffer_size);
371#endif
372#ifdef TPM_CC_HMAC_Start
373    case TPM_CC_HMAC_Start:
374      return Exec_HMAC_Start(tag, &request_parameter_buffer,
375                             request_parameter_buffer_size, request_handles,
376                             response_handle_buffer_size,
377                             response_parameter_buffer_size);
378#endif
379#ifdef TPM_CC_Hash
380    case TPM_CC_Hash:
381      return Exec_Hash(tag, &request_parameter_buffer,
382                       request_parameter_buffer_size, request_handles,
383                       response_handle_buffer_size,
384                       response_parameter_buffer_size);
385#endif
386#ifdef TPM_CC_HashSequenceStart
387    case TPM_CC_HashSequenceStart:
388      return Exec_HashSequenceStart(
389          tag, &request_parameter_buffer, request_parameter_buffer_size,
390          request_handles, response_handle_buffer_size,
391          response_parameter_buffer_size);
392#endif
393#ifdef TPM_CC_HierarchyChangeAuth
394    case TPM_CC_HierarchyChangeAuth:
395      return Exec_HierarchyChangeAuth(
396          tag, &request_parameter_buffer, request_parameter_buffer_size,
397          request_handles, response_handle_buffer_size,
398          response_parameter_buffer_size);
399#endif
400#ifdef TPM_CC_HierarchyControl
401    case TPM_CC_HierarchyControl:
402      return Exec_HierarchyControl(tag, &request_parameter_buffer,
403                                   request_parameter_buffer_size,
404                                   request_handles, response_handle_buffer_size,
405                                   response_parameter_buffer_size);
406#endif
407#ifdef TPM_CC_Import
408    case TPM_CC_Import:
409      return Exec_Import(tag, &request_parameter_buffer,
410                         request_parameter_buffer_size, request_handles,
411                         response_handle_buffer_size,
412                         response_parameter_buffer_size);
413#endif
414#ifdef TPM_CC_IncrementalSelfTest
415    case TPM_CC_IncrementalSelfTest:
416      return Exec_IncrementalSelfTest(
417          tag, &request_parameter_buffer, request_parameter_buffer_size,
418          request_handles, response_handle_buffer_size,
419          response_parameter_buffer_size);
420#endif
421#ifdef TPM_CC_Load
422    case TPM_CC_Load:
423      return Exec_Load(tag, &request_parameter_buffer,
424                       request_parameter_buffer_size, request_handles,
425                       response_handle_buffer_size,
426                       response_parameter_buffer_size);
427#endif
428#ifdef TPM_CC_LoadExternal
429    case TPM_CC_LoadExternal:
430      return Exec_LoadExternal(tag, &request_parameter_buffer,
431                               request_parameter_buffer_size, request_handles,
432                               response_handle_buffer_size,
433                               response_parameter_buffer_size);
434#endif
435#ifdef TPM_CC_MakeCredential
436    case TPM_CC_MakeCredential:
437      return Exec_MakeCredential(tag, &request_parameter_buffer,
438                                 request_parameter_buffer_size, request_handles,
439                                 response_handle_buffer_size,
440                                 response_parameter_buffer_size);
441#endif
442#ifdef TPM_CC_NV_Certify
443    case TPM_CC_NV_Certify:
444      return Exec_NV_Certify(tag, &request_parameter_buffer,
445                             request_parameter_buffer_size, request_handles,
446                             response_handle_buffer_size,
447                             response_parameter_buffer_size);
448#endif
449#ifdef TPM_CC_NV_ChangeAuth
450    case TPM_CC_NV_ChangeAuth:
451      return Exec_NV_ChangeAuth(tag, &request_parameter_buffer,
452                                request_parameter_buffer_size, request_handles,
453                                response_handle_buffer_size,
454                                response_parameter_buffer_size);
455#endif
456#ifdef TPM_CC_NV_DefineSpace
457    case TPM_CC_NV_DefineSpace:
458      return Exec_NV_DefineSpace(tag, &request_parameter_buffer,
459                                 request_parameter_buffer_size, request_handles,
460                                 response_handle_buffer_size,
461                                 response_parameter_buffer_size);
462#endif
463#ifdef TPM_CC_NV_Extend
464    case TPM_CC_NV_Extend:
465      return Exec_NV_Extend(tag, &request_parameter_buffer,
466                            request_parameter_buffer_size, request_handles,
467                            response_handle_buffer_size,
468                            response_parameter_buffer_size);
469#endif
470#ifdef TPM_CC_NV_GlobalWriteLock
471    case TPM_CC_NV_GlobalWriteLock:
472      return Exec_NV_GlobalWriteLock(
473          tag, &request_parameter_buffer, request_parameter_buffer_size,
474          request_handles, response_handle_buffer_size,
475          response_parameter_buffer_size);
476#endif
477#ifdef TPM_CC_NV_Increment
478    case TPM_CC_NV_Increment:
479      return Exec_NV_Increment(tag, &request_parameter_buffer,
480                               request_parameter_buffer_size, request_handles,
481                               response_handle_buffer_size,
482                               response_parameter_buffer_size);
483#endif
484#ifdef TPM_CC_NV_Read
485    case TPM_CC_NV_Read:
486      return Exec_NV_Read(tag, &request_parameter_buffer,
487                          request_parameter_buffer_size, request_handles,
488                          response_handle_buffer_size,
489                          response_parameter_buffer_size);
490#endif
491#ifdef TPM_CC_NV_ReadLock
492    case TPM_CC_NV_ReadLock:
493      return Exec_NV_ReadLock(tag, &request_parameter_buffer,
494                              request_parameter_buffer_size, request_handles,
495                              response_handle_buffer_size,
496                              response_parameter_buffer_size);
497#endif
498#ifdef TPM_CC_NV_ReadPublic
499    case TPM_CC_NV_ReadPublic:
500      return Exec_NV_ReadPublic(tag, &request_parameter_buffer,
501                                request_parameter_buffer_size, request_handles,
502                                response_handle_buffer_size,
503                                response_parameter_buffer_size);
504#endif
505#ifdef TPM_CC_NV_SetBits
506    case TPM_CC_NV_SetBits:
507      return Exec_NV_SetBits(tag, &request_parameter_buffer,
508                             request_parameter_buffer_size, request_handles,
509                             response_handle_buffer_size,
510                             response_parameter_buffer_size);
511#endif
512#ifdef TPM_CC_NV_UndefineSpace
513    case TPM_CC_NV_UndefineSpace:
514      return Exec_NV_UndefineSpace(tag, &request_parameter_buffer,
515                                   request_parameter_buffer_size,
516                                   request_handles, response_handle_buffer_size,
517                                   response_parameter_buffer_size);
518#endif
519#ifdef TPM_CC_NV_UndefineSpaceSpecial
520    case TPM_CC_NV_UndefineSpaceSpecial:
521      return Exec_NV_UndefineSpaceSpecial(
522          tag, &request_parameter_buffer, request_parameter_buffer_size,
523          request_handles, response_handle_buffer_size,
524          response_parameter_buffer_size);
525#endif
526#ifdef TPM_CC_NV_Write
527    case TPM_CC_NV_Write:
528      return Exec_NV_Write(tag, &request_parameter_buffer,
529                           request_parameter_buffer_size, request_handles,
530                           response_handle_buffer_size,
531                           response_parameter_buffer_size);
532#endif
533#ifdef TPM_CC_NV_WriteLock
534    case TPM_CC_NV_WriteLock:
535      return Exec_NV_WriteLock(tag, &request_parameter_buffer,
536                               request_parameter_buffer_size, request_handles,
537                               response_handle_buffer_size,
538                               response_parameter_buffer_size);
539#endif
540#ifdef TPM_CC_ObjectChangeAuth
541    case TPM_CC_ObjectChangeAuth:
542      return Exec_ObjectChangeAuth(tag, &request_parameter_buffer,
543                                   request_parameter_buffer_size,
544                                   request_handles, response_handle_buffer_size,
545                                   response_parameter_buffer_size);
546#endif
547#ifdef TPM_CC_PCR_Allocate
548    case TPM_CC_PCR_Allocate:
549      return Exec_PCR_Allocate(tag, &request_parameter_buffer,
550                               request_parameter_buffer_size, request_handles,
551                               response_handle_buffer_size,
552                               response_parameter_buffer_size);
553#endif
554#ifdef TPM_CC_PCR_Event
555    case TPM_CC_PCR_Event:
556      return Exec_PCR_Event(tag, &request_parameter_buffer,
557                            request_parameter_buffer_size, request_handles,
558                            response_handle_buffer_size,
559                            response_parameter_buffer_size);
560#endif
561#ifdef TPM_CC_PCR_Extend
562    case TPM_CC_PCR_Extend:
563      return Exec_PCR_Extend(tag, &request_parameter_buffer,
564                             request_parameter_buffer_size, request_handles,
565                             response_handle_buffer_size,
566                             response_parameter_buffer_size);
567#endif
568#ifdef TPM_CC_PCR_Read
569    case TPM_CC_PCR_Read:
570      return Exec_PCR_Read(tag, &request_parameter_buffer,
571                           request_parameter_buffer_size, request_handles,
572                           response_handle_buffer_size,
573                           response_parameter_buffer_size);
574#endif
575#ifdef TPM_CC_PCR_Reset
576    case TPM_CC_PCR_Reset:
577      return Exec_PCR_Reset(tag, &request_parameter_buffer,
578                            request_parameter_buffer_size, request_handles,
579                            response_handle_buffer_size,
580                            response_parameter_buffer_size);
581#endif
582#ifdef TPM_CC_PCR_SetAuthPolicy
583    case TPM_CC_PCR_SetAuthPolicy:
584      return Exec_PCR_SetAuthPolicy(
585          tag, &request_parameter_buffer, request_parameter_buffer_size,
586          request_handles, response_handle_buffer_size,
587          response_parameter_buffer_size);
588#endif
589#ifdef TPM_CC_PCR_SetAuthValue
590    case TPM_CC_PCR_SetAuthValue:
591      return Exec_PCR_SetAuthValue(tag, &request_parameter_buffer,
592                                   request_parameter_buffer_size,
593                                   request_handles, response_handle_buffer_size,
594                                   response_parameter_buffer_size);
595#endif
596#ifdef TPM_CC_PP_Commands
597    case TPM_CC_PP_Commands:
598      return Exec_PP_Commands(tag, &request_parameter_buffer,
599                              request_parameter_buffer_size, request_handles,
600                              response_handle_buffer_size,
601                              response_parameter_buffer_size);
602#endif
603#ifdef TPM_CC_PolicyAuthValue
604    case TPM_CC_PolicyAuthValue:
605      return Exec_PolicyAuthValue(tag, &request_parameter_buffer,
606                                  request_parameter_buffer_size,
607                                  request_handles, response_handle_buffer_size,
608                                  response_parameter_buffer_size);
609#endif
610#ifdef TPM_CC_PolicyAuthorize
611    case TPM_CC_PolicyAuthorize:
612      return Exec_PolicyAuthorize(tag, &request_parameter_buffer,
613                                  request_parameter_buffer_size,
614                                  request_handles, response_handle_buffer_size,
615                                  response_parameter_buffer_size);
616#endif
617#ifdef TPM_CC_PolicyCommandCode
618    case TPM_CC_PolicyCommandCode:
619      return Exec_PolicyCommandCode(
620          tag, &request_parameter_buffer, request_parameter_buffer_size,
621          request_handles, response_handle_buffer_size,
622          response_parameter_buffer_size);
623#endif
624#ifdef TPM_CC_PolicyCounterTimer
625    case TPM_CC_PolicyCounterTimer:
626      return Exec_PolicyCounterTimer(
627          tag, &request_parameter_buffer, request_parameter_buffer_size,
628          request_handles, response_handle_buffer_size,
629          response_parameter_buffer_size);
630#endif
631#ifdef TPM_CC_PolicyCpHash
632    case TPM_CC_PolicyCpHash:
633      return Exec_PolicyCpHash(tag, &request_parameter_buffer,
634                               request_parameter_buffer_size, request_handles,
635                               response_handle_buffer_size,
636                               response_parameter_buffer_size);
637#endif
638#ifdef TPM_CC_PolicyDuplicationSelect
639    case TPM_CC_PolicyDuplicationSelect:
640      return Exec_PolicyDuplicationSelect(
641          tag, &request_parameter_buffer, request_parameter_buffer_size,
642          request_handles, response_handle_buffer_size,
643          response_parameter_buffer_size);
644#endif
645#ifdef TPM_CC_PolicyGetDigest
646    case TPM_CC_PolicyGetDigest:
647      return Exec_PolicyGetDigest(tag, &request_parameter_buffer,
648                                  request_parameter_buffer_size,
649                                  request_handles, response_handle_buffer_size,
650                                  response_parameter_buffer_size);
651#endif
652#ifdef TPM_CC_PolicyLocality
653    case TPM_CC_PolicyLocality:
654      return Exec_PolicyLocality(tag, &request_parameter_buffer,
655                                 request_parameter_buffer_size, request_handles,
656                                 response_handle_buffer_size,
657                                 response_parameter_buffer_size);
658#endif
659#ifdef TPM_CC_PolicyNV
660    case TPM_CC_PolicyNV:
661      return Exec_PolicyNV(tag, &request_parameter_buffer,
662                           request_parameter_buffer_size, request_handles,
663                           response_handle_buffer_size,
664                           response_parameter_buffer_size);
665#endif
666#ifdef TPM_CC_PolicyNameHash
667    case TPM_CC_PolicyNameHash:
668      return Exec_PolicyNameHash(tag, &request_parameter_buffer,
669                                 request_parameter_buffer_size, request_handles,
670                                 response_handle_buffer_size,
671                                 response_parameter_buffer_size);
672#endif
673#ifdef TPM_CC_PolicyNvWritten
674    case TPM_CC_PolicyNvWritten:
675      return Exec_PolicyNvWritten(tag, &request_parameter_buffer,
676                                  request_parameter_buffer_size,
677                                  request_handles, response_handle_buffer_size,
678                                  response_parameter_buffer_size);
679#endif
680#ifdef TPM_CC_PolicyOR
681    case TPM_CC_PolicyOR:
682      return Exec_PolicyOR(tag, &request_parameter_buffer,
683                           request_parameter_buffer_size, request_handles,
684                           response_handle_buffer_size,
685                           response_parameter_buffer_size);
686#endif
687#ifdef TPM_CC_PolicyPCR
688    case TPM_CC_PolicyPCR:
689      return Exec_PolicyPCR(tag, &request_parameter_buffer,
690                            request_parameter_buffer_size, request_handles,
691                            response_handle_buffer_size,
692                            response_parameter_buffer_size);
693#endif
694#ifdef TPM_CC_PolicyPassword
695    case TPM_CC_PolicyPassword:
696      return Exec_PolicyPassword(tag, &request_parameter_buffer,
697                                 request_parameter_buffer_size, request_handles,
698                                 response_handle_buffer_size,
699                                 response_parameter_buffer_size);
700#endif
701#ifdef TPM_CC_PolicyPhysicalPresence
702    case TPM_CC_PolicyPhysicalPresence:
703      return Exec_PolicyPhysicalPresence(
704          tag, &request_parameter_buffer, request_parameter_buffer_size,
705          request_handles, response_handle_buffer_size,
706          response_parameter_buffer_size);
707#endif
708#ifdef TPM_CC_PolicyRestart
709    case TPM_CC_PolicyRestart:
710      return Exec_PolicyRestart(tag, &request_parameter_buffer,
711                                request_parameter_buffer_size, request_handles,
712                                response_handle_buffer_size,
713                                response_parameter_buffer_size);
714#endif
715#ifdef TPM_CC_PolicySecret
716    case TPM_CC_PolicySecret:
717      return Exec_PolicySecret(tag, &request_parameter_buffer,
718                               request_parameter_buffer_size, request_handles,
719                               response_handle_buffer_size,
720                               response_parameter_buffer_size);
721#endif
722#ifdef TPM_CC_PolicySigned
723    case TPM_CC_PolicySigned:
724      return Exec_PolicySigned(tag, &request_parameter_buffer,
725                               request_parameter_buffer_size, request_handles,
726                               response_handle_buffer_size,
727                               response_parameter_buffer_size);
728#endif
729#ifdef TPM_CC_PolicyTicket
730    case TPM_CC_PolicyTicket:
731      return Exec_PolicyTicket(tag, &request_parameter_buffer,
732                               request_parameter_buffer_size, request_handles,
733                               response_handle_buffer_size,
734                               response_parameter_buffer_size);
735#endif
736#ifdef TPM_CC_Quote
737    case TPM_CC_Quote:
738      return Exec_Quote(tag, &request_parameter_buffer,
739                        request_parameter_buffer_size, request_handles,
740                        response_handle_buffer_size,
741                        response_parameter_buffer_size);
742#endif
743#ifdef TPM_CC_RSA_Decrypt
744    case TPM_CC_RSA_Decrypt:
745      return Exec_RSA_Decrypt(tag, &request_parameter_buffer,
746                              request_parameter_buffer_size, request_handles,
747                              response_handle_buffer_size,
748                              response_parameter_buffer_size);
749#endif
750#ifdef TPM_CC_RSA_Encrypt
751    case TPM_CC_RSA_Encrypt:
752      return Exec_RSA_Encrypt(tag, &request_parameter_buffer,
753                              request_parameter_buffer_size, request_handles,
754                              response_handle_buffer_size,
755                              response_parameter_buffer_size);
756#endif
757#ifdef TPM_CC_ReadClock
758    case TPM_CC_ReadClock:
759      return Exec_ReadClock(tag, &request_parameter_buffer,
760                            request_parameter_buffer_size, request_handles,
761                            response_handle_buffer_size,
762                            response_parameter_buffer_size);
763#endif
764#ifdef TPM_CC_ReadPublic
765    case TPM_CC_ReadPublic:
766      return Exec_ReadPublic(tag, &request_parameter_buffer,
767                             request_parameter_buffer_size, request_handles,
768                             response_handle_buffer_size,
769                             response_parameter_buffer_size);
770#endif
771#ifdef TPM_CC_Rewrap
772    case TPM_CC_Rewrap:
773      return Exec_Rewrap(tag, &request_parameter_buffer,
774                         request_parameter_buffer_size, request_handles,
775                         response_handle_buffer_size,
776                         response_parameter_buffer_size);
777#endif
778#ifdef TPM_CC_SelfTest
779    case TPM_CC_SelfTest:
780      return Exec_SelfTest(tag, &request_parameter_buffer,
781                           request_parameter_buffer_size, request_handles,
782                           response_handle_buffer_size,
783                           response_parameter_buffer_size);
784#endif
785#ifdef TPM_CC_SequenceComplete
786    case TPM_CC_SequenceComplete:
787      return Exec_SequenceComplete(tag, &request_parameter_buffer,
788                                   request_parameter_buffer_size,
789                                   request_handles, response_handle_buffer_size,
790                                   response_parameter_buffer_size);
791#endif
792#ifdef TPM_CC_SequenceUpdate
793    case TPM_CC_SequenceUpdate:
794      return Exec_SequenceUpdate(tag, &request_parameter_buffer,
795                                 request_parameter_buffer_size, request_handles,
796                                 response_handle_buffer_size,
797                                 response_parameter_buffer_size);
798#endif
799#ifdef TPM_CC_SetAlgorithmSet
800    case TPM_CC_SetAlgorithmSet:
801      return Exec_SetAlgorithmSet(tag, &request_parameter_buffer,
802                                  request_parameter_buffer_size,
803                                  request_handles, response_handle_buffer_size,
804                                  response_parameter_buffer_size);
805#endif
806#ifdef TPM_CC_SetCommandCodeAuditStatus
807    case TPM_CC_SetCommandCodeAuditStatus:
808      return Exec_SetCommandCodeAuditStatus(
809          tag, &request_parameter_buffer, request_parameter_buffer_size,
810          request_handles, response_handle_buffer_size,
811          response_parameter_buffer_size);
812#endif
813#ifdef TPM_CC_SetPrimaryPolicy
814    case TPM_CC_SetPrimaryPolicy:
815      return Exec_SetPrimaryPolicy(tag, &request_parameter_buffer,
816                                   request_parameter_buffer_size,
817                                   request_handles, response_handle_buffer_size,
818                                   response_parameter_buffer_size);
819#endif
820#ifdef TPM_CC_Shutdown
821    case TPM_CC_Shutdown:
822      return Exec_Shutdown(tag, &request_parameter_buffer,
823                           request_parameter_buffer_size, request_handles,
824                           response_handle_buffer_size,
825                           response_parameter_buffer_size);
826#endif
827#ifdef TPM_CC_Sign
828    case TPM_CC_Sign:
829      return Exec_Sign(tag, &request_parameter_buffer,
830                       request_parameter_buffer_size, request_handles,
831                       response_handle_buffer_size,
832                       response_parameter_buffer_size);
833#endif
834#ifdef TPM_CC_StartAuthSession
835    case TPM_CC_StartAuthSession:
836      return Exec_StartAuthSession(tag, &request_parameter_buffer,
837                                   request_parameter_buffer_size,
838                                   request_handles, response_handle_buffer_size,
839                                   response_parameter_buffer_size);
840#endif
841#ifdef TPM_CC_Startup
842    case TPM_CC_Startup:
843      return Exec_Startup(tag, &request_parameter_buffer,
844                          request_parameter_buffer_size, request_handles,
845                          response_handle_buffer_size,
846                          response_parameter_buffer_size);
847#endif
848#ifdef TPM_CC_StirRandom
849    case TPM_CC_StirRandom:
850      return Exec_StirRandom(tag, &request_parameter_buffer,
851                             request_parameter_buffer_size, request_handles,
852                             response_handle_buffer_size,
853                             response_parameter_buffer_size);
854#endif
855#ifdef TPM_CC_TestParms
856    case TPM_CC_TestParms:
857      return Exec_TestParms(tag, &request_parameter_buffer,
858                            request_parameter_buffer_size, request_handles,
859                            response_handle_buffer_size,
860                            response_parameter_buffer_size);
861#endif
862#ifdef TPM_CC_Unseal
863    case TPM_CC_Unseal:
864      return Exec_Unseal(tag, &request_parameter_buffer,
865                         request_parameter_buffer_size, request_handles,
866                         response_handle_buffer_size,
867                         response_parameter_buffer_size);
868#endif
869#ifdef TPM_CC_VerifySignature
870    case TPM_CC_VerifySignature:
871      return Exec_VerifySignature(tag, &request_parameter_buffer,
872                                  request_parameter_buffer_size,
873                                  request_handles, response_handle_buffer_size,
874                                  response_parameter_buffer_size);
875#endif
876#ifdef TPM_CC_ZGen_2Phase
877    case TPM_CC_ZGen_2Phase:
878      return Exec_ZGen_2Phase(tag, &request_parameter_buffer,
879                              request_parameter_buffer_size, request_handles,
880                              response_handle_buffer_size,
881                              response_parameter_buffer_size);
882#endif
883    default:
884      return TPM_RC_COMMAND_CODE;
885  }
886}