• 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_Unimplemented: -100,
124    ErrorCode_VersionMismatch: -101,
125    ErrorCode_UnknownError: -1000,
126)
127HardwareAuthenticatorType = &(
128    HardwareAuthenticatorType_None: 0,
129    HardwareAuthenticatorType_Password: 1,
130    HardwareAuthenticatorType_Fingerprint: 2,
131    HardwareAuthenticatorType_Any: -1,
132)
133KeyFormat = &(
134    KeyFormat_X509: 0,
135    KeyFormat_Pkcs8: 1,
136    KeyFormat_Raw: 3,
137)
138KeyOrigin = &(
139    KeyOrigin_Generated: 0,
140    KeyOrigin_Derived: 1,
141    KeyOrigin_Imported: 2,
142    KeyOrigin_Reserved: 3,
143    KeyOrigin_SecurelyImported: 4,
144)
145KeyPurpose = &(
146    KeyPurpose_Encrypt: 0,
147    KeyPurpose_Decrypt: 1,
148    KeyPurpose_Sign: 2,
149    KeyPurpose_Verify: 3,
150    KeyPurpose_WrapKey: 5,
151    KeyPurpose_AgreeKey: 6,
152    KeyPurpose_AttestKey: 7,
153)
154PaddingMode = &(
155    PaddingMode_None: 1,
156    PaddingMode_RsaOaep: 2,
157    PaddingMode_RsaPss: 3,
158    PaddingMode_RsaPkcs115Encrypt: 4,
159    PaddingMode_RsaPkcs115Sign: 5,
160    PaddingMode_Pkcs7: 64,
161)
162SecurityLevel = &(
163    SecurityLevel_Software: 0,
164    SecurityLevel_TrustedEnvironment: 1,
165    SecurityLevel_Strongbox: 2,
166    SecurityLevel_Keystore: 100,
167)
168Tag = &(
169    Tag_Invalid: 0,
170    Tag_Purpose: 536870913,
171    Tag_Algorithm: 268435458,
172    Tag_KeySize: 805306371,
173    Tag_BlockMode: 536870916,
174    Tag_Digest: 536870917,
175    Tag_Padding: 536870918,
176    Tag_CallerNonce: 1879048199,
177    Tag_MinMacLength: 805306376,
178    Tag_EcCurve: 268435466,
179    Tag_RsaPublicExponent: 1342177480,
180    Tag_IncludeUniqueId: 1879048394,
181    Tag_RsaOaepMgfDigest: 536871115,
182    Tag_BootloaderOnly: 1879048494,
183    Tag_RollbackResistance: 1879048495,
184    Tag_HardwareType: 268435760,
185    Tag_EarlyBootOnly: 1879048497,
186    Tag_ActiveDatetime: 1610613136,
187    Tag_OriginationExpireDatetime: 1610613137,
188    Tag_UsageExpireDatetime: 1610613138,
189    Tag_MinSecondsBetweenOps: 805306771,
190    Tag_MaxUsesPerBoot: 805306772,
191    Tag_UsageCountLimit: 805306773,
192    Tag_UserId: 805306869,
193    Tag_UserSecureId: -1610612234,
194    Tag_NoAuthRequired: 1879048695,
195    Tag_UserAuthType: 268435960,
196    Tag_AuthTimeout: 805306873,
197    Tag_AllowWhileOnBody: 1879048698,
198    Tag_TrustedUserPresenceRequired: 1879048699,
199    Tag_TrustedConfirmationRequired: 1879048700,
200    Tag_UnlockedDeviceRequired: 1879048701,
201    Tag_ApplicationId: -1879047591,
202    Tag_ApplicationData: -1879047492,
203    Tag_CreationDatetime: 1610613437,
204    Tag_Origin: 268436158,
205    Tag_RootOfTrust: -1879047488,
206    Tag_OsVersion: 805307073,
207    Tag_OsPatchlevel: 805307074,
208    Tag_UniqueId: -1879047485,
209    Tag_AttestationChallenge: -1879047484,
210    Tag_AttestationApplicationId: -1879047483,
211    Tag_AttestationIdBrand: -1879047482,
212    Tag_AttestationIdDevice: -1879047481,
213    Tag_AttestationIdProduct: -1879047480,
214    Tag_AttestationIdSerial: -1879047479,
215    Tag_AttestationIdImei: -1879047478,
216    Tag_AttestationIdMeid: -1879047477,
217    Tag_AttestationIdManufacturer: -1879047476,
218    Tag_AttestationIdModel: -1879047475,
219    Tag_VendorPatchlevel: 805307086,
220    Tag_BootPatchlevel: 805307087,
221    Tag_DeviceUniqueAttestation: 1879048912,
222    Tag_IdentityCredentialKey: 1879048913,
223    Tag_StorageKey: 1879048914,
224    Tag_AttestationIdSecondImei: -1879047469,
225    Tag_AssociatedData: -1879047192,
226    Tag_Nonce: -1879047191,
227    Tag_MacLength: 805307371,
228    Tag_ResetSinceIdRotation: 1879049196,
229    Tag_ConfirmationToken: -1879047187,
230    Tag_CertificateSerial: -2147482642,
231    Tag_CertificateSubject: -1879047185,
232    Tag_CertificateNotBefore: 1610613744,
233    Tag_CertificateNotAfter: 1610613745,
234    Tag_MaxBootLevel: 805307378,
235)
236TagType = &(
237    TagType_Invalid: 0,
238    TagType_Enum: 268435456,
239    TagType_EnumRep: 536870912,
240    TagType_Uint: 805306368,
241    TagType_UintRep: 1073741824,
242    TagType_Ulong: 1342177280,
243    TagType_Date: 1610612736,
244    TagType_Bool: 1879048192,
245    TagType_Bignum: -2147483648,
246    TagType_Bytes: -1879048192,
247    TagType_UlongRep: -1610612736,
248)
249AttestationKey = [
250    key_blob: bstr,
251    attest_key_params: [* KeyParam],
252    issuer_subject_name: bstr,
253]
254Certificate = [
255    encoded_certificate: bstr,
256]
257DeviceInfo = [
258    device_info: bstr,
259]
260HardwareAuthToken = [
261    challenge: int,
262    user_id: int,
263    authenticator_id: int,
264    authenticator_type: HardwareAuthenticatorType,
265    timestamp: Timestamp,
266    mac: bstr,
267]
268KeyCharacteristics = [
269    security_level: SecurityLevel,
270    authorizations: [* KeyParam],
271]
272KeyCreationResult = [
273    key_blob: bstr,
274    key_characteristics: [* KeyCharacteristics],
275    certificate_chain: [* Certificate],
276]
277KeyMintHardwareInfo = [
278    version_number: int,
279    security_level: SecurityLevel,
280    key_mint_name: tstr,
281    key_mint_author_name: tstr,
282    timestamp_token_required: bool,
283]
284EekCurve = &(
285    EekCurve_None: 0,
286    EekCurve_P256: 1,
287    EekCurve_Curve25519: 2,
288)
289MacedPublicKey = [
290    maced_key: bstr,
291]
292ProtectedData = [
293    protected_data: bstr,
294]
295HardwareInfo = [
296    version_number: int,
297    rpc_author_name: tstr,
298    supported_eek_curve: EekCurve,
299    unique_id: [? tstr],
300    supported_num_keys_in_csr: int,
301]
302TimeStampToken = [
303    challenge: int,
304    timestamp: Timestamp,
305    mac: bstr,
306]
307Timestamp = [
308    milliseconds: int,
309]
310SharedSecretParameters = [
311    seed: bstr,
312    nonce: bstr,
313]
314KeyParam = &(
315    [268435458, Algorithm], ; Tag_Algorithm
316    [536870916, BlockMode], ; Tag_BlockMode
317    [536870918, PaddingMode], ; Tag_Padding
318    [536870917, Digest], ; Tag_Digest
319    [268435466, EcCurve], ; Tag_EcCurve
320    [268436158, KeyOrigin], ; Tag_Origin
321    [536870913, KeyPurpose], ; Tag_Purpose
322    [805306371, KeySizeInBits], ; Tag_KeySize
323    [1879048199, bstr], ; Tag_CallerNonce
324    [805306376, int], ; Tag_MinMacLength
325    [1342177480, RsaExponent], ; Tag_RsaPublicExponent
326    [1879048394, true], ; Tag_IncludeUniqueId
327    [536871115, Digest], ; Tag_RsaOaepMgfDigest
328    [1879048494, true], ; Tag_BootloaderOnly
329    [1879048495, true], ; Tag_RollbackResistance
330    [1879048497, true], ; Tag_EarlyBootOnly
331    [1610613136, DateTime], ; Tag_ActiveDatetime
332    [1610613137, DateTime], ; Tag_OriginationExpireDatetime
333    [1610613138, DateTime], ; Tag_UsageExpireDatetime
334    [805306772, int], ; Tag_MaxUsesPerBoot
335    [805306773, int], ; Tag_UsageCountLimit
336    [805306869, int], ; Tag_UserId
337    [-1610612234, int], ; Tag_UserSecureId
338    [1879048695, true], ; Tag_NoAuthRequired
339    [268435960, int], ; Tag_UserAuthType
340    [805306873, int], ; Tag_AuthTimeout
341    [1879048698, true], ; Tag_AllowWhileOnBody
342    [1879048699, true], ; Tag_TrustedUserPresenceRequired
343    [1879048700, true], ; Tag_TrustedConfirmationRequired
344    [1879048701, true], ; Tag_UnlockedDeviceRequired
345    [-1879047591, bstr], ; Tag_ApplicationId
346    [-1879047492, bstr], ; Tag_ApplicationData
347    [1610613437, DateTime], ; Tag_CreationDatetime
348    [-1879047488, bstr], ; Tag_RootOfTrust
349    [805307073, int], ; Tag_OsVersion
350    [805307074, int], ; Tag_OsPatchlevel
351    [-1879047484, bstr], ; Tag_AttestationChallenge
352    [-1879047483, bstr], ; Tag_AttestationApplicationId
353    [-1879047482, bstr], ; Tag_AttestationIdBrand
354    [-1879047481, bstr], ; Tag_AttestationIdDevice
355    [-1879047480, bstr], ; Tag_AttestationIdProduct
356    [-1879047479, bstr], ; Tag_AttestationIdSerial
357    [-1879047478, bstr], ; Tag_AttestationIdImei
358    [-1879047469, bstr], ; Tag_AttestationIdSecondImei
359    [-1879047477, bstr], ; Tag_AttestationIdMeid
360    [-1879047476, bstr], ; Tag_AttestationIdManufacturer
361    [-1879047475, bstr], ; Tag_AttestationIdModel
362    [805307086, int], ; Tag_VendorPatchlevel
363    [805307087, int], ; Tag_BootPatchlevel
364    [1879048912, true], ; Tag_DeviceUniqueAttestation
365    [1879048914, true], ; Tag_StorageKey
366    [-1879047191, bstr], ; Tag_Nonce
367    [805307371, int], ; Tag_MacLength
368    [1879049196, true], ; Tag_ResetSinceIdRotation
369    [-2147482642, bstr], ; Tag_CertificateSerial
370    [-1879047185, bstr], ; Tag_CertificateSubject
371    [1610613744, DateTime], ; Tag_CertificateNotBefore
372    [1610613745, DateTime], ; Tag_CertificateNotAfter
373    [805307378, int], ; Tag_MaxBootLevel
374)
375KeyMintOperation = &(
376    DeviceGetHardwareInfo: 0x11,
377    DeviceAddRngEntropy: 0x12,
378    DeviceGenerateKey: 0x13,
379    DeviceImportKey: 0x14,
380    DeviceImportWrappedKey: 0x15,
381    DeviceUpgradeKey: 0x16,
382    DeviceDeleteKey: 0x17,
383    DeviceDeleteAllKeys: 0x18,
384    DeviceDestroyAttestationIds: 0x19,
385    DeviceBegin: 0x1a,
386    DeviceDeviceLocked: 0x1b,
387    DeviceEarlyBootEnded: 0x1c,
388    DeviceConvertStorageKeyToEphemeral: 0x1d,
389    DeviceGetKeyCharacteristics: 0x1e,
390    OperationUpdateAad: 0x31,
391    OperationUpdate: 0x32,
392    OperationFinish: 0x33,
393    OperationAbort: 0x34,
394    RpcGetHardwareInfo: 0x41,
395    RpcGenerateEcdsaP256KeyPair: 0x42,
396    RpcGenerateCertificateRequest: 0x43,
397    RpcGenerateCertificateV2Request: 0x44,
398    SharedSecretGetSharedSecretParameters: 0x51,
399    SharedSecretComputeSharedSecret: 0x52,
400    SecureClockGenerateTimeStamp: 0x61,
401    GetRootOfTrustChallenge: 0x71,
402    GetRootOfTrust: 0x72,
403    SendRootOfTrust: 0x73,
404    SetHalInfo: 0x81,
405    SetBootInfo: 0x82,
406    SetAttestationIds: 0x83,
407)
408GetHardwareInfoRequest = []
409GetHardwareInfoResponse = [
410    ret: KeyMintHardwareInfo,
411]
412AddRngEntropyRequest = [
413    data: bstr,
414]
415AddRngEntropyResponse = []
416GenerateKeyRequest = [
417    key_params: [* KeyParam],
418    attestation_key: [? AttestationKey],
419]
420GenerateKeyResponse = [
421    ret: KeyCreationResult,
422]
423ImportKeyRequest = [
424    key_params: [* KeyParam],
425    key_format: KeyFormat,
426    key_data: bstr,
427    attestation_key: [? AttestationKey],
428]
429ImportKeyResponse = [
430    ret: KeyCreationResult,
431]
432ImportWrappedKeyRequest = [
433    wrapped_key_data: bstr,
434    wrapping_key_blob: bstr,
435    masking_key: bstr,
436    unwrapping_params: [* KeyParam],
437    password_sid: int,
438    biometric_sid: int,
439]
440ImportWrappedKeyResponse = [
441    ret: KeyCreationResult,
442]
443UpgradeKeyRequest = [
444    key_blob_to_upgrade: bstr,
445    upgrade_params: [* KeyParam],
446]
447UpgradeKeyResponse = [
448    ret: bstr,
449]
450DeleteKeyRequest = [
451    key_blob: bstr,
452]
453DeleteKeyResponse = []
454DeleteAllKeysRequest = []
455DeleteAllKeysResponse = []
456DestroyAttestationIdsRequest = []
457DestroyAttestationIdsResponse = []
458BeginRequest = [
459    purpose: KeyPurpose,
460    key_blob: bstr,
461    params: [* KeyParam],
462    auth_token: [? HardwareAuthToken],
463]
464InternalBeginResult = [
465    challenge: int,
466    params: [* KeyParam],
467    op_handle: int,
468]
469DeviceLockedRequest = [
470    password_only: bool,
471    timestamp_token: [? TimeStampToken],
472]
473DeviceLockedResponse = []
474EarlyBootEndedRequest = []
475EarlyBootEndedResponse = []
476ConvertStorageKeyToEphemeralRequest = [
477    storage_key_blob: bstr,
478]
479ConvertStorageKeyToEphemeralResponse = [
480    ret: bstr,
481]
482GetKeyCharacteristicsRequest = [
483    key_blob: bstr,
484    app_id: bstr,
485    app_data: bstr,
486]
487GetKeyCharacteristicsResponse = [
488    ret: [* KeyCharacteristics],
489]
490UpdateAadRequest = [
491    op_handle: int,
492    input: bstr,
493    auth_token: [? HardwareAuthToken],
494    timestamp_token: [? TimeStampToken],
495]
496UpdateAadResponse = []
497UpdateRequest = [
498    op_handle: int,
499    input: bstr,
500    auth_token: [? HardwareAuthToken],
501    timestamp_token: [? TimeStampToken],
502]
503UpdateResponse = [
504    ret: bstr,
505]
506FinishRequest = [
507    op_handle: int,
508    input: [? bstr],
509    signature: [? bstr],
510    auth_token: [? HardwareAuthToken],
511    timestamp_token: [? TimeStampToken],
512    confirmation_token: [? bstr],
513]
514FinishResponse = [
515    ret: bstr,
516]
517AbortRequest = [
518    op_handle: int,
519]
520AbortResponse = []
521GetRpcHardwareInfoRequest = []
522GetRpcHardwareInfoResponse = [
523    ret: HardwareInfo,
524]
525GenerateEcdsaP256KeyPairRequest = [
526    test_mode: bool,
527]
528GenerateEcdsaP256KeyPairResponse = [
529    maced_public_key: MacedPublicKey,
530    ret: bstr,
531]
532GenerateCertificateRequestRequest = [
533    test_mode: bool,
534    keys_to_sign: [* MacedPublicKey],
535    endpoint_encryption_cert_chain: bstr,
536    challenge: bstr,
537]
538GenerateCertificateRequestResponse = [
539    device_info: DeviceInfo,
540    protected_data: ProtectedData,
541    ret: bstr,
542]
543GenerateCertificateRequestV2Request = [
544    keys_to_sign: [* MacedPublicKey],
545    challenge: bstr,
546]
547GenerateCertificateRequestV2Response = [
548    ret: bstr,
549]
550GetSharedSecretParametersRequest = []
551GetSharedSecretParametersResponse = [
552    ret: SharedSecretParameters,
553]
554ComputeSharedSecretRequest = [
555    params: [* SharedSecretParameters],
556]
557ComputeSharedSecretResponse = [
558    ret: bstr,
559]
560GenerateTimeStampRequest = [
561    challenge: int,
562]
563GenerateTimeStampResponse = [
564    ret: TimeStampToken,
565]
566PerformOpReq = &(
567    [DeviceGetHardwareInfo, GetHardwareInfoRequest],
568    [DeviceAddRngEntropy, AddRngEntropyRequest],
569    [DeviceGenerateKey, GenerateKeyRequest],
570    [DeviceImportKey, ImportKeyRequest],
571    [DeviceImportWrappedKey, ImportWrappedKeyRequest],
572    [DeviceUpgradeKey, UpgradeKeyRequest],
573    [DeviceDeleteKey, DeleteKeyRequest],
574    [DeviceDeleteAllKeys, DeleteAllKeysRequest],
575    [DeviceDestroyAttestationIds, DestroyAttestationIdsRequest],
576    [DeviceBegin, BeginRequest],
577    [DeviceDeviceLocked, DeviceLockedRequest],
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)
599PerformOpRsp = &(
600    [DeviceGetHardwareInfo, GetHardwareInfoResponse],
601    [DeviceAddRngEntropy, AddRngEntropyResponse],
602    [DeviceGenerateKey, GenerateKeyResponse],
603    [DeviceImportKey, ImportKeyResponse],
604    [DeviceImportWrappedKey, ImportWrappedKeyResponse],
605    [DeviceUpgradeKey, UpgradeKeyResponse],
606    [DeviceDeleteKey, DeleteKeyResponse],
607    [DeviceDeleteAllKeys, DeleteAllKeysResponse],
608    [DeviceDestroyAttestationIds, DestroyAttestationIdsResponse],
609    [DeviceBegin, BeginResponse],
610    [DeviceDeviceLocked, DeviceLockedResponse],
611    [DeviceEarlyBootEnded, EarlyBootEndedResponse],
612    [DeviceConvertStorageKeyToEphemeral, ConvertStorageKeyToEphemeralResponse],
613    [DeviceGetKeyCharacteristics, GetKeyCharacteristicsResponse],
614    [OperationUpdateAad, UpdateAadResponse],
615    [OperationUpdate, UpdateResponse],
616    [OperationFinish, FinishResponse],
617    [OperationAbort, AbortResponse],
618    [RpcGetHardwareInfo, GetRpcHardwareInfoResponse],
619    [RpcGenerateEcdsaP256KeyPair, GenerateEcdsaP256KeyPairResponse],
620    [RpcGenerateCertificateRequest, GenerateCertificateRequestResponse],
621    [RpcGenerateCertificateV2Request, GenerateCertificateRequestV2Response],
622    [SharedSecretGetSharedSecretParameters, GetSharedSecretParametersResponse],
623    [SharedSecretComputeSharedSecret, ComputeSharedSecretResponse],
624    [SecureClockGenerateTimeStamp, GenerateTimeStampResponse],
625    [GetRootOfTrustChallenge, GetRootOfTrustChallengeResponse],
626    [GetRootOfTrust, GetRootOfTrustResponse],
627    [SendRootOfTrust, SendRootOfTrustResponse],
628    [SetHalInfo, SetHalInfoResponse],
629    [SetBootInfo, SetBootInfoResponse],
630    [SetAttestationIds, SetAttestationIdsResponse],
631)
632PerformOpResponse = [
633    error_code: int,
634    rsp: [? PerformOpRsp],
635]
636