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