/*================================================================ Copyright (c) 2018 Quectel Wireless Solution, Co., Ltd. All Rights Reserved. Quectel Wireless Solution Proprietary and Confidential. =================================================================*/ #ifndef QUEC_ATCMD_GENERAL_H #define QUEC_ATCMD_GENERAL_H #include "quec_cust_feature.h" #include "teldef.h" #include #include #include #include #include #include #include #include "ci_ps.h" #include "telatci.h" #include "utlAtParser.h" #include "utlTypes.h" #ifdef QUEC_BLACK_CELL_SUPPORT #include "ci_dev.h" #endif #define QUEC_AT_QPOWD_CMD_VAL_MIN 0 #define QUEC_AT_QPOWD_CMD_VAL_MAX 1 #define QUEC_AT_QPOWD_CMD_VAL_DEFAULT 1 typedef enum { QUEC_AUTO = 0, /**< AUTO */ QUEC_GSM , /**< GSM */ QUEC_WCDMA, /**< WCDMA */ QUEC_LTE, /**< LTE */ QUEC_UMTS=5 /**< UMTS */ //connor 2018/11/19 add UMTS support } QUEC_NWSCANMODE; typedef enum { QUEC_SEQ_AUTO = QUEC_AUTO, QUEC_SEQ_G =QUEC_GSM , QUEC_SEQ_W =QUEC_WCDMA, QUEC_SEQ_L =QUEC_LTE, QUEC_SEQ_G_W_L, QUEC_SEQ_W_G_L, //5 QUEC_SEQ_L_W, QUEC_SEQ_L_G, QUEC_SEQ_W_L, //8 QUEC_SEQ_W_G, QUEC_SEQ_G_L, QUEC_SEQ_G_W, //11 QUEC_SEQ_L_W_G, //lte first QUEC_SEQ_MAX } QUEC_NWSCANSEQ; #define QUEC_BAND_GSM_900 0x01 //B8 #define QUEC_BAND_GSM_1800 0x02 //B3 #define QUEC_BAND_GSM_850 0x04 //B5 #define QUEC_BAND_GSM_1900 0x08 //B2 #define QUEC_BAND_WCDMA_2100 0x10 //B1 #define QUEC_BAND_WCDMA_1900 0x20 //B2 #define QUEC_BAND_WCDMA_850 0x40 //B5 #define QUEC_BAND_WCDMA_900 0x80 //B8 #define QUEC_BAND_WCDMA_800 0x100 //B6 #define QUEC_BAND_WCDMA_1700 0x200 //B4 #define QUEC_BAND_LTE_BAND1 0x01 #define QUEC_BAND_LTE_BAND2 0x02 #define QUEC_BAND_LTE_BAND3 0x04 #define QUEC_BAND_LTE_BAND4 0x08 #define QUEC_BAND_LTE_BAND5 0x10 #define QUEC_BAND_LTE_BAND7 0x40 #define QUEC_BAND_LTE_BAND8 0x80 #define QUEC_BAND_LTE_BAND12 0x800 #define QUEC_BAND_LTE_BAND13 0x1000 #define QUEC_BAND_LTE_BAND14 0x2000 #define QUEC_BAND_LTE_BAND18 0x20000 #define QUEC_BAND_LTE_BAND19 0x40000 #define QUEC_BAND_LTE_BAND17 0x10000 #define QUEC_BAND_LTE_BAND20 0x80000 #define QUEC_BAND_LTE_BAND25 0x1000000 #define QUEC_BAND_LTE_BAND26 0x2000000 #define QUEC_BAND_LTE_BAND28 0x8000000 //add band 28 #define QUEC_BAND_LTE_BAND31 0x40000000 //add band 31 #define QUEC_BAND_LTE_BAND33 0x100000000 //add band 33 #define QUEC_BAND_LTE_BAND34 0x200000000 //add band 34 #define QUEC_BAND_LTE_BAND38 0x2000000000 #define QUEC_BAND_LTE_BAND39 0x4000000000 #define QUEC_BAND_LTE_BAND40 0x8000000000 #define QUEC_BAND_LTE_BAND41 0x10000000000 #define QUEC_BAND_LTE_BAND65 0x1 #define QUEC_BAND_LTE_BAND66 0x2 #define QUEC_BAND_LTE_BAND71 0x40 #define QUEC_BAND_LTE_BAND72 0x80 #define ASR_BAND_PGSM_900 0x01 #define ASR_BAND_GSM_1800 0x02 #define ASR_BAND_GSM_1900 0x04 #define ASR_BAND_EGSM_900 0x08 #define ASR_BAND_GSM_450 0x10 #define ASR_BAND_GSM_480 0x20 #define ASR_BAND_GSM_850 0x40 #define ASR_BAND_GSM_LOOK_BIT 0x200 #define ASR_BAND_UMTS_BAND1 0x01 #define ASR_BAND_UMTS_BAND2 0x02 #define ASR_BAND_UMTS_BAND3 0x04 #define ASR_BAND_UMTS_BAND4 0x08 #define ASR_BAND_UMTS_BAND5 0x10 #define ASR_BAND_UMTS_BAND6 0x20 #define ASR_BAND_UMTS_BAND7 0x40 #define ASR_BAND_UMTS_BAND8 0x80 #define ASR_BAND_UMTS_BAND9 0x100 #define ASR_BAND_LTE_BAND1 0x01 #define ASR_BAND_LTE_BAND3 0x04 #define ASR_BAND_LTE_BAND4 0x08 #define ASR_BAND_LTE_BAND5 0x10 #define ASR_BAND_LTE_BAND7 0x40 #define ASR_BAND_LTE_BAND8 0x80 #define ASR_BAND_LTE_BAND17 0x10000 #define ASR_BAND_LTE_BAND20 0x80000 #define ASR_BAND_LTE_BAND28 0x8000000 //add band 28 #define ASR_BAND_LTE_BAND31 0x40000000 //add band 31 #define ASR_BAND_LTE_BAND33 0x01 // add asr band 33 #define ASR_BAND_LTE_BAND34 0x02 // add asr band 34 #define ASR_BAND_LTE_BAND38 0x20 #define ASR_BAND_LTE_BAND39 0x40 #define ASR_BAND_LTE_BAND40 0x80 #define ASR_BAND_LTE_BAND41 0x100 #define ASR_BAND_LTE_BAND65 0x1 #define ASR_BAND_LTE_BAND66 0x2 #define ASR_BAND_LTE_BAND72 0x80 typedef enum { QCFG_GPRSATTACH_GET=0, QCFG_GPRSATTACH_SET, QCFG_SERVICEDOMIAN_GET, QCFG_SERVICEDOMIAN_SET, QCFG_ROAMSERVICE_GET, QCFG_ROAMSERVICE_SET, QCFG_NWSCANMODEEX_GET, QCFG_NWSCANMODEEX_SET, QCFG_NWSCANMODE_GET, QCFG_NWSCANMODE_SET, QCFG_NWSCANSEQ_GET, QCFG_NWSCANSEQ_SET, QCFG_BAND_GET, QCFG_BAND_SET, COPS_AUTO, COPS_MANUAL, } Qcfg_Cmd_Type; #if defined (__QUECTEL_PROJECT_EC600MCN_LC__) || defined (__QUECTEL_PROJECT_EC600MCN_CC__)|| defined (__QUECTEL_PROJECT_EC600MCN_GC__)\ || defined (__QUECTEL_PROJECT_EC600MCN_LA__) || defined (__QUECTEL_PROJECT_EC600MCN_LF__)|| defined (__QUECTEL_PROJECT_EC600MCN_LE__)\ || defined (__QUECTEL_PROJECT_EC800MCN_LA__) || defined (__QUECTEL_PROJECT_EC800MCN_LC__) || defined (__QUECTEL_PROJECT_EC800MCN_LF__)|| defined (__QUECTEL_PROJECT_EC800MCN_LE__)\ || defined (__QUECTEL_PROJECT_EC800MCN_GA__) || defined (__QUECTEL_PROJECT_EC800MCN_GC__)|| defined (__QUECTEL_PROJECT_EG810MCN_GA__)|| defined (__QUECTEL_PROJECT_EC800MCN_GD__) \ || defined (__QUECTEL_PROJECT_EC200MCN_LA__) || defined (__QUECTEL_PROJECT_EC200MCN_LC__)|| defined (__QUECTEL_PROJECT_EC200MCN_GB__)|| defined (__QUECTEL_PROJECT_EC800MCN_CC__) \ || defined (__QUECTEL_PROJECT_EC600KCN_CC__) || defined (__QUECTEL_PROJECT_EG800KCN_GC__)|| defined (__QUECTEL_PROJECT_EC600KCN_LC__)\ || defined (__QUECTEL_PROJECT_EC800KCN_LC__) || defined (__QUECTEL_PROJECT_EC800KCN_CC__)|| defined (__QUECTEL_PROJECT_EG800PCN_LA__)\ || defined (__QUECTEL_PROJECT_EC800KCN_LK__) || defined (__QUECTEL_PROJECT_EC800KCN_CK__)|| defined (__QUECTEL_PROJECT_EC600KCN_CK__)\ || defined (__QUECTEL_PROJECT_EC600KCN_LK__)|| defined (__QUECTEL_PROJECT_EC200MCN_LF__) || defined (__QUECTEL_PROJECT_EG810MCN_LC__)\ || defined (__QUECTEL_PROJECT_EG800AKCN_91LC__)||defined (__QUECTEL_PROJECT_EG800WCN_11LG__) || defined (__QUECTEL_PROJECT_EG800AKCN_90LC__)\ ||defined (__QUECTEL_PROJECT_EG800AKCN_11LG__) ||defined (__QUECTEL_PROJECT_EG600AKCN_90LC__)|| defined (__QUECTEL_PROJECT_EG600AKCN_91LC__)\ ||defined (__QUECTEL_PROJECT_EG600AKCN_00LC__)|| defined (__QUECTEL_PROJECT_EG600AKCN_11LC__)||defined (__QUECTEL_PROJECT_EG800AKCN_11LN__)\ || defined (__QUECTEL_PROJECT_EG600AKCN_11LG__) #define QUEC_LTE_BAND_FDD_VALUE (QUEC_BAND_LTE_BAND1|QUEC_BAND_LTE_BAND3|QUEC_BAND_LTE_BAND5|QUEC_BAND_LTE_BAND8) //band 1 3 5 8 #define QUEC_LTE_BAND_TDD_VALUE (QUEC_BAND_LTE_BAND34|QUEC_BAND_LTE_BAND38|QUEC_BAND_LTE_BAND39|QUEC_BAND_LTE_BAND40|QUEC_BAND_LTE_BAND41) //band 34 38 39 40 41 #elif defined (__QUECTEL_PROJECT_EC600MCN_MC__) || defined (__QUECTEL_PROJECT_EC800KCN_MD__) #define QUEC_LTE_BAND_FDD_VALUE (QUEC_BAND_LTE_BAND3|QUEC_BAND_LTE_BAND8) //band 3 8 #define QUEC_LTE_BAND_TDD_VALUE (QUEC_BAND_LTE_BAND34|QUEC_BAND_LTE_BAND38|QUEC_BAND_LTE_BAND39|QUEC_BAND_LTE_BAND40|QUEC_BAND_LTE_BAND41) //band 34 38 39 40 41 #elif defined (__QUECTEL_PROJECT_EC800MCN_GM__)||defined (__QUECTEL_PROJECT_EC800MCN_NC__) #define QUEC_LTE_BAND_TDD_VALUE (QUEC_BAND_LTE_BAND34|QUEC_BAND_LTE_BAND38|QUEC_BAND_LTE_BAND39|QUEC_BAND_LTE_BAND40|QUEC_BAND_LTE_BAND41) //band 34 38 39 40 41 #elif defined (__QUECTEL_PROJECT_EG915NEA_AK__) #define QUEC_LTE_BAND_FDD_VALUE (QUEC_BAND_LTE_BAND1|QUEC_BAND_LTE_BAND3|QUEC_BAND_LTE_BAND5|QUEC_BAND_LTE_BAND7|QUEC_BAND_LTE_BAND8|QUEC_BAND_LTE_BAND20|QUEC_BAND_LTE_BAND28) //band 1 3 5 7 8 20 28 #define QUEC_LTE_BAND_TDD_VALUE (QUEC_BAND_LTE_BAND38|QUEC_BAND_LTE_BAND40|QUEC_BAND_LTE_BAND41) //band 38 40 41 #define QUEC_GSM_BAND_VALUE (QUEC_BAND_GSM_900|QUEC_BAND_GSM_1800) //band 3 8 #elif defined (__QUECTEL_PROJECT_EG915NLA_AK__) || defined (__QUECTEL_PROJECT_EG915NLA_GK__) #define QUEC_LTE_BAND_FDD_VALUE (QUEC_BAND_LTE_BAND2|QUEC_BAND_LTE_BAND3|QUEC_BAND_LTE_BAND4|QUEC_BAND_LTE_BAND5|QUEC_BAND_LTE_BAND7|QUEC_BAND_LTE_BAND8|QUEC_BAND_LTE_BAND28) //band 2 3 4 5 7 8 28 #define QUEC_LTE_BAND_VALUE_EXT (QUEC_BAND_LTE_BAND66) //band 66 #define QUEC_LTE_BAND_TDD_VALUE (QUEC_BAND_LTE_BAND40) //band 40 #define QUEC_GSM_BAND_VALUE (QUEC_BAND_GSM_1900|QUEC_BAND_GSM_1800|QUEC_BAND_GSM_850|QUEC_BAND_GSM_900) //band 2 3 5 8 #elif defined (__QUECTEL_PROJECT_EC800MCN_MC__) || defined (__QUECTEL_PROJECT_EC600KCN_MC__) || defined (__QUECTEL_PROJECT_EC800KCN_MC__) #define QUEC_LTE_BAND_FDD_VALUE (QUEC_BAND_LTE_BAND3|QUEC_BAND_LTE_BAND8) //band 3 8 #define QUEC_LTE_BAND_TDD_VALUE (QUEC_BAND_LTE_BAND34|QUEC_BAND_LTE_BAND39|QUEC_BAND_LTE_BAND40|QUEC_BAND_LTE_BAND41) //band 34 39 40 41 #elif defined (__QUECTEL_PROJECT_EG800KEU_CC__) || defined (__QUECTEL_PROJECT_EG810MEU_LA__) || defined (__QUECTEL_PROJECT_EG810MEU_LC__) || defined (__QUECTEL_PROJECT_EG800KEU_LC__)\ || defined (__QUECTEL_PROJECT_EG800AKEU_11LC__)|| defined (__QUECTEL_PROJECT_EG800AKEU_11LG__) || defined (__QUECTEL_PROJECT_EG800AKEU_00LC__) #define QUEC_LTE_BAND_FDD_VALUE (QUEC_BAND_LTE_BAND1|QUEC_BAND_LTE_BAND3|QUEC_BAND_LTE_BAND5|QUEC_BAND_LTE_BAND7|QUEC_BAND_LTE_BAND8|QUEC_BAND_LTE_BAND20|QUEC_BAND_LTE_BAND28) //band 1 3 5 7 8 20 28 #elif defined (__QUECTEL_PROJECT_EC600MEU_LA__) || defined (__QUECTEL_PROJECT_EG915KEU_LA__) || defined (__QUECTEL_PROJECT_EG915KEU_LC__) || defined (__QUECTEL_PROJECT_EG915KEU_LG__) || defined (__QUECTEL_PROJECT_EG915KLA_LC__) #define QUEC_LTE_BAND_FDD_VALUE (QUEC_BAND_LTE_BAND1|QUEC_BAND_LTE_BAND3|QUEC_BAND_LTE_BAND5|QUEC_BAND_LTE_BAND7|QUEC_BAND_LTE_BAND8|QUEC_BAND_LTE_BAND20|QUEC_BAND_LTE_BAND28) //band 1 3 5 7 8 20 28 #define QUEC_LTE_BAND_TDD_VALUE (QUEC_BAND_LTE_BAND38|QUEC_BAND_LTE_BAND40|QUEC_BAND_LTE_BAND41) //band 38 40 41 #elif defined (__QUECTEL_PROJECT_EG915KLA_LG__) #define QUEC_LTE_BAND_FDD_VALUE (QUEC_BAND_LTE_BAND2|QUEC_BAND_LTE_BAND3|QUEC_BAND_LTE_BAND4|QUEC_BAND_LTE_BAND5|QUEC_BAND_LTE_BAND7|QUEC_BAND_LTE_BAND8|QUEC_BAND_LTE_BAND28) //band 2 3 4 5 7 8 28 #define QUEC_LTE_BAND_VALUE_EXT (QUEC_BAND_LTE_BAND66) //band 66 #elif defined (__QUECTEL_PROJECT_EG800KLA_CC__) || defined (__QUECTEL_PROJECT_EG810MLA_LC__) || defined (__QUECTEL_PROJECT_EG800KLA_LC__)|| defined (__QUECTEL_PROJECT_EC600MLA_LA__)\ || defined (__QUECTEL_PROJECT_EG800AKLA_11LC__) || defined (__QUECTEL_PROJECT_EG800AKLA_00LC__) || defined (__QUECTEL_PROJECT_EG800AKLA_11LG__) #define QUEC_LTE_BAND_FDD_VALUE (QUEC_BAND_LTE_BAND2|QUEC_BAND_LTE_BAND3|QUEC_BAND_LTE_BAND4|QUEC_BAND_LTE_BAND5|QUEC_BAND_LTE_BAND7|QUEC_BAND_LTE_BAND8|QUEC_BAND_LTE_BAND28) //band 2 3 4 5 7 8 28 #define QUEC_LTE_BAND_VALUE_EXT (QUEC_BAND_LTE_BAND66) //band 66 #elif defined (__QUECTEL_PROJECT_EG800AKGL_11LC__) #define QUEC_LTE_BAND_FDD_VALUE (QUEC_BAND_LTE_BAND1|QUEC_BAND_LTE_BAND2|QUEC_BAND_LTE_BAND3|QUEC_BAND_LTE_BAND4|QUEC_BAND_LTE_BAND5|QUEC_BAND_LTE_BAND7|QUEC_BAND_LTE_BAND8 \ |QUEC_BAND_LTE_BAND12|QUEC_BAND_LTE_BAND13|QUEC_BAND_LTE_BAND14|QUEC_BAND_LTE_BAND17|QUEC_BAND_LTE_BAND18|QUEC_BAND_LTE_BAND19|QUEC_BAND_LTE_BAND20|QUEC_BAND_LTE_BAND25 \ |QUEC_BAND_LTE_BAND26|QUEC_BAND_LTE_BAND28) //band 1, 2, 3, 4, 5, 7, 8, 12, 13, 14, 17, 18, 19, 20, 25, 26, 28 #define QUEC_LTE_BAND_VALUE_EXT (QUEC_BAND_LTE_BAND66|QUEC_BAND_LTE_BAND71) //band 66,71 #define QUEC_LTE_BAND_TDD_VALUE (QUEC_BAND_LTE_BAND34|QUEC_BAND_LTE_BAND38|QUEC_BAND_LTE_BAND39|QUEC_BAND_LTE_BAND40|QUEC_BAND_LTE_BAND41) //band 34 39 40 41 #elif defined (__QUECTEL_PROJECT_EG915KLA_LA__) #define QUEC_LTE_BAND_FDD_VALUE (QUEC_BAND_LTE_BAND2|QUEC_BAND_LTE_BAND3|QUEC_BAND_LTE_BAND4|QUEC_BAND_LTE_BAND5|QUEC_BAND_LTE_BAND7|QUEC_BAND_LTE_BAND8|QUEC_BAND_LTE_BAND28) //band 2 3 4 5 7 8 28 #define QUEC_LTE_BAND_VALUE_EXT (QUEC_BAND_LTE_BAND66) //band 66 #elif defined (__QUECTEL_PROJECT_EG915NLA_AF__) #define QUEC_LTE_BAND_FDD_VALUE (QUEC_BAND_LTE_BAND2|QUEC_BAND_LTE_BAND3|QUEC_BAND_LTE_BAND4|QUEC_BAND_LTE_BAND5|QUEC_BAND_LTE_BAND7|QUEC_BAND_LTE_BAND8|QUEC_BAND_LTE_BAND28) #define QUEC_LTE_BAND_VALUE_EXT (QUEC_BAND_LTE_BAND66) //band 6 #define QUEC_GSM_BAND_VALUE (QUEC_BAND_GSM_900|QUEC_BAND_GSM_1800|QUEC_BAND_GSM_850|QUEC_BAND_GSM_1900) //band 2/3/5/8 #elif defined (__QUECTEL_PROJECT_EG915NEA_AG__) || defined (__QUECTEL_PROJECT_EG915NEA_AC__) #define QUEC_LTE_BAND_FDD_VALUE (QUEC_BAND_LTE_BAND1|QUEC_BAND_LTE_BAND3|QUEC_BAND_LTE_BAND7|QUEC_BAND_LTE_BAND8|QUEC_BAND_LTE_BAND20|QUEC_BAND_LTE_BAND28) #define QUEC_GSM_BAND_VALUE (QUEC_BAND_GSM_900|QUEC_BAND_GSM_1800) //band 3 8 #elif defined (__QUECTEL_PROJECT_EC600NCN_AC__) #define QUEC_LTE_BAND_FDD_VALUE (QUEC_BAND_LTE_BAND1|QUEC_BAND_LTE_BAND3|QUEC_BAND_LTE_BAND5|QUEC_BAND_LTE_BAND8) //band 1 3 5 8 #define QUEC_LTE_BAND_TDD_VALUE (QUEC_BAND_LTE_BAND34|QUEC_BAND_LTE_BAND38|QUEC_BAND_LTE_BAND39|QUEC_BAND_LTE_BAND40|QUEC_BAND_LTE_BAND41) //band 34 38 39 40 41 #define QUEC_GSM_BAND_VALUE (QUEC_BAND_GSM_900|QUEC_BAND_GSM_1800) //band 3 8 #else #error "Please configure the project" #endif #ifdef QUECTEL_AT_QCFG_SUPPORT extern UINT8 qcfg_ltedftcid; #define QCFG_LTEDFTCID_DEFAULT 1 //CID=1 #endif typedef struct { char *name; RETURNCODE_T (*proc_func)( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p ); }quectel_common_cfg_cmd_type; #ifdef QUEC_AT_QDEBUGCFG_SUPPORT RETURNCODE_T quectel_exec_qdbgcfg_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p /* AT cmd parser number */ ); typedef struct { UINT8 opt_enable; UINT8 opt_bit_cfg; UINT8 opt_epsnsc_cfg; //6fe4 }quec_sim_write_opt_s; void quec_read_simcfg_param_from_nv(void); RETURNCODE_T quectel_exec_qdbgcfg_simcfg_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p /* AT cmd parser number */ ); RETURNCODE_T quectel_exec_qdbgcfg_iptrace_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p ); #endif RETURNCODE_T quectel_exec_qcfg_clat_cmd ( const utlAtParameterOp_T op, const char *command_name_p, const utlAtParameterValue_P2c parameter_values_p, const size_t num_parameters, const char *info_text_p, unsigned int *xid_p, void *arg_p ); #ifdef QUECTEL_AT_QCFG_SUPPORT RETURNCODE_T quectel_exec_qcfg_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p /* AT cmd parser number */ ); RETURNCODE_T quectel_exec_qcfg_band_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p ); #ifdef QUEC_AT_QCFG_PRECHECK_SUPPORT RETURNCODE_T quectel_exec_qcfg_precheck_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p ); #endif /* END QUEC_AT_QCFG_PRECHECK_SUPPORT */ #ifdef QUEC_AT_PMIC_RTC_CALIBRATE_SUPPOPT #define QUEC_PMIC_RTC_CALIBRATE_CFG_NV "pmic_rtc_calibrate_cfg" #define QUEC_PMIC_RTC_CALIBRATE_OFF 0 #define QUEC_PMIC_RTC_CALIBRATE_ON 1 RETURNCODE_T quectel_exec_qcfg_pmic_rtc_calibrate_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p /* AT cmd parser number */ ); #endif #endif /* END QUECTEL_AT_QCFG_SUPPORT */ RETURNCODE_T quec_exec_cversion_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p,/* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p /* AT cmd parser number */ ); RETURNCODE_T quec_exec_csub_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p,/* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p /* AT cmd parser number */ ); RETURNCODE_T quectel_exec_qget_heap_size_cmd ( const utlAtParameterOp_T op, const char *command_name_p, const utlAtParameterValue_P2c parameter_values_p, const size_t num_parameters, const char *info_text_p, unsigned int *xid_p, void *arg_p ); RETURNCODE_T quec_exec_qdumpcfg_cmd(const utlAtParameterOp_T op, const char *command_name_p, const utlAtParameterValue_P2c parameter_values_p, const size_t num_parameters, const char *info_text_p, unsigned int *xid_p, void *arg_p); RETURNCODE_T quec_exec_qpowd_cmd( const utlAtParameterOp_T op, const char *command_name_p, const utlAtParameterValue_P2c parameter_values_p, const size_t num_parameters, const char *info_text_p, unsigned int *xid_p, void *arg_p ); #ifdef QUEC_ASR_ATCMD_TAU_TYPE_SUPPORT typedef enum { QUEC_TAU_TYPE_MIN, QUEC_TAU_TYPE_COMBINED_TA_LA_UPDATING, //medcr 75=0 QUEC_TAU_TYPE_COMBINED_TA_LA_UPDATING_WITH_IMSI_ATTACH, //medcr 75=2 QUEC_TAU_TYPE_PERIODIC_UPDATING, //medcr 75=3 QUEC_TAU_TYPE_MAX }quec_tau_type_e; #endif /*ford.zhang-2020/07/28: fixed wifiscan pend 3m while having data transmission*/ #ifdef QUEC_USB_QWIFISCAN_SUPPORT void quec_local_release_enable_tau(void); void quec_local_release_without_tau(UINT32 atHandle); void quec_immediate_release_rrc(UINT32 atHandle); #endif #ifdef QUEC_BLACK_CELL_SUPPORT typedef int QuecOSStatus; #define QUEC_MAX_BLACK_CELL_NUM 10 #define QUEC_MAX_BLACK_CELL_LEN 128 #define QUEC_INVALID_AFRCN 0 #define QUEC_INVALID_CELLID 0 #define QUEC_BLACKCELL_ENABLE 1 #define QUEC_BLACKCELL_DISABLE 0 #define QUEC_BLACK_ELECTRIC_FENCE_EVENT_MAX_NUM 8 #define QUEC_BLACK_ELECTRIC_FENCE_CELL_MAX_NUM 10 #define QUEC_BLACK_ELECTRIC_FENCE_TIMER_MIN 300 #define QUEC_BLACK_ELECTRIC_FENCE_TIMER_MAX 86400 #define QUEC_BLACK_ELECTRIC_FENCE_TIMER_DEFAULT 1800 #define QUEC_BLACK_ELECTRIC_FENCE_PREVENTION_MODE_OFF 0 #define QUEC_BLACK_ELECTRIC_FENCE_PREVENTION_MODE_ON 1 #define QUEC_BLACK_ELECTRIC_FENCE_PREVENTION_TIMER_MIN 60 #define QUEC_BLACK_ELECTRIC_FENCE_PREVENTION_TIMER_MAX 3600 #define QUEC_BLACK_ELECTRIC_FENCE_PREVENTION_TIMER_DEFAULT 300 #define QUEC_BLACK_ELECTRIC_FENCE_CONTINUOUS_JUDGE 0 #define QUEC_BLACK_ELECTRIC_FENCE_ACCUMULATE_JUDGE 1 #define QUEC_BLACK_ELECTRIC_FENCE_REJECT_COUNT_MIN 1 #define QUEC_BLACK_ELECTRIC_FENCE_REJECT_COUNT_MAX 255 #define QUEC_BLACK_ELECTRIC_FENCE_REJECT_COUNT_DEFAULT 5 #define QUEC_BLACK_ELECTRIC_FENCE_ALGRAPH_LOOP_NUM_MIN 1 #define QUEC_BLACK_ELECTRIC_FENCE_ALGRAPH_LOOP_NUM_MAX 255 #define QUEC_BLACK_ELECTRIC_FENCE_ALGRAPH_LOOP_NUM_DEFAULT 3 #define QUEC_BLACK_ELECTRIC_FENCE_ALGRAPH_LOOP_CYCLE_MIN 300 #define QUEC_BLACK_ELECTRIC_FENCE_ALGRAPH_LOOP_CYCLE_MAX 32400 #define QUEC_BLACK_ELECTRIC_FENCE_ALGRAPH_LOOP_CYCLE_DEFAULT 600 #define QUEC_BLACK_ELECTRIC_FENCE_EVENT_MIN 0 #define QUEC_BLACK_ELECTRIC_FENCE_EVENT_MAX 7 #define QUEC_BLACK_ELECTRIC_FENCE_EVENT_DEFAULT 0 #define QUEC_BLACK_ELECTRIC_FENCE_EVENT_WEIGHT_MIN 0 #define QUEC_BLACK_ELECTRIC_FENCE_EVENT_WEIGHT_MAX 255 #define QUEC_BLACK_ELECTRIC_FENCE_EVENT_WEIGHT_DEFAULT 4 #define QUEC_BLACK_ELECTRIC_FENCE_LWIPCFG_OFF 0 #define QUEC_BLACK_ELECTRIC_FENCE_LWIPCFG_ON 1 #define QUEC_BLACK_ELECTRIC_FENCE_LWIPCFG_DEFAULT 0 #define QUEC_BLACK_ELECTRIC_FENCE_LWIPCFG_COUNT_MIN 1 #define QUEC_BLACK_ELECTRIC_FENCE_LWIPCFG_COUNT_MAX 255 #define QUEC_BLACK_ELECTRIC_FENCE_LWIPCFG_COUNT_DEFAULT 100 #define QUEC_BLACK_ELECTRIC_FENCE_LWIPCFG_CYCLE_MIN 60 #define QUEC_BLACK_ELECTRIC_FENCE_LWIPCFG_CYCLE_MAX 86400 #define QUEC_BLACK_ELECTRIC_FENCE_LWIPCFG_CYCLE_DEFAULT 600 #define QUEC_BLACK_ELECTRIC_FENCE_LWIPCFG_RETRYNUM_MIN 1 #define QUEC_BLACK_ELECTRIC_FENCE_LWIPCFG_RETRYNUM_MAX 255 #define QUEC_BLACK_ELECTRIC_FENCE_LWIPCFG_RETRYNUM_DEFAULT 3 #define QUEC_BLACK_ELECTRIC_FENCE_LWIPCFG_BLACKCELL_INVAILD 0 #define QUEC_BLACK_ELECTRIC_FENCE_LWIPCFG_BLACKCELL_VAILD 1 #define QUEC_BLACK_ELECTRIC_FENCE_LWIPCFG_BLACKCELL_DEFAULT 0 #define QUEC_BLACKE_EXTAND_CONFIG_OFF 0 #define QUEC_BLACKE_EXTAND_CONFIG_ON 1 #define QUEC_BLACKE_EXTAND_CONFIG_DEFAULT 1 #define QUEC_ELECTRIC_FENCE_CONFIG "quec_electric_fence_config" #define QUEC_BLACK_EXTAND_CONFIG "quec_blacke_extand_config" typedef enum { QUEC_BLACKCELL_REGISTER_SUCCESS = 0, QUEC_BLACKCELL_NETWORK_DROPOUT, QUEC_BLACKCELL_PREVENT_TIMEOUT }quec_blackcell_preventtimer_update_e_t; typedef enum { BLACKCELL_ATTACH_SUCCESS = 0, BLACKCELL_REGISTER_SERVICE_REJECT, // ATTACH/TAU/SERVICE/AUTHENTICATION REJECT BLACKCELL_REGISTER_TIMEOUT, // ATTACH/TAU TIMEOUT BLACKCELL_SERVICE_TIMEOUT // SERVICE TIMEOUT + RRC_CONN_SETUP_NOT_RECEIVED }quec_black_oneshoot_type_e_t; typedef enum { BLACKCELL_GSM = 0, BLACKCELL_WCDMA, BLACKCELL_LTE, BLACKCELL_MAX, }quec_rat_e_t; typedef enum { BLACKCELL_ADD = 0, BLACKCELL_DELETE, BLACKCELL_OP_MAX }quec_optype_e_t; typedef enum { NONE_OPERATE = 0x0, TIMER_EVENT = 0x01, CFUN_EVENT = 0x02, POWERDOWN_EVENT = 0x04, ALL_EVENT = 0xFF }quec_electric_fence_bitmask; typedef enum { FENCE_NAS_REJECT_EVENT = 0x0, FENCE_NAS_TIMEOUT_EVENT = 0x01, FENCE_NAS_SERVICE_NOT_RECEIVE = 0x02, FENCE_LWIP_NO_DOWNLINK = 0x03, FENCE_REGISTER_PING_PONG = 0x04, FENCE_ALL_EVENT = 0x07 }quec_electric_fence_blacksence; typedef enum { QUEC_BLACKWLIP_PING_SUCCESS = 0, QUEC_BLACKWLIP_PING_FAILD, QUEC_BLACKWLIP_PING_RESET, }quec_blacklwip_pingstatus_e_t; typedef enum { PREVENTMR_STA_NULL, PREVENTMR_STA_ENABLED, PREVENTMR_STA_DISABLED, PREVENTMR_STA_ERROR, } quec_preventtmr_sta_e; typedef struct { bool vaild; UINT8 rat; /*0: gsm; 1: wcdma; 2: lte */ UINT32 arfcn; /**< LTE : EARFCN; URTAN: UARFCN; GSM: ARFCN */ UINT16 cellId; /**< LTE : PCI; URTAN: PSC; GSM: BSCI */ UINT8 weightmask; /* */ UINT32 black_ticks; UINT8 event_index; }quec_blackcellid; typedef struct { UINT8 blackcell_num; UINT8 fence_state; UINT32 blackcelltimer_size; UINT8 blackcellprevention_mode; UINT32 blackcellpreventiontimer_size; UINT8 blackcellreject_judgemode; UINT8 blackcellreject_judgenum; INT8 fence_loopnum; INT32 fence_loopcycle; quec_blackcellid blackcellid_list[QUEC_BLACK_ELECTRIC_FENCE_CELL_MAX_NUM]; UINT8 blackeventweight[QUEC_BLACK_ELECTRIC_FENCE_EVENT_MAX_NUM]; }quec_electric_fence_list; typedef struct { UINT8 opType; /*add or delete black cell: 0 is set; 1 is delete*/ UINT8 rat; /*0: gsm; 1: wcdma; 2: lte */ UINT8 gsmBlackCellValid[QUEC_MAX_BLACK_CELL_NUM]; UINT8 wcdmaBlackCellValid[QUEC_MAX_BLACK_CELL_NUM]; UINT8 lteBlackCellValid[QUEC_MAX_BLACK_CELL_NUM]; CiDevLteBlackCellList LteBlackCellList; CiDevUmtsBlackCellList UmtsBlackCellList; CiDevGsmBlackCellList GsmBlackCellList; }quec_black_cell_s_t; #define QUEC_SCELL_VERTEX_NUM_MAX 30 #define QUEC_SCELL_ARC_NUM_MAX 254 typedef struct QuecScellArriveInfo{ UINT32 arrive_ticks; /**< The time point of the last switch to this cell */ UINT8 srccell_index; UINT8 inarc_index; UINT8 inarc_type; }QuecScellArriveInfo; typedef struct QuecScellinfo{ UINT32 afrcn; UINT16 cellId; UINT8 arrive_num; QuecScellArriveInfo latest_ticks[10]; /**< The time point of the last switch to this cell */ UINT8 indegree; UINT8 outdegree; BOOL isloop; UINT8 rsrp; UINT8 rsrq; }QuecScellinfo; typedef struct QuecScellSwitchArcNode{ INT8 dstvertex_index; INT8 arc_index; UINT32 switch_ticks; UINT8 switch_type; struct QuecScellSwitchArcNode* nextarc; }QuecScellSwitchArcNode; typedef struct QuecScellinfoNode{ INT8 vertex_index; QuecScellinfo quecscellinfo; QuecScellSwitchArcNode* firstarc; }QuecScellinfoNode; typedef struct{ QuecScellinfoNode QuecScellNodeList[QUEC_SCELL_VERTEX_NUM_MAX]; INT8 vertex_num; INT8 arc_num; INT8 loopflag; INT8 loop_level; }QuecScellALGragh; typedef struct QuecScelldegreeInfo{ UINT8 indegree; UINT8 outdegree; bool isvisited; }QuecScelldegreeInfo; typedef struct { bool vaild; UINT16 blacklwip_packectcount; UINT16 blacklwip_fencenum; UINT32 blacklwip_fencecycle; UINT8 retrynum; UINT8 pingcount; char blackping_host[256]; UINT32 blackcell_vaild; UINT32 athandle; }quec_blacklwipcfg; RETURNCODE_T quectel_exec_blackcell_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p /* AT cmd parser number */ ); RETURNCODE_T quectel_exec_blackcellex_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p /* AT cmd parser number */ ); RETURNCODE_T quectel_exec_blackcellcfg_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p /* AT cmd parser number */ ); RETURNCODE_T quectel_exec_blackcellcfgex_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p /* AT cmd parser number */ ); RETURNCODE_T quectel_exec_blackcellweight_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p /* AT cmd parser number */ ); RETURNCODE_T quectel_exec_blacklwipcfg_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p /* AT cmd parser number */ ); RETURNCODE_T quectel_exec_blackextand_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p /* AT cmd parser number */ ); #if defined(QUEC_CAMMERA_DECODE_AUTHORIZATION)||defined(QUEC_AUDIO_DENOISE) RETURNCODE_T quec_exec_qlicenseinfo_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p,/* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p /* AT cmd parser number */ ); RETURNCODE_T quec_exec_qlicense_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p,/* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p /* AT cmd parser number */ ); #endif void quec_delete_all_blackcell(void); void quec_set_black_cell_cfg(int blackcellCfg); int quec_get_black_cell_cfg(void); int quec_get_black_cell_cfg_ex(void); void quec_set_black_cell_cfg_ex(int blackcellCfg); UINT8 quec_get_black_event_weight(int index); void quec_electric_fence_send_event_msg(int event); QuecOSStatus quec_electric_fence_list_set_blackcell(UINT8 optype,UINT8 rat,UINT32 arfcn,UINT16 cellId,UINT8 weightmask,UINT8 event_index); int quec_get_black_cell_reject_judge_num(void); int quec_get_black_cell_reject_judge_mode(void); int quec_insert_scell_arc ( QuecScellALGragh* ScellALGragh, CiDevCommonLteCellInfo sourceLteCell, CiDevCommonLteCellInfo dstceLteCell, UINT8 rsrpOfsourceCell, UINT8 rsrqOfsourceCell, UINT8 rsrpOfdstceLteCell, UINT8 rsrqOfdstceLteCell, UINT8 eventtype); void quec_get_blacklwipcfg_host(char* pinghost); UINT32 quec_get_blacklwipcfg_athandle(void); BOOL quec_get_blacklwipcfg_vaild(void); void quec_electric_fence_lwip_uplink_count(void); void quec_electric_fence_lwip_downlink_count(void); UINT8 quec_get_electric_blackextand_cfg(void); int quec_get_black_cell_prevention_mode(void); void quec_electric_fence_send_prevent_event_msg(int prevent_event); void quec_electric_fence_delete_all_blackcell(void); UINT8 quec_electric_fence_preventiontimer_get_status(void); void quec_electric_fence_list_update_by_event(int event); void quec_electric_fence_list_update_by_preventmsg(UINT8 prevent_level); void quec_electric_fence_list_update_by_blacklwipmsg(int blacklwip_event); #endif #ifdef QUEC_ASR_ATCMD_PAGING_UPDATE_SUPPORT RETURNCODE_T quec_exec_qpagupdate_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p,/* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p /* AT cmd parser number */ ); #endif #ifdef QUEC_AT_ICCID_SUPPORT RETURNCODE_T quec_exec_iccid_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p /* AT cmd parser number */ ); #endif #if defined(QUEC_DUAL_SINGLE_PS_SUPPORT) RETURNCODE_T quec_exec_qdsim_cmd ( const utlAtParameterOp_T op, const char *command_name_p, const utlAtParameterValue_P2c parameter_values_p, const size_t num_parameters, const char *info_text_p, unsigned int *xid_p, void *arg_p ); #endif #ifdef QUEC_ADD_FALSH_TEST_SUPPORT RETURNCODE_T quec_qftest_qe_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p,/* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p /* AT cmd parser number */ ); RETURNCODE_T quec_qftest_fbp_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p,/* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p /* AT cmd parser number */ ); RETURNCODE_T quec_qftest_fspartitionec_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p,/* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p /* AT cmd parser number */ ); RETURNCODE_T quec_qftest_flashstrtest_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p /* AT cmd parser number */ ); RETURNCODE_T quec_exec_qftest_cmd ( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p,/* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p /* AT cmd parser number */ ); RETURNCODE_T quec_qftest_repair_erase_cmd( const utlAtParameterOp_T op, /* AT cmd type */ const char *command_name_p, /* AT cmd name */ const utlAtParameterValue_P2c parameter_values_p, /* AT cmd value */ const size_t num_parameters, /* AT cmd number */ const char *info_text_p, /* AT cmd usage string */ unsigned int *xid_p, /* AT cmd handle */ void *arg_p /* AT cmd parser number */ ); #endif #endif