1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 | Project : GSM-PS (6147)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 | Modul : CMH_SSS
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 | Copyright 2002 Texas Instruments Berlin, AG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 | All rights reserved.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 | This file is confidential and a trade secret of Texas
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 | Instruments Berlin, AG
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 | The receipt of or possession of this file does not convey
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 | any rights to reproduce or disclose its contents or to
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 | manufacture, use, or sell anything it may describe, in
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 | whole, or in part, without the specific written consent of
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 | Texas Instruments Berlin, AG.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 | Purpose : This module provides the query functions related to the
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 | protocol stack adapter for SS.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 #ifndef CMH_SSQ_C
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 #define CMH_SSQ_C
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 #include "aci_all.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 /*==== INCLUDES ===================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 #include "aci.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 #include "aci_cmh.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 #include "ati_cmd.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 #include "aci_cmd.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 #include "aci_ext_pers.h" /* we are using personalisation extensions */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 #include "aci_slock.h" /* in order to asure interfaces */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 #ifdef FAX_AND_DATA
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 #include "aci_fd.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 #endif /* of #ifdef FAX_AND_DATA */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 #ifdef UART
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 #include "dti.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 #include "dti_conn_mng.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 #include "ksd.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 #include "psa.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 #include "psa_ss.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 #include "psa_sim.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 #include "cmh.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 #include "cmh_ss.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 #include "cmh_sim.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 #include "aci_ext_pers.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 #include "aci_slock.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 #ifdef FF_PHONE_LOCK
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 #include "sec_drv.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 /*==== CONSTANTS ==================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 /*==== EXPORT =====================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 /*==== VARIABLES ==================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 /*==== PROTOTYPES==================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 /* Implements Measure 193 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 LOCAL T_ACI_RETURN cmhSS_queryHandler (T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 void *stat,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 T_ACI_AT_CMD atCmd,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 UBYTE ssCode);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 EXTERN T_ACI_RETURN cmhSS_check_oper_result(T_OPER_RET_STATUS result);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 #ifdef FF_PHONE_LOCK
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 EXTERN T_OPER_RET_STATUS aci_ext_get_phone_lock_satus(T_SEC_DRV_EXT_PHONE_LOCK_TYPE type,T_SEC_DRV_EXT_PHONE_LOCK_STATUS *status);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 /*==== FUNCTIONS ==================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 | PROJECT : GSM-PS (6147) MODULE : CMH_SSQ |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 | STATE : code ROUTINE : qAT_PlusCCFC |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 PURPOSE : This is the functional counterpart to the +CCFC AT command
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 which is responsible to query the parameters for call
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 forwarding supplementary services.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 <reason> : reason for CF.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 <class> : class of basic service.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 GLOBAL T_ACI_RETURN qAT_PlusCCFC ( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 T_ACI_CCFC_RSN reason,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 T_ACI_CLASS class_type )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 SHORT sId; /* holds service id */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 UBYTE ssCd; /* holds ss code */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 T_ACI_RETURN retVal;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 TRACE_FUNCTION ("qAT_PlusCCFC");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 * check command source
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 if( cmhPrm[srcId].ssCmdPrm.mltyTrnFlg NEQ 0 )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 return( AT_BUSY );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 /* Implements Measure # 85 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 if(!cmhSS_checkCCFC_RSN(reason, &ssCd))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 * check parameter <class>
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 if( !cmhSS_CheckClassInterr(class_type) )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 ACI_ERR_DESC( ACI_ERR_CLASS_Ext, EXT_ERR_Parameter );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 /* SIM TOOLKIT & FDN HANDLING */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 retVal = cmhSS_CF_SAT_Handle( srcId, reason, CCFC_MOD_Query, NULL, NULL, class_type, NULL, NULL, 0);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 if( retVal NEQ AT_CMPL )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 return( retVal );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 * get a new service table entry to interrogate SS
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 sId = psaSS_stbNewEntry();
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149 if( sId EQ NO_ENTRY )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
150 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151 ACI_ERR_DESC( ACI_ERR_CLASS_Ext, EXT_ERR_SrvTabFull );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
152 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
153 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 * start first transaction
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160 CCD_START;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162 psaSS_asmInterrogateSS( ssCd, SS_NO_PRM, SS_NO_PRM );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 ssShrdPrm.stb[sId].ntryUsdFlg = TRUE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 ssShrdPrm.stb[sId].ssCode = ssCd;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166 ssShrdPrm.stb[sId].srvOwn = (T_OWN)srcId;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 ssShrdPrm.stb[sId].ClassType = class_type;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 ssShrdPrm.stb[sId].curCmd = AT_CMD_CCFC;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170 cmhSS_flagTrn( sId, &(cmhPrm[srcId].ssCmdPrm.mltyTrnFlg));
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171 psaSS_NewTrns(sId);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173 CCD_END;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177 * log command execution
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
180 #if defined SMI OR defined MFW OR defined FF_MMI_RIV
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
181 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
182 T_ACI_CLOG cmdLog; /* holds logging info */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
183
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
184 cmdLog.atCmd = AT_CMD_CCFC;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
185 cmdLog.cmdType = CLOG_TYPE_Query;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
186 cmdLog.retCode = AT_EXCT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
187 cmdLog.cId = ACI_NumParmNotPresent;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
188 cmdLog.sId = sId+1;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
189 cmdLog.cmdPrm.qCCFC.srcId = srcId;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
190 cmdLog.cmdPrm.qCCFC.reason = reason;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
191 cmdLog.cmdPrm.qCCFC.class_type = class_type;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
192 rAT_PercentCLOG( &cmdLog );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
193 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
194 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
195 return( AT_EXCT );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
196 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
197
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
198 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
199 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
200 | PROJECT : GSM-PS (6147) MODULE : CMH_SSQ |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
201 | STATE : code ROUTINE : qAT_PlusCLCK |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
202 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
203
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
204 PURPOSE : This is the functional counterpart to the +CLCK AT command
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
205 which is responsible to query the parameters for call
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
206 barring supplementary services.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
207
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
208 <fac> : CB facility.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
209 <class>: class of basic service.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
210 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
211
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
212 GLOBAL T_ACI_RETURN qAT_PlusCLCK ( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
213 T_ACI_FAC fac,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
214 T_ACI_CLASS class_type,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
215 T_ACI_CLSSTAT *clsStat)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
216 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
217 UBYTE dummy_slockStat;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
218 TRACE_FUNCTION ("qAT_PlusCLCK");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
219 return qAT_PercentCLCK(srcId,fac,class_type, clsStat,&dummy_slockStat);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
220 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
221
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
222 /*QAT_PERCENTCLCK add for Simlock in Riviear MFW
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
223
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
224 Added by Shen,Chao April 16th, 2003
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
225 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
226
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
227 GLOBAL T_ACI_RETURN qAT_PercentCLCK ( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
228 T_ACI_FAC fac,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
229 T_ACI_CLASS class_type,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
230 T_ACI_CLSSTAT *clsStat,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
231 UBYTE *simClockStat)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
232 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
233 SHORT sId; /* holds service id */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
234 UBYTE ssCd; /* holds ss code */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
235 T_ACI_RETURN retVal;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
236 #ifdef SIM_PERS
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
237 T_SIMLOCK_TYPE slocktype;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
238 T_SIMLOCK_STATUS rlockstatus;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
239 T_OPER_RET_STATUS ret;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
240 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
241
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
242
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
243 TRACE_FUNCTION ("qAT_PercentCLCK");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
244
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
245 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
246 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
247 * check command source
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
248 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
249 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
250 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
251 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
252 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
253 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
254
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
255 if( cmhPrm[srcId].ssCmdPrm.mltyTrnFlg NEQ 0 )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
256 return( AT_BUSY );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
257
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
258 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
259 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
260 * check parameter <fac>
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
261 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
262 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
263 /* Implements Measure # 166 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
264 if( !cmhSS_getSSCd(fac, &ssCd) )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
265 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
266 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
267 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
268
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
269 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
270 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
271 * if action is related to SS
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
272 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
273 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
274 if( ssCd NEQ NOT_PRESENT_8BIT )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
275 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
276 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
277 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
278 * check parameter <class>
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
279 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
280 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
281 if( !cmhSS_CheckCbClassInterr(class_type))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
282 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
283 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_OpNotAllow );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
284 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
285 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
286
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
287 if( cmhPrm[srcId].ssCmdPrm.mltyTrnFlg NEQ 0 )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
288
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
289 return( AT_BUSY );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
290 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
291 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
292 * check not allowed <fac> (only possible with mode=0 i.e unlock)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
293 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
294 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
295 if(fac EQ FAC_Ab OR fac EQ FAC_Ag OR fac EQ FAC_Ac)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
296 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
297 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_OpNotAllow );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
298 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
299 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
300
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
301 /* SIM TOOLKIT & FDN HANDLING */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
302
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
303 retVal = cmhSS_Call_Barr_SAT_Handle( srcId, CLCK_MODE_QUERY, fac, NULL, class_type);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
304
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
305 if( retVal NEQ AT_CMPL )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
306 return( retVal );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
307
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
308
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
309 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
310 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
311 * get a new service table entry to interrogate SS
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
312 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
313 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
314 sId = psaSS_stbNewEntry();
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
315
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
316 if( sId EQ NO_ENTRY )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
317 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
318 ACI_ERR_DESC( ACI_ERR_CLASS_Ext, EXT_ERR_SrvTabFull );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
319 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
320 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
321
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
322 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
323 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
324 * start first transaction
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
325 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
326 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
327 CCD_START;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
328
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
329 psaSS_asmInterrogateSS( ssCd, SS_NO_PRM, SS_NO_PRM );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
330
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
331 ssShrdPrm.stb[sId].ntryUsdFlg = TRUE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
332 ssShrdPrm.stb[sId].ssCode = ssCd;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
333 ssShrdPrm.stb[sId].srvOwn = (T_OWN)srcId;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
334 ssShrdPrm.stb[sId].ClassType = class_type;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
335
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
336 ssShrdPrm.stb[sId].curCmd = AT_CMD_CLCK;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
337 cmhSS_flagTrn( sId, &(cmhPrm[srcId].ssCmdPrm.mltyTrnFlg));
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
338 psaSS_NewTrns(sId);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
339
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
340 CCD_END;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
341 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
342
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
343 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
344 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
345 * if action is related to SIM
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
346 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
347 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
348 else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
349 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
350 switch (fac)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
351 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
352 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
353 *---------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
354 * access PIN 1 status
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
355 *---------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
356 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
357 case FAC_Sc:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
358 clsStat -> class_type = CLASS_NotPresent;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
359 clsStat -> status = STATUS_NotPresent;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
360
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
361 switch( simShrdPrm.PEDStat )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
362 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
363 case( PEDS_ENA ): clsStat -> status = STATUS_Active;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
364 return( AT_CMPL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
365 case( PEDS_DIS ): clsStat -> status = STATUS_NotActive;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
366 return( AT_CMPL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
367 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
368 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_SimFail );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
369 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
370 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
371 /* break is removed ,as case is returning before break so it is not needed */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
372 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
373 *---------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
374 * access fixed dialling feature
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
375 *---------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
376 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
377 case ( FAC_Fd ):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
378 clsStat -> class_type = CLASS_NotPresent;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
379 clsStat -> status = STATUS_NotPresent;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
380
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
381 if( simShrdPrm.SIMStat EQ SS_OK )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
382 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
383 switch( simShrdPrm.crdFun )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
384 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
385 case( SIM_ADN_ENABLED ):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
386 case( SIM_ADN_BDN_ENABLED ): clsStat -> status = STATUS_NotActive;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
387 return( AT_CMPL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
388 case( SIM_FDN_ENABLED ):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
389 case( SIM_FDN_BDN_ENABLED ): clsStat -> status = STATUS_Active;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
390 return( AT_CMPL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
391 case( SIM_NO_OPERATION ):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
392 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
393
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
394 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_SimFail );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
395 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
396 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
397 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
398 else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
399 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
400 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_SimFail );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
401 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
402 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
403 /* break is removed ,as case is returning before break so it is not needed */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
404 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
405 *---------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
406 * lock ALS setting with PIN2
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
407 *---------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
408 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
409 case FAC_Al:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
410 clsStat -> class_type = CLASS_NotPresent;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
411 clsStat -> status = STATUS_NotPresent;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
412
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
413 switch( ALSlock )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
414 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
415 case( ALS_MOD_SPEECH ):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
416 case( ALS_MOD_AUX_SPEECH ):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
417 clsStat -> status = STATUS_Active;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
418 return( AT_CMPL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
419
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
420 case( ALS_MOD_NOTPRESENT ):
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
421 clsStat -> status = STATUS_NotActive;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
422 return( AT_CMPL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
423
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
424 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
425 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_OpNotSupp );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
426 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
427 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
428 /* break is removed ,as case is returning before break so it is not needed */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
429 #ifdef SIM_PERS
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
430 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
431 *---------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
432 * ME Personalisation
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
433 *---------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
434 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
435
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
436 case FAC_Pn:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
437 case FAC_Pu:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
438 case FAC_Pp:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
439 case FAC_Pc:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
440 case FAC_Ps:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
441 case FAC_Pf:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
442 case FAC_Bl:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
443
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
444 clsStat -> class_type = CLASS_NotPresent;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
445 clsStat -> status = STATUS_NotPresent;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
446
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
447 switch (fac)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
448 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
449 case FAC_Pn: slocktype = SIMLOCK_NETWORK; break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
450 case FAC_Pu: slocktype = SIMLOCK_NETWORK_SUBSET; break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
451 case FAC_Pp: slocktype = SIMLOCK_SERVICE_PROVIDER; break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
452 case FAC_Pc: slocktype = SIMLOCK_CORPORATE; break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
453 case FAC_Ps: slocktype = SIMLOCK_SIM; break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
454 case FAC_Pf: slocktype = SIMLOCK_FIRST_SIM; break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
455 case FAC_Bl: slocktype = SIMLOCK_BLOCKED_NETWORK; break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
456 default: slocktype = SIMLOCK_NETWORK;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
457 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
458 aci_ext_personalisation_init();
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
459 rlockstatus = aci_personalisation_get_status(slocktype); /* Changed to aci_personalisatio_get_status
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
460 from aci_ext_personalisatio_get_status on 11/03/2005 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
461 aci_ext_personalisation_free();
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
462 if (rlockstatus EQ SIMLOCK_ENABLED)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
463 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
464 clsStat -> status = STATUS_Active;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
465 return( AT_CMPL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
466 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
467 else if (rlockstatus EQ SIMLOCK_DISABLED)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
468 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
469 clsStat -> status = STATUS_NotActive;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
470 return( AT_CMPL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
471 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
472 else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
473 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
474 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_Unknown );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
475 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
476 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
477
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
478 case( FAC_Mu ) :
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
479 case( FAC_Mum ) :
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
480 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
481 clsStat->class_type = CLASS_NotPresent;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
482 clsStat->status = STATUS_NotPresent;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
483 ret = aci_slock_master_unlock( NULL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
484 switch (ret)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
485 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
486 case OPER_SUCCESS:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
487 case OPER_WRONG_PASSWORD:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
488 clsStat->status = STATUS_Active;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
489 return( AT_CMPL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
490 case OPER_NOT_ALLOWED:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
491 clsStat->status = STATUS_NotActive;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
492 return( AT_CMPL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
493 case OPER_FAIL:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
494 ACI_ERR_DESC( ACI_ERR_CLASS_Cme,CME_ERR_Unknown );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
495 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
496 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
497 ACI_ERR_DESC( ACI_ERR_CLASS_Cme,CME_ERR_Unknown );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
498 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
499 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
500 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
501 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
502
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
503 #ifdef FF_PHONE_LOCK
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
504 case(FAC_Pl) :
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
505 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
506 clsStat->class_type = CLASS_NotPresent;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
507 clsStat->status = STATUS_NotPresent;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
508 ret = aci_ext_get_phone_lock_satus(PHONE_LOCK,(T_SEC_DRV_EXT_PHONE_LOCK_STATUS *)&clsStat->status);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
509 return(cmhSS_check_oper_result(ret));
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
510 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
511 case(FAC_Apl) :
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
512 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
513 clsStat->class_type = CLASS_NotPresent;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
514 clsStat->status = STATUS_NotPresent;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
515 ret = aci_ext_get_phone_lock_satus(AUTO_LOCK,(T_SEC_DRV_EXT_PHONE_LOCK_STATUS *)&clsStat->status);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
516 return(cmhSS_check_oper_result(ret));
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
517 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
518 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
519
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
520 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
521 *---------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
522 * Error handling
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
523 *---------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
524 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
525 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
526 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_Unknown );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
527 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
528 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
529 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
530
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
531 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
532 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
533 * log command execution
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
534 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
535 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
536 #if defined SMI OR defined MFW OR defined FF_MMI_RIV
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
537 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
538 T_ACI_CLOG cmdLog; /* holds logging info */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
539
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
540 cmdLog.atCmd = AT_CMD_CLCK;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
541 cmdLog.cmdType = CLOG_TYPE_Query;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
542 cmdLog.retCode = AT_EXCT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
543 cmdLog.cId = ACI_NumParmNotPresent;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
544 cmdLog.sId = sId+1;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
545 cmdLog.cmdPrm.qCLCK.srcId = srcId;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
546 cmdLog.cmdPrm.qCLCK.fac = fac;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
547 cmdLog.cmdPrm.qCLCK.class_type = class_type;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
548
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
549 rAT_PercentCLOG( &cmdLog );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
550 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
551 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
552
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
553 return( AT_EXCT );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
554 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
555
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
556 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
557 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
558 | PROJECT : GSM-PS (6147) MODULE : CMH_SSQ |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
559 | STATE : code ROUTINE : qAT_PlusCCWA |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
560 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
561
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
562 PURPOSE : This is the functional counterpart to the +CCWA AT command
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
563 which is responsible to query the parameters for call
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
564 waiting supplementary services.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
565
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
566 <class> : class of basic service.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
567 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
568
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
569 GLOBAL T_ACI_RETURN qAT_PlusCCWA (T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
570 T_ACI_CLASS class_type)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
571 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
572 SHORT sId; /* holds service id */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
573
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
574 T_ACI_RETURN retVal;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
575
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
576 TRACE_FUNCTION ("qAT_PlusCCWA ()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
577
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
578 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
579 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
580 * check command source
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
581 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
582 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
583 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
584 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
585 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
586 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
587
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
588 if( cmhPrm[srcId].ssCmdPrm.mltyTrnFlg NEQ 0 )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
589
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
590 return( AT_BUSY );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
591
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
592 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
593 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
594 * check parameter <class>
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
595 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
596 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
597 if( !cmhSS_CheckClassInterr(class_type) )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
598 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
599 ACI_ERR_DESC( ACI_ERR_CLASS_Ext, EXT_ERR_Parameter );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
600 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
601 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
602
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
603 /* SIM TOOLKIT & FDN HANDLING */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
604 retVal = cmhSS_CW_SAT_Handle( srcId, CCFC_MOD_Query, class_type);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
605
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
606 if( retVal NEQ AT_CMPL )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
607 return( retVal );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
608
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
609 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
610 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
611 * get a new service table entry to interrogate SS
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
612 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
613 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
614 sId = psaSS_stbNewEntry();
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
615
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
616 if( sId EQ NO_ENTRY )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
617 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
618 ACI_ERR_DESC( ACI_ERR_CLASS_Ext, EXT_ERR_SrvTabFull );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
619 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
620 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
621
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
622 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
623 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
624 * start first transaction
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
625 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
626 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
627 CCD_START;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
628
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
629 psaSS_asmInterrogateSS( SS_CD_CW, SS_NO_PRM, SS_NO_PRM );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
630
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
631 ssShrdPrm.stb[sId].ntryUsdFlg = TRUE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
632 ssShrdPrm.stb[sId].ssCode = SS_CD_CW;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
633 ssShrdPrm.stb[sId].srvOwn = (T_OWN)srcId;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
634 ssShrdPrm.stb[sId].ClassType = class_type;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
635
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
636 ssShrdPrm.stb[sId].curCmd = AT_CMD_CCWA;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
637 cmhSS_flagTrn( sId, &(cmhPrm[srcId].ssCmdPrm.mltyTrnFlg));
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
638 psaSS_NewTrns(sId);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
639
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
640 CCD_END;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
641
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
642 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
643 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
644 * log command execution
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
645 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
646 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
647 #if defined SMI OR defined MFW OR defined FF_MMI_RIV
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
648 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
649 T_ACI_CLOG cmdLog; /* holds logging info */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
650
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
651 cmdLog.atCmd = AT_CMD_CCWA;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
652 cmdLog.cmdType = CLOG_TYPE_Query;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
653 cmdLog.retCode = AT_EXCT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
654 cmdLog.cId = ACI_NumParmNotPresent;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
655 cmdLog.sId = sId+1;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
656 cmdLog.cmdPrm.qCCWA.srcId = srcId;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
657 cmdLog.cmdPrm.qCCWA.class_type = class_type;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
658
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
659 rAT_PercentCLOG( &cmdLog );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
660 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
661 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
662
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
663 return( AT_EXCT );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
664 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
665
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
666 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
667 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
668 | PROJECT : GSM-PS (6147) MODULE : CMH_SSQ |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
669 | STATE : code ROUTINE : qAT_PlusCLIP |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
670 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
671
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
672 PURPOSE : This is the functional counterpart to the +CLIP AT command
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
673 which is responsible to query the setting for calling
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
674 line indication supplementary services.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
675
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
676 <stat> : CLIP status.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
677 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
678
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
679 GLOBAL T_ACI_RETURN qAT_PlusCLIP ( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
680 T_ACI_CLIP_STAT * stat)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
681 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
682 /* Implements Measure 193 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
683 TRACE_FUNCTION ("qAT_PlusCLIP ()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
684 return (cmhSS_queryHandler (srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
685 (void*)stat,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
686 AT_CMD_CLIP,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
687 SS_CD_CLIP) );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
688 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
689
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
690 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
691 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
692 | PROJECT : GSM-PS (6147) MODULE : CMH_SSQ |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
693 | STATE : code ROUTINE : qAT_PlusCLIR |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
694 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
695
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
696 PURPOSE : This is the functional counterpart to the +CLIR AT command
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
697 which is responsible to query the setting for calling
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
698 line restriction supplementary services.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
699
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
700 <mode> : CLIR mode.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
701 <stat> : CLIR status.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
702 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
703
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
704 GLOBAL T_ACI_RETURN qAT_PlusCLIR ( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
705 T_ACI_CLIR_MOD * mode,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
706 T_ACI_CLIR_STAT * stat)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
707 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
708 SHORT sId; /* holds service id */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
709
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
710 T_ACI_RETURN retVal;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
711
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
712 TRACE_FUNCTION ("qAT_PlusCLIR ()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
713
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
714 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
715 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
716 * check command source
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
717 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
718 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
719 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
720 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
721 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
722 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
723
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
724 /* SIM TOOLKIT & FDN HANDLING */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
725 retVal = cmhSS_CLIR_SAT_Handle( srcId);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
726
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
727 if( retVal NEQ AT_CMPL )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
728 return( retVal );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
729
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
730
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
731 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
732 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
733 * get a new service table entry to interrogate SS
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
734 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
735 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
736 sId = psaSS_stbNewEntry();
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
737
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
738 if( sId EQ NO_ENTRY )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
739 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
740 ACI_ERR_DESC( ACI_ERR_CLASS_Ext, EXT_ERR_SrvTabFull );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
741 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
742 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
743
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
744 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
745 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
746 * set up facility information element
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
747 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
748 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
749 CCD_START;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
750
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
751 psaSS_asmInterrogateSS( SS_CD_CLIR, SS_NO_PRM, SS_NO_PRM );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
752 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
753 *-----------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
754 * declare service table entry as used and the owner of the service
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
755 *-----------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
756 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
757 ssShrdPrm.stb[sId].ntryUsdFlg = TRUE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
758 ssShrdPrm.stb[sId].srvOwn = (T_OWN)srcId;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
759
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
760 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
761 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
762 * start a new transaction
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
763 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
764 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
765 ssShrdPrm.stb[sId].curCmd = AT_CMD_CLIR;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
766 psaSS_NewTrns(sId);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
767
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
768 CCD_END;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
769
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
770 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
771 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
772 * log command execution
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
773 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
774 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
775 #if defined SMI OR defined MFW OR defined FF_MMI_RIV
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
776 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
777 T_ACI_CLOG cmdLog; /* holds logging info */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
778
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
779 cmdLog.atCmd = AT_CMD_CLIR;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
780 cmdLog.cmdType = CLOG_TYPE_Query;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
781 cmdLog.retCode = AT_EXCT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
782 cmdLog.cId = ACI_NumParmNotPresent;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
783 cmdLog.sId = sId+1;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
784 cmdLog.cmdPrm.qCLIR.srcId = srcId;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
785 cmdLog.cmdPrm.qCLIR.stat = stat;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
786 cmdLog.cmdPrm.qCLIR.mode = mode;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
787 rAT_PercentCLOG( &cmdLog );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
788 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
789 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
790
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
791 return( AT_EXCT );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
792 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
793
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
794
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
795 GLOBAL T_ACI_RETURN qAT_PercentCLIR ( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
796 T_ACI_CLIR_MOD * mode)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
797 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
798 T_CC_CMD_PRM *pCCCmdPrm; /* points to CC command parameters */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
799 TRACE_FUNCTION ("qAT_PercentCLIR ()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
800
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
801 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
802 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
803 * check command source
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
804 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
805 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
806 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
807 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
808 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
809 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
810
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
811 pCCCmdPrm = &cmhPrm[srcId].ccCmdPrm;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
812 *mode = pCCCmdPrm->CLIRmode;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
813
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
814 return AT_CMPL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
815 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
816
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
817 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
818 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
819 | PROJECT : GSM-PS (6147) MODULE : CMH_SSQ |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
820 | STATE : code ROUTINE : qAT_PlusCOLP |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
821 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
822
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
823 PURPOSE : This is the functional counterpart to the +COLP AT command
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
824 which is responsible to query the setting for connected
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
825 line presentation supplementary services.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
826
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
827 <stat> : COLP status.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
828 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
829
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
830 GLOBAL T_ACI_RETURN qAT_PlusCOLP ( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
831 T_ACI_COLP_STAT * stat)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
832 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
833 /* Implements Measure 193 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
834 TRACE_FUNCTION ("qAT_PercentCOLP ()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
835 return (cmhSS_queryHandler (srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
836 (void*)stat,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
837 AT_CMD_COLP,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
838 SS_CD_COLP) );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
839 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
840
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
841 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
842 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
843 | PROJECT : GSM-PS (6147) MODULE : CMH_SSQ |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
844 | STATE : code ROUTINE : qAT_PercentCOLR |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
845 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
846
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
847 PURPOSE : This is the functional counterpart to the %COLR AT command
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
848 which is responsible to query the setting for connected
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
849 line restriction supplementary services.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
850
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
851 <stat> : COLR status.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
852 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
853
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
854 GLOBAL T_ACI_RETURN qAT_PercentCOLR ( T_ACI_CMD_SRC srcId )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
855 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
856 /* Implements Measure 193 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
857 TRACE_FUNCTION ("qAT_PercentCOLR ()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
858 return (cmhSS_queryHandler (srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
859 NULL,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
860 AT_CMD_COLR,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
861 SS_CD_COLR));
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
862 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
863
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
864 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
865 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
866 | PROJECT : GSM-PS (6147) MODULE : CMH_SSQ |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
867 | STATE : code ROUTINE : qAT_PercentCCBS |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
868 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
869
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
870 PURPOSE : This is the functional counterpart to the %CCBS AT command
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
871 which is responsible to query the setting for connected
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
872 line restriction supplementary services.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
873
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
874 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
875
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
876 GLOBAL T_ACI_RETURN qAT_PercentCCBS ( T_ACI_CMD_SRC srcId )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
877 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
878 SHORT sId; /* holds service id */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
879
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
880 T_ACI_RETURN retVal;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
881
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
882
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
883 TRACE_FUNCTION ("qAT_PercentCCBS ()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
884
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
885 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
886 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
887 * check command source
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
888 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
889 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
890 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
891 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
892 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
893 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
894
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
895 /* SIM TOOLKIT & FDN HANDLING */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
896 retVal = cmhSS_CCBS_SAT_Handle( srcId, CCBS_MOD_Query, -1);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
897
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
898 if( retVal NEQ AT_CMPL )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
899 return( retVal );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
900
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
901
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
902
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
903 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
904 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
905 * get a new service table entry to interrogate SS
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
906 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
907 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
908 sId = psaSS_stbNewEntry();
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
909
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
910 if( sId EQ NO_ENTRY )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
911 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
912 ACI_ERR_DESC( ACI_ERR_CLASS_Ext, EXT_ERR_SrvTabFull );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
913 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
914 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
915
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
916 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
917 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
918 * set up facility information element
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
919 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
920 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
921 CCD_START;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
922
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
923 psaSS_asmInterrogateSS( SS_CD_CCBS, SS_NO_PRM, SS_NO_PRM );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
924 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
925 *-----------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
926 * declare service table entry as used and the owner of the service
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
927 *-----------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
928 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
929 ssShrdPrm.stb[sId].ntryUsdFlg = TRUE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
930 ssShrdPrm.stb[sId].srvOwn = (T_OWN)srcId;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
931
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
932 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
933 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
934 * start a new transaction
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
935 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
936 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
937 ssShrdPrm.stb[sId].curCmd = AT_CMD_CCBS;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
938 psaSS_NewTrns(sId);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
939
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
940 CCD_END;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
941
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
942 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
943 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
944 * log command execution
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
945 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
946 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
947 #if defined SMI OR defined MFW OR defined FF_MMI_RIV
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
948 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
949 T_ACI_CLOG cmdLog; /* holds logging info */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
950
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
951 cmdLog.atCmd = AT_CMD_CCBS;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
952 cmdLog.cmdType = CLOG_TYPE_Query;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
953 cmdLog.retCode = AT_EXCT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
954 cmdLog.cId = ACI_NumParmNotPresent;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
955 cmdLog.sId = sId+1;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
956 cmdLog.cmdPrm.qCCBS.srcId = srcId;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
957
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
958 rAT_PercentCLOG( &cmdLog );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
959 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
960 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
961
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
962 return( AT_EXCT );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
963 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
964
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
965 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
966 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
967 | PROJECT : GSM-PS (6147) MODULE : CMH_SSQ |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
968 | STATE : code ROUTINE : qAT_PercentCNAP |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
969 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
970
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
971 PURPOSE : This is the functional counterpart to the %CNAP AT command
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
972 which is responsible to query the setting for calling
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
973 name presentation supplementary services.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
974
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
975 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
976
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
977 GLOBAL T_ACI_RETURN qAT_PercentCNAP ( T_ACI_CMD_SRC srcId )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
978 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
979 /* Implements Measure 193 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
980 TRACE_FUNCTION ("qAT_PercentCNAP ()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
981 return (cmhSS_queryHandler (srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
982 NULL,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
983 AT_CMD_CNAP,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
984 SS_CD_CNAP) );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
985 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
986
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
987
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
988 #ifdef TI_PS_FF_AT_P_CMD_CSCN
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
989 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
990 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
991 | PROJECT : GSM-PS (6147) MODULE : CMH_SSQ |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
992 | STATE : code ROUTINE : qAT_PercentCSCN |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
993 +--------------------------------------------------------------------+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
994
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
995 PURPOSE : This is the functional counterpart to the %CSCN AT command
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
996 which is responsible to query the settings.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
997
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
998 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
999 GLOBAL T_ACI_RETURN qAT_PercentCSCN ( T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1000 T_ACI_SS_CSCN_MOD_STATE *ss_switch,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1001 T_ACI_SS_CSCN_MOD_DIRECTION *ss_direction,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1002 T_ACI_CC_CSCN_MOD_STATE *cc_switch,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1003 T_ACI_CC_CSCN_MOD_DIRECTION *cc_direction )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1004 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1005 TRACE_FUNCTION ("qAT_PercentCSCN ()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1006
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1007 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1008 { /* check command source */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1009 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1010 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1011
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1012 *ss_switch = cmhPrm[srcId].ssCmdPrm.CSCNss_mode.SsCSCNModeState;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1013 *ss_direction = cmhPrm[srcId].ssCmdPrm.CSCNss_mode.SsCSCNModeDirection;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1014 *cc_switch = cmhPrm[srcId].ccCmdPrm.CSCNcc_mode.CcCSCNModeState;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1015 *cc_direction = cmhPrm[srcId].ccCmdPrm.CSCNcc_mode.CcCSCNModeDirection;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1016
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1017 return( AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1018 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1019 #endif /* TI_PS_FF_AT_P_CMD_CSCN */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1020
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1021 #ifdef SIM_PERS
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1022 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1023 +===========================================================+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1024 | PROJECT : GSM-PS (6147) MODULE : CMH_SSQ |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1025 | STATE : code ROUTINE : qAT_PercentMEPD |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1026 | |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1027 |This is the functional counterpart to the %MEPD AT command |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1028 |which is responsible to query MEPD Configuration Data. |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1029 +===========================================================+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1030 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1031
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1032
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1033
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1034 GLOBAL T_ACI_RETURN qAT_PercentMEPD( T_ACI_CMD_SRC srcId, T_SUP_INFO *sup_info)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1035 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1036 T_OPER_RET_STATUS rlockstatus;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1037
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1038 TRACE_FUNCTION ("qAT_ PercentMEPD()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1039
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1040 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1041 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1042 * check command source
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1043 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1044 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1045 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1046 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1047 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1048 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1049 rlockstatus=aci_slock_sup_info(sup_info);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1050
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1051 if (rlockstatus EQ OPER_SUCCESS)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1052 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1053 return (AT_CMPL);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1054 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1055 else if (rlockstatus EQ OPER_FAIL)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1056 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1057 ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_Unknown);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1058 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1059 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1060 return( AT_EXCT );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1061 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1062 #endif /* SIM_PERS */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1063
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1064
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1065
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1066
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1067 /* Implements Measure 193 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1068 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1069 +=============================================================+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1070 | PROJECT : GSM-PS (6147) MODULE : CMH_SSQ |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1071 | STATE : code ROUTINE : cmhSS_queryHandler |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1072 | PARAMETERS : srcId - Source of AT Command |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1073 | stat - CLIP or COLP provisioning status |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1074 | atCmd - AT Command sent for querying |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1075 | ssCode - Supplementary service code |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1076 | RETURN : Query status |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1077 |This contains common code for handling CLIP, COLP, COLR, CNAP|
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1078 +=============================================================+
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1079 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1080 LOCAL T_ACI_RETURN cmhSS_queryHandler (T_ACI_CMD_SRC srcId,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1081 void *stat,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1082 T_ACI_AT_CMD atCmd,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1083 UBYTE ssCode)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1084 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1085 SHORT sId; /* holds service id */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1086
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1087 T_ACI_RETURN retVal = AT_FAIL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1088
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1089 TRACE_FUNCTION ("cmhSS_queryHandler ()");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1090
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1091 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1092 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1093 * check command source
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1094 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1095 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1096 if(!cmh_IsVldCmdSrc (srcId))
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1097 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1098 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1099 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1100
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1101 /* SIM TOOLKIT & FDN HANDLING */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1102 switch(atCmd)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1103 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1104 case AT_CMD_CLIP:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1105 retVal = cmhSS_CLIP_SAT_Handle(srcId);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1106 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1107 case AT_CMD_COLP:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1108 retVal = cmhSS_COLP_SAT_Handle(srcId);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1109 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1110 case AT_CMD_COLR:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1111 retVal = cmhSS_COLR_SAT_Handle(srcId);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1112 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1113 case AT_CMD_CNAP:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1114 retVal = cmhSS_CNAP_SAT_Handle(srcId);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1115 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1116 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1117
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1118 if( retVal NEQ AT_CMPL )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1119 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1120 return( retVal );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1121 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1122 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1123 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1124 * get a new service table entry to interrogate SS
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1125 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1126 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1127 sId = psaSS_stbNewEntry();
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1128
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1129 if( sId EQ NO_ENTRY )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1130 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1131 ACI_ERR_DESC( ACI_ERR_CLASS_Ext, EXT_ERR_SrvTabFull );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1132 return( AT_FAIL );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1133 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1134
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1135 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1136 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1137 * set up facility information element
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1138 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1139 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1140 CCD_START;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1141
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1142 psaSS_asmInterrogateSS( ssCode, SS_NO_PRM, SS_NO_PRM );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1143 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1144 *-----------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1145 * declare service table entry as used and the owner of the service
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1146 *-----------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1147 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1148 ssShrdPrm.stb[sId].ntryUsdFlg = TRUE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1149 ssShrdPrm.stb[sId].srvOwn = (T_OWN)srcId;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1150
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1151 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1152 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1153 * start a new transaction
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1154 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1155 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1156 ssShrdPrm.stb[sId].curCmd = atCmd;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1157 psaSS_NewTrns(sId);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1158
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1159 CCD_END;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1160
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1161 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1162 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1163 * log command execution
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1164 *-------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1165 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1166 #if defined SMI OR defined MFW OR defined FF_MMI_RIV
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1167 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1168 T_ACI_CLOG cmdLog; /* holds logging info */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1169
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1170 cmdLog.atCmd = atCmd;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1171 cmdLog.cmdType = CLOG_TYPE_Query;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1172 cmdLog.retCode = AT_EXCT;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1173 cmdLog.cId = ACI_NumParmNotPresent;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1174 cmdLog.sId = sId+1;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1175 switch(atCmd)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1176 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1177 case AT_CMD_CLIP:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1178 cmdLog.cmdPrm.qCLIP.srcId = srcId;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1179 cmdLog.cmdPrm.qCLIP.stat = (T_ACI_CLIP_STAT *)stat;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1180 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1181 case AT_CMD_COLP:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1182 cmdLog.cmdPrm.qCOLP.srcId = srcId;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1183 cmdLog.cmdPrm.qCOLP.stat = (T_ACI_COLP_STAT *)stat;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1184 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1185 default:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1186 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1187 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1188
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1189 rAT_PercentCLOG( &cmdLog );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1190 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1191 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1192
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1193 return( AT_EXCT );
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1194 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1195
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1196 /*==== EOF ========================================================*/
|