/*========================================================================================================== Copyright (c) 2021, Quectel Wireless Solutions Co., Ltd. All rights reserved. Quectel Wireless Solutions Proprietary and Confidential. ===========================================================================================================*/ /*========================================================================================================== EDIT HISTORY FOR MODULE This section contains comments describing changes made to the module. Notice that changes are listed in reverse chronological order. WHEN WHO WHAT, WHERE, WHY ------------ ------- ------------------------------------------------------------------------------- 09/04/2022 Sharon.li ���ļ��ǽ�kerenlAPIӳ��,��APP��ʹ�ã�ע����ЩAPIΪ�ͻ��ɶ��Ʋü���API�� ���ļ��Կͻ��ɼ� ===========================================================================================================*/ #include "quec_cust_feature.h" #include "ql_type.h" #ifndef NO_AUDIO #include "ql_audio.h" #include "ql_audio_old_api.h" #endif #include "ql_tts.h" #include "ql_ocpu_api.h" #include "ql_lcd.h" #include "ql_camera.h" #include "ql_keypad.h" #include "ql_rtc.h" #include "ql_time.h" #include "ql_power.h" #include "ql_nw.h" #include "ql_platform.h" #include "ql_gnss.h" #include "ql_adc.h" #include "ql_atcmd.h" #include "ql_dev.h" #include "ql_fota.h" #include "ql_iic.h" #include "ql_rtos.h" #include "ql_spi.h" #include "ql_uart.h" #include "ql_data_call.h" #include "ql_nw.h" #include "ql_sim.h" #include "ql_usb_descriptor.h" #include "ql_sms.h" #include "ql_voice_call.h" #include "ql_rtos.h" #include "ql_fs.h" #include "ql_spi.h" #include "ql_flash.h" #include "ql_lcd.h" #include "ql_pwm.h" #include "ql_spi_nor.h" #include "ql_ntp.h" #include "ql_ping.h" #ifndef NO_MBEDTLS #include "mbedtls/net_sockets.h" #include "mbedtls/ctr_drbg.h" #include "mbedtls/entropy.h" #include "mbedtls/debug.h" #include "mbedtls/base64.h" #include "mbedtls/platform.h" #include "mbedtls/md5.h" #include "mbedtls/sha256.h" #include "mbedtls/sha1.h" #include "mbedtls/md.h" #include "mbedtls/pkcs5.h" #endif #include "UART.h" #ifdef QUEC_BT_PRODUCIBILITY #include "ql_bt.h" #include "ql_bt_old_api.h" #include "ql_bt_spp_api.h" #include "ql_bt_hid_api.h" #include "ql_bt_obex_api.h" #include "ql_bt_headset_api.h" #include "ql_bt_comm_api.h" #include "ql_bt_drive.h" #include "ql_ble_api.h" #endif #ifdef VOLTE_ENABLE #include "ql_voice_call.h" #endif #ifdef QUEC_AUDIO_DENOISE #include "ql_audio_denoise.h" #include "quec_audio.h" #endif void ql_user_api_map_test(void) { RTI_LOG("This is an user api mapping test line\r\n"); } extern void quec_kernel_api_test(void); ql_open_api_list vUserAPITable[] __attribute__((used, section("DDR_USER_API_TABLE"))) = { {0x60BCEA5A, (void*)ql_user_api_map_test}, {0xFFFFFFFF, (void*)quec_kernel_api_test}, #ifdef QL_MBEDTLS /************************************************************************************************ * mbedtls *************************************************************************************************/ /*[ 1]*/{0x517E6F6E, (void *)mbedtls_net_free}, /*[ 2]*/{0x32390B04, (void *)mbedtls_x509_crt_free}, /*[ 3]*/{0xA7449802, (void *)mbedtls_pk_free}, /*[ 4]*/{0xCBA6D2D6, (void *)mbedtls_ssl_free}, /*[ 5]*/{0x9270F400, (void *)mbedtls_ssl_config_free}, /*[ 6]*/{0xA32BF464, (void *)mbedtls_ctr_drbg_free}, /*[ 7]*/{0x1E9AE322, (void *)mbedtls_entropy_free}, /*[ 8]*/{0x885C3A34, (void *)mbedtls_net_init}, /*[ 9]*/{0xABF53E6C, (void *)mbedtls_ssl_init}, /*[ 10]*/{0x54AD5DC6, (void *)mbedtls_ssl_config_init}, /*[ 11]*/{0x1A4E313A, (void *)mbedtls_ctr_drbg_init}, /*[ 12]*/{0x3B552F9A, (void *)mbedtls_x509_crt_init}, /*[ 13]*/{0x307DC198, (void *)mbedtls_pk_init}, /*[ 14]*/{0x6A054AF8, (void *)mbedtls_entropy_init}, #if defined(MBEDTLS_DEBUG_C) /*[ 15]*/{0x75313FDA, (void *)mbedtls_debug_set_threshold}, #endif /*[ 16]*/{0xACC92AA0, (void *)mbedtls_ssl_conf_dbg}, /*[ 17]*/{0x54049004, (void *)mbedtls_ctr_drbg_seed}, /*[ 18]*/{0xC0E64532, (void *)mbedtls_x509_crt_parse}, /*[ 19]*/{0x19086824, (void *)mbedtls_x509_crt_parse_file}, /*[ 20]*/{0x82C8911A, (void *)mbedtls_pk_parse_keyfile}, /*[ 21]*/{0x283843C2, (void *)mbedtls_ssl_conf_psk}, /*[ 22]*/{0x868D3244, (void *)mbedtls_net_connect}, /*[ 23]*/{0x7F80D70A, (void *)mbedtls_net_set_block}, /*[ 24]*/{0xD5705E04, (void *)mbedtls_ssl_config_defaults}, /*[ 25]*/{0xB6A7AF7E, (void *)mbedtls_ssl_conf_verify}, /*[ 26]*/{0xF4F367D6, (void *)mbedtls_ssl_conf_authmode}, /*[ 27]*/{0x52DE1DDE, (void *)mbedtls_ssl_conf_rng}, /*[ 28]*/{0xCF42B47E, (void *)mbedtls_ssl_conf_ca_chain}, /*[ 29]*/{0xC0B3740C, (void *)mbedtls_ssl_conf_own_cert}, /*[ 30]*/{0xFD3A9954, (void *)mbedtls_ssl_conf_read_timeout}, /*[ 31]*/{0x6F69BE22, (void *)mbedtls_ssl_setup}, /*[ 32]*/{0x5E0D37B6, (void *)mbedtls_ssl_conf_ciphersuites}, /*[ 33]*/{0xBFEFD2D8, (void *)mbedtls_ssl_set_hostname}, /*[ 34]*/{0x6DC14ADC, (void *)mbedtls_ssl_set_bio}, /*[ 35]*/{0xF7F35212, (void *)mbedtls_ssl_handshake}, /*[ 36]*/{0xFDA64AE2, (void *)mbedtls_ssl_get_verify_result}, /*[ 37]*/{0x8C62631C, (void *)mbedtls_ssl_close_notify}, /*[ 38]*/{0x798D63D4, (void *)mbedtls_ssl_write}, /*[ 39]*/{0xE9EAEF60, (void *)mbedtls_ssl_read}, /*[ 40]*/{0xE4D29EF4, (void *)mbedtls_entropy_func}, /*[ 41]*/{0x40AC4F04, (void *)mbedtls_ctr_drbg_random}, /*[ 42]*/{0x8D31D9E0, (void *)mbedtls_net_recv_timeout}, /*[ 43]*/{0xF1F88A56, (void *)mbedtls_net_send}, /*[ 44]*/{0xA71A3FD8, (void *)mbedtls_net_recv}, /*[ 45]*/{0x9BEEFC48, (void *)mbedtls_ssl_conf_max_version}, /*[ 46]*/{0xC9C87562, (void *)mbedtls_ssl_conf_min_version}, /*[ 47]*/{0x5CEA59E4, (void *)mbedtls_pk_parse_key}, /*[ 48]*/{0x1988CD90, (void *)mbedtls_ssl_list_ciphersuites}, /*[ 49]*/{0xFB9CCF44, (void *)mbedtls_ssl_get_ciphersuite_name}, /*[ 50]*/{0x5A0F0E72, (void *)mbedtls_net_set_nonblock}, /*[ 51]*/{0x3C90A3E2, (void *)mbedtls_x509_crt_verify_info}, #if defined(MBEDTLS_SSL_ALPN) /*[ 52]*/{0xA2E0A78A, (void *)mbedtls_ssl_get_alpn_protocol}, /*[ 53]*/{0x44043334, (void *)mbedtls_ssl_conf_alpn_protocols}, #endif /*[ 54]*/{0x3E5EF7AA, (void *)mbedtls_x509_crt_parse_der}, /*[ 55]*/{0x2D087352, (void *)mbedtls_x509_crt_info}, /*[ 56]*/{0xDF511658, (void *)mbedtls_ssl_handshake_step}, /*[ 57]*/{0xE488914E, (void *)mbedtls_ssl_get_peer_cert}, /*[ 58]*/{0x2F53B0CA, (void *)mbedtls_mpi_write_string}, /*[ 59]*/{0x12AA02F0, (void *)mbedtls_pk_get_type}, /*[ 60]*/{0x41F35476, (void *)mbedtls_ssl_get_bytes_avail}, /*[ 61]*/{0x55498EFE, (void *)mbedtls_base64_decode}, /*[ 61]*/{0x39473B74, (void *)mbedtls_base64_encode}, /*[ 62]*/{0x77735392, (void *)mbedtls_pk_parse_public_key}, /*[ 63]*/{0x8A574016, (void *)mbedtls_pk_can_do}, /*[ 64]*/{0x4A412054, (void *)mbedtls_md_info_from_type}, /*[ 65]*/{0x42675928, (void *)mbedtls_md}, /*[ 66]*/{0xB6192A26, (void *)mbedtls_pk_verify}, /*[ 66]*/{0x6156A072, (void *)mbedtls_md5}, /*[ 66]*/{0xFEF7AF7E, (void *)mbedtls_aes_setkey_dec}, /*[ 66]*/{0xD6F49C4E, (void *)mbedtls_aes_free}, /*[ 66]*/{0xEC55FAD4, (void *)mbedtls_aes_init}, /*[ 66]*/{0x83BD2554, (void *)mbedtls_aes_crypt_cbc}, /*[ 66]*/{0xAA5165BE, (void *)mbedtls_mpi_read_string}, /*[ 66]*/{0x73B01864, (void *)mbedtls_mpi_init}, /*[ 66]*/{0x61CD3C7E, (void *)mbedtls_mpi_free}, /*[ 66]*/{0x2043419C, (void *)mbedtls_rsa_init}, /*[ 66]*/{0xA1F091E6, (void *)mbedtls_rsa_free}, /*[ 66]*/{0xE0251D64, (void *)mbedtls_rsa_import}, /*[ 66]*/{0x9C7B9040, (void *)mbedtls_rsa_complete}, /*[ 66]*/{0x3A803AFC, (void *)mbedtls_rsa_pkcs1_sign}, /*[ 66]*/{0xFAC7EC38, (void *)mbedtls_rsa_get_len}, /*[ 66]*/{0xDD73E1AC, (void *)mbedtls_rsa_pkcs1_encrypt}, /*[ 66]*/{0x14F1AF2, (void *)mbedtls_rsa_pkcs1_decrypt}, #ifdef MBEDTLS_SSL_MAX_FRAGMENT_LENGTH /*[ 66]*/{0xAD90BC48, (void *)mbedtls_ssl_conf_max_frag_len}, #endif /*[ 66]*/{0x86BB0A1E, (void *)mbedtls_ssl_session_reset}, /*[ 66]*/{0x7A353DE, (void *)mbedtls_ssl_set_session}, /*[ 66]*/{0x9AE05A0A, (void *)mbedtls_ssl_get_session}, #if defined(MBEDTLS_PLATFORM_C) /*[ 66]*/{0x193A889E, (void *)mbedtls_platform_setup}, #endif /*[ 66]*/{0xD29DC244, (void *)mbedtls_aes_setkey_enc}, /*[ 67]*/{0x0AC7AD82, (void *)mbedtls_ssl_conf_cert_profile}, /*[ 68]*/{0xF2AF1C46, (void *)mbedtls_sha256}, /*[ 69]*/{0xC23D72CE, (void *)mbedtls_md_init}, /*[ 70]*/{0x5665A4B8, (void *)mbedtls_md_hmac_starts}, /*[ 71]*/{0x353F68C6, (void *)mbedtls_md_hmac_update}, /*[ 72]*/{0xED1F2AAC, (void *)mbedtls_md_hmac_finish}, /*[ 73]*/{0xB74ACC68, (void *)mbedtls_md_free}, /*[ 74]*/{0x4622C800, (void *)mbedtls_md_setup}, #if defined(MBEDTLS_PKCS5_C) /*[ 75]*/{0xBBD29CF2, (void *)mbedtls_pkcs5_pbkdf2_hmac}, #endif /*[ 76]*/{0xADCC8038, (void *)mbedtls_net_bind}, #ifdef MBEDTLS_SSL_PROTO_DTLS /*[ 77]*/{0x349E3E1E, (void *)mbedtls_ssl_conf_handshake_timeout}, #endif /*[ 78]*/{0xBD6224FC, (void *)mbedtls_md5_init}, /*[ 79]*/{0x2E94146E, (void *)mbedtls_md5_starts_ret}, /*[ 80]*/{0xB2B8A05C, (void *)mbedtls_md5_update_ret}, /*[ 81]*/{0xA89C05FA, (void *)mbedtls_md5_finish_ret}, /*[ 82]*/{0x2FE11A86, (void *)mbedtls_md5_free}, /*[ 83]*/{0x70FAC642, (void *)mbedtls_aes_crypt_ecb}, /*[ 83]*/{0x64C29026, (void *)mbedtls_sha1}, /*[ 83]*/{0x977B3F08, (void *)mbedtls_sha1_init}, /*[ 83]*/{0x243B8FE6, (void *)mbedtls_sha1_starts}, /*[ 83]*/{0xE9E80234, (void *)mbedtls_sha1_update}, /*[ 83]*/{0x048774BA, (void *)mbedtls_sha1_finish}, /*[ 83]*/{0x6CB7BE92, (void *)mbedtls_sha1_free}, #ifdef QUEC_OEM_VER_SWM /*[ 10]*/{0xFA52F7DA, (void *)mbedtls_entropy_add_source}, /*[ 11]*/{0xD8DAF31C, (void *)mbedtls_ssl_get_ciphersuite}, /*[ 12]*/{0x66B24DD6, (void *)mbedtls_x509_dn_gets}, /*[ 13]*/{0xEFE3B9E0, (void *)mbedtls_md_starts}, /*[ 14]*/{0x027A7C2E, (void *)mbedtls_md_update}, /*[ 15]*/{0x2C81E1D4, (void *)mbedtls_md_finish}, /*[ 16]*/{0xD8DAF31C, (void *)mbedtls_ssl_get_ciphersuite}, /*[ 17]*/{0x46308406, (void *)mbedtls_ssl_conf_cert_time_vality_check}, #endif #endif /************************************************************************************************ * audio *************************************************************************************************/ #ifndef NO_AUDIO /*[ 0]*/{0x4C66F2E6, (void *)ql_get_audio_state}, /*[ 1]*/{0x03000E14, (void *)ql_set_volume}, /*[ 6]*/{0x1386E4CA, (void *)ql_codec_choose}, /*[ 5]*/{0xAF712ADA, (void *)ql_set_audio_path_receiver}, /*[ 19]*/{0xF878E268, (void *)ql_audio_track_open}, /*[ 20]*/{0x259E2582, (void *)ql_audio_track_write}, /*[ 21]*/{0x1A7DE77E, (void *)ql_audio_track_close}, /*[ 21]*/{0xC2331E66, (void *)ql_audio_track_ctrl}, /*[ 22]*/{0x9C143DE6, (void *)ql_audio_record_open}, /*[ 21]*/{0xE7D31F80, (void *)ql_audio_record_read}, /*[ 21]*/{0x43DB0BCC, (void *)ql_audio_record_close}, /*[ 21]*/{0x7868F160, (void *)ql_audio_record_ctrl}, /*[ 22]*/{0x24CFFC90, (void *)ql_get_volume}, /*[ 21]*/{0x89A34594, (void *)ql_bind_speakerpa_cb}, /*[ 22]*/{0xAB704D0E, (void *)ql_set_audio_path_earphone}, /*[ 21]*/{0xF3D116CC, (void *)ql_set_audio_path_speaker}, /*[ 22]*/{0xC773B1B4, (void *)ql_set_dtmf_volume}, /*[ 21]*/{0xA67CE8B2, (void *)ql_aud_tone_play}, /*[ 22]*/{0x84514A6, (void *)ql_aud_dtmf_play}, /*[ 48]*/{0xF42A9D82, (void *)ql_set_txdspgain}, /*[ 49]*/{0x6987038E, (void *)ql_get_txdspgain}, /*[ 50]*/{0xDB6D59F0, (void *)ql_set_txcodecgain}, /*[ 51]*/{0xF0DC64CC, (void *)ql_get_txcodecgain}, /*[ 10]*/{0x6617F108, (void *)ql_set_rxcodec_gain_table}, /*[ 11]*/{0x2ED86FEC, (void *)ql_set_eqcoeff_table}, /*[ 12]*/{0x5F80E0B8, (void *)ql_set_mediave_coeff_table}, /*[ 47]*/{0x7F3D99B4, (void *)ql_set_dsp_gain_table}, /*[ 52]*/{0xF46C869E, (void *)ql_set_txcodec_gain_table}, /*[ 52]*/{0x7A5794EE, (void *)ql_set_dtmf_volume2}, /*[ 53]*/{0x93752EC4, (void *)ql_audio_pipeline_config}, /*[ 54]*/{0x66E24F94, (void *)ql_audio_track_pipeline_read}, /*[ 55]*/{0xE8FA3A62, (void *)ql_set_audio_ouput_type}, /*[ 56]*/{0xADD9FB66, (void *)ql_get_audio_ouput_type}, /*[ 42]*/{0xC60A1428, (void *)ql_play_file_start}, /*[ 43]*/{0x6BBA8154, (void *)ql_play_file_stop}, /*[ 11]*/{0x7CBEB56C, (void *)ql_pcm_open}, /*[ 12]*/{0xEF6E9746, (void *)ql_pcm_read}, /*[ 13]*/{0xC0504EFE, (void *)ql_pcm_write}, /*[ 14]*/{0x28AC062A, (void *)ql_pcm_close}, /*[ 15]*/{0x4304AB6E, (void *)ql_pcm_play_init}, /*[ 16]*/{0x4B0B3EC8, (void *)ql_pcm_play}, /*[ 17]*/{0xA6969FF8, (void *)ql_pcm_play_stop}, /*[ 18]*/{0x0E66492C, (void *)ql_pcm_play_deinit}, /*[ 18]*/{0x09BDA5DA, (void *)ql_audio_play_init}, #ifdef QL_WAV_FUNC /*[ 35]*/{0xF58A2758, (void *)ql_wav_file_play}, /*[ 39]*/{0x3B4B8F94, (void *)ql_wav_file_stop}, /*[ 22]*/{0xE4611DEA, (void *)ql_wav_play}, /*[ 22]*/{0xD22B9F6E, (void *)ql_wav_play_stop}, #endif #ifdef QL_MP3_FUNC /*[ 30]*/{0x79120A86, (void *)ql_mp3_file_play}, /*[ 31]*/{0xAA904502, (void *)ql_mp3_file_stop}, /*[ 20]*/{0x5279E300, (void *)ql_play_mp3}, /*[ 22]*/{0x96484B84, (void *)ql_play_mp3_stream_buffer}, /*[ 22]*/{0x3040BDE8, (void *)ql_stop_mp3_play}, /*[ 22]*/{0xB710575E, (void *)ql_mp3_get_pcm_handle}, #endif #ifdef QL_AMR_FUNC /*[ 22]*/{0x4377D52A, (void *)ql_amr_file_play}, /*[ 24]*/{0xC4A988B6, (void *)ql_amr_file_stop}, /*[ 22]*/{0xBAFF6B6C, (void *)ql_play_amr}, /*[ 24]*/{0x88001B8, (void *)ql_play_amr_stream_buffer}, /*[ 25]*/{0x15752214, (void *)ql_stop_amr_play}, /*[ 25]*/{0x072703DA, (void *)ql_amr_get_pcm_handle}, /*[ 26]*/{0x5F317C2, (void *)ql_record_amr}, /*[ 27]*/{0xECF0D5E6, (void *)ql_record_amr_stop}, /*[ 24]*/{0x8295CC6A, (void *)ql_amr_stream_write}, /*[ 25]*/{0x24888736, (void *)ql_amr_stream_close}, /*[ 25]*/{0x084CE4EC, (void *)ql_amrnbenc_do}, /*[ 26]*/{0xFED946E6, (void *)ql_amrnbenc_init}, /*[ 28]*/{0x335829A4, (void *)ql_amrnbenc_deinit}, #endif #ifdef QL_AUDIO_TTS_SUPPORT /*[ 1]*/{0x775C88B0, (void *)ql_tts_init}, /*[ 2]*/{0xE001DAF6, (void *)ql_tts_play}, /*[ 3]*/{0x145DF132, (void *)ql_tts_stop}, /*[ 4]*/{0xD2165922, (void *)ql_tts_deinit}, /*[ 5]*/{0xC6AEEB80, (void *)ql_tts_set_volume}, /*[ 6]*/{0xB6C2CB56, (void *)ql_tts_state}, /*[ 7]*/{0x0946A41C, (void *)ql_tts_get_volume}, /*[ 8]*/{0x7AC6381C, (void *)ql_tts_set_speed}, /*[ 9]*/{0x1E7A79C8, (void *)ql_tts_get_speed}, /*[ 10]*/{0xEEF9277A, (void *)ql_tts_digit_mode}, /*[ 11]*/{0xBCAC3D8C, (void *)ql_get_tts_digit_mode}, /*[ 12]*/{0x26FF28C2 (void *)ql_tts_set_language}, /*[ 13]*/{0xDF3AB48E (void *)ql_tts_get_language}, #ifdef QL_SEPARATE_TTS /*[14]*/{0x8D50F6AE, (void *)ql_tts_separate_callback}, #endif /*[ 1]*/{0xC88764DA, (void *)ql_set_tts_file_name}, /*[ 2]*/{0x9E78E096, (void *)ql_get_tts_file_name}, /*[ 14]*/{0x154A1BD4, (void *)ql_set_tts_play_option}, /*[ 15]*/{0xE37C5658, (void *)ql_get_tts_play_option}, #endif #if 0 /*[ 0]*/{0x4C66F2E6, (void *)ql_get_audio_state}, /*[ 1]*/{0x03000E14, (void *)ql_set_volume}, /*[ 2]*/{0x24CFFC90, (void *)ql_get_volume}, /*[ 4]*/{0xAB704D0E, (void *)ql_set_audio_path_earphone}, /*[ 5]*/{0xAF712ADA, (void *)ql_set_audio_path_receiver}, /*[ 6]*/{0x1386E4CA, (void *)ql_codec_choose}, /*[ 7]*/{0x0A5E9F08, (void *)ql_audiohal_playpcm}, /*[ 8]*/{0xF2875BB8, (void *)ql_audiohal_playpcm_stop}, #ifdef QUEC_WAV_FUNC /*[ 9]*/{0xF58A2758, (void *)ql_wav_file_play}, /*[ 10]*/{0x3B4B8F94, (void *)ql_wav_file_stop}, #endif /*[ 11]*/{0x09BDA5DA, (void *)ql_audio_play_init}, /*[ 12]*/{0x084514A6, (void *)ql_aud_dtmf_play}, /*[ 13]*/{0xC773B1B4, (void *)ql_set_dtmf_volume}, /*[ 14]*/{0x6B0264DE, (void *)ql_set_codecdelay_cnt}, /*[ 15]*/{0x89A34594, (void *)ql_bind_speakerpa_cb}, /*[ 16]*/{0x7F3D99B4, (void *)ql_set_dsp_gain_table}, /*[ 17]*/{0xF46C869E, (void *)ql_set_txcodec_gain_table}, /*[ 18]*/{0x6617F108, (void *)ql_set_rxcodec_gain_table}, /*[ 23]*/{0xA67CE8B2, (void *)ql_aud_tone_play}, #ifdef QL_MP3_FUNC /*[ 19]*/{0x79120A86, (void *)ql_mp3_file_play}, /*[ 20]*/{0xEE3B5E28, (void *)ql_mp3_file_play2}, /*[ 21]*/{0xAA904502, (void *)ql_mp3_file_stop}, #endif #ifdef QL_AMR_FUNC /*[ 22]*/{0x4377D52A, (void *)ql_amr_file_play}, /*[ 23]*/{0xA8851234, (void *)ql_amr_file_play2}, /*[ 24]*/{0xC4A988B6, (void *)ql_amr_file_stop}, #endif #endif #endif /* audio deniose */ #ifdef QL_AUDIO_DENOISE #ifdef QUEC_AUDIO_DENOISE /*[ 8]*/{0xFD1E5CF6, (void *)ql_denoise_licenses_verify}, /*[ 9]*/{0x967BCAFC, (void *)ql_set_denoise_flag}, /*[ 10]*/{0x937CE268, (void *)ql_get_denoise_flag}, /*[ 11]*/{0x889DCFCA, (void *)ql_denoise_get_version}, /*[ 11]*/{0x6321F70A, (void *)ql_denoise_mute_time}, /*[ 12]*/{0x7F44733E, (void *)ql_denoise_get_dev_info}, /*[ 13]*/{0xD9FFBDF6, (void *)ql_denoise_save_info_from_app}, #endif #endif /************************************************************************************************ * lcd *************************************************************************************************/ #ifdef QL_LCD /*[ 1]*/{0x38630058, (void *)ql_lcd_init}, /*[ 2]*/{0x30820D1C, (void *)ql_lcd_write_sync}, /*[ 3]*/{0xAE0D6C5C, (void *)ql_lcd_clear_screen}, /*[ 4]*/{0xC83C0EE6, (void *)ql_lcd_display_on}, /*[ 5]*/{0x295573DC, (void *)ql_lcd_display_off}, /*[ 6]*/{0x2F49264C, (void *)ql_spi_lcd_write_cmd}, /*[ 7]*/{0xBE5C53CA, (void *)ql_spi_lcd_write_data}, /*[ 8]*/{0x78D29074, (void *)ql_lcd_wakeup}, /*[ 9]*/{0x2742D542, (void *)ql_lcd_updata_config}, /*[ 10]*/{0xEC6A3956, (void *)ql_lcd_read_id}, #endif /************************************************************************************************ * camera *************************************************************************************************/ #ifdef QL_CAMERA /*[1]*/{0x79F1C274, (void *)ql_qr_camera_open}, /*[2]*/{0x1E3AF672, (void *)ql_qr_camera_close}, /*[3]*/{0xAE237E22, (void *)Ql_Cam_Identify}, /*[4]*/{0x797C7BCE, (void *)ql_set_decode_mirror}, #endif /************************************************************************************************ * keypad *************************************************************************************************/ #ifdef QL_KEYPAD /*[ 1]*/{0x751C7EDA, (void *)ql_keypad_Register}, /*[ 2]*/{0x04B2049E, (void *)ql_keypad_MultikeyEn}, /*[ 3]*/{0x29D9AB22, (void *)ql_keypad_Config}, #endif #ifdef QL_PING /************************************************************************************************ * ping *************************************************************************************************/ /*[01]*/{0x618C6934, (void *)ql_ping_init}, /*[02]*/{0xB19C520A, (void *)ql_ping}, /*[03]*/{0x31B89BE6, (void *)ql_ping_deinit}, #endif #ifdef QL_NTP /************************************************************************************************ * NTP service api *************************************************************************************************/ /*[ 1]*/{0xCC3B5334, (void *)ql_ntp_sync}, /*[ 2]*/{0xD32E5650, (void *)ql_ntp_set_server}, /*[ 3]*/{0x5EFAE88C, (void *)ql_ntp_set_cid}, /*[ 4]*/{0x7007C326, (void *)ql_ntp_sync_ex}, #endif /************************************************************************************************ * gnss *************************************************************************************************/ #ifdef QL_GNSS /*[ 1]*/{0xD15CF0D8, (void *)ql_gnss_open}, /*[ 2]*/{0xE93EC1EE, (void *)ql_gnss_close}, /*[ 3]*/{0x3529A72E, (void *)ql_gnss_cfgsys_set}, /*[ 4]*/{0xF5A6FBFA, (void *)ql_gnss_cfgmsg_set}, /*[ 5]*/{0x75D387B4, (void *)ql_gnss_agps_cfg}, /*[ 6]*/{0xC0783130, (void *)ql_gnss_apflash_cfg}, /*[ 7]*/{0x462A201C, (void *)ql_gnss_reset_type_set}, /*[ 8]*/{0xDBE6FCC0, (void *)ql_gnss_get_location}, /*[ 9]*/{0x51B20D2C, (void *)ql_get_agps_sate_num}, /*[ 10]*/{0xCDA477C4, (void *)ql_set_agps_file}, /*[ 11]*/{0x4E5B86C0, (void *)ql_send_agps_to_gps}, /*[ 11]*/{0x7FF4FC26, (void *)ql_set_gnss_nmea_mode}, /*[ 12]*/{0x84842144, (void *)ql_monitor_param_print}, /*[ 13]*/{0x7E2C072C, (void *)ql_gnss_aidpos_inject}, /*[ 14]*/{0xBB5DA85E, (void *)ql_hx_bckp_set}, /*[ 15]*/{0x772FEF08, (void *)ql_gnss_agps_param_cfg}, /*[ 16]*/{0x32C9BF2C, (void *)ql_gnss_ntp_url_cfg}, /*[ 17]*/{0x993009A0, (void *)ql_gnss_reg_user_cb}, #endif /************************************************************************************************ * I2C *************************************************************************************************/ /*[ 1]*/{0x3E58677C, (void *)ql_i2c_init}, /*[ 2]*/{0x83598064, (void *)ql_i2c_write}, /*[ 3]*/{0x3F0B5370, (void *)ql_i2c_read}, ///*[ 4]*/{0x5E3FD9EC, (void *)ql_i2c_read_with_delay}, /*[ 5]*/{0xDC162AA2, (void *)ql_i2c_write_ext}, /*[ 6]*/{0x11D68C5E, (void *)ql_i2c_read_ext}, /************************************************************************************************ * QSPI--Norflash--INTERNAL_NORFLASH *************************************************************************************************/ /*[ 1]*/{0x8D121928, (void *)ql_norflash_get_addr}, /*[ 2]*/{0xB89449B0, (void *)ql_norflash_do_read}, /*[ 3]*/{0xA4F71C24, (void *)ql_norflash_do_write}, /*[ 4]*/{0xD4BC796E, (void *)ql_norflash_do_erase}, /*[ 5]*/{0xFADA16CE, (void *)ql_norflash_read_id}, #if defined(QUEC_DUAL_SIM_SUPPORT) || defined(QL_PS_SINGLE_PHYSICAL_DUAL_SIM_SUPPORT) || defined(QUEC_DUAL_SINGLE_PS_SUPPORT) /*[1]*/{0xF6F2CACE, (void *)ql_sim_get_cur_SimId}, /*[2]*/{0xF861B58C, (void *)ql_sim_switch_card}, #if defined(QUEC_DUAL_SIM_SUPPORT) || defined(QL_PS_SINGLE_PHYSICAL_DUAL_SIM_SUPPORT) /*[3]*/{0x048F6CDE, (void *)ql_sim_switch_card_ex}, /*[4]*/{0x4F527F82, (void *)ql_sim_get_simcard_info}, #endif #if defined(QUEC_DUAL_SIM_SUPPORT) /*[1]*/{0xE54851BE, (void *)ql_set_dual_sim_single_imei}, #endif #endif #ifdef VOLTE_ENABLE /************************************************************************************************ * voice call api ************************************************************************************************/ /*[ 1]*/{0xD4C829A4, (void *)ql_voice_auto_answer}, /*[ 2]*/{0x6D656432, (void *)ql_voice_call_start}, /*[ 3]*/{0x5AAF4E3A, (void *)ql_voice_call_answer}, /*[ 4]*/{0xD9436BDE, (void *)ql_voice_call_end}, /*[ 5]*/{0x01191A02, (void *)ql_voice_call_start_dtmf}, /*[ 6]*/{0x604B2F8E, (void *)ql_voice_call_wait}, /*[ 7]*/{0x19F14956, (void *)ql_voice_call_fw_set}, /*[ 8]*/{0x5F25D8EC, (void *)ql_voice_call_add_event_handler}, ///*[ 9]*/{0x3E17C8D2, (void *)ql_voice_call_hold}, #endif #ifndef REMOVE_SMS /**/ /*[ 1]*/{0x91D9ED34, (void *)ql_set_sms_msg_mode}, /*[ 2]*/{0x0BE79CA8, (void *)ql_set_sms_code_mode}, /*[ 3]*/{0xD6A81ED0, (void *)ql_sms_send_text_msg}, /*[ 4]*/{0x541CB984, (void *)ql_sms_send_pdu_msg}, /*[ 5]*/{0x1333A454, (void *)ql_sms_delete_msg}, /*[ 6]*/{0x91290244, (void *)ql_get_sms_center_address}, /*[ 7]*/{0xB4704808, (void *)ql_set_sms_center_address}, /*[ 8]*/{0x3B507D7A, (void *)ql_set_sms_save_location}, /*[ 9]*/{0xF1364570, (void *)ql_set_sms_recive_dealmode}, /*[10]*/{0x1CA45958, (void *)ql_search_sms_text_message}, /*[11]*/{0xA0EA4C9C, (void *)ql_search_sms_pdu_message}, /*[12]*/{0x08328FDA, (void *)ql_sms_add_event_handler}, /*[13]*/{0x5C01C4C0, (void *)ql_get_sms_index}, /*[14]*/{0xFB54BB8E, (void *)ql_sms_send_pdu}, /*[ 1]*/{0x7D7EB4FA, (void *)ql_set_sms_center_address_ex}, /*[ 1]*/{0x21D7B174, (void *)ql_pdu_decode}, /*[ 1]*/{0x6EC1C8C6, (void *)ql_sms_delete_msg_ex}, /*[ 1]*/{0xF3BE7540, (void *)ql_get_sms_msg_mode}, /*[ 2]*/{0x217FCC84, (void *)ql_get_sms_code_mode}, /*[ 3]*/{0xFB2B35BC, (void *)ql_get_sms_save_location_and_nums}, #endif #ifdef QUEC_BT_PRODUCIBILITY /************************************************************************************************ * BT *************************************************************************************************/ //OLD /*[ 1]*/{0x1D3E22C4, (void *)ql_bt_open}, /*[ 2]*/{0xD7713B1C, (void *)ql_bt_unbond}, /*[ 3]*/{0x1255F6C0, (void *)ql_bt_update_device_record}, /*[ 4]*/{0xC810C3FA, (void *)ql_bt_inquiry}, /*[ 5]*/{0x836293EC, (void *)ql_read_rssi}, /*[ 6]*/{0x77604E28, (void *)ql_get_bt_connect_status}, /*[ 27]*/{0x123B9DE6, (void *)ql_get_scan_bt_status}, /*[ 8]*/{0xC69D2CB6, (void *)ql_get_bt_open_status}, /*[ 9]*/{0xE70CCE3E, (void *)ql_bt_get_open_status}, /*[ 31]*/{0xC92EE81C, (void *)ql_bt_sort_device_record}, /*[ 32]*/{0x22E49518, (void *)ql_bt_a2dp_connected_handler}, /*[ 35]*/{0x73F7234A, (void *)ql_bt_a2dp_disconnected_handler}, /*[ 13]*/{0x49D32438, (void *)ql_bt_handle_a2dp_rejected}, /*[ 14]*/{0xB4BCE65C, (void *)ql_bt_a2dp_headset_set_volume}, /*[ 40]*/{0xA0192C5C, (void *)ql_bt_a2dp_start_handler}, /*[ 42]*/{0x69A7104C, (void *)ql_bt_a2dp_remote_sbc_capabilities_handler}, /*[ 17]*/{0xFB763012, (void *)ql_bt_a2dp_send_sbc_data}, /*[ 18]*/{0x1C26A2AC, (void *)ql_bt_a2dp_SBC_test_send_message}, /*[ 19]*/{0x02DAF47C, (void *)ql_bt_send_bttask_command}, /*[ 20]*/{0x446BFE14, (void *)ql_bt_mgr_handler}, /*[ 21]*/{0x5142C594, (void *)ql_bt_free}, /*[ 22]*/{0xC8BF8E60, (void *)ql_bt_close_set}, /*[ 23]*/{0x4236F5CE, (void *)ql_bt_le_unregister_service}, /*[ 24]*/{0x54216686, (void *)ql_bt_le_set_gap_name}, /*[ 25]*/{0xC59D0024, (void *)ql_bt_le_set_ext_adv_enable}, /*[ 49]*/{0xB343890A, (void *)ql_bt_le_read_by_group_type_request}, /*[ 50]*/{0xE24A6E86, (void *)ql_bt_le_get_device_records}, /*[ 51]*/{0x14DEFFE8, (void *)ql_le_find_information_request}, /*[ 29]*/{0xD88B25B4, (void *)ql_le_disconnect_with_handle}, /*[ 53]*/{0x7E61A766, (void *)ql_ble_update_device_record}, /*[ 54]*/{0xC3BF4CCE, (void *)ql_bt_le_read_by_type_request}, /*[ 55]*/{0x3B71E16C, (void *)ql_bt_le_mtu_request}, /************************************************************************************************ * BT //COMMON *************************************************************************************************/ /*[ 1]*/{0x58C6C894, (void *)ql_bt_device_open}, /*[ 2]*/{0xD26E3882, (void *)ql_bt_close}, /*[ 3]*/{0x6A740B3A, (void *)ql_bt_set_bt_address}, /*[ 4]*/{0x8118C6C6, (void *)ql_bt_get_bt_address}, /*[ 5]*/{0x1628EDBE, (void *)ql_bt_set_visiable}, /*[ 6]*/{0xDB36D888, (void *)ql_bt_bonding}, /*[ 7]*/{0xB1FA479E, (void *)ql_bt_del_bond}, /*[ 8]*/{0x3183CDF0, (void *)ql_bt_accept_bonding}, /*[ 9]*/{0xA3615FA8, (void *)ql_bt_add_device_record}, /*[ 10]*/{0x6FA6BDFC, (void *)ql_bt_get_device_records}, /*[ 11]*/{0xB4B560FC, (void *)ql_bt_inquiry_ex}, /*[ 12]*/{0x09E42D98, (void *)ql_bt_inquiry_cancel}, /*[ 13]*/{0x69D710FE, (void *)ql_read_rssi_ex}, /*[ 14]*/{0xABD5B9D0, (void *)ql_bt_change_local_name}, /*[ 15]*/{0x2E98372A, (void *)ql_bt_pin_reply}, /*[ 16]*/{0xE0E51516, (void *)ql_bt_pin_negative_reply}, /*[ 17]*/{0xCDF7038A, (void *)ql_bt_set_sniff_mode}, /*[ 18]*/{0x11075754, (void *)ql_bt_bt_dut}, /*[ 72]*/{0x0B2CF450, (void *)ql_bt_acl_connect}, /*[ 73]*/{0x54D7A922, (void *)ql_bt_acl_disconnect}, /*[ 21]*/{0x9251130A, (void *)ql_bt_cancel_acl_connect}, /************************************************************************************************ * BT //HEADSET *************************************************************************************************/ /*[ 1]*/{0x45E0B5C6, (void *)ql_bt_a2dp_connect}, /*[ 2]*/{0x8A755CA8, (void *)ql_bt_a2dp_disconnect}, /*[ 3]*/{0xB648893C, (void *)ql_bt_a2dp_send_start}, /*[ 4]*/{0x01811BBE, (void *)ql_bt_a2dp_send_suspend}, /*[ 5]*/{0xD0C8EA82, (void *)ql_bt_a2dp_send_pcm_data}, /*[ 6]*/{0x16D5E542, (void *)ql_bt_a2dp_set_volume}, /*[ 7]*/{0x618D279C, (void *)ql_bt_a2dp_headset_absolute_volume_enable}, /*[ 83]*/{0x633AC9E4, (void *)ql_bt_avrcp_connect}, /*[ 84]*/{0x561505DE, (void *)ql_bt_avrcp_disconnect}, /*[ 86]*/{0xF2A630F4, (void *)ql_bt_hfp_connect}, /*[ 87]*/{0x70EF538E, (void *)ql_bt_hfp_disconnect}, /*[ 12]*/{0xBF151AE8, (void *)ql_bt_hfp_accept_connection}, /*[ 89]*/{0x6BC0D4FC, (void *)ql_bt_hfp_reject_connection}, /*[ 90]*/{0x9543B676, (void *)ql_bt_hfp_update_callstatus}, /*[ 91]*/{0x88B165C8, (void *)ql_bt_hfp_update_phone_number}, /*[ 92]*/{0xB569E0CE, (void *)ql_bt_hfp_update_callhold}, /*[ 93]*/{0xE6856B28, (void *)ql_bt_hfp_callhold}, /*[ 94]*/{0xEBBDA310, (void *)ql_bt_hfp_voice_recogonition}, /*[ 95]*/{0x98B8638E, (void *)ql_bt_hfp_set_speaker_gain}, /*[ 20]*/{0xC2606BE0, (void *)ql_bt_hfp_atchld}, /*[ 21]*/{0x030A17D8, (void *)ql_bt_switch_voice_to_phone}, /*[ 22]*/{0xC9AEEB36, (void *)ql_bt_switch_voice_to_headset}, /*[ 96]*/{0x331CA0A8, (void *)ql_bt_hfp_set_microphone_gain}, /*[ 24]*/{0x5CDE002A, (void *)ql_bt_sco_connect}, /*[ 25]*/{0x948C173C, (void *)ql_bt_sco_disconnect}, /*[ 26]*/{0xEE8D46C0, (void *)ql_bt_connect_headset}, /*[ 27]*/{0x9F06F9DE, (void *)ql_bt_disconnect_headset}, /************************************************************************************************ * BT //HID *************************************************************************************************/ /*[ 1]*/{0xCBEB94B8, (void *)ql_bt_hid_connect}, /*[ 2]*/{0x1492530A, (void *)ql_bt_hid_disconnect}, /************************************************************************************************ * BT //SPP *************************************************************************************************/ /*[ 1]*/{0x83B4D58E, (void *)ql_bt_spp_connect}, /*[ 2]*/{0x81C34A40, (void *)ql_bt_spp_disconnect}, /*[ 3]*/{0x5841F218, (void *)ql_bt_spp_send_data}, /************************************************************************************************ * BT //OBEX *************************************************************************************************/ /*[ 1]*/{0x608CB39A, (void *)ql_bt_obex_connect}, /*[ 2]*/{0x0706AA4C, (void *)ql_bt_obex_disconnect}, /*[ 3]*/{0x47C3252C, (void *)ql_bt_obex_send_response}, /*[ 4]*/{0xF007F94A, (void *)ql_bt_obex_send_file}, /************************************************************************************************ * BT //BLE *************************************************************************************************/ /*[ 1]*/{0x32DBF034, (void *)ql_bt_le_connect}, /*[ 2]*/{0xD3728C4E, (void *)ql_bt_le_disconnect}, /*[ 3]*/{0xE7E82A82, (void *)ql_le_get_pair_info}, /*[ 4]*/{0x1774CC42, (void *)ql_le_remove_pair_info}, /*[ 5]*/{0x9D506AFE, (void *)ql_bt_le_set_white_list}, /*[ 6]*/{0x7C16C8FA, (void *)ql_bt_le_remove_white_list}, /*[ 7]*/{0x38034B36, (void *)ql_bt_le_clear_white_list}, /*[ 8]*/{0xCCAA3672, (void *)ql_bt_le_set_random_address}, /*[ 9]*/{0xAF0894F2, (void *)ql_le_set_adv_mode}, /*[ 10]*/{0xCAE5BB6A, (void *)ql_bt_le_set_adv_parameters}, /*[ 11]*/{0x8A5F8D36, (void *)ql_bt_le_create_adv_data}, /*[ 12]*/{0xD0795CC8, (void *)ql_bt_le_set_adv_data}, /*[ 13]*/{0x17D075EA, (void *)ql_le_set_scan_response_data}, /*[ 14]*/{0x90DC0BD4, (void *)ql_bt_le_set_ext_adv_parameters}, /*[ 15]*/{0xFFAA2940, (void *)ql_bt_le_set_adv_set_random_address}, /*[ 16]*/{0x7602EDB2, (void *)ql_bt_le_set_ext_adv_data}, /*[ 17]*/{0xA8EC6DDA, (void *)ql_bt_le_set_ext_scan_response}, /*[ 18]*/{0xE4FFBAFE, (void *)ql_bt_le_set_adv_enable}, /*[ 19]*/{0x7AFF1B08, (void *)ql_ble_set_adv_cfg_enable}, /*[ 20]*/{0xCC291F20, (void *)ql_bt_le_set_pair_enable}, /*[ 21]*/{0x130562CE, (void *)ql_bt_le_set_default_phy}, /*[ 22]*/{0xF2FDEAA8, (void *)ql_bt_le_register_att_service}, /*[ 23]*/{0xCC946014, (void *)ql_le_send_service_change}, /*[ 24]*/{0x63BD02F4, (void *)ql_appbt_le_notify}, /*[ 25]*/{0x1A91DB12, (void *)ql_appbt_le_indicate}, /*[ 26]*/{0xEA905582, (void *)ql_le_custom_mtu_request}, /*[ 27]*/{0xBC81F0E2, (void *)ql_bt_le_scan_stop}, /*[ 28]*/{0xEECB2E6E, (void *)ql_bt_le_scan}, /*[ 29]*/{0x9C2DA728, (void *)ql_bt_le_scan_with_filter}, /*[ 30]*/{0xD107D70E, (void *)ql_le_custom_gatt_scan_start}, /*[ 31]*/{0x76CFB4CA, (void *)ql_le_custom_write_command}, /*[ 32]*/{0xFEFE3DF0, (void *)ql_le_custom_write_request}, /*[ 33]*/{0x2E737178, (void *)ql_le_custom_read_request}, /*[ 34]*/{0x7FAEA68C, (void *)ql_le_custom_connection_parameter_update_request}, /************************************************************************************************ * BT //DRIVER *************************************************************************************************/ /*[ 1]*/{0xEA6E09D2, (void *)ql_bt_register_event_handler}, /*[ 2]*/{0x30988762, (void *)ql_bt_unregister_event_handler}, /*[ 3]*/{0xC056FAFC, (void *)ql_bt_get_event_handler_cb}, #endif #ifdef QL_NAND_YAFFS /*[15]*/{0xA12C908A, (void *)ql_nand_fopen}, /*[16]*/{0x5077E310, (void *)ql_nand_fclose}, /*[17]*/{0xF4936E14, (void *)ql_nand_fread}, /*[18]*/{0x23A6F590, (void *)ql_nand_fwrite}, /*[19]*/{0x195EE09A, (void *)ql_nand_fseek}, /*[20]*/{0xBE179778, (void *)ql_nand_fremove}, /*[21]*/{0xFF7C09BA, (void *)ql_nand_frename}, /*[22]*/{0xC5E30FE4, (void *)ql_nand_fsize}, /*[23]*/{0x1E9C36C6, (void *)ql_nand_mkdir}, /*[24]*/{0x1D34B818, (void *)ql_nand_access}, /*[25]*/{0x0B703784, (void *)ql_nand_get_free_size}, /*[26]*/{0xDFF47F80, (void *)ql_nand_format}, /*[27]*/{0xDD91734, (void *)ql_spi_nand_init}, /*[28]*/{0x2A79192, (void *)ql_nand_removedir}, /*[29]*/{0x6814E202, (void *)ql_nand_closedir}, /*[30]*/{0x26E61DA , (void *)ql_nand_readddir}, /*[31]*/{0xD0103DE0 , (void *)ql_nand_opendir}, /*[32]*/{0x3263B33A , (void *)ql_nand_lstat}, /*[33]*/{0x12B37820 , (void *)ql_nand_lseek}, /*[34]*/{0xDC61E364 , (void *)ql_nand_ftell}, /*[35]*/{0x85ADC424 , (void *)ql_nand_fgetc}, /*[36]*/{0x826C17F4 , (void *)ql_nand_fgets}, /*[37]*/{0xDE2B03F2 , (void *)ql_nand_fsync}, /*[38]*/{0x5D06D9E , (void *)ql_nand_feof}, /*[39]*/{0x9990DC6E , (void *)ql_nand_frewind}, /*[40]*/{0xA157B608 , (void *)ql_nand_yaffs_sync}, /*[41]*/{0x3E286456 , (void *)ql_nand_get_total_size}, /*[42]*/{0xAE18BDF4 , (void *)ql_nand_get_used_size}, /*[43]*/{0xA3A538A0 , (void *)ql_nand_fdsize}, /*[44]*/{0x88C9AEF6 , (void *)ql_nand_get_fmountstatus}, /*[45]*/{0x21F72B16 , (void *)ql_spi_nand_flash_get_hw_info}, /*[46]*/{0x86E3DA54 , (void *)ql_spi_nand_flash_get_block_num}, /*[47]*/{0x772C976A , (void *)ql_spi_nand_flash_open}, /*[48]*/{0xC1E58B70 , (void *)ql_spi_nand_flash_close}, /*[49]*/{0x1468ACF4 , (void *)ql_spi_nand_flash_read}, /*[50]*/{0x1DDF9630 , (void *)ql_spi_nand_flash_write}, /*[51]*/{0x21F76042 , (void *)ql_spi_nand_flash_erase}, /************************************************************************************************* * yaffs *************************************************************************************************/ /*[1]*/{0xE28F4C3C , (void *)ql_yaffs_start_up}, /*[2]*/{0xF82E4126 , (void *)ql_yaffs_create_dev}, /*[3]*/{0xFFA11320 , (void *)ql_yaffs_mount}, /*[4]*/{0x5B0A2BE4 , (void *)ql_yaffs_unmount}, /*[5]*/{0xA9E25CCE , (void *)ql_yaffs_open}, /*[6]*/{0x610CEC04 , (void *)ql_yaffs_close}, /*[7]*/{0xA70E9038 , (void *)ql_yaffs_read}, /*[8]*/{0x24B3AB5C , (void *)ql_yaffs_write}, /*[9]*/{0x33C8D172 , (void *)ql_yaffs_lseek}, /*[10]*/{0x50D9B6FE , (void *)ql_yaffs_unlink}, /*[11]*/{0x77B4EEFA , (void *)ql_yaffs_fsize}, /*[12]*/{0xF883CD7E , (void *)ql_yaffs_rename}, /*[13]*/{0x1AA739C , (void *)ql_yaffs_mkdir}, /*[14]*/{0x4BC0BED6 , (void *)ql_yaffs_opendir}, /*[15]*/{0x3DEA7F8 , (void *)ql_yaffs_closedir}, /*[16]*/{0x411CB61A , (void *)ql_yaffs_rmdir}, /*[17]*/{0x1159BEA , (void *)ql_yaffs_access}, /*[18]*/{0xE498967E , (void *)ql_yaffs_freespace}, /*[19]*/{0x85804928 , (void *)ql_yaffs_fsync}, /*[20]*/{0x59835EC6 , (void *)ql_yaffs_sync}, /*[21]*/{0xD758D016 , (void *)ql_yaffs_format}, /*[22]*/{0x78A25B32 , (void *)ql_yaffs_ftell}, /*[23]*/{0xCAB513A , (void *)ql_yaffs_fgetc}, /*[24]*/{0xD59FACA , (void *)ql_yaffs_fgets}, /*[25]*/{0xF37E2630 , (void *)ql_yaffs_feof}, /*[26]*/{0x5557FA2C , (void *)ql_yaffs_frewind}, /*[27]*/{0x746E35E8 , (void *)ql_yaffs_readddir}, /*[28]*/{0x208AE2BC , (void *)ql_yaffs_lstat}, /*[29]*/{0x8FA4DD14 , (void *)ql_yaffsfs_getlasterror}, #endif #ifdef MV_USB2_HID_SUPPORT /*[ 1]*/{0x1A776E94, (void *)ql_usb_hid_send_data}, /*[ 2]*/{0x4E587240, (void *)ql_usb_device_get_hid_dtd_cnt}, /*[ 3]*/{0x0BC31670, (void *)ql_usb_device_free_hid_dtd}, /*[ 4]*/{0xFB0E1CBA, (void *)ql_usb_enable_hid}, #endif }; u16 ql_user_api_table_size = 0; void ql_user_api_table_init(void) { ql_user_api_table_size = sizeof(vUserAPITable)/sizeof(vUserAPITable[0]); }