1/*
2 * TPM Ordinal definitions extracted from the TPM 1.2 specification, rev 85.
3 */
4
5#ifndef __TPM_ORDINAL_H__
6#define __TPM_ORDINAL_H__
7
8#define TPM_PROTECTED_COMMAND                     ((UINT32)(0x00000000))
9#define TPM_UNPROTECTED_COMMAND                   ((UINT32)(0x80000000))
10#define TPM_CONNECTION_COMMAND                    ((UINT32)(0x40000000))
11#define TPM_VENDOR_COMMAND                        ((UINT32)(0x20000000))
12
13#define TPM_MAIN                                  ((UINT16)(0x0000))
14#define TPM_PC                                    ((UINT16)(0x0001))
15#define TPM_PDA                                   ((UINT16)(0x0002))
16#define TPM_CELL_PHONE                            ((UINT16)(0x0003))
17#define TPM_SERVER                                ((UINT16)(0x0004))
18
19#define TPM_PROTECTED_ORDINAL              (TPM_MAIN | TPM_PROTECTED_COMMAND)
20#define TPM_UNPROTECTED_ORDINAL            (TPM_MAIN | TPM_UNPROTECTED_COMMAND)
21#define TPM_CONNECTION_ORDINAL             (TPM_MAIN | TPM_CONNECTION_COMMAND)
22
23
24#define TPM_ORD_OIAP                              ((UINT32)0x0000000A)
25#define TPM_ORD_OSAP                              ((UINT32)0x0000000B)
26#define TPM_ORD_ChangeAuth                        ((UINT32)0x0000000C)
27#define TPM_ORD_TakeOwnership                     ((UINT32)0x0000000D)
28#define TPM_ORD_ChangeAuthAsymStart               ((UINT32)0x0000000E)
29#define TPM_ORD_ChangeAuthAsymFinish              ((UINT32)0x0000000F)
30#define TPM_ORD_ChangeAuthOwner                   ((UINT32)0x00000010)
31#define TPM_ORD_DSAP                              ((UINT32)0x00000011)
32#define TPM_ORD_CMK_CreateTicket                  ((UINT32)0x00000012)
33#define TPM_ORD_CMK_CreateKey                     ((UINT32)0x00000013)
34#define TPM_ORD_Extend                            ((UINT32)0x00000014)
35#define TPM_ORD_PcrRead                           ((UINT32)0x00000015)
36#define TPM_ORD_Quote                             ((UINT32)0x00000016)
37#define TPM_ORD_Seal                              ((UINT32)0x00000017)
38#define TPM_ORD_Unseal                            ((UINT32)0x00000018)
39#define TPM_ORD_DirWriteAuth                      ((UINT32)0x00000019)
40#define TPM_ORD_DirRead                           ((UINT32)0x0000001A)
41#define TPM_ORD_CMK_CreateBlob                    ((UINT32)0x0000001B)
42#define TPM_ORD_CMK_SetRestrictions               ((UINT32)0x0000001C)
43#define TPM_ORD_CMK_ApproveMA                     ((UINT32)0x0000001D)
44#define TPM_ORD_UnBind                            ((UINT32)0x0000001E)
45#define TPM_ORD_CreateWrapKey                     ((UINT32)0x0000001F)
46#define TPM_ORD_LoadKey                           ((UINT32)0x00000020)
47#define TPM_ORD_GetPubKey                         ((UINT32)0x00000021)
48#define TPM_ORD_EvictKey                          ((UINT32)0x00000022)
49#define TPM_ORD_KeyControlOwner                   ((UINT32)0x00000023)
50#define TPM_ORD_CMK_ConvertMigration              ((UINT32)0x00000024)
51#define TPM_ORD_MigrateKey                        ((UINT32)0x00000025)
52#define TPM_ORD_CreateMigrationBlob               ((UINT32)0x00000028)
53#define TPM_ORD_DAA_Join                          ((UINT32)0x00000029)
54#define TPM_ORD_ConvertMigrationBlob              ((UINT32)0x0000002A)
55#define TPM_ORD_AuthorizeMigrationKey             ((UINT32)0x0000002B)
56#define TPM_ORD_CreateMaintenanceArchive          ((UINT32)0x0000002C)
57#define TPM_ORD_LoadMaintenanceArchive            ((UINT32)0x0000002D)
58#define TPM_ORD_KillMaintenanceFeature            ((UINT32)0x0000002E)
59#define TPM_ORD_LoadManuMaintPub                  ((UINT32)0x0000002F)
60#define TPM_ORD_ReadManuMaintPub                  ((UINT32)0x00000030)
61#define TPM_ORD_DAA_Sign                          ((UINT32)0x00000031)
62#define TPM_ORD_CertifyKey                        ((UINT32)0x00000032)
63#define TPM_ORD_CertifyKey2                       ((UINT32)0x00000033)
64#define TPM_ORD_Sign                              ((UINT32)0x0000003C)
65#define TPM_ORD_Sealx                             ((UINT32)0x0000003D)
66#define TPM_ORD_Quote2                            ((UINT32)0x0000003E)
67#define TPM_ORD_SetCapability                     ((UINT32)0x0000003F)
68#define TPM_ORD_ResetLockValue                    ((UINT32)0x00000040)
69#define TPM_ORD_LoadKey2                          ((UINT32)0x00000041)
70#define TPM_ORD_GetRandom                         ((UINT32)0x00000046)
71#define TPM_ORD_StirRandom                        ((UINT32)0x00000047)
72#define TPM_ORD_SelfTestFull                      ((UINT32)0x00000050)
73#define TPM_ORD_CertifySelfTest                   ((UINT32)0x00000052)
74#define TPM_ORD_ContinueSelfTest                  ((UINT32)0x00000053)
75#define TPM_ORD_GetTestResult                     ((UINT32)0x00000054)
76#define TPM_ORD_Reset                             ((UINT32)0x0000005A)
77#define TPM_ORD_OwnerClear                        ((UINT32)0x0000005B)
78#define TPM_ORD_DisableOwnerClear                 ((UINT32)0x0000005C)
79#define TPM_ORD_ForceClear                        ((UINT32)0x0000005D)
80#define TPM_ORD_DisableForceClear                 ((UINT32)0x0000005E)
81#define TPM_ORD_GetCapabilitySigned               ((UINT32)0x00000064)
82#define TPM_ORD_GetCapability                     ((UINT32)0x00000065)
83#define TPM_ORD_GetCapabilityOwner                ((UINT32)0x00000066)
84#define TPM_ORD_OwnerSetDisable                   ((UINT32)0x0000006E)
85#define TPM_ORD_PhysicalEnable                    ((UINT32)0x0000006F)
86#define TPM_ORD_PhysicalDisable                   ((UINT32)0x00000070)
87#define TPM_ORD_SetOwnerInstall                   ((UINT32)0x00000071)
88#define TPM_ORD_PhysicalSetDeactivated            ((UINT32)0x00000072)
89#define TPM_ORD_SetTempDeactivated                ((UINT32)0x00000073)
90#define TPM_ORD_SetOperatorAuth                   ((UINT32)0x00000074)
91#define TPM_ORD_SetOwnerPointer                   ((UINT32)0x00000075)
92#define TPM_ORD_CreateEndorsementKeyPair          ((UINT32)0x00000078)
93#define TPM_ORD_MakeIdentity                      ((UINT32)0x00000079)
94#define TPM_ORD_ActivateIdentity                  ((UINT32)0x0000007A)
95#define TPM_ORD_ReadPubek                         ((UINT32)0x0000007C)
96#define TPM_ORD_OwnerReadPubek                    ((UINT32)0x0000007D)
97#define TPM_ORD_DisablePubekRead                  ((UINT32)0x0000007E)
98#define TPM_ORD_CreateRevocableEK                 ((UINT32)0x0000007F)
99#define TPM_ORD_RevokeTrust                       ((UINT32)0x00000080)
100#define TPM_ORD_OwnerReadInternalPub              ((UINT32)0x00000081)
101#define TPM_ORD_GetAuditEvent                     ((UINT32)0x00000082)
102#define TPM_ORD_GetAuditEventSigned               ((UINT32)0x00000083)
103#define TPM_ORD_GetAuditDigest                    ((UINT32)0x00000085)
104#define TPM_ORD_GetAuditDigestSigned              ((UINT32)0x00000086)
105#define TPM_ORD_GetOrdinalAuditStatus             ((UINT32)0x0000008C)
106#define TPM_ORD_SetOrdinalAuditStatus             ((UINT32)0x0000008D)
107#define TPM_ORD_Terminate_Handle                  ((UINT32)0x00000096)
108#define TPM_ORD_Init                              ((UINT32)0x00000097)
109#define TPM_ORD_SaveState                         ((UINT32)0x00000098)
110#define TPM_ORD_Startup                           ((UINT32)0x00000099)
111#define TPM_ORD_SetRedirection                    ((UINT32)0x0000009A)
112#define TPM_ORD_SHA1Start                         ((UINT32)0x000000A0)
113#define TPM_ORD_SHA1Update                        ((UINT32)0x000000A1)
114#define TPM_ORD_SHA1Complete                      ((UINT32)0x000000A2)
115#define TPM_ORD_SHA1CompleteExtend                ((UINT32)0x000000A3)
116#define TPM_ORD_FieldUpgrade                      ((UINT32)0x000000AA)
117#define TPM_ORD_SaveKeyContext                    ((UINT32)0x000000B4)
118#define TPM_ORD_LoadKeyContext                    ((UINT32)0x000000B5)
119#define TPM_ORD_SaveAuthContext                   ((UINT32)0x000000B6)
120#define TPM_ORD_LoadAuthContext                   ((UINT32)0x000000B7)
121#define TPM_ORD_SaveContext                       ((UINT32)0x000000B8)
122#define TPM_ORD_LoadContext                       ((UINT32)0x000000B9)
123#define TPM_ORD_FlushSpecific                     ((UINT32)0x000000BA)
124#define TPM_ORD_PCR_Reset                         ((UINT32)0x000000C8)
125#define TPM_ORD_NV_DefineSpace                    ((UINT32)0x000000CC)
126#define TPM_ORD_NV_WriteValue                     ((UINT32)0x000000CD)
127#define TPM_ORD_NV_WriteValueAuth                 ((UINT32)0x000000CE)
128#define TPM_ORD_NV_ReadValue                      ((UINT32)0x000000CF)
129#define TPM_ORD_NV_ReadValueAuth                  ((UINT32)0x000000D0)
130#define TPM_ORD_Delegate_UpdateVerification       ((UINT32)0x000000D1)
131#define TPM_ORD_Delegate_Manage                   ((UINT32)0x000000D2)
132#define TPM_ORD_Delegate_CreateKeyDelegation      ((UINT32)0x000000D4)
133#define TPM_ORD_Delegate_CreateOwnerDelegation    ((UINT32)0x000000D5)
134#define TPM_ORD_Delegate_VerifyDelegation         ((UINT32)0x000000D6)
135#define TPM_ORD_Delegate_LoadOwnerDelegation      ((UINT32)0x000000D8)
136#define TPM_ORD_Delegate_ReadTable                ((UINT32)0x000000DB)
137#define TPM_ORD_CreateCounter                     ((UINT32)0x000000DC)
138#define TPM_ORD_IncrementCounter                  ((UINT32)0x000000DD)
139#define TPM_ORD_ReadCounter                       ((UINT32)0x000000DE)
140#define TPM_ORD_ReleaseCounter                    ((UINT32)0x000000DF)
141#define TPM_ORD_ReleaseCounterOwner               ((UINT32)0x000000E0)
142#define TPM_ORD_EstablishTransport                ((UINT32)0x000000E6)
143#define TPM_ORD_ExecuteTransport                  ((UINT32)0x000000E7)
144#define TPM_ORD_ReleaseTransportSigned            ((UINT32)0x000000E8)
145#define TPM_ORD_GetTicks                          ((UINT32)0x000000F1)
146#define TPM_ORD_TickStampBlob                     ((UINT32)0x000000F2)
147
148#define TSC_ORD_PhysicalPresence                  ((UINT32)0x4000000A)
149#define TSC_ORD_ResetEstablishmentBit             ((UINT32)0x4000000B)
150
151#endif // __TPM_ORDINAL_H__
152