This file is indexed.

/usr/include/x86_64-linux-gnu/tss2/Parameters.h is in libtss-dev 1045-1build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
/********************************************************************************/
/*										*/
/*			  Command and Response Parameter Structures		*/
/*			     Written by Ken Goldman				*/
/*		       IBM Thomas J. Watson Research Center			*/
/*            $Id: Parameters.h 790 2016-10-26 19:21:33Z kgoldman $		*/
/*										*/
/*  Licenses and Notices							*/
/*										*/
/*  1. Copyright Licenses:							*/
/*										*/
/*  - Trusted Computing Group (TCG) grants to the user of the source code in	*/
/*    this specification (the "Source Code") a worldwide, irrevocable, 		*/
/*    nonexclusive, royalty free, copyright license to reproduce, create 	*/
/*    derivative works, distribute, display and perform the Source Code and	*/
/*    derivative works thereof, and to grant others the rights granted herein.	*/
/*										*/
/*  - The TCG grants to the user of the other parts of the specification 	*/
/*    (other than the Source Code) the rights to reproduce, distribute, 	*/
/*    display, and perform the specification solely for the purpose of 		*/
/*    developing products based on such documents.				*/
/*										*/
/*  2. Source Code Distribution Conditions:					*/
/*										*/
/*  - Redistributions of Source Code must retain the above copyright licenses, 	*/
/*    this list of conditions and the following disclaimers.			*/
/*										*/
/*  - Redistributions in binary form must reproduce the above copyright 	*/
/*    licenses, this list of conditions	and the following disclaimers in the 	*/
/*    documentation and/or other materials provided with the distribution.	*/
/*										*/
/*  3. Disclaimers:								*/
/*										*/
/*  - THE COPYRIGHT LICENSES SET FORTH ABOVE DO NOT REPRESENT ANY FORM OF	*/
/*  LICENSE OR WAIVER, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, WITH	*/
/*  RESPECT TO PATENT RIGHTS HELD BY TCG MEMBERS (OR OTHER THIRD PARTIES)	*/
/*  THAT MAY BE NECESSARY TO IMPLEMENT THIS SPECIFICATION OR OTHERWISE.		*/
/*  Contact TCG Administration (admin@trustedcomputinggroup.org) for 		*/
/*  information on specification licensing rights available through TCG 	*/
/*  membership agreements.							*/
/*										*/
/*  - THIS SPECIFICATION IS PROVIDED "AS IS" WITH NO EXPRESS OR IMPLIED 	*/
/*    WARRANTIES WHATSOEVER, INCLUDING ANY WARRANTY OF MERCHANTABILITY OR 	*/
/*    FITNESS FOR A PARTICULAR PURPOSE, ACCURACY, COMPLETENESS, OR 		*/
/*    NONINFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS, OR ANY WARRANTY 		*/
/*    OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION OR SAMPLE.		*/
/*										*/
/*  - Without limitation, TCG and its members and licensors disclaim all 	*/
/*    liability, including liability for infringement of any proprietary 	*/
/*    rights, relating to use of information in this specification and to the	*/
/*    implementation of this specification, and TCG disclaims all liability for	*/
/*    cost of procurement of substitute goods or services, lost profits, loss 	*/
/*    of use, loss of data or any incidental, consequential, direct, indirect, 	*/
/*    or special damages, whether under contract, tort, warranty or otherwise, 	*/
/*    arising in any way out of use or reliance upon this specification or any 	*/
/*    information herein.							*/
/*										*/
/*  (c) Copyright IBM Corp. and others, 2012-2015				*/
/*										*/
/********************************************************************************/

/* TPM and TSS share thses structures */

/* rev 119 */

#ifndef PARAMETERS_H
#define PARAMETERS_H

#include "TPM_Types.h"

