• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* Microsoft Reference Implementation for TPM 2.0
2  *
3  *  The copyright in this software is being made available under the BSD License,
4  *  included below. This software may be subject to other third party and
5  *  contributor rights, including patent rights, and no such rights are granted
6  *  under this license.
7  *
8  *  Copyright (c) Microsoft Corporation
9  *
10  *  All rights reserved.
11  *
12  *  BSD License
13  *
14  *  Redistribution and use in source and binary forms, with or without modification,
15  *  are permitted provided that the following conditions are met:
16  *
17  *  Redistributions of source code must retain the above copyright notice, this list
18  *  of conditions and the following disclaimer.
19  *
20  *  Redistributions in binary form must reproduce the above copyright notice, this
21  *  list of conditions and the following disclaimer in the documentation and/or
22  *  other materials provided with the distribution.
23  *
24  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ""AS IS""
25  *  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26  *  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27  *  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
28  *  ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29  *  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30  *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
31  *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32  *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34  */
35 /*(Auto-generated)
36  *  Created by TpmStructures; Version 4.4 Mar 26, 2019
37  *  Date: Sep  7, 2019  Time: 04:51:22PM
38  */
39 
40 // This file should only be included by CommandCodeAttibutes.c
41 #ifdef _COMMAND_CODE_ATTRIBUTES_
42 
43 #include "CommandAttributes.h"
44 
45 #if COMPRESSED_LISTS
46 #   define      PAD_LIST    0
47 #else
48 #   define      PAD_LIST    1
49 #endif
50 
51 
52 // This is the command code attribute array for GetCapability.
53 // Both this array and s_commandAttributes provides command code attributes,
54 // but tuned for different purpose
55 const TPMA_CC    s_ccAttr [] = {
56 #if (PAD_LIST || CC_NV_UndefineSpaceSpecial)
57         TPMA_CC_INITIALIZER(0x011F, 0, 1, 0, 0, 2, 0, 0, 0),
58 #endif
59 #if (PAD_LIST || CC_EvictControl)
60         TPMA_CC_INITIALIZER(0x0120, 0, 1, 0, 0, 2, 0, 0, 0),
61 #endif
62 #if (PAD_LIST || CC_HierarchyControl)
63         TPMA_CC_INITIALIZER(0x0121, 0, 1, 1, 0, 1, 0, 0, 0),
64 #endif
65 #if (PAD_LIST || CC_NV_UndefineSpace)
66         TPMA_CC_INITIALIZER(0x0122, 0, 1, 0, 0, 2, 0, 0, 0),
67 #endif
68 #if (PAD_LIST )
69         TPMA_CC_INITIALIZER(0x0123, 0, 0, 0, 0, 0, 0, 0, 0),
70 #endif
71 #if (PAD_LIST || CC_ChangeEPS)
72         TPMA_CC_INITIALIZER(0x0124, 0, 1, 1, 0, 1, 0, 0, 0),
73 #endif
74 #if (PAD_LIST || CC_ChangePPS)
75         TPMA_CC_INITIALIZER(0x0125, 0, 1, 1, 0, 1, 0, 0, 0),
76 #endif
77 #if (PAD_LIST || CC_Clear)
78         TPMA_CC_INITIALIZER(0x0126, 0, 1, 1, 0, 1, 0, 0, 0),
79 #endif
80 #if (PAD_LIST || CC_ClearControl)
81         TPMA_CC_INITIALIZER(0x0127, 0, 1, 0, 0, 1, 0, 0, 0),
82 #endif
83 #if (PAD_LIST || CC_ClockSet)
84         TPMA_CC_INITIALIZER(0x0128, 0, 1, 0, 0, 1, 0, 0, 0),
85 #endif
86 #if (PAD_LIST || CC_HierarchyChangeAuth)
87         TPMA_CC_INITIALIZER(0x0129, 0, 1, 0, 0, 1, 0, 0, 0),
88 #endif
89 #if (PAD_LIST || CC_NV_DefineSpace)
90         TPMA_CC_INITIALIZER(0x012A, 0, 1, 0, 0, 1, 0, 0, 0),
91 #endif
92 #if (PAD_LIST || CC_PCR_Allocate)
93         TPMA_CC_INITIALIZER(0x012B, 0, 1, 0, 0, 1, 0, 0, 0),
94 #endif
95 #if (PAD_LIST || CC_PCR_SetAuthPolicy)
96         TPMA_CC_INITIALIZER(0x012C, 0, 1, 0, 0, 1, 0, 0, 0),
97 #endif
98 #if (PAD_LIST || CC_PP_Commands)
99         TPMA_CC_INITIALIZER(0x012D, 0, 1, 0, 0, 1, 0, 0, 0),
100 #endif
101 #if (PAD_LIST || CC_SetPrimaryPolicy)
102         TPMA_CC_INITIALIZER(0x012E, 0, 1, 0, 0, 1, 0, 0, 0),
103 #endif
104 #if (PAD_LIST || CC_FieldUpgradeStart)
105         TPMA_CC_INITIALIZER(0x012F, 0, 0, 0, 0, 2, 0, 0, 0),
106 #endif
107 #if (PAD_LIST || CC_ClockRateAdjust)
108         TPMA_CC_INITIALIZER(0x0130, 0, 0, 0, 0, 1, 0, 0, 0),
109 #endif
110 #if (PAD_LIST || CC_CreatePrimary)
111         TPMA_CC_INITIALIZER(0x0131, 0, 0, 0, 0, 1, 1, 0, 0),
112 #endif
113 #if (PAD_LIST || CC_NV_GlobalWriteLock)
114         TPMA_CC_INITIALIZER(0x0132, 0, 1, 0, 0, 1, 0, 0, 0),
115 #endif
116 #if (PAD_LIST || CC_GetCommandAuditDigest)
117         TPMA_CC_INITIALIZER(0x0133, 0, 1, 0, 0, 2, 0, 0, 0),
118 #endif
119 #if (PAD_LIST || CC_NV_Increment)
120         TPMA_CC_INITIALIZER(0x0134, 0, 1, 0, 0, 2, 0, 0, 0),
121 #endif
122 #if (PAD_LIST || CC_NV_SetBits)
123         TPMA_CC_INITIALIZER(0x0135, 0, 1, 0, 0, 2, 0, 0, 0),
124 #endif
125 #if (PAD_LIST || CC_NV_Extend)
126         TPMA_CC_INITIALIZER(0x0136, 0, 1, 0, 0, 2, 0, 0, 0),
127 #endif
128 #if (PAD_LIST || CC_NV_Write)
129         TPMA_CC_INITIALIZER(0x0137, 0, 1, 0, 0, 2, 0, 0, 0),
130 #endif
131 #if (PAD_LIST || CC_NV_WriteLock)
132         TPMA_CC_INITIALIZER(0x0138, 0, 1, 0, 0, 2, 0, 0, 0),
133 #endif
134 #if (PAD_LIST || CC_DictionaryAttackLockReset)
135         TPMA_CC_INITIALIZER(0x0139, 0, 1, 0, 0, 1, 0, 0, 0),
136 #endif
137 #if (PAD_LIST || CC_DictionaryAttackParameters)
138         TPMA_CC_INITIALIZER(0x013A, 0, 1, 0, 0, 1, 0, 0, 0),
139 #endif
140 #if (PAD_LIST || CC_NV_ChangeAuth)
141         TPMA_CC_INITIALIZER(0x013B, 0, 1, 0, 0, 1, 0, 0, 0),
142 #endif
143 #if (PAD_LIST || CC_PCR_Event)
144         TPMA_CC_INITIALIZER(0x013C, 0, 1, 0, 0, 1, 0, 0, 0),
145 #endif
146 #if (PAD_LIST || CC_PCR_Reset)
147         TPMA_CC_INITIALIZER(0x013D, 0, 1, 0, 0, 1, 0, 0, 0),
148 #endif
149 #if (PAD_LIST || CC_SequenceComplete)
150         TPMA_CC_INITIALIZER(0x013E, 0, 0, 0, 1, 1, 0, 0, 0),
151 #endif
152 #if (PAD_LIST || CC_SetAlgorithmSet)
153         TPMA_CC_INITIALIZER(0x013F, 0, 1, 0, 0, 1, 0, 0, 0),
154 #endif
155 #if (PAD_LIST || CC_SetCommandCodeAuditStatus)
156         TPMA_CC_INITIALIZER(0x0140, 0, 1, 0, 0, 1, 0, 0, 0),
157 #endif
158 #if (PAD_LIST || CC_FieldUpgradeData)
159         TPMA_CC_INITIALIZER(0x0141, 0, 1, 0, 0, 0, 0, 0, 0),
160 #endif
161 #if (PAD_LIST || CC_IncrementalSelfTest)
162         TPMA_CC_INITIALIZER(0x0142, 0, 1, 0, 0, 0, 0, 0, 0),
163 #endif
164 #if (PAD_LIST || CC_SelfTest)
165         TPMA_CC_INITIALIZER(0x0143, 0, 1, 0, 0, 0, 0, 0, 0),
166 #endif
167 #if (PAD_LIST || CC_Startup)
168         TPMA_CC_INITIALIZER(0x0144, 0, 1, 0, 0, 0, 0, 0, 0),
169 #endif
170 #if (PAD_LIST || CC_Shutdown)
171         TPMA_CC_INITIALIZER(0x0145, 0, 1, 0, 0, 0, 0, 0, 0),
172 #endif
173 #if (PAD_LIST || CC_StirRandom)
174         TPMA_CC_INITIALIZER(0x0146, 0, 1, 0, 0, 0, 0, 0, 0),
175 #endif
176 #if (PAD_LIST || CC_ActivateCredential)
177         TPMA_CC_INITIALIZER(0x0147, 0, 0, 0, 0, 2, 0, 0, 0),
178 #endif
179 #if (PAD_LIST || CC_Certify)
180         TPMA_CC_INITIALIZER(0x0148, 0, 0, 0, 0, 2, 0, 0, 0),
181 #endif
182 #if (PAD_LIST || CC_PolicyNV)
183         TPMA_CC_INITIALIZER(0x0149, 0, 0, 0, 0, 3, 0, 0, 0),
184 #endif
185 #if (PAD_LIST || CC_CertifyCreation)
186         TPMA_CC_INITIALIZER(0x014A, 0, 0, 0, 0, 2, 0, 0, 0),
187 #endif
188 #if (PAD_LIST || CC_Duplicate)
189         TPMA_CC_INITIALIZER(0x014B, 0, 0, 0, 0, 2, 0, 0, 0),
190 #endif
191 #if (PAD_LIST || CC_GetTime)
192         TPMA_CC_INITIALIZER(0x014C, 0, 0, 0, 0, 2, 0, 0, 0),
193 #endif
194 #if (PAD_LIST || CC_GetSessionAuditDigest)
195         TPMA_CC_INITIALIZER(0x014D, 0, 0, 0, 0, 3, 0, 0, 0),
196 #endif
197 #if (PAD_LIST || CC_NV_Read)
198         TPMA_CC_INITIALIZER(0x014E, 0, 0, 0, 0, 2, 0, 0, 0),
199 #endif
200 #if (PAD_LIST || CC_NV_ReadLock)
201         TPMA_CC_INITIALIZER(0x014F, 0, 1, 0, 0, 2, 0, 0, 0),
202 #endif
203 #if (PAD_LIST || CC_ObjectChangeAuth)
204         TPMA_CC_INITIALIZER(0x0150, 0, 0, 0, 0, 2, 0, 0, 0),
205 #endif
206 #if (PAD_LIST || CC_PolicySecret)
207         TPMA_CC_INITIALIZER(0x0151, 0, 0, 0, 0, 2, 0, 0, 0),
208 #endif
209 #if (PAD_LIST || CC_Rewrap)
210         TPMA_CC_INITIALIZER(0x0152, 0, 0, 0, 0, 2, 0, 0, 0),
211 #endif
212 #if (PAD_LIST || CC_Create)
213         TPMA_CC_INITIALIZER(0x0153, 0, 0, 0, 0, 1, 0, 0, 0),
214 #endif
215 #if (PAD_LIST || CC_ECDH_ZGen)
216         TPMA_CC_INITIALIZER(0x0154, 0, 0, 0, 0, 1, 0, 0, 0),
217 #endif
218 #if (PAD_LIST || (CC_HMAC || CC_MAC))
219         TPMA_CC_INITIALIZER(0x0155, 0, 0, 0, 0, 1, 0, 0, 0),
220 #endif
221 #if (PAD_LIST || CC_Import)
222         TPMA_CC_INITIALIZER(0x0156, 0, 0, 0, 0, 1, 0, 0, 0),
223 #endif
224 #if (PAD_LIST || CC_Load)
225         TPMA_CC_INITIALIZER(0x0157, 0, 0, 0, 0, 1, 1, 0, 0),
226 #endif
227 #if (PAD_LIST || CC_Quote)
228         TPMA_CC_INITIALIZER(0x0158, 0, 0, 0, 0, 1, 0, 0, 0),
229 #endif
230 #if (PAD_LIST || CC_RSA_Decrypt)
231         TPMA_CC_INITIALIZER(0x0159, 0, 0, 0, 0, 1, 0, 0, 0),
232 #endif
233 #if (PAD_LIST )
234         TPMA_CC_INITIALIZER(0x015A, 0, 0, 0, 0, 0, 0, 0, 0),
235 #endif
236 #if (PAD_LIST || (CC_HMAC_Start || CC_MAC_Start))
237         TPMA_CC_INITIALIZER(0x015B, 0, 0, 0, 0, 1, 1, 0, 0),
238 #endif
239 #if (PAD_LIST || CC_SequenceUpdate)
240         TPMA_CC_INITIALIZER(0x015C, 0, 0, 0, 0, 1, 0, 0, 0),
241 #endif
242 #if (PAD_LIST || CC_Sign)
243         TPMA_CC_INITIALIZER(0x015D, 0, 0, 0, 0, 1, 0, 0, 0),
244 #endif
245 #if (PAD_LIST || CC_Unseal)
246         TPMA_CC_INITIALIZER(0x015E, 0, 0, 0, 0, 1, 0, 0, 0),
247 #endif
248 #if (PAD_LIST )
249         TPMA_CC_INITIALIZER(0x015F, 0, 0, 0, 0, 0, 0, 0, 0),
250 #endif
251 #if (PAD_LIST || CC_PolicySigned)
252         TPMA_CC_INITIALIZER(0x0160, 0, 0, 0, 0, 2, 0, 0, 0),
253 #endif
254 #if (PAD_LIST || CC_ContextLoad)
255         TPMA_CC_INITIALIZER(0x0161, 0, 0, 0, 0, 0, 1, 0, 0),
256 #endif
257 #if (PAD_LIST || CC_ContextSave)
258         TPMA_CC_INITIALIZER(0x0162, 0, 0, 0, 0, 1, 0, 0, 0),
259 #endif
260 #if (PAD_LIST || CC_ECDH_KeyGen)
261         TPMA_CC_INITIALIZER(0x0163, 0, 0, 0, 0, 1, 0, 0, 0),
262 #endif
263 #if (PAD_LIST || CC_EncryptDecrypt)
264         TPMA_CC_INITIALIZER(0x0164, 0, 0, 0, 0, 1, 0, 0, 0),
265 #endif
266 #if (PAD_LIST || CC_FlushContext)
267         TPMA_CC_INITIALIZER(0x0165, 0, 0, 0, 0, 0, 0, 0, 0),
268 #endif
269 #if (PAD_LIST )
270         TPMA_CC_INITIALIZER(0x0166, 0, 0, 0, 0, 0, 0, 0, 0),
271 #endif
272 #if (PAD_LIST || CC_LoadExternal)
273         TPMA_CC_INITIALIZER(0x0167, 0, 0, 0, 0, 0, 1, 0, 0),
274 #endif
275 #if (PAD_LIST || CC_MakeCredential)
276         TPMA_CC_INITIALIZER(0x0168, 0, 0, 0, 0, 1, 0, 0, 0),
277 #endif
278 #if (PAD_LIST || CC_NV_ReadPublic)
279         TPMA_CC_INITIALIZER(0x0169, 0, 0, 0, 0, 1, 0, 0, 0),
280 #endif
281 #if (PAD_LIST || CC_PolicyAuthorize)
282         TPMA_CC_INITIALIZER(0x016A, 0, 0, 0, 0, 1, 0, 0, 0),
283 #endif
284 #if (PAD_LIST || CC_PolicyAuthValue)
285         TPMA_CC_INITIALIZER(0x016B, 0, 0, 0, 0, 1, 0, 0, 0),
286 #endif
287 #if (PAD_LIST || CC_PolicyCommandCode)
288         TPMA_CC_INITIALIZER(0x016C, 0, 0, 0, 0, 1, 0, 0, 0),
289 #endif
290 #if (PAD_LIST || CC_PolicyCounterTimer)
291         TPMA_CC_INITIALIZER(0x016D, 0, 0, 0, 0, 1, 0, 0, 0),
292 #endif
293 #if (PAD_LIST || CC_PolicyCpHash)
294         TPMA_CC_INITIALIZER(0x016E, 0, 0, 0, 0, 1, 0, 0, 0),
295 #endif
296 #if (PAD_LIST || CC_PolicyLocality)
297         TPMA_CC_INITIALIZER(0x016F, 0, 0, 0, 0, 1, 0, 0, 0),
298 #endif
299 #if (PAD_LIST || CC_PolicyNameHash)
300         TPMA_CC_INITIALIZER(0x0170, 0, 0, 0, 0, 1, 0, 0, 0),
301 #endif
302 #if (PAD_LIST || CC_PolicyOR)
303         TPMA_CC_INITIALIZER(0x0171, 0, 0, 0, 0, 1, 0, 0, 0),
304 #endif
305 #if (PAD_LIST || CC_PolicyTicket)
306         TPMA_CC_INITIALIZER(0x0172, 0, 0, 0, 0, 1, 0, 0, 0),
307 #endif
308 #if (PAD_LIST || CC_ReadPublic)
309         TPMA_CC_INITIALIZER(0x0173, 0, 0, 0, 0, 1, 0, 0, 0),
310 #endif
311 #if (PAD_LIST || CC_RSA_Encrypt)
312         TPMA_CC_INITIALIZER(0x0174, 0, 0, 0, 0, 1, 0, 0, 0),
313 #endif
314 #if (PAD_LIST )
315         TPMA_CC_INITIALIZER(0x0175, 0, 0, 0, 0, 0, 0, 0, 0),
316 #endif
317 #if (PAD_LIST || CC_StartAuthSession)
318         TPMA_CC_INITIALIZER(0x0176, 0, 0, 0, 0, 2, 1, 0, 0),
319 #endif
320 #if (PAD_LIST || CC_VerifySignature)
321         TPMA_CC_INITIALIZER(0x0177, 0, 0, 0, 0, 1, 0, 0, 0),
322 #endif
323 #if (PAD_LIST || CC_ECC_Parameters)
324         TPMA_CC_INITIALIZER(0x0178, 0, 0, 0, 0, 0, 0, 0, 0),
325 #endif
326 #if (PAD_LIST || CC_FirmwareRead)
327         TPMA_CC_INITIALIZER(0x0179, 0, 0, 0, 0, 0, 0, 0, 0),
328 #endif
329 #if (PAD_LIST || CC_GetCapability)
330         TPMA_CC_INITIALIZER(0x017A, 0, 0, 0, 0, 0, 0, 0, 0),
331 #endif
332 #if (PAD_LIST || CC_GetRandom)
333         TPMA_CC_INITIALIZER(0x017B, 0, 0, 0, 0, 0, 0, 0, 0),
334 #endif
335 #if (PAD_LIST || CC_GetTestResult)
336         TPMA_CC_INITIALIZER(0x017C, 0, 0, 0, 0, 0, 0, 0, 0),
337 #endif
338 #if (PAD_LIST || CC_Hash)
339         TPMA_CC_INITIALIZER(0x017D, 0, 0, 0, 0, 0, 0, 0, 0),
340 #endif
341 #if (PAD_LIST || CC_PCR_Read)
342         TPMA_CC_INITIALIZER(0x017E, 0, 0, 0, 0, 0, 0, 0, 0),
343 #endif
344 #if (PAD_LIST || CC_PolicyPCR)
345         TPMA_CC_INITIALIZER(0x017F, 0, 0, 0, 0, 1, 0, 0, 0),
346 #endif
347 #if (PAD_LIST || CC_PolicyRestart)
348         TPMA_CC_INITIALIZER(0x0180, 0, 0, 0, 0, 1, 0, 0, 0),
349 #endif
350 #if (PAD_LIST || CC_ReadClock)
351         TPMA_CC_INITIALIZER(0x0181, 0, 0, 0, 0, 0, 0, 0, 0),
352 #endif
353 #if (PAD_LIST || CC_PCR_Extend)
354         TPMA_CC_INITIALIZER(0x0182, 0, 1, 0, 0, 1, 0, 0, 0),
355 #endif
356 #if (PAD_LIST || CC_PCR_SetAuthValue)
357         TPMA_CC_INITIALIZER(0x0183, 0, 0, 0, 0, 1, 0, 0, 0),
358 #endif
359 #if (PAD_LIST || CC_NV_Certify)
360         TPMA_CC_INITIALIZER(0x0184, 0, 0, 0, 0, 3, 0, 0, 0),
361 #endif
362 #if (PAD_LIST || CC_EventSequenceComplete)
363         TPMA_CC_INITIALIZER(0x0185, 0, 1, 0, 1, 2, 0, 0, 0),
364 #endif
365 #if (PAD_LIST || CC_HashSequenceStart)
366         TPMA_CC_INITIALIZER(0x0186, 0, 0, 0, 0, 0, 1, 0, 0),
367 #endif
368 #if (PAD_LIST || CC_PolicyPhysicalPresence)
369         TPMA_CC_INITIALIZER(0x0187, 0, 0, 0, 0, 1, 0, 0, 0),
370 #endif
371 #if (PAD_LIST || CC_PolicyDuplicationSelect)
372         TPMA_CC_INITIALIZER(0x0188, 0, 0, 0, 0, 1, 0, 0, 0),
373 #endif
374 #if (PAD_LIST || CC_PolicyGetDigest)
375         TPMA_CC_INITIALIZER(0x0189, 0, 0, 0, 0, 1, 0, 0, 0),
376 #endif
377 #if (PAD_LIST || CC_TestParms)
378         TPMA_CC_INITIALIZER(0x018A, 0, 0, 0, 0, 0, 0, 0, 0),
379 #endif
380 #if (PAD_LIST || CC_Commit)
381         TPMA_CC_INITIALIZER(0x018B, 0, 0, 0, 0, 1, 0, 0, 0),
382 #endif
383 #if (PAD_LIST || CC_PolicyPassword)
384         TPMA_CC_INITIALIZER(0x018C, 0, 0, 0, 0, 1, 0, 0, 0),
385 #endif
386 #if (PAD_LIST || CC_ZGen_2Phase)
387         TPMA_CC_INITIALIZER(0x018D, 0, 0, 0, 0, 1, 0, 0, 0),
388 #endif
389 #if (PAD_LIST || CC_EC_Ephemeral)
390         TPMA_CC_INITIALIZER(0x018E, 0, 0, 0, 0, 0, 0, 0, 0),
391 #endif
392 #if (PAD_LIST || CC_PolicyNvWritten)
393         TPMA_CC_INITIALIZER(0x018F, 0, 0, 0, 0, 1, 0, 0, 0),
394 #endif
395 #if (PAD_LIST || CC_PolicyTemplate)
396         TPMA_CC_INITIALIZER(0x0190, 0, 0, 0, 0, 1, 0, 0, 0),
397 #endif
398 #if (PAD_LIST || CC_CreateLoaded)
399         TPMA_CC_INITIALIZER(0x0191, 0, 0, 0, 0, 1, 1, 0, 0),
400 #endif
401 #if (PAD_LIST || CC_PolicyAuthorizeNV)
402         TPMA_CC_INITIALIZER(0x0192, 0, 0, 0, 0, 3, 0, 0, 0),
403 #endif
404 #if (PAD_LIST || CC_EncryptDecrypt2)
405         TPMA_CC_INITIALIZER(0x0193, 0, 0, 0, 0, 1, 0, 0, 0),
406 #endif
407 #if (PAD_LIST || CC_AC_GetCapability)
408         TPMA_CC_INITIALIZER(0x0194, 0, 0, 0, 0, 1, 0, 0, 0),
409 #endif
410 #if (PAD_LIST || CC_AC_Send)
411         TPMA_CC_INITIALIZER(0x0195, 0, 0, 0, 0, 3, 0, 0, 0),
412 #endif
413 #if (PAD_LIST || CC_Policy_AC_SendSelect)
414         TPMA_CC_INITIALIZER(0x0196, 0, 0, 0, 0, 1, 0, 0, 0),
415 #endif
416 #if (PAD_LIST || CC_CertifyX509)
417         TPMA_CC_INITIALIZER(0x0197, 0, 0, 0, 0, 2, 0, 0, 0),
418 #endif
419 #if (PAD_LIST || CC_ACT_SetTimeout)
420         TPMA_CC_INITIALIZER(0x0198, 0, 0, 0, 0, 1, 0, 0, 0),
421 #endif
422 #if (PAD_LIST || CC_ECC_Encrypt)
423         TPMA_CC_INITIALIZER(0x0199, 0, 0, 0, 0, 1, 0, 0, 0),
424 #endif
425 #if (PAD_LIST || CC_ECC_Decrypt)
426         TPMA_CC_INITIALIZER(0x019A, 0, 0, 0, 0, 1, 0, 0, 0),
427 #endif
428 #if (PAD_LIST || CC_Vendor_TCG_Test)
429         TPMA_CC_INITIALIZER(0x0000, 0, 0, 0, 0, 0, 0, 1, 0),
430 #endif
431         TPMA_ZERO_INITIALIZER()
432 };
433 
434 
435 
436 // This is the command code attribute structure.
437 const COMMAND_ATTRIBUTES    s_commandAttributes [] = {
438 #if (PAD_LIST || CC_NV_UndefineSpaceSpecial)
439         (COMMAND_ATTRIBUTES)(CC_NV_UndefineSpaceSpecial     *  // 0x011F
440             (IS_IMPLEMENTED+HANDLE_1_ADMIN+HANDLE_2_USER+PP_COMMAND)),
441 #endif
442 #if (PAD_LIST || CC_EvictControl)
443         (COMMAND_ATTRIBUTES)(CC_EvictControl                *  // 0x0120
444             (IS_IMPLEMENTED+HANDLE_1_USER+PP_COMMAND)),
445 #endif
446 #if (PAD_LIST || CC_HierarchyControl)
447         (COMMAND_ATTRIBUTES)(CC_HierarchyControl            *  // 0x0121
448             (IS_IMPLEMENTED+HANDLE_1_USER+PP_COMMAND)),
449 #endif
450 #if (PAD_LIST || CC_NV_UndefineSpace)
451         (COMMAND_ATTRIBUTES)(CC_NV_UndefineSpace            *  // 0x0122
452             (IS_IMPLEMENTED+HANDLE_1_USER+PP_COMMAND)),
453 #endif
454 #if (PAD_LIST )
455         (COMMAND_ATTRIBUTES)(0),                               // 0x0123
456 #endif
457 #if (PAD_LIST || CC_ChangeEPS)
458         (COMMAND_ATTRIBUTES)(CC_ChangeEPS                   *  // 0x0124
459             (IS_IMPLEMENTED+HANDLE_1_USER+PP_COMMAND)),
460 #endif
461 #if (PAD_LIST || CC_ChangePPS)
462         (COMMAND_ATTRIBUTES)(CC_ChangePPS                   *  // 0x0125
463             (IS_IMPLEMENTED+HANDLE_1_USER+PP_COMMAND)),
464 #endif
465 #if (PAD_LIST || CC_Clear)
466         (COMMAND_ATTRIBUTES)(CC_Clear                       *  // 0x0126
467             (IS_IMPLEMENTED+HANDLE_1_USER+PP_COMMAND)),
468 #endif
469 #if (PAD_LIST || CC_ClearControl)
470         (COMMAND_ATTRIBUTES)(CC_ClearControl                *  // 0x0127
471             (IS_IMPLEMENTED+HANDLE_1_USER+PP_COMMAND)),
472 #endif
473 #if (PAD_LIST || CC_ClockSet)
474         (COMMAND_ATTRIBUTES)(CC_ClockSet                    *  // 0x0128
475             (IS_IMPLEMENTED+HANDLE_1_USER+PP_COMMAND)),
476 #endif
477 #if (PAD_LIST || CC_HierarchyChangeAuth)
478         (COMMAND_ATTRIBUTES)(CC_HierarchyChangeAuth         *  // 0x0129
479             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+PP_COMMAND)),
480 #endif
481 #if (PAD_LIST || CC_NV_DefineSpace)
482         (COMMAND_ATTRIBUTES)(CC_NV_DefineSpace              *  // 0x012A
483             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+PP_COMMAND)),
484 #endif
485 #if (PAD_LIST || CC_PCR_Allocate)
486         (COMMAND_ATTRIBUTES)(CC_PCR_Allocate                *  // 0x012B
487             (IS_IMPLEMENTED+HANDLE_1_USER+PP_COMMAND)),
488 #endif
489 #if (PAD_LIST || CC_PCR_SetAuthPolicy)
490         (COMMAND_ATTRIBUTES)(CC_PCR_SetAuthPolicy           *  // 0x012C
491             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+PP_COMMAND)),
492 #endif
493 #if (PAD_LIST || CC_PP_Commands)
494         (COMMAND_ATTRIBUTES)(CC_PP_Commands                 *  // 0x012D
495             (IS_IMPLEMENTED+HANDLE_1_USER+PP_REQUIRED)),
496 #endif
497 #if (PAD_LIST || CC_SetPrimaryPolicy)
498         (COMMAND_ATTRIBUTES)(CC_SetPrimaryPolicy            *  // 0x012E
499             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+PP_COMMAND)),
500 #endif
501 #if (PAD_LIST || CC_FieldUpgradeStart)
502         (COMMAND_ATTRIBUTES)(CC_FieldUpgradeStart           *  // 0x012F
503             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_ADMIN+PP_COMMAND)),
504 #endif
505 #if (PAD_LIST || CC_ClockRateAdjust)
506         (COMMAND_ATTRIBUTES)(CC_ClockRateAdjust             *  // 0x0130
507             (IS_IMPLEMENTED+HANDLE_1_USER+PP_COMMAND)),
508 #endif
509 #if (PAD_LIST || CC_CreatePrimary)
510         (COMMAND_ATTRIBUTES)(CC_CreatePrimary               *  // 0x0131
511             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+PP_COMMAND+ENCRYPT_2+R_HANDLE)),
512 #endif
513 #if (PAD_LIST || CC_NV_GlobalWriteLock)
514         (COMMAND_ATTRIBUTES)(CC_NV_GlobalWriteLock          *  // 0x0132
515             (IS_IMPLEMENTED+HANDLE_1_USER+PP_COMMAND)),
516 #endif
517 #if (PAD_LIST || CC_GetCommandAuditDigest)
518         (COMMAND_ATTRIBUTES)(CC_GetCommandAuditDigest       *  // 0x0133
519             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+HANDLE_2_USER+ENCRYPT_2)),
520 #endif
521 #if (PAD_LIST || CC_NV_Increment)
522         (COMMAND_ATTRIBUTES)(CC_NV_Increment                *  // 0x0134
523             (IS_IMPLEMENTED+HANDLE_1_USER)),
524 #endif
525 #if (PAD_LIST || CC_NV_SetBits)
526         (COMMAND_ATTRIBUTES)(CC_NV_SetBits                  *  // 0x0135
527             (IS_IMPLEMENTED+HANDLE_1_USER)),
528 #endif
529 #if (PAD_LIST || CC_NV_Extend)
530         (COMMAND_ATTRIBUTES)(CC_NV_Extend                   *  // 0x0136
531             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER)),
532 #endif
533 #if (PAD_LIST || CC_NV_Write)
534         (COMMAND_ATTRIBUTES)(CC_NV_Write                    *  // 0x0137
535             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER)),
536 #endif
537 #if (PAD_LIST || CC_NV_WriteLock)
538         (COMMAND_ATTRIBUTES)(CC_NV_WriteLock                *  // 0x0138
539             (IS_IMPLEMENTED+HANDLE_1_USER)),
540 #endif
541 #if (PAD_LIST || CC_DictionaryAttackLockReset)
542         (COMMAND_ATTRIBUTES)(CC_DictionaryAttackLockReset   *  // 0x0139
543             (IS_IMPLEMENTED+HANDLE_1_USER)),
544 #endif
545 #if (PAD_LIST || CC_DictionaryAttackParameters)
546         (COMMAND_ATTRIBUTES)(CC_DictionaryAttackParameters  *  // 0x013A
547             (IS_IMPLEMENTED+HANDLE_1_USER)),
548 #endif
549 #if (PAD_LIST || CC_NV_ChangeAuth)
550         (COMMAND_ATTRIBUTES)(CC_NV_ChangeAuth               *  // 0x013B
551             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_ADMIN)),
552 #endif
553 #if (PAD_LIST || CC_PCR_Event)
554         (COMMAND_ATTRIBUTES)(CC_PCR_Event                   *  // 0x013C
555             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER)),
556 #endif
557 #if (PAD_LIST || CC_PCR_Reset)
558         (COMMAND_ATTRIBUTES)(CC_PCR_Reset                   *  // 0x013D
559             (IS_IMPLEMENTED+HANDLE_1_USER)),
560 #endif
561 #if (PAD_LIST || CC_SequenceComplete)
562         (COMMAND_ATTRIBUTES)(CC_SequenceComplete            *  // 0x013E
563             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+ENCRYPT_2)),
564 #endif
565 #if (PAD_LIST || CC_SetAlgorithmSet)
566         (COMMAND_ATTRIBUTES)(CC_SetAlgorithmSet             *  // 0x013F
567             (IS_IMPLEMENTED+HANDLE_1_USER)),
568 #endif
569 #if (PAD_LIST || CC_SetCommandCodeAuditStatus)
570         (COMMAND_ATTRIBUTES)(CC_SetCommandCodeAuditStatus   *  // 0x0140
571             (IS_IMPLEMENTED+HANDLE_1_USER+PP_COMMAND)),
572 #endif
573 #if (PAD_LIST || CC_FieldUpgradeData)
574         (COMMAND_ATTRIBUTES)(CC_FieldUpgradeData            *  // 0x0141
575             (IS_IMPLEMENTED+DECRYPT_2)),
576 #endif
577 #if (PAD_LIST || CC_IncrementalSelfTest)
578         (COMMAND_ATTRIBUTES)(CC_IncrementalSelfTest         *  // 0x0142
579             (IS_IMPLEMENTED)),
580 #endif
581 #if (PAD_LIST || CC_SelfTest)
582         (COMMAND_ATTRIBUTES)(CC_SelfTest                    *  // 0x0143
583             (IS_IMPLEMENTED)),
584 #endif
585 #if (PAD_LIST || CC_Startup)
586         (COMMAND_ATTRIBUTES)(CC_Startup                     *  // 0x0144
587             (IS_IMPLEMENTED+NO_SESSIONS)),
588 #endif
589 #if (PAD_LIST || CC_Shutdown)
590         (COMMAND_ATTRIBUTES)(CC_Shutdown                    *  // 0x0145
591             (IS_IMPLEMENTED)),
592 #endif
593 #if (PAD_LIST || CC_StirRandom)
594         (COMMAND_ATTRIBUTES)(CC_StirRandom                  *  // 0x0146
595             (IS_IMPLEMENTED+DECRYPT_2)),
596 #endif
597 #if (PAD_LIST || CC_ActivateCredential)
598         (COMMAND_ATTRIBUTES)(CC_ActivateCredential          *  // 0x0147
599             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_ADMIN+HANDLE_2_USER+ENCRYPT_2)),
600 #endif
601 #if (PAD_LIST || CC_Certify)
602         (COMMAND_ATTRIBUTES)(CC_Certify                     *  // 0x0148
603             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_ADMIN+HANDLE_2_USER+ENCRYPT_2)),
604 #endif
605 #if (PAD_LIST || CC_PolicyNV)
606         (COMMAND_ATTRIBUTES)(CC_PolicyNV                    *  // 0x0149
607             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+ALLOW_TRIAL)),
608 #endif
609 #if (PAD_LIST || CC_CertifyCreation)
610         (COMMAND_ATTRIBUTES)(CC_CertifyCreation             *  // 0x014A
611             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+ENCRYPT_2)),
612 #endif
613 #if (PAD_LIST || CC_Duplicate)
614         (COMMAND_ATTRIBUTES)(CC_Duplicate                   *  // 0x014B
615             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_DUP+ENCRYPT_2)),
616 #endif
617 #if (PAD_LIST || CC_GetTime)
618         (COMMAND_ATTRIBUTES)(CC_GetTime                     *  // 0x014C
619             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+HANDLE_2_USER+ENCRYPT_2)),
620 #endif
621 #if (PAD_LIST || CC_GetSessionAuditDigest)
622         (COMMAND_ATTRIBUTES)(CC_GetSessionAuditDigest       *  // 0x014D
623             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+HANDLE_2_USER+ENCRYPT_2)),
624 #endif
625 #if (PAD_LIST || CC_NV_Read)
626         (COMMAND_ATTRIBUTES)(CC_NV_Read                     *  // 0x014E
627             (IS_IMPLEMENTED+HANDLE_1_USER+ENCRYPT_2)),
628 #endif
629 #if (PAD_LIST || CC_NV_ReadLock)
630         (COMMAND_ATTRIBUTES)(CC_NV_ReadLock                 *  // 0x014F
631             (IS_IMPLEMENTED+HANDLE_1_USER)),
632 #endif
633 #if (PAD_LIST || CC_ObjectChangeAuth)
634         (COMMAND_ATTRIBUTES)(CC_ObjectChangeAuth            *  // 0x0150
635             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_ADMIN+ENCRYPT_2)),
636 #endif
637 #if (PAD_LIST || CC_PolicySecret)
638         (COMMAND_ATTRIBUTES)(CC_PolicySecret                *  // 0x0151
639             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+ALLOW_TRIAL+ENCRYPT_2)),
640 #endif
641 #if (PAD_LIST || CC_Rewrap)
642         (COMMAND_ATTRIBUTES)(CC_Rewrap                      *  // 0x0152
643             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+ENCRYPT_2)),
644 #endif
645 #if (PAD_LIST || CC_Create)
646         (COMMAND_ATTRIBUTES)(CC_Create                      *  // 0x0153
647             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+ENCRYPT_2)),
648 #endif
649 #if (PAD_LIST || CC_ECDH_ZGen)
650         (COMMAND_ATTRIBUTES)(CC_ECDH_ZGen                   *  // 0x0154
651             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+ENCRYPT_2)),
652 #endif
653 #if (PAD_LIST || (CC_HMAC || CC_MAC))
654         (COMMAND_ATTRIBUTES)((CC_HMAC || CC_MAC)            *  // 0x0155
655             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+ENCRYPT_2)),
656 #endif
657 #if (PAD_LIST || CC_Import)
658         (COMMAND_ATTRIBUTES)(CC_Import                      *  // 0x0156
659             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+ENCRYPT_2)),
660 #endif
661 #if (PAD_LIST || CC_Load)
662         (COMMAND_ATTRIBUTES)(CC_Load                        *  // 0x0157
663             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+ENCRYPT_2+R_HANDLE)),
664 #endif
665 #if (PAD_LIST || CC_Quote)
666         (COMMAND_ATTRIBUTES)(CC_Quote                       *  // 0x0158
667             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+ENCRYPT_2)),
668 #endif
669 #if (PAD_LIST || CC_RSA_Decrypt)
670         (COMMAND_ATTRIBUTES)(CC_RSA_Decrypt                 *  // 0x0159
671             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+ENCRYPT_2)),
672 #endif
673 #if (PAD_LIST )
674         (COMMAND_ATTRIBUTES)(0),                               // 0x015A
675 #endif
676 #if (PAD_LIST || (CC_HMAC_Start || CC_MAC_Start))
677         (COMMAND_ATTRIBUTES)((CC_HMAC_Start || CC_MAC_Start) *  // 0x015B
678             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+R_HANDLE)),
679 #endif
680 #if (PAD_LIST || CC_SequenceUpdate)
681         (COMMAND_ATTRIBUTES)(CC_SequenceUpdate              *  // 0x015C
682             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER)),
683 #endif
684 #if (PAD_LIST || CC_Sign)
685         (COMMAND_ATTRIBUTES)(CC_Sign                        *  // 0x015D
686             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER)),
687 #endif
688 #if (PAD_LIST || CC_Unseal)
689         (COMMAND_ATTRIBUTES)(CC_Unseal                      *  // 0x015E
690             (IS_IMPLEMENTED+HANDLE_1_USER+ENCRYPT_2)),
691 #endif
692 #if (PAD_LIST )
693         (COMMAND_ATTRIBUTES)(0),                               // 0x015F
694 #endif
695 #if (PAD_LIST || CC_PolicySigned)
696         (COMMAND_ATTRIBUTES)(CC_PolicySigned                *  // 0x0160
697             (IS_IMPLEMENTED+DECRYPT_2+ALLOW_TRIAL+ENCRYPT_2)),
698 #endif
699 #if (PAD_LIST || CC_ContextLoad)
700         (COMMAND_ATTRIBUTES)(CC_ContextLoad                 *  // 0x0161
701             (IS_IMPLEMENTED+NO_SESSIONS+R_HANDLE)),
702 #endif
703 #if (PAD_LIST || CC_ContextSave)
704         (COMMAND_ATTRIBUTES)(CC_ContextSave                 *  // 0x0162
705             (IS_IMPLEMENTED+NO_SESSIONS)),
706 #endif
707 #if (PAD_LIST || CC_ECDH_KeyGen)
708         (COMMAND_ATTRIBUTES)(CC_ECDH_KeyGen                 *  // 0x0163
709             (IS_IMPLEMENTED+ENCRYPT_2)),
710 #endif
711 #if (PAD_LIST || CC_EncryptDecrypt)
712         (COMMAND_ATTRIBUTES)(CC_EncryptDecrypt              *  // 0x0164
713             (IS_IMPLEMENTED+HANDLE_1_USER+ENCRYPT_2)),
714 #endif
715 #if (PAD_LIST || CC_FlushContext)
716         (COMMAND_ATTRIBUTES)(CC_FlushContext                *  // 0x0165
717             (IS_IMPLEMENTED+NO_SESSIONS)),
718 #endif
719 #if (PAD_LIST )
720         (COMMAND_ATTRIBUTES)(0),                               // 0x0166
721 #endif
722 #if (PAD_LIST || CC_LoadExternal)
723         (COMMAND_ATTRIBUTES)(CC_LoadExternal                *  // 0x0167
724             (IS_IMPLEMENTED+DECRYPT_2+ENCRYPT_2+R_HANDLE)),
725 #endif
726 #if (PAD_LIST || CC_MakeCredential)
727         (COMMAND_ATTRIBUTES)(CC_MakeCredential              *  // 0x0168
728             (IS_IMPLEMENTED+DECRYPT_2+ENCRYPT_2)),
729 #endif
730 #if (PAD_LIST || CC_NV_ReadPublic)
731         (COMMAND_ATTRIBUTES)(CC_NV_ReadPublic               *  // 0x0169
732             (IS_IMPLEMENTED+ENCRYPT_2)),
733 #endif
734 #if (PAD_LIST || CC_PolicyAuthorize)
735         (COMMAND_ATTRIBUTES)(CC_PolicyAuthorize             *  // 0x016A
736             (IS_IMPLEMENTED+DECRYPT_2+ALLOW_TRIAL)),
737 #endif
738 #if (PAD_LIST || CC_PolicyAuthValue)
739         (COMMAND_ATTRIBUTES)(CC_PolicyAuthValue             *  // 0x016B
740             (IS_IMPLEMENTED+ALLOW_TRIAL)),
741 #endif
742 #if (PAD_LIST || CC_PolicyCommandCode)
743         (COMMAND_ATTRIBUTES)(CC_PolicyCommandCode           *  // 0x016C
744             (IS_IMPLEMENTED+ALLOW_TRIAL)),
745 #endif
746 #if (PAD_LIST || CC_PolicyCounterTimer)
747         (COMMAND_ATTRIBUTES)(CC_PolicyCounterTimer          *  // 0x016D
748             (IS_IMPLEMENTED+DECRYPT_2+ALLOW_TRIAL)),
749 #endif
750 #if (PAD_LIST || CC_PolicyCpHash)
751         (COMMAND_ATTRIBUTES)(CC_PolicyCpHash                *  // 0x016E
752             (IS_IMPLEMENTED+DECRYPT_2+ALLOW_TRIAL)),
753 #endif
754 #if (PAD_LIST || CC_PolicyLocality)
755         (COMMAND_ATTRIBUTES)(CC_PolicyLocality              *  // 0x016F
756             (IS_IMPLEMENTED+ALLOW_TRIAL)),
757 #endif
758 #if (PAD_LIST || CC_PolicyNameHash)
759         (COMMAND_ATTRIBUTES)(CC_PolicyNameHash              *  // 0x0170
760             (IS_IMPLEMENTED+DECRYPT_2+ALLOW_TRIAL)),
761 #endif
762 #if (PAD_LIST || CC_PolicyOR)
763         (COMMAND_ATTRIBUTES)(CC_PolicyOR                    *  // 0x0171
764             (IS_IMPLEMENTED+ALLOW_TRIAL)),
765 #endif
766 #if (PAD_LIST || CC_PolicyTicket)
767         (COMMAND_ATTRIBUTES)(CC_PolicyTicket                *  // 0x0172
768             (IS_IMPLEMENTED+DECRYPT_2+ALLOW_TRIAL)),
769 #endif
770 #if (PAD_LIST || CC_ReadPublic)
771         (COMMAND_ATTRIBUTES)(CC_ReadPublic                  *  // 0x0173
772             (IS_IMPLEMENTED+ENCRYPT_2)),
773 #endif
774 #if (PAD_LIST || CC_RSA_Encrypt)
775         (COMMAND_ATTRIBUTES)(CC_RSA_Encrypt                 *  // 0x0174
776             (IS_IMPLEMENTED+DECRYPT_2+ENCRYPT_2)),
777 #endif
778 #if (PAD_LIST )
779         (COMMAND_ATTRIBUTES)(0),                               // 0x0175
780 #endif
781 #if (PAD_LIST || CC_StartAuthSession)
782         (COMMAND_ATTRIBUTES)(CC_StartAuthSession            *  // 0x0176
783             (IS_IMPLEMENTED+DECRYPT_2+ENCRYPT_2+R_HANDLE)),
784 #endif
785 #if (PAD_LIST || CC_VerifySignature)
786         (COMMAND_ATTRIBUTES)(CC_VerifySignature             *  // 0x0177
787             (IS_IMPLEMENTED+DECRYPT_2)),
788 #endif
789 #if (PAD_LIST || CC_ECC_Parameters)
790         (COMMAND_ATTRIBUTES)(CC_ECC_Parameters              *  // 0x0178
791             (IS_IMPLEMENTED)),
792 #endif
793 #if (PAD_LIST || CC_FirmwareRead)
794         (COMMAND_ATTRIBUTES)(CC_FirmwareRead                *  // 0x0179
795             (IS_IMPLEMENTED+ENCRYPT_2)),
796 #endif
797 #if (PAD_LIST || CC_GetCapability)
798         (COMMAND_ATTRIBUTES)(CC_GetCapability               *  // 0x017A
799             (IS_IMPLEMENTED)),
800 #endif
801 #if (PAD_LIST || CC_GetRandom)
802         (COMMAND_ATTRIBUTES)(CC_GetRandom                   *  // 0x017B
803             (IS_IMPLEMENTED+ENCRYPT_2)),
804 #endif
805 #if (PAD_LIST || CC_GetTestResult)
806         (COMMAND_ATTRIBUTES)(CC_GetTestResult               *  // 0x017C
807             (IS_IMPLEMENTED+ENCRYPT_2)),
808 #endif
809 #if (PAD_LIST || CC_Hash)
810         (COMMAND_ATTRIBUTES)(CC_Hash                        *  // 0x017D
811             (IS_IMPLEMENTED+DECRYPT_2+ENCRYPT_2)),
812 #endif
813 #if (PAD_LIST || CC_PCR_Read)
814         (COMMAND_ATTRIBUTES)(CC_PCR_Read                    *  // 0x017E
815             (IS_IMPLEMENTED)),
816 #endif
817 #if (PAD_LIST || CC_PolicyPCR)
818         (COMMAND_ATTRIBUTES)(CC_PolicyPCR                   *  // 0x017F
819             (IS_IMPLEMENTED+DECRYPT_2+ALLOW_TRIAL)),
820 #endif
821 #if (PAD_LIST || CC_PolicyRestart)
822         (COMMAND_ATTRIBUTES)(CC_PolicyRestart               *  // 0x0180
823             (IS_IMPLEMENTED+ALLOW_TRIAL)),
824 #endif
825 #if (PAD_LIST || CC_ReadClock)
826         (COMMAND_ATTRIBUTES)(CC_ReadClock                   *  // 0x0181
827             (IS_IMPLEMENTED)),
828 #endif
829 #if (PAD_LIST || CC_PCR_Extend)
830         (COMMAND_ATTRIBUTES)(CC_PCR_Extend                  *  // 0x0182
831             (IS_IMPLEMENTED+HANDLE_1_USER)),
832 #endif
833 #if (PAD_LIST || CC_PCR_SetAuthValue)
834         (COMMAND_ATTRIBUTES)(CC_PCR_SetAuthValue            *  // 0x0183
835             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER)),
836 #endif
837 #if (PAD_LIST || CC_NV_Certify)
838         (COMMAND_ATTRIBUTES)(CC_NV_Certify                  *  // 0x0184
839             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+HANDLE_2_USER+ENCRYPT_2)),
840 #endif
841 #if (PAD_LIST || CC_EventSequenceComplete)
842         (COMMAND_ATTRIBUTES)(CC_EventSequenceComplete       *  // 0x0185
843             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+HANDLE_2_USER)),
844 #endif
845 #if (PAD_LIST || CC_HashSequenceStart)
846         (COMMAND_ATTRIBUTES)(CC_HashSequenceStart           *  // 0x0186
847             (IS_IMPLEMENTED+DECRYPT_2+R_HANDLE)),
848 #endif
849 #if (PAD_LIST || CC_PolicyPhysicalPresence)
850         (COMMAND_ATTRIBUTES)(CC_PolicyPhysicalPresence      *  // 0x0187
851             (IS_IMPLEMENTED+ALLOW_TRIAL)),
852 #endif
853 #if (PAD_LIST || CC_PolicyDuplicationSelect)
854         (COMMAND_ATTRIBUTES)(CC_PolicyDuplicationSelect     *  // 0x0188
855             (IS_IMPLEMENTED+DECRYPT_2+ALLOW_TRIAL)),
856 #endif
857 #if (PAD_LIST || CC_PolicyGetDigest)
858         (COMMAND_ATTRIBUTES)(CC_PolicyGetDigest             *  // 0x0189
859             (IS_IMPLEMENTED+ALLOW_TRIAL+ENCRYPT_2)),
860 #endif
861 #if (PAD_LIST || CC_TestParms)
862         (COMMAND_ATTRIBUTES)(CC_TestParms                   *  // 0x018A
863             (IS_IMPLEMENTED)),
864 #endif
865 #if (PAD_LIST || CC_Commit)
866         (COMMAND_ATTRIBUTES)(CC_Commit                      *  // 0x018B
867             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+ENCRYPT_2)),
868 #endif
869 #if (PAD_LIST || CC_PolicyPassword)
870         (COMMAND_ATTRIBUTES)(CC_PolicyPassword              *  // 0x018C
871             (IS_IMPLEMENTED+ALLOW_TRIAL)),
872 #endif
873 #if (PAD_LIST || CC_ZGen_2Phase)
874         (COMMAND_ATTRIBUTES)(CC_ZGen_2Phase                 *  // 0x018D
875             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+ENCRYPT_2)),
876 #endif
877 #if (PAD_LIST || CC_EC_Ephemeral)
878         (COMMAND_ATTRIBUTES)(CC_EC_Ephemeral                *  // 0x018E
879             (IS_IMPLEMENTED+ENCRYPT_2)),
880 #endif
881 #if (PAD_LIST || CC_PolicyNvWritten)
882         (COMMAND_ATTRIBUTES)(CC_PolicyNvWritten             *  // 0x018F
883             (IS_IMPLEMENTED+ALLOW_TRIAL)),
884 #endif
885 #if (PAD_LIST || CC_PolicyTemplate)
886         (COMMAND_ATTRIBUTES)(CC_PolicyTemplate              *  // 0x0190
887             (IS_IMPLEMENTED+DECRYPT_2+ALLOW_TRIAL)),
888 #endif
889 #if (PAD_LIST || CC_CreateLoaded)
890         (COMMAND_ATTRIBUTES)(CC_CreateLoaded                *  // 0x0191
891             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+PP_COMMAND+ENCRYPT_2+R_HANDLE)),
892 #endif
893 #if (PAD_LIST || CC_PolicyAuthorizeNV)
894         (COMMAND_ATTRIBUTES)(CC_PolicyAuthorizeNV           *  // 0x0192
895             (IS_IMPLEMENTED+HANDLE_1_USER+ALLOW_TRIAL)),
896 #endif
897 #if (PAD_LIST || CC_EncryptDecrypt2)
898         (COMMAND_ATTRIBUTES)(CC_EncryptDecrypt2             *  // 0x0193
899             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+ENCRYPT_2)),
900 #endif
901 #if (PAD_LIST || CC_AC_GetCapability)
902         (COMMAND_ATTRIBUTES)(CC_AC_GetCapability            *  // 0x0194
903             (IS_IMPLEMENTED)),
904 #endif
905 #if (PAD_LIST || CC_AC_Send)
906         (COMMAND_ATTRIBUTES)(CC_AC_Send                     *  // 0x0195
907             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_DUP+HANDLE_2_USER)),
908 #endif
909 #if (PAD_LIST || CC_Policy_AC_SendSelect)
910         (COMMAND_ATTRIBUTES)(CC_Policy_AC_SendSelect        *  // 0x0196
911             (IS_IMPLEMENTED+DECRYPT_2+ALLOW_TRIAL)),
912 #endif
913 #if (PAD_LIST || CC_CertifyX509)
914         (COMMAND_ATTRIBUTES)(CC_CertifyX509                 *  // 0x0197
915             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_ADMIN+HANDLE_2_USER+ENCRYPT_2)),
916 #endif
917 #if (PAD_LIST || CC_ACT_SetTimeout)
918         (COMMAND_ATTRIBUTES)(CC_ACT_SetTimeout              *  // 0x0198
919             (IS_IMPLEMENTED+HANDLE_1_USER)),
920 #endif
921 #if (PAD_LIST || CC_ECC_Encrypt)
922         (COMMAND_ATTRIBUTES)(CC_ECC_Encrypt                 *  // 0x0199
923             (IS_IMPLEMENTED+DECRYPT_2+ENCRYPT_2)),
924 #endif
925 #if (PAD_LIST || CC_ECC_Decrypt)
926         (COMMAND_ATTRIBUTES)(CC_ECC_Decrypt                 *  // 0x019A
927             (IS_IMPLEMENTED+DECRYPT_2+HANDLE_1_USER+ENCRYPT_2)),
928 #endif
929 #if (PAD_LIST || CC_Vendor_TCG_Test)
930         (COMMAND_ATTRIBUTES)(CC_Vendor_TCG_Test             *  // 0x0000
931             (IS_IMPLEMENTED+DECRYPT_2+ENCRYPT_2)),
932 #endif
933         0
934 };
935 
936 
937 #endif  // _COMMAND_CODE_ATTRIBUTES_
938