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
10typedef TSS_UNICODE             UNICODE;
11typedef TPM_DIGEST              TCPA_DIGEST;
12typedef TPM_NONCE               TCPA_NONCE;
13typedef TPM_NONCE               TCPA_SALT_NONCE;
14typedef TPM_PUBKEY              TCPA_PUBKEY;
15typedef TPM_SECRET              TCPA_SECRET;
16typedef TPM_KEY                 TCPA_KEY;
17typedef TPM_DIRVALUE            TCPA_DIRVALUE;
18typedef TPM_COMMAND_CODE        TCPA_COMMAND_CODE;
19typedef TPM_BOUND_DATA          TCPA_BOUND_DATA;
20typedef TPM_STRUCT_VER          TCPA_VERSION;
21typedef TPM_RESULT              TCPA_RESULT;
22typedef TPM_PAYLOAD_TYPE        TCPA_PAYLOAD_TYPE;
23typedef TPM_STORE_PRIVKEY       TCPA_STORE_PRIVKEY;
24typedef TPM_CHOSENID_HASH       TCPA_CHOSENID_HASH;
25typedef TPM_SYMMETRIC_KEY       TCPA_SYMMETRIC_KEY;
26typedef TPM_PCR_INFO            TCPA_PCR_INFO;
27typedef TPM_PCR_SELECTION       TCPA_PCR_SELECTION;
28typedef TPM_STORED_DATA         TCPA_STORED_DATA;
29typedef TPM_SEALED_DATA         TCPA_SEALED_DATA;
30typedef TPM_KEY_FLAGS           TCPA_KEY_FLAGS;
31typedef TPM_KEY_PARMS           TCPA_KEY_PARMS;
32typedef TPM_STORE_PUBKEY        TCPA_STORE_PUBKEY;
33typedef TPM_MIGRATIONKEYAUTH    TCPA_MIGRATIONKEYAUTH;
34typedef TPM_RSA_KEY_PARMS       TCPA_RSA_KEY_PARMS;
35typedef TPM_CERTIFY_INFO        TCPA_CERTIFY_INFO;
36typedef TPM_STORE_ASYMKEY       TCPA_STORE_ASYMKEY;
37typedef TPM_ENCAUTH             TCPA_ENCAUTH;
38typedef TPM_PCRINDEX            TCPA_PCRINDEX;
39typedef TPM_PCRVALUE            TCPA_PCRVALUE;
40typedef TPM_DIRINDEX            TCPA_DIRINDEX;
41typedef TPM_PROTOCOL_ID         TCPA_PROTOCOL_ID;
42typedef TPM_ALGORITHM_ID        TCPA_ALGORITHM_ID;
43typedef TPM_ENTITY_TYPE         TCPA_ENTITY_TYPE;
44typedef TPM_CAPABILITY_AREA     TCPA_CAPABILITY_AREA;
45typedef TPM_HMAC                TCPA_HMAC;
46typedef TPM_MIGRATE_SCHEME      TCPA_MIGRATE_SCHEME;
47typedef TPM_PHYSICAL_PRESENCE   TCPA_PHYSICAL_PRESENCE;
48typedef TPM_KEY_HANDLE          TCPA_KEY_HANDLE;
49typedef TPM_KEY_HANDLE_LIST     TCPA_KEY_HANDLE_LIST;
50typedef TPM_PCR_COMPOSITE       TCPA_PCR_COMPOSITE;
51typedef TPM_AUTH_DATA_USAGE     TCPA_AUTH_DATA_USAGE;
52typedef TPM_AUTHDATA            TCPA_AUTHDATA;
53typedef TPM_KEY_USAGE           TCPA_KEY_USAGE;
54typedef TPM_COMPOSITE_HASH      TCPA_COMPOSITE_HASH;
55typedef TPM_QUOTE_INFO          TCPA_QUOTE_INFO;
56typedef TPM_TAG                 TCPA_TAG;
57typedef TPM_ENC_SCHEME          TCPA_ENC_SCHEME;
58typedef TPM_SIG_SCHEME          TCPA_SIG_SCHEME;
59typedef TPM_STARTUP_TYPE        TCPA_STARTUP_TYPE;
60typedef TPM_AUTHHANDLE          TCPA_AUTHHANDLE;
61typedef TPM_SYM_CA_ATTESTATION  TCPA_SYM_CA_ATTESTATION;
62typedef TPM_ASYM_CA_CONTENTS    TCPA_ASYM_CA_CONTENTS;
63typedef TPM_IDENTITY_REQ        TCPA_IDENTITY_REQ;
64typedef TPM_IDENTITY_PROOF      TCPA_IDENTITY_PROOF;
65
66// These were removed from the 1.2 TPM spec
67typedef UINT32                  TCPA_ENCHANDLE;
68typedef UINT32                  TCPA_EVENTTYPE;
69typedef 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