blob: 7650364afc964720e1831a6932be3824adc0b35b [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001/******************************************************************************
2
3*(C) Copyright 2007 Marvell International Ltd.
4
5* All Rights Reserved
6
7******************************************************************************/
8/*--------------------------------------------------------------------------------------------------------------------
9 * INTEL CONFIDENTIAL
10 * Copyright 2006 Intel Corporation All Rights Reserved.
11 * The source code contained or described herein and all documents related to the source code (?Material? are owned
12 * by Intel Corporation or its suppliers or licensors. Title to the Material remains with Intel Corporation or
13 * its suppliers and licensors. The Material contains trade secrets and proprietary and confidential information of
14 * Intel or its suppliers and licensors. The Material is protected by worldwide copyright and trade secret laws and
15 * treaty provisions. No part of the Material may be used, copied, reproduced, modified, published, uploaded, posted,
16 * transmitted, distributed, or disclosed in any way without Intel?s prior express written permission.
17 *
18 * No license under any patent, copyright, trade secret or other intellectual property right is granted to or
19 * conferred upon you by disclosure or delivery of the Materials, either expressly, by implication, inducement,
20 * estoppel or otherwise. Any license under such intellectual property rights must be express and approved by
21 * Intel in writing.
22 * -------------------------------------------------------------------------------------------------------------------
23 *
24 * Filename: telcontroller.c
25 *
26 * Authors: Vincent Yeung
27 *
28 * Description: Telephony Controller implementation
29 *
30 * History:
31 * May 19, 2006 - Creation of file
32 *
33 * Notes:
34 *
35 ******************************************************************************/
36
37/******************************************************************************
38* include files
39******************************************************************************/
40#include "ci_api.h"
41#include "ps_api.h"
42#include "telcontroller.h"
43#include "telatci.h"
44#include "telconfig.h"
45#include "telatparamdef.h" //TEL_AT_CMDSTR_MAX_LEN
46#include "teldbg.h"
47#include "telcc.h"
48#include "telmm.h"
49#include "telps.h"
50#include "telpb.h"
51#include "telss.h"
52#include "teldev.h"
53#include "teldat.h"
54#include "telmsg.h"
55#include "msg_api.h"
56#include "telsim.h"
57#include "telaudio.h"
58#include "teldef.h"
59#ifdef WIFI_ATCMD
60#include "wifi_api.h"
61#endif
62#ifdef AT_PRODUCTION_CMNDS
63#include "telprod.h"
64#include "diag_al.h"
65#endif
66#ifdef AT_LABTOOL_CMNDS
67#include "telmisc.h"
68#endif
69#include "utlMalloc.h"
70#include <stdio.h>
71#include <unistd.h>
72#include <pthread.h>
73#include <termios.h>
74#include <fcntl.h>
75#include <sys/time.h>
76#include <errno.h>
77#include <sys/types.h>
78#include <sys/syscall.h>
79#include <sys/socket.h>
80#include <sys/stat.h>
81#include <sys/un.h>
82#include <string.h>
83#include "telutl.h"
84#include "utilities.h"
85#include <sys/prctl.h>
86#include "utlEventHandler.h"
87#include <cutils/properties.h>
88#include "telm2m.h"
89#if defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
90#include "ursp.h"
91#endif
92
hong.liuc8c95bb2025-05-26 06:02:18 -070093#ifdef MBTK_AT_SUPPORT
94#include "mbtk_device_info.h"
95#endif
b.liue9582032025-04-17 19:18:16 +080096/******************************************************************************
97* Define
98******************************************************************************/
99#define TEL_ESP_AT_CMD_ATP TEL_AT_CMD_ATP_0
100
101/******************************************************************************
102* Global Variable for Telephony Controller
103******************************************************************************/
104UINT32 PSRegOptionSaveFlag = TRUE;
105
106unsigned short gusXid = 10; //0 - 10 is reserved value
107struct termios savetio;
108extern BOOL ap_only;
109
110TelAtpCtrl gAtpCtrl[NUM_OF_TEL_ATP];
111
112
113utlAtParser_P aParser_p[ NUM_OF_TEL_ATP ]; /* AT parser */
114
115const char* const gAtpName[] =
116{
117 "ATP_0",
118 "ATP_SERIALATCMD"
119#ifdef AT_PRODUCTION_CMNDS
120 "ATP_PROD",
121#endif
122#ifndef PXA1826SPI_TELE
123 "ATP1_0",
124 "ATP_IMS_1",
125 "ATP_IMS_2",
126#endif
127};
128
129#define DEFINE_SIM1_NO_INDICATION_CHANEL_DESC(atpId, path, ap_only) \
130 {atpId, path, SIM1_ONLY, FALSE, ap_only}
131
132#define DEFINE_SIM2_NO_INDICATION_CHANEL_DESC(atpId, path, ap_only) \
133 {atpId, path, SIM2_ONLY, FALSE, ap_only}
134
135#define DEFINE_SHARED_NO_INDICATION_CHANEL_DESC(atpId, path, ap_only) \
136 {atpId, path, DUAL_SIM, FALSE, ap_only}
137
138#define DEFINE_MASTER_SIM_NO_INDICATION_CHANEL_DESC(atpId, path, ap_only) \
139 {atpId, path, MASTER_SIM,FALSE, ap_only}
140
141#define DEFINE_SIM1_CHANEL_DESC(atpId, path, ap_only) \
142 {atpId, path, SIM1_ONLY, TRUE, ap_only}
143
144#define DEFINE_SIM2_CHANEL_DESC(atpId, path, ap_only) \
145 {atpId, path, SIM2_ONLY, TRUE, ap_only}
146
147#define DEFINE_SHARED_CHANEL_DESC(atpId, path, ap_only) \
148 {atpId, path, DUAL_SIM, TRUE, ap_only}
149
150#define DEFINE_MASTER_SIM_CHANEL_DESC(atpId, path, ap_only) \
151 {atpId, path, MASTER_SIM, TRUE, ap_only}
152
153TelAtpDesc gTelAtpDescConfig[] = {
154 DEFINE_SIM1_NO_INDICATION_CHANEL_DESC(TEL_AT_CMD_ATP_0, BACKEND_NULL_DEVICE, FALSE),
155// DEFINE_SIM1_CHANEL_DESC(TEL_SERIALATCMD_AT_CMD_ATP, BACKEND_SERIALATCMD_ATCMD_CHAN_DEVICE, TRUE),
156#ifdef AT_PRODUCTION_CMNDS
157 DEFINE_SHARED_NO_INDICATION_CHANEL_DESC(TEL_PROD_AT_CMD_ATP, PROD_SERIAL_PORT, TRUE),
158#endif
159/*pxa1826 no DSDS solution*/
160#ifdef BIONIC
161 DEFINE_SIM2_NO_INDICATION_CHANEL_DESC(TEL_AT_CMD_ATP_0_1, BACKEND_NULL_DEVICE, FALSE),
162#endif
163};
164
165static TelAtpDataEntry sTelAtpDataEntry = {
166 TEL_MSG_DATA_NONE,
167 0,
168 0,
169 0
170};
171
172char ATM_ID[ATM_MAX_ID_LENGTH] = "ASR";
173char ATM_MANUFACTURER_ID[ATM_MAX_ID_LENGTH] = "ASR";
174char ATM_MODEL_ID[ATM_MAX_ID_LENGTH] = "LINUX";
175
176extern UINT32 gServiceGroupRegistered;
177
178utlAtProxyCommand_P atProxyReq = NULL;
179utlAtProxyCommand_P atProxyInd = NULL;
180
181TelAtParserID gProxyChannelId = NUM_OF_TEL_ATP;
182TelAtParserID gOrigParserId = NUM_OF_TEL_ATP;
183
184UINT32 gCurrentProxyTrsXid; //the current XID of the command sent to proxy
185BOOL gCurrentPrxyFirstPhase = FALSE;
186
187TelMsgDataMode gCurrentSmsDataMode = TEL_MSG_DATA_NONE;
188BOOL ims_sms_data_invalid_report_error = FALSE;
189unsigned int gProxyTimeoutCounter=0;
190#define ATCMD_PROXY_TIMEOUT_COUNTER_MAX_VALUE 5 //the maximum value of the gProxyTimeoutCounter
191
192extern int gCurrentCgerepMode[NUM_OF_TEL_ATP];
193extern int gRequestCgerepMode[NUM_OF_TEL_ATP];
194
195char *gProxySmsSegment[8];
196char *gProxySmsSegment_1[8];
197
198UINT16 gProxySmsSegmentLen[8];
199UINT16 gProxySmsSegmentLen_1[8];
200
201extern BOOL gImsRegState;
202extern BOOL gImsRegState_1;
203
204extern AtciSmsFormatMode gSmsFormatMode[];
205extern AT_MSG_OPERATION gCurrOperation[];
206extern AT_MSG_OPERATION gCurrOperation_1[];
207
208extern CiMmSigExtendedQualityInfo gExtendedSignal;
209extern CiMmSigExtendedQualityInfo gExtendedSignal_1;
210
211#ifdef AT_PRODUCTION_CMNDS
212static void start_at_cmd_srv(void);
213extern int get_bspflag_from_kernel_cmdline(void);
214extern int start_prod_at_cmd_srv(void);
215extern void loadPSRegOptionSetting(void);
216
217#endif
218
219#ifdef ATCMD_CONTINUOUS_TIMEOUT_RECOVERY
220int gTimeoutNum = 0;
221pthread_mutex_t gTimeoutLock = PTHREAD_MUTEX_INITIALIZER;
222#endif
223#ifdef AT_CONFIG_P701
224int gModemAtp = -1;
225#endif
226int gNumofAT = 0;
227
228pthread_mutex_t gProxyAccessLock = PTHREAD_MUTEX_INITIALIZER;
229AtciCharacterSet chset_type[NUM_OF_TEL_ATP];
230BOOL isGsmChset[NUM_OF_TEL_ATP];
231extern UINT32 gSendMsgReqHandle[];
232
233AtciCharacterSet chset_type_1[NUM_OF_TEL_ATP];
234BOOL isGsmChset_1[NUM_OF_TEL_ATP];
235extern UINT32 gSendMsgReqHandle_1[];
236
237#ifndef NO_AUDIO
238#ifdef ECALL_SUPPORT
239//extern EallMsdMSDMessage_t gMsdCfg;
240#endif
241#endif
242
243/******************************************************************************
244* Local Function Prototypes
245******************************************************************************/
246int getFd(TelAtParserID sAtpIndex);
247void ProcessAtChanThread(TelAtParserID sAtpIndex);
248void cinetThread();
249BOOL tcInitAtParser( TelAtParserID * sAtpIndex);
250BOOL tcOpenExtSerialPort(int *fd, char * serial_path, int flag );
251BOOL tcOpenDevice(int* fd, char * char_dev_path, int flag);
252BOOL tcOpenPsuedoMasterDevice(int *fd, char* char_dev_path);
253extern AtciSmsFormatMode getSmsFormatModeWithAtpIndex(UINT32 sAtpIndex);
254extern void initAtPara(void);
255
256utlReturnCode_T atParserShellReplyFunction(const char *string_p, void *arg_p);
257utlReturnCode_T atParserShellGetFunction(const utlAtParameterOp_T op,
258 const char *command_name_p,
259 const utlAtParameterValue_P2c parameter_values_p,
260 const size_t num_parameters,
261 const char *info_text_p,
262 unsigned int *xid_p,
263 void *arg_p);
264utlReturnCode_T atParserShellSetFunction(const utlAtParameterOp_T op,
265 const char *command_name_p,
266 const utlAtParameterValue_P2c parameter_values_p,
267 const size_t num_parameters,
268 const char *info_text_p,
269 unsigned int *xid_p,
270 void *arg_p);
271
272extern BOOL checkDataValidity(CHAR *pSmsData, INT32 smsDataLength, AtciCharacterSet *pchset_type);
273
274RETURNCODE_T ciChannelDestSwitch( const utlAtParameterOp_T op,
275 const char *command_name_p,
276 const utlAtParameterValue_P2c parameter_values_p,
277 const size_t num_parameters,
278 const char *info_text_p,
279 unsigned int *xid_p,
280 void *arg_p);
281
282unsigned int atParserGetAtcmdTimeoutValue(const char* cmd_name_p, const utlAtAsyncOp_T op);
283int atParserAtcmdTimeoutError(unsigned int atHandle);
284#ifdef ATCMD_CONTINUOUS_TIMEOUT_RECOVERY
285void atParserAtcmdContinuousTimeout(void);
286#endif
287
288extern void PARSER_SET_AUTO_ANSWER_DELAY(void *arg_p, unsigned int delay_seconds);
289extern void PARSER_GET_AUTO_ANSWER_DELAY(void *arg_p, unsigned short *delay_seconds);
290
291extern utlReturnCode_T createStringToProxy(const char *command_name_p,const utlAtParameterOp_T op, const char *parameters_string_p,unsigned int *xid_p,void *arg_p);
292extern void proxyEsc(void *arg_p);
293extern void clearSmsDataMode(void *arg_p);
294extern void clearSmsoverNas(TelAtParserID sAtpIndex);
295char *gProxySmsSegment[8];
296char *gProxySmsSegment_1[8];
297
298UINT16 gProxySmsSegmentLen[8];
299UINT16 gProxySmsSegmentLen_1[8];
300/*------------------------------------------------------------------------------*/
301static utlAtParameter_T A_params[] = { utlDEFINE_BASIC_AT_PARAMETER(utlAT_DATA_TYPE_DECIMAL) };
302static utlAtParameter_T D_params[] = { utlDEFINE_BASIC_AT_PARAMETER(utlAT_DATA_TYPE_DIAL_STRING) };
303static utlAtParameter_T E_params[] = { utlDEFINE_BASIC_AT_PARAMETER(utlAT_DATA_TYPE_DECIMAL) };
304static utlAtParameter_T H_params[] = { utlDEFINE_BASIC_AT_PARAMETER(utlAT_DATA_TYPE_DECIMAL) };
305static utlAtParameter_T I_params[] = { utlDEFINE_BASIC_AT_PARAMETER(utlAT_DATA_TYPE_DECIMAL) };
306static utlAtParameter_T L_params[] = { utlDEFINE_BASIC_AT_PARAMETER(utlAT_DATA_TYPE_DECIMAL) };
307static utlAtParameter_T M_params[] = { utlDEFINE_BASIC_AT_PARAMETER(utlAT_DATA_TYPE_DECIMAL) };
308static utlAtParameter_T O_params[] = { utlDEFINE_BASIC_AT_PARAMETER(utlAT_DATA_TYPE_DECIMAL) };
309static utlAtParameter_T P_params[] = { utlDEFINE_BASIC_AT_PARAMETER(utlAT_DATA_TYPE_DECIMAL) };
310static utlAtParameter_T Q_params[] = { utlDEFINE_BASIC_AT_PARAMETER(utlAT_DATA_TYPE_DECIMAL) };
311static utlAtParameter_T T_params[] = { utlDEFINE_BASIC_AT_PARAMETER(utlAT_DATA_TYPE_DECIMAL) };
312static utlAtParameter_T V_params[] = { utlDEFINE_BASIC_AT_PARAMETER(utlAT_DATA_TYPE_DECIMAL) };
313static utlAtParameter_T X_params[] = { utlDEFINE_BASIC_AT_PARAMETER(utlAT_DATA_TYPE_DECIMAL) };
314static utlAtParameter_T Z_params[] = { utlDEFINE_BASIC_AT_PARAMETER(utlAT_DATA_TYPE_DECIMAL) };
315static utlAtParameter_T S0_params[] = { utlDEFINE_BASIC_AT_PARAMETER(utlAT_DATA_TYPE_DECIMAL) };
316static utlAtParameter_T ampC_params[] = { utlDEFINE_BASIC_AT_PARAMETER(utlAT_DATA_TYPE_DECIMAL) };
317static utlAtParameter_T ampD_params[] = { utlDEFINE_BASIC_AT_PARAMETER(utlAT_DATA_TYPE_DECIMAL) };
318static utlAtParameter_T ampF_params[] = { utlDEFINE_BASIC_AT_PARAMETER(utlAT_DATA_TYPE_DECIMAL) };
319static utlAtParameter_T ampS_params[] = { utlDEFINE_BASIC_AT_PARAMETER(utlAT_DATA_TYPE_DECIMAL) };
320static utlAtParameter_T ampZ_params[] = { utlDEFINE_BASIC_AT_PARAMETER(utlAT_DATA_TYPE_DIAL_STRING) };
321static utlAtParameter_T eCHUPVT_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_WRITE_ONLY, utlAT_PARAMETER_PRESENCE_REQUIRED) };
322static utlAtParameter_T plusCTTY_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
323 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
324
325static utlAtParameter_T plusASTO_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
326 utlDEFINE_DIAL_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
327static utlAtParameter_T plusIPR_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
328static utlAtParameter_T plusICF_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
329 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
330static utlAtParameter_T plusIFC_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
331 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
332static utlAtParameter_T plusIDSR_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
333
334static utlAtParameter_T plusEXAMPLE_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
335
336static utlAtParameter_T plusCACM_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
337
338static utlAtParameter_T plusCAMM_params[] = { utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
339 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
340
341static utlAtParameter_T plusCCWE_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
342
343static utlAtParameter_T plusCHLD_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
344 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) // for IMS only
345};
346
347static utlAtParameter_T plusCDU_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
348 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
349 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
350 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
351 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
352 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
353
354static utlAtParameter_T plusCMOD_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
355
356static utlAtParameter_T plusCGREG_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
357
358static utlAtParameter_T plusCGATT_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
359
360static utlAtParameter_T plusCGACT_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
361 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
362
363static utlAtParameter_T plusCGDATA_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
364 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
365
366static utlAtParameter_T plusZGDCONT_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
367 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
368 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
369 #ifdef DEDICATED_FLAG_SUPPORT
370 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
371 #else
372 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
373 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
374 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
375 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
376 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
377 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
378 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
379 #endif
380 };
381
382static utlAtParameter_T starZGDCONT_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
383 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
384 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
385 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
386 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
387 };
388
389static utlAtParameter_T plusZGDCONTEX_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
390 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
391 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
392 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
393};
394
395static utlAtParameter_T plusNETMASK_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
396};
397
398static utlAtParameter_T starMTU_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
399 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
400};
401
402static utlAtParameter_T plusCGDCONT_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
403 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
404 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
405 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
406 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
407 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
408 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
409 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
410 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
411 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
412#if defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
413 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
414 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
415 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
416 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
417 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
418 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
419 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
420 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
421 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
422 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
423 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
424 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
425 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
426#endif
427};
428
429static utlAtParameter_T plusCGQMIN_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
430 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
431 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
432 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
433 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
434 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
435
436static utlAtParameter_T plusCGQREQ_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
437 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
438 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
439 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
440 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
441 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
442
443static utlAtParameter_T plusCGDSCONT_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
444 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
445 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
446 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
447 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
448
449static utlAtParameter_T plusCGEQREQ_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
450 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
451 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
452 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
453 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
454 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
455 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
456 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
457 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
458 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
459 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
460 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
461 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
462 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
463 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
464
465static utlAtParameter_T plusCGEQMIN_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
466 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
467 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
468 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
469 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
470 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
471 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
472 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
473 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
474 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
475 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
476 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
477 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
478 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
479 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
480
481/* Michal Bukai - AT+CGTFT support */
482static utlAtParameter_T plusCGTFT_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
483 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
484 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
485 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
486 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
487 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
488 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
489 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
490 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
491 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
492 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
493 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
494
495static utlAtParameter_T plusCFUN_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
496 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
497
498/*Michal Bukai - Add a generic comm. feature configuration option in
499 CI_DEV_PRIM_SET_FUNC_REQ*/
500static utlAtParameter_T starCFUN_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
501 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
502 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
503 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
504
505static utlAtParameter_T plusSysConfig_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
506 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
507 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
508 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
509
510static utlAtParameter_T plusCOPS_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
511 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
512 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
513 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
514
515/*Modified by Michal Bukai - at support for AccTchMode parameter*/
516static utlAtParameter_T plusCPOL_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
517 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
518 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
519 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
520 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
521 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
522 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
523
524static utlAtParameter_T plusCSDH_params[] =
525 { utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
526};
527
528static utlAtParameter_T plusCCFC_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
529 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
530 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
531 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
532 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
533 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
534 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
535 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
536
537static utlAtParameter_T plusCCWA_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
538 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
539 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
540
541static utlAtParameter_T plusCOLP_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
542static utlAtParameter_T plusCOLR_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
543static utlAtParameter_T plusCNAP_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
544static utlAtParameter_T starREJCAUSE_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
545
546static utlAtParameter_T plusCEDRXS_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
547 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
548 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
549};
550
551static utlAtParameter_T plusCTZR_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
552
553static utlAtParameter_T plusCCLK_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
554
555static utlAtParameter_T plusCUAD_params[] =
556 { utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)
557};
558
559static utlAtParameter_T plusCTZU_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
560
561static utlAtParameter_T plusCSSN_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
562 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
563
564static utlAtParameter_T plusCUSD_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
565 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
566 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
567
568static utlAtParameter_T plusCREG_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
569
570//static utlAtParameter_T plusCIND_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
571
572
573static utlAtParameter_T plusCLIP_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
574
575static utlAtParameter_T plusCDIP_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
576static utlAtParameter_T plusCLIR_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
577
578static utlAtParameter_T plusCAOC_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
579
580static utlAtParameter_T plusVTS_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
581 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
582static utlAtParameter_T plusVTD_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
583 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
584};
585
586static utlAtParameter_T plusCLCK_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
587 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
588 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
589 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
590
591static utlAtParameter_T plusCPWD_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
592 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
593 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
594 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
595
596static utlAtParameter_T plusCGMD_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
597 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
598
599static utlAtParameter_T starCMGF_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
600 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
601
602static utlAtParameter_T plusCMGF_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
603
604static utlAtParameter_T plusCMSS_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
605 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
606 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
607
608static utlAtParameter_T plusCMGS_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
609 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
610
611static utlAtParameter_T plusCMGC_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
612 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
613 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
614 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
615 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
616 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
617 };
618
619static utlAtParameter_T plusCMGR_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
620
621static utlAtParameter_T plusCMGW_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
622 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
623 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
624
625static utlAtParameter_T plusCMGL_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
626
627static utlAtParameter_T starCSCS_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
628
629static utlAtParameter_T plusCPIN_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
630 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
631
632static utlAtParameter_T plusZSEC_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
633 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
634
635static utlAtParameter_T plusCPIN2_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
636
637static utlAtParameter_T starSIMDETEC_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
638
639static utlAtParameter_T plusCGSEND_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
640
641static utlAtParameter_T plusCBST_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
642 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
643 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
644
645static utlAtParameter_T plusFCLASS_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
646
647static utlAtParameter_T plusCSCS_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
648
649static utlAtParameter_T plusCPBS_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
650 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
651
652static utlAtParameter_T plusCPBR_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
653 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
654
655static utlAtParameter_T plusCPBW_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
656 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
657 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
658 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
659 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
660 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
661 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
662 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
663 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
664 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
665 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
666 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
667 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
668 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
669 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
670 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
671 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
672 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
673 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
674 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
675 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
676 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
677 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
678 };
679
680//Added by Michal Bukai
681static utlAtParameter_T plusCPBF_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
682
683static utlAtParameter_T plusCSVM_params[] = {
684 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
685 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
686 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
687 };
688
689static utlAtParameter_T plusCSIM_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
690 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
691//change by linda add path parameter
692static utlAtParameter_T plusCRSM_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
693 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
694 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
695 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
696 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
697 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
698 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
699
700//Michal Bukai - ISIM/NFC support - START
701static utlAtParameter_T plusCRLA_params[] = {
702 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), // session id
703 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), // command
704 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), // fieldid (optional only for STATUS command)
705 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), // p1
706 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), // p2
707 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), // p3
708 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), // data
709 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), // path
710};
711
712static utlAtParameter_T plusCardMode_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
713static utlAtParameter_T plusCGLA_params[] = {
714 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
715 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
716 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
717};
718
719static utlAtParameter_T plusCCHO_params[] =
720 { utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
721};
722
723static utlAtParameter_T plusCCHC_params[] =
724 { utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
725};
726
727//Michal Bukai - ISIM/NFC support - END
728
729static utlAtParameter_T plusMSTK_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
730 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
731
732static utlAtParameter_T plusSPN_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
733};
734
735static utlAtParameter_T plusCGSMS_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
736
737static utlAtParameter_T plusLKSMSSTA_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
738static utlAtParameter_T plusCVHU_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
739
740static utlAtParameter_T plusCRLP_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
741 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
742 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
743 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
744 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
745 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
746
747static utlAtParameter_T plusCNMI_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
748 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
749 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
750 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
751 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
752
753static utlAtParameter_T plusCSCB_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
754 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), //utlAT_PARAMETER_PRESENCE_REQUIRED),
755 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};//utlAT_PARAMETER_PRESENCE_REQUIRED), };
756
757static utlAtParameter_T plusCSMS_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
758
759static utlAtParameter_T plusCPMS_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), //for txt mode, no para required
760 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
761 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
762
763static utlAtParameter_T plusCNMA_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
764 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
765};
766static utlAtParameter_T plusCSMP_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
767 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
768 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
769 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
770};
771
772static utlAtParameter_T plusCSCA_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
773 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
774
775static utlAtParameter_T plusVECHO_params[] = { utlDEFINE_QSTRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
776
777static utlAtParameter_T plusREPORTIP_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
778 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
779 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
780 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
781 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
782 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
783 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED)};
784
785static utlAtParameter_T starRZGDCONT_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
786 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
787 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
788 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
789 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
790 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)};
791
792static utlAtParameter_T plusGETIP_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
793 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
794static utlAtParameter_T plusTGSINK_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
795 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
796 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
797
798static utlAtParameter_T plusICSSink_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
799 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
800
801static utlAtParameter_T plusATDB_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
802 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
803
804static utlAtParameter_T starCIIND_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
805
806#if 0
807/* Support to output engineering mode information */
808static utlAtParameter_T plusCGED_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
809 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
810#endif
811static utlAtParameter_T plusCCIREG_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
812
813// support AT+CMMS
814static utlAtParameter_T plusCMMS_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
815
816// support AT+VDUMP for controlling log level
817static utlAtParameter_T plusVDUMP_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
818
819// support AT+LOG for debuging use
820static utlAtParameter_T plusLOG_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
821 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
822 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
823
824static utlAtParameter_T plusAPLOG_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
qs.xiong68079a32025-08-15 11:29:57 +0800825
826static utlAtParameter_T starDIAGSWITCH_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)};
b.liue9582032025-04-17 19:18:16 +0800827static utlAtParameter_T plusRDUP_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
828
829// support AT+VPDUS
830static utlAtParameter_T plusVPDUS_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
831
832// support AT+CMUT
833static utlAtParameter_T plusCMUT_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
834
835/* Michal Bukai - AT+CPUC support */
836static utlAtParameter_T plusCPUC_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
837 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
838 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
839
840/* Michal Bukai - AT+CSTA support */
841static utlAtParameter_T plusCSTA_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
842/* Michal Bukai - AT+CRC support */
843static utlAtParameter_T plusCRC_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
844
845/* Michal Bukai - AT+CR support */
846//static utlAtParameter_T plusCR_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
847
848/* Michal Bukai - AT+CMEE support */
849static utlAtParameter_T plusCMEE_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
850/* Michal Bukai - AT+CIND support: CIND will support the following (in that order) - "signal","service","message","call","roam"*/
851#if 0
852static utlAtParameter_T plusCIND_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
853 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
854 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
855 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
856 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
857
858#endif
859
860/* Michal Bukai - AT+CMER support*/
861static utlAtParameter_T plusCMER_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
862 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
863 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
864 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
865 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
866
867/* AT+CMEC support*/
868static utlAtParameter_T plusCMEC_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
869 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
870 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
871 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
872
873/* Michal Bukai - AT+CPLS support*/
874static utlAtParameter_T plusCPLS_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
875/* Michal Bukai - AT+CGCMOD support*/
876static utlAtParameter_T plusCGCMOD_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
877
878/* Michal Bukai - AT+DS support*/
879static utlAtParameter_T plusDS_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
880 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
881 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
882 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
883
884static utlAtParameter_T plusCNUM_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
885 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
886 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
887 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
888
889/*Michal Bukai - AT*CLCK support*/
890static utlAtParameter_T plusMEPCLCK_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
891 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
892 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
893
894#ifdef CUSTZ
895
896static utlAtParameter_T plusZNCK_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
897 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
898
899static utlAtParameter_T plusLOCKLEVEL_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
900 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
901
902static utlAtParameter_T plusZSNT_params [] = {
903 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
904 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
905 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
906};
907
908static utlAtParameter_T plusZNLOCKBAND_params[] = {
909 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
910 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
911 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
912 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
913};
914
915#if defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
916static utlAtParameter_T plusZNLOCKNRBAND_params[] = {
917 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
918 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) ,
919};
920#endif
921
922static utlAtParameter_T plusZSELM_params[] = {
923 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
924};
925
926static utlAtParameter_T plusZSELI_params[] = {
927 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
928};
929
930static utlAtParameter_T plusZBK_params[] = {
931 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
932};
933
934static utlAtParameter_T plusZINKR_params[] = {
935 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
936 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
937};
938
939static utlAtParameter_T plusZSYNCNITZ_params[] = {
940 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
941};
942
943static utlAtParameter_T plusZDOGREF_params[] = {
944 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
945};
946
947static utlAtParameter_T plusZDHCPLEASE_params[] = {
948 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
949};
950
951static utlAtParameter_T plusGEFLAG_params[] = {
952 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
953};
954
955static utlAtParameter_T plusZCFG_params[] = {
956 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
957 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
958};
959
960static utlAtParameter_T plusZROAM_params[] = {
961 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
962 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
963};
964
965
966static utlAtParameter_T plusZGDFLT_params[] = {
967 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
968 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
969 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
970 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
971 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
972 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
973 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
974 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
975 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
976 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
977 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
978 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
979 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
980 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
981 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
982 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
983 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
984 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
985 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
986 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
987 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
988 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
989};
990
991#endif
992
993/*Michal Bukai - AT*MEPCG support*/
994static utlAtParameter_T plusMEPCG_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
995
996#if 0
997/*Michal Bukai - AT*ULCK support*/
998static utlAtParameter_T plusULCK_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
999 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1000 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1001
1002/*Michal Bukai - AT*UCPWD support*/
1003static utlAtParameter_T plusUCPWD_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1004 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
1005
1006/*Michal Bukai - AT*UASLM support*/
1007static utlAtParameter_T plusUASLM_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1008 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1009#endif
1010
1011/* Michal Bukai - AT*BAND support*/
1012#if !defined(ATCMD_1901_CI) && !defined(ATCMD_1903_CI)
1013static utlAtParameter_T plusBAND_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1014 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1015 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1016 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1017 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1018 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1019 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1020 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1021 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1022#else
1023static utlAtParameter_T plusBAND_params[] = {
1024 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1025 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1026 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1027 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1028 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1029 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1030 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1031 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1032 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1033 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1034 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1035 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1036 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1037 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1038};
1039#endif
1040/* Michal Bukai - AT*BANDIND support*/
1041static utlAtParameter_T plusBANDIND_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
1042/* AT+WS46 support */
1043static utlAtParameter_T plusWS46_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
1044/* Michal Bukai - AT*READ_CAL_STATUS support*/
1045//static utlAtParameter_T plusCalStatus_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
1046/* Michal Bukai - AT*CNMA support*/
1047static utlAtParameter_T plusNewMsgAck_params[] = {
1048 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1049 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1050};
1051static utlAtParameter_T plusPOWERIND_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
1052static utlAtParameter_T plusAPPOWERIND_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
1053
1054/*Michal Bukai - AT*AUTHReq - PAP_CHUP support (PDP Authentication)*/
1055static utlAtParameter_T plusZAUTHReq_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1056 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1057 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1058 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1059};
1060
1061static utlAtParameter_T plusAUTHReq_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1062 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1063 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1064 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1065};
1066static utlAtParameter_T starCELL_params[] = {
1067 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1068 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1069 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1070 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1071 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
hong.liuc8c95bb2025-05-26 06:02:18 -07001072#if defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI) || defined(MBTK_AT_SUPPORT)
b.liue9582032025-04-17 19:18:16 +08001073 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1074#endif
1075};
1076
1077/* Support to output engineering mode information */
1078static utlAtParameter_T plusEEMOPT_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1079 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1080
1081static utlAtParameter_T plusEEMGINFO_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
1082
1083static utlAtParameter_T plusERGA_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
1084static utlAtParameter_T plusERTCA_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1085 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1086 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1087static utlAtParameter_T plusLPNWUL_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1088 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1089 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1090 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1091 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1092 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1093 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1094static utlAtParameter_T plusLPLOCVR_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1095 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1096 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1097 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1098
1099static utlAtParameter_T plusLPOTDOAREQ_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1100 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1101 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
1102
1103#ifdef AT_PRODUCTION_CMNDS
1104
1105static utlAtParameter_T starMRD_MIPS_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1106 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1107 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1108 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1109
1110static utlAtParameter_T starMRD_ADF_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1111 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1112 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1113 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1114
1115
1116static utlAtParameter_T starMRD_CDF_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1117 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1118 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1119 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1120
1121static utlAtParameter_T starMRD_SN_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1122 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1123 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1124 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1125
1126static utlAtParameter_T starMRD_IMEI_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1127 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1128 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1129 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1130 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1131
1132static utlAtParameter_T starCALINFO_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1133 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1134 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1135
1136static utlAtParameter_T starMRD_MEP_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1137 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1138 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1139 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1140 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1141 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1142 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1143 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1144 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1145 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1146 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1147 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1148 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1149 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1150 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1151
1152static utlAtParameter_T starLOCKNETLIST_params[] = { utlDEFINE_QSTRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
1153static utlAtParameter_T starINVERSESML_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
1154
1155static utlAtParameter_T starLOCKLIST_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
1156
1157static utlAtParameter_T starUnLockKEY_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1158 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1159#if defined(ATCMD_UNIFY_CI) || defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
1160static utlAtParameter_T OOSPP_params[] = {utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1161 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1162 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1163 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1164#endif
1165static utlAtParameter_T starMRD_WIFIID_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1166 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1167 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1168 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1169
1170static utlAtParameter_T starMRD_LANMAC_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1171 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1172 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1173 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1174
1175static utlAtParameter_T starMRD_BTID_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1176 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1177 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1178 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1179
1180static utlAtParameter_T starMRD_VEND_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
1181
1182static utlAtParameter_T starMRD_BAND_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1183 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1184 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1185 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1186 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
1187
1188static utlAtParameter_T starPROD_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
1189static utlAtParameter_T starSVC_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1190 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1191
1192static utlAtParameter_T starGPSTEST_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1193 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1194 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1195 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1196 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1197
1198static utlAtParameter_T starTDTR_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1199 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1200 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1201
1202static utlAtParameter_T starGSMTR_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1203 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1204 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1205 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1206 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1207 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1208
1209static utlAtParameter_T starTGCTRL_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1210 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1211 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1212 utlDEFINE_HEXADECIMALL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1213
1214static utlAtParameter_T starWBTR_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1215 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1216 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1217 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1218 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1219 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1220 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1221
1222static utlAtParameter_T starMaxPower_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1223 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1224 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1225
1226static utlAtParameter_T plusLTEPOWER_params[] = {
1227 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1228 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1229 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED)};
1230
1231static utlAtParameter_T starLteTR_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1232 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1233 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1234 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1235
1236#if defined(ATCMD_UNIFY_CI) || defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
1237static utlAtParameter_T starCommTR_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1238 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1239 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1240 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1241 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1242 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1243 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1244
1245static utlAtParameter_T starFdnCheck_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1246};
1247
1248static utlAtParameter_T starMoreSms_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1249};
1250
1251#endif
1252
1253#if defined(ATCMD_UNIFY_CI)
1254
1255static utlAtParameter_T SIMLOCK_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1256 utlDEFINE_QSTRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)};
1257static utlAtParameter_T SETLOCK_params[] = { utlDEFINE_QSTRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1258 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED)};
1259static utlAtParameter_T MAXLCKTMS_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED)};
1260static utlAtParameter_T TESTLOCK_params[] = { utlDEFINE_QSTRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1261 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED)};
1262#endif
1263
1264
1265
1266static utlAtParameter_T starMRD_DUMP_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1267 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
1268#ifdef MNV_SUPPORT
1269static utlAtParameter_T starCPMRD_DUMP_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1270 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
1271#endif
1272
1273#ifdef SECURE_MRD
1274static utlAtParameter_T starMRD_AUTH_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1275 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1276 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1277#endif
1278
1279static utlAtParameter_T FUELGAIC_params[] = {
1280 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_WRITE_ONLY, utlAT_PARAMETER_PRESENCE_REQUIRED),};
1281
1282
1283#endif
1284
1285static utlAtParameter_T starMODEMRESET_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1286 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)};
1287static utlAtParameter_T starSWITCHMODEM_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
1288
1289#ifdef AT_LABTOOL_CMNDS
1290static utlAtParameter_T plusMVWFTST_params[] = {
1291 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1292 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1293 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1294 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
1295
1296static utlAtParameter_T plusMVWFIDRW_params[] = {
1297 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1298 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1299 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1300 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
1301
1302static utlAtParameter_T plusMVBTTST_params[] = {
1303 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1304 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1305 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1306 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
1307
1308static utlAtParameter_T plusMVBTIDRW_params[] = {
1309 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1310 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1311 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1312 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
1313
1314static utlAtParameter_T plusMVFMTST_params[] = {
1315 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1316 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1317 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1318 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
1319#endif // AT_LABTOOL_CMNDS
1320
1321static utlAtParameter_T plusCKPD_params[] = {
1322 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1323 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1324 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)};
1325
1326static utlAtParameter_T starCGSN_params[] = {
1327 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
1328static utlAtParameter_T dollarVTS_params[] = {
1329 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1330 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
1331
1332static utlAtParameter_T starHTCCTO_params[] = {
1333 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1334 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1335 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
1336static utlAtParameter_T plusCMEMFULL_params[] = {
1337 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
1338static utlAtParameter_T starEHSDPA_params[] = {
1339 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1340 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1341 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1342 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1343 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1344 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1345 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1346 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1347 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)
1348 };
1349/*loopback test mode*/
1350static utlAtParameter_T LOOPTEST_params[] = {
1351 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1352 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
1353
1354static utlAtParameter_T starFDY_params[] = {
1355 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1356 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1357 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1358 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1359 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1360
1361#ifdef OPHONE
1362/*Ophone monitor*/
1363static utlAtParameter_T caretDCTS_params[] = {
1364 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1365 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1366
1367static utlAtParameter_T caretDEELS_params[] = {
1368 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
1369
1370static utlAtParameter_T caretDEVEI_params[] = {
1371 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1372
1373static utlAtParameter_T caretDNPR_params[] = {
1374 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1375 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1376
1377static utlAtParameter_T caretDUSR_params[] = {
1378 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1379 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1380#endif
1381
1382static utlAtParameter_T plusCIREG_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
1383
1384static utlAtParameter_T plusCEREG_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
1385
1386static utlAtParameter_T plusCGEQOS_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1387 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1388 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1389 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1390 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1391 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
1392
1393static utlAtParameter_T plusCGCONTRDP_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
1394
1395static utlAtParameter_T plusCGSCONTRDP_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
1396
1397static utlAtParameter_T plusCGTFTRDP_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
1398
1399static utlAtParameter_T plusCGEQOSRDP_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
1400
1401static utlAtParameter_T plusCGEREP_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1402 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
1403
1404static utlAtParameter_T plusCVMOD_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
1405
1406static utlAtParameter_T plusCEMODE_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
1407
1408static utlAtParameter_T plusCGPADDR_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1409 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1410 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1411 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1412 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1413 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1414 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1415 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1416 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1417 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1418 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1419 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1420 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1421 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1422 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
1423
1424static utlAtParameter_T plusCGPIAF_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1425 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1426 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1427 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
1428
1429static utlAtParameter_T plusCGCLASS_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
1430
1431static utlAtParameter_T plusCESQ_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
1432#if defined(ATCMD_UNIFY_CI) || defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
1433static utlAtParameter_T plusCSCON_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
1434#endif
1435static utlAtParameter_T plusBGLTEPLMN_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1436 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), };
1437
1438static utlAtParameter_T starDIALE_params[] = {
1439 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1440 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)};
1441
1442static utlAtParameter_T starCSCB_params[] = {
1443 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1444 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1445 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1446 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1447 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1448
1449static utlAtParameter_T starCBMCS_params[] = {
1450 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1451 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1452
1453static utlAtParameter_T starNASCHK_params[] = {
1454 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
1455
1456static utlAtParameter_T starUSBT_params[] = {
1457 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_WRITE_ONLY, utlAT_PARAMETER_PRESENCE_REQUIRED) };
1458
1459static utlAtParameter_T starMOBILEDATA_params[] = {
1460 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_WRITE_ONLY, utlAT_PARAMETER_PRESENCE_REQUIRED),
1461 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_WRITE_ONLY, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1462
1463static utlAtParameter_T starCGATT_params[] = {
1464 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
1465
1466static utlAtParameter_T starGRIP_params[] = {
1467 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1468 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1469 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1470#if defined(ATCMD_UNIFY_CI)
1471 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1472 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)};
1473#else
1474 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)};
1475#endif
1476
1477
1478static utlAtParameter_T starCOMCFG_params[] = {
1479 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1480 utlDEFINE_DECIMAL_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1481 utlDEFINE_DECIMAL_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1482 utlDEFINE_DECIMAL_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1483 utlDEFINE_DECIMAL_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1484 utlDEFINE_DECIMAL_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1485 utlDEFINE_DECIMAL_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1486 utlDEFINE_DECIMAL_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1487 utlDEFINE_DECIMAL_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1488 utlDEFINE_DECIMAL_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1489 utlDEFINE_DECIMAL_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1490 utlDEFINE_DECIMAL_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1491 utlDEFINE_DECIMAL_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1492 utlDEFINE_DECIMAL_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1493 utlDEFINE_DECIMAL_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1494 utlDEFINE_DECIMAL_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1495 utlDEFINE_DECIMAL_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1496 utlDEFINE_DECIMAL_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1497};
1498
1499static utlAtParameter_T starCGDFLT_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1500 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1501 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1502 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1503 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1504 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1505 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1506 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1507 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1508 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1509 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1510 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1511 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1512 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1513 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1514 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1515 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1516 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1517 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1518 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1519 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
1520
1521static utlAtParameter_T starCGDFAUTH_params[] = {
1522 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1523 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1524 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1525 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1526};
1527
1528#ifdef OPERATOR_VERIZON
1529
1530static utlAtParameter_T starCGATTC_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1531 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)};
1532
1533static utlAtParameter_T starVZWTESTAPP_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1534 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1535 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1536};
1537
1538static utlAtParameter_T plusVZWAPNE_params[] = {
1539 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1540 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1541 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1542 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1543 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1544 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1545 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1546};
1547#endif
1548
1549static utlAtParameter_T starLTEBAND_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1550 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1551 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1552 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1553 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1554 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1555 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1556 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1557 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1558 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1559 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1560 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1561 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1562 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1563 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1564 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1565 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1566 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1567 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1568 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1569 };
1570
1571static utlAtParameter_T starRFTEMP_params[] = {
1572 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
1573
1574static utlAtParameter_T starCSQ_params[] = {
1575 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1576 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)};
1577
1578
1579#define TEN_OPTIONAL_DECIMAL_AT_PARAMETERS \
1580 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), \
1581 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), \
1582 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), \
1583 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), \
1584 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), \
1585 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), \
1586 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), \
1587 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), \
1588 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), \
1589 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1590
1591#define NINETY_OPTIONAL_DECIMAL_AT_PARAMETERS \
1592 TEN_OPTIONAL_DECIMAL_AT_PARAMETERS \
1593 TEN_OPTIONAL_DECIMAL_AT_PARAMETERS \
1594 TEN_OPTIONAL_DECIMAL_AT_PARAMETERS \
1595 TEN_OPTIONAL_DECIMAL_AT_PARAMETERS \
1596 TEN_OPTIONAL_DECIMAL_AT_PARAMETERS \
1597 TEN_OPTIONAL_DECIMAL_AT_PARAMETERS \
1598 TEN_OPTIONAL_DECIMAL_AT_PARAMETERS \
1599 TEN_OPTIONAL_DECIMAL_AT_PARAMETERS \
1600 TEN_OPTIONAL_DECIMAL_AT_PARAMETERS
1601
1602/*eMBMS function*/
1603static utlAtParameter_T starMBMS_params[] = {
1604 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1605 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1606 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1607 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1608 NINETY_OPTIONAL_DECIMAL_AT_PARAMETERS};
1609
1610static utlAtParameter_T starMBMSEv_params[] = {
1611 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED)};
1612/*eMBMS add end*/
1613
1614static utlAtParameter_T starLTECOEX_params[] = {
1615 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
1616
1617static utlAtParameter_T starPSPG_params[] = {
1618 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_WRITE_ONLY, utlAT_PARAMETER_PRESENCE_REQUIRED) };
1619
1620static utlAtParameter_T plusCEN_params[] = {
1621 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
1622
1623static utlAtParameter_T plusCNEM_params[] = {
1624 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
1625
1626static utlAtParameter_T plusCISRVCC_params[] = {
1627 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
1628
1629static utlAtParameter_T plusCEVDP_params[] = {
1630 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
1631
1632static utlAtParameter_T plusCVDP_params[] = {
1633 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
1634
1635static utlAtParameter_T plusCEUS_params[] = {
1636 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
1637
1638static utlAtParameter_T plusCAVIMS_params[] = {
1639 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
1640
1641static utlAtParameter_T plusCASIMS_params[] = {
1642 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
1643
1644static utlAtParameter_T plusCMMIVT_params[] = {
1645 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
1646
1647static utlAtParameter_T plusCIREP_params[] = {
1648 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
1649
1650#ifdef OPERATOR_ATT
1651//
1652// Other - AT&T specific
1653//
1654static utlAtParameter_T dollarCREG_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
1655static utlAtParameter_T dollarCCLK_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
1656
1657static utlAtParameter_T starCSG_params[] ={
1658 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1659 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1660 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1661 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1662};
1663
1664static utlAtParameter_T starIGN_params[] ={
1665 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1666 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1667 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1668 };
1669
1670static utlAtParameter_T starFRATLIST_params[] ={
1671 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1672 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1673 };
1674
1675#endif
1676
1677static utlAtParameter_T starPWRPLMN_params[] = {
1678 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
1679
1680static utlAtParameter_T starAPCFG_params[] = {
1681 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
1682
1683static utlAtParameter_T starCISCC_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1684 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1685 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1686 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1687 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1688 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1689 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
1690
1691static utlAtParameter_T starRANDFILL_params[] = {
1692 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_WRITE_ONLY, utlAT_PARAMETER_PRESENCE_REQUIRED) };
1693
1694static utlAtParameter_T starPrxySet_params[] = {
1695 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1696 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1697 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)
1698 };
1699
1700
1701
1702static utlAtParameter_T starPrxyRsp_params[] = {
1703 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1704 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1705 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1706 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1707 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1708
1709 };
1710
1711
1712static utlAtParameter_T starCHDSTST_params[] = {
1713 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED)};
1714
1715static utlAtParameter_T plusCsas_params[] = {
1716 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1717 };
1718
1719static utlAtParameter_T plusCres_params[] = {
1720 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1721 };
1722static utlAtParameter_T starPSDC_params[] = {
1723 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1724 };
1725
1726
1727static utlAtParameter_T starTelMode_params[] = {
1728 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1729 };
1730
1731static utlAtParameter_T starCBRAT_params[] = {
1732 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
1733
1734static utlAtParameter_T starIMLCONFIG_params[]={
1735 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1736 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)};
1737
1738
1739
1740 /* ADD NEW COMMON PRIMITIVES DEFINITIONS HERE */
1741static utlAtParameter_T starPCO_params[] = {
1742 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
1743
1744static utlAtParameter_T plusCSDF_params[] = {
1745 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1746 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) };
1747
1748
1749static utlAtParameter_T starCGDCONTL_params[] = { /* APPS Loopback*/
1750 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), /*CID*/
1751 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), /*IP*/
1752 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), /*mult*/
1753};
1754
1755static utlAtParameter_T starSPIND_params[] = {
1756 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
1757
1758static utlAtParameter_T plusCLAN_params[] = {
1759 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED)};
1760static utlAtParameter_T starCELLINFO_params[] =
1761 { utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED)};
1762
1763static utlAtParameter_T plusCPNER_params[] =
1764 { utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
1765static utlAtParameter_T plusCCUG_params[] = {
1766 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1767 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1768 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1769};
1770
1771static utlAtParameter_T starIMSSRV_params[] = {
1772 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) , /*imsSrvType*/
1773 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) , /*imsSrvStatus*/
1774 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) , /*srvFailCause*/
1775};
1776
1777
1778/* STK / USAT related extdened begin */
1779static utlAtParameter_T starSTKPROF_params[] = /* AT*CATPROF */
1780 { utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1781 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1782};
1783
1784static utlAtParameter_T starCATEN_params[] = /* AT*CATEN */
1785 { utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1786};
1787
1788static utlAtParameter_T starRCATR_params[] = { /* AT*RCATR */
1789 utlDEFINE_QSTRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1790};
1791
1792static utlAtParameter_T starCATTR_params[] = /* AT*CATTR*/
1793 { utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1794 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1795 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1796 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1797 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1798 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1799};
1800
1801static utlAtParameter_T starCATENV_params[] =
1802 { utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1803 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1804 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1805};
1806
1807static utlAtParameter_T starRCATE_params[] = {
1808 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1809};
1810
1811/* STK / USAT related extdened end */
1812#ifndef NO_AUDIO
1813
1814static utlAtParameter_T starAUDIOMODE_params[] = {
1815 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1816};
1817
1818static utlAtParameter_T starAUDIODEVICE_params[] = {
1819 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) , /*srvFailCause*/
1820};
1821
1822static utlAtParameter_T starAUDIOVOL_params[] = {
1823 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) , /*srvFailCause*/
1824};
1825
1826static utlAtParameter_T starAUDIOMUTE_params[] = {
1827 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) , /*srvFailCause*/
1828};
1829
1830static utlAtParameter_T starAUDREC_params[] = {
1831 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1832 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1833 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1834 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)
1835};
1836
1837static utlAtParameter_T starAUDPLAY_params[] = {
1838 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1839 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1840 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)
1841};
1842
1843static utlAtParameter_T starAUDGAIN_params[] = {
1844 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1845 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED)
1846};
1847
1848#ifdef ECALL_SUPPORT
1849static utlAtParameter_T plusCECALLINSIDE_params[] =
1850 { utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
1851
1852static utlAtParameter_T plusCECALL_params[] =
1853 { utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
1854
1855static utlAtParameter_T starECALLDATA_params[] = {
1856 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1857 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1858 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)
1859};
1860
1861static utlAtParameter_T starECALLVOICE_params[] = {
1862 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1863 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1864 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)
1865};
1866
1867static utlAtParameter_T starECALLCFG_params[] = {
1868 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1869 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1870 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)
1871};
1872
1873static utlAtParameter_T starECALLONLY_params[] = {
1874 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1875 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1876 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)
1877};
1878
1879static utlAtParameter_T starECALLREG_params[] = {
1880 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)
1881};
1882
1883static utlAtParameter_T starIMSECALLREG_params[] = {
1884 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED)
1885#if defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
1886 ,
1887 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)
1888#endif
1889};
1890
1891static utlAtParameter_T starECALLMSD_params[] = {
1892 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1893};
1894
1895static utlAtParameter_T starECALLMSDCFG_params[] = {
1896 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1897 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1898 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1899};
1900
1901static utlAtParameter_T starECALLMEDIAMSD_params[] = {
1902 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1903};
1904
1905static utlAtParameter_T starECALLOVERIMS_params[] = {
1906 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1907};
1908
1909static utlAtParameter_T starECALLSMSNUMCFG_params[] = {
1910 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED)
1911};
1912
1913static utlAtParameter_T starECALLSMS_params[] = {
1914 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED)
1915};
1916
1917static utlAtParameter_T starECALLSWITCHMODE_params[] = {
1918 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED)
1919};
1920
1921static utlAtParameter_T starECALLTMR_params[] = {
1922 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
1923 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) ,
1924};
1925
1926static utlAtParameter_T starECALLMUTESPK_params[] = {
1927 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1928};
1929
1930#endif
1931#endif
1932
1933static utlAtParameter_T plusCACL_params[] = {
1934 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) , /*simACLEnable*/
1935 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) , /*psACLEnable*/
1936};
1937
1938static utlAtParameter_T opercfg_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
1939 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1940 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1941 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1942 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1943 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1944 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1945 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1946 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1947 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1948 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1949 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1950 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1951 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1952 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1953 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1954 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1955 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1956 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1957 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1958 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1959 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1960 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1961 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1962 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1963 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1964 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1965 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1966 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1967 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1968 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1969 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1970 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1971 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1972 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1973 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1974 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1975 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1976 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1977 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1978 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1979 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1980 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1981 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1982 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1983 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1984 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1985 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1986 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1987 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1988 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1989 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1990 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1991 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1992 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1993 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1994 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1995 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1996 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
1997 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
1998
1999
2000static utlAtParameter_T starUdconf_params[] = {
2001 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2002 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2003 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)
2004};
2005
2006static utlAtParameter_T starUCGCLASS_params[] =
2007 { utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2008};
2009
2010static utlAtParameter_T starCIWLANCID_params[] = {
2011 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
2012 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
2013};
2014
2015#ifdef BT_SAP
2016// params for BT SAP
2017static utlAtParameter_T starBTSCNCT_params[] = {
2018 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
2019
2020static utlAtParameter_T starBTSTAPDU_params[] = {
2021 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2022 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
2023
2024static utlAtParameter_T starBTSCTRL_params[] = {
2025 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
2026
2027static utlAtParameter_T starBTSTP_params[] = {
2028 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
2029#endif
2030
2031static utlAtParameter_T starPARK_params[] = {
2032 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2033 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2034 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2035 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2036};
2037
2038static utlAtParameter_T startCheckEmer_params[] = {
2039 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2040};
2041
2042static utlAtParameter_T starTEMPTEST_params[] = {
2043 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) };
2044
2045
2046static utlAtParameter_T plusACONFIG_params[] = {
2047 utlDEFINE_QSTRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
2048};
2049
2050static utlAtParameter_T plusIMSFUNC_params[] = {
2051 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
2052};
2053
2054static utlAtParameter_T plusSTRESSTEST_params[] = {
2055 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
2056 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL) ,
2057};
2058
2059static utlAtParameter_T plusSULOG_params[] = {
2060 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
2061};
2062
2063static utlAtParameter_T plusMEDCR_params[] = {
2064 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
2065 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED) ,
2066 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)};
2067
2068#ifdef GPS_SUPPORT
2069static utlAtParameter_T gpsInit_params[] = {
2070 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2071};
2072
2073static utlAtParameter_T gpsSleep_params[] = {
2074 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2075};
2076
2077static utlAtParameter_T agnssGet_params[] = {
2078 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2079 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2080 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2081 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2082 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2083};
2084
2085static utlAtParameter_T agnssCfg_params[] = {
2086 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), //server
2087 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), //port
2088 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), //username
2089 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), //password
2090 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), //day
2091 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), //force
2092};
2093
2094static utlAtParameter_T gpsSet_params[] = {
2095 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2096};
2097
b.liu37ac3842025-05-26 21:22:12 +08002098
2099#else
2100//mbtk for gps add
2101static utlAtParameter_T mbtk_gpsInit_params[] = {
2102 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2103};
2104
2105static utlAtParameter_T mbtk_gpsSleep_params[] = {
2106 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2107};
2108
2109static utlAtParameter_T mbtk_agnssGet_params[] = {
2110 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2111 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2112};
2113
2114static utlAtParameter_T mbtk_agnssCfg_params[] = {
2115 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), //server
2116 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), //port
2117 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), //username
2118 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL), //password
2119 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), //day
2120 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), //force
2121};
2122
2123static utlAtParameter_T mbtk_gpsSet_params[] = {
2124 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2125};
2126
2127static utlAtParameter_T mbtk_gpsFwdl_params[] = {
2128 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2129};
2130//mbtk for gnss add
2131
b.liue9582032025-04-17 19:18:16 +08002132#endif
2133
2134static utlAtParameter_T plusCMTLRA_params[] = {
2135 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2136 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2137};
2138
2139static utlAtParameter_T starIND_params[] = {
2140 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2141};
2142
2143#ifdef CMCC_IOT
2144
2145static utlAtParameter_T miplcreate_params[] = {
2146 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2147 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2148 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2149 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2150 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2151 };
2152
2153static utlAtParameter_T mipldelete_params[] = {
2154 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2155 };
2156
2157static utlAtParameter_T mipladdobj_params[] = {
2158 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2159 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2160 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2161 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2162 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2163 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2164 };
2165
2166static utlAtParameter_T mipldelobj_params[] = {
2167 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2168 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2169
2170 };
2171
2172
2173static utlAtParameter_T miplopen_params[] = {
2174 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2175 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2176 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2177 };
2178
2179static utlAtParameter_T miplupdate_params[] = {
2180 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2181 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2182 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2183 };
2184
2185static utlAtParameter_T miplclose_params[] = {
2186 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2187 };
2188
2189static utlAtParameter_T mipldiscoverresp_params[] = {
2190 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2191 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2192 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2193 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2194 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2195 };
2196
2197static utlAtParameter_T miplreadrsp_params[] = {
2198 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2199 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2200 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2201 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2202 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2203 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2204 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2205 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2206 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2207 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2208 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2209 };
2210
2211static utlAtParameter_T miplwritersp_params[] = {
2212 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2213 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2214 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2215 };
2216
2217static utlAtParameter_T miplexecutersp_params[] = {
2218 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2219 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2220 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2221 };
2222static utlAtParameter_T miplparameterrsp_params[] = {
2223 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2224 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2225 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2226 };
2227static utlAtParameter_T miplobserversp_params[] = {
2228 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2229 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2230 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2231 };
2232
2233static utlAtParameter_T miplnotify_params[] = {
2234 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2235 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2236 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2237 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2238 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2239 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2240 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2241 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2242 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2243 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2244 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2245 };
2246#endif
2247
2248static utlAtParameter_T plusRSAPStat_params[] =
2249 { utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2250};
2251
2252static utlAtParameter_T plusRSAPSimSelect_params[] =
2253 { utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2254 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2255};
2256
2257
2258static utlAtParameter_T plusAUTOAPN_params[] = {
2259 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2260 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2261 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2262 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2263 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2264 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2265};
2266
2267static utlAtParameter_T plusVLAN_params[] = {
2268 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2269 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2270 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2271};
2272
2273static utlAtParameter_T plusZVLAN_params[] = {
2274 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2275};
2276
2277static utlAtParameter_T plusZVLANID_params[] = {
2278 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2279 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2280};
2281
2282static utlAtParameter_T plusRSAPRsp_params[] =
2283 { utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2284 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2285 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2286 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2287};
2288
2289#if !defined(CI_RELEASE_FLAG) && (defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI))
2290static utlAtParameter_T plusCWRITESIMEXT_params[] =
2291 { utlDEFINE_HEXADECIMALL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2292};
2293#endif
2294
2295static utlAtParameter_T plusSIMLOCKFUSE_params[] = { utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2296};
2297
2298static utlAtParameter_T starSIMPOLL_params[] = {
2299 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2300 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2301 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2302 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)
2303};
2304
2305static utlAtParameter_T plusCMRSS_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2306 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2307 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2308};
2309static utlAtParameter_T plusCMGSS_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2310 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2311};
2312
2313static utlAtParameter_T plusciCSMS_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2314 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2315 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2316};
2317
2318static utlAtParameter_T plusCMGMS_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2319};
2320
2321static utlAtParameter_T plusANTTUNER_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2322};
2323
2324static utlAtParameter_T starWSTAT_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2325};
2326
2327#if defined(ATCMD_UNIFY_CI) || defined(ATCMD_1903_CI) || (defined(ATCMD_1901_CI) && !defined(CI_RELEASE_FLAG))
2328static utlAtParameter_T plusSELECTVSIM_params[]={
2329 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2330 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)
2331};
2332#endif
2333
2334static utlAtParameter_T starAVSIM_params[]={
2335 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2336 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2337 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2338 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED)
2339};
2340
2341static utlAtParameter_T plusDDRFREQ_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
2342
2343
2344#ifdef LPA_SUPPORT
2345static utlAtParameter_T ctRspStrt_params[] = {
2346 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2347 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2348 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)
2349};
2350
2351static utlAtParameter_T ctRspGetInfo_params[] = {
2352 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2353 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)
2354};
2355
2356static utlAtParameter_T ctRspProfAct_params[] = {
2357 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED)
2358};
2359
2360static utlAtParameter_T ctRspNfyLeab_params[] = {
2361 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED)
2362};
2363#endif
2364
2365#if defined(ATCMD_UNIFY_CI) || defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
2366static utlAtParameter_T plusDELFBPLMN_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
2367
2368static utlAtParameter_T plusRESEDPARA_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2369 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2370 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2371 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2372};
2373
2374static utlAtParameter_T plusCOMFEATURE_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2375 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2376 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2377 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2378 utlDEFINE_QSTRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2379};
2380
2381#endif
2382
2383static utlAtParameter_T starSECCAP_params[]={
2384 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2385 utlDEFINE_HEXADECIMALL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2386 utlDEFINE_HEXADECIMALL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)};
2387
2388
2389static utlAtParameter_T plusL1DEBUG_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),};
2390
2391static utlAtParameter_T starZIPPASS_params[]={
2392 utlDEFINE_HEXADECIMALL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED)};
2393
2394#if defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI) || defined(ATCMD_UNIFY_CI)
2395static utlAtParameter_T starDspInfo_params[]={
2396 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2397 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2398 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)};
2399#endif
2400
2401
2402#if defined(ATCMD_1802S_CI) || defined(ATCMD_UNIFY_CI) || defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
2403static utlAtParameter_T starBandScan_params[] = {
2404 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2405 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2406 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2407 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2408 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2409 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2410 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)
2411};
2412#endif
2413
2414static utlAtParameter_T starREJECTCAUSE_params[] = {
2415 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2416};
2417
2418#if defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
2419#ifdef ENABLE_WIFI_SCAN
2420static utlAtParameter_T starWifiCtrl_params[] = {
2421 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2422 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2423 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2424 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2425 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)
2426 };
2427#endif
2428
2429static utlAtParameter_T plusCRUEPOLICY_params[] = {
2430 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED)
2431};
2432
2433static utlAtParameter_T plusCSUEPOLICY_params[] = {
2434 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2435 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2436 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2437 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)
2438};
2439
2440static utlAtParameter_T plusC5GREG_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED), };
2441
2442static utlAtParameter_T plusC5GQOS_params[] = {
2443 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2444 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2445 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2446 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2447 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2448 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL)
2449};
2450
2451static utlAtParameter_T starUTTest_params[] = {
2452 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2453 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2454 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2455 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2456};
2457
2458static utlAtParameter_T plusC5GNSSAI_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2459 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2460};
2461
2462static utlAtParameter_T plusC5GPNSSAI_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2463 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2464};
2465
2466static utlAtParameter_T plusC5GNSSAIRDP_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2467 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2468};
2469
2470static utlAtParameter_T starAPPSTART_params[] = {
2471 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2472 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2473 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2474 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2475 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2476 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2477 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2478 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2479 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2480 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2481 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2482};
2483
2484static utlAtParameter_T starSETUEOSID_params[] = {
2485 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2486};
2487
2488static utlAtParameter_T plusC5GCAPA_params[] = {
2489 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2490 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2491 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2492};
2493
2494static utlAtParameter_T plusCWUS_params[] = {
2495 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2496 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2497};
2498
2499static utlAtParameter_T plusCLADN_params[] = {
2500 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2501};
2502
2503static utlAtParameter_T plusCMICO_params[] = {
2504 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2505 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2506 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2507};
2508
2509static utlAtParameter_T starOverheat_params[] = {
2510 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2511};
2512
2513static utlAtParameter_T starVoltageFreq_params[] = {
2514 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2515};
2516
2517static utlAtParameter_T plus5GURSPQRY_params[] = {
2518 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2519 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2520 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2521 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2522 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2523 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2524 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2525 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2526 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2527 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2528 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2529 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2530 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2531 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2532 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2533 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2534 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2535 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2536 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2537};
2538
2539#endif
2540
2541#if defined(ATCMD_UNIFY_CI)
2542static utlAtParameter_T plusCFGRPMSWITCH_params[] = {
2543 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED)
2544};
2545
2546static utlAtParameter_T plusCFGRPMPARA_params[] = {
2547 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2548 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2549 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2550 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2551 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2552 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2553};
2554
2555static utlAtParameter_T plusCFGRPMCLR_params[] = {
2556 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2557 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2558 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2559};
2560#endif
2561
2562static utlAtParameter_T plusBTMAC_params[] = {
2563 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2564 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2565};
2566
2567#ifdef WIFI_ATCMD
2568static utlAtParameter_T plusWIFI_params[] = {
2569 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2570};
2571#endif
2572
2573#if defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
2574static utlAtParameter_T plusCDNID_params[] = {
2575 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2576 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2577};
2578
2579static utlAtParameter_T starCAG_params[] = {
2580 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2581 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2582 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2583 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2584};
2585
2586static utlAtParameter_T plusC5GUSMS_params[] = {
2587 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2588 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2589};
2590
2591static utlAtParameter_T starLOCALURSP_params[] = {
2592 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2593 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2594 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2595 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2596 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2597 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2598 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2599 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2600 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2601 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2602 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2603};
2604
2605static utlAtParameter_T starTSNCTRL_params[] = {
2606 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2607 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2608 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2609 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2610 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2611};
2612
2613#ifdef NR_POSITION_SUPPORT
2614static utlAtParameter_T starPOSFUN_params[] = { utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2615 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2616 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2617 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2618 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2619 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2620};
2621#endif
2622
2623#endif
2624
2625static utlAtParameter_T starSELECTSIMSLOT_params[] = {
2626 utlDEFINE_DECIMAL_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2627 utlDEFINE_STRING_AT_PARAMETER(utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2628};
2629
2630#if defined(ATCMD_UNIFY_CI) || defined(ATCMD_1802S_CI)|| defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
2631static utlAtParameter_T starBLACKCELL_params[] = {
2632 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2633 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2634 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2635};
2636
2637
2638static utlAtParameter_T starCSCO_params[] = {
2639 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2640 utlDEFINE_STRING_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2641 utlDEFINE_STRING_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2642 utlDEFINE_STRING_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2643 utlDEFINE_STRING_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2644 utlDEFINE_STRING_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2645 utlDEFINE_STRING_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2646};
2647
2648
2649#endif
2650
2651static utlAtParameter_T starEEH_params[] = {
2652 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2653};
2654
2655static utlAtParameter_T starDEVTEST_params[] = {
2656 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2657 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2658};
2659
2660#if defined(ATCMD_UNIFY_CI) || defined(ATCMD_1903_CI) || (defined(ATCMD_1901_CI) && !defined(CI_RELEASE_FLAG))
2661static utlAtParameter_T plusRDNURI_params[] = {
2662 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2663 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2664};
2665#endif
2666
2667#if defined(ATCMD_UNIFY_CI) || defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
2668static utlAtParameter_T starReg_params[] = { utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2669 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2670 utlDEFINE_STRING_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),};
2671#endif
2672
2673static utlAtParameter_T starcgdataon_params[] = {
2674 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2675};
2676
2677
2678#ifdef CUSTQ
2679#if defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
2680static utlAtParameter_T plusqnwprefcfg_params[] = {
2681 utlDEFINE_STRING_AT_PARAMETER ( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_REQUIRED),
2682 utlDEFINE_DECIMAL_AT_PARAMETER( utlAT_PARAMETER_ACCESS_READ_WRITE, utlAT_PARAMETER_PRESENCE_OPTIONAL),
2683};
2684#endif
2685#endif
2686
hong.liuc8c95bb2025-05-26 06:02:18 -07002687#ifdef MBTK_AT_SUPPORT
2688 #define MBTK_AT_COMMAND_PARAM
2689 #include "mbtk_at_tables.h"
2690 #undef MBTK_AT_COMMAND_PARAM
2691#endif
2692
2693#ifdef MBTK_AT_SUPPORT
2694 #define MBTK_AT_COMMAND_FUNCTION
2695 #include "mbtk_at_tables.h"
2696 #undef MBTK_AT_COMMAND_FUNCTION
2697#endif
b.liue9582032025-04-17 19:18:16 +08002698
2699static utlAtCommand_T shell_commands[] = {
2700 utlDEFINE_BASIC_AT_COMMAND("E", E_params, atParserShellSetFunction),
2701 utlDEFINE_BASIC_AT_COMMAND("I", I_params, atParserShellSetFunction),
2702 utlDEFINE_BASIC_AT_COMMAND("L", L_params, atParserShellSetFunction),
2703 utlDEFINE_BASIC_AT_COMMAND("M", M_params, atParserShellSetFunction),
2704 utlDEFINE_BASIC_AT_COMMAND("O", O_params, atParserShellSetFunction),
2705 utlDEFINE_BASIC_AT_COMMAND("P", P_params, atParserShellSetFunction),
2706 utlDEFINE_BASIC_AT_COMMAND("Q", Q_params, atParserShellSetFunction),
2707 utlDEFINE_BASIC_AT_COMMAND("T", T_params, atParserShellSetFunction),
2708 utlDEFINE_BASIC_AT_COMMAND("V", V_params, atParserShellSetFunction),
2709 utlDEFINE_BASIC_AT_COMMAND("X", X_params, atParserShellSetFunction),
2710 utlDEFINE_BASIC_AT_COMMAND("Z", Z_params, atParserShellSetFunction),
2711 utlDEFINE_BASIC_AT_COMMAND("&C", ampC_params, atParserShellSetFunction),
2712 utlDEFINE_BASIC_AT_COMMAND("&D", ampD_params, atParserShellSetFunction),
2713 utlDEFINE_BASIC_AT_COMMAND("&F", ampF_params, atParserShellSetFunction),
2714 utlDEFINE_BASIC_AT_COMMAND("&S", ampS_params, atParserShellSetFunction),
2715 utlDEFINE_BASIC_AT_COMMAND("&Z", ampZ_params, atParserShellSetFunction),
2716 utlDEFINE_BASIC_AT_COMMAND("S0", S0_params, atParserShellSetFunction),
2717
2718
2719 //
2720 // General
2721 //
2722 // Built-in ACTION COMMAND
2723 utlDEFINE_EXACTION_AT_COMMAND("+CGMI", NULL, NULL, atParserShellGetFunction),
2724 utlDEFINE_EXACTION_AT_COMMAND("+CGMM", NULL, NULL, atParserShellGetFunction),
2725 utlDEFINE_EXACTION_AT_COMMAND("+CGMR", NULL, NULL, ciZVN),
2726 utlDEFINE_EXACTION_AT_COMMAND("+CGSN", NULL, NULL, ciCGSN),
2727 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CSCS", plusCSCS_params, ciCSCS, ciCSCS, ciCSCS), //27.007 rls14 5.5
2728 utlDEFINE_EXACTION_AT_COMMAND("+CIMI", NULL, NULL, ciGetImsi),
2729
2730 utlDEFINE_EXTENDED_AT_COMMAND("+ASTO", plusASTO_params, "+ASTO: (0-" utlStringize(utlAT_MAX_STORED_DIAL_STRINGS) "),(" utlStringize(utlAT_MAX_STORED_DIAL_STRING_LENGTH) ")", atParserShellGetFunction, atParserShellSetFunction),
2731 utlDEFINE_EXTENDED_AT_COMMAND("+GMI", NULL, NULL, atParserShellGetFunction, atParserShellSetFunction),
2732 utlDEFINE_EXTENDED_AT_COMMAND("+GMM", NULL, NULL, atParserShellGetFunction, atParserShellSetFunction),
2733 utlDEFINE_EXACTION_AT_COMMAND("+GMR", NULL, NULL, ciZVN),
2734 utlDEFINE_EXACTION_AT_COMMAND("+GSN", NULL, NULL, ciCGSN),
2735 utlDEFINE_EXTENDED_AT_COMMAND("+GOI", NULL, "+GOI", atParserShellGetFunction, atParserShellSetFunction),
2736 utlDEFINE_EXTENDED_AT_COMMAND("+GCAP", NULL, "+GCAP", atParserShellGetFunction, atParserShellSetFunction),
2737 utlDEFINE_EXTENDED_AT_COMMAND("+GCI", NULL, "+GCI", atParserShellGetFunction, atParserShellSetFunction),
2738 utlDEFINE_EXTENDED_AT_COMMAND("+IPR", plusIPR_params, "+IPR: (0,1200,9600),(0,50,75,110,134,150,200,300,600,1200,1800,2400,4800,7200,9600,14400,19200,28800,38400,57600,76800,115200,230400)", atParserShellGetFunction, atParserShellSetFunction),
2739 utlDEFINE_EXTENDED_AT_COMMAND("+ICF", plusICF_params, "+ICF: (0-6),(0-3)", atParserShellGetFunction, atParserShellSetFunction),
2740 utlDEFINE_EXTENDED_AT_COMMAND("+IFC", plusIFC_params, "+IFC: (0-3),(0-2)", atParserShellGetFunction, atParserShellSetFunction),
2741 utlDEFINE_EXTENDED_AT_COMMAND("+IDSR", plusIDSR_params, "+IDSR: (0-2)", atParserShellGetFunction, atParserShellSetFunction),
2742
2743 utlDEFINE_EXTENDED_AT_COMMAND("+EXAMPLE", plusEXAMPLE_params, "+EXAMPLE: (0-9)", atParserShellGetFunction, atParserShellSetFunction),
2744 utlDEFINE_EXACTION_AT_COMMAND("^HVER", NULL, "^HVER", ciGetHVER),
2745
2746 /*For "AT" command */
2747 utlDEFINE_BASIC_AT_COMMAND(" ", NULL, ciAT),
2748
2749 //
2750 // Call Control
2751 //
2752 utlDEFINE_BASIC_AT_COMMAND("A", A_params, ciAnswerCall),
2753 utlDEFINE_BASIC_AT_COMMAND("D", D_params, ciMakeCall),
2754 utlDEFINE_BASIC_AT_COMMAND("H", H_params, ciReleaseCall),
2755 utlDEFINE_EXTENDED_AT_COMMAND("+MVSYNAUD", NULL, NULL, NULL, ciSyncAudio),
2756 utlDEFINE_EXTENDED_AT_COMMAND("+CDU", plusCDU_params, "+CDU: \"sip\", \"tel\", \"urn\"", ciMakeCallU, ciMakeCallU),
2757 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CMOD", plusCMOD_params, ciCallModeReq, ciCallModeReq, ciCallModeReq),
2758 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CBST", plusCBST_params, ciSelectBST, ciSelectBST, ciSelectBST),
2759 utlDEFINE_EXTENDED_AT_COMMAND("+CVHU", plusCVHU_params, "+CVHU: (0-2)", ciCVHU, ciCVHU),
2760 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CRLP", plusCRLP_params, ciSelRLP, ciSelRLP, ciSelRLP),
2761 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CMUT", plusCMUT_params, ciMute, ciMute, ciMute),
2762 utlDEFINE_EXTENDED_AT_COMMAND("+ECHUPVT", eCHUPVT_params, "+ECHUPVT: (0-127)", ciHangupVT,ciHangupVT),
2763 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CTTY", plusCTTY_params, ciConfTTY, ciConfTTY, ciConfTTY),
2764
2765
2766 //
2767 // Network Service Related
2768 //
2769 utlDEFINE_EXTENDED_AT_COMMAND("+CREG", plusCREG_params, "+CREG: (0-3)", ciRegStatus, ciRegStatus),
2770 utlDEFINE_EXTENDED_AT_COMMAND("+CIND", NULL, "+CIND: (\"signal\",(0-5))", ciIndStatus, ciIndStatus),
2771 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+COPS", plusCOPS_params, ciOperSel, ciOperSel, ciOperSel),
2772 utlDEFINE_EXTENDED_AT_COMMAND("+CPOL", plusCPOL_params, "+CPOL: (1-254),(0-2),<oper string>,<GSM_AcT>,<GSM_Compact_AcT>,<UTRAN_AcT>", ciPrefOper, ciPrefOper),
2773 utlDEFINE_EXACTION_AT_COMMAND("+COPN", NULL, NULL, ciCOPN),
2774
2775 utlDEFINE_EXTENDED_AT_COMMAND("+CLCK", plusCLCK_params, "+CLCK: (\"CS\", \"PS\", \"PF\", \"SC\", \"AO\", \"OI\", \"OX\", \"AI\", \"IR\", \"NT\", \"NM\", \"NS\", \"NA\", \"AB\", \"AG\", \"AC\", \"FD\", \"PN\", \"PU\", \"PP\", \"PC\" )", ciCLCK, ciCLCK),
2776
2777 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CPWD", plusCPWD_params, ciPassword, ciPassword, ciPassword),
2778
2779 utlDEFINE_EXTENDED_AT_COMMAND("+CLIP", plusCLIP_params, "+CLIP: (0-1)", ciCLIP, ciCLIP),
2780 utlDEFINE_EXTENDED_AT_COMMAND("+CLIR", plusCLIR_params, "+CLIR: (0-2)", ciCallIDRes, ciCallIDRes),
2781 utlDEFINE_EXTENDED_AT_COMMAND("+COLP", plusCOLP_params, "+COLP: (0-1)", ciCOLP, ciCOLP),
2782 utlDEFINE_EXTENDED_AT_COMMAND("+COLR", plusCOLR_params, "+COLR? ", ciCOLR, ciCOLR),
2783 utlDEFINE_EXTENDED_AT_COMMAND("+CNAP", plusCNAP_params, "+CNAP: (0-1)", ciCNAP, ciCNAP),
2784
2785 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CCFC", plusCCFC_params, ciCallForward, ciCallForward, ciCallForward),
2786
2787 utlDEFINE_EXTENDED_AT_COMMAND("+CCWA", plusCCWA_params, "+CCWA: (0-1)", ciCallWaiting, ciCallWaiting),
2788 utlDEFINE_EXTENDED_AT_COMMAND("+CHLD", plusCHLD_params, "+CHLD:(0, 1, 1x, 2, 2x, 3, 4)[,<ect_number>]", ciHoldCall, ciHoldCall),
2789 utlDEFINE_EXTENDED_AT_COMMAND("+CUSD", plusCUSD_params, "+CUSD: (0-2)", ciCUSD, ciCUSD),
2790 utlDEFINE_EXTENDED_AT_COMMAND("+CAOC", plusCAOC_params, "+CAOC: (0-2)", ciAdviceOfCharge, ciAdviceOfCharge),
2791 utlDEFINE_EXTENDED_AT_COMMAND("+VTS", plusVTS_params, "+VTS: <DTMF>, (300-600)", ciSendDTMF, ciSendDTMF),
2792 utlDEFINE_EXTENDED_AT_COMMAND("+VTD", plusVTD_params, "+VTD: (0-65535), (0-65535)", ciVTD, ciVTD),
2793 utlDEFINE_EXTENDED_AT_COMMAND("+CSSN", plusCSSN_params, "+CSSN: (0-1), (0-1)", ciCSSN, ciCSSN),
2794 utlDEFINE_EXACTION_AT_COMMAND("+CLCC", NULL, NULL, ciCallList),
2795 utlDEFINE_EXTENDED_EXACTION_VSYNTAX_AT_COMMAND("+CEER", NULL, ciErrorReport, ciErrorReport, ciErrorReport),
2796 utlDEFINE_EXACTION_AT_COMMAND("+PEER", NULL, "+PEER:", ciPdpErrorReport),
2797 utlDEFINE_EXACTION_AT_COMMAND("+CSQ", NULL, "+CSQ: (0-31,99),(0-7,99)", ciSignalQuality),
2798 utlDEFINE_EXTENDED_AT_COMMAND("*REJCAUSE", starREJCAUSE_params, "*REJCAUSE: (0-2)", cistarREJCAUSE, cistarREJCAUSE),
2799#if defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
2800 utlDEFINE_EXTENDED_AT_COMMAND("+CEDRXS", plusCEDRXS_params, "+CEDRXS: (0-3),(1-9),<eDrx>", ciCEDRXS, ciCEDRXS), //27.007 rls14 7.40
2801#else
2802 utlDEFINE_EXTENDED_AT_COMMAND("+CEDRXS", plusCEDRXS_params, "+CEDRXS: (0-3),(1-5),<eDrx>", ciCEDRXS, ciCEDRXS), //27.007 rls14 7.40
2803#endif
2804 utlDEFINE_EXACTION_AT_COMMAND("+CEDRXRDP", NULL, "+CEDRXRDP", ciCEDRXRDP), //27.007 rls14 7.41
2805
2806 //
2807 // Mobile Control and Status
2808 //
2809 utlDEFINE_EXACTION_AT_COMMAND("+CPAS", NULL, "+CPAS: (0,1,2,3,4,5,6)", ciDevStatus),
2810 utlDEFINE_EXTENDED_AT_COMMAND("+CFUN", plusCFUN_params, "+CFUN: (0,1,3,4,5,6),(0-1)", ciFuncSet, ciFuncSet),
2811 utlDEFINE_EXTENDED_AT_COMMAND("*CFUN", starCFUN_params, "*CFUN: (0,1,4,5,6,9),(0-1),(0,1),(0-63)", ciFuncCpConfig, ciFuncCpConfig),
2812 utlDEFINE_EXTENDED_AT_COMMAND("+CPIN", plusCPIN_params, "+CPIN: ", ciEnterPin, ciEnterPin),
2813 utlDEFINE_EXTENDED_AT_COMMAND("+ZSEC", plusZSEC_params, "+ZSEC: ", ciZSEC, ciZSEC),
2814 utlDEFINE_EXTENDED_AT_COMMAND("+CPIN2", plusCPIN2_params, "+CPIN2: ", ciEnterPin2, ciEnterPin2),
2815 utlDEFINE_EXTENDED_AT_COMMAND("+EPIN", NULL, "+EPIN: (0-3),(0-3),(0-10),(0-10)", ciGetPinRetryTimes, ciGetPinRetryTimes),
2816 utlDEFINE_EXTENDED_AT_COMMAND("*SIMDETEC", starSIMDETEC_params, "*SIMDETEC: (1,2)", ciDetectSIM, ciDetectSIM),
2817 utlDEFINE_EXTENDED_AT_COMMAND("^SPN", plusSPN_params, "^SPN: (list of supported < spn_type >)",ciGetSpn, ciGetSpn),
2818
2819 utlDEFINE_EXTENDED_AT_COMMAND("+CTZR", plusCTZR_params, "+CTZR: (0-2)", ciCTZR, ciCTZR),
2820 utlDEFINE_EXTENDED_AT_COMMAND("+CTZU", plusCTZU_params, "+CTZU:", ciCTZU, ciCTZU),
2821 utlDEFINE_EXTENDED_AT_COMMAND("*CTZR", plusCTZR_params, "*CTZR:", cistarCTZR, cistarCTZR),
2822 utlDEFINE_EXTENDED_AT_COMMAND("+CCLK", plusCCLK_params, "", ciCCLK, ciCCLK),
2823 utlDEFINE_EXACTION_AT_COMMAND("*PINCNT", NULL, "", ciReadPINCNT),
2824 utlDEFINE_EXTENDED_AT_COMMAND("+CUAD", plusCUAD_params, "+CUAD: (0,1)", ciCUAD, ciCUAD), //27.007 rls14 8.49
2825
2826 // PB
2827 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CPBS", plusCPBS_params, ciSelectPBStorage, ciSelectPBStorage, ciSelectPBStorage),
2828 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CPBR", plusCPBR_params, ciReadPB, ciReadPB, ciReadPB),
2829 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CPBW", plusCPBW_params, ciWritePB, ciWritePB, ciWritePB),
2830 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*CPBR", plusCPBR_params, ciReadPBExt, ciReadPBExt, ciReadPBExt),
2831 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*CPBS", plusCPBS_params, ciStarSelectPBStorage, ciStarSelectPBStorage, ciStarSelectPBStorage),
2832
2833 /*utlDEFINE_EXACTION_AT_COMMAND("+CNUM", NULL, "+CNUM: ", ciGetSubscriber),*/
2834 //Added by Michal Bukai
2835 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CPBF", plusCPBF_params, ciFindPBEntries, ciFindPBEntries, ciFindPBEntries),
2836
2837 utlDEFINE_EXTENDED_AT_COMMAND("+CSVM", plusCSVM_params, "+CSVM: <0-1>[,<number>[,<129,145,161,177,193,241>]]", ciCSVM, ciCSVM),
2838
2839 // SIM
2840 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CSIM", plusCSIM_params, ciGenericAccessSim, ciGenericAccessSim, ciGenericAccessSim),
2841 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CRSM", plusCRSM_params, ciRestrictedAccessSIM, ciRestrictedAccessSIM, ciRestrictedAccessSIM),
2842//Michal Bukai - ISIM/NFC support - START
2843 utlDEFINE_EXTENDED_AT_COMMAND("+CGLA", plusCGLA_params, "+CGLA: <sessionid>,<lengh>,<cmd>", ciCGLA, ciCGLA),
2844 utlDEFINE_EXTENDED_AT_COMMAND("+CRLA", plusCRLA_params,
2845 "+CRLA: <sessionid>,<cmd>[,<fieldid>[,<p1>,<p2>,<p3>[,<data>]]]", ciCRLA, ciCRLA),
2846 utlDEFINE_EXTENDED_AT_COMMAND("+CCHO", plusCCHO_params, "+CCHO: <dfname>", ciCCHO, ciCCHO),
2847 utlDEFINE_EXTENDED_AT_COMMAND("+CCHC", plusCCHC_params, "+CCHC: <sessionid>", ciCCHC, ciCCHC),
2848//Michal Bukai - ISIM/NFC support - END
2849 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+MSTK", plusMSTK_params, ciSTK, ciSTK, ciSTK),
2850 utlDEFINE_EXTENDED_AT_COMMAND("*EUICC", NULL, "*EUICC:", ciEUICC, ciEUICC),
2851
2852 // Call Meter
2853 utlDEFINE_EXTENDED_AT_COMMAND("+CACM", plusCACM_params, "+CACM:(0 - FFFFFF)", ciAccumReq, ciAccumReq),
2854 utlDEFINE_EXTENDED_AT_COMMAND("+CAMM", plusCAMM_params, "+CAMM:(000000 - FFFFFF)", ciAccumMaxReq, ciAccumMaxReq),
2855 utlDEFINE_EXTENDED_AT_COMMAND("+CCWE", plusCCWE_params, "+CCWE:(0,1)", ciCCWE, ciCCWE),
2856 utlDEFINE_EXTENDED_AT_COMMAND("*ADMINDATA", NULL, "*ADMINDATA?", ciADMINDATA, ciADMINDATA),
2857
2858 //
2859 // Packet Domain
2860 //
2861 utlDEFINE_EXTENDED_AT_COMMAND("+CGREG", plusCGREG_params, "+CGREG: (0-3)", ciPSRegStatus, ciPSRegStatus),
2862 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CGATT", plusCGATT_params, ciPSAttach, ciPSAttach, ciPSAttach),
2863 utlDEFINE_EXTENDED_AT_COMMAND("+ZGACT", plusCGACT_params, "+ZGACT: (0,1)", ciZPDPActivate, ciZPDPActivate),
2864 utlDEFINE_EXTENDED_AT_COMMAND("+CGACT", plusCGACT_params, "+CGACT: (0,1)", ciPDPActivate, ciPDPActivate),
2865 utlDEFINE_EXTENDED_AT_COMMAND("+CGDATA", plusCGDATA_params, "+CGDATA: (\"\"), ( 1-" utlStringize(CI_PS_MAX_PDP_CTX_NUM) ")", NULL, ciEnterData),
2866 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+ZGDCONT", plusZGDCONT_params,ciSetZContext, ciSetZContext, ciSetZContext),
2867 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*ZGDCONT", starZGDCONT_params, ciSetStarZContext, ciSetStarZContext, ciSetStarZContext),
2868 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+ZGDCONTEX", plusZGDCONTEX_params,ciSetZConfEx, ciSetZConfEx, ciSetZConfEx),
2869 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*NETMASK", plusNETMASK_params,ciSetNetmask, ciSetNetmask, ciSetNetmask),
2870 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*MTU", starMTU_params,ciMTUConfig, ciMTUConfig, ciMTUConfig),
2871
2872
2873 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CGDCONT", plusCGDCONT_params,ciSetContext, ciSetContext, ciSetContext),
2874 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CGDSCONT", plusCGDSCONT_params, ciSetSContext, ciSetSContext, ciSetSContext),
2875 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CGQMIN", plusCGQMIN_params, ciSetMinQOS, ciSetMinQOS, ciSetMinQOS),
2876 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CGQREQ", plusCGQREQ_params, ciSetReqQOS, ciSetReqQOS, ciSetReqQOS),
2877 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CGEQREQ", plusCGEQREQ_params, ciSet3GQOS, ciSet3GQOS, ciSet3GQOS),
2878 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CGEQMIN", plusCGEQMIN_params, ciSet3GminQOS, ciSet3GminQOS, ciSet3GminQOS),
2879 utlDEFINE_EXTENDED_AT_COMMAND("*REPORTIP", plusREPORTIP_params, NULL, ciReportIP, ciReportIP),
2880 utlDEFINE_EXTENDED_AT_COMMAND("*RZGDCONT", starRZGDCONT_params, NULL, ciReportZgdcont, ciReportZgdcont),
2881
2882 utlDEFINE_EXTENDED_AT_COMMAND("+GETIP", plusGETIP_params, NULL, ciReturnIp, ciReturnIp),
2883 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*TGSINK", plusTGSINK_params, ciGpTGSINK, ciGpTGSINK, ciGpTGSINK),
2884 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*TGSINK", plusTGSINK_params, ciGpTGSINK, ciGpTGSINK, ciGpTGSINK),
2885
2886 utlDEFINE_EXTENDED_AT_COMMAND("+CGSEND", plusCGSEND_params, "+CGSEND: (0-20000)", ciCGSend, ciCGSend),
2887
2888 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*ICSSINK", plusICSSink_params, ciCsDataSink, ciCsDataSink, ciCsDataSink),
2889 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+ZGPCOAUTH", plusZAUTHReq_params,ciZAUTHReq, ciZAUTHReq, ciZAUTHReq),
2890 utlDEFINE_EXTENDED_AT_COMMAND("*AUTHReq", plusAUTHReq_params,"*AUTHReq: <cid>,<type>(0-None;1-PAP;2-CHAP),<UserName>,<Password>", ciAUTHReq, ciAUTHReq),//Michal Bukai - PAP_CHAP support (PDP Authentication)
2891 // Commands from TIA IS 101
2892 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+FCLASS", plusFCLASS_params, ciFaxClass, ciFaxClass, ciFaxClass),
2893
2894#if defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
2895 utlDEFINE_EXTENDED_AT_COMMAND("+C5GREG",plusC5GREG_params, "+C5GREG:(0-3)", ciC5GREG, ciC5GREG), //rls16 10.1.47
2896 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+C5GQOS",plusC5GQOS_params, ciC5GQOS, ciC5GQOS, ciC5GQOS), //rls16 10.1.49
2897 utlDEFINE_EXTENDED_AT_COMMAND("+CRUEPOLICY",plusCRUEPOLICY_params, "+CRUEPOLICY", ciCRUEPOLICY, ciCRUEPOLICY), //rls16 10.1.51
2898 utlDEFINE_EXTENDED_AT_COMMAND("+CSUEPOLICY",plusCSUEPOLICY_params, "+CSUEPOLICY", ciCSUEPOLICY, ciCSUEPOLICY), //rls16 10.1.52
2899 utlDEFINE_EXTENDED_AT_COMMAND("+CMICO",plusCMICO_params, "+CMICO:(0-2),(0,1)", ciCMICO, ciCMICO), //rls16 10.1.54
2900 utlDEFINE_EXTENDED_AT_COMMAND("+CLADN",plusCLADN_params, "+CLADN:(0,1)", ciCLADN, ciCLADN), //rls16 10.1.61
2901 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+C5GNSSAI", plusC5GNSSAI_params, ciDefaultNssai, ciDefaultNssai, ciDefaultNssai), //rls16 10.1.62
2902 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+C5GNSSAIRDP", plusC5GNSSAIRDP_params, ciGetNssai, ciGetNssai, ciGetNssai), //rls16 10.1.63
2903 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+C5GPNSSAI", plusC5GPNSSAI_params, ciPreferredNssai, ciPreferredNssai, ciPreferredNssai), //rls16 10.1.64
2904
2905 utlDEFINE_EXTENDED_AT_COMMAND("*APPSTART", starAPPSTART_params, "*APPSTART", ciAPPSTART, ciAPPSTART),
2906 utlDEFINE_EXTENDED_AT_COMMAND("*SETUEOSID", starSETUEOSID_params, "*SETUEOSID", ciSETUEOSID, ciSETUEOSID),
2907 utlDEFINE_EXTENDED_AT_COMMAND("*UTTEST", starUTTest_params, "*UTTEST: <1,0>, <1,2>, <1-3>, <1-0x7FFFFFFF>", ciUTTest, ciUTTest),
2908 utlDEFINE_EXTENDED_AT_COMMAND("+C5GCAPA",plusC5GCAPA_params, "+C5GCAPA:(0-14),(15-29),(0,1)", ciC5GCAPA, ciC5GCAPA),
2909 utlDEFINE_EXTENDED_AT_COMMAND("+CWUS",plusCWUS_params, "+CWUS:(0-2),(0-255)", ciCWUS, ciCWUS),
2910 utlDEFINE_EXTENDED_AT_COMMAND("*overheat", starOverheat_params, "*overheat: (0-3)", ciOverheat, ciOverheat),
2911 utlDEFINE_EXTENDED_AT_COMMAND("*voltagefreq", starVoltageFreq_params, "*voltagefreq: (0-1)", ciVoltageFreq, ciVoltageFreq),
2912 utlDEFINE_EXTENDED_AT_COMMAND("+C5GURSPQRY", plus5GURSPQRY_params, "+C5GURSPQRY", ciC5GURSPQRY, ciC5GURSPQRY),
2913#ifdef CTCC_SLICING_FEATURE
2914 utlDEFINE_EXTENDED_AT_COMMAND("+Z5GTD", plus5GURSPQRY_params, "+Z5GTD", ciZ5GTD, ciZ5GTD),
2915#endif
2916
2917#endif
2918
2919 //
2920 // SMS
2921 //
2922 utlDEFINE_EXTENDED_AT_COMMAND("+CMGF", plusCMGF_params, "+CMGF: (0,1)", ciMsgFormat, ciMsgFormat),
2923 utlDEFINE_EXTENDED_AT_COMMAND("*CMGF", starCMGF_params, "*CMGF: proxyID[,0/1]", ciStarMsgFormat, ciStarMsgFormat),
2924 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*CSCS", starCSCS_params, ciStarCSCS, ciStarCSCS, ciStarCSCS),
2925
2926 utlDEFINE_EXTENDED_AT_COMMAND("+CMSS", plusCMSS_params, NULL, ciSendStoredMsg, ciSendStoredMsg),
2927 utlDEFINE_EXTENDED_AT_COMMAND("+CMGS", plusCMGS_params, NULL, ciSendMsg, ciSendMsg),
2928 utlDEFINE_EXTENDED_AT_COMMAND("+CMGC", plusCMGC_params, NULL, ciSendCommand, ciSendCommand),
2929 utlDEFINE_EXTENDED_AT_COMMAND("+CMGR", plusCMGR_params, NULL, ciReadMsg, ciReadMsg),
2930 utlDEFINE_EXTENDED_AT_COMMAND("+CMGW", plusCMGW_params, NULL, ciStoreMsg, ciStoreMsg),
2931 utlDEFINE_EXTENDED_AT_COMMAND("+CSCA", plusCSCA_params, NULL, ciSrvCenterAddr, ciSrvCenterAddr),
2932 utlDEFINE_EXTENDED_AT_COMMAND("+CSCB", plusCSCB_params, "+CSCB:(0,1)", ciSelectCbMsgType, ciSelectCbMsgType),
2933 utlDEFINE_EXTENDED_AT_COMMAND("+CNMI", plusCNMI_params, "+CNMI: (0-2),(0-3),(0,2,3),(0-1),(0-1)", ciNewMsgInd, ciNewMsgInd),
2934 utlDEFINE_EXTENDED_AT_COMMAND("+CGSMS", plusCGSMS_params, "+CGSMS: (0-3)", ciSetMoService, ciSetMoService),
2935 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CMMS", plusCMMS_params, ciSetMoreMsgToSend, ciSetMoreMsgToSend, ciSetMoreMsgToSend),
2936 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CMGD", plusCGMD_params, ciDeleteMsg, ciDeleteMsg, ciDeleteMsg),
2937 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CMGL", plusCMGL_params, ciListMsg, ciListMsg, ciListMsg),
2938 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CSMS", plusCSMS_params, ciSelectSmsSrv, ciSelectSmsSrv, ciSelectSmsSrv),
2939 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CPMS", plusCPMS_params, ciPrefStorage, ciPrefStorage, ciPrefStorage),
2940 utlDEFINE_EXTENDED_AT_COMMAND("+CSDH", plusCSDH_params, "+CSDH: (0,1)", ciShowTextParam, ciShowTextParam),
2941 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CNMA", plusCNMA_params, ciNewMsgAck, ciNewMsgAck, ciNewMsgAck),
2942 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CSMP", plusCSMP_params, ciSetTextModeParam, ciSetTextModeParam, ciSetTextModeParam),
2943 utlDEFINE_EXACTION_AT_COMMAND("*RCACHEDSMS", NULL, "*RCACHEDSMS", ciReportCachedSMS),
2944 utlDEFINE_EXTENDED_AT_COMMAND("^LKSMSSTA", plusLKSMSSTA_params, "^LKSMSSTA: (0-1)", ciLockSMSStatus, ciLockSMSStatus),
2945
2946 // Non 3GPP ACTION COMMAND
2947 utlDEFINE_EXACTION_AT_COMMAND("+CGCI", NULL, "+CGCI", atParserShellGetFunction),
2948 utlDEFINE_EXACTION_AT_COMMAND("+CGOI", NULL, "+CGOI", atParserShellGetFunction),
2949
2950 utlDEFINE_EXTENDED_AT_COMMAND("+VDUMP", plusVDUMP_params, "+VDUMP: (0-8)", vDump, vDump),
2951 utlDEFINE_EXTENDED_AT_COMMAND("+LOG", plusLOG_params, "+log: (0-255)", vLog, vLog),
2952 utlDEFINE_EXTENDED_AT_COMMAND("+VPDUS", plusVPDUS_params, "+VPDUS:(0,1)", vPDUS, vPDUS),
2953 utlDEFINE_EXTENDED_AT_COMMAND("+VHDL", NULL, "+VHDL: (Show Handle)", vHDL, vHDL),
2954 utlDEFINE_EXTENDED_AT_COMMAND("+VECHO", plusVECHO_params, "+VECHO: ", vECHO, vECHO),
2955 utlDEFINE_EXTENDED_AT_COMMAND("+APLOG", plusAPLOG_params, "+APLOG: (0-255)", apLog, apLog),
qs.xiong68079a32025-08-15 11:29:57 +08002956
2957 utlDEFINE_EXTENDED_AT_COMMAND("*DIAGSWITCH", starDIAGSWITCH_params, "*DIAGSWITCH: <diag_media>[,0-1]", diagMediaSwitch, diagMediaSwitch),
2958
b.liue9582032025-04-17 19:18:16 +08002959 utlDEFINE_EXTENDED_AT_COMMAND("+RDUP", plusRDUP_params, "+RDUP: (0-1)", ciRdup, ciRdup),
2960
2961 // debug atcommand for +cgsend *tgsink.
2962 utlDEFINE_EXTENDED_AT_COMMAND("+ATDB", plusATDB_params, "+ATDB: <fun:1-+CGSEND, 2-*TGSINK>, <value>", atdb, atdb),
2963
2964 // Enter the engineering mode
2965 //utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CGED", plusCGED_params, ciCGED, ciCGED, ciCGED),
2966
2967 // ADDED BY Danfeng to deregister from CCI
2968 utlDEFINE_EXTENDED_AT_COMMAND("*CCIREG", plusCCIREG_params, "*CIREG: 0", cciReg, cciReg),
2969
2970 /*Start - Michal Bukai */
2971 //utlDEFINE_EXTENDED_AT_COMMAND("+CMUT", plusCMUT_params, "+CMUT: (0,1)", ciCMUT, ciCMUT),
2972 utlDEFINE_EXTENDED_AT_COMMAND("+CPUC", plusCPUC_params, "+CPUC: <currency>, <ppu>, <PIN2>", ciCPUC, ciCPUC),
2973 utlDEFINE_EXACTION_AT_COMMAND("+CHUP", NULL, "+CHUP: ", ciCHUP),
2974 utlDEFINE_EXTENDED_AT_COMMAND("+CSTA", plusCSTA_params, "+CSTA: (129,145,161,177)", ciCSTA, ciCSTA),
2975 utlDEFINE_EXTENDED_AT_COMMAND("+CRC", plusCRC_params, "+CRC: (0,1)", ciCRC, ciCRC),
2976 //utlDEFINE_EXTENDED_AT_COMMAND("+CR", plusCR_params, "+CR: (0,1)", ciCR, ciCR),
2977 utlDEFINE_EXTENDED_AT_COMMAND("+CMEE", plusCMEE_params, "+CMEE: (0-2)", ciCMEE, ciCMEE),
2978 //utlDEFINE_EXTENDED_AT_COMMAND("+CIND", plusCIND_params, "+CIND: (\"signal\",(0-5)),(\"service\",(0-1)),(\"message\",(0-1)),(\"call\",(0-1)),(\"roam\",(0-1))", ciCIND, ciCIND),
2979 utlDEFINE_EXTENDED_AT_COMMAND("+CMER", plusCMER_params, "+CMER: (3), (0), (0), (0), (0)", ciCMER, ciCMER),
2980 utlDEFINE_EXTENDED_AT_COMMAND("+CMEC", plusCMEC_params, "+CMEC: (0), (0), (0), (0)", ciCMEC, ciCMEC),
2981 utlDEFINE_EXACTION_AT_COMMAND("+CLAC", NULL, "+CLAC: ", ciCLAC),/* APSE code for AT+CLAC command*/
2982 //utlDEFINE_EXACTION_AT_COMMAND("+CEER", NULL, "+CEER: ", ciCEER),
2983 utlDEFINE_EXACTION_AT_COMMAND("+CBC", NULL, "+CBC:(0-3),(0-100)", ciCBC),
2984
2985 utlDEFINE_EXTENDED_AT_COMMAND("+CDIP", plusCDIP_params, "+CDIP: (0-1)", ciCDIP, ciCDIP),
2986 utlDEFINE_EXTENDED_AT_COMMAND("+CPLS", plusCPLS_params, "+CPLS: (0-2)", ciCPLS, ciCPLS),
2987 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CGCMOD", plusCGCMOD_params, ciModifyContext, ciModifyContext, ciModifyContext),
2988 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CNUM", plusCNUM_params, ciCNUM, ciCNUM, ciCNUM),
2989 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+DS", plusDS_params, ciDS, ciDS, ciDS),
2990 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CGTFT", plusCGTFT_params, ciCGTFT, ciCGTFT, ciCGTFT),
2991 //utlDEFINE_EXACTION_AT_COMMAND("*CPRST", NULL, "*CPRST: ", ciSilentReset),
2992 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*BAND", plusBAND_params, ciBAND, ciBAND, ciBAND),
2993 utlDEFINE_EXTENDED_AT_COMMAND("*BANDIND", plusBANDIND_params, "*BANDIND: (0,1)", ciBANDIND, ciBANDIND),
2994 utlDEFINE_EXTENDED_AT_COMMAND("+WS46", plusWS46_params, "+WS46: (12,22,25,28,29,30,31)", ciWS46, ciWS46),
2995 /*MEP and UDP property AT commands*/
2996 //utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CLCK", plusCLCK_params, ciCLCK, ciCLCK, ciCLCK),
2997 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*CLCK", plusMEPCLCK_params, ciMEPCLCK, ciMEPCLCK, ciMEPCLCK),
2998 utlDEFINE_EXACTION_AT_COMMAND("+ZVN", NULL, NULL, ciZVN),
2999 // Display operator
3000 utlDEFINE_EXTENDED_AT_COMMAND("+ZDON", NULL, "+ZDON?", ciZDON, ciZDON),
3001 utlDEFINE_EXTENDED_AT_COMMAND("+ZPAS", NULL, "+ZPAS?", ciZPAS, ciZPAS),
3002
3003#ifdef CUSTZ
3004 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+LOCKLEVEL", plusLOCKLEVEL_params, ciLOCKLEVEL, ciLOCKLEVEL, ciLOCKLEVEL),
3005 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+ZNCK", plusZNCK_params, ciZNCK, ciZNCK, ciZNCK),
3006 utlDEFINE_EXTENDED_AT_COMMAND("*ZAIRINFO", NULL, "*ZAIRINFO:", ciZAIRINFO, ciZAIRINFO),
3007 utlDEFINE_EXTENDED_AT_COMMAND("*ZCQI", NULL, "*ZCQI:", ciZCQI, ciZCQI),
3008 utlDEFINE_EXTENDED_AT_COMMAND("*ZFACTORY", NULL, "*ZFACTORY", ciZFactoryReset, ciZFactoryReset),
3009 // Configuration of Network Selection Mode
3010 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+ZSNT", plusZSNT_params, ciZSNT, ciZSNT, ciZSNT),
3011 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+ZCAINFO", NULL, ciZCAINFO, ciZCAINFO, ciZCAINFO),
3012 utlDEFINE_EXACTION_VSYNTAX_AT_COMMAND("+ZRSSI", plusCESQ_params, ciZRSSI, ciZRSSI),
3013 utlDEFINE_EXTENDED_AT_COMMAND("+ZNLOCKBAND", plusZNLOCKBAND_params, "+ZNLOCKBAND=<lte_band_enable>,<gw_band_enable>,<lte_band_mask>,<gw_band_mask>", ciZNLOCKBAND, ciZNLOCKBAND),
3014#if defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
3015 utlDEFINE_EXTENDED_AT_COMMAND("+ZNLOCKNRBAND", plusZNLOCKNRBAND_params, "+ZNLOCKNRBAND=<type>,<band>", ciZNLOCKNRBAND, ciZNLOCKNRBAND),
3016#endif
3017 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+ZCELLINFO", NULL, ciZCELLINFO, ciZCELLINFO, ciZCELLINFO),
3018 utlDEFINE_EXACTION_AT_COMMAND("+ZSTM", NULL, NULL, ciZSTM),
3019 utlDEFINE_EXTENDED_AT_COMMAND("+ZSELM", plusZSELM_params, "+ZSELM:<menu_item_id>", ciZSELM, ciZSELM),
3020 utlDEFINE_EXTENDED_AT_COMMAND("+ZSELI", plusZSELI_params, "+ZSELI:<item_id>", ciZSELI, ciZSELI),
3021 utlDEFINE_EXTENDED_AT_COMMAND("+ZBK", plusZBK_params, "+ZBK:<id>", ciZBK, ciZBK),
3022 utlDEFINE_EXTENDED_AT_COMMAND("+ZINKR", plusZINKR_params, "+ZINKR:<input_dcs>,<input_text>", ciZINKR, ciZINKR),
3023 utlDEFINE_EXTENDED_AT_COMMAND("+ZINPR", plusZINKR_params, "+ZINPR:<input_dcs>,<input_text>", ciZINPR, ciZINPR),
3024 utlDEFINE_EXACTION_AT_COMMAND("+ZDISTR", NULL, NULL, ciZDISTR),
3025 utlDEFINE_EXTENDED_AT_COMMAND("+ZNITZ", NULL, "+ZNITZ:", ciZNITZ, ciZNITZ),
3026 utlDEFINE_EXTENDED_AT_COMMAND("+ZSYNCNITZ", plusZSYNCNITZ_params, "+ZSYNCNITZ:(0,1)", ciZSYNCNITZ, ciZSYNCNITZ),
3027 utlDEFINE_EXTENDED_AT_COMMAND("+ZDOGREF", plusZDOGREF_params, "+ZDOGREF:(0-65535)", ciZDOGREF, ciZDOGREF),
3028 utlDEFINE_EXTENDED_AT_COMMAND("+ZATNUM", NULL, "+ZATNUM:", ciZATNUM, ciZATNUM),
3029 utlDEFINE_EXTENDED_AT_COMMAND("+ZDHCPLEASE", plusZDHCPLEASE_params, "+ZDHCPLEASE", ciZDHCPLEASE, ciZDHCPLEASE),
3030 utlDEFINE_EXTENDED_AT_COMMAND("+GEFLAG", plusGEFLAG_params, "+GEFLAG", ciGEFLAG, ciGEFLAG),
3031 utlDEFINE_EXTENDED_AT_COMMAND("+ZCFG", plusZCFG_params, "+ZCFG", ciZCFG, ciZCFG),
3032 utlDEFINE_EXTENDED_AT_COMMAND("+ZROAM", plusZROAM_params, "+ZROAM", ciZROAM, ciZROAM),
3033 utlDEFINE_EXTENDED_AT_COMMAND("+ZVMAIL", NULL, "+ZVMAIL?", ciZVMAIL, ciZVMAIL),
3034 utlDEFINE_EXTENDED_AT_COMMAND("+ZGDFLT", plusZGDFLT_params, "+ZGDFLT: <mode:0/1>,[<PDP_type:ip/ipv6/ipv4v6>,[<Roming_PDP_type:ip/ipv6/ipv4v6>,[<APN>,[<emg_ind:0/1>,[<ipcp_req:0/1>,[<pcscf_v6:0/1>,[<imcn_sig:0/1>,[<dns_v6:0/1>,[<nw_bear:0/1>,[<dsm_v6_ha:0/1>,[<dsm_v6_pref:0/1>,[<dsm_v6_ha_v4:0/1>,[<ip_via_nas:0/1>,[<ip_via_dhcp::0/1>,[<pcscf_v4:0/1>,[<dns_v4:0/1>,[<msisdn:0/1>,[<ifom:0/1>,[<v4mtu:0/1>,[<local_tft:0/1>, [<etifFlag>]]]]]]]]]]]]]]]]]", ciZGDFLT, ciZGDFLT),
3035 utlDEFINE_EXACTION_AT_COMMAND("*ZCGMR", NULL, "*ZCGMR", ciZCGMR),
3036#endif
3037 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*MEPCG", plusMEPCG_params, ciMEPCG, ciMEPCG, ciMEPCG),
3038 //utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*ULCK", plusULCK_params, ciULCK, ciULCK, ciULCK),
3039 //utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*UCPWD", plusUCPWD_params, ciUCPWD, ciUCPWD, ciUCPWD),
3040 //utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*UASLM", plusUASLM_params, ciUASLM, ciUASLM, ciUASLM),
3041 utlDEFINE_EXTENDED_EXACTION_AT_COMMAND("*ENVSIM", NULL, "*ENVSIM:", ciEnVsim, ciEnVsim),
3042 //utlDEFINE_EXACTION_AT_COMMAND("*RST", NULL, "*RST: ", ciRST),
3043 //utlDEFINE_EXTENDED_AT_COMMAND("*CalStatus", plusCalStatus_params,"*READ_CAL_STATUS:(0,1)", ciCalStatus, ciCalStatus),
3044 utlDEFINE_EXTENDED_AT_COMMAND("*CNMA", plusNewMsgAck_params,"*CNMA:(0-2)", ciNewMsgAckStar, ciNewMsgAckStar),
3045 /*End - Michal Bukai */
3046 utlDEFINE_EXTENDED_AT_COMMAND("*POWERIND", plusPOWERIND_params, "*POWERIND: (0-31)", ciPOWERIND, ciPOWERIND),
3047 utlDEFINE_EXTENDED_AT_COMMAND("*APPOWERIND", plusAPPOWERIND_params, "*APPOWERIND: (0-1)", ciAPPOWERIND, ciAPPOWERIND),
3048
3049 utlDEFINE_EXACTION_AT_COMMAND("*FASTDORM", NULL, "*FASTDORM: ", ciFastDormancy),
3050 // Enter the engineering mode
3051 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+EEMOPT", plusEEMOPT_params, ciEEMOPT, ciEEMOPT, ciEEMOPT),
3052 utlDEFINE_EXTENDED_AT_COMMAND("+EEMGINFO", plusEEMGINFO_params, "+EEMGINFO:", ciEEMGINFO, ciEEMGINFO),
3053
3054 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+ERGA", plusERGA_params, ciRunGSMAlgorithm, ciRunGSMAlgorithm, ciRunGSMAlgorithm),
3055 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+ERTCA", plusERTCA_params, ciRunTContextAuth, ciRunTContextAuth, ciRunTContextAuth),
3056 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+LPNWUL", plusLPNWUL_params, ciLPNWUL, ciLPNWUL, ciLPNWUL),
3057 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+LPLOCVR", plusLPLOCVR_params, ciLPLOCVR, ciLPLOCVR, ciLPLOCVR),
3058 utlDEFINE_EXACTION_AT_COMMAND("+LPECID", NULL, "+LPECID: ", ciLPECID),
3059 utlDEFINE_EXACTION_AT_COMMAND("+LPOTDOAABORT", NULL, "+LPOTDOAABORT: ", ciLPOTDOAABORT),
3060 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+LPOTDOAREQ", plusLPOTDOAREQ_params, ciLPOTDOAREQ, ciLPOTDOAREQ, ciLPOTDOAREQ),
3061 utlDEFINE_EXTENDED_AT_COMMAND("*CELL", starCELL_params, "*CELL:<mode>,<act>,<band>,<freq>,<cellId>,<scs>", ciCellLock, ciCellLock),
3062#ifdef AT_PRODUCTION_CMNDS
3063 // Add in here Production Mode commands only
3064 utlDEFINE_EXACTION_AT_COMMAND("*SYSSLEEP", NULL, "*SYSSLEEP: ", SysSleep),
3065 utlDEFINE_EXTENDED_AT_COMMAND("*CP_MIPS", starMRD_MIPS_params, "*CP_MIPS=<a>,<f>[,<v>,<d>]", AtMrdMips, AtMrdMips), // store or delete a communication data file (CDF) to the MRD
3066 utlDEFINE_EXTENDED_AT_COMMAND("*MRD_ADF", starMRD_ADF_params, "*MRD_ADF=<a>,<f>[,<v>,<d>]", AtMrdAdf, AtMrdAdf), // store or delete a communication data file (CDF) to the MRD
3067 utlDEFINE_EXTENDED_AT_COMMAND("*MRD_CDF", starMRD_CDF_params, "*MRD_CDF=<a>,<f>[,<v>,<d>]", AtMrdCdf, AtMrdCdf), // store or delete a communication data file (CDF) to the MRD
hong.liuc8c95bb2025-05-26 06:02:18 -07003068#ifdef MBTK_AT_SUPPORT
3069 utlDEFINE_EXTENDED_AT_COMMAND("+MRD_SN", starMRD_SN_params, "+MRD_SN=<a>,[<v>,<d>,<s>]", AtMrdSn, AtMrdSn), // write, read or delete the serial number to/from the MRD
3070#else
b.liue9582032025-04-17 19:18:16 +08003071 utlDEFINE_EXTENDED_AT_COMMAND("*MRD_SN", starMRD_SN_params, "*MRD_SN=<a>,[<v>,<d>,<s>]", AtMrdSn, AtMrdSn), // write, read or delete the serial number to/from the MRD
hong.liuc8c95bb2025-05-26 06:02:18 -07003072#endif
b.liue9582032025-04-17 19:18:16 +08003073 utlDEFINE_EXTENDED_AT_COMMAND("*MRD_IMEI", starMRD_IMEI_params, "*MRD_IMEI=<a>[,<v>,<d>,<s>,<n>]", AtMrdImei, AtMrdImei), // write, read or delete the IMEI number.
3074 utlDEFINE_EXTENDED_AT_COMMAND("*CALINFO", starCALINFO_params, "*CALINFO=<a>,[<type>,<value>]", AtCalInfo, AtCalInfo),
3075 utlDEFINE_EXTENDED_AT_COMMAND("*MRD_MEP", starMRD_MEP_params, "*MRD_MEP=<a>[,<v>,<d>,<cat>,<s1>[,<s2>[,<s3>,<s4>[,<s5>,<s6>,<s7>[,<s8>,<s9>[,<n>]]]]]]", AtMrdMep, AtMrdMep), // write, read or delete the MEP data.
3076 utlDEFINE_EXTENDED_AT_COMMAND("*MRD_WIFIID", starMRD_WIFIID_params, "*MRD_WIFIID=<a>[,<v>,<d>,<s>]", AtMrdWifiId, AtMrdWifiId), // write, read or delete the Wifi MAC address.
3077 utlDEFINE_EXTENDED_AT_COMMAND("*MRD_BTID", starMRD_BTID_params, "*MRD_BTID=<a>[,<v>,<d>,<s>]", AtMrdBtId, AtMrdBtId), // write, read or delete the bluetooth ID.
3078 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*MRD_VEND", starMRD_VEND_params, AtMrdVend, AtMrdVend, AtMrdVend), // write, read or delete the PS_VENDOR_SPECIFIC_FEATURE in COMCfg.csv
3079 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*MRD_BAND", starMRD_BAND_params, AtMrdBand, AtMrdBand, AtMrdBand), // write, read or delete band configuration in COMCfg.csv
3080 utlDEFINE_EXTENDED_AT_COMMAND("*MRD_LANMAC", starMRD_LANMAC_params, "*MRD_LANMAC=<a>[,<v>,<d>,<s>]", AtMrdLanMAC, AtMrdLanMAC), // write, read or delete the LAN MAC address.
3081 utlDEFINE_EXACTION_AT_COMMAND("*MRDBACKUP", NULL, "*MRDBACKUP", ATMRDBACKUP),
3082
3083 utlDEFINE_EXTENDED_AT_COMMAND("*PROD", starPROD_params, "*PROD=(0-2)", AtProd, AtProd), // enable/disable production mode
3084 utlDEFINE_EXTENDED_AT_COMMAND("*SVC", starSVC_params, "*SVC=<a>,<s>", AtSvc, AtSvc), // burn svc state in Bit132~131 of bank0
3085 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+LOCKNETLIST", starLOCKNETLIST_params, AtLockNetList, AtLockNetList, AtLockNetList), // Download lock net list.
3086 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+INVERSESML", starINVERSESML_params, AtINVERSESML, AtINVERSESML, AtINVERSESML), // Download lock net list.
3087 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+LOCKLIST", starLOCKLIST_params, AtLockList, AtLockList, AtLockList), // Read lock net list.
3088 utlDEFINE_EXTENDED_AT_COMMAND("+UNLOCKKEY", starUnLockKEY_params, "+UNLOCKKEY=<a>[,<s>]", AtUnLockKey, AtUnLockKey), // write, read or delete the serial number to/from the MRD
3089 utlDEFINE_EXTENDED_AT_COMMAND("*SYNC", NULL, "*SYNC", AtSync, AtSync),
3090 utlDEFINE_EXTENDED_AT_COMMAND("*REBOOT", NULL, "*REBOOT", AtReboot, AtReboot),
3091 utlDEFINE_EXTENDED_AT_COMMAND("*POWEROFF", NULL, "*POWEROFF", AtPoweroff, AtPoweroff),
3092 utlDEFINE_EXTENDED_AT_COMMAND("*FASTBOOT", NULL, "*FASTBOOT", AtFastboot, AtFastboot),
3093#if defined(ATCMD_UNIFY_CI) || defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
3094 utlDEFINE_EXTENDED_AT_COMMAND("+OOSPP", OOSPP_params, NULL, AtOospp, AtOospp),
3095#endif
3096
3097#if 0//ndef PXA1826SPI_TELE
3098 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+GPSSTEST", starGPSTEST_params, AtGnssTest, AtGnssTest, AtGnssTest),
3099 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*GPSTEST", starGPSTEST_params, AtGpsTest, AtGpsTest, AtGpsTest),
3100 utlDEFINE_EXACTION_AT_COMMAND("*GPSRST", NULL, "*GPSRST: ", GpsReset),
3101#endif
3102 utlDEFINE_EXTENDED_AT_COMMAND("*TGCTRL", starTGCTRL_params, "*TGCTRL=<nw>,<op>,<value>[,<addr>]", ciTGCTRL, ciTGCTRL),
3103 utlDEFINE_EXACTION_AT_COMMAND("*RFC", NULL, "*RFC", DiagCommand),
3104
3105 utlDEFINE_EXTENDED_AT_COMMAND("*MRD_DUMP", starMRD_DUMP_params, "*MRD_DUMP=<partition>,<path>", AtMrdDump, AtMrdDump), // dump MRD image
3106#ifdef MNV_SUPPORT
3107 utlDEFINE_EXTENDED_AT_COMMAND("*CPMRD_DUMP", starCPMRD_DUMP_params, "*CPMRD_DUMP=<partition>,<path>", AtCpMrdDump, AtCpMrdDump), // dump CPMRD image
3108#endif
3109#ifdef SECURE_MRD
3110 utlDEFINE_EXTENDED_AT_COMMAND("*MRD_AUTH", starMRD_AUTH_params, "*MRD_AUTH[=<r>,<pke>,<sm>]", AtMrdAuth, AtMrdAuth),
3111#endif
3112 utlDEFINE_EXTENDED_AT_COMMAND("+FUELGAIC", FUELGAIC_params, "+FUELGAIC:(0-1)", AtFuelGaic, AtFuelGaic),
3113 utlDEFINE_EXACTION_AT_COMMAND("*MRD_LIST", NULL, "*MRD_LIST: ", AtMrdList),
3114
3115 //TX/RX power
3116 utlDEFINE_EXTENDED_AT_COMMAND("*TDTR", starTDTR_params, "*TDTR=<op>[,<gain>,<freq>]", ciTDTR, ciTDTR), /* request to set Tx/Rx on TD */
3117 utlDEFINE_EXTENDED_AT_COMMAND("*GSMTR", starGSMTR_params, "*GSMTR=<op>[,<band>,<arfcn>,<afcDac>[,<txRampScale>,<rxGainCode>]]", ciGSMTR, ciGSMTR), /* request to set Tx/Rx on GSM */
3118 utlDEFINE_EXTENDED_AT_COMMAND("*WBTR", starWBTR_params, "*WBTR=<op>[,<dlUarfcn>,<ulUarfcn>[,<paMode>[,<apcDac>[,<afcDac>]]]]", ciWBTR, ciWBTR), /* request to set Tx/Rx on WCDMA */
3119 utlDEFINE_EXTENDED_AT_COMMAND("*MAXPOWER", starMaxPower_params, "*MAXPOWER=<op>,<para1>,<para2>", ciGsmWcdmaMaxPower, ciGsmWcdmaMaxPower), /* request to set Tx max power on GSM or WCDMA */
3120 utlDEFINE_EXTENDED_AT_COMMAND("+LTEPOWER", plusLTEPOWER_params, "+LTEPOWER:<op>,<band>,<power>", ciLTEMaxPower, ciLTEMaxPower),
3121 utlDEFINE_EXTENDED_AT_COMMAND("*LTETR", starLteTR_params, "*LTETR=<op>,<channel>,<power>,<bandwidth>", ciLTETR, ciLTETR), /* request to set Tx/RX on LTE */
3122#if defined(ATCMD_UNIFY_CI)
3123 utlDEFINE_EXTENDED_AT_COMMAND("^SIMLOCK",SIMLOCK_params, NULL, AtSimLock, AtSimLock),
3124 utlDEFINE_EXTENDED_AT_COMMAND("^SETLOCK",SETLOCK_params, NULL, AtSetLock, AtSetLock),
3125 utlDEFINE_EXTENDED_AT_COMMAND("^MAXLCKTMS", MAXLCKTMS_params, "^MAXLCKTMS:(0-10)", AtMAXLCKTMS, AtMAXLCKTMS),
3126 utlDEFINE_EXTENDED_AT_COMMAND("^TESTLOCK",TESTLOCK_params, NULL, AtTestLock, AtTestLock),
3127#endif
3128
3129#if defined(ATCMD_UNIFY_CI) || defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
3130 utlDEFINE_EXTENDED_AT_COMMAND("*COMMTR", starCommTR_params, "*COMMTR=<nwMode>,<option>,<band>,<power>,<arfcn>,<bandWidth>,<slot>", ciCOMMTR, ciCOMMTR), /* request to set Tx/RX on LTE */
3131 utlDEFINE_EXTENDED_AT_COMMAND("*FDNCHECK", starFdnCheck_params, "*FDNCHECK: <dial_str>", ciFdnCheck, ciFdnCheck),
3132 utlDEFINE_EXTENDED_AT_COMMAND("*MORESMS", starMoreSms_params, "*MORESMS: (0,1)", ciMoreSms, ciMoreSms),
3133#endif
3134
3135#endif
3136
3137#ifdef AT_LABTOOL_CMNDS
3138 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+MVWFTST", plusMVWFTST_params, ciMVWFTST, ciMVWFTST, ciMVWFTST),
3139 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+MVWFIDRW", plusMVWFIDRW_params, ciMVWFIDRW, ciMVWFIDRW, ciMVWFIDRW),
3140 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+MVBTTST", plusMVBTTST_params, ciMVBTTST, ciMVBTTST, ciMVBTTST),
3141 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+MVBTIDRW", plusMVBTIDRW_params, ciMVBTIDRW, ciMVBTIDRW, ciMVBTIDRW),
3142 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+MVFMTST", plusMVFMTST_params, ciMVFMTST, ciMVFMTST, ciMVFMTST),
3143#endif // AT_LABTOOL_CMNDS
3144
3145 utlDEFINE_EXACTION_AT_COMMAND("+CKPD", plusCKPD_params, "", ciCKPD),
3146 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*CGSN", starCGSN_params, ciStarCGSN, ciStarCGSN, ciStarCGSN),
3147 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*MODEMTYPE", NULL, ciStarMODEMTYPE, ciStarMODEMTYPE, ciStarMODEMTYPE),
3148 utlDEFINE_EXTENDED_AT_COMMAND("$VTS", dollarVTS_params, "$VTS: <DTMF>, (0,1)", ciSendLongDTMF, ciSendLongDTMF),
3149 utlDEFINE_EXTENDED_AT_COMMAND("*MODEMRESET", starMODEMRESET_params, "*MODEMRESET:<resetInfo>,(0,1)", ciStarMODEMRESET, ciStarMODEMRESET),
3150 utlDEFINE_EXTENDED_AT_COMMAND("*SWITCHMODEM", starSWITCHMODEM_params, "*SWITCHMODEM:(3,4)", ciStarSWITCHMODEM, ciStarSWITCHMODEM),
3151 utlDEFINE_EXTENDED_AT_COMMAND("*HTCCTO", starHTCCTO_params, "*HTCCTO: <AT command>, (1-7), <timeout>", ciStarHTCCTO, ciStarHTCCTO),
3152 utlDEFINE_EXTENDED_AT_COMMAND("+CMEMFULL", plusCMEMFULL_params, "+CMEMFULL: (0,1)", ciCMEMFULL, ciCMEMFULL),
3153 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*EHSDPA", starEHSDPA_params, ciStarEHSDPA, ciStarEHSDPA, ciStarEHSDPA),
3154
3155#ifdef OPHONE
3156 //
3157 // Ohone monitor
3158 //
3159 utlDEFINE_EXTENDED_AT_COMMAND("^DCTS", caretDCTS_params, "^DCTS: (0),(16,96)", ciDCTS, ciDCTS), /* mode switch of the MT between normal mode and test mode */
3160 utlDEFINE_EXTENDED_AT_COMMAND("^DEELS", caretDEELS_params, "^DEELS: (0,1)", ciDEELS, ciDEELS), /* controls the presentation of the protocol status unsolicited result code ^DEELSI: <status>*/
3161 utlDEFINE_EXTENDED_AT_COMMAND("^DEVEI", caretDEVEI_params, "^DEVEI: (0,1)", ciDEVEI, ciDEVEI), /* enable/disable the unsolicited result code "^DEVEI: <timestamp>,<operation type>,<id>" during the MMI cell test mode*/
3162 utlDEFINE_EXTENDED_AT_COMMAND("^DNPR", caretDNPR_params, "^DNPR: (0,1),(0,65535)", ciDNPR, ciDNPR), /* enable/disable the unsolicited result code about wireless parameter to the TE*/
3163 utlDEFINE_EXTENDED_AT_COMMAND("^DUSR", caretDUSR_params, "^DNPR: (0,1),(0,1)", ciDUSR, ciDUSR), /* enables or disables the presentation of unsolicited result response ^DUSRI: <signaling> when receiving the air interface signal from lower layer. */
3164#endif
3165
3166 utlDEFINE_EXTENDED_AT_COMMAND("+CIREG", plusCIREG_params, "+CIREG: (0-2)", ciIRegStatus, ciIRegStatus),
3167 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CGEQOS",plusCGEQOS_params, ciSet4GQOS, ciSet4GQOS, ciSet4GQOS),
3168 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CEREG",plusCEREG_params, ciERegStatus, ciERegStatus, ciERegStatus),
3169 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CGCONTRDP",plusCGCONTRDP_params, ciCGCONTRDP,ciCGCONTRDP,ciCGCONTRDP),
3170 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CGSCONTRDP",plusCGSCONTRDP_params, ciCGSCONTRDP, ciCGSCONTRDP, ciCGSCONTRDP),
3171 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CGTFTRDP",plusCGTFTRDP_params, ciCGTFTRDP, ciCGTFTRDP, ciCGTFTRDP),
3172 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CGEQOSRDP",plusCGEQOSRDP_params, ciCGEQOSRDP, ciCGEQOSRDP, ciCGEQOSRDP),
3173 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CGEREP",plusCGEREP_params, ciCGEREP, ciCGEREP, ciCGEREP),
3174 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CVMOD",plusCVMOD_params, ciCVMOD, ciCVMOD, ciCVMOD),
3175 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CEMODE",plusCEMODE_params, ciCEMODE, ciCEMODE, ciCEMODE),
3176 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CGPADDR",plusCGPADDR_params, ciCGPADDR, ciCGPADDR, ciCGPADDR),
3177 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CGPIAF",plusCGPIAF_params, ciCGPIAF, ciCGPIAF, ciCGPIAF),
3178 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("^CACAP", NULL, ciCACAP, ciCACAP, ciCACAP),
3179 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CGCLASS", plusCGCLASS_params, ciCGCLASS, ciCGCLASS, ciCGCLASS),
3180 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CESQ", plusCESQ_params, ciExtendedSignalQuality, ciExtendedSignalQuality, ciExtendedSignalQuality),
3181 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*CESQ", plusCESQ_params, ciStarExtendedSignalQuality, ciStarExtendedSignalQuality, ciStarExtendedSignalQuality),
3182#if defined(ATCMD_UNIFY_CI) || defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
3183 utlDEFINE_EXTENDED_AT_COMMAND("+CSCON", plusCSCON_params, "+CSCON: (0-3)", ciCSCON, ciCSCON), //rls16 10.1.30
3184#endif
3185 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+BGLTEPLMN", plusBGLTEPLMN_params, ciOperSelLte, ciOperSelLte, ciOperSelLte),
3186
3187 utlDEFINE_EXTENDED_AT_COMMAND("*FDY", starFDY_params, "*FDY:(1),(1-2147483647),(1-2147483647),(1-2147483647),(1-2147483647)", ciStarFDY, ciStarFDY),
3188 utlDEFINE_EXACTION_AT_COMMAND("^SYSINFO", NULL, "^SYSINFO:", ciSysInfo),
3189
3190
3191 utlDEFINE_EXTENDED_AT_COMMAND("*DIALE", starDIALE_params, "*DIALE: <number>, (0-31)", ciDialEmergency,ciDialEmergency),
3192 utlDEFINE_EXACTION_AT_COMMAND("*CPBC", NULL, "*CPBC", ciGetPhoneBookCapacity),
3193 utlDEFINE_EXACTION_AT_COMMAND("*FDNBYPASS", NULL, "*FDNBYPASS: ", ciFdnBypass),
3194 utlDEFINE_EXACTION_AT_COMMAND("*RSTMEMFULL", NULL, "*RSTMEMFULL: ", ciRSTMemFull),
3195 utlDEFINE_EXTENDED_AT_COMMAND("*CSCB", starCSCB_params, "*CSCB:(0,1)", ciSelectCbMsgType, ciSelectCbMsgType),
3196 utlDEFINE_EXTENDED_AT_COMMAND("*CBMCS", starCBMCS_params, "*CBMCS:(0,1),[<disablecb:0/1>]", ciCbmChannelStatus, ciCbmChannelStatus),
3197
3198 utlDEFINE_EXTENDED_AT_COMMAND("*NASCHK", starNASCHK_params, "*NASCHK:(0,1)", ciStarNASCHK, ciStarNASCHK),
3199 utlDEFINE_EXTENDED_AT_COMMAND("*USBT", starUSBT_params, "*USBT:(0,1)", ciUsbTether, ciUsbTether),
3200 utlDEFINE_EXTENDED_AT_COMMAND("*MOBILEDATA", starMOBILEDATA_params, "*MOBILEDATA:(0,1),(0,1)", ciMobileData, ciMobileData),
3201 utlDEFINE_EXACTION_AT_COMMAND("*GATR", NULL, "*GATR:", ciGetATR),
3202 utlDEFINE_EXTENDED_AT_COMMAND("*CGATT", starCGATT_params, "*CGATT:(0,1)", ciPsPowerOnAutoAttach, ciPsPowerOnAutoAttach),
3203#if defined(ATCMD_UNIFY_CI)
3204 utlDEFINE_EXTENDED_AT_COMMAND("*GRIP", starGRIP_params, "*GRIP:<type>,[<value>,nwmode,band,[bandwidth]]", ciGRIP, ciGRIP),
3205#else
3206 utlDEFINE_EXTENDED_AT_COMMAND("*GRIP", starGRIP_params, "*GRIP:<type>,[<value>,nwmode,band]", ciGRIP, ciGRIP),
3207#endif
3208 utlDEFINE_EXTENDED_AT_COMMAND("*PSPG", starPSPG_params, "*PSPG:(0,1)", ciPsPlusPaging, ciPsPlusPaging),
3209 utlDEFINE_EXACTION_AT_COMMAND("*CGMR", NULL, "*CGMR", ciCGMR),
3210
3211 utlDEFINE_EXTENDED_AT_COMMAND("*COMCFG", starCOMCFG_params, "*COMCFG:<mode>,<tokens> or \
3212 <UMTS_WB_AMR>,<GSM_WB_AMR>,<VENDOR>,<MANUFACTURE>,<LTE_CATEGORY>,<MULTISLOT_POWERPROFILE>,<LTE_SMS_ONLY>,<EC_SUPPORTED>,<EPCO_SUPPORTED>,<HCCP_SUPPORTED>,<MDRB_SUPPORTED>,<CP_BACKOFF>,<NSLP>,<EAB>,<ROHC>", ciCOMCFG, ciCOMCFG),
3213
3214#ifdef OPERATOR_VERIZON
3215 //
3216 // Operator - verizon specific
3217 //
3218 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*CGATTC", starCGATTC_params, ciPSAttachWithCause, ciPSAttachWithCause, ciPSAttachWithCause),
3219 utlDEFINE_EXTENDED_AT_COMMAND("+VZWRSRP", NULL, "+VZWRSRP?", ciVZWRSRP, ciVZWRSRP),
3220 utlDEFINE_EXTENDED_AT_COMMAND("+VZWRSRQ", NULL, "+VZWRSRQ?", ciVZWRSRQ, ciVZWRSRQ),
3221 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*VZWTESTAPP", starVZWTESTAPP_params, ciVZWTESTAPP, ciVZWTESTAPP,ciVZWTESTAPP),
3222 utlDEFINE_EXTENDED_AT_COMMAND("+VZWAPNE", plusVZWAPNE_params, "+VZWAPNE:<wapn>,<apncl>,<apnni>,<apntype>,<apnb>,<apned>,<apntime>", ciVZWAPNE, ciVZWAPNE),
3223
3224#endif
3225
3226 utlDEFINE_EXTENDED_AT_COMMAND("*CGDFLT", starCGDFLT_params, "*CGDFLT: <mode:0/1>,[<PDP_type:ip/ipv6/ipv4v6>,[<APN>,[<emg_ind:0/1>,[<ipcp_req:0/1>,[<pcscf_v6:0/1>,[<imcn_sig:0/1>,[<dns_v6:0/1>,[<nw_bear:0/1>,[<dsm_v6_ha:0/1>,[<dsm_v6_pref:0/1>,[<dsm_v6_ha_v4:0/1>,[<ip_via_nas:0/1>,[<ip_via_dhcp::0/1>,[<pcscf_v4:0/1>,[<dns_v4:0/1>,[<msisdn:0/1>,[<ifom:0/1>,[<v4mtu:0/1>,[<local_tft:0/1>, [<etifFlag>]]]]]]]]]]]]]]]]]", ciCGDFLT, ciCGDFLT),
3227 utlDEFINE_EXTENDED_AT_COMMAND("*CGDFAUTH", starCGDFAUTH_params, "*CGDFAUTH:<mode>,<authProt>[,<username>,<password>]", ciCGDFAUTH, ciCGDFAUTH),
3228 utlDEFINE_EXTENDED_AT_COMMAND("*LTEBAND", starLTEBAND_params, "*LTEBAND:", ciSetLTEBand, ciSetLTEBand),
3229 utlDEFINE_EXTENDED_AT_COMMAND("*RFTEMP", starRFTEMP_params, "*RFTEMP:(0-3)", ciRFTemperatureRead, ciRFTemperatureRead),
3230 utlDEFINE_EXTENDED_AT_COMMAND("*CSQ", starCSQ_params, "*CSQ:(0-2),(0-65535)", ciCSQConfig, ciCSQConfig),
3231 utlDEFINE_EXTENDED_AT_COMMAND("*LTECOEX", starLTECOEX_params, "*LTECOEX:", ciLteCoex, ciLteCoex),
3232 /*eMBMS function*/
3233 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("%MBMSCMD", starMBMS_params, ciMBMS, ciMBMS, ciMBMS),
3234 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("%MBMSEV", starMBMSEv_params, ciMBMSEv, ciMBMSEv, ciMBMSEv),
3235 /*eMBMS add end*/
3236 utlDEFINE_EXTENDED_AT_COMMAND("+CEN", plusCEN_params, "+CEN: <reporting:0/1>", ciEmergencyNumbers, ciEmergencyNumbers),
3237 utlDEFINE_EXTENDED_AT_COMMAND("+CNEM", plusCNEM_params, "+CNEM: <reporting:0/1>", ciNwEmergencyBearerServices, ciNwEmergencyBearerServices),
3238 utlDEFINE_EXACTION_AT_COMMAND("*SINR", NULL, "*SINR: ", ciSINR),
3239 utlDEFINE_EXACTION_AT_COMMAND("*RSSI", NULL, "*RSSI: ", ciRSSI),
3240 utlDEFINE_EXACTION_AT_COMMAND("*RSRP", NULL, "*RSRP: ", ciRSRP),
3241 utlDEFINE_EXACTION_AT_COMMAND("*RSRPP", NULL, "*RSRPP: ", ciRSRPP),
3242 utlDEFINE_EXACTION_AT_COMMAND("*RSRPS", NULL, "*RSRPS: ", ciRSRPS),
3243 utlDEFINE_EXACTION_AT_COMMAND("*RSRQ", NULL, "*RSRQ: ", ciRSRQ),
3244 utlDEFINE_EXACTION_AT_COMMAND("*RSRQP", NULL, "*RSRQP: ", ciRSRQP),
3245 utlDEFINE_EXACTION_AT_COMMAND("*RSRQS", NULL, "*RSRQS: ", ciRSRQS),
3246 utlDEFINE_EXACTION_AT_COMMAND("*CQI", NULL, "*CQI: ", ciCQI),
3247 utlDEFINE_EXACTION_AT_COMMAND("*URSLCT", NULL, "*URSLCT", ciURSLCT),
3248 utlDEFINE_EXTENDED_AT_COMMAND("+CISRVCC", plusCISRVCC_params, "+CISRVCC: (0,1)", ciSrvccSupport, ciSrvccSupport),
3249 utlDEFINE_EXTENDED_AT_COMMAND("+CEVDP", plusCEVDP_params, "+CEVDP: (1-4)", ciEutranVoiceDomainPreference, ciEutranVoiceDomainPreference),
3250 utlDEFINE_EXTENDED_AT_COMMAND("+CVDP", plusCVDP_params, "+CVDP: (1-3)", ciUtranVoiceDomainPreference, ciUtranVoiceDomainPreference),
3251 utlDEFINE_EXTENDED_AT_COMMAND("+CEUS", plusCEUS_params, "+CEUS: (0, 1)", ciEpsUsageSetting, ciEpsUsageSetting),
3252 utlDEFINE_EXTENDED_AT_COMMAND("+CAVIMS", plusCAVIMS_params, "+CAVIMS: (0, 1)", ciImsVoiceCallAvailability, ciImsVoiceCallAvailability),
3253 utlDEFINE_EXTENDED_AT_COMMAND("+CASIMS", plusCASIMS_params, "+CASIMS: (0, 1)", ciImsSmsAvailability, ciImsSmsAvailability),
3254 utlDEFINE_EXTENDED_AT_COMMAND("+CMMIVT", plusCMMIVT_params, "+CMMIVT: (1, 2)", ciMmImsVoiceTermination, ciMmImsVoiceTermination),
3255 utlDEFINE_EXTENDED_AT_COMMAND("+CIREP", plusCIREP_params, "+CIREP: (0, 1)", ciImsNwReportMode, ciImsNwReportMode),
3256 utlDEFINE_EXTENDED_AT_COMMAND("+CSSAC", NULL, "+CSSAC", ciSsacStatus,ciSsacStatus),
3257 utlDEFINE_EXTENDED_AT_COMMAND("*DONOF", NULL, "*DONOF", ciStarDONOF, ciStarDONOF),
3258 utlDEFINE_EXTENDED_AT_COMMAND("*PWRPLMN", starPWRPLMN_params, "*PWRPLMN: (0-2)", ciPowerUpPlmnMode, ciPowerUpPlmnMode),
3259 utlDEFINE_EXTENDED_AT_COMMAND("*CISCC", starCISCC_params, "*CISCC: [<call1>[,<call2>[,...]]] ", ciSetCurrentCalls, ciSetCurrentCalls),
3260 utlDEFINE_EXTENDED_AT_COMMAND("*RANDFILL", starRANDFILL_params, "*RANDFILL:(0,1)", ciL2RandFill, ciL2RandFill),
3261
3262#ifdef OPERATOR_ATT
3263//
3264// Operator - AT&T specific
3265//
3266 utlDEFINE_EXACTION_AT_COMMAND("$CSQ", NULL, "$CSQ: (0-31,99),(0-7,99)[,(0,-24db)]", ciATTSignalQuality),
3267 utlDEFINE_EXTENDED_AT_COMMAND("$CREG", dollarCREG_params, "$CREG: (0-3)", ciRegStatus, ciRegStatus),
3268 utlDEFINE_EXTENDED_AT_COMMAND("$CCLK", dollarCCLK_params, "$CCLK:", ciCCLK, ciCCLK),
3269 utlDEFINE_EXTENDED_AT_COMMAND("*CSG", starCSG_params, "*CSG: (0,1,2,3)", ciCSG, ciCSG),
3270 utlDEFINE_EXTENDED_AT_COMMAND("*IGN", starIGN_params, "*IGN: (0-1) [,(1-600),(1-600)]", ciIGNSwitch, ciIGNSwitch),
3271 utlDEFINE_EXTENDED_AT_COMMAND("*FRATLIST", starFRATLIST_params, "*FRATLIST: (0-2) [,PLMN String]", ciFRATLISTSwitch, ciFRATLISTSwitch),
3272 utlDEFINE_EXTENDED_AT_COMMAND("+RSRP", NULL, "+RSRP?", ciPlusRSRP, ciPlusRSRP),
3273 utlDEFINE_EXTENDED_AT_COMMAND("+RSRQ", NULL, "+RSRQ?", ciPlusRSRQ, ciPlusRSRQ),
3274 utlDEFINE_EXTENDED_AT_COMMAND("+RSCP", NULL, "+RSCP?", ciPlusRSCP, ciPlusRSCP),
3275 utlDEFINE_EXTENDED_AT_COMMAND("+ECNO", NULL, "+ECNO?", ciPlusECNO, ciPlusECNO),
3276#endif
3277
3278 utlDEFINE_EXTENDED_AT_COMMAND("*APCFG", starAPCFG_params, "*APCFG: (0, 1)", ciNotifyApConfig, ciNotifyApConfig),
3279 utlDEFINE_EXACTION_AT_COMMAND("*ISIMAID", NULL, "*ISIMAID", ciISIMAID),
3280 utlDEFINE_EXACTION_AT_COMMAND("+MPBK", NULL, "+MPBK", ciMPBK),
3281 utlDEFINE_EXTENDED_AT_COMMAND("*CIIND", starCIIND_params, "*CIIND: (0-256)", ciNotifyImsRegState, ciNotifyImsRegState),
3282 //proxy channel AT commands
3283 utlDEFINE_EXTENDED_AT_COMMAND("*PRXYSET",starPrxySet_params,"*PROXYSET: (0-1),commands list,indications list", ciProxySet,ciProxySet),
3284 utlDEFINE_EXTENDED_AT_COMMAND("*PRXYRSP",starPrxyRsp_params,"*PROXY: (XID),command String,intermedeate indication flag", ciProxyRsp,ciProxyRsp),
3285 utlDEFINE_EXTENDED_AT_COMMAND("*CHDSTST", starCHDSTST_params, "*CHDSTST: (0,1)", ciChannelDestSwitch, ciChannelDestSwitch),
3286 utlDEFINE_EXACTION_AT_COMMAND("+CNMPSD", NULL, "+CNMPSD:",ciFastDormancy),
3287 utlDEFINE_EXTENDED_AT_COMMAND("+CSAS",plusCsas_params, "+CSAS: 0-255",ciCsas,ciCsas),
3288 utlDEFINE_EXTENDED_AT_COMMAND("+CRES",plusCres_params, "+CRES: (0)",ciCres,ciCres),
3289 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*TELMODE", starTelMode_params, ciTelMode, ciTelMode, ciTelMode),
3290 utlDEFINE_EXTENDED_AT_COMMAND("*PSDC", starPSDC_params, "*PSDC:(0,1)", ciPsDomainConfig, ciPsDomainConfig),
3291 utlDEFINE_EXTENDED_AT_COMMAND("*CBRAT", starCBRAT_params, "*CBRAT: (0-6)", ciSelectCbRat, ciSelectCbRat),
3292 utlDEFINE_EXTENDED_AT_COMMAND("*IMLCONFIG", starIMLCONFIG_params, "*IMLCONFIG:<IMLTYPE>[,<data>]", ciIMLCONFIG, ciIMLCONFIG),
3293
3294
3295 utlDEFINE_EXTENDED_AT_COMMAND("*PCO", starPCO_params, "*PCO:(0-15)", ciPsGetPCO, ciPsGetPCO),
3296 utlDEFINE_EXTENDED_AT_COMMAND("+CSDF", plusCSDF_params, "+CSDF:(1-255),(1-2)", ciCSDF, ciCSDF),
3297
3298 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CLAN", plusCLAN_params, ciCLAN, ciCLAN, ciCLAN),
3299 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*CELLINFO", starCELLINFO_params, ciCELLINFO, ciCELLINFO, ciCELLINFO),
3300 utlDEFINE_EXTENDED_AT_COMMAND("+CCUG", plusCCUG_params, "", ciCCUG, ciCCUG),
3301 utlDEFINE_EXTENDED_AT_COMMAND("+CPNER", plusCPNER_params, "+CPNER: (0-1)", ciCPNER, ciCPNER),
3302
3303/* STK / USAT related extdened begin */
3304 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*CATPROF", starSTKPROF_params,ciStarCATPROF,ciStarCATPROF,ciStarCATPROF),
3305 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*CATEN", starCATEN_params,ciStarCaten,ciStarCaten,ciStarCaten),
3306 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*RCATR", starRCATR_params,ciStarRCATR, ciStarRCATR, ciStarRCATR),
3307 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*CATTR", starCATTR_params,ciStarCATTR ,ciStarCATTR,ciStarCATTR),
3308 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*CATENV", starCATENV_params, ciStarCATENV,ciStarCATENV,ciStarCATENV),
3309 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("*RCATE", starRCATE_params, ciStarRCATE, ciStarRCATE, ciStarRCATE),
3310/* STK / USAT related extdened end */
3311
3312#ifndef NO_AUDIO
3313/* audio atcmds: */
3314 utlDEFINE_EXTENDED_AT_COMMAND("*AUDIOMODE",starAUDIOMODE_params, "*AUDIOMODE: (0-4)",ubusAudioMode, ubusAudioMode),
3315 utlDEFINE_EXTENDED_AT_COMMAND("*AUDIODEVICE",starAUDIODEVICE_params, "*AUDIODEVICE: (0-2)",ubusAudioDevice, ubusAudioDevice),
3316 utlDEFINE_EXTENDED_AT_COMMAND("*AUDIOVOL",starAUDIOVOL_params, "*AUDIOVOL: (0-100)",ubusAudioVolume, ubusAudioVolume),
3317 utlDEFINE_EXTENDED_AT_COMMAND("*AUDIOMUTE",starAUDIOMUTE_params, "*AUDIOMUTE: (0-1)",ubusAudioMute, ubusAudioMute),
3318 utlDEFINE_EXTENDED_AT_COMMAND("*AUDREC", starAUDREC_params,"*AUDREC: <***.wav>[,<time>[,<rate>[,<mode>]]]", ciAudioRec, ciAudioRec),
3319 utlDEFINE_EXACTION_AT_COMMAND("*AUDRECSTOP", NULL, "*AUDRECSTOP", ciAudioRecStop),
3320 utlDEFINE_EXTENDED_AT_COMMAND("*AUDPLAY", starAUDPLAY_params,"*AUDPLAY: <***.wav>[,<pos>,[<combine>]]", ciAudioPlay, ciAudioPlay),
3321 utlDEFINE_EXACTION_AT_COMMAND("*AUDPLAYSTOP", NULL, "*AUDPLAYSTOP", ciAudioPlayStop),
3322 utlDEFINE_EXTENDED_AT_COMMAND("*AUDGAIN", starAUDGAIN_params,"*AUDGAIN: <db>,<mode>", ciAudioGain, ciAudioGain),
3323
3324#ifdef ECALL_SUPPORT
3325 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CECALLINSIDE", plusCECALLINSIDE_params, ciCeCallInside, ciCeCallInside, ciCeCallInside),
3326 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CECALL", plusCECALL_params, ciCeCall, ciCeCall, ciCeCall),
3327 utlDEFINE_EXTENDED_AT_COMMAND("*ECALLDATA", starECALLDATA_params, "*ECALLDATA: (0-7),(0-1|00000000-FFFFFFFF),(DataString)", ubusEcallData, ubusEcallData),
3328 utlDEFINE_EXTENDED_AT_COMMAND("*ECALLVOICE", starECALLVOICE_params, "*ECALLVOICE: (0-4),(0-1),(0-1)", ubusEcallVoice, ubusEcallVoice),
3329 utlDEFINE_EXTENDED_AT_COMMAND("*ECALLCFG", starECALLCFG_params,"*ECALLCFG: <time>,<inactivity_time1>,<inactivity_time2>", ciStartEcallCfg, ciStartEcallCfg),
3330 utlDEFINE_EXTENDED_AT_COMMAND("*ECALLONLY", starECALLONLY_params,"*ECALLONLY: <active>[,<testnum>[,<reconfignum>]]", ciStarEcallOnly, ciStarEcallOnly),
3331 utlDEFINE_EXTENDED_AT_COMMAND("*ECALLREG", starECALLREG_params,"*ECALLREG: <active>", ciStarEcallReg, ciStarEcallReg),
3332#if defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
3333 utlDEFINE_EXTENDED_AT_COMMAND("*IMSECALLREG", starIMSECALLREG_params,"*IMSECALLREG: <active>[,<callType>]", ciStarIMSEcallReg, ciStarIMSEcallReg),
3334#else
3335 utlDEFINE_EXTENDED_AT_COMMAND("*IMSECALLREG", starIMSECALLREG_params,"*IMSECALLREG: <active>", ciStarIMSEcallReg, ciStarIMSEcallReg),
3336#endif
3337 utlDEFINE_EXTENDED_AT_COMMAND("*ECALLONLYSIM", NULL,"*ECALLONLYSIM: (0-1)", ciEcallOnlySim, ciEcallOnlySim),
3338 utlDEFINE_EXACTION_AT_COMMAND("*ECALLMSDGEN", NULL,"*ECALLMSDGEN", ciEcallMsdGen),
3339 utlDEFINE_EXTENDED_AT_COMMAND("*ECALLMSD", starECALLMSD_params,"*ECALLMSD: <msd_data>", ciEcallMsd, ciEcallMsd),
3340 utlDEFINE_EXACTION_AT_COMMAND("*ECALLPUSH", NULL,"*ECALLPUSH", ciEcallPush),
3341 utlDEFINE_EXTENDED_AT_COMMAND("*ECALLMSDCFG", starECALLMSDCFG_params,"*ECALLMSDCFG: <item>,<config>[,<persistent>]", ciEcallMsdCfg, ciEcallMsdCfg),
3342 utlDEFINE_EXTENDED_AT_COMMAND("*ECALLSMSNUM", starECALLSMSNUMCFG_params,"*ECALLSMSNUM: <sms_number>", ciEcallSmsNumCfg, ciEcallSmsNumCfg),
3343 utlDEFINE_EXTENDED_AT_COMMAND("*ECALLSMS", starECALLSMS_params, "*ECALLSMS: <smsFlag>", ciEcallSmsMsdAct, ciEcallSmsMsdAct),
3344 utlDEFINE_EXTENDED_AT_COMMAND("*ECALLMODE", starECALLSWITCHMODE_params,"*ECALLMODE: <ecall_mode>", ciEcallSwitchMode, ciEcallSwitchMode),
3345 utlDEFINE_EXTENDED_AT_COMMAND("*ECALLTIMER", starECALLTMR_params,"*ECALLTIMER: <name>[,<value>]", ciEcallTimer, ciEcallTimer),
3346 utlDEFINE_EXTENDED_AT_COMMAND("*ECALLMUTESPK", starECALLMUTESPK_params,"*ECALLMUTESPK: <mute>", ciEcallMuteSpk, ciEcallMuteSpk),
3347 //internal AT
3348 utlDEFINE_EXTENDED_AT_COMMAND("*ECALLMEDIAMSD", starECALLMEDIAMSD_params,"*ECALLMEDIAMSD: <msd_data>", ciEcallMediaMsd, ciEcallMediaMsd),
3349 utlDEFINE_EXTENDED_AT_COMMAND("*IMSECALLSUPT", NULL,"*IMSECALLSUPT?", ciImsEcallSupt, ciImsEcallSupt),
3350 utlDEFINE_EXACTION_AT_COMMAND("*ECALLONLYREG", NULL,"*ECALLONLYREG", ciEcallOnlyReg),
3351 utlDEFINE_EXTENDED_AT_COMMAND("*ECALLOVERIMS", starECALLOVERIMS_params,"*ECALLOVERIMS: <mode>", ciEcalloverIms, ciEcalloverIms),
3352#endif
3353
3354/* audio atcmds end */
3355#endif // NO_AUDIO
3356 utlDEFINE_EXACTION_AT_COMMAND("*SIMPLUG", NULL, "*SIMPLUG", ciSimHotPlug),
3357 utlDEFINE_EXTENDED_AT_COMMAND("*CGDCONTL", starCGDCONTL_params, "*CGDCONTL: <cid>,<addr>,<mult>", ciSetContextLoopBack, ciSetContextLoopBack),
3358 utlDEFINE_EXTENDED_AT_COMMAND("*SPIND", starSPIND_params, "*SPIND: (0, 1)", ciSetSerialPortIndicationState, ciSetSerialPortIndicationState),
3359 utlDEFINE_EXACTION_AT_COMMAND("*ECCLIST", NULL, "*ECCLIST", ciEccList),
3360 utlDEFINE_EXTENDED_AT_COMMAND("*IMSSRV", starIMSSRV_params, "*IMSSRV:(0-255),(0-255),(0-255)", ciPsSetImsSrv, ciPsSetImsSrv),
3361 utlDEFINE_EXACTION_AT_COMMAND("+CPLMNS", NULL, "+CPLMNS", ciCancelPlmnSearch),
3362 utlDEFINE_EXTENDED_AT_COMMAND("+CACL", plusCACL_params, "+CACL:(0, 1),(0, 1)", ciCacl, ciCacl),
3363 utlDEFINE_EXTENDED_AT_COMMAND("*DCONF", starUdconf_params,
3364 "*DCONF: 20,(0,1)\r\n*DCONF: 31,(0,1)\r\n*DCONF: 32,(0-127)\r\n*DCONF: 40,(0-3),(0-3)\r\n*DCONF: 50,(0,1)\r\n*DCONF: 51,(0,1)\r\n*DCONF: 60,(0-2)\r\n*DCONF: 61,(0-2)\r\n*DCONF: 62,(0,1)\r\n*DCONF: 70,(0-7)\r\n*DCONF: 81,(0,1)\r\n*DCONF: 100,(0,1)",
3365 ciUdconf, ciUdconf),
3366 utlDEFINE_EXTENDED_AT_COMMAND("*CGCLASS", starUCGCLASS_params, "*CGCLASS:(\"B\",\"CC\")", ciStarUCGCLASS, ciStarUCGCLASS),
3367 utlDEFINE_EXTENDED_AT_COMMAND("*CIWLANCID", starCIWLANCID_params, "*CIWLANCID:(1-15),(0-1)", ciReserveCid, ciReserveCid),
3368
3369 // Add for BT SAP
3370#ifdef BT_SAP
3371 utlDEFINE_EXTENDED_AT_COMMAND("*BTSCNCT", starBTSCNCT_params, "*BTSCNCT:(0-65535)", ciBTSConnect, ciBTSConnect),
3372 utlDEFINE_EXACTION_AT_COMMAND("*BTSDISSCNCT", NULL, "*BTSDISSCNCT: ", ciBTSDisconnect),
3373 utlDEFINE_EXTENDED_AT_COMMAND("*BTSTAPDU", starBTSTAPDU_params, "*BTSTAPDU:(0,1)", ciBTSTransferAPDU, ciBTSTransferAPDU),
3374 utlDEFINE_EXTENDED_AT_COMMAND("*BTSTATR", NULL, "*BTSTATR: ", ciBTSTATR, ciBTSTATR),
3375 utlDEFINE_EXTENDED_AT_COMMAND("*BTSCTRL", starBTSCTRL_params, "*BTSCTRL:(0-2)", ciBTSSimControl, ciBTSSimControl),
3376 utlDEFINE_EXTENDED_AT_COMMAND("*BTSCRSTAT", NULL, "*BTSCRSTAT: ", ciBTSCardStatus, ciBTSCardStatus),
3377 utlDEFINE_EXTENDED_AT_COMMAND("*BTSTP", starBTSTP_params, "*BTSTP:(0,1)", ciBTSTransportProtocol, ciBTSTransportProtocol),
3378#endif
3379 utlDEFINE_EXTENDED_AT_COMMAND("+OPERCFG", opercfg_params, "+OPERCFG=<feature1>,<value1>[,<feature2>,<value2>,....]", ciSetOperCfg, ciSetOperCfg),
hong.liuc8c95bb2025-05-26 06:02:18 -07003380#ifdef MBTK_AT_SUPPORT
3381 utlDEFINE_EXTENDED_MBTK_AT_COMMAND("+ICCID", NULL, "+ICCID:", NULL, ciICCID),
3382#else
3383 utlDEFINE_EXTENDED_AT_COMMAND("*ICCID", NULL, "*ICCID:", ciICCID, ciICCID),
3384#endif
b.liue9582032025-04-17 19:18:16 +08003385 utlDEFINE_EXTENDED_AT_COMMAND("*PARK", starPARK_params, "*PARK:", ciPARK, ciPARK),
3386 utlDEFINE_EXTENDED_AT_COMMAND("*CHECKEMER", startCheckEmer_params, "*CHECKEMER: <Emergency Call Number>", CheckEmergNumber, CheckEmergNumber),
3387
3388 utlDEFINE_EXTENDED_AT_COMMAND("*TEMPTEST", starTEMPTEST_params, "*TEMPTEST:(0,1)", ciTEMPTEST, ciTEMPTEST),
3389
3390 utlDEFINE_EXTENDED_AT_COMMAND("+ACONFIG", plusACONFIG_params, "+ACONFIG", ciACONFIG, ciACONFIG),
3391 utlDEFINE_EXTENDED_AT_COMMAND("+IMSFUNC", plusIMSFUNC_params, "+IMSFUNC", ciIMSFUNC, ciIMSFUNC),
3392
3393 utlDEFINE_EXTENDED_AT_COMMAND("+STRESS", plusSTRESSTEST_params, "+STRESS:<p1,p2>", ciSTRESS, ciSTRESS),
3394 utlDEFINE_EXTENDED_AT_COMMAND("+SULOG", plusSULOG_params, "+SULOG:(0,1)", ciSULOG, ciSULOG),
3395 utlDEFINE_EXTENDED_AT_COMMAND("+MEDCR", plusMEDCR_params, "+MEDCR", ciMEDCR, ciMEDCR),
3396
3397#ifdef GPS_SUPPORT
3398 utlDEFINE_EXTENDED_AT_COMMAND("+GPSINIT", gpsInit_params, "+GPSINIT: (1,2)", ciGPSInit, ciGPSInit),
3399 utlDEFINE_EXTENDED_AT_COMMAND("+GPSSLEEP", gpsSleep_params, "+GPSSLEEP: (0,1)", ciGPSSleep, ciGPSSleep),
3400 utlDEFINE_EXACTION_AT_COMMAND("+GPSPF", NULL, NULL, ciGPSPF),
3401 utlDEFINE_EXTENDED_AT_COMMAND("+AGNSSGET", agnssGet_params, "+AGNSSGET: <supl_server_addr>", ciAGnssGet, ciAGnssGet),
3402 //utlDEFINE_EXTENDED_AT_COMMAND("+AGNSSCFG", agnssCfg_params, "+AGNSSCFG: <server>,<port>,<user>,<pass>,<day>,<force>", ciAGnssCfg, ciAGnssCfg),
3403 utlDEFINE_EXACTION_AT_COMMAND("+AGNSSSET", NULL, NULL, ciAGnssSet),
3404 utlDEFINE_EXACTION_AT_COMMAND("+GPSST", NULL, NULL, ciGPSState),
3405 utlDEFINE_EXTENDED_AT_COMMAND("+GPSSETTING", gpsSet_params, "+GPSSETTING: <string>", ciGPSSetting, ciGPSSetting),
b.liu37ac3842025-05-26 21:22:12 +08003406#else
3407//mbtk for gps add
3408 //0-close 1-uart1 2-USB_NAME 3-USB_AT 4-tty_gnss_name
3409 utlDEFINE_EXTENDED_AT_COMMAND("+GPSINIT", mbtk_gpsInit_params, "+GPSINIT: (0-15)", mbtk_GPSInit, mbtk_GPSInit),
3410 utlDEFINE_EXACTION_AT_COMMAND("+GPSDEINIT", NULL, NULL, mbtk_GPSDeInit),
3411 utlDEFINE_EXTENDED_AT_COMMAND("+GPSSLEEP", mbtk_gpsSleep_params, "+GPSSLEEP: (0,1)", mbtk_GPSSleep, mbtk_GPSSleep),
3412 utlDEFINE_EXTENDED_AT_COMMAND("+AGNSSGET", mbtk_agnssGet_params, "+AGNSSGET: <supl_server_addr>, <alam_flag>", mbtk_AGnssGet, mbtk_AGnssGet),
3413 utlDEFINE_EXTENDED_AT_COMMAND("+AGNSSCFG", mbtk_agnssCfg_params, "+AGNSSCFG: <server>,<port>,<user>,<pass>,<day>,<force>", mbtk_AGnssCfg, mbtk_AGnssCfg),
3414 utlDEFINE_EXACTION_AT_COMMAND("+AGNSSSET", NULL, NULL, mbtk_AGnssSet),
3415 utlDEFINE_EXACTION_AT_COMMAND("+GPSST", NULL, NULL, mbtk_GPSState),
3416 utlDEFINE_EXTENDED_AT_COMMAND("+GPSSETTING", mbtk_gpsSet_params, "+GPSSETTING: <string>", mbtk_GPSSetting, mbtk_GPSSetting),
3417 utlDEFINE_EXTENDED_MBTK_AT_COMMAND("+GPSFWDL", mbtk_gpsFwdl_params, "+GPSFWDL: <string>", mbtk_GPSFwdl, mbtk_GPSFwdl),
b.liue9582032025-04-17 19:18:16 +08003418#endif
3419
3420 utlDEFINE_EXTENDED_AT_COMMAND("*FACTORY", NULL, "*FACTORY", ciFactoryReset, ciFactoryReset),
3421 //utlDEFINE_EXTENDED_AT_COMMAND("+CMTLR", plusCMTLR_params, "+CMTLR: (0-3)", ciCMTLR, ciCMTLR),
3422 utlDEFINE_EXTENDED_AT_COMMAND("+CMTLRA", plusCMTLRA_params, "+CMTLRA: (0-1),(0-255)", ciCMTLRA, ciCMTLRA), //27.007(rls14) 8.58
3423 utlDEFINE_EXTENDED_AT_COMMAND("*IND", starIND_params, "*IND: <dataStr>", ciSENDIND, ciSENDIND),
3424
3425#ifdef CMCC_IOT
3426 utlDEFINE_EXTENDED_AT_COMMAND("+MIPLVER", NULL, "+MIPLVER?", miplVersion, miplVersion),
3427 utlDEFINE_EXTENDED_AT_COMMAND("+MIPLCREATE", miplcreate_params, "+MIPLCREATE:<totalsize>,<config>,<index>,<currentsize>,<flag>", miplCreate, miplCreate),
3428 utlDEFINE_EXTENDED_AT_COMMAND("+MIPLDELETE", mipldelete_params, "+MIPLDELETE:<ref>", miplDelete, miplDelete),
3429 utlDEFINE_EXTENDED_AT_COMMAND("+MIPLADDOBJ", mipladdobj_params, "+MIPLADDOBJ:<ref>,<objectid>,<instancecount>,<instancebitmap>,<attributecount>,<actioncount>", miplAddobj, miplAddobj),
3430 utlDEFINE_EXTENDED_AT_COMMAND("+MIPLDELOBJ", mipldelobj_params, "+MIPLDELOBJ:<ref>,<objectid>", miplDelobj, miplDelobj),
3431 utlDEFINE_EXTENDED_AT_COMMAND("+MIPLOPEN", miplopen_params, "+MIPLOPEN:<ref>,<lifetime>[,<timeout>]", miplOpen, miplOpen),
3432 utlDEFINE_EXTENDED_AT_COMMAND("+MIPLUPDATE", miplupdate_params, "+MIPLUPDATE:<ref>,<lifetime>,<withObjectFlag>", miplUpdate, miplUpdate),
3433 utlDEFINE_EXTENDED_AT_COMMAND("+MIPLCLOSE", miplclose_params, "+MIPLCLOSE:<ref>", miplClose, miplClose),
3434 utlDEFINE_EXTENDED_AT_COMMAND("+MIPLDISCOVERRSP", mipldiscoverresp_params, "+MIPLDISCOVERRSP:<ref>,<msgid>,<result>,<length>,<valuestring>", miplDiscoverresp, miplDiscoverresp),
3435 utlDEFINE_EXTENDED_AT_COMMAND("+MIPLREADRSP", miplreadrsp_params,
3436 "+MIPLREADRSP:<ref>,<msgid>,<result>[,<objectid>,<instanceid>,<resourceid>,<valuetype>,<len>,<value>,<index>,<flag>]", miplReadrsp, miplReadrsp),
3437 utlDEFINE_EXTENDED_AT_COMMAND("+MIPLWRITERSP", miplwritersp_params, "+MIPLWRITERSP:<ref>,<msgid>,<result>", miplWritersp, miplWritersp),
3438 utlDEFINE_EXTENDED_AT_COMMAND("+MIPLEXECUTERSP", miplexecutersp_params, "+MIPLWRITERSP:<ref>,<msgid>,<result>", miplExecutersp, miplExecutersp),
3439 utlDEFINE_EXTENDED_AT_COMMAND("+MIPLPARAMETERRSP", miplparameterrsp_params, "+MIPLPARAMETERRSP:<ref>,<msgid>,<result>", miplParameterrsp, miplParameterrsp),
3440 utlDEFINE_EXTENDED_AT_COMMAND("+MIPLOBSERVERSP", miplobserversp_params, "+MIPLOBSERVERSP:<ref>,<msgid>,<result>", miplObserversp, miplObserversp),
3441 utlDEFINE_EXTENDED_AT_COMMAND("+MIPLNOTIFY", miplnotify_params,
3442 "+MIPLNOTIFY:<ref>,<msgid>,<objectid>,<instanceid>,<resourceid>,<valuetype>,<len>,<value>,<index>,<flag>[,<ackid>]", miplNotify, miplNotify),
3443#endif
3444
3445 utlDEFINE_EXTENDED_AT_COMMAND("+CWRITESIM", NULL, "+CWRITESIM?", ATCWRITESIM, ATCWRITESIM),
3446#if !defined(CI_RELEASE_FLAG) && (defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI))
3447 utlDEFINE_EXTENDED_AT_COMMAND("+CWRITESIMEXT", plusCWRITESIMEXT_params, "+CWRITESIMEXT", ciWriteSimExt, ciWriteSimExt),
3448#endif
3449 utlDEFINE_EXTENDED_AT_COMMAND("*SIMPOLL", starSIMPOLL_params, "*SIMPOLL:(0-1),(0-1),(0-1),(1-65535)", ciSimPoll, ciSimPoll),
3450 utlDEFINE_EXTENDED_AT_COMMAND("*RSAPSTAT", plusRSAPStat_params,
3451 "*RSAPSTAT:<status>(0-Err,1-Card reset,2-Card not accessible,3-Card Removed,4-Card inserted,5-Card recovered)",
3452 ciRSAPStatus, ciRSAPStatus),
3453 utlDEFINE_EXTENDED_AT_COMMAND("*RSAPSIMSELECT", plusRSAPSimSelect_params,
3454 "*RSAPSIMSELECT:<service>(0-Reconnect,1-Disconnect),<sim type>(0-local,1-remote)",
3455 ciRSAPSimSelect, ciRSAPSimSelect),
3456 utlDEFINE_EXTENDED_AT_COMMAND("*RSAPRSP", plusRSAPRsp_params,
3457 "*RSAPRSP:<rsp type>(0-CONN_REQ,1-DISCONN_REQ,2-ATR_REQ,3-TP_REQ,4-SIM_CTRL_REQ,5-APDU_REQ),<ret code>(0-success,>0-failur),<conn status>(0-OK,1-UNABLE_TO_ESTABLISH_CONNECTION,2-MAX_MESSAGE_SIZE_NOT_SUPPORTED,3-MAX_MESSAGE_SIZE_TOO_SMALL,4-CI_SIM_BTSAP_ONGOING_CALL),<rsp data>",
3458 ciRSAPRsp, ciRSAPRsp),
3459 utlDEFINE_EXTENDED_AT_COMMAND("+SIMLOCKFUSE", plusSIMLOCKFUSE_params, "+SIMLOCKFUSE=<s>", ciSIMLOCKFUSE, ciSIMLOCKFUSE),
3460 utlDEFINE_EXTENDED_AT_COMMAND("+AUTOAPN", plusAUTOAPN_params, "+AUTOAPN: <mode:0/1>[,<PDP_type:IP/IPV6/IPV4V6>,<APN>[,<auth_type:0-None/1-PAP/2-CHAP>[,<username>,<password>]]]", AtDialAutoApn, AtDialAutoApn),
3461 utlDEFINE_EXTENDED_AT_COMMAND("+VLAN", plusVLAN_params, "+VLAN: <enable:0/1>[,< base-id>,[default_pdp_vlan]]", AtVlanConfig, AtVlanConfig),
3462 utlDEFINE_EXTENDED_AT_COMMAND("+ZVLAN", plusZVLAN_params, "+ZVLAN: <enable:0/1>", AtZVlan, AtZVlan),
3463 utlDEFINE_EXTENDED_AT_COMMAND("+ZVLANID", plusZVLANID_params, "+ZVLANID: <cid:1-8>,<vlan_id:0-4095>", AtZVlanID, AtZVlanID),
3464
3465 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CMRSS",plusCMRSS_params, ciCMRSS, ciCMRSS, ciCMRSS),
3466 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CMGSS",plusCMGSS_params, ciCMGSS, ciCMGSS, ciCMGSS),
3467 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CMSMS",plusciCSMS_params, ciCMSMS, ciCMSMS, ciCMSMS),
3468 utlDEFINE_EXTENDED_VSYNTAX_AT_COMMAND("+CMGMS",plusCMGMS_params, ciCMGMS, ciCMGMS, ciCMGMS),
3469 utlDEFINE_EXACTION_AT_COMMAND("*SMSSTATUS", NULL, "*SMSSTATUS", ciSMSSTATUS),
3470 utlDEFINE_EXTENDED_AT_COMMAND("*SSGLPC", NULL, "*SSGLPC", ciSSGLPC, ciSSGLPC),
3471 utlDEFINE_EXTENDED_AT_COMMAND("*ANTTUNER", plusANTTUNER_params, "*ANTTUNER: (0-3)", ciAntennaTuner, ciAntennaTuner),
3472 utlDEFINE_EXTENDED_AT_COMMAND("*WSTAT", starWSTAT_params, "*WSTAT: (1-16)", ciGetWanStatistics, ciGetWanStatistics),
3473 utlDEFINE_EXTENDED_AT_COMMAND("*WIFRATE", starWSTAT_params, "*WIFRATE: (1-16)", ciGetWanIFRate, ciGetWanIFRate),
3474 utlDEFINE_EXTENDED_AT_COMMAND("*WIFCONTIME", starWSTAT_params, "*WIFCONTIME: (1-16)", ciGetWanConTime, ciGetWanConTime),
3475#if defined(ATCMD_UNIFY_CI) || defined(ATCMD_1903_CI) || (defined(ATCMD_1901_CI) && !defined(CI_RELEASE_FLAG))
3476 utlDEFINE_EXTENDED_AT_COMMAND("*SELECTVSIM", plusSELECTVSIM_params, "*SELECTVSIM: <selectVsim(0-1)>[,resevered:(0-1)]", ciSelectVsim, ciSelectVsim),
3477#endif
3478 utlDEFINE_EXTENDED_AT_COMMAND("*AVSIM", starAVSIM_params, "*AVSIM: <iccid>,<imsi>,<para1>,<para2>", cistarAVSIM, cistarAVSIM),
3479 utlDEFINE_EXTENDED_AT_COMMAND("*DDRFREQ", plusDDRFREQ_params, "*DDRFREQ: (0,1)", ciDdrFreq, ciDdrFreq),
3480 utlDEFINE_EXTENDED_AT_COMMAND("*L1DEBUG", plusL1DEBUG_params, "*L1DEBUG:<info>", ciL1Debug, ciL1Debug),
3481 utlDEFINE_EXTENDED_AT_COMMAND("+ZIPPASS", starZIPPASS_params, "+ZIPPASS: <enable:0/1>", atZIPPASS, atZIPPASS),
3482#if defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI) || defined(ATCMD_UNIFY_CI)
3483 utlDEFINE_EXTENDED_AT_COMMAND("*DSPINFO", starDspInfo_params, "*DSPINFO:(0-255), <dataStr>, (0-255)", ciDspInfo, ciDspInfo),
3484#endif
3485
3486#if defined(ATCMD_1802S_CI) || defined(ATCMD_UNIFY_CI) || defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
3487 utlDEFINE_EXACTION_AT_COMMAND("+AOPS", NULL, "+AOPS: ", ciBandScan),
3488 utlDEFINE_EXTENDED_AT_COMMAND("+AOPSCFG", starBandScan_params, "+AOPSCFG:\"scancontrol\",<RAT>,<gsmBand>,<umtsBand>,<lteBandL>,<lteBandH>,<lteBandExt>", ciBandScanCFG, ciBandScanCFG),
3489#endif
3490
3491#ifdef LPA_SUPPORT
3492 utlDEFINE_EXTENDED_AT_COMMAND("+CTRSPSTRT", ctRspStrt_params, "+CTRSPSTRT:SMDP_ADDR,MATCHID[,FLAG]", atCtRspStrt, atCtRspStrt),
3493 utlDEFINE_EXTENDED_AT_COMMAND("+CTRSPGETINFO", ctRspGetInfo_params, "+CTRSPGETINFO:QUERY_TYPE[,ICCID]", atCtRspGetInfo, atCtRspGetInfo),
3494 utlDEFINE_EXTENDED_AT_COMMAND("+CTRSPPROFACT", ctRspProfAct_params, "+CTRSPPROFACT:ICCID", atCtRspProfAct, atCtRspProfAct),
3495 utlDEFINE_EXTENDED_AT_COMMAND("+CTRSPNTFYLEAB", ctRspNfyLeab_params, "+CTRSPNTFYLEAB:ICCID", atCtRspNtfyLeab, atCtRspNtfyLeab),
3496 utlDEFINE_EXACTION_AT_COMMAND("+CTRSPSVN", NULL, "+CTRSPSVN", atCtRspSvn),
3497#endif
3498
3499#if defined(ATCMD_UNIFY_CI) || defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
3500 utlDEFINE_EXTENDED_AT_COMMAND("*DELFBPLMN", plusDELFBPLMN_params, "at*delfbplmn: (1-3)", ciDelFbPlmn, ciDelFbPlmn),
3501 utlDEFINE_EXTENDED_AT_COMMAND("*RESENDPARA", plusRESEDPARA_params, "at*resendpara:<tr1mTime>,<retramTime>,<retryNum>,<isRetryRpError>", ciResendPara, ciResendPara),
3502 utlDEFINE_EXTENDED_AT_COMMAND("*COMFEATURE", plusCOMFEATURE_params, "*COMFEATURE: (0-4),(0-14), <data_string>, (1-65535), <string>", ciComFeature, ciComFeature),
3503#endif
3504 utlDEFINE_EXTENDED_AT_COMMAND("*SECCAP", starSECCAP_params, "*SECCAP=<nasSeccap>,<umtsRrcCAPCap>,<umtsRrcIPCcap>", ciStarSECCAP, ciStarSECCAP),
3505 utlDEFINE_EXTENDED_AT_COMMAND("*REJECTCAUSE", starREJECTCAUSE_params, "*REJECTCAUSE: <cid>", ciRejectCauseReq, ciRejectCauseReq),
3506 utlDEFINE_EXACTION_AT_COMMAND("*SOCTEMP", NULL, "*SOCTEMP", ciSocTemp),
3507#if defined(ATCMD_UNIFY_CI)
3508 utlDEFINE_EXTENDED_AT_COMMAND("*RPM", NULL, "*RPM", ciRpm, ciRpm),
3509 utlDEFINE_EXTENDED_AT_COMMAND("+CFGRPMSWITCH", plusCFGRPMSWITCH_params, "+CFGRPMSWITCH: (0,1)", ciCfgRpmSwitch, ciCfgRpmSwitch),
3510 utlDEFINE_EXTENDED_AT_COMMAND("+CFGRPMPARA", plusCFGRPMPARA_params, "+CFGRPMPARA: (0-255),(0-255),(0-255),(0-255),(0-255),(0-255)", ciCfgRpmPara, ciCfgRpmPara),
3511 utlDEFINE_EXTENDED_AT_COMMAND("+CFGRPMCOUNTER", NULL, "+CFGRPMCOUNTER", ciCfgRpmCounter, ciCfgRpmCounter),
3512 utlDEFINE_EXTENDED_AT_COMMAND("+CFGRPMCLR", plusCFGRPMCLR_params, "+CFGRPMCLR: (0-255),(0-255),(0-255)", ciCfgRpmClr, ciCfgRpmClr),
3513#endif
3514#if 0
3515 utlDEFINE_EXTENDED_AT_COMMAND("+BTMAC", plusBTMAC_params, "+BTMAC=<a>[,<s>]", AtBtMAC, AtBtMAC), // write, read or delete the bluetooth MAC.
3516#endif
3517#if defined(ATCMD_UNIFY_CI) || defined(ATCMD_1802S_CI)
3518 utlDEFINE_EXTENDED_AT_COMMAND("*ASRCOPS", NULL, "*ASRCOPS:", ciASRCOPS, ciASRCOPS),
3519#endif
3520
3521#if defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
3522#ifdef ENABLE_WIFI_SCAN
3523 utlDEFINE_EXTENDED_AT_COMMAND("*WIFICTRL", starWifiCtrl_params, "*WIFICTRL:(0-3),(1-255),(4-255),(0-255),(0-255)", ciWifiCtrl, ciWifiCtrl),
3524#endif
3525
3526 utlDEFINE_EXTENDED_AT_COMMAND("*CDNID", plusCDNID_params, "*CDNID: (<cid>), (<DN_id>)\r\n", ciSetSmPduDnReqContainer, ciSetSmPduDnReqContainer),
3527 utlDEFINE_EXTENDED_AT_COMMAND("*CAG", starCAG_params, "*CAG: (0,1,2,3)", ciCAG, ciCAG),
3528 utlDEFINE_EXTENDED_AT_COMMAND("+C5GUSMS", plusC5GUSMS_params, "+C5GUSMS:(0-2),(0-1)", ciC5GUSMS, ciC5GUSMS),
3529 utlDEFINE_EXTENDED_AT_COMMAND("*LOCALURSP", starLOCALURSP_params, "*LOCALURSP:(0-2),\"ursp stream\"", ciLocalUrsp, ciLocalUrsp),
3530 utlDEFINE_EXTENDED_AT_COMMAND("*TSNCTRL", starTSNCTRL_params, "*TSNCTRL: <0-1>, <0,1>, <0-0xFFFFFFFF>,[<0-1>,<5,10,20,60,120,300,600>]", ciTsnCtrl, ciTsnCtrl),
3531#ifdef NR_POSITION_SUPPORT
3532 utlDEFINE_EXTENDED_AT_COMMAND("*POSFUN", starPOSFUN_params, "*POSFUN: (0-1),(0-3),(0-7),(1-10),(1-10),<data_string>", ciPositionFunc, ciPositionFunc),
3533#endif
3534#endif
3535
3536 utlDEFINE_EXTENDED_AT_COMMAND("*SELECTSIMSLOT", starSELECTSIMSLOT_params, "*SELECTSIMSLOT: (0,1)[,<reserved>]", ciSELECTSIMSLOT, ciSELECTSIMSLOT),
3537
3538#if defined(ATCMD_UNIFY_CI) || defined(ATCMD_1802S_CI)|| defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
3539 utlDEFINE_EXTENDED_AT_COMMAND("*BLACKCELL", starBLACKCELL_params, "*BLACKCELL: (0-3),(0-3),<cell_info>", ciBLACKCELL, ciBLACKCELL),
3540 utlDEFINE_EXTENDED_AT_COMMAND("*CSCO", starCSCO_params, "*CSCO=<offset_scell>,<offset_scell_qual>,<offset_ncell_lte>,<offset_ncell_lte_qual>,<offset_ncell_umts>,<offset_ncell_umts_qual>,<offset_ncell_gsm>", ciCSCO, ciCSCO), /* request to set cell select offest */
3541#endif
3542
3543#ifdef WIFI_ATCMD
3544 utlDEFINE_EXTENDED_AT_COMMAND("+WIFI", plusWIFI_params, "AT+WIFI=cmdline", ciWifiCmd, ciWifiCmd),
3545#endif
3546 utlDEFINE_EXACTION_AT_COMMAND("*READVER", NULL, "*READVER", ciREADVER),
3547 utlDEFINE_EXTENDED_AT_COMMAND("*EEH", starEEH_params, "*EEH: (0,1)", ciEEH, ciEEH),
3548 utlDEFINE_EXTENDED_AT_COMMAND("*DEVTEST", starDEVTEST_params, "*DEVTEST: (0,1)", ciDevTest, ciDevTest),
3549#if defined(ATCMD_UNIFY_CI) || defined(ATCMD_1903_CI) || (defined(ATCMD_1901_CI) && !defined(CI_RELEASE_FLAG))
3550 utlDEFINE_EXTENDED_AT_COMMAND("+RDNURI", plusRDNURI_params, "AT+RDNURI=filetype,record", ciRDNURI, ciRDNURI),
3551#endif
3552#if defined(ATCMD_UNIFY_CI) || defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
3553 utlDEFINE_EXTENDED_AT_COMMAND("*REGRW", starReg_params, "*REGRW: <op>,<mem address>[,<mem value>]", AtRegRW, AtRegRW),
3554#endif
3555 utlDEFINE_EXTENDED_AT_COMMAND("*CGDATAON", starcgdataon_params, "*CGDATAON: <0-1>", ciDataON, ciDataON),
3556
3557#ifdef CUSTQ
3558#if defined(ATCMD_1903_CI) || defined(ATCMD_1901_CI)
3559#if !defined(CI_RELEASE_FLAG)
3560 utlDEFINE_EXTENDED_AT_COMMAND("+QNWPREFCFG", plusqnwprefcfg_params, "+QNWPREFCFG: \"ue redcap setting\"[,(0-2)]", ciQnwPrefCfg, ciQnwPrefCfg),
3561#endif
3562#endif
3563#endif
hong.liuc8c95bb2025-05-26 06:02:18 -07003564
3565#ifdef MBTK_AT_SUPPORT
3566 #define MBTK_AT_COMMAND_SHELL
3567 #include "mbtk_at_tables.h"
3568 #undef MBTK_AT_COMMAND_SHELL
3569#endif
b.liue9582032025-04-17 19:18:16 +08003570};
3571
3572const utlAtCommand_T * const pshell_commands = shell_commands;
3573const unsigned int shell_commands_num = utlNumberOf(shell_commands);
3574
3575const utlAtCommand_T proxyUnknownCmd = utlDEFINE_EXTENDED_AT_COMMAND("*PRXYUNKOWN",NULL,NULL, NULL,NULL);
3576
3577ATCMD_TimeOut atcmd_timeout_table[utlNumberOf(shell_commands)]={
3578 {"+CCFC", {155, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
3579 {"+CCWA", {155, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
3580 {"+CGLA", {150, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
b.liu37ac3842025-05-26 21:22:12 +08003581 // Add by mbtk
3582 {"+GPSINIT",{120, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
3583 {"+GPSFWDL",{120, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
b.liue9582032025-04-17 19:18:16 +08003584 {"+CSIM", {150, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
3585 {"+CFUN", {120, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
3586 {"+CGDATA", {155, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
3587 {"+CLIR", {utlAT_AWAIT_ASYNC_TIMEOUT_TIME, 155, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
3588 {"+CMGS", {120, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
3589 {"+CMGC", {120, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
3590 {"+CMGW", {50, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
3591 {"+COPN", {100, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
3592 {"+COPS", {250, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, 250}},
3593 {"+BGLTEPLMN", {utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, 250}},
3594 {"*BAND", {60, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
3595 {"+CGATT", {120, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
3596 {"*PSDC", {80, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
3597 {"*CGATTC", {80, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
3598 {"*CSG", {100, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, 250}},
3599 {" ", {60, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
3600 {"D", {120, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
3601 {"*DIALE", {60, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
3602 {"CPLMNS", {15, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
3603 {"+ZSNT", {60, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
3604 {"+CNUM", {60, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
3605 {"+STRESS", {0x7fffffff, 0x7fffffff, 0x7fffffff}},
3606 {"*IMSCFG", {100, 100, 100}},
3607 {"*CAG", {100, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
3608 {"+AOPS", {300, 300, 300}},
3609 {"+CLCK", {155, utlAT_AWAIT_ASYNC_TIMEOUT_TIME, utlAT_AWAIT_ASYNC_TIMEOUT_TIME}},
3610
3611};
3612pthread_mutex_t gTimeoutTableLock = PTHREAD_MUTEX_INITIALIZER;
hong.liuf4a40582025-05-25 23:33:46 -07003613#ifdef MBTK_AT_SUPPORT
3614
hong.liuc8c95bb2025-05-26 06:02:18 -07003615mbtk_dev_info dev_infos = {.inited = FALSE};
3616void dev_info_set(mbtk_dev_info *info);
hong.liuf4a40582025-05-25 23:33:46 -07003617#define EXT_SOCKET_NAME "/tmp/atcmdext" //LYNQ_MODFIY for gsw ext_at
3618//LYNQ_MODFIY_START for gsw ext_at
3619#define SOCKET_ZERO 0
3620#define SOCKET_SUCC 1
3621#define SOCKET_FAIL -1
3622#define SOCKET_BUF_SIZE 512
3623TelAtParserID extID;
3624char register_atcmd_buff[SOCKET_BUF_SIZE] = {0};
3625char *white_list[] = {"AT","ATD","ATV","ATA","ATE","ATH","ATL","ATI","ATP","ATO","ATQ",NULL};
3626int g_atsvc_socket_fd = 0;
3627int g_atsvc_client_connect = -1;
3628static pthread_mutex_t s_startupMutex = PTHREAD_MUTEX_INITIALIZER;
3629int has_registe_cmd = 0;
3630int g_create_socket = 0;
3631struct sockaddr_un g_remote_addr = {0};
3632struct sockaddr_un g_local_addr = {0};
3633
3634void upper_string(char *org_string)
3635{
3636 int len = strlen(org_string);
3637 for(int i=0;i<len;i++)
3638 {
3639 if(org_string[i]>=97 && org_string[i]<=122)
3640 {
3641 org_string[i]=org_string[i]-32;
3642 }
3643 }
3644 return;
3645}
3646
3647char* cut_cmd_line(char* line)
3648{
3649 char* result;
3650 int i = 0;
3651 int size = strlen(line);
3652 int len = size;
3653 for (i = 0; i < size; i++) {
3654 if (line[i] == '=' || line[i] == '?') {
3655 len = i;
3656 break;
3657 }
3658 }
3659 result = (char*)malloc((len + 1) * sizeof(char));
3660 if (result == NULL) {
3661 ERRMSG(cut_cmd_line, "malloc result fail, return NULL");
3662 return NULL;
3663 }
3664 memcpy(result, line, len);
3665 while (len > 0 && (result[len - 1] == '\r' || result[len - 1] == '\n'))
3666 {
3667 result[--len] = '\0';
3668 }
3669 DBGMSG(cut_cmd_line, "cut_cmd_line is:%s,len:%d", result,len);
3670 return result;
3671}
3672
3673int actsvc_cmd_recv(int fd, char *buf, int len)
3674{
3675 int ret = 0;
3676 ret = recv(fd, buf, len, 0);
3677 DBGMSG(actsvc_cmd_recv, "%s: mbtk_lib_init() failed\n", __FUNCTION__);
3678 if (ret < 0)
3679 {
3680 ERRMSG(actsvc_cmd_recv, "acti_cmd_recv service select error, ret=%d, error=%s(%d),fd=%d", ret,strerror(errno), errno, fd);
3681 return SOCKET_FAIL;
3682 }
3683 else if(ret == 0)
3684 {
3685 ERRMSG(actsvc_cmd_recv, "acti_cmd_recv service recv error, ret=%d, error=%s(%d),fd=%d", ret,strerror(errno), errno, fd);
3686 return SOCKET_ZERO;
3687 }
3688 else
3689 {
3690 ERRMSG(actsvc_cmd_recv, "[%s] buf is:%s",__FUNCTION__,buf);
3691 return SOCKET_SUCC;
3692 }
3693}
3694
3695int create_socket(const int domain, const int type, const int protocol,const int port,const char *IP,const char *socket_name,void * addr,int backlog)
3696{
3697 DBGMSG(create_socket,"domain:%d,type:%d,protocol:%d,port:%d,IP:%s,socket_name:%s,backlog:%d",domain,type,protocol,port,IP,socket_name,backlog);
3698 int socket_fd = -1;
3699 char acBuf[1024] = {0};
3700 struct sockaddr_un *local_addr = NULL;
3701 local_addr = (struct sockaddr_un *)addr;
3702 socket_fd = socket(domain, type,protocol);
3703 if(0 > socket_fd)
3704 {
3705 ERRMSG(create_socket,"create socket fail:fd = %d",socket_fd);
3706 return socket_fd;
3707 }
3708 switch (domain)
3709 {
3710 case AF_UNIX:
3711 {
3712 if (strlen(socket_name) > sizeof(local_addr->sun_path) - 1)
3713 {
3714 ERRMSG(create_socket,"Server socket path too long: %s", socket_name);
3715 return (-strlen(socket_name));
3716 }
3717 if (remove(socket_name) == -1 && errno != ENOENT)
3718 {
3719 ERRMSG(create_socket,"remove-%s fail and errno:%d", socket_name,errno);
3720 }
3721 while(access(socket_name, R_OK)==0)
3722 {
3723 ERRMSG(create_socket,"%s still exist", socket_name);
3724 usleep(10);
3725 }
3726 ERRMSG(create_socket,"remove %s", socket_name);
3727 local_addr->sun_family = AF_UNIX;
3728 strncpy(local_addr->sun_path, socket_name, sizeof(local_addr->sun_path) - 1);
3729 local_addr->sun_path[sizeof(local_addr->sun_path) - 1] = '\0';
3730 if(bind(socket_fd, (struct sockaddr *)local_addr, sizeof(struct sockaddr_un)) < 0)
3731 {
3732 ERRMSG(create_socket,"bind failed name=[%s] reason=[%s]\n", socket_name, strerror(errno));
3733 close(g_atsvc_socket_fd);
3734 return -1;
3735 }
3736 if(type == SOCK_STREAM)
3737 {
3738 if(listen(socket_fd,backlog) == -1)
3739 {
3740 ERRMSG(create_socket,"listen fd: %dfail",socket_fd);
3741 close(g_atsvc_socket_fd);
3742 return -1;
3743 }
3744 }
3745 break;
3746 }
3747 case AF_INET:
3748 {
3749 break;
3750 }
3751 default:
3752 break;
3753 }
3754 return socket_fd;
3755}
3756
3757int mbtk_check_extension_atcmd(char * atcmd)
3758{
3759 DBGMSG(mbtk_check_extension_atcmd, "[%s] enter",__FUNCTION__);
3760 char *needleP = NULL;
3761 if(NULL == atcmd || strlen(atcmd) < 2)
3762 {
3763 ERRMSG(mbtk_check_extension_atcmd, "[%s] atcmd is null",__FUNCTION__);
3764 return -1;
3765 }
3766 DBGMSG(mbtk_check_extension_atcmd, "[%s]atcmd:%s",__FUNCTION__,atcmd);
3767 char* line_cut = cut_cmd_line(atcmd);
3768 if (line_cut == NULL)
3769 {
3770 ERRMSG(mbtk_check_extension_atcmd, "[%s]line_cut is null",__FUNCTION__);
3771 return -1;
3772 }
3773 for(int i = 0;white_list[i];i++)
3774 {
3775 if(strcmp(line_cut,white_list[i]) == 0)
3776 {
3777 ERRMSG(mbtk_check_extension_atcmd, "[%s]count %d,pass atcmd:%s",__FUNCTION__,i,line_cut);
lichengzhangc4b76122025-07-25 16:09:50 +08003778 free(line_cut);
hong.liuf4a40582025-05-25 23:33:46 -07003779 return -1;
3780 }
3781 }
3782 needleP =strstr(register_atcmd_buff,line_cut);
lichengzhangc4b76122025-07-25 16:09:50 +08003783 if(NULL != needleP && (needleP[strlen(line_cut)] == ';' || needleP[strlen(line_cut)] == '\0'))
hong.liuf4a40582025-05-25 23:33:46 -07003784 {
3785 ERRMSG(mbtk_check_extension_atcmd, "[%s] find atcmd:%s",__FUNCTION__,line_cut);
3786 free(line_cut);
3787 return 0;
3788 }
3789 free(line_cut);
3790 return -1;
3791}
3792int send_msg_to_at_extension(char *atcmd,int size)
3793{
3794 DBGMSG(send_msg_to_at_extension, "[%s] enter",__FUNCTION__);
3795 if (g_atsvc_client_connect < 0)
3796 {
3797 ERRMSG(send_msg_to_at_extension, "fd invalid when send to atci service. errno = %d", errno);
3798 return -1;
3799 }
3800 if(NULL == atcmd)
3801 {
3802 ERRMSG(send_msg_to_at_extension, "atcmd is null.");
3803 return -1;
3804 }
3805
3806 int sendLen = send(g_atsvc_client_connect, atcmd, size, 0);
3807 if (sendLen != size)
3808 {
3809 ERRMSG(send_msg_to_at_extension, "lose data when send to atci service. errno = %d", errno);
3810 return -1;
3811 }
3812 DBGMSG(send_msg_to_at_extension, "service send to app demo: %s", atcmd);
3813 return 0;
3814}
3815
3816void *start_at_extension_Socket()
3817{
lichengzhangb7d5a1e2025-06-17 14:15:24 +08003818 char out_buf[1024];
hong.liuf4a40582025-05-25 23:33:46 -07003819 DBGMSG(start_at_extension_Socket, "[%s]enter",__FUNCTION__);
3820 socklen_t client_len;
3821 int ret;
3822 char parser_buf[SOCKET_BUF_SIZE];
3823 TryNewSocket:
3824 g_atsvc_socket_fd = create_socket(AF_UNIX, SOCK_STREAM,0, 0, NULL,EXT_SOCKET_NAME, (void *)&g_local_addr, 2);
3825 if(0 > g_atsvc_socket_fd)
3826 {
3827 ERRMSG(start_at_extension_Socket, "init socket fail and fd:%d",g_atsvc_socket_fd);
3828 g_create_socket++;
3829 if(g_create_socket == 10)
3830 {
3831 ERRMSG(start_at_extension_Socket, "create_socket max try count is %d\n", g_create_socket);
3832 return NULL;
3833 }
3834 else
3835 {
3836 ERRMSG(start_at_extension_Socket, "create_socket try again %d\n", g_create_socket);
3837 usleep(500*1000);
3838 goto TryNewSocket;
3839 }
3840 }
3841 g_create_socket = 0;
3842 TryNewLink:
3843 DBGMSG(start_at_extension_Socket, "[%s] TryNewLink!",__FUNCTION__);
3844 client_len = sizeof(g_local_addr);
3845 int conn = accept(g_atsvc_socket_fd,(struct sockaddr *) &g_local_addr, &client_len);
3846 if (conn <= 0)
3847 {
3848 ERRMSG(start_at_extension_Socket, "[%s] accept error!",__FUNCTION__);
3849 close(conn);
3850 return NULL;
3851 }
3852 DBGMSG(start_at_extension_Socket, "Accept a client , fd is %d", conn);
3853 if(g_atsvc_client_connect >= 0)
3854 {
3855 ERRMSG(start_at_extension_Socket, "g_atsvc_client_connect need close!");
3856 close(g_atsvc_client_connect);
3857 }
3858 g_atsvc_client_connect = conn;
3859 /* tranlate data */
3860 while (true)
3861 {
3862 memset(parser_buf, 0, sizeof(parser_buf));
lichengzhangb7d5a1e2025-06-17 14:15:24 +08003863 memset(out_buf, 0, sizeof(out_buf));
hong.liuf4a40582025-05-25 23:33:46 -07003864 if(has_registe_cmd == 0)
3865 {
3866 memset(register_atcmd_buff, 0, sizeof(register_atcmd_buff));
3867 ret = actsvc_cmd_recv(conn, register_atcmd_buff, SOCKET_BUF_SIZE);
3868 upper_string(register_atcmd_buff);
3869 DBGMSG(start_at_extension_Socket, "[%s] ret %d has_registe_cmd %d",__FUNCTION__,ret,has_registe_cmd);
3870 if (ret < 0)
3871 {
3872 ERRMSG(start_at_extension_Socket, "[%s]receive CMD error",__FUNCTION__);
3873 continue;
3874 }
3875 else if(ret == SOCKET_ZERO)
3876 {
3877 ERRMSG(start_at_extension_Socket, "maybe client socket closed 1. retry new link!");
3878 goto TryNewLink;
3879 }
3880 has_registe_cmd = 1;
3881 }
3882 else
3883 {
3884 ret = actsvc_cmd_recv(conn, parser_buf, SOCKET_BUF_SIZE);
3885 DBGMSG(start_at_extension_Socket, "[%s] ret %d has_registe_cmd %d",__FUNCTION__,ret,has_registe_cmd);
3886 if (ret < 0)
3887 {
3888 ERRMSG(start_at_extension_Socket, "[%s]receive CMD error",__FUNCTION__);
3889 continue;
3890 }
3891 else if(ret == SOCKET_ZERO)
3892 {
3893 ERRMSG(start_at_extension_Socket, "maybe client socket closed 1. retry new link!");
3894 goto TryNewLink;
3895 }
lichengzhangb7d5a1e2025-06-17 14:15:24 +08003896 //UINT32 atHandle = MAKE_AT_HANDLE(extID);
3897 sprintf(out_buf,"echo '%s' > /dev/ttyGS0",parser_buf);
3898 system(out_buf);
hong.liuf4a40582025-05-25 23:33:46 -07003899 }
3900 }
3901 return NULL;
3902}
3903
3904void start_at_extension_loop(void)
3905{
3906 pthread_t at_extension_socket_thread;
3907 DBGMSG(start_at_extension_loop, "[%s]enter",__FUNCTION__);
3908 pthread_mutex_lock(&s_startupMutex);
3909
3910 pthread_attr_t attr;
3911 pthread_attr_init(&attr);
3912 pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
3913
3914 int result = pthread_create(&at_extension_socket_thread, &attr, start_at_extension_Socket, NULL);
3915 if (result != 0)
3916 {
3917 ERRMSG(start_at_extension_loop, "Failed to create ATCI thread: %s", strerror(result));
3918 goto done;
3919 }
3920done:
3921 pthread_mutex_unlock(&s_startupMutex);
3922}
3923//LYNQ_MODFIY_END for gsw ext_at
hong.liuc8c95bb2025-05-26 06:02:18 -07003924static void mbtk_at_init_complete(TelAtParserID atpIndex)
3925{
3926 if(dev_infos.inited)
3927 return;
3928
3929 memset(&dev_infos, 0x0, sizeof(mbtk_dev_info));
3930 CiReturnCode ret = CIRC_FAIL;
3931
3932 UINT32 atHandle = MAKE_AT_HANDLE(atpIndex);
3933 ret = DEV_GetSerialNumId(atHandle);
3934 if(ret != CIRC_SUCCESS) {
3935 ERRMSG(MBKT_AT, "GET IMEI fail.");
3936 return;
3937 }
3938
3939 DBGMSG(MBKT_AT, "GET IMEI : %s.", dev_infos.imei);
3940
3941 dev_info_set(&dev_infos);
3942 dev_infos.inited = TRUE;
3943}
hong.liuf4a40582025-05-25 23:33:46 -07003944#endif
b.liue9582032025-04-17 19:18:16 +08003945
3946
3947/*------------------------------------------------------------------------------*/
3948int getFd(TelAtParserID sAtpIndex)
3949{
3950 F_ENTER(getFd);
3951 if (sAtpIndex < NUM_OF_TEL_ATP)
3952 return gAtpCtrl[sAtpIndex].iFd;
3953 else
3954 return 0; //return to stdout
3955
3956 F_LEAVE(getFd1);
3957}
3958
3959int notifyAtParser(TelAtParserID sAtpIndex, unsigned char cmd)
3960{
3961 int ret = -1;
3962 if (sAtpIndex < NUM_OF_TEL_ATP && gAtpCtrl[sAtpIndex].iNotifyWriteEnd > 0
3963 && cmd < TEL_ATP_CMD_NUM)
3964 {
3965 do
3966 {
3967 ret = write(gAtpCtrl[sAtpIndex].iNotifyWriteEnd, &cmd, sizeof(cmd));
3968 }while (ret < 0 && errno == EINTR);
3969 if(ret > 0)
3970 WARNMSG(notifyAtParser, "notifyAtParser: send message %d to parser_p %d\n", cmd, sAtpIndex);
3971 }
3972 return ret;
3973}
3974
3975int triggerAtParser(const utlAtParser_P parser_p)
3976{
3977 TelAtParserID sAtpIndex;
3978 int ret = -1;
3979 if(parser_p == NULL)
3980 {
3981 ERRMSG(triggerAtParser, "triggerAtParser NULL parser pointer\n");
3982 return ret;
3983 }
3984 sAtpIndex = *(TelAtParserID *)(parser_p->call_backs.arg_p);
3985 ret = notifyAtParser(sAtpIndex, TEL_ATP_CMD_TRIGGER_PARSER);
3986 return ret;
3987}
3988
3989
3990void writeATcmd2file(char *atcmd)
3991{
3992#if 0
3993 FILE *fp = NULL;
3994 static pthread_mutex_t lockfile = PTHREAD_MUTEX_INITIALIZER;
3995 if (atcmd == NULL)
3996 return;
3997
3998 pthread_mutex_lock(&lockfile);
3999 fp = fopen("/tmp/atcmdrec", "w");
4000 if (!fp){
4001 pthread_mutex_unlock(&lockfile);
4002 return;
4003 }
4004
4005 fprintf(fp, "%s\n", atcmd);
4006 fclose(fp);
4007 pthread_mutex_unlock(&lockfile);
4008#endif
4009}
4010
4011/*******************************************************************
4012* FUNCTION: atChanThread()
4013*
4014* PARAMETERS: None
4015*
4016* DESCRIPTION: This function is used to handle the AT Command Channel
4017*
4018* RETURNS:
4019*
4020*******************************************************************/
4021int SmsMsgLen[NUM_OF_TEL_ATP] = {0};
4022CHAR* SmsMsgData[NUM_OF_TEL_ATP];
4023
4024void ProcessAtChanThread(TelAtParserID sAtpIndex)
4025{
4026
4027 int received = -1, fd, i = 0;
4028 char buffer[TEL_AT_CMDSTR_MAX_LEN];
4029 int rc;
4030
4031 fd_set fds;
4032 int nfds = -1;
4033 unsigned char ctrl_msg = 0xff;
4034 int ret = -1;
4035
4036 /* Detach itself */
4037 pthread_detach(pthread_self());
4038 /* Set thread name */
4039 if (sAtpIndex < TEL_SOCKET_AT_CMD_ATP_BEGIN) {
4040 WARNMSG(ProcessAtChanThread10, "ProcessAtChanThread: create thread of %s \r\n", gAtpName[sAtpIndex]);
4041 prctl(PR_SET_NAME, "atcmdsrv");
4042 //prctl(PR_SET_NAME, gAtpName[sAtpIndex]);
4043 /*pthread_setname_np(pthread_self(), gAtpName[sAtpIndex]);*/
4044 } else {
4045 char thread_name[16];
4046 snprintf(thread_name, sizeof(thread_name), "%s:ATP_%d", getTelAtpDesc(sAtpIndex)->path, sAtpIndex);
4047 WARNMSG(ProcessAtChanThread11, "ProcessAtChanThread: create thread of %s \r\n", thread_name);
4048 prctl(PR_SET_NAME, "atcmdsrv");
4049 /*pthread_setname_np(pthread_self(), thread_name);*/
4050 //prctl(PR_SET_NAME, thread_name);
4051 }
4052
4053 fd = getFd(sAtpIndex);
4054
4055 // Init PS status veriables
4056 gAtpCtrl[sAtpIndex].psQueryAllCid = FALSE;
4057 gAtpCtrl[sAtpIndex].psCurrCid = CI_PS_MAX_MO_AND_MT_PDP_CTX_NUM;
4058
4059 // make sure notify pipe is empty before entering loop
4060 do
4061 {
4062 ret = read(gAtpCtrl[sAtpIndex].iNotifyReadEnd, &ctrl_msg, sizeof(ctrl_msg));
4063 }while ((ret > 0) || (ret < 0 && errno == EINTR));
4064
4065 while (1)
4066 {
4067 received = -1;
4068 nfds = -1;
4069
4070 /*
4071 * Receive message
4072 */
4073 //DBGMSG(ProcessAtChanThread, "ProcessAtChanThread reading handle: %d, parser_p: %d.\n", fd, sAtpIndex);
4074 FD_ZERO(&fds);
4075 FD_SET(fd, &fds);
4076 if(fd > nfds)
4077 nfds = fd;
4078
4079 FD_SET(gAtpCtrl[sAtpIndex].iNotifyReadEnd, &fds);
4080 if(gAtpCtrl[sAtpIndex].iNotifyReadEnd > nfds)
4081 nfds = gAtpCtrl[sAtpIndex].iNotifyReadEnd;
4082
4083 rc = select(nfds + 1, &fds, NULL, NULL, NULL); // block until a byte is received
4084 if (rc <= 0)
4085 {
4086 WARNMSG(ProcessAtChanThread1, "****Select returned %d atp=%d\r\n", rc, sAtpIndex);
4087 }
4088
4089 ctrl_msg = 0xff;
4090
4091 if(FD_ISSET(gAtpCtrl[sAtpIndex].iNotifyReadEnd, &fds))
4092 {
4093 do
4094 {
4095 ret = read(gAtpCtrl[sAtpIndex].iNotifyReadEnd, &ctrl_msg, sizeof(ctrl_msg));
4096 }while (ret < 0 && errno == EINTR);
4097
4098 if(ret > 0)
4099 {
4100 //DBGMSG(ProcessAtChanThread2, "ProcessAtChanThread: parser_p %d receive control message: %d\n", sAtpIndex, ctrl_msg);
4101 }
4102 }
4103
4104 if((ctrl_msg == TEL_ATP_CMD_EXIT_CHAN)
4105#ifdef AT_PRODUCTION_CMNDS
4106 || (ctrl_msg == TEL_ATP_CMD_EXIT_CHAN_AND_START_DIAG)
4107#endif
4108 ) // exit channel
4109 {
4110 break;
4111 }
4112 else if(ctrl_msg == TEL_ATP_CMD_TRIGGER_PARSER && !FD_ISSET(fd, &fds))
4113 {
4114 unsigned char null_buf[1];
4115
hong.liuc8c95bb2025-05-26 06:02:18 -07004116#ifdef MBTK_AT_SUPPORT
4117 mbtk_at_init_complete(sAtpIndex);
4118#endif
b.liue9582032025-04-17 19:18:16 +08004119 //DBGMSG(ProcessAtChanThread3, "ProcessAtChanThread: parser_p %d run atparser to process next command\n", sAtpIndex);
4120 utlAtParse(aParser_p[sAtpIndex], null_buf, 0);
4121 continue;
4122 }
4123 else if(!FD_ISSET(fd, &fds))
4124 {
4125 // incorrect message, ignore it
4126 continue;
4127 }
4128
4129 memset(buffer, 0x00, TEL_AT_CMDSTR_MAX_LEN);
4130 received = read(fd, buffer, TEL_AT_CMDSTR_MAX_LEN);
4131 ERRMSG(ProcessAtChanThread4, "ATP %d receveid: %d:\n", sAtpIndex, received);
4132
4133 //dbg_dump_string("AT CMD (string)", buffer, received);
4134 //dbg_dump_buffer("AT CMD (buffer)", buffer, received);
4135 /*
4136 * Send bytes and check for more incoming data in loop
4137 */
4138 if (received > 0)
4139 {
4140 if ( gAtpCtrl[sAtpIndex].pTelAtpDataEntry.smsDataEntryMode != TEL_MSG_DATA_NONE )
4141 {
4142 ERRMSG(ProcessAtChanThread5, "Currently in SmsDataEntryMode.\n");
4143 // loop thru the buffer
4144 if(!SmsMsgData[sAtpIndex])
4145 {
4146 //INFOMSG(ProcessAtChanThread5, "%s:sAtpIndex[%d] enter SmsDataEntryMode,need malloc buffer", __func__, sAtpIndex);
4147 SmsMsgData[sAtpIndex] = malloc(TEL_AT_CMDSTR_MAX_LEN + 2);
4148 if(!SmsMsgData[sAtpIndex])
4149 {
4150 INFOMSG(ProcessAtChanThread60, "%s:sAtpIndex[%d] enter SmsDataEntryMode, malloc buffer failed", __func__, sAtpIndex);
4151 gAtpCtrl[sAtpIndex].pTelAtpDataEntry.smsDataEntryMode = TEL_MSG_DATA_NONE;
4152 continue;
4153 }
4154 memset(SmsMsgData[sAtpIndex], 0, TEL_AT_CMDSTR_MAX_LEN + 2);
4155 }
4156
4157 for (i = 0; i < received; i++)
4158 {
4159 if((SmsMsgData[sAtpIndex] == NULL) && (gAtpCtrl[sAtpIndex].pTelAtpDataEntry.smsDataEntryMode == TEL_MSG_DATA_NONE))
4160 {
4161 ERRMSG(ProcessAtChanThread9, "%s:buffer was freed,need exit sms data mode.", __func__);
4162 break;
4163 }
4164
4165 switch (buffer[i])
4166 {
4167
4168 case 0x1a: //control-z
4169// case 'z': //[Jerry] temp test
4170 {
4171 if ((gAtpCtrl[sAtpIndex].pTelAtpDataEntry.smsDataEntryMode == TEL_MSG_DATA_CMGS) ||
4172 (gAtpCtrl[sAtpIndex].pTelAtpDataEntry.smsDataEntryMode == TEL_MSG_DATA_CMGC) ||
4173 (gAtpCtrl[sAtpIndex].pTelAtpDataEntry.smsDataEntryMode == TEL_MSG_DATA_CMGW))
4174 {
4175 CHAR *convertBuf = NULL;
4176 UINT16 convertBufLength = 0;
4177 AtciCharacterSet *pchset_type = NULL;
4178 UINT32 reqHandle = gSendMsgReqHandle[sAtpIndex];
4179 int phoneNum = 0;
4180 BOOL *pImsRegState = NULL;
4181
4182
4183
4184 if (!isTelAtpCurrentForSIM2(sAtpIndex)) {
4185 reqHandle = gSendMsgReqHandle[sAtpIndex];
4186 pchset_type = &chset_type[sAtpIndex];
4187 pImsRegState = &gImsRegState;
4188 }
4189 else{
4190 reqHandle = gSendMsgReqHandle_1[sAtpIndex];
4191 pchset_type = &chset_type_1[sAtpIndex];
4192 pImsRegState = &gImsRegState_1;
4193 }
4194
4195 AtciSmsFormatMode smsFormatMode = gSmsFormatMode[sAtpIndex] & (~ATCI_SMS_FORMAT_TXT_MODE_SHOW_MASK);
4196 if((smsFormatMode == ATCI_SMS_FORMAT_TXT_MODE) && (checkDataValidity(SmsMsgData[sAtpIndex], SmsMsgLen[sAtpIndex], pchset_type) == FALSE) )
4197 {
4198 //ERRMSG(ProcessAtChanThread6,"%s:pImsRegState %d", __func__, *pImsRegState);
4199
4200 if((*pImsRegState == TRUE) && (gAtpCtrl[sAtpIndex].pTelAtpDataEntry.smsDataEntryMode != TEL_MSG_DATA_CMGW))
4201 {
4202 ims_sms_data_invalid_report_error = TRUE;
4203 ciSendMsgAfterEsc(sAtpIndex, gAtpCtrl[sAtpIndex].pTelAtpDataEntry.smsDataEntryMode); /* Cancel data mode in proxy interface */
4204 }
4205 else
4206 ATRESP( reqHandle, ATCI_RESULT_CODE_CMS_ERROR, CMS_INVALID_TEXT_MODE_PARA, NULL);
4207
4208 //ERRMSG(ProcessAtChanThread7,"%s: pSendMsgReqHandle %d, sim%d", __func__, reqHandle, (sAtpIndex > TEL_AT_CMD_ATP_36) );
4209
4210 memcpy(&(gAtpCtrl[sAtpIndex].pTelAtpDataEntry), &sTelAtpDataEntry, sizeof(TelAtpDataEntry));
4211 gCurrentSmsDataMode = TEL_MSG_DATA_NONE;
4212 SmsMsgLen[sAtpIndex] = 0;
4213 if(SmsMsgData[sAtpIndex] != NULL)
4214 {
4215 free(SmsMsgData[sAtpIndex]);
4216 SmsMsgData[sAtpIndex] = NULL;
4217 }
4218 memset(buffer, 0, TEL_AT_CMDSTR_MAX_LEN);
4219
4220 continue;
4221 }
4222 convertBuf = MSG_ConvertfromCscsStr(sAtpIndex, SmsMsgData[sAtpIndex], SmsMsgLen[sAtpIndex], (UINT16*)&convertBufLength);
4223 if(convertBuf == NULL)
4224 ciSendMsgAfterCtrlZ( sAtpIndex, SmsMsgData[sAtpIndex], SmsMsgLen[sAtpIndex], gAtpCtrl[sAtpIndex].pTelAtpDataEntry.smsDataEntryMode );
4225 else
4226 {
4227 //update SmsMsgLen and SmsMsgData with converted str
4228 SmsMsgLen[sAtpIndex] = convertBufLength;
4229 memset(SmsMsgData[sAtpIndex], 0, TEL_AT_CMDSTR_MAX_LEN);
4230 memcpy(SmsMsgData[sAtpIndex], convertBuf, convertBufLength);
4231 ciSendMsgAfterCtrlZ( sAtpIndex, convertBuf, convertBufLength, gAtpCtrl[sAtpIndex].pTelAtpDataEntry.smsDataEntryMode);
4232 }
4233 gCurrentSmsDataMode = TEL_MSG_DATA_NONE;
4234
4235 memcpy(&(gAtpCtrl[sAtpIndex].pTelAtpDataEntry), &sTelAtpDataEntry, sizeof(TelAtpDataEntry));
4236 if(convertBuf != NULL)
4237 {
4238 free(convertBuf);
4239 convertBuf = NULL;
4240 }
4241
4242 memset(buffer, 0, TEL_AT_CMDSTR_MAX_LEN);
4243 i = received;
4244 }
4245 else if (gAtpCtrl[sAtpIndex].pTelAtpDataEntry.smsDataEntryMode == TEL_MSG_DATA_CNMA)
4246 {
4247 ciNewMsgAckAfterCtrlZ( gAtpCtrl[sAtpIndex].pTelAtpDataEntry.reqHandle, SmsMsgData[sAtpIndex], SmsMsgLen[sAtpIndex],
4248 gAtpCtrl[sAtpIndex].pTelAtpDataEntry.cnmaReply, gAtpCtrl[sAtpIndex].pTelAtpDataEntry.cnmaFlag);
4249 memcpy(&(gAtpCtrl[sAtpIndex].pTelAtpDataEntry), &sTelAtpDataEntry, sizeof(TelAtpDataEntry));
4250 SmsMsgLen[sAtpIndex] = 0;
4251 gCurrentSmsDataMode = TEL_MSG_DATA_NONE;
4252 if(SmsMsgData[sAtpIndex] != NULL)
4253 {
4254 free(SmsMsgData[sAtpIndex]);
4255 SmsMsgData[sAtpIndex] = NULL;
4256 }
4257 memset(buffer, 0, TEL_AT_CMDSTR_MAX_LEN);
4258 i = received;
4259 }
4260 break;
4261 }
4262
4263 case 0x1b: //escape
4264 {
4265 //if ((gAtpCtrl[sAtpIndex].pTelAtpDataEntry.smsDataEntryMode == TEL_MSG_DATA_CMGS) ||
4266 //(gAtpCtrl[sAtpIndex].pTelAtpDataEntry.smsDataEntryMode == TEL_MSG_DATA_CMGW))
4267 {
4268 ciSendMsgAfterEsc(sAtpIndex, gAtpCtrl[sAtpIndex].pTelAtpDataEntry.smsDataEntryMode);
4269 memcpy(&(gAtpCtrl[sAtpIndex].pTelAtpDataEntry), &sTelAtpDataEntry, sizeof(TelAtpDataEntry));
4270 SmsMsgLen[sAtpIndex] = 0;
4271 free(SmsMsgData[sAtpIndex]);
4272 SmsMsgData[sAtpIndex] = NULL;
4273 memset(buffer, 0, TEL_AT_CMDSTR_MAX_LEN);
4274 i = received;
4275 }
4276 break;
4277 }
4278 /* only skip "\r\n" for SMS PDU mode */
4279 case 0x0a:
4280 case 0x0d:
4281 if (getSmsFormatModeWithAtpIndex(sAtpIndex) == ATCI_SMS_FORMAT_PDU_MODE)
4282 break;
4283 default:
4284 {
4285 if(SmsMsgLen[sAtpIndex] < (TEL_AT_CMDSTR_MAX_LEN-1))
4286 {
4287 /* Copy SMS PDU one byte each time */
4288 memcpy(SmsMsgData[sAtpIndex] + SmsMsgLen[sAtpIndex], buffer + i, 1);
4289 SmsMsgLen[sAtpIndex]++;
4290 }
4291
4292 break;
4293 }
4294 } // end switch
4295 } // end for loop
4296 }
4297 else
4298 {
4299
4300
4301 /*
4302 * Parse the Data to AT parser
4303 */
4304#ifdef AT_CONFIG_P701
4305 if(gModemAtp < 0) {
4306 char *p = strstr(buffer, "AT*APPOWERIND=1;+CMEE=2");
4307 if (p)
4308 gModemAtp = sAtpIndex;
4309 } else {
4310 if (gModemAtp == sAtpIndex)
4311 gNumofAT++;
4312 }
4313#endif
4314 writeATcmd2file(buffer);
4315 ERRMSG(ProcessAtChanThread8, "[ProcessAtChanThread](length=%d):%s\n", received, buffer);
hong.liuf4a40582025-05-25 23:33:46 -07004316#ifdef MBTK_AT_SUPPORT
hong.liuc8c95bb2025-05-26 06:02:18 -07004317 mbtk_at_init_complete(sAtpIndex);
hong.liuf4a40582025-05-25 23:33:46 -07004318//LYNQ_MODFIY_START for gsw ext_at
lichengzhangb7d5a1e2025-06-17 14:15:24 +08004319 //extID = sAtpIndex;
hong.liuf4a40582025-05-25 23:33:46 -07004320 if(mbtk_check_extension_atcmd(buffer) == 0)
4321 {
4322 if(send_msg_to_at_extension(buffer,strlen(buffer))!=0)
4323 {
4324 ERRMSG(ProcessAtChanThread60, "send at fail,please try agin");
4325 }
4326 continue;
4327 }
4328 else
4329 {
4330 ERRMSG(ProcessAtChanThread60, "mbtk_check_extension_atcmd fail\n");
4331 }
4332//LYNQ_MODFIY_END for gsw ext_at
4333#endif
b.liue9582032025-04-17 19:18:16 +08004334 ret = utlAtParse(aParser_p[sAtpIndex], (unsigned char *)buffer, received);
4335 if(utlSUCCESS != ret)
4336 {
4337 ERRMSG(ProcessAtChanThread10, "[AT FAIL][%d] %s failed, ret %d",sAtpIndex,buffer,ret);
4338
4339 //uart_printf("[AT FAIL][%d] %s failed, ret %d\r\n",sAtpIndex,buffer,ret);
4340 }
4341
4342 memset(buffer, 0, TEL_AT_CMDSTR_MAX_LEN);
4343 }
4344
4345 } else if (sAtpIndex >= TEL_SOCKET_AT_CMD_ATP_BEGIN) {
4346 if (received == 0 || !(errno == EAGAIN || errno == EINTR))
4347 break;
4348 }
4349 }
4350 clearPdpContextOwner(sAtpIndex);
4351 close(gAtpCtrl[sAtpIndex].iFd);
4352 gAtpCtrl[sAtpIndex].iFd = -1;
4353 gAtpCtrl[sAtpIndex].bEnable = FALSE;
4354
4355 //reset channel ID for IMS
4356 if(sAtpIndex == gProxyChannelId)
4357 gProxyChannelId = NUM_OF_TEL_ATP;
4358
4359#ifdef AT_PRODUCTION_CMNDS
4360 if(sAtpIndex == TEL_PROD_AT_CMD_ATP)
4361 {
4362 //DBGMSG(ProcessAtChanThread7, "ProcessAtChanThread: production at channel closed\n");
4363 if(ctrl_msg == TEL_ATP_CMD_EXIT_CHAN_AND_START_DIAG)
4364 diagStartFromAT(start_at_cmd_srv);
4365 }
4366#endif
4367}
4368
4369TelAtpDesc* TelAtpId2Desc(TelAtParserID atpId)
4370{
4371 unsigned int i;
4372 for(i = 0; i < sizeof(gTelAtpDescConfig) / sizeof(gTelAtpDescConfig[0]); i++)
4373 {
4374 if(gTelAtpDescConfig[i].index == atpId)
4375 return (gTelAtpDescConfig + i);
4376 }
4377 return NULL;
4378}
4379
4380TelAtpDesc* getTelAtpDesc(TelAtParserID atpId)
4381{
4382 return gAtpCtrl[atpId].pTelAtpDesc;
4383}
4384
4385SIMID getSharedTelAtpCurrentTargetSIM(TelAtParserID atpId)
4386{
4387 TelAtpCtrl *atp = &gAtpCtrl[atpId];
4388 TelAtpDesc *pTelAtpDesc = atp->pTelAtpDesc;
4389 if(pTelAtpDesc == NULL)
4390 return SIMID_NUM;
4391 if(pTelAtpDesc->targetSim != DUAL_SIM)
4392 return SIMID_NUM;
4393 return atp->currentTargetSim;
4394}
4395
4396int setSharedTelAtpCurrentTargetSIM(TelAtParserID atpId, SIMID simId)
4397{
4398 if(simId != SIM1 && simId != SIM2)
4399 return -1;
4400
4401 TelAtpCtrl *atp = &gAtpCtrl[atpId];
4402 TelAtpDesc *pTelAtpDesc = atp->pTelAtpDesc;
4403 if(pTelAtpDesc == NULL)
4404 return -1;
4405
4406 if(pTelAtpDesc->targetSim != DUAL_SIM)
4407 return -1;
4408
4409 atp->currentTargetSim = simId;
4410 return 0;
4411}
4412
4413BOOL isTelAtpCurrentForSIM2(TelAtParserID atpId)
4414{
4415 return gAtpCtrl[atpId].currentTargetSim == SIM2;
4416}
4417
4418int switchMasterAtpCurrentSim(SIMID simId)
4419{
4420 int i;
4421 for(i = 0; i < NUM_OF_TEL_ATP; i++)
4422 {
4423 TelAtpCtrl *atp = &gAtpCtrl[i];
4424 TelAtpDesc *pTelAtpDesc = atp->pTelAtpDesc;
4425 if(pTelAtpDesc && pTelAtpDesc->targetSim == MASTER_SIM)
4426 atp->currentTargetSim = simId;
4427 }
4428 return 0;
4429}
4430
4431static SIMID getInitialSimId(AtpSimType atpSimType)
4432{
4433 switch (atpSimType) {
4434 case SIM2_ONLY:
4435 return SIM2;
4436 case MASTER_SIM:
4437 return isSim2Master() ? SIM2 : SIM1;
4438 default:
4439 return SIM1;
4440 }
4441}
4442
4443static utlReturnCode_T acceptClient(const utlEventHandlerType_T handler_type UNUSED,
4444 const utlEventHandlerType_T event_type UNUSED,
4445 const int sock,
4446 const utlRelativeTime_P2c period_p UNUSED,
4447 void *arg_p UNUSED)
4448{
4449 struct sockaddr addr;
4450 socklen_t alen = sizeof(addr);
4451 int fd = accept(sock, &addr, &alen);
4452 if (fd < 0) {
4453 ERRMSG(acceptClient, "Fail to accept Socket: %s", strerror(errno));
4454 return utlFAILED;
4455 }
4456 if (fcntl(fd, F_SETFL, O_NONBLOCK) < 0) {
4457 ERRMSG(acceptClient1, "Error setting O_NONBLOCK errno:%s", strerror(errno));
4458 }
4459
4460 TelAtpCtrl* atp = NULL;
4461 int i;
4462 for (i = TEL_SOCKET_AT_CMD_ATP_BEGIN; i < NUM_OF_TEL_ATP; i++) {
4463 atp = &gAtpCtrl[i];
4464 if (!atp->bEnable && atp->iFd < 0)
4465 break;
4466 }
4467 if (i >= NUM_OF_TEL_ATP) {
4468 ERRMSG(acceptClient2, "No free ATP to accept socket\n");
4469 close(fd);
4470 return utlFAILED;
4471 }
4472 atp->pTelAtpDesc = (TelAtpDesc *)arg_p;
4473 atp->currentTargetSim = getInitialSimId(atp->pTelAtpDesc->targetSim);
4474 atp->iFd = fd;
4475
4476 if (aParser_p[atp->index] == NULL)
4477 tcInitAtParser(&atp->index);
4478
4479 int status = pthread_create(&atp->taskRef, NULL,
4480 (void *)ProcessAtChanThread, (void *)(long)i);
4481 if (status)
4482 {
4483 close(atp->iFd);
4484 atp->iFd = -1;
4485 ERRMSG(acceptClient3, "Thread Create Error!\n");
4486 return utlFAILED;
4487 }
4488
4489 atp->bEnable = TRUE;
4490
4491 return utlSUCCESS;
4492}
4493
4494void initAtPara(void)
4495{
4496 WARNMSG(initAtPara1,"%s: enter\n", __FUNCTION__);
4497 int i=0;
4498
4499 memset(chset_type, ATCI_CHSET_IRA, NUM_OF_TEL_ATP);
4500 memset(chset_type_1, ATCI_CHSET_IRA, NUM_OF_TEL_ATP);
4501
4502 memset(isGsmChset, 0, NUM_OF_TEL_ATP);
4503 memset(isGsmChset_1, 0, NUM_OF_TEL_ATP);
4504
4505 for(i=0; i<8; i++)
4506 {
4507 gProxySmsSegment[i] = NULL;
4508 gProxySmsSegment_1[i] = NULL;
4509
4510 memset(gProxySmsSegmentLen, 0, 8);
4511 memset(gProxySmsSegmentLen_1, 0, 8);
4512 }
4513
4514 gExtendedSignal.Rxlev = 99;
4515 gExtendedSignal.Ber = 99;
4516 gExtendedSignal.Rscp = 255;
4517 gExtendedSignal.Ecno = 255;
4518 gExtendedSignal.Rsrp = 255;
4519 gExtendedSignal.Rsrq = 255;
4520#if defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
4521 gExtendedSignal.ssRSRP = 255;
4522 gExtendedSignal.ssRSRQ = 255;
4523 gExtendedSignal.ssSINR = 255;
4524#endif
4525
4526 gExtendedSignal_1.Rxlev = 99;
4527 gExtendedSignal_1.Ber = 99;
4528 gExtendedSignal_1.Rscp = 255;
4529 gExtendedSignal_1.Ecno = 255;
4530 gExtendedSignal_1.Rsrp = 255;
4531 gExtendedSignal_1.Rsrq = 255;
4532#if defined(ATCMD_1901_CI) || defined(ATCMD_1903_CI)
4533 gExtendedSignal_1.ssRSRP = 255;
4534 gExtendedSignal_1.ssRSRQ = 255;
4535 gExtendedSignal_1.ssSINR = 255;
4536#endif
4537 for(i=0; i<NUM_OF_TEL_ATP; i++)
4538 {
4539 SmsMsgData[i] = NULL;
4540 SmsMsgLen[i] = 0;
4541
4542 gCurrOperation[i] = AT_MSG_OPERATION_NULL;
4543 gCurrOperation_1[i] = AT_MSG_OPERATION_NULL;
4544
4545 gSmsFormatMode[i] = ATCI_SMS_FORMAT_PDU_MODE;
4546 }
4547}
4548
4549static int createSocket(const char *name)
4550{
4551 struct sockaddr_un addr;
4552 int fd, ret;
4553 char *secon;
4554
4555 fd = socket(AF_UNIX, SOCK_STREAM, 0);
4556 if (fd < 0) {
4557 ERRMSG(createSocket, "Failed to open socket '%s': %s\n", name, strerror(errno));
4558 return -1;
4559 }
4560
4561 memset(&addr, 0 , sizeof(addr));
4562 addr.sun_family = AF_UNIX;
4563 snprintf(addr.sun_path, sizeof(addr.sun_path), "/tmp/%s", name);
4564
4565 ret = unlink(addr.sun_path);
4566 if (ret != 0 && errno != ENOENT) {
4567 ERRMSG(createSocket1, "Failed to unlink old socket '%s': %s\n", name, strerror(errno));
4568 goto out_close;
4569 }
4570
4571 ret = bind(fd, (struct sockaddr *) &addr, sizeof (addr));
4572 if (ret) {
4573 ERRMSG(createSocket2, "Failed to bind socket '%s': %s\n", name, strerror(errno));
4574 goto out_unlink;
4575 }
4576
4577 ret = listen(fd, 4);
4578 if (ret < 0) {
4579 ERRMSG(createSocket3, "Failed to listen on socket '%s': %s", name, strerror(errno));
4580 goto out_unlink;
4581 }
4582 ret = chmod(addr.sun_path, 0666);
4583 if (ret < 0) {
4584 ERRMSG(createSocket4, "Failed to chmod on socket '%s': %s", name, strerror(errno));
4585 goto out_unlink;
4586 }
4587
4588 //DBGMSG(createSocket5, "Created socket '%s' ", addr.sun_path);
4589
4590 return fd;
4591
4592out_unlink:
4593 unlink(addr.sun_path);
4594out_close:
4595 close(fd);
4596 return -1;
4597}
4598
4599static void startSocketListeners(void)
4600{
4601 static TelAtpDesc disc[] = {
4602 DEFINE_SIM1_CHANEL_DESC(TEL_SOCKET_AT_CMD_ATP_BEGIN, "atcmd", FALSE),
4603 DEFINE_SIM1_NO_INDICATION_CHANEL_DESC(TEL_SOCKET_AT_CMD_ATP_BEGIN, "atcmdni", FALSE),
4604 DEFINE_SIM1_NO_INDICATION_CHANEL_DESC(TEL_SOCKET_AT_CMD_ATP_BEGIN, "atcmdni1", FALSE),
4605 DEFINE_MASTER_SIM_CHANEL_DESC(TEL_SOCKET_AT_CMD_ATP_BEGIN, "atcmdm", FALSE),
4606#ifndef BIONIC /* No DSDS in NZ3*/
lichengzhang18f24d12025-06-11 17:47:54 +08004607 //DEFINE_MASTER_SIM_CHANEL_DESC(TEL_SOCKET_AT_CMD_ATP_BEGIN, "atcmdmni", FALSE),
4608 DEFINE_MASTER_SIM_NO_INDICATION_CHANEL_DESC(TEL_SOCKET_AT_CMD_ATP_BEGIN, "atcmdmni", FALSE),
b.liue9582032025-04-17 19:18:16 +08004609#else
4610 DEFINE_MASTER_SIM_NO_INDICATION_CHANEL_DESC(TEL_SOCKET_AT_CMD_ATP_BEGIN, "atcmdmni", FALSE),
4611#endif /* BIONIC */
4612
4613#ifndef BIONIC // No DSDS in NZ3
4614 DEFINE_MASTER_SIM_CHANEL_DESC(TEL_SOCKET_AT_CMD_ATP_BEGIN, "gsmtty4", FALSE),
4615#else
4616 DEFINE_MASTER_SIM_NO_INDICATION_CHANEL_DESC(TEL_SOCKET_AT_CMD_ATP_BEGIN, "gsmtty4", FALSE),
4617#endif // BIONIC
4618
4619#ifdef ADDITIONAL_MODEM_DEVICE
4620 DEFINE_MASTER_SIM_CHANEL_DESC(TEL_SOCKET_AT_CMD_ATP_BEGIN, "atcmdmni1", FALSE),
4621#endif
4622#ifdef UART2_AT
4623 DEFINE_MASTER_SIM_CHANEL_DESC(TEL_SOCKET_AT_CMD_ATP_BEGIN, "atcmdttyS1", FALSE),
4624#endif
4625
4626#ifdef PPP_PSEUDO_DEVICE
4627 DEFINE_MASTER_SIM_NO_INDICATION_CHANEL_DESC(TEL_SOCKET_AT_CMD_ATP_BEGIN, "atcmdpts", FALSE),
4628#endif
4629 DEFINE_MASTER_SIM_CHANEL_DESC(TEL_SOCKET_AT_CMD_ATP_BEGIN, "atcmdtest", FALSE),
4630#ifdef LPA_SUPPORT
4631 DEFINE_SIM1_NO_INDICATION_CHANEL_DESC(TEL_SOCKET_AT_CMD_ATP_BEGIN, "atcmdLpa", FALSE),
4632#endif
hong.liuc8c95bb2025-05-26 06:02:18 -07004633#ifdef MBTK_AT_SUPPORT
4634 DEFINE_MASTER_SIM_CHANEL_DESC(TEL_SOCKET_AT_CMD_ATP_BEGIN, "atcmdmbtk", FALSE),
4635#endif
b.liu37ac3842025-05-26 21:22:12 +08004636
4637// Add by liubin
4638 DEFINE_SIM1_CHANEL_DESC(TEL_SOCKET_AT_CMD_ATP_BEGIN, "atcmd_urc", FALSE),
4639 DEFINE_SIM1_NO_INDICATION_CHANEL_DESC(TEL_SOCKET_AT_CMD_ATP_BEGIN, "atcmd_at", FALSE),
4640 DEFINE_SIM1_NO_INDICATION_CHANEL_DESC(TEL_SOCKET_AT_CMD_ATP_BEGIN, "atcmd_at_1", FALSE),
4641 DEFINE_SIM1_NO_INDICATION_CHANEL_DESC(TEL_SOCKET_AT_CMD_ATP_BEGIN, "atcmd_at_2", FALSE),
4642// End by liubin
b.liue9582032025-04-17 19:18:16 +08004643 };
4644
4645 unsigned int i;
4646 for (i = 0; i < sizeof(disc) / sizeof(disc[0]); i++) {
4647 TelAtpDesc* pd = &disc[i];
4648 int sock = createSocket(pd->path);
4649 if (sock >= 0) {
4650 (void)utlSetFdEventHandler(utlEVENT_HANDLER_TYPE_READ,
4651 utlEVENT_HANDLER_PRIORITY_MEDIUM,
4652 sock, acceptClient, pd);
4653 }
4654 }
4655}
4656
4657BOOL tcInit( char * ext_serial_path)
4658{
4659 int status;
4660 int i, j, k,imsChannel;
4661 void *taskStack;
4662 BOOL bIsDualSim = isDualSimSolution();
4663 BOOL bIsSim2Master = isSim2Master();
4664 TelAtpDesc *pTelAtpDesc;
4665
4666 F_ENTER(tcInit0);
4667
4668 //
4669 // Init Variable
4670 //
4671 utlUpdateTelModeFromProperty();
4672 uci_AT_ctx_get();
4673
4674 for ( i = 0; i < NUM_OF_TEL_ATP; i++)
4675 {
4676 int fd[2];
4677 gAtpCtrl[i].bEnable = FALSE;
4678 gAtpCtrl[i].iFd = -1;
4679 gAtpCtrl[i].index = i;
4680 gAtpCtrl[i].AtpIndEnable = 1;
4681 memcpy(&(gAtpCtrl[i].pTelAtpDataEntry), &sTelAtpDataEntry, sizeof(TelAtpDataEntry));
4682 if (i < TEL_SOCKET_AT_CMD_ATP_BEGIN) {
4683 gAtpCtrl[i].pTelAtpDesc = TelAtpId2Desc(gAtpCtrl[i].index);
4684 if(gAtpCtrl[i].pTelAtpDesc == NULL)
4685 {
4686 ERRMSG(tcInit, "tcInit: !!!!!!!!fail to get AT channel desc, %d", i);
4687 return FALSE;
4688 }
4689 gAtpCtrl[i].currentTargetSim = getInitialSimId(gAtpCtrl[i].pTelAtpDesc->targetSim);
4690 }
4691 if(pipe(fd) < 0)
4692 {
4693 ERRMSG(tcInit1, "tcInit: create pipe error: %s", strerror(errno));
4694 return FALSE;
4695 }
4696
4697 gCurrentCgerepMode[i] = 2;
4698 gRequestCgerepMode[i] = 2;
4699
4700 gAtpCtrl[i].iNotifyReadEnd = fd[0];
4701 gAtpCtrl[i].iNotifyWriteEnd = fd[1];
4702 (void)fcntl(gAtpCtrl[i].iNotifyReadEnd, F_SETFL, O_NONBLOCK);
4703 }
4704 getTelAtpDesc(TEL_ESP_AT_CMD_ATP)->path = ext_serial_path;
4705
4706 /*
4707 * Create thread to read each port, 40 means "(null)"
4708 */
4709 for(i = 0; i < TEL_SOCKET_AT_CMD_ATP_BEGIN; i++)
4710 {
4711 char *path;
4712 pTelAtpDesc = getTelAtpDesc(i);
4713
4714
4715#ifdef AT_PRODUCTION_CMNDS
4716 if((i == TEL_PROD_AT_CMD_ATP) || (ap_only && pTelAtpDesc->apOnly == FALSE) ||
4717#else
4718 if((ap_only && pTelAtpDesc->apOnly == FALSE) ||
4719#endif
4720 (!bIsDualSim && pTelAtpDesc->targetSim == SIM2_ONLY))
4721 continue;
4722
4723 path = pTelAtpDesc->path;
4724 if(path == NULL || path[0] == 40)
4725 continue;
4726 //DBGMSG(tcInit2, "Setting up for AT Command Channel: %d,%s\n", i, gAtpName[i]);
4727
4728 if (i == TEL_ESP_AT_CMD_ATP)
4729 tcOpenExtSerialPort(&gAtpCtrl[i].iFd, path, O_RDWR | O_NOCTTY);
4730 else
4731 tcOpenDevice(&gAtpCtrl[i].iFd, path, O_RDWR | O_NOCTTY );
4732
4733 if (gAtpCtrl[i].iFd <= 0)
4734 return FALSE;
4735
4736 tcInitAtParser(&gAtpCtrl[i].index);
4737
4738 status = pthread_create(&gAtpCtrl[i].taskRef, NULL,
4739 (void *)ProcessAtChanThread, (void *)(long)i);
4740 if (status)
4741 {
4742 ERRMSG(tcInit3, "Thread Create Error!\n");
4743 return FALSE;
4744 }
4745
4746 gAtpCtrl[i].bEnable = TRUE;
4747 }
4748
4749 loadPSRegOptionSetting();
4750 initAtPara();
4751
4752#ifndef NO_AUDIO
4753#ifdef ECALL_SUPPORT
4754 //restoreMsd(&gMsdCfg);
4755#endif
4756#endif
4757 startSocketListeners();
4758 F_LEAVE(tcInit4);
4759 return TRUE;
4760}
4761
4762BOOL tcInitAtParser( TelAtParserID * sAtpIndex )
4763{
4764
4765 F_ENTER(tcInitAtParser0);
4766 int index = *sAtpIndex;
4767 //DBGMSG(tcInitAtParser, "ATP Index: %d.\n", index);
4768
4769#if defined (BIONIC)
4770 property_get("ro.atm.id", ATM_ID, "ASR");
4771 property_get("ro.atm.manufacturer.id", ATM_MANUFACTURER_ID, "ASR");
4772 property_get("ro.product.device", ATM_MODEL_ID, "LINUX");
4773#endif
4774
4775 /* Enable AT Parser*/
4776 /*
4777 * Opens a new AT command parser with the array of utlAtCommand_T structures
4778 */
4779 if ((aParser_p[index] = utlOpenAtParser(shell_commands,
4780 utlNumberOf(shell_commands), sAtpIndex)) == NULL)
4781 {
4782 ERRMSG(tcInitAtParser1, "tcInitAtParser: utlOpenAtParser(%d) failed\n", index);
4783 return FALSE;
4784 }
4785
4786 //
4787 // Set the reply handler function
4788 //
4789 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_REPLY_HANDLER, atParserShellReplyFunction) != utlSUCCESS)
4790 {
4791 ERRMSG(tcInitAtParser2, "Cannot set reply handler\n");
4792 return FALSE;
4793 }
4794
4795 //
4796 // Set the AT command timeout value setting handler function
4797 //
4798 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_GET_ATCMD_TIMEOUT_VALUE_HANDLER, atParserGetAtcmdTimeoutValue) != utlSUCCESS)
4799 {
4800 ERRMSG(tcInitAtParser3, "Cannot set get AT command timeout value handler\n");
4801 return FALSE;
4802 }
4803
4804 //
4805 // Set the AT command tineout error handler function
4806 //
4807 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_ATCMD_TIMEOUT_ERROR_HANDLER, atParserAtcmdTimeoutError) != utlSUCCESS)
4808 {
4809 ERRMSG(tcInitAtParser4, "Cannot set AT command timeout error handler\n");
4810 return FALSE;
4811 }
4812
4813#ifdef ATCMD_CONTINUOUS_TIMEOUT_RECOVERY
4814 //
4815 // Set the AT command continuous tineout handler function
4816 //
4817 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_ATCMD_CONTINUOUS_TIMEOUT_HANDLER, atParserAtcmdContinuousTimeout) != utlSUCCESS)
4818 {
4819 ERRMSG(tcInitAtParser5, "Cannot set AT command continuous timeout value handler\n");
4820 return FALSE;
4821 }
4822#endif
4823 //
4824 // Set the AT parser trigger handler function
4825 //
4826 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_AT_PARSER_TRIGGER_HANDLER, triggerAtParser) != utlSUCCESS)
4827 {
4828 ERRMSG(tcInitAtParser6, "Cannot set AT parser trigger handler\n");
4829 return FALSE;
4830 }
4831
4832 /*
4833 //
4834 // Set the sParameter Function
4835 //
4836 if (utlAtParserOp(aParser_p[*sAtpIndex], utlAT_PARSER_OP_SET_S_PARAMETER_HANDLER, sParameterFunction) != utlSUCCESS) {
4837 fprintf(stderr, "atParserShell: utlAtParserOp(1.2) failed\n");
4838 return false;
4839 }
4840
4841 //
4842 // Set the Driver Request handler
4843 //
4844 if (utlAtParserOp(aParser_p[*sAtpIndex], utlAT_PARSER_OP_SET_DRIVER_REQUEST_HANDLER, driverRequestFunction) != utlSUCCESS) {
4845 fprintf(stderr, "atParserShell: utlAtParserOp(1.3) failed\n");
4846 return false;
4847 }
4848 */
4849
4850 //
4851 // Set ECHO mode
4852 //
4853 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_ECHO_OFF) != utlSUCCESS)
4854 {
4855 ERRMSG(tcInitAtParser7, "Cannot turn off ECHO\n");
4856 return FALSE;
4857 }
4858
4859 //
4860 // Set the AT Parser ID Name
4861 //
4862 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_ID, ATM_ID) != utlSUCCESS)
4863 {
4864 ERRMSG(tcInitAtParser8, "Set AT Parser ID Name Error\n");
4865 return FALSE;
4866 }
4867
4868 //
4869 // Set the Manufacturer ID
4870 //
hong.liuc8c95bb2025-05-26 06:02:18 -07004871#ifdef MBTK_AT_SUPPORT
4872 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_MANUFACTURER, MBTK_DEVICES_MANUFACTURER) != utlSUCCESS)
4873#else
4874 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_MANUFACTURER, ATM_MANUFACTURER_ID) != utlSUCCESS)
4875#endif
b.liue9582032025-04-17 19:18:16 +08004876 {
4877 ERRMSG(tcInitAtParser9, "Set Manufacturer ID Error\n");
4878 return FALSE;
4879 }
4880
4881 //
4882 // Set Model ID
4883 //
hong.liuc8c95bb2025-05-26 06:02:18 -07004884#ifdef MBTK_AT_SUPPORT
4885 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_MODEL, MBTK_DEVICES_MODEL) != utlSUCCESS)
4886#else
b.liue9582032025-04-17 19:18:16 +08004887 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_MODEL, ATM_MODEL_ID) != utlSUCCESS)
hong.liuc8c95bb2025-05-26 06:02:18 -07004888#endif
b.liue9582032025-04-17 19:18:16 +08004889 {
4890 ERRMSG(tcInitAtParser10, "Set Model ID Error\n");
4891 return FALSE;
4892 }
4893
4894 //
4895 // Set Revision ID
4896 //
4897 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_REVISION, ATM_REVISION_ID) != utlSUCCESS)
4898 {
4899 ERRMSG(tcInitAtParser11, "Set Revision ID Error\n");
4900 return FALSE;
4901 }
4902
4903 //
4904 // Set serial number
4905 //
4906 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_SERIAL_NUMBER, ATM_SERIAL_NUMBER) != utlSUCCESS)
4907 {
4908 ERRMSG(tcInitAtParser12, "Set Serial Number Error\n");
4909 return FALSE;
4910 }
4911
4912 //
4913 // Set the object ID
4914 //
4915 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_OBJECT_ID, ATM_OBJ_ID) != utlSUCCESS)
4916 {
4917 ERRMSG(tcInitAtParser13, "utlAtParserOp(1.10) failed\n");
4918 return FALSE;
4919 }
4920
4921 //
4922 // Set Country Code
4923 //
4924 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_COUNTRY_CODE, ATM_COUNTRY_CODE) != utlSUCCESS)
4925 {
4926 ERRMSG(tcInitAtParser14, "Set Country Code Error\n");
4927 return FALSE;
4928 }
4929
4930 //
4931 // Get auto answer delay
4932 //
4933 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_GET_AUTO_ANSWER_DELAY, PARSER_GET_AUTO_ANSWER_DELAY) != utlSUCCESS)
4934 {
4935 ERRMSG(tcInitAtParser15, "Get auto answer delay error\n");
4936 return FALSE;
4937 }
4938
4939 //
4940 // Set auto answer delay
4941 //
4942 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_AUTO_ANSWER_DELAY, PARSER_SET_AUTO_ANSWER_DELAY) != utlSUCCESS)
4943 {
4944 ERRMSG(tcInitAtParser16, "Set auto answer delay error\n");
4945 return FALSE;
4946 }
4947
4948 //
4949 // Update auto answer setting in global variable
4950 //
4951// #if defined (BIONIC)
4952 {
4953 char prop_auto_answare[PROPERTY_VALUE_MAX] = {'\0'};
4954
4955 if(isTelAtpCurrentForSIM2(index))
4956 {
4957 property_get("persist.radio.sim2.auto_answer",prop_auto_answare,"false");
4958 }
4959 else
4960 {
4961 property_get("persist.radio.sim1.auto_answer",prop_auto_answare,"false");
4962 }
4963
4964 if ( strcmp(prop_auto_answare, "true") == 0)
4965 {
4966 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_S_PARAMETER_VALUE, utlAT_AUTO_ANSWER, 1) != utlSUCCESS)
4967 {
4968 ERRMSG(tcInitAtParser17, "Set auto answer delay error\n");
4969 return FALSE;
4970 }
4971 }
4972 }
4973// #endif
4974
4975 //set proxy call back function
4976
4977 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_AT_PARSER_PROXY_CB, createStringToProxy) != utlSUCCESS)
4978 {
4979 ERRMSG(tcInitAtParser18, "Set sendToProxy CB error\n");
4980 return FALSE;
4981 }
4982
4983 //set call back function to find if proxy request
4984 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_IS_PROXY_REQ_CB, utlIsProxyReq) != utlSUCCESS)
4985 {
4986 ERRMSG(tcInitAtParser19, "Set isProxy CB error\n");
4987 return FALSE;
4988 }
4989
4990 //set proxy call back function for timeout counter handling
4991 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_INC_PROXY_TO_COUNTER_CB, utlIncProxyTimeoutCounter) != utlSUCCESS)
4992 {
4993 ERRMSG(tcInitAtParser20, "Set INC_PROXY_TO_COUNTER_CB error\n");
4994 return FALSE;
4995 }
4996
4997 //set ptr to cmd struct handling proxy unknown cmds
4998 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_PRXY_ONLY_CMD_PTR, &proxyUnknownCmd) != utlSUCCESS)
4999 {
5000 ERRMSG(tcInitAtParser21, "Set SET_PRXY_ONLY_CMD_PTR error\n");
5001 return FALSE;
5002 }
5003
5004 //set callback function to proxy esc
5005 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_PRXY_ESC_CB, &proxyEsc) != utlSUCCESS)
5006 {
5007 ERRMSG(tcInitAtParser22, "Set proxy_esc_CB error\n");
5008 return FALSE;
5009 }
5010
5011 //callback function to clear sms datamode
5012 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_CLEAR_SMS_DATDAMODE_CB, &clearSmsDataMode) != utlSUCCESS)
5013 {
5014 ERRMSG(tcInitAtParser23, "set clear_sms_datamode_CB error\n");
5015 return FALSE;
5016 }
5017
5018 //callback function to clear sms_over_nas
5019 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_CLEAR_SMS_OVER_NAS_CB, &clearSmsoverNas) != utlSUCCESS)
5020 {
5021 ERRMSG(tcInitAtParser24, "set sms_over_nas_CB error\n");
5022 return FALSE;
5023 }
5024
5025 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_SET_CHECK_SMS_PARA_CB, &checkSmsPara) != utlSUCCESS)
5026 {
5027 ERRMSG(tcInitAtParser25, "Set checkSmsPara CB error\n");
5028 return FALSE;
5029 }
5030
5031 if (utlAtParserOp(aParser_p[index], utlAT_PARSER_OP_CONVERT_ATCMD_STR_CB, &convertAtcmdStr) != utlSUCCESS)
5032 {
5033 ERRMSG(tcInitAtParser25, "Set checkSmsPara CB error\n");
5034 return FALSE;
5035 }
5036
5037 F_LEAVE(tcInitAtParser24);
5038 return TRUE;
5039}
5040
5041BOOL tcOpenExtSerialPort(int *fd, char * serial_path, int flag )
5042{
5043
5044 F_ENTER(tcOpenExtSerialPort0);
5045
5046 tcOpenDevice(fd, serial_path, flag);
5047
5048 if (*fd < 0)
5049 {
5050 F_LEAVE(tcOpenExtSerialPort);
5051 return FALSE;
5052 }
5053
5054
5055 /*
5056 * The following will handle the physical serial port setting
5057 */
5058
5059 struct termios tio; //place for old and new port settings for serial port
5060
5061 memset(&tio, 0x0, sizeof(tio));
5062
5063 // Make the file descriptor asynchronous (the manual page says only
5064 // O_APPEND and O_NONBLOCK, will work with F_SETFL...)
5065 (void)fcntl(*fd, F_SETFL, 0);
5066
5067 tcgetattr(*fd, &savetio); // save current port settings
5068
5069 // set new port settings for canonical input processing
5070 tio.c_cflag = BAUD | CRTSCTS | DATABITS | STOPBITS | PARITYON | PARITY | CLOCAL | CREAD;
5071 tio.c_iflag = IGNPAR;
5072 tio.c_oflag = 0;
5073 tio.c_lflag = 0; //ICANON;
5074
5075 /*special contrrl character are listed below, for others:
5076 VINTR(Ctrl-c) VQUIT(Ctrl-\) VKILL(@) VTIME(inter-character timer unused)
5077 VSWTC('\0') VSTART(Ctrl-q) VSTOP(Ctrl-s) VSUSP(Ctrl-z)
5078 VREPRINT(Ctrl-r) VDISCARD(Ctrl-u) VWERASE(Ctrl-w) VLNEXT(Ctrl-v) VEOL2('\0')
5079 are set to 0.
5080 */
5081 tio.c_cc[VERASE] = 0x8; /* del */
5082 tio.c_cc[VEOF] = 4; /* Ctrl-d */
5083 tio.c_cc[VMIN] = 1; /* blocking read until 1 character arrives */
5084 tio.c_cc[VEOL] = 0xD; /* '\0' */
5085
5086 tcflush(*fd, TCIFLUSH);
5087 tcsetattr(*fd, TCSANOW, &tio);
5088
5089 F_LEAVE(tcOpenExtSerialPort1);
5090
5091 return TRUE;
5092}
5093
5094BOOL tcOpenDevice(int* fd, char * char_dev_path, int flag)
5095{
5096 F_ENTER(tcOpenDevice0);
5097 /*open the device(com port) to be non-blocking (read will return immediately) */
5098 *fd = open(char_dev_path, flag );
5099
5100 if (*fd < 0)
5101 {
5102 ERRMSG(tcOpenDevice, "Error opening device %s\n", char_dev_path);
5103 return FALSE;
5104 }
5105
5106 //DBGMSG(tcOpenDevice1, "Opened %s, fd is: %d.\n", char_dev_path, *fd);
5107
5108 F_LEAVE(tcOpenDevice2);
5109 return TRUE;
5110}
5111
5112
5113int tcWriteParser(TelAtParserID sAtpIndex, char * string, int len)
5114{
5115 F_ENTER(tcWriteParser0);
5116
5117 int fd;
5118 ssize_t size;
5119 int cur;
5120 int retry = 10;
5121 fd = getFd(sAtpIndex);
5122
5123 if (fd <= 0)
5124 {
5125 ERRMSG(tcWriteParser, "Wrong AT Parser ID- sAtpIndex: %d, fd: %d\n", sAtpIndex, fd);
5126 return -1;
5127 }
5128
5129 cur = 0;
5130 while(cur < len)
5131 {
5132 do
5133 {
5134 size = write(fd, string + cur, len - cur);
5135 }while(size < 0 && errno == EINTR);
5136
5137 if (size > 0)
5138 cur += (int)size;
5139 else if (size == 0)
5140 {
5141 if (retry)
5142 {
5143 retry--;
5144 usleep(1000);
5145 continue;
5146 }
5147 else
5148 break;
5149 }
5150 else
5151 {
5152 if ((!strcmp(gAtpCtrl[sAtpIndex].pTelAtpDesc->path, BACKEND_SERIALATCMD_ATCMD_CHAN_DEVICE)) )
5153 {
5154 WARNMSG(tcWriteParser1, "tcWriteParser: write %s warning %d(%s)\n",
5155 gAtpCtrl[sAtpIndex].pTelAtpDesc->path, errno, strerror(errno));
5156 }
5157 else
5158 {
5159 ERRMSG(tcWriteParser2, "tcWriteParser: write %s error %d(%s)\n",
5160 gAtpCtrl[sAtpIndex].pTelAtpDesc->path, errno, strerror(errno));
5161 }
5162 break;
5163 }
5164 }
5165
5166 WARNMSG(tcWriteParser3, "tcWriteParser: writing to device (index=%d) %s %d bytes\n", sAtpIndex, gAtpCtrl[sAtpIndex].pTelAtpDesc->path, cur);
5167 fsync(fd);
5168
5169 F_LEAVE(tcWriteParser4);
5170 return (int)cur;
5171}
5172
5173/******************************************************************************
5174* AT Parser Callback function
5175******************************************************************************/
5176utlReturnCode_T atParserShellReplyFunction(const char *string_p, void *arg_p)
5177{
5178
5179 /*
5180 * Dumping the reply to stdout
5181 */
5182 TelAtParserID * sATP_p = arg_p;
5183
5184 WARNMSG(atParserShellReplyFunction, "ShellReply: %s on index: %d\n", string_p, *sATP_p);
5185
5186 /*
5187 * If there is socket attached, dump it to the socket as well
5188 */
5189
5190 tcWriteParser(*sATP_p, (char *)string_p, strlen(string_p));
5191 return utlSUCCESS;
5192}
5193
5194utlReturnCode_T atParserShellGetFunction(const utlAtParameterOp_T op,
5195 const char *command_name_p,
5196 const utlAtParameterValue_P2c parameter_values_p,
5197 const size_t num_parameters,
5198 const char *info_text_p,
5199 unsigned int *xid_p,
5200 void *arg_p)
5201{
5202 UNUSEDPARAM(op)
5203 UNUSEDPARAM(command_name_p)
5204 UNUSEDPARAM(parameter_values_p)
5205 UNUSEDPARAM(num_parameters)
5206
5207 char tempBuf[200];
5208 *xid_p = MAKE_AT_HANDLE(*(TelAtParserID *)arg_p);
5209
5210 //DBGMSG(atParserShellGetFunction, "atParserShellGetFunction: %s\n", command_name_p);
5211 //DBGMSG(atParserShellGetFunction1, "\t*info_text_p = %s\n", info_text_p);
5212 if(NULL != info_text_p)
5213 {
5214 strncpy(tempBuf, info_text_p, sizeof(tempBuf));
5215 tempBuf[sizeof(tempBuf) - 1] = '\0';
5216 }
5217 else tempBuf[0] = '\0';
5218
5219 ATRESP(*xid_p, ATCI_RESULT_CODE_OK, 0, tempBuf);
5220 return utlSUCCESS;
5221}
5222
5223/*------------------------------------------------------------------------------*/
5224utlReturnCode_T atParserShellSetFunction(const utlAtParameterOp_T op,
5225 const char *command_name_p,
5226 const utlAtParameterValue_P2c parameter_values_p,
5227 const size_t num_parameters,
5228 const char *info_text_p,
5229 unsigned int *xid_p,
5230 void *arg_p)
5231{
5232 UNUSEDPARAM(op)
5233 UNUSEDPARAM(command_name_p)
5234 UNUSEDPARAM(parameter_values_p)
5235 UNUSEDPARAM(num_parameters)
5236 UNUSEDPARAM(info_text_p)
5237
5238 * xid_p = MAKE_AT_HANDLE(*(TelAtParserID *)arg_p);
5239 char tempBuf[400];
5240 //DBGMSG(atParserShellSetFunction, "Set command: %s\n", command_name_p);
5241 //DBGMSG(atParserShellSetFunction1, "\t*info_text_p = %s\n", info_text_p);
5242 if(NULL != info_text_p)
5243 {
5244 strncpy(tempBuf, info_text_p, sizeof(tempBuf));
5245 tempBuf[sizeof(tempBuf) - 1] = '\0';
5246 }
5247 else tempBuf[0] = '\0';
5248
5249 ATRESP(*xid_p, ATCI_RESULT_CODE_OK, 0, tempBuf);
5250 return utlSUCCESS;
5251}
5252
5253/*------------------------------------------------------------------------------*/
5254unsigned int atParserGetAtcmdTimeoutValue(const char* cmd_name_p, const utlAtAsyncOp_T op)
5255{
5256 ATCMD_TimeOut *timeout_p = atcmd_timeout_table;
5257 int index = -1;
5258 switch(op)
5259 {
5260 case utlAT_ASYNC_OP_SET:
5261 case utlAT_ASYNC_OP_ACTION:
5262 case utlAT_ASYNC_OP_EXEC:
5263 index = 0;
5264 break;
5265 case utlAT_ASYNC_OP_GET:
5266 index = 1;
5267 break;
5268 case utlAT_ASYNC_OP_SYNTAX:
5269 index = 2;
5270 break;
5271 case utlAT_ASYNC_OP_NULL:
5272 case utlAT_ASYNC_OP_UNKNOWN:
5273 default:
5274 break;
5275 }
5276 if(index >= 0)
5277 {
5278 while(timeout_p->name_p != NULL)
5279 {
5280 if(strcmp(timeout_p->name_p, cmd_name_p) == 0)
5281 return timeout_p->time_second[index];
5282 timeout_p++;
5283 }
5284 }
5285 return utlAT_AWAIT_ASYNC_TIMEOUT_TIME;
5286}
5287
5288int atParserAtcmdTimeoutError(unsigned int atHandle)
5289{
5290 return handle_CMEE_code(atHandle, CME_COMMMAND_TIMEOUT_ERR);
5291}
5292
5293#ifdef ATCMD_CONTINUOUS_TIMEOUT_RECOVERY
5294#define MAX_TIMEOUT_NUM 5
5295void atParserAtcmdContinuousTimeout(void)
5296{
5297 char resetInfo[256];
5298 pthread_mutex_lock(&gTimeoutLock);
5299 if(++gTimeoutNum >= MAX_TIMEOUT_NUM)
5300 {
5301 sprintf(resetInfo, "timeout nums is %d, reach limit\n", gTimeoutNum);
5302 if(cp_silent_reset_on_req(resetInfo, 0) == 0)
5303 gTimeoutNum = 0;
5304 }
5305 pthread_mutex_unlock(&gTimeoutLock);
5306}
5307#endif
5308
5309bool utlAtCommandTimeoutModify(const char *commandName, int mode, int timeout)
5310{
5311 utlAtCommand_P2c command_p = pshell_commands;
5312 utlAtCommand_P2c term_command_p = command_p + shell_commands_num;
5313 ATCMD_TimeOut *timeout_p;
5314 ATCMD_TimeOut *term_timeout_p = atcmd_timeout_table + shell_commands_num;
5315 bool cmdValid = false;
5316 unsigned int j;
5317 if((commandName == NULL) || ((term_timeout_p - 1)->name_p != NULL))
5318 return false;
5319 /*--- for each command... ---*/
5320 for (; command_p < term_command_p; command_p++)
5321 {
5322 if(strcasecmp(command_p->name_p, commandName) == 0)
5323 {
5324 if((command_p->type == utlAT_COMMAND_TYPE_BASIC) && (mode != TEL_AT_HTCCTO_2_MODE_SET))
5325 cmdValid = false;
5326 else
5327 cmdValid = true;
5328 break;
5329 }
5330 }
5331 if(cmdValid)
5332 {
5333 pthread_mutex_lock(&gTimeoutTableLock);
5334 timeout_p = atcmd_timeout_table;
5335 while(timeout_p->name_p != NULL)
5336 {
5337 if(strcasecmp(command_p->name_p, timeout_p->name_p) == 0)
5338 {
5339 for(j = 0; j < 3; j++)
5340 {
5341 if(((mode >> j) & 1UL) != 0)
5342 {
5343 timeout_p->time_second[j] = timeout;
5344 }
5345 }
5346 break;
5347 }
5348 timeout_p++;
5349 }
5350 if(timeout_p->name_p == NULL)
5351 {
5352 for(j = 0; j < 3; j++)
5353 {
5354 if(((mode >> j) & 1UL) != 0)
5355 {
5356 timeout_p->time_second[j] = timeout;
5357 }
5358 else
5359 {
5360 timeout_p->time_second[j] = utlAT_AWAIT_ASYNC_TIMEOUT_TIME;
5361 }
5362 }
5363 timeout_p->name_p = command_p->name_p;
5364 }
5365 pthread_mutex_unlock(&gTimeoutTableLock);
5366 return true;
5367 }
5368 return false;
5369}
5370/************************************************************************************
5371 * F@: ciAT - Process the command "AT"
5372 *
5373 */
5374utlReturnCode_T ciAT( const utlAtParameterOp_T op,
5375 const char *command_name_p,
5376 const utlAtParameterValue_P2c parameter_values_p,
5377 const size_t num_parameters,
5378 const char *info_text_p,
5379 unsigned int *xid_p,
5380 void *arg_p)
5381{
5382 UNUSEDPARAM(op)
5383 UNUSEDPARAM(command_name_p)
5384 UNUSEDPARAM(parameter_values_p)
5385 UNUSEDPARAM(num_parameters)
5386 UNUSEDPARAM(info_text_p)
5387
5388 TelAtParserID sAtpIndex = *(TelAtParserID *)arg_p;
5389
5390 UINT32 atHandle = AT_RESV_HANDLE(sAtpIndex, 3);
5391
5392 *xid_p = atHandle;
5393
5394 //DBGMSG(ciAT, "ciAT: atHandle:%d, gServiceGroupRegistered:%d\n", atHandle, gServiceGroupRegistered);
5395
5396 if (gServiceGroupRegistered > CI_SG_NUMIDS || ap_only)
5397 ATRESP(atHandle, ATCI_RESULT_CODE_OK, 0, NULL);
5398 else
5399 ATRESP(atHandle, ATCI_RESULT_CODE_ERROR, 0, NULL);
5400
5401 return utlSUCCESS;
5402}
5403
5404utlReturnCode_T ciCLAC( const utlAtParameterOp_T op,
5405 const char *command_name_p,
5406 const utlAtParameterValue_P2c parameter_values_p,
5407 const size_t num_parameters,
5408 const char *info_text_p,
5409 unsigned int *xid_p,
5410 void *arg_p)
5411{
5412 UNUSEDPARAM(command_name_p)
5413 UNUSEDPARAM(parameter_values_p)
5414 UNUSEDPARAM(num_parameters)
5415 UNUSEDPARAM(info_text_p)
5416
5417 RETURNCODE_T rc = INITIAL_RETURN_CODE;
5418 CiReturnCode ret = CIRC_FAIL;
5419
5420 utlAtCommand_P2c command_p = pshell_commands;
5421 utlAtCommand_P2c term_command_p = command_p + shell_commands_num;
5422 char* commands_buf_p;
5423 char* commands_temp_p;
5424
5425 UINT32 atHandle = MAKE_AT_HANDLE(*(TelAtParserID *)arg_p);
5426 *xid_p = atHandle;
5427
5428 //DBGMSG(ciCLAC, "ciCLAC: atHandle:%d\n", atHandle);
5429
5430 switch(op)
5431 {
5432 case TEL_EXT_ACTION_CMD:
5433 {
5434 commands_buf_p = (char *)malloc(20*shell_commands_num); //reserve 20 bytes for each command
5435 if(commands_buf_p == NULL)
5436 {
5437 ret = ATRESP(atHandle, ATCI_RESULT_CODE_ERROR, 0, NULL);
5438 break;
5439 }
5440 else
5441 commands_temp_p = commands_buf_p;
5442 /*--- for each command... ---*/
5443 for (; command_p < term_command_p; command_p++)
5444 {
5445 commands_temp_p += sprintf(commands_temp_p, "AT%s\r\n", command_p->name_p);
5446 }
5447 ret = ATRESP(atHandle, ATCI_RESULT_CODE_OK, 0, commands_buf_p);
5448 free(commands_buf_p);
5449 break;
5450 }
5451 case TEL_EXT_TEST_CMD:
5452 default:
5453 {
5454 ret = ATRESP(atHandle, ATCI_RESULT_CODE_CME_ERROR, CME_OPERATION_NOT_SUPPORTED, NULL);
5455 break;
5456 }
5457 }
5458
5459 rc = HANDLE_RETURN_VALUE(ret);
5460 return(rc);
5461}
5462
5463#ifdef AT_PRODUCTION_CMNDS
5464#define ATMODE_NOTIFICATION_STR "AT COMMAND OK"
5465int start_prod_at_cmd_srv(void)
5466{
5467 int status;
5468 struct termios tio;
5469 memset(&tio, 0x0, sizeof(tio));
5470 if(tcOpenDevice(&gAtpCtrl[TEL_PROD_AT_CMD_ATP].iFd, gAtpCtrl[TEL_PROD_AT_CMD_ATP].pTelAtpDesc->path, O_RDWR) == FALSE)
5471 {
5472 ERRMSG(start_prod_at_cmd_srv, "open path: %s error\n", gAtpCtrl[TEL_PROD_AT_CMD_ATP].pTelAtpDesc->path);
5473 return FALSE;
5474 }
5475
5476 memset(&tio, 0, sizeof(tio));
5477
5478 /* Configure termios */
5479 tio.c_cflag = BAUD | CS8 | CLOCAL | CREAD;
5480 tio.c_iflag = 0;
5481 //tio.c_iflag = IGNPAR;
5482 tio.c_oflag = 0;
5483 tio.c_lflag = 0;
5484 tio.c_cc[VMIN] = 1;
5485 tio.c_cc[VTIME]= 0;
5486 tcflush(gAtpCtrl[TEL_PROD_AT_CMD_ATP].iFd, TCIOFLUSH); //flush both data received but not read and data written but not transmitted.
5487 tcsetattr(gAtpCtrl[TEL_PROD_AT_CMD_ATP].iFd, TCSANOW, &tio); //the change shall occur immediately
5488
5489 status = pthread_create(&gAtpCtrl[TEL_PROD_AT_CMD_ATP].taskRef, NULL,
5490 (void *)ProcessAtChanThread, (void *)TEL_PROD_AT_CMD_ATP);
5491
5492 if (status)
5493 {
5494 ERRMSG(start_prod_at_cmd_srv1, "Thread for PROD Create Error!\n");
5495 return FALSE;
5496 }
5497
5498 //DBGMSG(start_prod_at_cmd_srv2, "start_prod_at_cmd_srv: %s\n", ATMODE_NOTIFICATION_STR);
5499 gAtpCtrl[TEL_PROD_AT_CMD_ATP].bEnable = TRUE;
5500 tcWriteParser(gAtpCtrl[TEL_PROD_AT_CMD_ATP].index, ATMODE_NOTIFICATION_STR, strlen(ATMODE_NOTIFICATION_STR));
5501 return TRUE;
5502}
5503
5504static void start_at_cmd_srv(void)
5505{
5506 if(gAtpCtrl[TEL_PROD_AT_CMD_ATP].bEnable == FALSE)
5507 {
5508 start_prod_at_cmd_srv();
5509 }
5510}
5511
5512int stop_prod_at_cmd_srv(int b_start_diag)
5513{
5514 unsigned char cmd;
5515
5516 if(b_start_diag)
5517 cmd = TEL_ATP_CMD_EXIT_CHAN_AND_START_DIAG;
5518 else
5519 cmd = TEL_ATP_CMD_EXIT_CHAN;
5520
5521 if(notifyAtParser(TEL_PROD_AT_CMD_ATP, cmd) < 0)
5522 return FALSE;
5523 else
5524 return TRUE;
5525}
5526#endif
5527
5528unsigned int utlIsAtpForSimCard(unsigned int parserId, SIMID simId)
5529{
5530 return gAtpCtrl[parserId].currentTargetSim == simId;
5531}
5532
5533
5534unsigned int utlIsAtpForMasterCard(unsigned int parserId)
5535{
5536 char buf[PROPERTY_VALUE_MAX] = {'\0'};
5537 unsigned int forMasterSim = 0;
5538 BOOL bIsSim2Master = isSim2Master();
5539
5540 VDBGMSG(utlIsAtpForMasterCard, "PROXY_DEBUG -utlIsAtpForMasterCard,%d- Check if for master SIM - parserID %d, sim2Flag %d\n",
5541 __LINE__, parserId, bIsSim2Master);
5542
5543 if(bIsSim2Master)
5544 forMasterSim = utlIsAtpForSimCard(parserId, SIM2);
5545 else
5546 forMasterSim = utlIsAtpForSimCard(parserId, SIM1);
5547
5548 VDBGMSG(utlIsAtpForMasterCard1, "PROXY_DEBUG -utlIsAtpForMasterCard,%d- forMastSim flag for parserID %d, sim2Flag %d is %d\n",
5549 __LINE__, parserId, bIsSim2Master, forMasterSim);
5550
5551 return forMasterSim;
5552}
5553
5554unsigned int utlIsReqForAtp(unsigned int handle, unsigned int parserId)
5555{
5556 unsigned int ret = 0;
5557 if(handle == IND_REQ_HANDLE)
5558 ret = utlIsAtpForSimCard(parserId, SIM1);
5559 else if(handle == IND_REQ_HANDLE_1)
5560 ret = utlIsAtpForSimCard(parserId, SIM2);
5561 else if(!GET_SIM1_FLAG(handle))
5562 ret = utlIsAtpForSimCard(parserId, SIM1);
5563 else if(GET_SIM1_FLAG(handle))
5564 ret = utlIsAtpForSimCard(parserId, SIM2);
5565 return ret;
5566}
5567
5568
5569
5570unsigned int utlIsProxyReq(const char *cmdName, utlAtParameterOp_T cmdOp, unsigned int parserId)
5571{
5572 //go through the list of requests to check if it is a proxy request
5573 utlAtProxyCommand_P pProxyCommand;
5574 unsigned int result = 0;
5575 UINT32 atHandleForSimTest;
5576
5577 if((cmdName ==NULL) ||(parserId >= NUM_OF_TEL_ATP)) {
5578 //DBGMSG(utlIsProxyReq, "PROXY_DEBUG -utlIsProxyReq,%d- param error\n", __LINE__);
5579 return result;
5580 }
5581
5582 if(gProxyChannelId == NUM_OF_TEL_ATP)
5583 {
5584 //DBGMSG(utlIsProxyReq, "PROXY_DEBUG -utlIsProxyReq,%d- proxy not set\n", __LINE__);
5585 return result;
5586 }
5587
5588 //VDBGMSG(utlIsProxyReq1, "PROXY_DEBUG -utlIsProxyReq,%d- check if cmd %s, operation %d, parser ID %d is proxy\n",
5589 // __LINE__, cmdName, (int)cmdOp, (int)parserId );
5590
5591 //check that the AT channel the command was received on is not the proxy chanel
5592 //find the parser first
5593
5594 if((aParser_p[gAtpCtrl[parserId].index] != NULL)&&
5595 (aParser_p[gAtpCtrl[parserId].index]->isProxy)){
5596 WARNMSG(utlIsProxyReq2, "PROXY_DEBUG -utlIsProxyReq,%d- Message received from proxy - handle as standard command\n",
5597 __LINE__);
5598
5599 return result;
5600 }
5601
5602 //check if request is for master SIM
5603 if(!utlIsAtpForMasterCard(parserId)) {
5604 VDBGMSG(utlIsProxyReq3, "PROXY_DEBUG -utlIsProxyReq,%d- request NOT for master SIM, do NOT proxy\n",
5605 __LINE__);
5606 return result;
5607 }
5608 pthread_mutex_lock(&gProxyAccessLock);
5609 pProxyCommand = atProxyReq;
5610
5611 while(pProxyCommand != NULL)
5612 {
5613 if(!(strcasecmp(cmdName,pProxyCommand->commandName))) {
5614 //match operation
5615
5616 result = pProxyCommand->operation & (0x1<<cmdOp);
5617 break;
5618 }
5619 pProxyCommand = pProxyCommand->next_p;
5620 }
5621 pthread_mutex_unlock(&gProxyAccessLock);
5622
5623 WARNMSG(utlIsProxyReq4, "PROXY_DEBUG -utlIsProxyReq,%d- proxy flag for checking req %s, op %d is %d\n",
5624 __LINE__, cmdName, (int)cmdOp, result);
5625
5626 return result;
5627}
5628
5629//check if the indication is proxy, and if it should be forwarded
5630//to proxy client or sent to all channels
5631unsigned int utlIsProxyInd(const char *indName,unsigned int indHandle)
5632
5633{
5634 unsigned int result = 0;
5635 utlAtProxyCommand_P pProxyInd;
5636 utlAtParser_P parser_p;
5637 BOOL bIsSim2Master = isSim2Master();
5638
5639 if((bIsSim2Master && indHandle == IND_REQ_HANDLE) ||
5640 (!bIsSim2Master && indHandle == IND_REQ_HANDLE_1))
5641 return result;
5642
5643 if(indName ==NULL){
5644 DBGMSG(utlIsProxyInd, "PROXY_DEBUG -utlIsProxyInd,%d- param error\n", __LINE__);
5645 return result;
5646 }
5647
5648 //VDBGMSG(utlIsProxyInd1, "PROXY_DEBUG -utlIsProxyInd,%d- check if ind %s, \n",
5649 // __LINE__, indName);
5650
5651 if(strcasecmp(indName,"+CBM")==0 || strcasecmp(indName,"+CDS")==0 || strcasecmp(indName,"+CMT")==0){
5652 return result;
5653 }
5654
5655 pthread_mutex_lock(&gProxyAccessLock);
5656 //check that the indication is a proxy indication
5657 pProxyInd = atProxyInd;
5658 while(pProxyInd != NULL)
5659 {
5660 //look for the indication name in the receievd string
5661 if(strcasestr(indName,pProxyInd->commandName)) {
5662 //match operation
5663 result = 1;
5664 break;
5665 }
5666 pProxyInd = pProxyInd->next_p;
5667 }
5668 pthread_mutex_unlock(&gProxyAccessLock);
5669
5670 VDBGMSG(utlIsProxyInd2, "PROXY_DEBUG -utlIsProxyInd,%d- result for ind %s is %d, \n",
5671 __LINE__, indName, result);
5672
5673 return result;
5674}
5675
5676//Increment or reset Proxy timeout counter. This function is a parser
5677//call back function, which is operated when the timeout for a command
5678//that was proxied expires
5679//if the counter exceeds the maximum value - an indication is sent to
5680//the proxy channel
5681void utlIncProxyTimeoutCounter(unsigned int incValue)
5682{
5683 char msgToProxy[20];
5684 UINT32 atHandleForProxyChannel;
5685
5686 if(incValue)
5687 {
5688 gProxyTimeoutCounter = gProxyTimeoutCounter + incValue;
5689
5690 WARNMSG(utlIncProxyTimeoutCounter, "PROXY_DEBUG -utlIncProxyTimeoutCounter,%d- counter value after inc with %d is %d \n",
5691 __LINE__, incValue, gProxyTimeoutCounter);
5692 if((gProxyTimeoutCounter >=ATCMD_PROXY_TIMEOUT_COUNTER_MAX_VALUE)
5693 &&(gProxyChannelId != NUM_OF_TEL_ATP))
5694 {
5695 //send indication to proxy channel
5696 memset(msgToProxy,0, sizeof(msgToProxy));
5697
5698 sprintf(msgToProxy,"*PRXYRST");
5699
5700 atHandleForProxyChannel = MAKE_AT_HANDLE(gProxyChannelId);
5701
5702 ERRMSG(utlIncProxyTimeoutCounter1, "Error - Proxy Timeout - send PRXYRST indication to proxy channel \r\n");
5703
5704 ATRESP(atHandleForProxyChannel , ATCI_RESULT_CODE_NULL, 0, msgToProxy);
5705
5706 //reset counter
5707 gProxyTimeoutCounter = 0;
5708 aParser_p[gAtpCtrl[gProxyChannelId].index]->isProxy = FALSE;
5709 gProxyChannelId = NUM_OF_TEL_ATP;
5710 pthread_mutex_lock(&gProxyAccessLock);
5711 clearProxyLists(&atProxyReq);
5712 clearProxyLists(&atProxyInd);
5713 pthread_mutex_unlock(&gProxyAccessLock);
5714 }
5715 }
5716 else
5717 {
5718 //reset counter
5719 WARNMSG(utlIncProxyTimeoutCounter2, "PROXY_DEBUG -utlIncProxyTimeoutCounter,%d- reset counter \n", __LINE__);
5720 gProxyTimeoutCounter = 0;
5721 }
5722}
5723
5724unsigned int utlIsProxySmsTrs(const char *cmdName)
5725{
5726 unsigned int onGoingTrsFalg = 0;
5727
5728 if(!strcasecmp("+CMGS", (char*)cmdName))
5729 {
5730 onGoingTrsFalg = 1;
5731 gCurrentSmsDataMode = TEL_MSG_DATA_CMGS;
5732 }
5733 else if(!strcasecmp("+CMGC", (char*)cmdName))
5734 {
5735 onGoingTrsFalg = 1;
5736 gCurrentSmsDataMode = TEL_MSG_DATA_CMGC;
5737 }
5738 else if(!strcasecmp("+CMGW", (char*)cmdName))
5739 {
5740 onGoingTrsFalg = 1;
5741 gCurrentSmsDataMode = TEL_MSG_DATA_CMGW;
5742 }
5743 else if(!strcasecmp("+CNMA", (char*)cmdName))
5744 {
5745 onGoingTrsFalg = 1;
5746 gCurrentSmsDataMode = TEL_MSG_DATA_CNMA;
5747 }
5748
5749
5750 return onGoingTrsFalg;
5751}
5752
5753bool utlIsReqForPPP(unsigned int atHandle)
5754{
5755 unsigned int sAtpIndex = GET_ATP_INDEX(atHandle);
5756
5757 ERRMSG(utlIsReqForPPP, "utlIsReqForPPP: athandle = 0x%x, sAtpIndex = %d, bEnable = %d, path = %s\n",
5758 atHandle, sAtpIndex, gAtpCtrl[sAtpIndex].bEnable, gAtpCtrl[sAtpIndex].pTelAtpDesc->path);
5759
5760 if(sAtpIndex < NUM_OF_TEL_ATP && gAtpCtrl[sAtpIndex].bEnable) {
5761 if (gAtpCtrl[sAtpIndex].pTelAtpDesc->path && strcmp(gAtpCtrl[sAtpIndex].pTelAtpDesc->path, "atcmdmni") == 0)
5762 return true;
5763
5764 if (gAtpCtrl[sAtpIndex].pTelAtpDesc->path && strcmp(gAtpCtrl[sAtpIndex].pTelAtpDesc->path, "atcmdtest") == 0)
5765 return true;
5766#ifdef ADDITIONAL_MODEM_DEVICE
5767 if (gAtpCtrl[sAtpIndex].pTelAtpDesc->path && strcmp(gAtpCtrl[sAtpIndex].pTelAtpDesc->path, "atcmdmni1") == 0)
5768 return true;
5769#endif
5770#ifdef UART2_AT
5771 if (gAtpCtrl[sAtpIndex].pTelAtpDesc->path && strcmp(gAtpCtrl[sAtpIndex].pTelAtpDesc->path, "atcmdttyS1") == 0)
5772 return true;
5773#endif
5774 }
5775
5776 return false;
5777}
5778
5779/************************************************************************************
5780 * F@: ciChannelDestSwitch - GLOBAL API for AT*CHDSTST-command
5781 *
5782 */
5783RETURNCODE_T ciChannelDestSwitch( const utlAtParameterOp_T op,
5784 const char *command_name_p,
5785 const utlAtParameterValue_P2c parameter_values_p,
5786 const size_t num_parameters,
5787 const char *info_text_p,
5788 unsigned int *xid_p,
5789 void *arg_p)
5790{
5791 UNUSEDPARAM(command_name_p)
5792 UNUSEDPARAM(num_parameters)
5793 UNUSEDPARAM(info_text_p)
5794
5795 RETURNCODE_T rc = INITIAL_RETURN_CODE;
5796 CiReturnCode ret = CIRC_FAIL;
5797 int sAtpIndex = *(TelAtParserID *)arg_p;
5798 UINT32 atHandle = MAKE_AT_HANDLE(sAtpIndex);
5799
5800 *xid_p = atHandle;
5801 //DBGMSG(ciChannelDestSwitch, "ciChannelDestSwitch: atHandle = %d.\n", atHandle);
5802
5803 /*
5804 ** Check the operation type.
5805 */
5806 switch ( op )
5807 {
5808 case TEL_EXT_GET_CMD: /* AT*CHDSTST? */
5809 {
5810 char buf[32];
5811 SIMID simId = getSharedTelAtpCurrentTargetSIM(sAtpIndex);
5812 if(simId != SIM1 && simId != SIM2)
5813 ret = ATRESP( atHandle, ATCI_RESULT_CODE_CME_ERROR, CME_OPERATION_NOT_SUPPORTED, NULL);
5814 else
5815 {
5816 memset(buf, 0x00, sizeof(buf));
5817 snprintf(buf, sizeof(buf)-1, "*CHDSTST:%d", simId);
5818 ret = ATRESP( atHandle, ATCI_RESULT_CODE_OK, 0, buf);
5819 }
5820 break;
5821 }
5822
5823 case TEL_EXT_SET_CMD: /* AT*CHDSTST= */
5824 {
5825 int dest;
5826 if ( getExtValue( parameter_values_p, 0, &dest, 0, 1, 0 ) == TRUE )
5827 {
5828 if(setSharedTelAtpCurrentTargetSIM(sAtpIndex, (SIMID)dest) == 0)
5829 ret = ATRESP( atHandle, ATCI_RESULT_CODE_OK, 0, NULL);
5830 else
5831 ret = ATRESP( atHandle, ATCI_RESULT_CODE_CME_ERROR, CME_OPERATION_NOT_SUPPORTED, NULL);
5832 }
5833 else
5834 {
5835 ret = ATRESP( atHandle, ATCI_RESULT_CODE_CME_ERROR, CME_INVALID_PARAM, NULL);
5836 }
5837
5838 break;
5839 }
5840
5841 default:
5842 {
5843 ret = ATRESP( atHandle, ATCI_RESULT_CODE_CME_ERROR, CME_OPERATION_NOT_SUPPORTED, NULL);
5844 break;
5845 }
5846 }
5847
5848
5849 /* handle the return value */
5850 rc = HANDLE_RETURN_VALUE(ret);
5851 return(rc);
5852}