1 
2 #ifndef __COMPAT11B_H__
3 #define __COMPAT11B_H__
4 
5 #include <tss/tpm.h>
6 
7 #define TCPA_Vendor_Specific32  TPM_Vendor_Specific32
8 #define TCPA_Vendor_Specific8   TPM_Vendor_Specific8
9 
10 typedef TSS_UNICODE             UNICODE;
11 typedef TPM_DIGEST              TCPA_DIGEST;
12 typedef TPM_NONCE               TCPA_NONCE;
13 typedef TPM_NONCE               TCPA_SALT_NONCE;
14 typedef TPM_PUBKEY              TCPA_PUBKEY;
15 typedef TPM_SECRET              TCPA_SECRET;
16 typedef TPM_KEY                 TCPA_KEY;
17 typedef TPM_DIRVALUE            TCPA_DIRVALUE;
18 typedef TPM_COMMAND_CODE        TCPA_COMMAND_CODE;
19 typedef TPM_BOUND_DATA          TCPA_BOUND_DATA;
20 typedef TPM_STRUCT_VER          TCPA_VERSION;
21 typedef TPM_RESULT              TCPA_RESULT;
22 typedef TPM_PAYLOAD_TYPE        TCPA_PAYLOAD_TYPE;
23 typedef TPM_STORE_PRIVKEY       TCPA_STORE_PRIVKEY;
24 typedef TPM_CHOSENID_HASH       TCPA_CHOSENID_HASH;
25 typedef TPM_SYMMETRIC_KEY       TCPA_SYMMETRIC_KEY;
26 typedef TPM_PCR_INFO            TCPA_PCR_INFO;
27 typedef TPM_PCR_SELECTION       TCPA_PCR_SELECTION;
28 typedef TPM_STORED_DATA         TCPA_STORED_DATA;
29 typedef TPM_SEALED_DATA         TCPA_SEALED_DATA;
30 typedef TPM_KEY_FLAGS           TCPA_KEY_FLAGS;
31 typedef TPM_KEY_PARMS           TCPA_KEY_PARMS;
32 typedef TPM_STORE_PUBKEY        TCPA_STORE_PUBKEY;
33 typedef TPM_MIGRATIONKEYAUTH    TCPA_MIGRATIONKEYAUTH;
34 typedef TPM_RSA_KEY_PARMS       TCPA_RSA_KEY_PARMS;
35 typedef TPM_CERTIFY_INFO        TCPA_CERTIFY_INFO;
36 typedef TPM_STORE_ASYMKEY       TCPA_STORE_ASYMKEY;
37 typedef TPM_ENCAUTH             TCPA_ENCAUTH;
38 typedef TPM_PCRINDEX            TCPA_PCRINDEX;
39 typedef TPM_PCRVALUE            TCPA_PCRVALUE;
40 typedef TPM_DIRINDEX            TCPA_DIRINDEX;
41 typedef TPM_PROTOCOL_ID         TCPA_PROTOCOL_ID;
42 typedef TPM_ALGORITHM_ID        TCPA_ALGORITHM_ID;
43 typedef TPM_ENTITY_TYPE         TCPA_ENTITY_TYPE;
44 typedef TPM_CAPABILITY_AREA     TCPA_CAPABILITY_AREA;
45 typedef TPM_HMAC                TCPA_HMAC;
46 typedef TPM_MIGRATE_SCHEME      TCPA_MIGRATE_SCHEME;
47 typedef TPM_PHYSICAL_PRESENCE   TCPA_PHYSICAL_PRESENCE;
48 typedef TPM_KEY_HANDLE          TCPA_KEY_HANDLE;
49 typedef TPM_KEY_HANDLE_LIST     TCPA_KEY_HANDLE_LIST;
50 typedef TPM_PCR_COMPOSITE       TCPA_PCR_COMPOSITE;
51 typedef TPM_AUTH_DATA_USAGE     TCPA_AUTH_DATA_USAGE;
52 typedef TPM_AUTHDATA            TCPA_AUTHDATA;
53 typedef TPM_KEY_USAGE           TCPA_KEY_USAGE;
54 typedef TPM_COMPOSITE_HASH      TCPA_COMPOSITE_HASH;
55 typedef TPM_QUOTE_INFO          TCPA_QUOTE_INFO;
56 typedef TPM_TAG                 TCPA_TAG;
57 typedef TPM_ENC_SCHEME          TCPA_ENC_SCHEME;
58 typedef TPM_SIG_SCHEME          TCPA_SIG_SCHEME;
59 typedef TPM_STARTUP_TYPE        TCPA_STARTUP_TYPE;
60 typedef TPM_AUTHHANDLE          TCPA_AUTHHANDLE;
61 typedef TPM_SYM_CA_ATTESTATION  TCPA_SYM_CA_ATTESTATION;
62 typedef TPM_ASYM_CA_CONTENTS    TCPA_ASYM_CA_CONTENTS;
63 typedef TPM_IDENTITY_REQ        TCPA_IDENTITY_REQ;
64 typedef TPM_IDENTITY_PROOF      TCPA_IDENTITY_PROOF;
65 
66 // These were removed from the 1.2 TPM spec
67 typedef UINT32                  TCPA_ENCHANDLE;
68 typedef UINT32                  TCPA_EVENTTYPE;
69 typedef struct tdTCPA_AUDIT_EVENT {
70     TCPA_COMMAND_CODE ordinal;
71     TCPA_RESULT       returncode;
72 } TCPA_AUDIT_EVENT;
73 
74 #define TCPA_SHA1_160_HASH_LEN          TPM_SHA1_160_HASH_LEN
75 #define TCPA_SHA1BASED_NONCE_LEN        TPM_SHA1BASED_NONCE_LEN
76 
77 #define redirection             TSS_KEYFLAG_REDIRECTION
78 #define migratable              TSS_KEYFLAG_MIGRATABLE
79 #define volatileKey             TSS_KEYFLAG_VOLATILEKEY
80 
81 #define TCPA_ET_KEYHANDLE       TPM_ET_KEYHANDLE
82 #define TCPA_ET_KEY             TPM_ET_KEY
83 #define TCPA_ET_OWNER           TPM_ET_OWNER
84 #define TCPA_ET_SRK             TPM_ET_SRK
85 #define TCPA_ET_DATA            TPM_ET_DATA
86 
87 #define TCPA_PID_OIAP           TPM_PID_OIAP
88 #define TCPA_PID_OSAP           TPM_PID_OSAP
89 #define TCPA_PID_ADIP           TPM_PID_ADIP
90 #define TCPA_PID_ADCP           TPM_PID_ADCP
91 #define TCPA_PID_OWNER          TPM_PID_OWNER
92 
93 #define TCPA_PT_ASYM            TPM_PT_ASYM
94 #define TCPA_PT_BIND            TPM_PT_BIND
95 #define TCPA_PT_MIGRATE         TPM_PT_MIGRATE
96 #define TCPA_PT_MAINT           TPM_PT_MAINT
97 #define TCPA_PT_SEAL            TPM_PT_SEAL
98 
99 #define TCPA_CAP_ALG            TPM_CAP_ALG
100 #define TCPA_CAP_ORD            TPM_CAP_ORD
101 #define TCPA_CAP_PID            TPM_CAP_PID
102 #define TCPA_CAP_FLAG           TPM_CAP_FLAG
103 #define TCPA_CAP_VERSION        TPM_CAP_VERSION
104 #define TCPA_CAP_PROPERTY       TPM_CAP_PROPERTY
105 #define TCPA_CAP_KEY_HANDLE     TPM_CAP_KEY_HANDLE
106 #define TCPA_CAP_CHECK_LOADED   TPM_CAP_CHECK_LOADED
107 
108 #define TCPA_ALG_RSA            TPM_ALG_RSA
109 #define TCPA_ALG_DES            TPM_ALG_DES
110 #define TCPA_ALG_3DES           TPM_ALG_3DES
111 #define TCPA_ALG_SHA            TPM_ALG_SHA
112 #define TCPA_ALG_HMAC           TPM_ALG_HMAC
113 #define TCPA_ALG_AES            TPM_ALG_AES
114 
115 #define TCPA_PROTECTED_ORDINAL          TPM_PROTECTED_ORDINAL
116 #define TCPA_UNPROTECTED_ORDINAL        TPM_UNPROTECTED_ORDINAL
117 #define TCPA_CONNECTION_ORDINAL         TPM_CONNECTION_ORDINAL
118 
119 #define TCPA_PROTECTED_COMMAND          TPM_PROTECTED_COMMAND
120 #define TCPA_UNPROTECTED_COMMAND        TPM_UNPROTECTED_COMMAND
121 #define TCPA_CONNECTION_COMMAND         TPM_CONNECTION_COMMAND
122 #define TCPA_VENDOR_COMMAND             TPM_VENDOR_COMMAND
123 
124 #define TCPA_MAIN               TPM_MAIN
125 #define TCPA_PC                 TPM_PC
126 #define TCPA_PDA                TPM_PDA
127 #define TCPA_CELL_PHONE         TPM_CELL_PHONE
128 
129 #define TCPA_MS_MIGRATE                 TPM_MS_MIGRATE
130 #define TCPA_MS_REWRAP                  TPM_MS_REWRAP
131 #define TCPA_MS_MAINT                   TPM_MS_MAINT
132 
133 #define TCPA_ES_NONE                    TPM_ES_NONE
134 #define TCPA_ES_RSAESPKCSv15            TPM_ES_RSAESPKCSv15
135 #define TCPA_ES_RSAESOAEP_SHA1_MGF1     TPM_ES_RSAESOAEP_SHA1_MGF1
136 
137 #define TCPA_SS_NONE                    TPM_SS_NONE
138 #define TCPA_SS_RSASSAPKCS1v15_SHA1     TPM_SS_RSASSAPKCS1v15_SHA1
139 #define TCPA_SS_RSASSAPKCS1v15_DER      TPM_SS_RSASSAPKCS1v15_DER
140 #define	TCPA_SS_RSASSAPKCS1v15_INFO	TPM_SS_RSASSAPKCS1v15_INFO
141 
142 #define TCPA_PHYSICAL_PRESENCE_LIFETIME_LOCK    TPM_PHYSICAL_PRESENCE_LIFETIME_LOCK
143 #define TCPA_PHYSICAL_PRESENCE_HW_ENABLE        TPM_PHYSICAL_PRESENCE_HW_ENABLE
144 #define TCPA_PHYSICAL_PRESENCE_CMD_ENABLE       TPM_PHYSICAL_PRESENCE_CMD_ENABLE
145 #define TCPA_PHYSICAL_PRESENCE_LOCK             TPM_PHYSICAL_PRESENCE_LOCK
146 #define TCPA_PHYSICAL_PRESENCE_PRESENT          TPM_PHYSICAL_PRESENCE_PRESENT
147 #define TCPA_PHYSICAL_PRESENCE_NOTPRESENT       TPM_PHYSICAL_PRESENCE_NOTPRESENT
148 
149 #define TCPA_SUCCESS                    TPM_SUCCESS
150 #define TCPA_E_BASE                     TPM_E_BASE
151 #define TCPA_E_NON_FATAL                TPM_E_NON_FATAL
152 #define TCPA_E_AUTHFAIL                 TPM_E_AUTHFAIL
153 #define TCPA_E_BAD_PARAMETER            TPM_E_BAD_PARAMETER
154 #define TCPA_E_BADINDEX                 TPM_E_BADINDEX
155 #define TCPA_E_AUDITFAILURE             TPM_E_AUDITFAILURE
156 #define TCPA_E_CLEAR_DISABLED           TPM_E_CLEAR_DISABLED
157 #define TCPA_E_DEACTIVATED              TPM_E_DEACTIVATED
158 #define TCPA_E_DISABLED                 TPM_E_DISABLED
159 #define TCPA_E_DISABLED_CMD             TPM_E_DISABLED_CMD
160 #define TCPA_E_FAIL                     TPM_E_FAIL
161 #define TCPA_E_INACTIVE                 TPM_E_BAD_ORDINAL
162 #define TCPA_E_INSTALL_DISABLED         TPM_E_INSTALL_DISABLED
163 #define TCPA_E_INVALID_KEYHANDLE        TPM_E_INVALID_KEYHANDLE
164 #define TCPA_E_KEYNOTFOUND              TPM_E_KEYNOTFOUND
165 #define TCPA_E_NEED_SELFTEST            TPM_E_INAPPROPRIATE_ENC
166 #define TCPA_E_MIGRATEFAIL              TPM_E_MIGRATEFAIL
167 #define TCPA_E_NO_PCR_INFO              TPM_E_INVALID_PCR_INFO
168 #define TCPA_E_NOSPACE                  TPM_E_NOSPACE
169 #define TCPA_E_NOSRK                    TPM_E_NOSRK
170 #define TCPA_E_NOTSEALED_BLOB           TPM_E_NOTSEALED_BLOB
171 #define TCPA_E_OWNER_SET                TPM_E_OWNER_SET
172 #define TCPA_E_RESOURCES                TPM_E_RESOURCES
173 #define TCPA_E_SHORTRANDOM              TPM_E_SHORTRANDOM
174 #define TCPA_E_SIZE                     TPM_E_SIZE
175 #define TCPA_E_WRONGPCRVAL              TPM_E_WRONGPCRVAL
176 #define TCPA_E_BAD_PARAM_SIZE           TPM_E_BAD_PARAM_SIZE
177 #define TCPA_E_SHA_THREAD               TPM_E_SHA_THREAD
178 #define TCPA_E_SHA_ERROR                TPM_E_SHA_ERROR
179 #define TCPA_E_FAILEDSELFTEST           TPM_E_FAILEDSELFTEST
180 #define TCPA_E_AUTH2FAIL                TPM_E_AUTH2FAIL
181 #define TCPA_E_BADTAG                   TPM_E_BADTAG
182 #define TCPA_E_IOERROR                  TPM_E_IOERROR
183 #define TCPA_E_ENCRYPT_ERROR            TPM_E_ENCRYPT_ERROR
184 #define TCPA_E_DECRYPT_ERROR            TPM_E_DECRYPT_ERROR
185 #define TCPA_E_INVALID_AUTHHANDLE       TPM_E_INVALID_AUTHHANDLE
186 #define TCPA_E_NO_ENDORSEMENT           TPM_E_NO_ENDORSEMENT
187 #define TCPA_E_INVALID_KEYUSAGE         TPM_E_INVALID_KEYUSAGE
188 #define TCPA_E_WRONG_ENTITYTYPE         TPM_E_WRONG_ENTITYTYPE
189 #define TCPA_E_INVALID_POSTINIT         TPM_E_INVALID_POSTINIT
190 #define TCPA_E_INAPPROPRIATE_SIG        TPM_E_INAPPROPRIATE_SIG
191 #define TCPA_E_BAD_KEY_PROPERTY         TPM_E_BAD_KEY_PROPERTY
192 #define TCPA_E_BAD_MIGRATION            TPM_E_BAD_MIGRATION
193 #define TCPA_E_BAD_SCHEME               TPM_E_BAD_SCHEME
194 #define TCPA_E_BAD_DATASIZE             TPM_E_BAD_DATASIZE
195 #define TCPA_E_BAD_MODE                 TPM_E_BAD_MODE
196 #define TCPA_E_BAD_PRESENCE             TPM_E_BAD_PRESENCE
197 #define TCPA_E_BAD_VERSION              TPM_E_BAD_VERSION
198 #define TCPA_E_RETRY                    TPM_E_RETRY
199 
200 #endif
201