1EXTERN( 2/* GP Trusted Storage API */ 3TEE_GetObjectInfo1; 4TEE_RestrictObjectUsage1; 5TEE_GetObjectBufferAttribute; 6TEE_GetObjectValueAttribute; 7TEE_CloseObject; 8TEE_AllocateTransientObject; 9TEE_FreeTransientObject; 10TEE_ResetTransientObject; 11TEE_PopulateTransientObject; 12TEE_InitRefAttribute; 13TEE_InitValueAttribute; 14TEE_CopyObjectAttributes1; 15TEE_GenerateKey; 16TEE_CreatePersistentObject; 17TEE_OpenPersistentObject; 18TEE_ReadObjectData; 19TEE_WriteObjectData; 20TEE_TruncateObjectData; 21TEE_SeekObjectData; 22TEE_CloseAndDeletePersistentObject; 23TEE_CloseAndDeletePersistentObject1; 24TEE_RenamePersistentObject; 25TEE_AllocatePersistentObjectEnumerator; 26TEE_FreePersistentObjectEnumerator; 27TEE_ResetPersistentObjectEnumerator; 28TEE_StartPersistentObjectEnumerator; 29TEE_GetNextPersistentObject; 30TEE_SyncPersistentObject; 31TEE_InfoObjectData; 32 33/* GP Memory Management Functions */ 34TEE_Free; 35TEE_Malloc; 36TEE_MemCompare; 37TEE_CheckMemoryAccessRights; 38TEE_MemFill; 39TEE_MemMove; 40TEE_Realloc; 41TEE_GetInstanceData; 42TEE_SetInstanceData; 43 44/* GP Cryptographic Operations API */ 45TEE_SetCryptoFlag; 46TEE_SetObjectFlag; 47TEE_AllocateOperation; 48TEE_FreeOperation; 49TEE_GetOperationInfo; 50TEE_GetOperationInfoMultiple; 51TEE_ResetOperation; 52TEE_SetOperationKey; 53TEE_SetOperationKey2; 54TEE_CopyOperation; 55TEE_CipherInit; 56TEE_CipherUpdate; 57TEE_CipherDoFinal; 58TEE_DigestUpdate; 59TEE_DigestDoFinal; 60TEE_MACInit; 61TEE_MACUpdate; 62TEE_MACComputeFinal; 63TEE_MACCompareFinal; 64TEE_DeriveKey; 65TEE_GenerateRandom; 66TEE_AEInit; 67TEE_AEUpdateAAD; 68TEE_AEUpdate; 69TEE_AEEncryptFinal; 70TEE_AEDecryptFinal; 71TEE_AsymmetricEncrypt; 72TEE_AsymmetricDecrypt; 73TEE_AsymmetricSignDigest; 74TEE_AsymmetricVerifyDigest; 75TEE_IsAlgorithmSupported; 76 77/* GP Arithmetical API */ 78TEE_BigIntInit; 79TEE_BigIntInitFMM; 80TEE_BigIntInitFMMContext; 81TEE_BigIntInitFMMContext1; 82TEE_BigIntFMMSizeInU32; 83TEE_BigIntFMMContextSizeInU32; 84TEE_BigIntConvertFromOctetString; 85TEE_BigIntConvertToOctetString; 86TEE_BigIntConvertFromS32; 87TEE_BigIntConvertToS32; 88TEE_BigIntCmp; 89TEE_BigIntCmpS32; 90TEE_BigIntShiftRight; 91TEE_BigIntGetBit; 92TEE_BigIntSetBit; 93TEE_BigIntGetBitCount; 94TEE_BigIntAssign; 95TEE_BigIntAbs; 96TEE_BigIntAdd; 97TEE_BigIntSub; 98TEE_BigIntNeg; 99TEE_BigIntMul; 100TEE_BigIntSquare; 101TEE_BigIntDiv; 102TEE_BigIntMod; 103TEE_BigIntAddMod; 104TEE_BigIntSubMod; 105TEE_BigIntInvMod; 106TEE_BigIntMulMod; 107TEE_BigIntSquareMod; 108TEE_BigIntRelativePrime; 109TEE_BigIntComputeExtendedGcd; 110TEE_BigIntIsProbablePrime; 111TEE_BigIntConvertFromFMM; 112TEE_BigIntConvertToFMM; 113TEE_BigIntComputeFMM; 114TEE_BigIntExpMod; 115 116/* GP Trusted Core Framework API */ 117TEE_Panic; 118TEE_OpenTASession; 119TEE_CloseTASession; 120TEE_InvokeTACommand; 121 122TEE_GetPropertyAsString; 123TEE_GetPropertyAsBool; 124TEE_GetPropertyAsU32; 125TEE_GetPropertyAsU64; 126TEE_GetPropertyAsBinaryBlock; 127TEE_GetPropertyAsUUID; 128TEE_GetPropertyAsIdentity; 129TEE_AllocatePropertyEnumerator; 130TEE_FreePropertyEnumerator; 131TEE_StartPropertyEnumerator; 132TEE_ResetPropertyEnumerator; 133TEE_GetPropertyName; 134TEE_GetNextProperty; 135 136/* GP TIME API */ 137TEE_GetSystemTime; 138TEE_GetREETime; 139TEE_GetTAPersistentTime; 140TEE_SetTAPersistentTime; 141TEE_Wait; 142 143/* extend API */ 144AddCaller_CA; 145AddCaller_TA_all; 146tee_drv_open; 147tee_drv_ioctl; 148tee_drv_close; 149tee_ext_root_uuid_derive_key; 150tee_hal_get_provision_key; 151g_debug_prefix; 152 153cs_server_loop; 154get_valid_bit; 155 156/* the following apis are exported for gtask dynamic link tee_shared library*/ 157BN_new; 158BN_free; 159BN_bin2bn; 160BN_sub; 161BN_add; 162BN_cmp; 163BN_mul; 164BN_dup; 165BN_gcd; 166BN_div; 167BN_set_word; 168BN_sub_word; 169BN_mod_inverse; 170BN_CTX_new; 171BN_CTX_free; 172BN_clear_free; 173CRYPTO_malloc; 174OPENSSL_cleanse; 175CRYPTO_free; 176ossl_x25519; 177 178RSA_new; 179RSA_free; 180RSA_size; 181RSA_set0_key; 182RSA_set0_factors; 183RSA_set0_crt_params; 184RSA_verify; 185RSA_private_decrypt; 186 187EC_POINT; 188EC_POINT_new; 189EC_POINT_free; 190EC_POINT_oct2point; 191EC_POINT_mul; 192EC_POINT_add; 193EC_POINT_is_on_curve; 194EC_POINT_is_at_infinity; 195EC_POINT_get_affine_coordinates_GFp; 196EC_POINT_set_affine_coordinates_GFp; 197EC_KEY_new; 198EC_GROUP; 199EC_GROUP_get0_order; 200EC_GROUP_free; 201EC_GROUP_new_by_curve_name; 202EC_KEY_set_private_key; 203EVP_PKEY_assign_RSA; 204EC_KEY_set_group; 205ECDH_compute_key; 206EVP_PKEY_assign; 207EVP_PKEY_CTX_new; 208EVP_PKEY_encrypt_init; 209EVP_PKEY_encrypt; 210EVP_PKEY_CTX_free; 211EVP_PKEY_decrypt_init; 212EVP_PKEY_decrypt; 213ECDSA_do_sign; 214ECDSA_SIG_get0; 215ECDSA_SIG_free; 216ECDSA_SIG_new; 217ECDSA_SIG_set0; 218ECDSA_do_verify; 219ED25519_public_from_private; 220#ifdef OPENSSL_ENABLE 221ED25519_sign; 222ED25519_verify; 223#endif 224#ifdef OPENSSL3_ENABLE 225ossl_ed25519_sign; 226ossl_ed25519_verify; 227#endif 228 229SHA256_Init; 230SHA256_Update; 231SHA256_Final; 232SHA512_Init; 233SHA512_Update; 234SHA512_Final; 235 236EVP_DecryptInit; 237EVP_md5; 238EVP_sha1; 239EVP_sha224; 240EVP_sha384; 241EVP_MD_CTX_init; 242EVP_DigestInit_ex; 243EVP_DigestUpdate; 244EVP_MD_CTX_cleanup; 245EVP_MD_CTX_reset; 246EVP_DigestFinal_ex; 247SHA1; 248HMAC_Init; 249HMAC_Update; 250HMAC_Final; 251EVP_CIPHER_CTX_cleanup; 252EVP_aes_256_ccm; 253EVP_CIPHER_CTX_ctrl; 254EVP_Cipher; 255HMAC_CTX_new; 256HMAC_CTX_free; 257EVP_aes_256_ctr; 258EVP_CIPHER_CTX_new; 259EVP_CipherInit_ex; 260EVP_CIPHER_CTX_free; 261EVP_aes_128_gcm; 262EVP_aes_192_gcm; 263EVP_aes_256_gcm; 264EVP_EncryptUpdate; 265EVP_EncryptFinal_ex; 266EVP_DecryptUpdate; 267EVP_DecryptFinal_ex; 268 269#ifdef SUPPORT_EXPORT_OPENSSL_SYMBOL 270BN_rand; 271BN_bn2bin; 272BN_GENCB_free; 273BN_mod_exp; 274BN_hex2bn; 275BN_num_bits; 276PEM_write_bio_RSA_PUBKEY; 277BN_num_bytes; 278BIO_free; 279BN_GENCB_set_old; 280BN_set_bit; 281BIO_new; 282BN_clear; 283RSA_generate_key_ex; 284RAND_bytes; 285EVP_EncryptInit_ex; 286EVP_DecryptInit_ex; 287BN_GENCB_new; 288BIO_read; 289BIO_ctrl_pending; 290BN_bn2hex; 291BIO_s_mem; 292OPENSSL_free; 293RSAPrivateKey_dup; 294HMAC_CTX_copy; 295HMAC_Init_ex; 296HMAC_CTX_reset; 297RAND_priv_bytes; 298BIO_new_mem_buf; 299EC_GROUP_get_point_conversion_form; 300EC_KEY_get0_group; 301EC_KEY_get0_public_key; 302EC_POINT_point2oct; 303EVP_DigestSignFinal; 304EVP_DigestSignInit; 305EVP_DigestSignUpdate; 306EVP_DigestVerify; 307EVP_DigestVerifyInit; 308EVP_MD_CTX_free; 309EVP_MD_CTX_new; 310EVP_PKEY_CTX_add1_hkdf_info; 311EVP_PKEY_CTX_new_id; 312EVP_PKEY_CTX_set_hkdf_md; 313EVP_PKEY_CTX_set_rsa_padding; 314EVP_PKEY_CTX_set_rsa_pss_saltlen; 315EVP_PKEY_CTX_set1_hkdf_key; 316EVP_PKEY_CTX_set1_hkdf_salt; 317EVP_PKEY_derive; 318EVP_PKEY_free; 319EVP_PKEY_new; 320EVP_PKEY_set1_RSA; 321PEM_read_bio_RSAPrivateKey; 322PEM_read_bio_RSAPublicKey; 323EVP_MD_CTX_destroy; 324HMAC_CTX_cleanup; 325EVP_CIPHER_CTX_mode; 326EVP_aes_192_cbc; 327EVP_aes_128_ecb; 328EVP_aes_192_ecb; 329EVP_aes_256_ecb; 330EVP_aes_128_wrap; 331EVP_aes_192_wrap; 332EVP_aes_256_wrap; 333EVP_aes_192_wrap_pad; 334EVP_aes_128_wrap_pad; 335EVP_aes_256_wrap_pad; 336EVP_CIPHER_CTX_set_flags; 337RSA_blinding_on; 338RSA_sign; 339PEM_read_bio_X509; 340X509_free; 341X509_STORE_new; 342X509_STORE_set_flags; 343X509_STORE_add_cert; 344X509_STORE_CTX_new; 345X509_STORE_CTX_init; 346X509_verify_cert; 347X509_get_pubkey; 348EVP_PKEY_get1_RSA; 349RSA_public_encrypt; 350PKCS8_PRIV_KEY_INFO_free; 351OPENSSL_init_crypto; 352EVP_CIPHER_flags; 353OPENSSL_malloc; 354HMAC_CTX_init; 355RSA_public_decrypt; 356RSA_private_encrypt; 357RSA_blinding_off; 358RSA_get_default_method; 359RSA_set_method; 360d2i_PKCS8_PRIV_KEY_INFO; 361EVP_PKCS82PKEY; 362EVP_PKEY2PKCS8; 363i2d_PKCS8_PRIV_KEY_INFO; 364RSA_padding_add_PKCS1_PSS; 365RSA_verify_PKCS1_PSS; 366EVP_MD_size; 367EVP_CIPHER_CTX_cipher; 368PEM_write_bio_RSAPrivateKey; 369EC_POINT_cmp; 370EVP_PKEY_CTX_ctrl; 371EVP_PKEY_derive_init; 372BN_priv_rand; 373RSA_pkey_ctx_ctrl; 374RSA_get0_n; 375RSA_get0_e; 376RSA_get0_d; 377RSA_get0_p; 378RSA_get0_q; 379RSA_get0_dmp1; 380RSA_get0_dmq1; 381RSA_get0_iqmp; 382PEM_write_bio_RSAPublicKey; 383PEM_read_bio_RSA_PUBKEY; 384SHA384; 385SHA384_Init; 386SHA384_Update; 387SHA384_Final; 388SHA1_Init; 389SHA1_Update; 390SHA1_Final; 391SHA1_Transform; 392SHA224_Init; 393SHA224_Update; 394SHA224_Final; 395SHA224; 396SHA256_Transform; 397SHA512; 398SHA512_Transform; 399#endif 400 401EVP_sha256; 402EVP_sha512; 403SHA256; 404HMAC; 405EVP_CipherInit; 406EVP_CipherUpdate; 407EVP_CipherFinal_ex; 408EVP_aes_256_cbc; 409EVP_CIPHER_CTX_reset; 410EVP_CIPHER_CTX_set_padding; 411EC_KEY_new_by_curve_name; 412EC_KEY_generate_key; 413EC_KEY_free; 414RSA_get0_key; 415RSA_get0_factors; 416RSA_get0_crt_params; 417 418/* may not be exported on OH platform */ 419drv_call_new; 420uart_cprintf; 421uart_printf_func; 422tee_print; 423tee_print_driver; 424tee_report; 425get_global_handle; 426set_global_handle; 427tee_secure_img_release_verify; 428cinit00; 429tee_init; 430tee_task_entry; 431set_log_use_tid_flag; 432get_tlv_sharedmem; 433tee_ext_get_advsecmode; 434 435sleep; 436nanosleep; 437localtime; 438get_sys_data_time; 439adjust_sys_time; 440get_sys_rtc_time; 441release_timer_event; 442set_ta_timer_permission; 443tee_time_event_create; 444tee_time_event_destroy; 445tee_time_event_start; 446tee_time_event_stop; 447tee_time_event_get_expire; 448tee_read_time_stamp; 449tee_msleep; 450 451tee_internal_derive_key; 452tee_ext_get_dieid; 453tee_crypto_derive_root_key; 454derive_ecc_private_key_from_huk; 455tee_crypto_hmac; 456ecc_derive_public_key; 457get_effective_size; 458rsa_build_public_key; 459get_class_ecc_key; 460x509_cert_validate; 461get_issuer_from_cert; 462get_serial_number_from_cert; 463x509_crl_validate; 464get_issuer_from_crl; 465get_revocation_list_from_crl; 466get_subject_CN; 467get_subject_OU; 468get_subject_x509_cn; 469get_subject_x509_ou; 470get_subject_public_key_new; 471import_pub_from_sp; 472rsa_verify_digest; 473get_validity_from_cert; 474ecc_verify_digest; 475 476tee_get_chip_type; 477 478ipc_create_single_channel; 479ipc_create_channel_native; 480ipc_send_msg_sync; 481ipc_msg_qsend; 482ipc_msg_snd; 483ipc_msg_rcv; 484ipc_msg_rcv_safe; 485ipc_msg_rcv_a; 486ipc_msg_q_recv; 487 488delete_all_ta2ta_session; 489clear_session_exception; 490 491/* STUB API Begin */ 492/* RPMB API */ 493tee_ext_rpmb_protect_cfg_blk_write; 494tee_ext_rpmb_protect_cfg_blk_read; 495tee_ext_rpmb_driver_write; 496tee_ext_rpmb_driver_read; 497tee_ext_rpmb_driver_remove; 498tee_ext_rpmb_format; 499TEE_RPMB_FS_Init; 500TEE_RPMB_FS_Format; 501TEE_RPMB_FS_Write; 502TEE_RPMB_FS_Write_Attr; 503TEE_RPMB_FS_Read; 504TEE_RPMB_FS_Rename; 505TEE_RPMB_FS_Rm; 506TEE_RPMB_FS_Stat; 507TEE_RPMB_FS_StatDisk; 508TEE_RPMB_FS_SetAttr; 509TEE_RPMB_FS_Erase; 510TEE_RPMB_KEY_Status; 511tee_rpmb_fs_getseclevel; 512 513/* SE API */ 514TEE_SEServiceOpen; 515TEE_SEServiceClose; 516TEE_SEServiceGetReaders; 517TEE_SEReaderGetProperties; 518TEE_SEReaderGetName; 519TEE_SEReaderOpenSession; 520TEE_SEReaderCloseSessions; 521TEE_SESessionGetATR; 522TEE_SESessionIsClosed; 523TEE_SESessionClose; 524TEE_SESessionCloseChannels; 525TEE_SESessionOpenBasicChannel; 526TEE_SESessionOpenLogicalChannel; 527TEE_SEChannelClose; 528TEE_SEChannelSelectNext; 529TEE_SEChannelGetSelectResponse; 530TEE_SEChannelTransmit; 531TEE_SESecureChannelOpen; 532TEE_SESecureChannelClose; 533TEE_SEChannelGetID; 534 535/* TUI API */ 536TEE_TUIInitSession; 537TEE_TUICloseSession; 538TEE_TUICheckTextFormat; 539TEE_TUIGetScreenInfo; 540TEE_TUIDisplayScreen; 541TEE_TUINotify_fp; 542TEE_TUISetInfo; 543TEE_TUISendEvent; 544TEE_TUISetLabel; 545 546/* RTC TIME API */ 547tee_ext_create_timer; 548tee_ext_destory_timer; 549tee_ext_get_timer_expire; 550tee_ext_get_timer_remain; 551tee_get_secure_rtc_time; 552 553/* DYN SRV API */ 554tee_srv_get_uuid_by_sender; 555tee_srv_unmap_from_task; 556tee_srv_map_from_task; 557tee_srv_cs_server_loop; 558tee_common_ipc_proc_cmd; 559 560/* Share MEM API */ 561tee_alloc_sharemem_aux; 562tee_alloc_coherent_sharemem_aux; 563tee_free_sharemem; 564copy_from_sharemem; 565copy_to_sharemem; 566 567/* TEE AGENT API */ 568tee_agent_lock; 569tee_agent_unlock; 570tee_send_agent_cmd; 571tee_get_agent_buffer; 572 573/* EXTEND API */ 574tee_ext_get_caller_info; 575tee_ext_get_caller_userid; 576tee_get_session_type; 577tee_ext_get_device_unique_id; 578tee_ext_derive_key_iter; 579tee_ext_derive_key_iter_by_huk2; 580TEE_EXT_DeriveTARootKey; 581tee_ext_derive_ta_root_key_by_huk2; 582tee_ext_derive_key_iter_by_huk2_enhance; 583tee_ext_root_derive_key2_by_huk2; 584tee_ext_root_uuid_derive_key_by_huk2; 585tee_ext_root_derive_key2_by_huk2_enhance; 586tee_ext_root_uuid_derive_key_by_huk2_enhance; 587tee_dstb_gen_sharekey; 588tee_dstb_pre_attestation; 589pthread_attr_settee; 590tee_query_ta_measure_report; 591tee_query_mspc_measure_report; 592tee_ext_derive_ta_platfrom_keys; 593spi_notify_set_shadow_priority; 594tee_ext_get_recoverymode; 595/* STUB API End */ 596) 597