• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1DateTime = int
2KeySizeInBits = int
3RsaExponent = int
4Algorithm = &(
5    Algorithm_Rsa: 1,
6    Algorithm_Ec: 3,
7    Algorithm_Aes: 32,
8    Algorithm_TripleDes: 33,
9    Algorithm_Hmac: 128,
10)
11BlockMode = &(
12    BlockMode_Ecb: 1,
13    BlockMode_Cbc: 2,
14    BlockMode_Ctr: 3,
15    BlockMode_Gcm: 32,
16)
17Digest = &(
18    Digest_None: 0,
19    Digest_Md5: 1,
20    Digest_Sha1: 2,
21    Digest_Sha224: 3,
22    Digest_Sha256: 4,
23    Digest_Sha384: 5,
24    Digest_Sha512: 6,
25)
26EcCurve = &(
27    EcCurve_P224: 0,
28    EcCurve_P256: 1,
29    EcCurve_P384: 2,
30    EcCurve_P521: 3,
31    EcCurve_Curve25519: 4,
32)
33CurveType = &(
34    CurveType_Nist: 0,
35    CurveType_EdDsa: 1,
36    CurveType_Xdh: 2,
37)
38ErrorCode = &(
39    ErrorCode_Ok: 0,
40    ErrorCode_RootOfTrustAlreadySet: -1,
41    ErrorCode_UnsupportedPurpose: -2,
42    ErrorCode_IncompatiblePurpose: -3,
43    ErrorCode_UnsupportedAlgorithm: -4,
44    ErrorCode_IncompatibleAlgorithm: -5,
45    ErrorCode_UnsupportedKeySize: -6,
46    ErrorCode_UnsupportedBlockMode: -7,
47    ErrorCode_IncompatibleBlockMode: -8,
48    ErrorCode_UnsupportedMacLength: -9,
49    ErrorCode_UnsupportedPaddingMode: -10,
50    ErrorCode_IncompatiblePaddingMode: -11,
51    ErrorCode_UnsupportedDigest: -12,
52    ErrorCode_IncompatibleDigest: -13,
53    ErrorCode_InvalidExpirationTime: -14,
54    ErrorCode_InvalidUserId: -15,
55    ErrorCode_InvalidAuthorizationTimeout: -16,
56    ErrorCode_UnsupportedKeyFormat: -17,
57    ErrorCode_IncompatibleKeyFormat: -18,
58    ErrorCode_UnsupportedKeyEncryptionAlgorithm: -19,
59    ErrorCode_UnsupportedKeyVerificationAlgorithm: -20,
60    ErrorCode_InvalidInputLength: -21,
61    ErrorCode_KeyExportOptionsInvalid: -22,
62    ErrorCode_DelegationNotAllowed: -23,
63    ErrorCode_KeyNotYetValid: -24,
64    ErrorCode_KeyExpired: -25,
65    ErrorCode_KeyUserNotAuthenticated: -26,
66    ErrorCode_OutputParameterNull: -27,
67    ErrorCode_InvalidOperationHandle: -28,
68    ErrorCode_InsufficientBufferSpace: -29,
69    ErrorCode_VerificationFailed: -30,
70    ErrorCode_TooManyOperations: -31,
71    ErrorCode_UnexpectedNullPointer: -32,
72    ErrorCode_InvalidKeyBlob: -33,
73    ErrorCode_ImportedKeyNotEncrypted: -34,
74    ErrorCode_ImportedKeyDecryptionFailed: -35,
75    ErrorCode_ImportedKeyNotSigned: -36,
76    ErrorCode_ImportedKeyVerificationFailed: -37,
77    ErrorCode_InvalidArgument: -38,
78    ErrorCode_UnsupportedTag: -39,
79    ErrorCode_InvalidTag: -40,
80    ErrorCode_MemoryAllocationFailed: -41,
81    ErrorCode_ImportParameterMismatch: -44,
82    ErrorCode_SecureHwAccessDenied: -45,
83    ErrorCode_OperationCancelled: -46,
84    ErrorCode_ConcurrentAccessConflict: -47,
85    ErrorCode_SecureHwBusy: -48,
86    ErrorCode_SecureHwCommunicationFailed: -49,
87    ErrorCode_UnsupportedEcField: -50,
88    ErrorCode_MissingNonce: -51,
89    ErrorCode_InvalidNonce: -52,
90    ErrorCode_MissingMacLength: -53,
91    ErrorCode_KeyRateLimitExceeded: -54,
92    ErrorCode_CallerNonceProhibited: -55,
93    ErrorCode_KeyMaxOpsExceeded: -56,
94    ErrorCode_InvalidMacLength: -57,
95    ErrorCode_MissingMinMacLength: -58,
96    ErrorCode_UnsupportedMinMacLength: -59,
97    ErrorCode_UnsupportedKdf: -60,
98    ErrorCode_UnsupportedEcCurve: -61,
99    ErrorCode_KeyRequiresUpgrade: -62,
100    ErrorCode_AttestationChallengeMissing: -63,
101    ErrorCode_KeymintNotConfigured: -64,
102    ErrorCode_AttestationApplicationIdMissing: -65,
103    ErrorCode_CannotAttestIds: -66,
104    ErrorCode_RollbackResistanceUnavailable: -67,
105    ErrorCode_HardwareTypeUnavailable: -68,
106    ErrorCode_ProofOfPresenceRequired: -69,
107    ErrorCode_ConcurrentProofOfPresenceRequested: -70,
108    ErrorCode_NoUserConfirmation: -71,
109    ErrorCode_DeviceLocked: -72,
110    ErrorCode_EarlyBootEnded: -73,
111    ErrorCode_AttestationKeysNotProvisioned: -74,
112    ErrorCode_AttestationIdsNotProvisioned: -75,
113    ErrorCode_InvalidOperation: -76,
114    ErrorCode_StorageKeyUnsupported: -77,
115    ErrorCode_IncompatibleMgfDigest: -78,
116    ErrorCode_UnsupportedMgfDigest: -79,
117    ErrorCode_MissingNotBefore: -80,
118    ErrorCode_MissingNotAfter: -81,
119    ErrorCode_MissingIssuerSubject: -82,
120    ErrorCode_InvalidIssuerSubject: -83,
121    ErrorCode_BootLevelExceeded: -84,
122    ErrorCode_HardwareNotYetAvailable: -85,
123    ErrorCode_ModuleHashAlreadySet: -86,
124    ErrorCode_Unimplemented: -100,
125    ErrorCode_VersionMismatch: -101,
126    ErrorCode_UnknownError: -1000,
127    ErrorCode_EncodingError: -20000,
128    ErrorCode_BoringSslError: -30000,
129)
130HardwareAuthenticatorType = &(
131    HardwareAuthenticatorType_None: 0,
132    HardwareAuthenticatorType_Password: 1,
133    HardwareAuthenticatorType_Fingerprint: 2,
134    HardwareAuthenticatorType_Any: -1,
135)
136KeyFormat = &(
137    KeyFormat_X509: 0,
138    KeyFormat_Pkcs8: 1,
139    KeyFormat_Raw: 3,
140)
141KeyOrigin = &(
142    KeyOrigin_Generated: 0,
143    KeyOrigin_Derived: 1,
144    KeyOrigin_Imported: 2,
145    KeyOrigin_Reserved: 3,
146    KeyOrigin_SecurelyImported: 4,
147)
148KeyPurpose = &(
149    KeyPurpose_Encrypt: 0,
150    KeyPurpose_Decrypt: 1,
151    KeyPurpose_Sign: 2,
152    KeyPurpose_Verify: 3,
153    KeyPurpose_WrapKey: 5,
154    KeyPurpose_AgreeKey: 6,
155    KeyPurpose_AttestKey: 7,
156)
157PaddingMode = &(
158    PaddingMode_None: 1,
159    PaddingMode_RsaOaep: 2,
160    PaddingMode_RsaPss: 3,
161    PaddingMode_RsaPkcs115Encrypt: 4,
162    PaddingMode_RsaPkcs115Sign: 5,
163    PaddingMode_Pkcs7: 64,
164)
165SecurityLevel = &(
166    SecurityLevel_Software: 0,
167    SecurityLevel_TrustedEnvironment: 1,
168    SecurityLevel_Strongbox: 2,
169    SecurityLevel_Keystore: 100,
170)
171Tag = &(
172    Tag_Invalid: 0,
173    Tag_Purpose: 536870913,
174    Tag_Algorithm: 268435458,
175    Tag_KeySize: 805306371,
176    Tag_BlockMode: 536870916,
177    Tag_Digest: 536870917,
178    Tag_Padding: 536870918,
179    Tag_CallerNonce: 1879048199,
180    Tag_MinMacLength: 805306376,
181    Tag_EcCurve: 268435466,
182    Tag_RsaPublicExponent: 1342177480,
183    Tag_IncludeUniqueId: 1879048394,
184    Tag_RsaOaepMgfDigest: 536871115,
185    Tag_BootloaderOnly: 1879048494,
186    Tag_RollbackResistance: 1879048495,
187    Tag_HardwareType: 268435760,
188    Tag_EarlyBootOnly: 1879048497,
189    Tag_ActiveDatetime: 1610613136,
190    Tag_OriginationExpireDatetime: 1610613137,
191    Tag_UsageExpireDatetime: 1610613138,
192    Tag_MinSecondsBetweenOps: 805306771,
193    Tag_MaxUsesPerBoot: 805306772,
194    Tag_UsageCountLimit: 805306773,
195    Tag_UserId: 805306869,
196    Tag_UserSecureId: -1610612234,
197    Tag_NoAuthRequired: 1879048695,
198    Tag_UserAuthType: 268435960,
199    Tag_AuthTimeout: 805306873,
200    Tag_AllowWhileOnBody: 1879048698,
201    Tag_TrustedUserPresenceRequired: 1879048699,
202    Tag_TrustedConfirmationRequired: 1879048700,
203    Tag_UnlockedDeviceRequired: 1879048701,
204    Tag_ApplicationId: -1879047591,
205    Tag_ApplicationData: -1879047492,
206    Tag_CreationDatetime: 1610613437,
207    Tag_Origin: 268436158,
208    Tag_RootOfTrust: -1879047488,
209    Tag_OsVersion: 805307073,
210    Tag_OsPatchlevel: 805307074,
211    Tag_UniqueId: -1879047485,
212    Tag_AttestationChallenge: -1879047484,
213    Tag_AttestationApplicationId: -1879047483,
214    Tag_AttestationIdBrand: -1879047482,
215    Tag_AttestationIdDevice: -1879047481,
216    Tag_AttestationIdProduct: -1879047480,
217    Tag_AttestationIdSerial: -1879047479,
218    Tag_AttestationIdImei: -1879047478,
219    Tag_AttestationIdMeid: -1879047477,
220    Tag_AttestationIdManufacturer: -1879047476,
221    Tag_AttestationIdModel: -1879047475,
222    Tag_VendorPatchlevel: 805307086,
223    Tag_BootPatchlevel: 805307087,
224    Tag_DeviceUniqueAttestation: 1879048912,
225    Tag_IdentityCredentialKey: 1879048913,
226    Tag_StorageKey: 1879048914,
227    Tag_AttestationIdSecondImei: -1879047469,
228    Tag_AssociatedData: -1879047192,
229    Tag_Nonce: -1879047191,
230    Tag_MacLength: 805307371,
231    Tag_ResetSinceIdRotation: 1879049196,
232    Tag_ConfirmationToken: -1879047187,
233    Tag_CertificateSerial: -2147482642,
234    Tag_CertificateSubject: -1879047185,
235    Tag_CertificateNotBefore: 1610613744,
236    Tag_CertificateNotAfter: 1610613745,
237    Tag_MaxBootLevel: 805307378,
238    Tag_ModuleHash: -1879047468,
239)
240TagType = &(
241    TagType_Invalid: 0,
242    TagType_Enum: 268435456,
243    TagType_EnumRep: 536870912,
244    TagType_Uint: 805306368,
245    TagType_UintRep: 1073741824,
246    TagType_Ulong: 1342177280,
247    TagType_Date: 1610612736,
248    TagType_Bool: 1879048192,
249    TagType_Bignum: -2147483648,
250    TagType_Bytes: -1879048192,
251    TagType_UlongRep: -1610612736,
252)
253AttestationKey = [
254    key_blob: bstr,
255    attest_key_params: [* KeyParam],
256    issuer_subject_name: bstr,
257]
258Certificate = [
259    encoded_certificate: bstr,
260]
261DeviceInfo = [
262    device_info: bstr,
263]
264HardwareAuthToken = [
265    challenge: int,
266    user_id: int,
267    authenticator_id: int,
268    authenticator_type: HardwareAuthenticatorType,
269    timestamp: Timestamp,
270    mac: bstr,
271]
272KeyCharacteristics = [
273    security_level: SecurityLevel,
274    authorizations: [* KeyParam],
275]
276KeyCreationResult = [
277    key_blob: bstr,
278    key_characteristics: [* KeyCharacteristics],
279    certificate_chain: [* Certificate],
280]
281KeyMintHardwareInfo = [
282    version_number: int,
283    security_level: SecurityLevel,
284    key_mint_name: tstr,
285    key_mint_author_name: tstr,
286    timestamp_token_required: bool,
287]
288EekCurve = &(
289    EekCurve_None: 0,
290    EekCurve_P256: 1,
291    EekCurve_Curve25519: 2,
292)
293MacedPublicKey = [
294    maced_key: bstr,
295]
296ProtectedData = [
297    protected_data: bstr,
298]
299HardwareInfo = [
300    version_number: int,
301    rpc_author_name: tstr,
302    supported_eek_curve: EekCurve,
303    unique_id: [? tstr],
304    supported_num_keys_in_csr: int,
305]
306TimeStampToken = [
307    challenge: int,
308    timestamp: Timestamp,
309    mac: bstr,
310]
311Timestamp = [
312    milliseconds: int,
313]
314SharedSecretParameters = [
315    seed: bstr,
316    nonce: bstr,
317]
318KeyParam = &(
319    [268435458, Algorithm], ; Tag_Algorithm
320    [536870916, BlockMode], ; Tag_BlockMode
321    [536870918, PaddingMode], ; Tag_Padding
322    [536870917, Digest], ; Tag_Digest
323    [268435466, EcCurve], ; Tag_EcCurve
324    [268436158, KeyOrigin], ; Tag_Origin
325    [536870913, KeyPurpose], ; Tag_Purpose
326    [805306371, KeySizeInBits], ; Tag_KeySize
327    [1879048199, bstr], ; Tag_CallerNonce
328    [805306376, int], ; Tag_MinMacLength
329    [1342177480, RsaExponent], ; Tag_RsaPublicExponent
330    [1879048394, true], ; Tag_IncludeUniqueId
331    [536871115, Digest], ; Tag_RsaOaepMgfDigest
332    [1879048494, true], ; Tag_BootloaderOnly
333    [1879048495, true], ; Tag_RollbackResistance
334    [1879048497, true], ; Tag_EarlyBootOnly
335    [1610613136, DateTime], ; Tag_ActiveDatetime
336    [1610613137, DateTime], ; Tag_OriginationExpireDatetime
337    [1610613138, DateTime], ; Tag_UsageExpireDatetime
338    [805306772, int], ; Tag_MaxUsesPerBoot
339    [805306773, int], ; Tag_UsageCountLimit
340    [805306869, int], ; Tag_UserId
341    [-1610612234, int], ; Tag_UserSecureId
342    [1879048695, true], ; Tag_NoAuthRequired
343    [268435960, int], ; Tag_UserAuthType
344    [805306873, int], ; Tag_AuthTimeout
345    [1879048698, true], ; Tag_AllowWhileOnBody
346    [1879048699, true], ; Tag_TrustedUserPresenceRequired
347    [1879048700, true], ; Tag_TrustedConfirmationRequired
348    [1879048701, true], ; Tag_UnlockedDeviceRequired
349    [-1879047591, bstr], ; Tag_ApplicationId
350    [-1879047492, bstr], ; Tag_ApplicationData
351    [1610613437, DateTime], ; Tag_CreationDatetime
352    [-1879047488, bstr], ; Tag_RootOfTrust
353    [805307073, int], ; Tag_OsVersion
354    [805307074, int], ; Tag_OsPatchlevel
355    [-1879047484, bstr], ; Tag_AttestationChallenge
356    [-1879047483, bstr], ; Tag_AttestationApplicationId
357    [-1879047482, bstr], ; Tag_AttestationIdBrand
358    [-1879047481, bstr], ; Tag_AttestationIdDevice
359    [-1879047480, bstr], ; Tag_AttestationIdProduct
360    [-1879047479, bstr], ; Tag_AttestationIdSerial
361    [-1879047478, bstr], ; Tag_AttestationIdImei
362    [-1879047469, bstr], ; Tag_AttestationIdSecondImei
363    [-1879047477, bstr], ; Tag_AttestationIdMeid
364    [-1879047476, bstr], ; Tag_AttestationIdManufacturer
365    [-1879047475, bstr], ; Tag_AttestationIdModel
366    [805307086, int], ; Tag_VendorPatchlevel
367    [805307087, int], ; Tag_BootPatchlevel
368    [1879048912, true], ; Tag_DeviceUniqueAttestation
369    [1879048914, true], ; Tag_StorageKey
370    [-1879047191, bstr], ; Tag_Nonce
371    [805307371, int], ; Tag_MacLength
372    [1879049196, true], ; Tag_ResetSinceIdRotation
373    [-2147482642, bstr], ; Tag_CertificateSerial
374    [-1879047185, bstr], ; Tag_CertificateSubject
375    [1610613744, DateTime], ; Tag_CertificateNotBefore
376    [1610613745, DateTime], ; Tag_CertificateNotAfter
377    [805307378, int], ; Tag_MaxBootLevel
378    [-1879047468, bstr], ; Tag_ModuleHash
379)
380KeyMintOperation = &(
381    DeviceGetHardwareInfo: 0x11,
382    DeviceAddRngEntropy: 0x12,
383    DeviceGenerateKey: 0x13,
384    DeviceImportKey: 0x14,
385    DeviceImportWrappedKey: 0x15,
386    DeviceUpgradeKey: 0x16,
387    DeviceDeleteKey: 0x17,
388    DeviceDeleteAllKeys: 0x18,
389    DeviceDestroyAttestationIds: 0x19,
390    DeviceBegin: 0x1a,
391    DeviceEarlyBootEnded: 0x1c,
392    DeviceConvertStorageKeyToEphemeral: 0x1d,
393    DeviceGetKeyCharacteristics: 0x1e,
394    OperationUpdateAad: 0x31,
395    OperationUpdate: 0x32,
396    OperationFinish: 0x33,
397    OperationAbort: 0x34,
398    RpcGetHardwareInfo: 0x41,
399    RpcGenerateEcdsaP256KeyPair: 0x42,
400    RpcGenerateCertificateRequest: 0x43,
401    RpcGenerateCertificateV2Request: 0x44,
402    SharedSecretGetSharedSecretParameters: 0x51,
403    SharedSecretComputeSharedSecret: 0x52,
404    SecureClockGenerateTimeStamp: 0x61,
405    GetRootOfTrustChallenge: 0x71,
406    GetRootOfTrust: 0x72,
407    SendRootOfTrust: 0x73,
408    SetHalInfo: 0x81,
409    SetBootInfo: 0x82,
410    SetAttestationIds: 0x83,
411    SetHalVersion: 0x84,
412    SetAdditionalAttestationInfo: 0x91,
413)
414GetHardwareInfoRequest = []
415GetHardwareInfoResponse = [
416    ret: KeyMintHardwareInfo,
417]
418AddRngEntropyRequest = [
419    data: bstr,
420]
421AddRngEntropyResponse = []
422GenerateKeyRequest = [
423    key_params: [* KeyParam],
424    attestation_key: [? AttestationKey],
425]
426GenerateKeyResponse = [
427    ret: KeyCreationResult,
428]
429ImportKeyRequest = [
430    key_params: [* KeyParam],
431    key_format: KeyFormat,
432    key_data: bstr,
433    attestation_key: [? AttestationKey],
434]
435ImportKeyResponse = [
436    ret: KeyCreationResult,
437]
438ImportWrappedKeyRequest = [
439    wrapped_key_data: bstr,
440    wrapping_key_blob: bstr,
441    masking_key: bstr,
442    unwrapping_params: [* KeyParam],
443    password_sid: int,
444    biometric_sid: int,
445]
446ImportWrappedKeyResponse = [
447    ret: KeyCreationResult,
448]
449UpgradeKeyRequest = [
450    key_blob_to_upgrade: bstr,
451    upgrade_params: [* KeyParam],
452]
453UpgradeKeyResponse = [
454    ret: bstr,
455]
456DeleteKeyRequest = [
457    key_blob: bstr,
458]
459DeleteKeyResponse = []
460DeleteAllKeysRequest = []
461DeleteAllKeysResponse = []
462DestroyAttestationIdsRequest = []
463DestroyAttestationIdsResponse = []
464BeginRequest = [
465    purpose: KeyPurpose,
466    key_blob: bstr,
467    params: [* KeyParam],
468    auth_token: [? HardwareAuthToken],
469]
470InternalBeginResult = [
471    challenge: int,
472    params: [* KeyParam],
473    op_handle: int,
474]
475EarlyBootEndedRequest = []
476EarlyBootEndedResponse = []
477ConvertStorageKeyToEphemeralRequest = [
478    storage_key_blob: bstr,
479]
480ConvertStorageKeyToEphemeralResponse = [
481    ret: bstr,
482]
483GetKeyCharacteristicsRequest = [
484    key_blob: bstr,
485    app_id: bstr,
486    app_data: bstr,
487]
488GetKeyCharacteristicsResponse = [
489    ret: [* KeyCharacteristics],
490]
491UpdateAadRequest = [
492    op_handle: int,
493    input: bstr,
494    auth_token: [? HardwareAuthToken],
495    timestamp_token: [? TimeStampToken],
496]
497UpdateAadResponse = []
498UpdateRequest = [
499    op_handle: int,
500    input: bstr,
501    auth_token: [? HardwareAuthToken],
502    timestamp_token: [? TimeStampToken],
503]
504UpdateResponse = [
505    ret: bstr,
506]
507FinishRequest = [
508    op_handle: int,
509    input: [? bstr],
510    signature: [? bstr],
511    auth_token: [? HardwareAuthToken],
512    timestamp_token: [? TimeStampToken],
513    confirmation_token: [? bstr],
514]
515FinishResponse = [
516    ret: bstr,
517]
518AbortRequest = [
519    op_handle: int,
520]
521AbortResponse = []
522GetRpcHardwareInfoRequest = []
523GetRpcHardwareInfoResponse = [
524    ret: HardwareInfo,
525]
526GenerateEcdsaP256KeyPairRequest = [
527    test_mode: bool,
528]
529GenerateEcdsaP256KeyPairResponse = [
530    maced_public_key: MacedPublicKey,
531    ret: bstr,
532]
533GenerateCertificateRequestRequest = [
534    test_mode: bool,
535    keys_to_sign: [* MacedPublicKey],
536    endpoint_encryption_cert_chain: bstr,
537    challenge: bstr,
538]
539GenerateCertificateRequestResponse = [
540    device_info: DeviceInfo,
541    protected_data: ProtectedData,
542    ret: bstr,
543]
544GenerateCertificateRequestV2Request = [
545    keys_to_sign: [* MacedPublicKey],
546    challenge: bstr,
547]
548GenerateCertificateRequestV2Response = [
549    ret: bstr,
550]
551GetSharedSecretParametersRequest = []
552GetSharedSecretParametersResponse = [
553    ret: SharedSecretParameters,
554]
555ComputeSharedSecretRequest = [
556    params: [* SharedSecretParameters],
557]
558ComputeSharedSecretResponse = [
559    ret: bstr,
560]
561GenerateTimeStampRequest = [
562    challenge: int,
563]
564GenerateTimeStampResponse = [
565    ret: TimeStampToken,
566]
567PerformOpReq = &(
568    [DeviceGetHardwareInfo, GetHardwareInfoRequest],
569    [DeviceAddRngEntropy, AddRngEntropyRequest],
570    [DeviceGenerateKey, GenerateKeyRequest],
571    [DeviceImportKey, ImportKeyRequest],
572    [DeviceImportWrappedKey, ImportWrappedKeyRequest],
573    [DeviceUpgradeKey, UpgradeKeyRequest],
574    [DeviceDeleteKey, DeleteKeyRequest],
575    [DeviceDeleteAllKeys, DeleteAllKeysRequest],
576    [DeviceDestroyAttestationIds, DestroyAttestationIdsRequest],
577    [DeviceBegin, BeginRequest],
578    [DeviceEarlyBootEnded, EarlyBootEndedRequest],
579    [DeviceConvertStorageKeyToEphemeral, ConvertStorageKeyToEphemeralRequest],
580    [DeviceGetKeyCharacteristics, GetKeyCharacteristicsRequest],
581    [OperationUpdateAad, UpdateAadRequest],
582    [OperationUpdate, UpdateRequest],
583    [OperationFinish, FinishRequest],
584    [OperationAbort, AbortRequest],
585    [RpcGetHardwareInfo, GetRpcHardwareInfoRequest],
586    [RpcGenerateEcdsaP256KeyPair, GenerateEcdsaP256KeyPairRequest],
587    [RpcGenerateCertificateRequest, GenerateCertificateRequestRequest],
588    [RpcGenerateCertificateV2Request, GenerateCertificateRequestV2Request],
589    [SharedSecretGetSharedSecretParameters, GetSharedSecretParametersRequest],
590    [SharedSecretComputeSharedSecret, ComputeSharedSecretRequest],
591    [SecureClockGenerateTimeStamp, GenerateTimeStampRequest],
592    [GetRootOfTrustChallenge, GetRootOfTrustChallengeRequest],
593    [GetRootOfTrust, GetRootOfTrustRequest],
594    [SendRootOfTrust, SendRootOfTrustRequest],
595    [SetHalInfo, SetHalInfoRequest],
596    [SetBootInfo, SetBootInfoRequest],
597    [SetAttestationIds, SetAttestationIdsRequest],
598    [SetHalVersion, SetHalVersionRequest],
599    [SetAdditionalAttestationInfo, SetAdditionalAttestationInfoRequest],
600)
601PerformOpRsp = &(
602    [DeviceGetHardwareInfo, GetHardwareInfoResponse],
603    [DeviceAddRngEntropy, AddRngEntropyResponse],
604    [DeviceGenerateKey, GenerateKeyResponse],
605    [DeviceImportKey, ImportKeyResponse],
606    [DeviceImportWrappedKey, ImportWrappedKeyResponse],
607    [DeviceUpgradeKey, UpgradeKeyResponse],
608    [DeviceDeleteKey, DeleteKeyResponse],
609    [DeviceDeleteAllKeys, DeleteAllKeysResponse],
610    [DeviceDestroyAttestationIds, DestroyAttestationIdsResponse],
611    [DeviceBegin, BeginResponse],
612    [DeviceEarlyBootEnded, EarlyBootEndedResponse],
613    [DeviceConvertStorageKeyToEphemeral, ConvertStorageKeyToEphemeralResponse],
614    [DeviceGetKeyCharacteristics, GetKeyCharacteristicsResponse],
615    [OperationUpdateAad, UpdateAadResponse],
616    [OperationUpdate, UpdateResponse],
617    [OperationFinish, FinishResponse],
618    [OperationAbort, AbortResponse],
619    [RpcGetHardwareInfo, GetRpcHardwareInfoResponse],
620    [RpcGenerateEcdsaP256KeyPair, GenerateEcdsaP256KeyPairResponse],
621    [RpcGenerateCertificateRequest, GenerateCertificateRequestResponse],
622    [RpcGenerateCertificateV2Request, GenerateCertificateRequestV2Response],
623    [SharedSecretGetSharedSecretParameters, GetSharedSecretParametersResponse],
624    [SharedSecretComputeSharedSecret, ComputeSharedSecretResponse],
625    [SecureClockGenerateTimeStamp, GenerateTimeStampResponse],
626    [GetRootOfTrustChallenge, GetRootOfTrustChallengeResponse],
627    [GetRootOfTrust, GetRootOfTrustResponse],
628    [SendRootOfTrust, SendRootOfTrustResponse],
629    [SetHalInfo, SetHalInfoResponse],
630    [SetBootInfo, SetBootInfoResponse],
631    [SetAttestationIds, SetAttestationIdsResponse],
632    [SetHalVersion, SetHalVersionResponse],
633    [SetAdditionalAttestationInfo, SetAdditionalAttestationInfoResponse],
634)
635PerformOpResponse = [
636    error_code: int,
637    rsp: [? PerformOpRsp],
638]
639