#include "ActivateCredential_fp.h"
#include "CertifyCreation_fp.h"
#include "Certify_fp.h"
#include "ChangeEPS_fp.h"
#include "ChangePPS_fp.h"
#include "ClearControl_fp.h"
#include "Clear_fp.h"
#include "ClockRateAdjust_fp.h"
#include "ClockSet_fp.h"
#include "Commit_fp.h"
#include "ContextLoad_fp.h"
#include "ContextSave_fp.h"
#include "CreatePrimary_fp.h"
#include "Create_fp.h"
#include "CreateLoaded_fp.h"
#include "DictionaryAttackLockReset_fp.h"
#include "DictionaryAttackParameters_fp.h"
#include "Duplicate_fp.h"
#include "ECC_Parameters_fp.h"
#include "ECDH_KeyGen_fp.h"
#include "ECDH_ZGen_fp.h"
#include "EC_Ephemeral_fp.h"
#include "EncryptDecrypt_fp.h"
#include "EncryptDecrypt2_fp.h"
#include "EventSequenceComplete_fp.h"
#include "EvictControl_fp.h"
#include "FlushContext_fp.h"
#include "GetCapability_fp.h"
#include "GetCommandAuditDigest_fp.h"
#include "GetRandom_fp.h"
#include "GetSessionAuditDigest_fp.h"
#include "GetTestResult_fp.h"
#include "GetTime_fp.h"
#include "HMAC_Start_fp.h"
#include "HMAC_fp.h"
#include "HashSequenceStart_fp.h"
#include "Hash_fp.h"
#include "HierarchyChangeAuth_fp.h"
#include "HierarchyControl_fp.h"
#include "Import_fp.h"
#include "IncrementalSelfTest_fp.h"
#include "LoadExternal_fp.h"
#include "Load_fp.h"
#include "MakeCredential_fp.h"
#include "NV_Certify_fp.h"
#include "NV_ChangeAuth_fp.h"
#include "NV_DefineSpace_fp.h"
#include "NV_Extend_fp.h"
#include "NV_GlobalWriteLock_fp.h"
#include "NV_Increment_fp.h"
#include "NV_ReadLock_fp.h"
#include "NV_ReadPublic_fp.h"
#include "NV_Read_fp.h"
#include "NV_SetBits_fp.h"
#include "NV_UndefineSpaceSpecial_fp.h"
#include "NV_UndefineSpace_fp.h"
#include "NV_WriteLock_fp.h"
#include "NV_Write_fp.h"
#include "ObjectChangeAuth_fp.h"
#include "PCR_Allocate_fp.h"
#include "PCR_Event_fp.h"
#include "PCR_Extend_fp.h"
#include "PCR_Read_fp.h"
#include "PCR_Reset_fp.h"
#include "PCR_SetAuthPolicy_fp.h"
#include "PCR_SetAuthValue_fp.h"
#include "PP_Commands_fp.h"
#include "PolicyAuthValue_fp.h"
#include "PolicyAuthorize_fp.h"
#include "PolicyCommandCode_fp.h"
#include "PolicyCounterTimer_fp.h"
#include "PolicyCpHash_fp.h"
#include "PolicyDuplicationSelect_fp.h"
#include "PolicyGetDigest_fp.h"
#include "PolicyLocality_fp.h"
#include "PolicyNV_fp.h"
#include "PolicyAuthorizeNV_fp.h"
#include "PolicyNvWritten_fp.h"
#include "PolicyNameHash_fp.h"
#include "PolicyOR_fp.h"
#include "PolicyPCR_fp.h"
#include "PolicyPassword_fp.h"
#include "PolicyPhysicalPresence_fp.h"
#include "PolicyRestart_fp.h"
#include "PolicySecret_fp.h"
#include "PolicySigned_fp.h"
#include "PolicyTemplate_fp.h"
#include "PolicyTicket_fp.h"
#include "Quote_fp.h"
#include "RSA_Decrypt_fp.h"
#include "RSA_Encrypt_fp.h"
#include "ReadClock_fp.h"
#include "ReadPublic_fp.h"
#include "Rewrap_fp.h"
#include "SelfTest_fp.h"
#include "SequenceComplete_fp.h"
#include "SequenceUpdate_fp.h"
#include "SetAlgorithmSet_fp.h"
#include "SetCommandCodeAuditStatus_fp.h"
#include "SetPrimaryPolicy_fp.h"
#include "Shutdown_fp.h"
#include "Sign_fp.h"
#include "StartAuthSession_fp.h"
#include "Startup_fp.h"
#include "StirRandom_fp.h"
#include "TestParms_fp.h"
#include "Unseal_fp.h"
#include "VerifySignature_fp.h"
#include "ZGen_2Phase_fp.h"

