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: Mar  4, 2020  Time: 02:36:43PM
38  */
39 
40 #ifndef _TPM_PROFILE_H_
41 #define _TPM_PROFILE_H_
42 
43 // Table 2:4 - Defines for Logic Values
44 #undef TRUE
45 #define TRUE                1
46 #undef FALSE
47 #define FALSE               0
48 #undef YES
49 #define YES                 1
50 #undef NO
51 #define NO                  0
52 #undef SET
53 #define SET                 1
54 #undef CLEAR
55 #define CLEAR               0
56 
57 // Table 0:1 - Defines for Processor Values
58 #ifndef BIG_ENDIAN_TPM
59 #define BIG_ENDIAN_TPM              NO
60 #endif
61 #ifndef LITTLE_ENDIAN_TPM
62 #define LITTLE_ENDIAN_TPM           !BIG_ENDIAN_TPM
63 #endif
64 #ifndef MOST_SIGNIFICANT_BIT_0
65 #define MOST_SIGNIFICANT_BIT_0      NO
66 #endif
67 #ifndef LEAST_SIGNIFICANT_BIT_0
68 #define LEAST_SIGNIFICANT_BIT_0     !MOST_SIGNIFICANT_BIT_0
69 #endif
70 #ifndef AUTO_ALIGN
71 #define AUTO_ALIGN                  NO
72 #endif
73 
74 // Table 0:4 - Defines for Implemented Curves
75 #ifndef ECC_NIST_P192
76 #define ECC_NIST_P192                   NO
77 #endif
78 #ifndef ECC_NIST_P224
79 #define ECC_NIST_P224                   NO
80 #endif
81 #ifndef ECC_NIST_P256
82 #define ECC_NIST_P256                   YES
83 #endif
84 #ifndef ECC_NIST_P384
85 #define ECC_NIST_P384                   YES
86 #endif
87 #ifndef ECC_NIST_P521
88 #define ECC_NIST_P521                   NO
89 #endif
90 #ifndef ECC_BN_P256
91 #define ECC_BN_P256                     YES
92 #endif
93 #ifndef ECC_BN_P638
94 #define ECC_BN_P638                     NO
95 #endif
96 #ifndef ECC_SM2_P256
97 #define ECC_SM2_P256                    YES
98 #endif
99 
100 // Table 0:6 - Defines for Implemented ACT
101 #ifndef RH_ACT_0
102 #define RH_ACT_0                        YES
103 #endif
104 #ifndef RH_ACT_1
105 #define RH_ACT_1                        NO
106 #endif
107 #ifndef RH_ACT_A
108 #define RH_ACT_A                        YES
109 #endif
110 
111 // Table 0:7 - Defines for Implementation Values
112 #ifndef FIELD_UPGRADE_IMPLEMENTED
113 #define FIELD_UPGRADE_IMPLEMENTED       NO
114 #endif
115 #ifndef HASH_LIB
116 #define HASH_LIB                        Ossl
117 #endif
118 #ifndef SYM_LIB
119 #define SYM_LIB                         Ossl
120 #endif
121 #ifndef MATH_LIB
122 #define MATH_LIB                        Ossl
123 #endif
124 #ifndef IMPLEMENTATION_PCR
125 #define IMPLEMENTATION_PCR              24
126 #endif
127 #ifndef PLATFORM_PCR
128 #define PLATFORM_PCR                    24
129 #endif
130 #ifndef DRTM_PCR
131 #define DRTM_PCR                        17
132 #endif
133 #ifndef HCRTM_PCR
134 #define HCRTM_PCR                       0
135 #endif
136 #ifndef NUM_LOCALITIES
137 #define NUM_LOCALITIES                  5
138 #endif
139 #ifndef MAX_HANDLE_NUM
140 #define MAX_HANDLE_NUM                  3
141 #endif
142 #ifndef MAX_ACTIVE_SESSIONS
143 #define MAX_ACTIVE_SESSIONS             64
144 #endif
145 #ifndef CONTEXT_SLOT
146 #define CONTEXT_SLOT                    UINT16
147 #endif
148 #ifndef MAX_LOADED_SESSIONS
149 #define MAX_LOADED_SESSIONS             3
150 #endif
151 #ifndef MAX_SESSION_NUM
152 #define MAX_SESSION_NUM                 3
153 #endif
154 #ifndef MAX_LOADED_OBJECTS
155 #define MAX_LOADED_OBJECTS              3
156 #endif
157 #ifndef MIN_EVICT_OBJECTS
158 #define MIN_EVICT_OBJECTS               2
159 #endif
160 #ifndef NUM_POLICY_PCR_GROUP
161 #define NUM_POLICY_PCR_GROUP            1
162 #endif
163 #ifndef NUM_AUTHVALUE_PCR_GROUP
164 #define NUM_AUTHVALUE_PCR_GROUP         1
165 #endif
166 #ifndef MAX_CONTEXT_SIZE
167 #define MAX_CONTEXT_SIZE                1344
168 #endif
169 #ifndef MAX_DIGEST_BUFFER
170 #define MAX_DIGEST_BUFFER               1024
171 #endif
172 #ifndef MAX_NV_INDEX_SIZE
173 #define MAX_NV_INDEX_SIZE               2048
174 #endif
175 #ifndef MAX_NV_BUFFER_SIZE
176 #define MAX_NV_BUFFER_SIZE              1024
177 #endif
178 #ifndef MAX_CAP_BUFFER
179 #define MAX_CAP_BUFFER                  1024
180 #endif
181 #ifndef NV_MEMORY_SIZE
182 #define NV_MEMORY_SIZE                  16384
183 #endif
184 #ifndef MIN_COUNTER_INDICES
185 #define MIN_COUNTER_INDICES             8
186 #endif
187 #ifndef NUM_STATIC_PCR
188 #define NUM_STATIC_PCR                  16
189 #endif
190 #ifndef MAX_ALG_LIST_SIZE
191 #define MAX_ALG_LIST_SIZE               64
192 #endif
193 #ifndef PRIMARY_SEED_SIZE
194 #define PRIMARY_SEED_SIZE               32
195 #endif
196 #ifndef CONTEXT_ENCRYPT_ALGORITHM
197 #define CONTEXT_ENCRYPT_ALGORITHM       AES
198 #endif
199 #ifndef NV_CLOCK_UPDATE_INTERVAL
200 #define NV_CLOCK_UPDATE_INTERVAL        12
201 #endif
202 #ifndef NUM_POLICY_PCR
203 #define NUM_POLICY_PCR                  1
204 #endif
205 #ifndef MAX_COMMAND_SIZE
206 #define MAX_COMMAND_SIZE                4096
207 #endif
208 #ifndef MAX_RESPONSE_SIZE
209 #define MAX_RESPONSE_SIZE               4096
210 #endif
211 #ifndef ORDERLY_BITS
212 #define ORDERLY_BITS                    8
213 #endif
214 #ifndef MAX_SYM_DATA
215 #define MAX_SYM_DATA                    128
216 #endif
217 #ifndef MAX_RNG_ENTROPY_SIZE
218 #define MAX_RNG_ENTROPY_SIZE            64
219 #endif
220 #ifndef RAM_INDEX_SPACE
221 #define RAM_INDEX_SPACE                 512
222 #endif
223 #ifndef RSA_DEFAULT_PUBLIC_EXPONENT
224 #define RSA_DEFAULT_PUBLIC_EXPONENT     0x00010001
225 #endif
226 #ifndef ENABLE_PCR_NO_INCREMENT
227 #define ENABLE_PCR_NO_INCREMENT         YES
228 #endif
229 #ifndef CRT_FORMAT_RSA
230 #define CRT_FORMAT_RSA                  YES
231 #endif
232 #ifndef VENDOR_COMMAND_COUNT
233 #define VENDOR_COMMAND_COUNT            0
234 #endif
235 #ifndef MAX_VENDOR_BUFFER_SIZE
236 #define MAX_VENDOR_BUFFER_SIZE          1024
237 #endif
238 #ifndef SIZE_OF_X509_SERIAL_NUMBER
239 #define SIZE_OF_X509_SERIAL_NUMBER      20
240 #endif
241 #ifndef PRIVATE_VENDOR_SPECIFIC_BYTES
242 #define PRIVATE_VENDOR_SPECIFIC_BYTES   RSA_PRIVATE_SIZE
243 #endif
244 
245 // Table 0:2 - Defines for Implemented Algorithms
246 #ifndef ALG_AES
247 #define ALG_AES                         ALG_YES
248 #endif
249 #ifndef ALG_CAMELLIA
250 #define ALG_CAMELLIA                    ALG_YES
251 #endif
252 #ifndef ALG_CBC
253 #define ALG_CBC                         ALG_YES
254 #endif
255 #ifndef ALG_CFB
256 #define ALG_CFB                         ALG_YES
257 #endif
258 #ifndef ALG_CMAC
259 #define ALG_CMAC                        ALG_YES
260 #endif
261 #ifndef ALG_CTR
262 #define ALG_CTR                         ALG_YES
263 #endif
264 #ifndef ALG_ECB
265 #define ALG_ECB                         ALG_YES
266 #endif
267 #ifndef ALG_ECC
268 #define ALG_ECC                         ALG_YES
269 #endif
270 #ifndef ALG_ECDAA
271 #define ALG_ECDAA                       (ALG_YES && ALG_ECC)
272 #endif
273 #ifndef ALG_ECDH
274 #define ALG_ECDH                        (ALG_YES && ALG_ECC)
275 #endif
276 #ifndef ALG_ECDSA
277 #define ALG_ECDSA                       (ALG_YES && ALG_ECC)
278 #endif
279 #ifndef ALG_ECMQV
280 #define ALG_ECMQV                       (ALG_NO && ALG_ECC)
281 #endif
282 #ifndef ALG_ECSCHNORR
283 #define ALG_ECSCHNORR                   (ALG_YES && ALG_ECC)
284 #endif
285 #ifndef ALG_HMAC
286 #define ALG_HMAC                        ALG_YES
287 #endif
288 #ifndef ALG_KDF1_SP800_108
289 #define ALG_KDF1_SP800_108              ALG_YES
290 #endif
291 #ifndef ALG_KDF1_SP800_56A
292 #define ALG_KDF1_SP800_56A              (ALG_YES && ALG_ECC)
293 #endif
294 #ifndef ALG_KDF2
295 #define ALG_KDF2                        ALG_YES
296 #endif
297 #ifndef ALG_KEYEDHASH
298 #define ALG_KEYEDHASH                   ALG_YES
299 #endif
300 #ifndef ALG_MGF1
301 #define ALG_MGF1                        ALG_YES
302 #endif
303 #ifndef ALG_OAEP
304 #define ALG_OAEP                        (ALG_YES && ALG_RSA)
305 #endif
306 #ifndef ALG_OFB
307 #define ALG_OFB                         ALG_YES
308 #endif
309 #ifndef ALG_RSA
310 #define ALG_RSA                         ALG_YES
311 #endif
312 #ifndef ALG_RSAES
313 #define ALG_RSAES                       (ALG_YES && ALG_RSA)
314 #endif
315 #ifndef ALG_RSAPSS
316 #define ALG_RSAPSS                      (ALG_YES && ALG_RSA)
317 #endif
318 #ifndef ALG_RSASSA
319 #define ALG_RSASSA                      (ALG_YES && ALG_RSA)
320 #endif
321 #ifndef ALG_SHA
322 #define ALG_SHA                         ALG_NO      /* Not specified by vendor */
323 #endif
324 #ifndef ALG_SHA1
325 #define ALG_SHA1                        ALG_YES
326 #endif
327 #ifndef ALG_SHA256
328 #define ALG_SHA256                      ALG_YES
329 #endif
330 #ifndef ALG_SHA384
331 #define ALG_SHA384                      ALG_YES
332 #endif
333 #ifndef ALG_SHA3_256
334 #define ALG_SHA3_256                    ALG_NO      /* Not specified by vendor */
335 #endif
336 #ifndef ALG_SHA3_384
337 #define ALG_SHA3_384                    ALG_NO      /* Not specified by vendor */
338 #endif
339 #ifndef ALG_SHA3_512
340 #define ALG_SHA3_512                    ALG_NO      /* Not specified by vendor */
341 #endif
342 #ifndef ALG_SHA512
343 #define ALG_SHA512                      ALG_NO
344 #endif
345 #ifndef ALG_SM2
346 #define ALG_SM2                         (ALG_NO && ALG_ECC)
347 #endif
348 #ifndef ALG_SM3_256
349 #define ALG_SM3_256                     ALG_NO
350 #endif
351 #ifndef ALG_SM4
352 #define ALG_SM4                         ALG_NO
353 #endif
354 #ifndef ALG_SYMCIPHER
355 #define ALG_SYMCIPHER                   ALG_YES
356 #endif
357 #ifndef ALG_TDES
358 #define ALG_TDES                        ALG_NO
359 #endif
360 #ifndef ALG_XOR
361 #define ALG_XOR                         ALG_YES
362 #endif
363 
364 // Table 1:3 - Defines for RSA Asymmetric Cipher Algorithm Constants
365 #ifndef RSA_1024
366 #define RSA_1024                    (ALG_RSA && YES)
367 #endif
368 #ifndef RSA_2048
369 #define RSA_2048                    (ALG_RSA && YES)
370 #endif
371 #ifndef RSA_3072
372 #define RSA_3072                    (ALG_RSA && NO)
373 #endif
374 #ifndef RSA_4096
375 #define RSA_4096                    (ALG_RSA && NO)
376 #endif
377 #ifndef RSA_16384
378 #define RSA_16384                   (ALG_RSA && NO)
379 #endif
380 
381 // Table 1:21 - Defines for AES Symmetric Cipher Algorithm Constants
382 #ifndef AES_128
383 #define AES_128                     (ALG_AES && YES)
384 #endif
385 #ifndef AES_192
386 #define AES_192                     (ALG_AES && NO)
387 #endif
388 #ifndef AES_256
389 #define AES_256                     (ALG_AES && YES)
390 #endif
391 
392 // Table 1:22 - Defines for SM4 Symmetric Cipher Algorithm Constants
393 #ifndef SM4_128
394 #define SM4_128                     (ALG_SM4 && YES)
395 #endif
396 
397 // Table 1:23 - Defines for CAMELLIA Symmetric Cipher Algorithm Constants
398 #ifndef CAMELLIA_128
399 #define CAMELLIA_128                    (ALG_CAMELLIA && YES)
400 #endif
401 #ifndef CAMELLIA_192
402 #define CAMELLIA_192                    (ALG_CAMELLIA && NO)
403 #endif
404 #ifndef CAMELLIA_256
405 #define CAMELLIA_256                    (ALG_CAMELLIA && YES)
406 #endif
407 
408 // Table 1:24 - Defines for TDES Symmetric Cipher Algorithm Constants
409 #ifndef TDES_128
410 #define TDES_128                    (ALG_TDES && YES)
411 #endif
412 #ifndef TDES_192
413 #define TDES_192                    (ALG_TDES && YES)
414 #endif
415 
416 // Table 0:5 - Defines for Implemented Commands
417 #ifndef CC_ACT_SetTimeout
418 #define CC_ACT_SetTimeout                   CC_YES
419 #endif
420 #ifndef CC_AC_GetCapability
421 #define CC_AC_GetCapability                 CC_YES
422 #endif
423 #ifndef CC_AC_Send
424 #define CC_AC_Send                          CC_YES
425 #endif
426 #ifndef CC_ActivateCredential
427 #define CC_ActivateCredential               CC_YES
428 #endif
429 #ifndef CC_Certify
430 #define CC_Certify                          CC_YES
431 #endif
432 #ifndef CC_CertifyCreation
433 #define CC_CertifyCreation                  CC_YES
434 #endif
435 #ifndef CC_CertifyX509
436 #define CC_CertifyX509                      CC_YES
437 #endif
438 #ifndef CC_ChangeEPS
439 #define CC_ChangeEPS                        CC_YES
440 #endif
441 #ifndef CC_ChangePPS
442 #define CC_ChangePPS                        CC_YES
443 #endif
444 #ifndef CC_Clear
445 #define CC_Clear                            CC_YES
446 #endif
447 #ifndef CC_ClearControl
448 #define CC_ClearControl                     CC_YES
449 #endif
450 #ifndef CC_ClockRateAdjust
451 #define CC_ClockRateAdjust                  CC_YES
452 #endif
453 #ifndef CC_ClockSet
454 #define CC_ClockSet                         CC_YES
455 #endif
456 #ifndef CC_Commit
457 #define CC_Commit                           (CC_YES && ALG_ECC)
458 #endif
459 #ifndef CC_ContextLoad
460 #define CC_ContextLoad                      CC_YES
461 #endif
462 #ifndef CC_ContextSave
463 #define CC_ContextSave                      CC_YES
464 #endif
465 #ifndef CC_Create
466 #define CC_Create                           CC_YES
467 #endif
468 #ifndef CC_CreateLoaded
469 #define CC_CreateLoaded                     CC_YES
470 #endif
471 #ifndef CC_CreatePrimary
472 #define CC_CreatePrimary                    CC_YES
473 #endif
474 #ifndef CC_DictionaryAttackLockReset
475 #define CC_DictionaryAttackLockReset        CC_YES
476 #endif
477 #ifndef CC_DictionaryAttackParameters
478 #define CC_DictionaryAttackParameters       CC_YES
479 #endif
480 #ifndef CC_Duplicate
481 #define CC_Duplicate                        CC_YES
482 #endif
483 #ifndef CC_ECC_Decrypt
484 #define CC_ECC_Decrypt                      (CC_YES && ALG_ECC)
485 #endif
486 #ifndef CC_ECC_Encrypt
487 #define CC_ECC_Encrypt                      (CC_YES && ALG_ECC)
488 #endif
489 #ifndef CC_ECC_Parameters
490 #define CC_ECC_Parameters                   (CC_YES && ALG_ECC)
491 #endif
492 #ifndef CC_ECDH_KeyGen
493 #define CC_ECDH_KeyGen                      (CC_YES && ALG_ECC)
494 #endif
495 #ifndef CC_ECDH_ZGen
496 #define CC_ECDH_ZGen                        (CC_YES && ALG_ECC)
497 #endif
498 #ifndef CC_EC_Ephemeral
499 #define CC_EC_Ephemeral                     (CC_YES && ALG_ECC)
500 #endif
501 #ifndef CC_EncryptDecrypt
502 #define CC_EncryptDecrypt                   CC_YES
503 #endif
504 #ifndef CC_EncryptDecrypt2
505 #define CC_EncryptDecrypt2                  CC_YES
506 #endif
507 #ifndef CC_EventSequenceComplete
508 #define CC_EventSequenceComplete            CC_YES
509 #endif
510 #ifndef CC_EvictControl
511 #define CC_EvictControl                     CC_YES
512 #endif
513 #ifndef CC_FieldUpgradeData
514 #define CC_FieldUpgradeData                 CC_NO
515 #endif
516 #ifndef CC_FieldUpgradeStart
517 #define CC_FieldUpgradeStart                CC_NO
518 #endif
519 #ifndef CC_FirmwareRead
520 #define CC_FirmwareRead                     CC_NO
521 #endif
522 #ifndef CC_FlushContext
523 #define CC_FlushContext                     CC_YES
524 #endif
525 #ifndef CC_GetCapability
526 #define CC_GetCapability                    CC_YES
527 #endif
528 #ifndef CC_GetCommandAuditDigest
529 #define CC_GetCommandAuditDigest            CC_YES
530 #endif
531 #ifndef CC_GetRandom
532 #define CC_GetRandom                        CC_YES
533 #endif
534 #ifndef CC_GetSessionAuditDigest
535 #define CC_GetSessionAuditDigest            CC_YES
536 #endif
537 #ifndef CC_GetTestResult
538 #define CC_GetTestResult                    CC_YES
539 #endif
540 #ifndef CC_GetTime
541 #define CC_GetTime                          CC_YES
542 #endif
543 #ifndef CC_HMAC
544 #define CC_HMAC                             (CC_YES && !ALG_CMAC)
545 #endif
546 #ifndef CC_HMAC_Start
547 #define CC_HMAC_Start                       (CC_YES && !ALG_CMAC)
548 #endif
549 #ifndef CC_Hash
550 #define CC_Hash                             CC_YES
551 #endif
552 #ifndef CC_HashSequenceStart
553 #define CC_HashSequenceStart                CC_YES
554 #endif
555 #ifndef CC_HierarchyChangeAuth
556 #define CC_HierarchyChangeAuth              CC_YES
557 #endif
558 #ifndef CC_HierarchyControl
559 #define CC_HierarchyControl                 CC_YES
560 #endif
561 #ifndef CC_Import
562 #define CC_Import                           CC_YES
563 #endif
564 #ifndef CC_IncrementalSelfTest
565 #define CC_IncrementalSelfTest              CC_YES
566 #endif
567 #ifndef CC_Load
568 #define CC_Load                             CC_YES
569 #endif
570 #ifndef CC_LoadExternal
571 #define CC_LoadExternal                     CC_YES
572 #endif
573 #ifndef CC_MAC
574 #define CC_MAC                              (CC_YES && ALG_CMAC)
575 #endif
576 #ifndef CC_MAC_Start
577 #define CC_MAC_Start                        (CC_YES && ALG_CMAC)
578 #endif
579 #ifndef CC_MakeCredential
580 #define CC_MakeCredential                   CC_YES
581 #endif
582 #ifndef CC_NV_Certify
583 #define CC_NV_Certify                       CC_YES
584 #endif
585 #ifndef CC_NV_ChangeAuth
586 #define CC_NV_ChangeAuth                    CC_YES
587 #endif
588 #ifndef CC_NV_DefineSpace
589 #define CC_NV_DefineSpace                   CC_YES
590 #endif
591 #ifndef CC_NV_Extend
592 #define CC_NV_Extend                        CC_YES
593 #endif
594 #ifndef CC_NV_GlobalWriteLock
595 #define CC_NV_GlobalWriteLock               CC_YES
596 #endif
597 #ifndef CC_NV_Increment
598 #define CC_NV_Increment                     CC_YES
599 #endif
600 #ifndef CC_NV_Read
601 #define CC_NV_Read                          CC_YES
602 #endif
603 #ifndef CC_NV_ReadLock
604 #define CC_NV_ReadLock                      CC_YES
605 #endif
606 #ifndef CC_NV_ReadPublic
607 #define CC_NV_ReadPublic                    CC_YES
608 #endif
609 #ifndef CC_NV_SetBits
610 #define CC_NV_SetBits                       CC_YES
611 #endif
612 #ifndef CC_NV_UndefineSpace
613 #define CC_NV_UndefineSpace                 CC_YES
614 #endif
615 #ifndef CC_NV_UndefineSpaceSpecial
616 #define CC_NV_UndefineSpaceSpecial          CC_YES
617 #endif
618 #ifndef CC_NV_Write
619 #define CC_NV_Write                         CC_YES
620 #endif
621 #ifndef CC_NV_WriteLock
622 #define CC_NV_WriteLock                     CC_YES
623 #endif
624 #ifndef CC_ObjectChangeAuth
625 #define CC_ObjectChangeAuth                 CC_YES
626 #endif
627 #ifndef CC_PCR_Allocate
628 #define CC_PCR_Allocate                     CC_YES
629 #endif
630 #ifndef CC_PCR_Event
631 #define CC_PCR_Event                        CC_YES
632 #endif
633 #ifndef CC_PCR_Extend
634 #define CC_PCR_Extend                       CC_YES
635 #endif
636 #ifndef CC_PCR_Read
637 #define CC_PCR_Read                         CC_YES
638 #endif
639 #ifndef CC_PCR_Reset
640 #define CC_PCR_Reset                        CC_YES
641 #endif
642 #ifndef CC_PCR_SetAuthPolicy
643 #define CC_PCR_SetAuthPolicy                CC_YES
644 #endif
645 #ifndef CC_PCR_SetAuthValue
646 #define CC_PCR_SetAuthValue                 CC_YES
647 #endif
648 #ifndef CC_PP_Commands
649 #define CC_PP_Commands                      CC_YES
650 #endif
651 #ifndef CC_PolicyAuthValue
652 #define CC_PolicyAuthValue                  CC_YES
653 #endif
654 #ifndef CC_PolicyAuthorize
655 #define CC_PolicyAuthorize                  CC_YES
656 #endif
657 #ifndef CC_PolicyAuthorizeNV
658 #define CC_PolicyAuthorizeNV                CC_YES
659 #endif
660 #ifndef CC_PolicyCommandCode
661 #define CC_PolicyCommandCode                CC_YES
662 #endif
663 #ifndef CC_PolicyCounterTimer
664 #define CC_PolicyCounterTimer               CC_YES
665 #endif
666 #ifndef CC_PolicyCpHash
667 #define CC_PolicyCpHash                     CC_YES
668 #endif
669 #ifndef CC_PolicyDuplicationSelect
670 #define CC_PolicyDuplicationSelect          CC_YES
671 #endif
672 #ifndef CC_PolicyGetDigest
673 #define CC_PolicyGetDigest                  CC_YES
674 #endif
675 #ifndef CC_PolicyLocality
676 #define CC_PolicyLocality                   CC_YES
677 #endif
678 #ifndef CC_PolicyNV
679 #define CC_PolicyNV                         CC_YES
680 #endif
681 #ifndef CC_PolicyNameHash
682 #define CC_PolicyNameHash                   CC_YES
683 #endif
684 #ifndef CC_PolicyNvWritten
685 #define CC_PolicyNvWritten                  CC_YES
686 #endif
687 #ifndef CC_PolicyOR
688 #define CC_PolicyOR                         CC_YES
689 #endif
690 #ifndef CC_PolicyPCR
691 #define CC_PolicyPCR                        CC_YES
692 #endif
693 #ifndef CC_PolicyPassword
694 #define CC_PolicyPassword                   CC_YES
695 #endif
696 #ifndef CC_PolicyPhysicalPresence
697 #define CC_PolicyPhysicalPresence           CC_YES
698 #endif
699 #ifndef CC_PolicyRestart
700 #define CC_PolicyRestart                    CC_YES
701 #endif
702 #ifndef CC_PolicySecret
703 #define CC_PolicySecret                     CC_YES
704 #endif
705 #ifndef CC_PolicySigned
706 #define CC_PolicySigned                     CC_YES
707 #endif
708 #ifndef CC_PolicyTemplate
709 #define CC_PolicyTemplate                   CC_YES
710 #endif
711 #ifndef CC_PolicyTicket
712 #define CC_PolicyTicket                     CC_YES
713 #endif
714 #ifndef CC_Policy_AC_SendSelect
715 #define CC_Policy_AC_SendSelect             CC_YES
716 #endif
717 #ifndef CC_Quote
718 #define CC_Quote                            CC_YES
719 #endif
720 #ifndef CC_RSA_Decrypt
721 #define CC_RSA_Decrypt                      (CC_YES && ALG_RSA)
722 #endif
723 #ifndef CC_RSA_Encrypt
724 #define CC_RSA_Encrypt                      (CC_YES && ALG_RSA)
725 #endif
726 #ifndef CC_ReadClock
727 #define CC_ReadClock                        CC_YES
728 #endif
729 #ifndef CC_ReadPublic
730 #define CC_ReadPublic                       CC_YES
731 #endif
732 #ifndef CC_Rewrap
733 #define CC_Rewrap                           CC_YES
734 #endif
735 #ifndef CC_SelfTest
736 #define CC_SelfTest                         CC_YES
737 #endif
738 #ifndef CC_SequenceComplete
739 #define CC_SequenceComplete                 CC_YES
740 #endif
741 #ifndef CC_SequenceUpdate
742 #define CC_SequenceUpdate                   CC_YES
743 #endif
744 #ifndef CC_SetAlgorithmSet
745 #define CC_SetAlgorithmSet                  CC_YES
746 #endif
747 #ifndef CC_SetCommandCodeAuditStatus
748 #define CC_SetCommandCodeAuditStatus        CC_YES
749 #endif
750 #ifndef CC_SetPrimaryPolicy
751 #define CC_SetPrimaryPolicy                 CC_YES
752 #endif
753 #ifndef CC_Shutdown
754 #define CC_Shutdown                         CC_YES
755 #endif
756 #ifndef CC_Sign
757 #define CC_Sign                             CC_YES
758 #endif
759 #ifndef CC_StartAuthSession
760 #define CC_StartAuthSession                 CC_YES
761 #endif
762 #ifndef CC_Startup
763 #define CC_Startup                          CC_YES
764 #endif
765 #ifndef CC_StirRandom
766 #define CC_StirRandom                       CC_YES
767 #endif
768 #ifndef CC_TestParms
769 #define CC_TestParms                        CC_YES
770 #endif
771 #ifndef CC_Unseal
772 #define CC_Unseal                           CC_YES
773 #endif
774 #ifndef CC_Vendor_TCG_Test
775 #define CC_Vendor_TCG_Test                  CC_YES
776 #endif
777 #ifndef CC_VerifySignature
778 #define CC_VerifySignature                  CC_YES
779 #endif
780 #ifndef CC_ZGen_2Phase
781 #define CC_ZGen_2Phase                      (CC_YES && ALG_ECC)
782 #endif
783 
784 
785 #endif // _TPM_PROFILE_H_
786