• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright (C) 2014 The Android Open Source Project
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 //      http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16 
17 #ifndef TRUNKS_MOCK_TPM_H_
18 #define TRUNKS_MOCK_TPM_H_
19 
20 #include <string>
21 
22 #include <base/callback.h>
23 #include <gmock/gmock.h>
24 
25 #include "trunks/tpm_generated.h"
26 
27 namespace trunks {
28 
29 class MockTpm : public Tpm {
30  public:
31   MockTpm();
32   ~MockTpm() override;
33 
34   MOCK_METHOD3(Startup,
35                void(const TPM_SU& startup_type,
36                     AuthorizationDelegate* authorization_delegate,
37                     const StartupResponse& callback));
38   MOCK_METHOD2(StartupSync,
39                TPM_RC(const TPM_SU& startup_type,
40                       AuthorizationDelegate* authorization_delegate));
41   MOCK_METHOD3(Shutdown,
42                void(const TPM_SU& shutdown_type,
43                     AuthorizationDelegate* authorization_delegate,
44                     const ShutdownResponse& callback));
45   MOCK_METHOD2(ShutdownSync,
46                TPM_RC(const TPM_SU& shutdown_type,
47                       AuthorizationDelegate* authorization_delegate));
48   MOCK_METHOD3(SelfTest,
49                void(const TPMI_YES_NO& full_test,
50                     AuthorizationDelegate* authorization_delegate,
51                     const SelfTestResponse& callback));
52   MOCK_METHOD2(SelfTestSync,
53                TPM_RC(const TPMI_YES_NO& full_test,
54                       AuthorizationDelegate* authorization_delegate));
55   MOCK_METHOD3(IncrementalSelfTest,
56                void(const TPML_ALG& to_test,
57                     AuthorizationDelegate* authorization_delegate,
58                     const IncrementalSelfTestResponse& callback));
59   MOCK_METHOD3(IncrementalSelfTestSync,
60                TPM_RC(const TPML_ALG& to_test,
61                       TPML_ALG* to_do_list,
62                       AuthorizationDelegate* authorization_delegate));
63   MOCK_METHOD2(GetTestResult,
64                void(AuthorizationDelegate* authorization_delegate,
65                     const GetTestResultResponse& callback));
66   MOCK_METHOD3(GetTestResultSync,
67                TPM_RC(TPM2B_MAX_BUFFER* out_data,
68                       TPM_RC* test_result,
69                       AuthorizationDelegate* authorization_delegate));
70   // Too many args to mock, forward to *Short version.
71   void StartAuthSession(const TPMI_DH_OBJECT& tpm_key,
72                         const std::string& tpm_key_name,
73                         const TPMI_DH_ENTITY& bind,
74                         const std::string& bind_name,
75                         const TPM2B_NONCE& nonce_caller,
76                         const TPM2B_ENCRYPTED_SECRET& encrypted_salt,
77                         const TPM_SE& session_type,
78                         const TPMT_SYM_DEF& symmetric,
79                         const TPMI_ALG_HASH& auth_hash,
80                         AuthorizationDelegate* authorization_delegate,
81                         const StartAuthSessionResponse& callback) override;
82   MOCK_METHOD9(StartAuthSessionShort,
83                void(const TPMI_DH_OBJECT& tpm_key,
84                     const TPMI_DH_ENTITY& bind,
85                     const TPM2B_NONCE& nonce_caller,
86                     const TPM2B_ENCRYPTED_SECRET& encrypted_salt,
87                     const TPM_SE& session_type,
88                     const TPMT_SYM_DEF& symmetric,
89                     const TPMI_ALG_HASH& auth_hash,
90                     AuthorizationDelegate* authorization_delegate,
91                     const StartAuthSessionResponse& callback));
92   // Too many args to mock, forward to *Short version.
93   TPM_RC StartAuthSessionSync(
94       const TPMI_DH_OBJECT& tpm_key,
95       const std::string& tpm_key_name,
96       const TPMI_DH_ENTITY& bind,
97       const std::string& bind_name,
98       const TPM2B_NONCE& nonce_caller,
99       const TPM2B_ENCRYPTED_SECRET& encrypted_salt,
100       const TPM_SE& session_type,
101       const TPMT_SYM_DEF& symmetric,
102       const TPMI_ALG_HASH& auth_hash,
103       TPMI_SH_AUTH_SESSION* session_handle,
104       TPM2B_NONCE* nonce_tpm,
105       AuthorizationDelegate* authorization_delegate) override;
106   MOCK_METHOD10(StartAuthSessionSyncShort,
107                 TPM_RC(const TPMI_DH_OBJECT& tpm_key,
108                        const TPMI_DH_ENTITY& bind,
109                        const TPM2B_NONCE& nonce_caller,
110                        const TPM2B_ENCRYPTED_SECRET& encrypted_salt,
111                        const TPM_SE& session_type,
112                        const TPMT_SYM_DEF& symmetric,
113                        const TPMI_ALG_HASH& auth_hash,
114                        TPMI_SH_AUTH_SESSION* session_handle,
115                        TPM2B_NONCE* nonce_tpm,
116                        AuthorizationDelegate* authorization_delegate));
117   MOCK_METHOD4(PolicyRestart,
118                void(const TPMI_SH_POLICY& session_handle,
119                     const std::string& session_handle_name,
120                     AuthorizationDelegate* authorization_delegate,
121                     const PolicyRestartResponse& callback));
122   MOCK_METHOD3(PolicyRestartSync,
123                TPM_RC(const TPMI_SH_POLICY& session_handle,
124                       const std::string& session_handle_name,
125                       AuthorizationDelegate* authorization_delegate));
126   MOCK_METHOD8(Create,
127                void(const TPMI_DH_OBJECT& parent_handle,
128                     const std::string& parent_handle_name,
129                     const TPM2B_SENSITIVE_CREATE& in_sensitive,
130                     const TPM2B_PUBLIC& in_public,
131                     const TPM2B_DATA& outside_info,
132                     const TPML_PCR_SELECTION& creation_pcr,
133                     AuthorizationDelegate* authorization_delegate,
134                     const CreateResponse& callback));
135   // Too many args to mock, forward to *Short version.
136   TPM_RC CreateSync(const TPMI_DH_OBJECT& parent_handle,
137                     const std::string& parent_handle_name,
138                     const TPM2B_SENSITIVE_CREATE& in_sensitive,
139                     const TPM2B_PUBLIC& in_public,
140                     const TPM2B_DATA& outside_info,
141                     const TPML_PCR_SELECTION& creation_pcr,
142                     TPM2B_PRIVATE* out_private,
143                     TPM2B_PUBLIC* out_public,
144                     TPM2B_CREATION_DATA* creation_data,
145                     TPM2B_DIGEST* creation_hash,
146                     TPMT_TK_CREATION* creation_ticket,
147                     AuthorizationDelegate* authorization_delegate) override;
148   MOCK_METHOD10(CreateSyncShort,
149                 TPM_RC(const TPMI_DH_OBJECT& parent_handle,
150                        const TPM2B_SENSITIVE_CREATE& in_sensitive,
151                        const TPM2B_PUBLIC& in_public,
152                        const TPML_PCR_SELECTION& creation_pcr,
153                        TPM2B_PRIVATE* out_private,
154                        TPM2B_PUBLIC* out_public,
155                        TPM2B_CREATION_DATA* creation_data,
156                        TPM2B_DIGEST* creation_hash,
157                        TPMT_TK_CREATION* creation_ticket,
158                        AuthorizationDelegate* authorization_delegate));
159   MOCK_METHOD6(Load,
160                void(const TPMI_DH_OBJECT& parent_handle,
161                     const std::string& parent_handle_name,
162                     const TPM2B_PRIVATE& in_private,
163                     const TPM2B_PUBLIC& in_public,
164                     AuthorizationDelegate* authorization_delegate,
165                     const LoadResponse& callback));
166   MOCK_METHOD7(LoadSync,
167                TPM_RC(const TPMI_DH_OBJECT& parent_handle,
168                       const std::string& parent_handle_name,
169                       const TPM2B_PRIVATE& in_private,
170                       const TPM2B_PUBLIC& in_public,
171                       TPM_HANDLE* object_handle,
172                       TPM2B_NAME* name,
173                       AuthorizationDelegate* authorization_delegate));
174   MOCK_METHOD5(LoadExternal,
175                void(const TPM2B_SENSITIVE& in_private,
176                     const TPM2B_PUBLIC& in_public,
177                     const TPMI_RH_HIERARCHY& hierarchy,
178                     AuthorizationDelegate* authorization_delegate,
179                     const LoadExternalResponse& callback));
180   MOCK_METHOD6(LoadExternalSync,
181                TPM_RC(const TPM2B_SENSITIVE& in_private,
182                       const TPM2B_PUBLIC& in_public,
183                       const TPMI_RH_HIERARCHY& hierarchy,
184                       TPM_HANDLE* object_handle,
185                       TPM2B_NAME* name,
186                       AuthorizationDelegate* authorization_delegate));
187   MOCK_METHOD4(ReadPublic,
188                void(const TPMI_DH_OBJECT& object_handle,
189                     const std::string& object_handle_name,
190                     AuthorizationDelegate* authorization_delegate,
191                     const ReadPublicResponse& callback));
192   MOCK_METHOD6(ReadPublicSync,
193                TPM_RC(const TPMI_DH_OBJECT& object_handle,
194                       const std::string& object_handle_name,
195                       TPM2B_PUBLIC* out_public,
196                       TPM2B_NAME* name,
197                       TPM2B_NAME* qualified_name,
198                       AuthorizationDelegate* authorization_delegate));
199   MOCK_METHOD8(ActivateCredential,
200                void(const TPMI_DH_OBJECT& activate_handle,
201                     const std::string& activate_handle_name,
202                     const TPMI_DH_OBJECT& key_handle,
203                     const std::string& key_handle_name,
204                     const TPM2B_ID_OBJECT& credential_blob,
205                     const TPM2B_ENCRYPTED_SECRET& secret,
206                     AuthorizationDelegate* authorization_delegate,
207                     const ActivateCredentialResponse& callback));
208   MOCK_METHOD8(ActivateCredentialSync,
209                TPM_RC(const TPMI_DH_OBJECT& activate_handle,
210                       const std::string& activate_handle_name,
211                       const TPMI_DH_OBJECT& key_handle,
212                       const std::string& key_handle_name,
213                       const TPM2B_ID_OBJECT& credential_blob,
214                       const TPM2B_ENCRYPTED_SECRET& secret,
215                       TPM2B_DIGEST* cert_info,
216                       AuthorizationDelegate* authorization_delegate));
217   MOCK_METHOD6(MakeCredential,
218                void(const TPMI_DH_OBJECT& handle,
219                     const std::string& handle_name,
220                     const TPM2B_DIGEST& credential,
221                     const TPM2B_NAME& object_name,
222                     AuthorizationDelegate* authorization_delegate,
223                     const MakeCredentialResponse& callback));
224   MOCK_METHOD7(MakeCredentialSync,
225                TPM_RC(const TPMI_DH_OBJECT& handle,
226                       const std::string& handle_name,
227                       const TPM2B_DIGEST& credential,
228                       const TPM2B_NAME& object_name,
229                       TPM2B_ID_OBJECT* credential_blob,
230                       TPM2B_ENCRYPTED_SECRET* secret,
231                       AuthorizationDelegate* authorization_delegate));
232   MOCK_METHOD4(Unseal,
233                void(const TPMI_DH_OBJECT& item_handle,
234                     const std::string& item_handle_name,
235                     AuthorizationDelegate* authorization_delegate,
236                     const UnsealResponse& callback));
237   MOCK_METHOD4(UnsealSync,
238                TPM_RC(const TPMI_DH_OBJECT& item_handle,
239                       const std::string& item_handle_name,
240                       TPM2B_SENSITIVE_DATA* out_data,
241                       AuthorizationDelegate* authorization_delegate));
242   MOCK_METHOD7(ObjectChangeAuth,
243                void(const TPMI_DH_OBJECT& object_handle,
244                     const std::string& object_handle_name,
245                     const TPMI_DH_OBJECT& parent_handle,
246                     const std::string& parent_handle_name,
247                     const TPM2B_AUTH& new_auth,
248                     AuthorizationDelegate* authorization_delegate,
249                     const ObjectChangeAuthResponse& callback));
250   MOCK_METHOD7(ObjectChangeAuthSync,
251                TPM_RC(const TPMI_DH_OBJECT& object_handle,
252                       const std::string& object_handle_name,
253                       const TPMI_DH_OBJECT& parent_handle,
254                       const std::string& parent_handle_name,
255                       const TPM2B_AUTH& new_auth,
256                       TPM2B_PRIVATE* out_private,
257                       AuthorizationDelegate* authorization_delegate));
258   MOCK_METHOD8(Duplicate,
259                void(const TPMI_DH_OBJECT& object_handle,
260                     const std::string& object_handle_name,
261                     const TPMI_DH_OBJECT& new_parent_handle,
262                     const std::string& new_parent_handle_name,
263                     const TPM2B_DATA& encryption_key_in,
264                     const TPMT_SYM_DEF_OBJECT& symmetric_alg,
265                     AuthorizationDelegate* authorization_delegate,
266                     const DuplicateResponse& callback));
267   MOCK_METHOD10(DuplicateSync,
268                 TPM_RC(const TPMI_DH_OBJECT& object_handle,
269                        const std::string& object_handle_name,
270                        const TPMI_DH_OBJECT& new_parent_handle,
271                        const std::string& new_parent_handle_name,
272                        const TPM2B_DATA& encryption_key_in,
273                        const TPMT_SYM_DEF_OBJECT& symmetric_alg,
274                        TPM2B_DATA* encryption_key_out,
275                        TPM2B_PRIVATE* duplicate,
276                        TPM2B_ENCRYPTED_SECRET* out_sym_seed,
277                        AuthorizationDelegate* authorization_delegate));
278   MOCK_METHOD9(Rewrap,
279                void(const TPMI_DH_OBJECT& old_parent,
280                     const std::string& old_parent_name,
281                     const TPMI_DH_OBJECT& new_parent,
282                     const std::string& new_parent_name,
283                     const TPM2B_PRIVATE& in_duplicate,
284                     const TPM2B_NAME& name,
285                     const TPM2B_ENCRYPTED_SECRET& in_sym_seed,
286                     AuthorizationDelegate* authorization_delegate,
287                     const RewrapResponse& callback));
288   MOCK_METHOD10(RewrapSync,
289                 TPM_RC(const TPMI_DH_OBJECT& old_parent,
290                        const std::string& old_parent_name,
291                        const TPMI_DH_OBJECT& new_parent,
292                        const std::string& new_parent_name,
293                        const TPM2B_PRIVATE& in_duplicate,
294                        const TPM2B_NAME& name,
295                        const TPM2B_ENCRYPTED_SECRET& in_sym_seed,
296                        TPM2B_PRIVATE* out_duplicate,
297                        TPM2B_ENCRYPTED_SECRET* out_sym_seed,
298                        AuthorizationDelegate* authorization_delegate));
299   MOCK_METHOD9(Import,
300                void(const TPMI_DH_OBJECT& parent_handle,
301                     const std::string& parent_handle_name,
302                     const TPM2B_DATA& encryption_key,
303                     const TPM2B_PUBLIC& object_public,
304                     const TPM2B_PRIVATE& duplicate,
305                     const TPM2B_ENCRYPTED_SECRET& in_sym_seed,
306                     const TPMT_SYM_DEF_OBJECT& symmetric_alg,
307                     AuthorizationDelegate* authorization_delegate,
308                     const ImportResponse& callback));
309   MOCK_METHOD9(ImportSync,
310                TPM_RC(const TPMI_DH_OBJECT& parent_handle,
311                       const std::string& parent_handle_name,
312                       const TPM2B_DATA& encryption_key,
313                       const TPM2B_PUBLIC& object_public,
314                       const TPM2B_PRIVATE& duplicate,
315                       const TPM2B_ENCRYPTED_SECRET& in_sym_seed,
316                       const TPMT_SYM_DEF_OBJECT& symmetric_alg,
317                       TPM2B_PRIVATE* out_private,
318                       AuthorizationDelegate* authorization_delegate));
319   MOCK_METHOD7(RSA_Encrypt,
320                void(const TPMI_DH_OBJECT& key_handle,
321                     const std::string& key_handle_name,
322                     const TPM2B_PUBLIC_KEY_RSA& message,
323                     const TPMT_RSA_DECRYPT& in_scheme,
324                     const TPM2B_DATA& label,
325                     AuthorizationDelegate* authorization_delegate,
326                     const RSA_EncryptResponse& callback));
327   MOCK_METHOD7(RSA_EncryptSync,
328                TPM_RC(const TPMI_DH_OBJECT& key_handle,
329                       const std::string& key_handle_name,
330                       const TPM2B_PUBLIC_KEY_RSA& message,
331                       const TPMT_RSA_DECRYPT& in_scheme,
332                       const TPM2B_DATA& label,
333                       TPM2B_PUBLIC_KEY_RSA* out_data,
334                       AuthorizationDelegate* authorization_delegate));
335   MOCK_METHOD7(RSA_Decrypt,
336                void(const TPMI_DH_OBJECT& key_handle,
337                     const std::string& key_handle_name,
338                     const TPM2B_PUBLIC_KEY_RSA& cipher_text,
339                     const TPMT_RSA_DECRYPT& in_scheme,
340                     const TPM2B_DATA& label,
341                     AuthorizationDelegate* authorization_delegate,
342                     const RSA_DecryptResponse& callback));
343   MOCK_METHOD7(RSA_DecryptSync,
344                TPM_RC(const TPMI_DH_OBJECT& key_handle,
345                       const std::string& key_handle_name,
346                       const TPM2B_PUBLIC_KEY_RSA& cipher_text,
347                       const TPMT_RSA_DECRYPT& in_scheme,
348                       const TPM2B_DATA& label,
349                       TPM2B_PUBLIC_KEY_RSA* message,
350                       AuthorizationDelegate* authorization_delegate));
351   MOCK_METHOD4(ECDH_KeyGen,
352                void(const TPMI_DH_OBJECT& key_handle,
353                     const std::string& key_handle_name,
354                     AuthorizationDelegate* authorization_delegate,
355                     const ECDH_KeyGenResponse& callback));
356   MOCK_METHOD5(ECDH_KeyGenSync,
357                TPM_RC(const TPMI_DH_OBJECT& key_handle,
358                       const std::string& key_handle_name,
359                       TPM2B_ECC_POINT* z_point,
360                       TPM2B_ECC_POINT* pub_point,
361                       AuthorizationDelegate* authorization_delegate));
362   MOCK_METHOD5(ECDH_ZGen,
363                void(const TPMI_DH_OBJECT& key_handle,
364                     const std::string& key_handle_name,
365                     const TPM2B_ECC_POINT& in_point,
366                     AuthorizationDelegate* authorization_delegate,
367                     const ECDH_ZGenResponse& callback));
368   MOCK_METHOD5(ECDH_ZGenSync,
369                TPM_RC(const TPMI_DH_OBJECT& key_handle,
370                       const std::string& key_handle_name,
371                       const TPM2B_ECC_POINT& in_point,
372                       TPM2B_ECC_POINT* out_point,
373                       AuthorizationDelegate* authorization_delegate));
374   MOCK_METHOD3(ECC_Parameters,
375                void(const TPMI_ECC_CURVE& curve_id,
376                     AuthorizationDelegate* authorization_delegate,
377                     const ECC_ParametersResponse& callback));
378   MOCK_METHOD3(ECC_ParametersSync,
379                TPM_RC(const TPMI_ECC_CURVE& curve_id,
380                       TPMS_ALGORITHM_DETAIL_ECC* parameters,
381                       AuthorizationDelegate* authorization_delegate));
382   MOCK_METHOD8(ZGen_2Phase,
383                void(const TPMI_DH_OBJECT& key_a,
384                     const std::string& key_a_name,
385                     const TPM2B_ECC_POINT& in_qs_b,
386                     const TPM2B_ECC_POINT& in_qe_b,
387                     const TPMI_ECC_KEY_EXCHANGE& in_scheme,
388                     const UINT16& counter,
389                     AuthorizationDelegate* authorization_delegate,
390                     const ZGen_2PhaseResponse& callback));
391   MOCK_METHOD9(ZGen_2PhaseSync,
392                TPM_RC(const TPMI_DH_OBJECT& key_a,
393                       const std::string& key_a_name,
394                       const TPM2B_ECC_POINT& in_qs_b,
395                       const TPM2B_ECC_POINT& in_qe_b,
396                       const TPMI_ECC_KEY_EXCHANGE& in_scheme,
397                       const UINT16& counter,
398                       TPM2B_ECC_POINT* out_z1,
399                       TPM2B_ECC_POINT* out_z2,
400                       AuthorizationDelegate* authorization_delegate));
401   MOCK_METHOD8(EncryptDecrypt,
402                void(const TPMI_DH_OBJECT& key_handle,
403                     const std::string& key_handle_name,
404                     const TPMI_YES_NO& decrypt,
405                     const TPMI_ALG_SYM_MODE& mode,
406                     const TPM2B_IV& iv_in,
407                     const TPM2B_MAX_BUFFER& in_data,
408                     AuthorizationDelegate* authorization_delegate,
409                     const EncryptDecryptResponse& callback));
410   MOCK_METHOD9(EncryptDecryptSync,
411                TPM_RC(const TPMI_DH_OBJECT& key_handle,
412                       const std::string& key_handle_name,
413                       const TPMI_YES_NO& decrypt,
414                       const TPMI_ALG_SYM_MODE& mode,
415                       const TPM2B_IV& iv_in,
416                       const TPM2B_MAX_BUFFER& in_data,
417                       TPM2B_MAX_BUFFER* out_data,
418                       TPM2B_IV* iv_out,
419                       AuthorizationDelegate* authorization_delegate));
420   MOCK_METHOD5(Hash,
421                void(const TPM2B_MAX_BUFFER& data,
422                     const TPMI_ALG_HASH& hash_alg,
423                     const TPMI_RH_HIERARCHY& hierarchy,
424                     AuthorizationDelegate* authorization_delegate,
425                     const HashResponse& callback));
426   MOCK_METHOD6(HashSync,
427                TPM_RC(const TPM2B_MAX_BUFFER& data,
428                       const TPMI_ALG_HASH& hash_alg,
429                       const TPMI_RH_HIERARCHY& hierarchy,
430                       TPM2B_DIGEST* out_hash,
431                       TPMT_TK_HASHCHECK* validation,
432                       AuthorizationDelegate* authorization_delegate));
433   MOCK_METHOD6(HMAC,
434                void(const TPMI_DH_OBJECT& handle,
435                     const std::string& handle_name,
436                     const TPM2B_MAX_BUFFER& buffer,
437                     const TPMI_ALG_HASH& hash_alg,
438                     AuthorizationDelegate* authorization_delegate,
439                     const HMACResponse& callback));
440   MOCK_METHOD6(HMACSync,
441                TPM_RC(const TPMI_DH_OBJECT& handle,
442                       const std::string& handle_name,
443                       const TPM2B_MAX_BUFFER& buffer,
444                       const TPMI_ALG_HASH& hash_alg,
445                       TPM2B_DIGEST* out_hmac,
446                       AuthorizationDelegate* authorization_delegate));
447   MOCK_METHOD3(GetRandom,
448                void(const UINT16& bytes_requested,
449                     AuthorizationDelegate* authorization_delegate,
450                     const GetRandomResponse& callback));
451   MOCK_METHOD3(GetRandomSync,
452                TPM_RC(const UINT16& bytes_requested,
453                       TPM2B_DIGEST* random_bytes,
454                       AuthorizationDelegate* authorization_delegate));
455   MOCK_METHOD3(StirRandom,
456                void(const TPM2B_SENSITIVE_DATA& in_data,
457                     AuthorizationDelegate* authorization_delegate,
458                     const StirRandomResponse& callback));
459   MOCK_METHOD2(StirRandomSync,
460                TPM_RC(const TPM2B_SENSITIVE_DATA& in_data,
461                       AuthorizationDelegate* authorization_delegate));
462   MOCK_METHOD6(HMAC_Start,
463                void(const TPMI_DH_OBJECT& handle,
464                     const std::string& handle_name,
465                     const TPM2B_AUTH& auth,
466                     const TPMI_ALG_HASH& hash_alg,
467                     AuthorizationDelegate* authorization_delegate,
468                     const HMAC_StartResponse& callback));
469   MOCK_METHOD6(HMAC_StartSync,
470                TPM_RC(const TPMI_DH_OBJECT& handle,
471                       const std::string& handle_name,
472                       const TPM2B_AUTH& auth,
473                       const TPMI_ALG_HASH& hash_alg,
474                       TPMI_DH_OBJECT* sequence_handle,
475                       AuthorizationDelegate* authorization_delegate));
476   MOCK_METHOD4(HashSequenceStart,
477                void(const TPM2B_AUTH& auth,
478                     const TPMI_ALG_HASH& hash_alg,
479                     AuthorizationDelegate* authorization_delegate,
480                     const HashSequenceStartResponse& callback));
481   MOCK_METHOD4(HashSequenceStartSync,
482                TPM_RC(const TPM2B_AUTH& auth,
483                       const TPMI_ALG_HASH& hash_alg,
484                       TPMI_DH_OBJECT* sequence_handle,
485                       AuthorizationDelegate* authorization_delegate));
486   MOCK_METHOD5(SequenceUpdate,
487                void(const TPMI_DH_OBJECT& sequence_handle,
488                     const std::string& sequence_handle_name,
489                     const TPM2B_MAX_BUFFER& buffer,
490                     AuthorizationDelegate* authorization_delegate,
491                     const SequenceUpdateResponse& callback));
492   MOCK_METHOD4(SequenceUpdateSync,
493                TPM_RC(const TPMI_DH_OBJECT& sequence_handle,
494                       const std::string& sequence_handle_name,
495                       const TPM2B_MAX_BUFFER& buffer,
496                       AuthorizationDelegate* authorization_delegate));
497   MOCK_METHOD6(SequenceComplete,
498                void(const TPMI_DH_OBJECT& sequence_handle,
499                     const std::string& sequence_handle_name,
500                     const TPM2B_MAX_BUFFER& buffer,
501                     const TPMI_RH_HIERARCHY& hierarchy,
502                     AuthorizationDelegate* authorization_delegate,
503                     const SequenceCompleteResponse& callback));
504   MOCK_METHOD7(SequenceCompleteSync,
505                TPM_RC(const TPMI_DH_OBJECT& sequence_handle,
506                       const std::string& sequence_handle_name,
507                       const TPM2B_MAX_BUFFER& buffer,
508                       const TPMI_RH_HIERARCHY& hierarchy,
509                       TPM2B_DIGEST* result,
510                       TPMT_TK_HASHCHECK* validation,
511                       AuthorizationDelegate* authorization_delegate));
512   MOCK_METHOD7(EventSequenceComplete,
513                void(const TPMI_DH_PCR& pcr_handle,
514                     const std::string& pcr_handle_name,
515                     const TPMI_DH_OBJECT& sequence_handle,
516                     const std::string& sequence_handle_name,
517                     const TPM2B_MAX_BUFFER& buffer,
518                     AuthorizationDelegate* authorization_delegate,
519                     const EventSequenceCompleteResponse& callback));
520   MOCK_METHOD7(EventSequenceCompleteSync,
521                TPM_RC(const TPMI_DH_PCR& pcr_handle,
522                       const std::string& pcr_handle_name,
523                       const TPMI_DH_OBJECT& sequence_handle,
524                       const std::string& sequence_handle_name,
525                       const TPM2B_MAX_BUFFER& buffer,
526                       TPML_DIGEST_VALUES* results,
527                       AuthorizationDelegate* authorization_delegate));
528   MOCK_METHOD8(Certify,
529                void(const TPMI_DH_OBJECT& object_handle,
530                     const std::string& object_handle_name,
531                     const TPMI_DH_OBJECT& sign_handle,
532                     const std::string& sign_handle_name,
533                     const TPM2B_DATA& qualifying_data,
534                     const TPMT_SIG_SCHEME& in_scheme,
535                     AuthorizationDelegate* authorization_delegate,
536                     const CertifyResponse& callback));
537   MOCK_METHOD9(CertifySync,
538                TPM_RC(const TPMI_DH_OBJECT& object_handle,
539                       const std::string& object_handle_name,
540                       const TPMI_DH_OBJECT& sign_handle,
541                       const std::string& sign_handle_name,
542                       const TPM2B_DATA& qualifying_data,
543                       const TPMT_SIG_SCHEME& in_scheme,
544                       TPM2B_ATTEST* certify_info,
545                       TPMT_SIGNATURE* signature,
546                       AuthorizationDelegate* authorization_delegate));
547   MOCK_METHOD10(CertifyCreation,
548                 void(const TPMI_DH_OBJECT& sign_handle,
549                      const std::string& sign_handle_name,
550                      const TPMI_DH_OBJECT& object_handle,
551                      const std::string& object_handle_name,
552                      const TPM2B_DATA& qualifying_data,
553                      const TPM2B_DIGEST& creation_hash,
554                      const TPMT_SIG_SCHEME& in_scheme,
555                      const TPMT_TK_CREATION& creation_ticket,
556                      AuthorizationDelegate* authorization_delegate,
557                      const CertifyCreationResponse& callback));
558   // Too many args to mock, forward to *Short version.
559   TPM_RC CertifyCreationSync(
560       const TPMI_DH_OBJECT& sign_handle,
561       const std::string& sign_handle_name,
562       const TPMI_DH_OBJECT& object_handle,
563       const std::string& object_handle_name,
564       const TPM2B_DATA& qualifying_data,
565       const TPM2B_DIGEST& creation_hash,
566       const TPMT_SIG_SCHEME& in_scheme,
567       const TPMT_TK_CREATION& creation_ticket,
568       TPM2B_ATTEST* certify_info,
569       TPMT_SIGNATURE* signature,
570       AuthorizationDelegate* authorization_delegate) override;
571   MOCK_METHOD9(CertifyCreationSyncShort,
572                TPM_RC(const TPMI_DH_OBJECT& sign_handle,
573                       const TPMI_DH_OBJECT& object_handle,
574                       const TPM2B_DATA& qualifying_data,
575                       const TPM2B_DIGEST& creation_hash,
576                       const TPMT_SIG_SCHEME& in_scheme,
577                       const TPMT_TK_CREATION& creation_ticket,
578                       TPM2B_ATTEST* certify_info,
579                       TPMT_SIGNATURE* signature,
580                       AuthorizationDelegate* authorization_delegate));
581   MOCK_METHOD7(Quote,
582                void(const TPMI_DH_OBJECT& sign_handle,
583                     const std::string& sign_handle_name,
584                     const TPM2B_DATA& qualifying_data,
585                     const TPMT_SIG_SCHEME& in_scheme,
586                     const TPML_PCR_SELECTION& pcrselect,
587                     AuthorizationDelegate* authorization_delegate,
588                     const QuoteResponse& callback));
589   MOCK_METHOD8(QuoteSync,
590                TPM_RC(const TPMI_DH_OBJECT& sign_handle,
591                       const std::string& sign_handle_name,
592                       const TPM2B_DATA& qualifying_data,
593                       const TPMT_SIG_SCHEME& in_scheme,
594                       const TPML_PCR_SELECTION& pcrselect,
595                       TPM2B_ATTEST* quoted,
596                       TPMT_SIGNATURE* signature,
597                       AuthorizationDelegate* authorization_delegate));
598   MOCK_METHOD10(GetSessionAuditDigest,
599                 void(const TPMI_RH_ENDORSEMENT& privacy_admin_handle,
600                      const std::string& privacy_admin_handle_name,
601                      const TPMI_DH_OBJECT& sign_handle,
602                      const std::string& sign_handle_name,
603                      const TPMI_SH_HMAC& session_handle,
604                      const std::string& session_handle_name,
605                      const TPM2B_DATA& qualifying_data,
606                      const TPMT_SIG_SCHEME& in_scheme,
607                      AuthorizationDelegate* authorization_delegate,
608                      const GetSessionAuditDigestResponse& callback));
609   // Too many args to mock, forward to *Short version.
610   TPM_RC GetSessionAuditDigestSync(
611       const TPMI_RH_ENDORSEMENT& privacy_admin_handle,
612       const std::string& privacy_admin_handle_name,
613       const TPMI_DH_OBJECT& sign_handle,
614       const std::string& sign_handle_name,
615       const TPMI_SH_HMAC& session_handle,
616       const std::string& session_handle_name,
617       const TPM2B_DATA& qualifying_data,
618       const TPMT_SIG_SCHEME& in_scheme,
619       TPM2B_ATTEST* audit_info,
620       TPMT_SIGNATURE* signature,
621       AuthorizationDelegate* authorization_delegate) override;
622   MOCK_METHOD8(GetSessionAuditDigestSyncShort,
623                TPM_RC(const TPMI_RH_ENDORSEMENT& privacy_admin_handle,
624                       const TPMI_DH_OBJECT& sign_handle,
625                       const TPMI_SH_HMAC& session_handle,
626                       const TPM2B_DATA& qualifying_data,
627                       const TPMT_SIG_SCHEME& in_scheme,
628                       TPM2B_ATTEST* audit_info,
629                       TPMT_SIGNATURE* signature,
630                       AuthorizationDelegate* authorization_delegate));
631   MOCK_METHOD8(GetCommandAuditDigest,
632                void(const TPMI_RH_ENDORSEMENT& privacy_handle,
633                     const std::string& privacy_handle_name,
634                     const TPMI_DH_OBJECT& sign_handle,
635                     const std::string& sign_handle_name,
636                     const TPM2B_DATA& qualifying_data,
637                     const TPMT_SIG_SCHEME& in_scheme,
638                     AuthorizationDelegate* authorization_delegate,
639                     const GetCommandAuditDigestResponse& callback));
640   MOCK_METHOD9(GetCommandAuditDigestSync,
641                TPM_RC(const TPMI_RH_ENDORSEMENT& privacy_handle,
642                       const std::string& privacy_handle_name,
643                       const TPMI_DH_OBJECT& sign_handle,
644                       const std::string& sign_handle_name,
645                       const TPM2B_DATA& qualifying_data,
646                       const TPMT_SIG_SCHEME& in_scheme,
647                       TPM2B_ATTEST* audit_info,
648                       TPMT_SIGNATURE* signature,
649                       AuthorizationDelegate* authorization_delegate));
650   MOCK_METHOD8(GetTime,
651                void(const TPMI_RH_ENDORSEMENT& privacy_admin_handle,
652                     const std::string& privacy_admin_handle_name,
653                     const TPMI_DH_OBJECT& sign_handle,
654                     const std::string& sign_handle_name,
655                     const TPM2B_DATA& qualifying_data,
656                     const TPMT_SIG_SCHEME& in_scheme,
657                     AuthorizationDelegate* authorization_delegate,
658                     const GetTimeResponse& callback));
659   MOCK_METHOD9(GetTimeSync,
660                TPM_RC(const TPMI_RH_ENDORSEMENT& privacy_admin_handle,
661                       const std::string& privacy_admin_handle_name,
662                       const TPMI_DH_OBJECT& sign_handle,
663                       const std::string& sign_handle_name,
664                       const TPM2B_DATA& qualifying_data,
665                       const TPMT_SIG_SCHEME& in_scheme,
666                       TPM2B_ATTEST* time_info,
667                       TPMT_SIGNATURE* signature,
668                       AuthorizationDelegate* authorization_delegate));
669   MOCK_METHOD8(Commit,
670                void(const TPMI_DH_OBJECT& sign_handle,
671                     const std::string& sign_handle_name,
672                     const UINT32& param_size,
673                     const TPM2B_ECC_POINT& p1,
674                     const TPM2B_SENSITIVE_DATA& s2,
675                     const TPM2B_ECC_PARAMETER& y2,
676                     AuthorizationDelegate* authorization_delegate,
677                     const CommitResponse& callback));
678   // Too many args to mock, forward to *Short version.
679   TPM_RC CommitSync(const TPMI_DH_OBJECT& sign_handle,
680                     const std::string& sign_handle_name,
681                     const UINT32& param_size,
682                     const TPM2B_ECC_POINT& p1,
683                     const TPM2B_SENSITIVE_DATA& s2,
684                     const TPM2B_ECC_PARAMETER& y2,
685                     UINT32* param_size_out,
686                     TPM2B_ECC_POINT* k,
687                     TPM2B_ECC_POINT* l,
688                     TPM2B_ECC_POINT* e,
689                     UINT16* counter,
690                     AuthorizationDelegate* authorization_delegate) override;
691   MOCK_METHOD10(CommitSyncShort,
692                 TPM_RC(const TPMI_DH_OBJECT& sign_handle,
693                        const UINT32& param_size,
694                        const TPM2B_ECC_POINT& p1,
695                        const TPM2B_ECC_PARAMETER& y2,
696                        UINT32* param_size_out,
697                        TPM2B_ECC_POINT* k,
698                        TPM2B_ECC_POINT* l,
699                        TPM2B_ECC_POINT* e,
700                        UINT16* counter,
701                        AuthorizationDelegate* authorization_delegate));
702   MOCK_METHOD4(EC_Ephemeral,
703                void(const UINT32& param_size,
704                     const TPMI_ECC_CURVE& curve_id,
705                     AuthorizationDelegate* authorization_delegate,
706                     const EC_EphemeralResponse& callback));
707   MOCK_METHOD6(EC_EphemeralSync,
708                TPM_RC(const UINT32& param_size,
709                       const TPMI_ECC_CURVE& curve_id,
710                       UINT32* param_size_out,
711                       TPM2B_ECC_POINT* q,
712                       UINT16* counter,
713                       AuthorizationDelegate* authorization_delegate));
714   MOCK_METHOD6(VerifySignature,
715                void(const TPMI_DH_OBJECT& key_handle,
716                     const std::string& key_handle_name,
717                     const TPM2B_DIGEST& digest,
718                     const TPMT_SIGNATURE& signature,
719                     AuthorizationDelegate* authorization_delegate,
720                     const VerifySignatureResponse& callback));
721   MOCK_METHOD6(VerifySignatureSync,
722                TPM_RC(const TPMI_DH_OBJECT& key_handle,
723                       const std::string& key_handle_name,
724                       const TPM2B_DIGEST& digest,
725                       const TPMT_SIGNATURE& signature,
726                       TPMT_TK_VERIFIED* validation,
727                       AuthorizationDelegate* authorization_delegate));
728   MOCK_METHOD7(Sign,
729                void(const TPMI_DH_OBJECT& key_handle,
730                     const std::string& key_handle_name,
731                     const TPM2B_DIGEST& digest,
732                     const TPMT_SIG_SCHEME& in_scheme,
733                     const TPMT_TK_HASHCHECK& validation,
734                     AuthorizationDelegate* authorization_delegate,
735                     const SignResponse& callback));
736   MOCK_METHOD7(SignSync,
737                TPM_RC(const TPMI_DH_OBJECT& key_handle,
738                       const std::string& key_handle_name,
739                       const TPM2B_DIGEST& digest,
740                       const TPMT_SIG_SCHEME& in_scheme,
741                       const TPMT_TK_HASHCHECK& validation,
742                       TPMT_SIGNATURE* signature,
743                       AuthorizationDelegate* authorization_delegate));
744   MOCK_METHOD7(SetCommandCodeAuditStatus,
745                void(const TPMI_RH_PROVISION& auth,
746                     const std::string& auth_name,
747                     const TPMI_ALG_HASH& audit_alg,
748                     const TPML_CC& set_list,
749                     const TPML_CC& clear_list,
750                     AuthorizationDelegate* authorization_delegate,
751                     const SetCommandCodeAuditStatusResponse& callback));
752   MOCK_METHOD6(SetCommandCodeAuditStatusSync,
753                TPM_RC(const TPMI_RH_PROVISION& auth,
754                       const std::string& auth_name,
755                       const TPMI_ALG_HASH& audit_alg,
756                       const TPML_CC& set_list,
757                       const TPML_CC& clear_list,
758                       AuthorizationDelegate* authorization_delegate));
759   MOCK_METHOD5(PCR_Extend,
760                void(const TPMI_DH_PCR& pcr_handle,
761                     const std::string& pcr_handle_name,
762                     const TPML_DIGEST_VALUES& digests,
763                     AuthorizationDelegate* authorization_delegate,
764                     const PCR_ExtendResponse& callback));
765   MOCK_METHOD4(PCR_ExtendSync,
766                TPM_RC(const TPMI_DH_PCR& pcr_handle,
767                       const std::string& pcr_handle_name,
768                       const TPML_DIGEST_VALUES& digests,
769                       AuthorizationDelegate* authorization_delegate));
770   MOCK_METHOD5(PCR_Event,
771                void(const TPMI_DH_PCR& pcr_handle,
772                     const std::string& pcr_handle_name,
773                     const TPM2B_EVENT& event_data,
774                     AuthorizationDelegate* authorization_delegate,
775                     const PCR_EventResponse& callback));
776   MOCK_METHOD5(PCR_EventSync,
777                TPM_RC(const TPMI_DH_PCR& pcr_handle,
778                       const std::string& pcr_handle_name,
779                       const TPM2B_EVENT& event_data,
780                       TPML_DIGEST_VALUES* digests,
781                       AuthorizationDelegate* authorization_delegate));
782   MOCK_METHOD3(PCR_Read,
783                void(const TPML_PCR_SELECTION& pcr_selection_in,
784                     AuthorizationDelegate* authorization_delegate,
785                     const PCR_ReadResponse& callback));
786   MOCK_METHOD5(PCR_ReadSync,
787                TPM_RC(const TPML_PCR_SELECTION& pcr_selection_in,
788                       UINT32* pcr_update_counter,
789                       TPML_PCR_SELECTION* pcr_selection_out,
790                       TPML_DIGEST* pcr_values,
791                       AuthorizationDelegate* authorization_delegate));
792   MOCK_METHOD5(PCR_Allocate,
793                void(const TPMI_RH_PLATFORM& auth_handle,
794                     const std::string& auth_handle_name,
795                     const TPML_PCR_SELECTION& pcr_allocation,
796                     AuthorizationDelegate* authorization_delegate,
797                     const PCR_AllocateResponse& callback));
798   MOCK_METHOD8(PCR_AllocateSync,
799                TPM_RC(const TPMI_RH_PLATFORM& auth_handle,
800                       const std::string& auth_handle_name,
801                       const TPML_PCR_SELECTION& pcr_allocation,
802                       TPMI_YES_NO* allocation_success,
803                       UINT32* max_pcr,
804                       UINT32* size_needed,
805                       UINT32* size_available,
806                       AuthorizationDelegate* authorization_delegate));
807   MOCK_METHOD8(PCR_SetAuthPolicy,
808                void(const TPMI_RH_PLATFORM& auth_handle,
809                     const std::string& auth_handle_name,
810                     const TPMI_DH_PCR& pcr_num,
811                     const std::string& pcr_num_name,
812                     const TPM2B_DIGEST& auth_policy,
813                     const TPMI_ALG_HASH& policy_digest,
814                     AuthorizationDelegate* authorization_delegate,
815                     const PCR_SetAuthPolicyResponse& callback));
816   MOCK_METHOD7(PCR_SetAuthPolicySync,
817                TPM_RC(const TPMI_RH_PLATFORM& auth_handle,
818                       const std::string& auth_handle_name,
819                       const TPMI_DH_PCR& pcr_num,
820                       const std::string& pcr_num_name,
821                       const TPM2B_DIGEST& auth_policy,
822                       const TPMI_ALG_HASH& policy_digest,
823                       AuthorizationDelegate* authorization_delegate));
824   MOCK_METHOD5(PCR_SetAuthValue,
825                void(const TPMI_DH_PCR& pcr_handle,
826                     const std::string& pcr_handle_name,
827                     const TPM2B_DIGEST& auth,
828                     AuthorizationDelegate* authorization_delegate,
829                     const PCR_SetAuthValueResponse& callback));
830   MOCK_METHOD4(PCR_SetAuthValueSync,
831                TPM_RC(const TPMI_DH_PCR& pcr_handle,
832                       const std::string& pcr_handle_name,
833                       const TPM2B_DIGEST& auth,
834                       AuthorizationDelegate* authorization_delegate));
835   MOCK_METHOD4(PCR_Reset,
836                void(const TPMI_DH_PCR& pcr_handle,
837                     const std::string& pcr_handle_name,
838                     AuthorizationDelegate* authorization_delegate,
839                     const PCR_ResetResponse& callback));
840   MOCK_METHOD3(PCR_ResetSync,
841                TPM_RC(const TPMI_DH_PCR& pcr_handle,
842                       const std::string& pcr_handle_name,
843                       AuthorizationDelegate* authorization_delegate));
844   // Too many args to mock, forward to *Short version.
845   void PolicySigned(const TPMI_DH_OBJECT& auth_object,
846                     const std::string& auth_object_name,
847                     const TPMI_SH_POLICY& policy_session,
848                     const std::string& policy_session_name,
849                     const TPM2B_NONCE& nonce_tpm,
850                     const TPM2B_DIGEST& cp_hash_a,
851                     const TPM2B_NONCE& policy_ref,
852                     const INT32& expiration,
853                     const TPMT_SIGNATURE& auth,
854                     AuthorizationDelegate* authorization_delegate,
855                     const PolicySignedResponse& callback) override;
856   MOCK_METHOD9(PolicySignedShort,
857                void(const TPMI_DH_OBJECT& auth_object,
858                     const TPMI_SH_POLICY& policy_session,
859                     const TPM2B_NONCE& nonce_tpm,
860                     const TPM2B_DIGEST& cp_hash_a,
861                     const TPM2B_NONCE& policy_ref,
862                     const INT32& expiration,
863                     const TPMT_SIGNATURE& auth,
864                     AuthorizationDelegate* authorization_delegate,
865                     const PolicySignedResponse& callback));
866   // Too many args to mock, forward to *Short version.
867   TPM_RC PolicySignedSync(
868       const TPMI_DH_OBJECT& auth_object,
869       const std::string& auth_object_name,
870       const TPMI_SH_POLICY& policy_session,
871       const std::string& policy_session_name,
872       const TPM2B_NONCE& nonce_tpm,
873       const TPM2B_DIGEST& cp_hash_a,
874       const TPM2B_NONCE& policy_ref,
875       const INT32& expiration,
876       const TPMT_SIGNATURE& auth,
877       TPM2B_TIMEOUT* timeout,
878       TPMT_TK_AUTH* policy_ticket,
879       AuthorizationDelegate* authorization_delegate) override;
880   MOCK_METHOD10(PolicySignedSyncShort,
881                 TPM_RC(const TPMI_DH_OBJECT& auth_object,
882                        const TPMI_SH_POLICY& policy_session,
883                        const TPM2B_NONCE& nonce_tpm,
884                        const TPM2B_DIGEST& cp_hash_a,
885                        const TPM2B_NONCE& policy_ref,
886                        const INT32& expiration,
887                        const TPMT_SIGNATURE& auth,
888                        TPM2B_TIMEOUT* timeout,
889                        TPMT_TK_AUTH* policy_ticket,
890                        AuthorizationDelegate* authorization_delegate));
891   MOCK_METHOD10(PolicySecret,
892                 void(const TPMI_DH_ENTITY& auth_handle,
893                      const std::string& auth_handle_name,
894                      const TPMI_SH_POLICY& policy_session,
895                      const std::string& policy_session_name,
896                      const TPM2B_NONCE& nonce_tpm,
897                      const TPM2B_DIGEST& cp_hash_a,
898                      const TPM2B_NONCE& policy_ref,
899                      const INT32& expiration,
900                      AuthorizationDelegate* authorization_delegate,
901                      const PolicySecretResponse& callback));
902   // Too many args to mock, forward to *Short version.
903   TPM_RC PolicySecretSync(
904       const TPMI_DH_ENTITY& auth_handle,
905       const std::string& auth_handle_name,
906       const TPMI_SH_POLICY& policy_session,
907       const std::string& policy_session_name,
908       const TPM2B_NONCE& nonce_tpm,
909       const TPM2B_DIGEST& cp_hash_a,
910       const TPM2B_NONCE& policy_ref,
911       const INT32& expiration,
912       TPM2B_TIMEOUT* timeout,
913       TPMT_TK_AUTH* policy_ticket,
914       AuthorizationDelegate* authorization_delegate) override;
915   MOCK_METHOD9(PolicySecretSyncShort,
916                TPM_RC(const TPMI_DH_ENTITY& auth_handle,
917                       const TPMI_SH_POLICY& policy_session,
918                       const TPM2B_NONCE& nonce_tpm,
919                       const TPM2B_DIGEST& cp_hash_a,
920                       const TPM2B_NONCE& policy_ref,
921                       const INT32& expiration,
922                       TPM2B_TIMEOUT* timeout,
923                       TPMT_TK_AUTH* policy_ticket,
924                       AuthorizationDelegate* authorization_delegate));
925   MOCK_METHOD9(PolicyTicket,
926                void(const TPMI_SH_POLICY& policy_session,
927                     const std::string& policy_session_name,
928                     const TPM2B_TIMEOUT& timeout,
929                     const TPM2B_DIGEST& cp_hash_a,
930                     const TPM2B_NONCE& policy_ref,
931                     const TPM2B_NAME& auth_name,
932                     const TPMT_TK_AUTH& ticket,
933                     AuthorizationDelegate* authorization_delegate,
934                     const PolicyTicketResponse& callback));
935   MOCK_METHOD8(PolicyTicketSync,
936                TPM_RC(const TPMI_SH_POLICY& policy_session,
937                       const std::string& policy_session_name,
938                       const TPM2B_TIMEOUT& timeout,
939                       const TPM2B_DIGEST& cp_hash_a,
940                       const TPM2B_NONCE& policy_ref,
941                       const TPM2B_NAME& auth_name,
942                       const TPMT_TK_AUTH& ticket,
943                       AuthorizationDelegate* authorization_delegate));
944   MOCK_METHOD5(PolicyOR,
945                void(const TPMI_SH_POLICY& policy_session,
946                     const std::string& policy_session_name,
947                     const TPML_DIGEST& p_hash_list,
948                     AuthorizationDelegate* authorization_delegate,
949                     const PolicyORResponse& callback));
950   MOCK_METHOD4(PolicyORSync,
951                TPM_RC(const TPMI_SH_POLICY& policy_session,
952                       const std::string& policy_session_name,
953                       const TPML_DIGEST& p_hash_list,
954                       AuthorizationDelegate* authorization_delegate));
955   MOCK_METHOD6(PolicyPCR,
956                void(const TPMI_SH_POLICY& policy_session,
957                     const std::string& policy_session_name,
958                     const TPM2B_DIGEST& pcr_digest,
959                     const TPML_PCR_SELECTION& pcrs,
960                     AuthorizationDelegate* authorization_delegate,
961                     const PolicyPCRResponse& callback));
962   MOCK_METHOD5(PolicyPCRSync,
963                TPM_RC(const TPMI_SH_POLICY& policy_session,
964                       const std::string& policy_session_name,
965                       const TPM2B_DIGEST& pcr_digest,
966                       const TPML_PCR_SELECTION& pcrs,
967                       AuthorizationDelegate* authorization_delegate));
968   MOCK_METHOD5(PolicyLocality,
969                void(const TPMI_SH_POLICY& policy_session,
970                     const std::string& policy_session_name,
971                     const TPMA_LOCALITY& locality,
972                     AuthorizationDelegate* authorization_delegate,
973                     const PolicyLocalityResponse& callback));
974   MOCK_METHOD4(PolicyLocalitySync,
975                TPM_RC(const TPMI_SH_POLICY& policy_session,
976                       const std::string& policy_session_name,
977                       const TPMA_LOCALITY& locality,
978                       AuthorizationDelegate* authorization_delegate));
979   // Too many args to mock, forward to *Short version.
980   void PolicyNV(const TPMI_RH_NV_AUTH& auth_handle,
981                 const std::string& auth_handle_name,
982                 const TPMI_RH_NV_INDEX& nv_index,
983                 const std::string& nv_index_name,
984                 const TPMI_SH_POLICY& policy_session,
985                 const std::string& policy_session_name,
986                 const TPM2B_OPERAND& operand_b,
987                 const UINT16& offset,
988                 const TPM_EO& operation,
989                 AuthorizationDelegate* authorization_delegate,
990                 const PolicyNVResponse& callback) override;
991   MOCK_METHOD8(PolicyNVShort,
992                void(const TPMI_RH_NV_AUTH& auth_handle,
993                     const TPMI_RH_NV_INDEX& nv_index,
994                     const TPMI_SH_POLICY& policy_session,
995                     const TPM2B_OPERAND& operand_b,
996                     const UINT16& offset,
997                     const TPM_EO& operation,
998                     AuthorizationDelegate* authorization_delegate,
999                     const PolicyNVResponse& callback));
1000   MOCK_METHOD10(PolicyNVSync,
1001                 TPM_RC(const TPMI_RH_NV_AUTH& auth_handle,
1002                        const std::string& auth_handle_name,
1003                        const TPMI_RH_NV_INDEX& nv_index,
1004                        const std::string& nv_index_name,
1005                        const TPMI_SH_POLICY& policy_session,
1006                        const std::string& policy_session_name,
1007                        const TPM2B_OPERAND& operand_b,
1008                        const UINT16& offset,
1009                        const TPM_EO& operation,
1010                        AuthorizationDelegate* authorization_delegate));
1011   MOCK_METHOD7(PolicyCounterTimer,
1012                void(const TPMI_SH_POLICY& policy_session,
1013                     const std::string& policy_session_name,
1014                     const TPM2B_OPERAND& operand_b,
1015                     const UINT16& offset,
1016                     const TPM_EO& operation,
1017                     AuthorizationDelegate* authorization_delegate,
1018                     const PolicyCounterTimerResponse& callback));
1019   MOCK_METHOD6(PolicyCounterTimerSync,
1020                TPM_RC(const TPMI_SH_POLICY& policy_session,
1021                       const std::string& policy_session_name,
1022                       const TPM2B_OPERAND& operand_b,
1023                       const UINT16& offset,
1024                       const TPM_EO& operation,
1025                       AuthorizationDelegate* authorization_delegate));
1026   MOCK_METHOD5(PolicyCommandCode,
1027                void(const TPMI_SH_POLICY& policy_session,
1028                     const std::string& policy_session_name,
1029                     const TPM_CC& code,
1030                     AuthorizationDelegate* authorization_delegate,
1031                     const PolicyCommandCodeResponse& callback));
1032   MOCK_METHOD4(PolicyCommandCodeSync,
1033                TPM_RC(const TPMI_SH_POLICY& policy_session,
1034                       const std::string& policy_session_name,
1035                       const TPM_CC& code,
1036                       AuthorizationDelegate* authorization_delegate));
1037   MOCK_METHOD4(PolicyPhysicalPresence,
1038                void(const TPMI_SH_POLICY& policy_session,
1039                     const std::string& policy_session_name,
1040                     AuthorizationDelegate* authorization_delegate,
1041                     const PolicyPhysicalPresenceResponse& callback));
1042   MOCK_METHOD3(PolicyPhysicalPresenceSync,
1043                TPM_RC(const TPMI_SH_POLICY& policy_session,
1044                       const std::string& policy_session_name,
1045                       AuthorizationDelegate* authorization_delegate));
1046   MOCK_METHOD5(PolicyCpHash,
1047                void(const TPMI_SH_POLICY& policy_session,
1048                     const std::string& policy_session_name,
1049                     const TPM2B_DIGEST& cp_hash_a,
1050                     AuthorizationDelegate* authorization_delegate,
1051                     const PolicyCpHashResponse& callback));
1052   MOCK_METHOD4(PolicyCpHashSync,
1053                TPM_RC(const TPMI_SH_POLICY& policy_session,
1054                       const std::string& policy_session_name,
1055                       const TPM2B_DIGEST& cp_hash_a,
1056                       AuthorizationDelegate* authorization_delegate));
1057   MOCK_METHOD5(PolicyNameHash,
1058                void(const TPMI_SH_POLICY& policy_session,
1059                     const std::string& policy_session_name,
1060                     const TPM2B_DIGEST& name_hash,
1061                     AuthorizationDelegate* authorization_delegate,
1062                     const PolicyNameHashResponse& callback));
1063   MOCK_METHOD4(PolicyNameHashSync,
1064                TPM_RC(const TPMI_SH_POLICY& policy_session,
1065                       const std::string& policy_session_name,
1066                       const TPM2B_DIGEST& name_hash,
1067                       AuthorizationDelegate* authorization_delegate));
1068   MOCK_METHOD7(PolicyDuplicationSelect,
1069                void(const TPMI_SH_POLICY& policy_session,
1070                     const std::string& policy_session_name,
1071                     const TPM2B_NAME& object_name,
1072                     const TPM2B_NAME& new_parent_name,
1073                     const TPMI_YES_NO& include_object,
1074                     AuthorizationDelegate* authorization_delegate,
1075                     const PolicyDuplicationSelectResponse& callback));
1076   MOCK_METHOD6(PolicyDuplicationSelectSync,
1077                TPM_RC(const TPMI_SH_POLICY& policy_session,
1078                       const std::string& policy_session_name,
1079                       const TPM2B_NAME& object_name,
1080                       const TPM2B_NAME& new_parent_name,
1081                       const TPMI_YES_NO& include_object,
1082                       AuthorizationDelegate* authorization_delegate));
1083   MOCK_METHOD8(PolicyAuthorize,
1084                void(const TPMI_SH_POLICY& policy_session,
1085                     const std::string& policy_session_name,
1086                     const TPM2B_DIGEST& approved_policy,
1087                     const TPM2B_NONCE& policy_ref,
1088                     const TPM2B_NAME& key_sign,
1089                     const TPMT_TK_VERIFIED& check_ticket,
1090                     AuthorizationDelegate* authorization_delegate,
1091                     const PolicyAuthorizeResponse& callback));
1092   MOCK_METHOD7(PolicyAuthorizeSync,
1093                TPM_RC(const TPMI_SH_POLICY& policy_session,
1094                       const std::string& policy_session_name,
1095                       const TPM2B_DIGEST& approved_policy,
1096                       const TPM2B_NONCE& policy_ref,
1097                       const TPM2B_NAME& key_sign,
1098                       const TPMT_TK_VERIFIED& check_ticket,
1099                       AuthorizationDelegate* authorization_delegate));
1100   MOCK_METHOD4(PolicyAuthValue,
1101                void(const TPMI_SH_POLICY& policy_session,
1102                     const std::string& policy_session_name,
1103                     AuthorizationDelegate* authorization_delegate,
1104                     const PolicyAuthValueResponse& callback));
1105   MOCK_METHOD3(PolicyAuthValueSync,
1106                TPM_RC(const TPMI_SH_POLICY& policy_session,
1107                       const std::string& policy_session_name,
1108                       AuthorizationDelegate* authorization_delegate));
1109   MOCK_METHOD4(PolicyPassword,
1110                void(const TPMI_SH_POLICY& policy_session,
1111                     const std::string& policy_session_name,
1112                     AuthorizationDelegate* authorization_delegate,
1113                     const PolicyPasswordResponse& callback));
1114   MOCK_METHOD3(PolicyPasswordSync,
1115                TPM_RC(const TPMI_SH_POLICY& policy_session,
1116                       const std::string& policy_session_name,
1117                       AuthorizationDelegate* authorization_delegate));
1118   MOCK_METHOD4(PolicyGetDigest,
1119                void(const TPMI_SH_POLICY& policy_session,
1120                     const std::string& policy_session_name,
1121                     AuthorizationDelegate* authorization_delegate,
1122                     const PolicyGetDigestResponse& callback));
1123   MOCK_METHOD4(PolicyGetDigestSync,
1124                TPM_RC(const TPMI_SH_POLICY& policy_session,
1125                       const std::string& policy_session_name,
1126                       TPM2B_DIGEST* policy_digest,
1127                       AuthorizationDelegate* authorization_delegate));
1128   MOCK_METHOD5(PolicyNvWritten,
1129                void(const TPMI_SH_POLICY& policy_session,
1130                     const std::string& policy_session_name,
1131                     const TPMI_YES_NO& written_set,
1132                     AuthorizationDelegate* authorization_delegate,
1133                     const PolicyNvWrittenResponse& callback));
1134   MOCK_METHOD4(PolicyNvWrittenSync,
1135                TPM_RC(const TPMI_SH_POLICY& policy_session,
1136                       const std::string& policy_session_name,
1137                       const TPMI_YES_NO& written_set,
1138                       AuthorizationDelegate* authorization_delegate));
1139   MOCK_METHOD8(CreatePrimary,
1140                void(const TPMI_RH_HIERARCHY& primary_handle,
1141                     const std::string& primary_handle_name,
1142                     const TPM2B_SENSITIVE_CREATE& in_sensitive,
1143                     const TPM2B_PUBLIC& in_public,
1144                     const TPM2B_DATA& outside_info,
1145                     const TPML_PCR_SELECTION& creation_pcr,
1146                     AuthorizationDelegate* authorization_delegate,
1147                     const CreatePrimaryResponse& callback));
1148   // Too many args to mock, forward to *Short version.
1149   TPM_RC CreatePrimarySync(
1150       const TPMI_RH_HIERARCHY& primary_handle,
1151       const std::string& primary_handle_name,
1152       const TPM2B_SENSITIVE_CREATE& in_sensitive,
1153       const TPM2B_PUBLIC& in_public,
1154       const TPM2B_DATA& outside_info,
1155       const TPML_PCR_SELECTION& creation_pcr,
1156       TPM_HANDLE* object_handle,
1157       TPM2B_PUBLIC* out_public,
1158       TPM2B_CREATION_DATA* creation_data,
1159       TPM2B_DIGEST* creation_hash,
1160       TPMT_TK_CREATION* creation_ticket,
1161       TPM2B_NAME* name,
1162       AuthorizationDelegate* authorization_delegate) override;
1163   MOCK_METHOD10(CreatePrimarySyncShort,
1164                 TPM_RC(const TPMI_RH_HIERARCHY& primary_handle,
1165                        const TPM2B_PUBLIC& in_public,
1166                        const TPML_PCR_SELECTION& creation_pcr,
1167                        TPM_HANDLE* object_handle,
1168                        TPM2B_PUBLIC* out_public,
1169                        TPM2B_CREATION_DATA* creation_data,
1170                        TPM2B_DIGEST* creation_hash,
1171                        TPMT_TK_CREATION* creation_ticket,
1172                        TPM2B_NAME* name,
1173                        AuthorizationDelegate* authorization_delegate));
1174   MOCK_METHOD6(HierarchyControl,
1175                void(const TPMI_RH_HIERARCHY& auth_handle,
1176                     const std::string& auth_handle_name,
1177                     const TPMI_RH_ENABLES& enable,
1178                     const TPMI_YES_NO& state,
1179                     AuthorizationDelegate* authorization_delegate,
1180                     const HierarchyControlResponse& callback));
1181   MOCK_METHOD5(HierarchyControlSync,
1182                TPM_RC(const TPMI_RH_HIERARCHY& auth_handle,
1183                       const std::string& auth_handle_name,
1184                       const TPMI_RH_ENABLES& enable,
1185                       const TPMI_YES_NO& state,
1186                       AuthorizationDelegate* authorization_delegate));
1187   MOCK_METHOD6(SetPrimaryPolicy,
1188                void(const TPMI_RH_HIERARCHY& auth_handle,
1189                     const std::string& auth_handle_name,
1190                     const TPM2B_DIGEST& auth_policy,
1191                     const TPMI_ALG_HASH& hash_alg,
1192                     AuthorizationDelegate* authorization_delegate,
1193                     const SetPrimaryPolicyResponse& callback));
1194   MOCK_METHOD5(SetPrimaryPolicySync,
1195                TPM_RC(const TPMI_RH_HIERARCHY& auth_handle,
1196                       const std::string& auth_handle_name,
1197                       const TPM2B_DIGEST& auth_policy,
1198                       const TPMI_ALG_HASH& hash_alg,
1199                       AuthorizationDelegate* authorization_delegate));
1200   MOCK_METHOD4(ChangePPS,
1201                void(const TPMI_RH_PLATFORM& auth_handle,
1202                     const std::string& auth_handle_name,
1203                     AuthorizationDelegate* authorization_delegate,
1204                     const ChangePPSResponse& callback));
1205   MOCK_METHOD3(ChangePPSSync,
1206                TPM_RC(const TPMI_RH_PLATFORM& auth_handle,
1207                       const std::string& auth_handle_name,
1208                       AuthorizationDelegate* authorization_delegate));
1209   MOCK_METHOD4(ChangeEPS,
1210                void(const TPMI_RH_PLATFORM& auth_handle,
1211                     const std::string& auth_handle_name,
1212                     AuthorizationDelegate* authorization_delegate,
1213                     const ChangeEPSResponse& callback));
1214   MOCK_METHOD3(ChangeEPSSync,
1215                TPM_RC(const TPMI_RH_PLATFORM& auth_handle,
1216                       const std::string& auth_handle_name,
1217                       AuthorizationDelegate* authorization_delegate));
1218   MOCK_METHOD4(Clear,
1219                void(const TPMI_RH_CLEAR& auth_handle,
1220                     const std::string& auth_handle_name,
1221                     AuthorizationDelegate* authorization_delegate,
1222                     const ClearResponse& callback));
1223   MOCK_METHOD3(ClearSync,
1224                TPM_RC(const TPMI_RH_CLEAR& auth_handle,
1225                       const std::string& auth_handle_name,
1226                       AuthorizationDelegate* authorization_delegate));
1227   MOCK_METHOD5(ClearControl,
1228                void(const TPMI_RH_CLEAR& auth,
1229                     const std::string& auth_name,
1230                     const TPMI_YES_NO& disable,
1231                     AuthorizationDelegate* authorization_delegate,
1232                     const ClearControlResponse& callback));
1233   MOCK_METHOD4(ClearControlSync,
1234                TPM_RC(const TPMI_RH_CLEAR& auth,
1235                       const std::string& auth_name,
1236                       const TPMI_YES_NO& disable,
1237                       AuthorizationDelegate* authorization_delegate));
1238   MOCK_METHOD5(HierarchyChangeAuth,
1239                void(const TPMI_RH_HIERARCHY_AUTH& auth_handle,
1240                     const std::string& auth_handle_name,
1241                     const TPM2B_AUTH& new_auth,
1242                     AuthorizationDelegate* authorization_delegate,
1243                     const HierarchyChangeAuthResponse& callback));
1244   MOCK_METHOD4(HierarchyChangeAuthSync,
1245                TPM_RC(const TPMI_RH_HIERARCHY_AUTH& auth_handle,
1246                       const std::string& auth_handle_name,
1247                       const TPM2B_AUTH& new_auth,
1248                       AuthorizationDelegate* authorization_delegate));
1249   MOCK_METHOD4(DictionaryAttackLockReset,
1250                void(const TPMI_RH_LOCKOUT& lock_handle,
1251                     const std::string& lock_handle_name,
1252                     AuthorizationDelegate* authorization_delegate,
1253                     const DictionaryAttackLockResetResponse& callback));
1254   MOCK_METHOD3(DictionaryAttackLockResetSync,
1255                TPM_RC(const TPMI_RH_LOCKOUT& lock_handle,
1256                       const std::string& lock_handle_name,
1257                       AuthorizationDelegate* authorization_delegate));
1258   MOCK_METHOD7(DictionaryAttackParameters,
1259                void(const TPMI_RH_LOCKOUT& lock_handle,
1260                     const std::string& lock_handle_name,
1261                     const UINT32& new_max_tries,
1262                     const UINT32& new_recovery_time,
1263                     const UINT32& lockout_recovery,
1264                     AuthorizationDelegate* authorization_delegate,
1265                     const DictionaryAttackParametersResponse& callback));
1266   MOCK_METHOD6(DictionaryAttackParametersSync,
1267                TPM_RC(const TPMI_RH_LOCKOUT& lock_handle,
1268                       const std::string& lock_handle_name,
1269                       const UINT32& new_max_tries,
1270                       const UINT32& new_recovery_time,
1271                       const UINT32& lockout_recovery,
1272                       AuthorizationDelegate* authorization_delegate));
1273   MOCK_METHOD6(PP_Commands,
1274                void(const TPMI_RH_PLATFORM& auth,
1275                     const std::string& auth_name,
1276                     const TPML_CC& set_list,
1277                     const TPML_CC& clear_list,
1278                     AuthorizationDelegate* authorization_delegate,
1279                     const PP_CommandsResponse& callback));
1280   MOCK_METHOD5(PP_CommandsSync,
1281                TPM_RC(const TPMI_RH_PLATFORM& auth,
1282                       const std::string& auth_name,
1283                       const TPML_CC& set_list,
1284                       const TPML_CC& clear_list,
1285                       AuthorizationDelegate* authorization_delegate));
1286   MOCK_METHOD5(SetAlgorithmSet,
1287                void(const TPMI_RH_PLATFORM& auth_handle,
1288                     const std::string& auth_handle_name,
1289                     const UINT32& algorithm_set,
1290                     AuthorizationDelegate* authorization_delegate,
1291                     const SetAlgorithmSetResponse& callback));
1292   MOCK_METHOD4(SetAlgorithmSetSync,
1293                TPM_RC(const TPMI_RH_PLATFORM& auth_handle,
1294                       const std::string& auth_handle_name,
1295                       const UINT32& algorithm_set,
1296                       AuthorizationDelegate* authorization_delegate));
1297   MOCK_METHOD8(FieldUpgradeStart,
1298                void(const TPMI_RH_PLATFORM& authorization,
1299                     const std::string& authorization_name,
1300                     const TPMI_DH_OBJECT& key_handle,
1301                     const std::string& key_handle_name,
1302                     const TPM2B_DIGEST& fu_digest,
1303                     const TPMT_SIGNATURE& manifest_signature,
1304                     AuthorizationDelegate* authorization_delegate,
1305                     const FieldUpgradeStartResponse& callback));
1306   MOCK_METHOD7(FieldUpgradeStartSync,
1307                TPM_RC(const TPMI_RH_PLATFORM& authorization,
1308                       const std::string& authorization_name,
1309                       const TPMI_DH_OBJECT& key_handle,
1310                       const std::string& key_handle_name,
1311                       const TPM2B_DIGEST& fu_digest,
1312                       const TPMT_SIGNATURE& manifest_signature,
1313                       AuthorizationDelegate* authorization_delegate));
1314   MOCK_METHOD3(FieldUpgradeData,
1315                void(const TPM2B_MAX_BUFFER& fu_data,
1316                     AuthorizationDelegate* authorization_delegate,
1317                     const FieldUpgradeDataResponse& callback));
1318   MOCK_METHOD4(FieldUpgradeDataSync,
1319                TPM_RC(const TPM2B_MAX_BUFFER& fu_data,
1320                       TPMT_HA* next_digest,
1321                       TPMT_HA* first_digest,
1322                       AuthorizationDelegate* authorization_delegate));
1323   MOCK_METHOD3(FirmwareRead,
1324                void(const UINT32& sequence_number,
1325                     AuthorizationDelegate* authorization_delegate,
1326                     const FirmwareReadResponse& callback));
1327   MOCK_METHOD3(FirmwareReadSync,
1328                TPM_RC(const UINT32& sequence_number,
1329                       TPM2B_MAX_BUFFER* fu_data,
1330                       AuthorizationDelegate* authorization_delegate));
1331   MOCK_METHOD4(ContextSave,
1332                void(const TPMI_DH_CONTEXT& save_handle,
1333                     const std::string& save_handle_name,
1334                     AuthorizationDelegate* authorization_delegate,
1335                     const ContextSaveResponse& callback));
1336   MOCK_METHOD4(ContextSaveSync,
1337                TPM_RC(const TPMI_DH_CONTEXT& save_handle,
1338                       const std::string& save_handle_name,
1339                       TPMS_CONTEXT* context,
1340                       AuthorizationDelegate* authorization_delegate));
1341   MOCK_METHOD3(ContextLoad,
1342                void(const TPMS_CONTEXT& context,
1343                     AuthorizationDelegate* authorization_delegate,
1344                     const ContextLoadResponse& callback));
1345   MOCK_METHOD3(ContextLoadSync,
1346                TPM_RC(const TPMS_CONTEXT& context,
1347                       TPMI_DH_CONTEXT* loaded_handle,
1348                       AuthorizationDelegate* authorization_delegate));
1349   MOCK_METHOD3(FlushContext,
1350                void(const TPMI_DH_CONTEXT& flush_handle,
1351                     AuthorizationDelegate* authorization_delegate,
1352                     const FlushContextResponse& callback));
1353   MOCK_METHOD2(FlushContextSync,
1354                TPM_RC(const TPMI_DH_CONTEXT& flush_handle,
1355                       AuthorizationDelegate* authorization_delegate));
1356   MOCK_METHOD7(EvictControl,
1357                void(const TPMI_RH_PROVISION& auth,
1358                     const std::string& auth_name,
1359                     const TPMI_DH_OBJECT& object_handle,
1360                     const std::string& object_handle_name,
1361                     const TPMI_DH_PERSISTENT& persistent_handle,
1362                     AuthorizationDelegate* authorization_delegate,
1363                     const EvictControlResponse& callback));
1364   MOCK_METHOD6(EvictControlSync,
1365                TPM_RC(const TPMI_RH_PROVISION& auth,
1366                       const std::string& auth_name,
1367                       const TPMI_DH_OBJECT& object_handle,
1368                       const std::string& object_handle_name,
1369                       const TPMI_DH_PERSISTENT& persistent_handle,
1370                       AuthorizationDelegate* authorization_delegate));
1371   MOCK_METHOD2(ReadClock,
1372                void(AuthorizationDelegate* authorization_delegate,
1373                     const ReadClockResponse& callback));
1374   MOCK_METHOD2(ReadClockSync,
1375                TPM_RC(TPMS_TIME_INFO* current_time,
1376                       AuthorizationDelegate* authorization_delegate));
1377   MOCK_METHOD5(ClockSet,
1378                void(const TPMI_RH_PROVISION& auth,
1379                     const std::string& auth_name,
1380                     const UINT64& new_time,
1381                     AuthorizationDelegate* authorization_delegate,
1382                     const ClockSetResponse& callback));
1383   MOCK_METHOD4(ClockSetSync,
1384                TPM_RC(const TPMI_RH_PROVISION& auth,
1385                       const std::string& auth_name,
1386                       const UINT64& new_time,
1387                       AuthorizationDelegate* authorization_delegate));
1388   MOCK_METHOD5(ClockRateAdjust,
1389                void(const TPMI_RH_PROVISION& auth,
1390                     const std::string& auth_name,
1391                     const TPM_CLOCK_ADJUST& rate_adjust,
1392                     AuthorizationDelegate* authorization_delegate,
1393                     const ClockRateAdjustResponse& callback));
1394   MOCK_METHOD4(ClockRateAdjustSync,
1395                TPM_RC(const TPMI_RH_PROVISION& auth,
1396                       const std::string& auth_name,
1397                       const TPM_CLOCK_ADJUST& rate_adjust,
1398                       AuthorizationDelegate* authorization_delegate));
1399   MOCK_METHOD5(GetCapability,
1400                void(const TPM_CAP& capability,
1401                     const UINT32& property,
1402                     const UINT32& property_count,
1403                     AuthorizationDelegate* authorization_delegate,
1404                     const GetCapabilityResponse& callback));
1405   MOCK_METHOD6(GetCapabilitySync,
1406                TPM_RC(const TPM_CAP& capability,
1407                       const UINT32& property,
1408                       const UINT32& property_count,
1409                       TPMI_YES_NO* more_data,
1410                       TPMS_CAPABILITY_DATA* capability_data,
1411                       AuthorizationDelegate* authorization_delegate));
1412   MOCK_METHOD3(TestParms,
1413                void(const TPMT_PUBLIC_PARMS& parameters,
1414                     AuthorizationDelegate* authorization_delegate,
1415                     const TestParmsResponse& callback));
1416   MOCK_METHOD2(TestParmsSync,
1417                TPM_RC(const TPMT_PUBLIC_PARMS& parameters,
1418                       AuthorizationDelegate* authorization_delegate));
1419   MOCK_METHOD6(NV_DefineSpace,
1420                void(const TPMI_RH_PROVISION& auth_handle,
1421                     const std::string& auth_handle_name,
1422                     const TPM2B_AUTH& auth,
1423                     const TPM2B_NV_PUBLIC& public_info,
1424                     AuthorizationDelegate* authorization_delegate,
1425                     const NV_DefineSpaceResponse& callback));
1426   MOCK_METHOD5(NV_DefineSpaceSync,
1427                TPM_RC(const TPMI_RH_PROVISION& auth_handle,
1428                       const std::string& auth_handle_name,
1429                       const TPM2B_AUTH& auth,
1430                       const TPM2B_NV_PUBLIC& public_info,
1431                       AuthorizationDelegate* authorization_delegate));
1432   MOCK_METHOD6(NV_UndefineSpace,
1433                void(const TPMI_RH_PROVISION& auth_handle,
1434                     const std::string& auth_handle_name,
1435                     const TPMI_RH_NV_INDEX& nv_index,
1436                     const std::string& nv_index_name,
1437                     AuthorizationDelegate* authorization_delegate,
1438                     const NV_UndefineSpaceResponse& callback));
1439   MOCK_METHOD5(NV_UndefineSpaceSync,
1440                TPM_RC(const TPMI_RH_PROVISION& auth_handle,
1441                       const std::string& auth_handle_name,
1442                       const TPMI_RH_NV_INDEX& nv_index,
1443                       const std::string& nv_index_name,
1444                       AuthorizationDelegate* authorization_delegate));
1445   MOCK_METHOD6(NV_UndefineSpaceSpecial,
1446                void(const TPMI_RH_NV_INDEX& nv_index,
1447                     const std::string& nv_index_name,
1448                     const TPMI_RH_PLATFORM& platform,
1449                     const std::string& platform_name,
1450                     AuthorizationDelegate* authorization_delegate,
1451                     const NV_UndefineSpaceSpecialResponse& callback));
1452   MOCK_METHOD5(NV_UndefineSpaceSpecialSync,
1453                TPM_RC(const TPMI_RH_NV_INDEX& nv_index,
1454                       const std::string& nv_index_name,
1455                       const TPMI_RH_PLATFORM& platform,
1456                       const std::string& platform_name,
1457                       AuthorizationDelegate* authorization_delegate));
1458   MOCK_METHOD4(NV_ReadPublic,
1459                void(const TPMI_RH_NV_INDEX& nv_index,
1460                     const std::string& nv_index_name,
1461                     AuthorizationDelegate* authorization_delegate,
1462                     const NV_ReadPublicResponse& callback));
1463   MOCK_METHOD5(NV_ReadPublicSync,
1464                TPM_RC(const TPMI_RH_NV_INDEX& nv_index,
1465                       const std::string& nv_index_name,
1466                       TPM2B_NV_PUBLIC* nv_public,
1467                       TPM2B_NAME* nv_name,
1468                       AuthorizationDelegate* authorization_delegate));
1469   MOCK_METHOD8(NV_Write,
1470                void(const TPMI_RH_NV_AUTH& auth_handle,
1471                     const std::string& auth_handle_name,
1472                     const TPMI_RH_NV_INDEX& nv_index,
1473                     const std::string& nv_index_name,
1474                     const TPM2B_MAX_NV_BUFFER& data,
1475                     const UINT16& offset,
1476                     AuthorizationDelegate* authorization_delegate,
1477                     const NV_WriteResponse& callback));
1478   MOCK_METHOD7(NV_WriteSync,
1479                TPM_RC(const TPMI_RH_NV_AUTH& auth_handle,
1480                       const std::string& auth_handle_name,
1481                       const TPMI_RH_NV_INDEX& nv_index,
1482                       const std::string& nv_index_name,
1483                       const TPM2B_MAX_NV_BUFFER& data,
1484                       const UINT16& offset,
1485                       AuthorizationDelegate* authorization_delegate));
1486   MOCK_METHOD6(NV_Increment,
1487                void(const TPMI_RH_NV_AUTH& auth_handle,
1488                     const std::string& auth_handle_name,
1489                     const TPMI_RH_NV_INDEX& nv_index,
1490                     const std::string& nv_index_name,
1491                     AuthorizationDelegate* authorization_delegate,
1492                     const NV_IncrementResponse& callback));
1493   MOCK_METHOD5(NV_IncrementSync,
1494                TPM_RC(const TPMI_RH_NV_AUTH& auth_handle,
1495                       const std::string& auth_handle_name,
1496                       const TPMI_RH_NV_INDEX& nv_index,
1497                       const std::string& nv_index_name,
1498                       AuthorizationDelegate* authorization_delegate));
1499   MOCK_METHOD7(NV_Extend,
1500                void(const TPMI_RH_NV_AUTH& auth_handle,
1501                     const std::string& auth_handle_name,
1502                     const TPMI_RH_NV_INDEX& nv_index,
1503                     const std::string& nv_index_name,
1504                     const TPM2B_MAX_NV_BUFFER& data,
1505                     AuthorizationDelegate* authorization_delegate,
1506                     const NV_ExtendResponse& callback));
1507   MOCK_METHOD6(NV_ExtendSync,
1508                TPM_RC(const TPMI_RH_NV_AUTH& auth_handle,
1509                       const std::string& auth_handle_name,
1510                       const TPMI_RH_NV_INDEX& nv_index,
1511                       const std::string& nv_index_name,
1512                       const TPM2B_MAX_NV_BUFFER& data,
1513                       AuthorizationDelegate* authorization_delegate));
1514   MOCK_METHOD7(NV_SetBits,
1515                void(const TPMI_RH_NV_AUTH& auth_handle,
1516                     const std::string& auth_handle_name,
1517                     const TPMI_RH_NV_INDEX& nv_index,
1518                     const std::string& nv_index_name,
1519                     const UINT64& bits,
1520                     AuthorizationDelegate* authorization_delegate,
1521                     const NV_SetBitsResponse& callback));
1522   MOCK_METHOD6(NV_SetBitsSync,
1523                TPM_RC(const TPMI_RH_NV_AUTH& auth_handle,
1524                       const std::string& auth_handle_name,
1525                       const TPMI_RH_NV_INDEX& nv_index,
1526                       const std::string& nv_index_name,
1527                       const UINT64& bits,
1528                       AuthorizationDelegate* authorization_delegate));
1529   MOCK_METHOD6(NV_WriteLock,
1530                void(const TPMI_RH_NV_AUTH& auth_handle,
1531                     const std::string& auth_handle_name,
1532                     const TPMI_RH_NV_INDEX& nv_index,
1533                     const std::string& nv_index_name,
1534                     AuthorizationDelegate* authorization_delegate,
1535                     const NV_WriteLockResponse& callback));
1536   MOCK_METHOD5(NV_WriteLockSync,
1537                TPM_RC(const TPMI_RH_NV_AUTH& auth_handle,
1538                       const std::string& auth_handle_name,
1539                       const TPMI_RH_NV_INDEX& nv_index,
1540                       const std::string& nv_index_name,
1541                       AuthorizationDelegate* authorization_delegate));
1542   MOCK_METHOD4(NV_GlobalWriteLock,
1543                void(const TPMI_RH_PROVISION& auth_handle,
1544                     const std::string& auth_handle_name,
1545                     AuthorizationDelegate* authorization_delegate,
1546                     const NV_GlobalWriteLockResponse& callback));
1547   MOCK_METHOD3(NV_GlobalWriteLockSync,
1548                TPM_RC(const TPMI_RH_PROVISION& auth_handle,
1549                       const std::string& auth_handle_name,
1550                       AuthorizationDelegate* authorization_delegate));
1551   MOCK_METHOD8(NV_Read,
1552                void(const TPMI_RH_NV_AUTH& auth_handle,
1553                     const std::string& auth_handle_name,
1554                     const TPMI_RH_NV_INDEX& nv_index,
1555                     const std::string& nv_index_name,
1556                     const UINT16& size,
1557                     const UINT16& offset,
1558                     AuthorizationDelegate* authorization_delegate,
1559                     const NV_ReadResponse& callback));
1560   MOCK_METHOD8(NV_ReadSync,
1561                TPM_RC(const TPMI_RH_NV_AUTH& auth_handle,
1562                       const std::string& auth_handle_name,
1563                       const TPMI_RH_NV_INDEX& nv_index,
1564                       const std::string& nv_index_name,
1565                       const UINT16& size,
1566                       const UINT16& offset,
1567                       TPM2B_MAX_NV_BUFFER* data,
1568                       AuthorizationDelegate* authorization_delegate));
1569   MOCK_METHOD6(NV_ReadLock,
1570                void(const TPMI_RH_NV_AUTH& auth_handle,
1571                     const std::string& auth_handle_name,
1572                     const TPMI_RH_NV_INDEX& nv_index,
1573                     const std::string& nv_index_name,
1574                     AuthorizationDelegate* authorization_delegate,
1575                     const NV_ReadLockResponse& callback));
1576   MOCK_METHOD5(NV_ReadLockSync,
1577                TPM_RC(const TPMI_RH_NV_AUTH& auth_handle,
1578                       const std::string& auth_handle_name,
1579                       const TPMI_RH_NV_INDEX& nv_index,
1580                       const std::string& nv_index_name,
1581                       AuthorizationDelegate* authorization_delegate));
1582   MOCK_METHOD5(NV_ChangeAuth,
1583                void(const TPMI_RH_NV_INDEX& nv_index,
1584                     const std::string& nv_index_name,
1585                     const TPM2B_AUTH& new_auth,
1586                     AuthorizationDelegate* authorization_delegate,
1587                     const NV_ChangeAuthResponse& callback));
1588   MOCK_METHOD4(NV_ChangeAuthSync,
1589                TPM_RC(const TPMI_RH_NV_INDEX& nv_index,
1590                       const std::string& nv_index_name,
1591                       const TPM2B_AUTH& new_auth,
1592                       AuthorizationDelegate* authorization_delegate));
1593   // Too many args to mock, forward to *Short version.
1594   void NV_Certify(const TPMI_DH_OBJECT& sign_handle,
1595                   const std::string& sign_handle_name,
1596                   const TPMI_RH_NV_AUTH& auth_handle,
1597                   const std::string& auth_handle_name,
1598                   const TPMI_RH_NV_INDEX& nv_index,
1599                   const std::string& nv_index_name,
1600                   const TPM2B_DATA& qualifying_data,
1601                   const TPMT_SIG_SCHEME& in_scheme,
1602                   const UINT16& size,
1603                   const UINT16& offset,
1604                   AuthorizationDelegate* authorization_delegate,
1605                   const NV_CertifyResponse& callback) override;
1606   MOCK_METHOD9(NV_CertifyShort,
1607                void(const TPMI_DH_OBJECT& sign_handle,
1608                     const TPMI_RH_NV_AUTH& auth_handle,
1609                     const TPMI_RH_NV_INDEX& nv_index,
1610                     const TPM2B_DATA& qualifying_data,
1611                     const TPMT_SIG_SCHEME& in_scheme,
1612                     const UINT16& size,
1613                     const UINT16& offset,
1614                     AuthorizationDelegate* authorization_delegate,
1615                     const NV_CertifyResponse& callback));
1616   // Too many args to mock, forward to *Short version.
1617   TPM_RC NV_CertifySync(const TPMI_DH_OBJECT& sign_handle,
1618                         const std::string& sign_handle_name,
1619                         const TPMI_RH_NV_AUTH& auth_handle,
1620                         const std::string& auth_handle_name,
1621                         const TPMI_RH_NV_INDEX& nv_index,
1622                         const std::string& nv_index_name,
1623                         const TPM2B_DATA& qualifying_data,
1624                         const TPMT_SIG_SCHEME& in_scheme,
1625                         const UINT16& size,
1626                         const UINT16& offset,
1627                         TPM2B_ATTEST* certify_info,
1628                         TPMT_SIGNATURE* signature,
1629                         AuthorizationDelegate* authorization_delegate) override;
1630   MOCK_METHOD10(NV_CertifySyncShort,
1631                 TPM_RC(const TPMI_DH_OBJECT& sign_handle,
1632                        const TPMI_RH_NV_AUTH& auth_handle,
1633                        const TPMI_RH_NV_INDEX& nv_index,
1634                        const TPM2B_DATA& qualifying_data,
1635                        const TPMT_SIG_SCHEME& in_scheme,
1636                        const UINT16& size,
1637                        const UINT16& offset,
1638                        TPM2B_ATTEST* certify_info,
1639                        TPMT_SIGNATURE* signature,
1640                        AuthorizationDelegate* authorization_delegate));
1641 };
1642 
1643 }  // namespace trunks
1644 
1645 #endif  // TRUNKS_MOCK_TPM_H_
1646