typedef union {
    ActivateCredential_In         ActivateCredential;
    CertifyCreation_In            CertifyCreation;
    Certify_In                    Certify;
    ChangeEPS_In                  ChangeEPS;
    ChangePPS_In                  ChangePPS;
    ClearControl_In               ClearControl;
    Clear_In                      Clear;
    ClockRateAdjust_In            ClockRateAdjust;
    ClockSet_In                   ClockSet;
    Commit_In                     Commit;
    ContextLoad_In                ContextLoad;
    ContextSave_In                ContextSave;
    CreatePrimary_In              CreatePrimary;
    Create_In                     Create;
    DictionaryAttackLockReset_In  DictionaryAttackLockReset;
    DictionaryAttackParameters_In DictionaryAttackParameters;
    Duplicate_In                  Duplicate;
    ECC_Parameters_In             ECC_Parameters;
    ECDH_KeyGen_In                ECDH_KeyGen;
    ECDH_ZGen_In                  ECDH_ZGen;
    EC_Ephemeral_In               EC_Ephemeral;
    EncryptDecrypt_In             EncryptDecrypt;
    EventSequenceComplete_In      EventSequenceComplete;
    EvictControl_In               EvictControl;
    FlushContext_In               FlushContext;
    GetCapability_In              GetCapability;
    GetCommandAuditDigest_In      GetCommandAuditDigest;
    GetRandom_In                  GetRandom;
    GetSessionAuditDigest_In      GetSessionAuditDigest;
    GetTime_In                    GetTime;
    HMAC_In                       HMAC;
    HMAC_Start_In                 HMAC_Start;
    HashSequenceStart_In          HashSequenceStart;
    Hash_In                       Hash;
    HierarchyChangeAuth_In        HierarchyChangeAuth;
    HierarchyControl_In           HierarchyControl;
    Import_In                     Import;
    IncrementalSelfTest_In        IncrementalSelfTest;
    LoadExternal_In               LoadExternal;
    Load_In                       Load;
    MakeCredential_In             MakeCredential;
    NV_Certify_In                 NV_Certify;
    NV_ChangeAuth_In              NV_ChangeAuth;
    NV_DefineSpace_In             NV_DefineSpace;
    NV_Extend_In                  NV_Extend;
    NV_GlobalWriteLock_In         NV_GlobalWriteLock;
    NV_Increment_In               NV_Increment;
    NV_ReadLock_In                NV_ReadLock;
    NV_ReadPublic_In              NV_ReadPublic;
    NV_Read_In                    NV_Read;
    NV_SetBits_In                 NV_SetBits;
    NV_UndefineSpaceSpecial_In    NV_UndefineSpaceSpecial;
    NV_UndefineSpace_In           NV_UndefineSpace;
    NV_WriteLock_In               NV_WriteLock;
    NV_Write_In                   NV_Write;
    ObjectChangeAuth_In           ObjectChangeAuth;
    PCR_Allocate_In               PCR_Allocate;
    PCR_Event_In                  PCR_Event;
    PCR_Extend_In                 PCR_Extend;
    PCR_Read_In                   PCR_Read;
    PCR_Reset_In                  PCR_Reset;
    PCR_SetAuthPolicy_In          PCR_SetAuthPolicy;
    PCR_SetAuthValue_In           PCR_SetAuthValue;
    PP_Commands_In                PP_Commands;
    PolicyAuthValue_In            PolicyAuthValue;
    PolicyAuthorize_In            PolicyAuthorize;
    PolicyCommandCode_In          PolicyCommandCode;
    PolicyCounterTimer_In         PolicyCounterTimer;
    PolicyCpHash_In               PolicyCpHash;
    PolicyDuplicationSelect_In    PolicyDuplicationSelect;
    PolicyGetDigest_In            PolicyGetDigest;
    PolicyLocality_In             PolicyLocality;
    PolicyNV_In                   PolicyNV;
    PolicyAuthorizeNV_In          PolicyAuthorizeNV;
    PolicyNameHash_In             PolicyNameHash;
    PolicyOR_In                   PolicyOR;
    PolicyPCR_In                  PolicyPCR;
    PolicyPassword_In             PolicyPassword;
    PolicyPhysicalPresence_In     PolicyPhysicalPresence;
    PolicyRestart_In              PolicyRestart;
    PolicySecret_In               PolicySecret;
    PolicySigned_In               PolicySigned;
    PolicyTicket_In               PolicyTicket;
    Quote_In                      Quote;
    RSA_Decrypt_In                RSA_Decrypt;
    RSA_Encrypt_In                RSA_Encrypt;
    ReadPublic_In                 ReadPublic;
    Rewrap_In                     Rewrap;
    SelfTest_In                   SelfTest;
    SequenceComplete_In           SequenceComplete;
    SequenceUpdate_In             SequenceUpdate;
    SetAlgorithmSet_In            SetAlgorithmSet;
    SetCommandCodeAuditStatus_In  SetCommandCodeAuditStatus;
    SetPrimaryPolicy_In           SetPrimaryPolicy;
    Shutdown_In                   Shutdown;
    Sign_In                       Sign;
    StartAuthSession_In           StartAuthSession;
    Startup_In                    Startup;
    StirRandom_In                 StirRandom;
    TestParms_In                  TestParms;
    Unseal_In                     Unseal;
    VerifySignature_In            VerifySignature;
    ZGen_2Phase_In                ZGen_2Phase;
} COMMAND_PARAMETERS;

typedef union
{
    ActivateCredential_Out         ActivateCredential;
    CertifyCreation_Out            CertifyCreation;
    Certify_Out                    Certify;
    Commit_Out                     Commit;
    ContextLoad_Out                ContextLoad;
    ContextSave_Out                ContextSave;
    CreatePrimary_Out              CreatePrimary;
    Create_Out                     Create;
    Duplicate_Out                  Duplicate;
    ECC_Parameters_Out             ECC_Parameters;
    ECDH_KeyGen_Out                ECDH_KeyGen;
    ECDH_ZGen_Out                  ECDH_ZGen;
    EC_Ephemeral_Out               EC_Ephemeral;
    EncryptDecrypt_Out             EncryptDecrypt;
    EventSequenceComplete_Out      EventSequenceComplete;
    GetCapability_Out              GetCapability;
    GetCommandAuditDigest_Out      GetCommandAuditDigest;
    GetRandom_Out                  GetRandom;
    GetSessionAuditDigest_Out      GetSessionAuditDigest;
    GetTestResult_Out              GetTestResult;
    GetTime_Out                    GetTime;
    HMAC_Out                       HMAC;
    HMAC_Start_Out                 HMAC_Start;
    HashSequenceStart_Out          HashSequenceStart;
    Hash_Out                       Hash;
    Import_Out                     Import;
    IncrementalSelfTest_Out        IncrementalSelfTest;
    LoadExternal_Out               LoadExternal;
    Load_Out                       Load;
    MakeCredential_Out             MakeCredential;
    NV_Certify_Out                 NV_Certify;
    NV_ReadPublic_Out              NV_ReadPublic;
    NV_Read_Out                    NV_Read;
    ObjectChangeAuth_Out           ObjectChangeAuth;
    PCR_Allocate_Out               PCR_Allocate;
    PCR_Event_Out                  PCR_Event;
    PCR_Read_Out                   PCR_Read;
    PolicyGetDigest_Out            PolicyGetDigest;
    PolicySecret_Out               PolicySecret;
    PolicySigned_Out               PolicySigned;
    Quote_Out                      Quote;
    RSA_Decrypt_Out                RSA_Decrypt;
    RSA_Encrypt_Out                RSA_Encrypt;
    ReadClock_Out                  ReadClock;
    ReadPublic_Out                 ReadPublic;
    Rewrap_Out                     Rewrap;
    SequenceComplete_Out           SequenceComplete;
    Sign_Out                       Sign;
    StartAuthSession_Out           StartAuthSession;
    Unseal_Out                     Unseal;
    VerifySignature_Out            VerifySignature;
    ZGen_2Phase_Out                ZGen_2Phase;
} RESPONSE_PARAMETERS;

/* The TPM implements in and out as globals */

#ifndef TPM_TSS
extern COMMAND_PARAMETERS in;
extern RESPONSE_PARAMETERS out;
#endif

#endif