FreeCalypso > hg > tcs211-l1-reconst
comparison g23m/condat/ms/src/aci/cmh.h @ 0:509db1a7b7b8
initial import: leo2moko-r1
author | Space Falcon <falcon@ivan.Harhan.ORG> |
---|---|
date | Mon, 01 Jun 2015 03:24:05 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:509db1a7b7b8 |
---|---|
1 /* | |
2 +----------------------------------------------------------------------------- | |
3 | Project : GSM-F&D (8411) | |
4 | Modul : CMH | |
5 +----------------------------------------------------------------------------- | |
6 | Copyright 2002 Texas Instruments Berlin, AG | |
7 | All rights reserved. | |
8 | | |
9 | This file is confidential and a trade secret of Texas | |
10 | Instruments Berlin, AG | |
11 | The receipt of or possession of this file does not convey | |
12 | any rights to reproduce or disclose its contents or to | |
13 | manufacture, use, or sell anything it may describe, in | |
14 | whole, or in part, without the specific written consent of | |
15 | Texas Instruments Berlin, AG. | |
16 +----------------------------------------------------------------------------- | |
17 | Purpose : Definitions for the AT Command Handler | |
18 +----------------------------------------------------------------------------- | |
19 */ | |
20 | |
21 #ifndef CMH_H | |
22 #define CMH_H | |
23 | |
24 | |
25 /*==== CONSTANTS ==================================================*/ | |
26 typedef enum | |
27 { | |
28 RAT_OK = 0, | |
29 RAT_CONNECT, | |
30 RAT_CME, | |
31 RAT_NO_CARRIER, | |
32 RAT_CRING, | |
33 RAT_DR, | |
34 RAT_CR, | |
35 RAT_CPIN, | |
36 RAT_COPS, | |
37 RAT_CREG, | |
38 RAT_CCWA, | |
39 RAT_CLIP, | |
40 RAT_CDIP, | |
41 RAT_COLP, | |
42 RAT_CRING_OFF, | |
43 | |
44 #ifdef FF_FAX | |
45 RAT_FCO, | |
46 RAT_FIS, | |
47 RAT_FTI, | |
48 RAT_FCS, | |
49 RAT_FCI, | |
50 #endif | |
51 | |
52 RAT_CMS, | |
53 RAT_CSMS, | |
54 RAT_CMGS, | |
55 RAT_CMSS, | |
56 RAT_CMGW, | |
57 RAT_CDS, | |
58 RAT_CMGC, | |
59 RAT_CMGD, | |
60 RAT_CMGR, | |
61 RAT_CMGL, | |
62 RAT_CMTI, | |
63 RAT_CMT, | |
64 RAT_CBM, | |
65 RAT_CPMS, | |
66 | |
67 #ifdef FF_FAX | |
68 RAT_FHT, | |
69 RAT_FHR, | |
70 RAT_FSA, | |
71 RAT_FPA, | |
72 RAT_FPW, | |
73 RAT_FET, | |
74 RAT_FVO, | |
75 RAT_FPO, | |
76 RAT_FPI, | |
77 RAT_FNF, | |
78 RAT_FNS, | |
79 RAT_FNC, | |
80 RAT_FHS, | |
81 RAT_FPS, | |
82 RAT_FTC, | |
83 #endif | |
84 | |
85 RAT_ILRR, | |
86 RAT_BUSY, | |
87 RAT_NO_ANSWER, | |
88 RAT_SIMREM, | |
89 RAT_CLIR, | |
90 RAT_COLR, | |
91 RAT_CSSI, | |
92 RAT_CSSU, | |
93 RAT_CUSD, | |
94 RAT_CCFC, | |
95 RAT_CLCK, | |
96 RAT_CIMI, | |
97 RAT_SATI, | |
98 RAT_SATE, | |
99 RAT_KSIR, | |
100 RAT_CPI, | |
101 RAT_CTYI, | |
102 RAT_CNUM, | |
103 RAT_CPOL, | |
104 RAT_CCCM, | |
105 RAT_CTV, | |
106 RAT_SATN, | |
107 RAT_SATA, | |
108 RAT_SMS_READY, | |
109 RAT_PHB_STATUS, | |
110 RAT_SIMINS, | |
111 RAT_CRSM, | |
112 RAT_CSIM, | |
113 RAT_CCBS, | |
114 RAT_CCWV, | |
115 RAT_CNAP, | |
116 RAT_SIG_SMS, | |
117 RAT_CLAN, | |
118 RAT_CLAE, | |
119 RAT_CSQ, | |
120 RAT_ALS, | |
121 RAT_CTZV, | |
122 RAT_P_CREG, | |
123 | |
124 #ifdef GPRS | |
125 RAT_CGACT, | |
126 RAT_CGDATA, | |
127 RAT_CGANS, | |
128 RAT_CGEREP, | |
129 RAT_CGREG, | |
130 RAT_QOS_MOD, | |
131 RAT_SNCNT, | |
132 RAT_P_CGREG, | |
133 RAT_P_CGEV, | |
134 #endif /* GPRS */ | |
135 | |
136 #ifdef FF_EM_MODE | |
137 RAT_EM, | |
138 RAT_EMET, | |
139 RAT_EMETS, | |
140 #endif /* FF_EM_MODE */ | |
141 | |
142 #ifdef FF_CPHS | |
143 RAT_CPNUMS, | |
144 RAT_CPVWI, | |
145 RAT_CPROAM, | |
146 #endif /* FF_CPHS */ | |
147 | |
148 RAT_CIEV, | |
149 RAT_RDL, | |
150 RAT_RDLB, | |
151 RAT_CCCN, | |
152 RAT_CSSN, | |
153 | |
154 RAT_CSTAT, | |
155 RAT_Z, | |
156 RAT_CPRSM, | |
157 RAT_P_CTZV, | |
158 RAT_P_CPRI, | |
159 RAT_P_SIMEF, | |
160 RAT_P_CNIV, | |
161 RAT_P_COPS, | |
162 RAT_P_CMGR, | |
163 RAT_P_CMGL, | |
164 RAT_MAX | |
165 | |
166 } RAT_ID; | |
167 | |
168 /*==== TYPES ======================================================*/ | |
169 typedef struct entStatus /* entity status */ | |
170 { | |
171 T_ACI_CMD_SRC entOwn; /* entity owner */ | |
172 T_ACI_AT_CMD curCmd; /* current command processing */ | |
173 } T_ENT_STAT; | |
174 | |
175 typedef struct mmCmdPrm /* command parameters related to MM */ | |
176 { | |
177 T_ACI_COPS_FRMT COPSfrmt; | |
178 T_ACI_NRG_RGMD NRGregMode; | |
179 T_ACI_NRG_SVMD NRGsrvMode; | |
180 T_ACI_NRG_FRMT NRGoprFrmt; | |
181 T_ACI_CSQ_MODE CSQworkStat; | |
182 T_ACI_CTZR_MODE CTZRMode; | |
183 T_ACI_CTZU_MODE CTZUMode; | |
184 T_ACI_PCTZV_MODE PCTZVMode; | |
185 T_ACI_CNIV_MODE CNIVMode; | |
186 T_ACI_IND_MODE sIndicationParam; | |
187 } T_MM_CMD_PRM; | |
188 | |
189 typedef struct ccCmdPrm /* command parameters related to CC */ | |
190 { | |
191 T_ACI_CLIR_MOD CLIRmode; | |
192 T_ACI_DCD_MOD DCDmode; | |
193 T_ACI_TOA CSTAtoa; | |
194 BOOL CSTAdef; | |
195 T_ACI_CHLD_MOD CHLDmode; | |
196 T_ACI_CCUG_IDX CCUGidx; | |
197 T_ACI_CCUG_INFO CCUGinfo; | |
198 T_ACI_CCUG_MOD CCUGmode; | |
199 USHORT mltyCncFlg; | |
200 USHORT mltyDscFlg; | |
201 T_ACI_ALS_MOD ALSmode; /* mode for Alternate Line Service */ | |
202 T_ACI_CTTY_MOD CTTYmode; /* TTY Service notification */ | |
203 T_ACI_CC_CSCN_MOD CSCNcc_mode; | |
204 } T_CC_CMD_PRM; | |
205 | |
206 typedef struct simCmdPrm /* command parameters related to SIM */ | |
207 { | |
208 UBYTE CNUMActRec; | |
209 UBYTE CNUMOutput; | |
210 T_ACI_CPOL_FRMT CPOLfrmt; | |
211 UBYTE CPOLact; | |
212 UBYTE CPOLidx; | |
213 UBYTE CPOLidx2; | |
214 T_ACI_CPOL_MOD CPOLmode; | |
215 UBYTE CPOLplmn[3]; | |
216 UBYTE CLANact; | |
217 } T_SIM_CMD_PRM; | |
218 | |
219 typedef struct ssCmdPrm /* command parameters related to SS */ | |
220 { | |
221 UBYTE CXXXpwd[MAX_PWD_NUM+1]; | |
222 UBYTE CXXXnewPwd[MAX_PWD_NUM+1]; | |
223 UBYTE CXXXnewPwd2[MAX_PWD_NUM+1]; | |
224 USHORT mltyTrnFlg; | |
225 T_ACI_SS_CSCN_MOD CSCNss_mode; | |
226 } T_SS_CMD_PRM; | |
227 | |
228 typedef struct phbCmdPrm /* command parameters related to PHB */ | |
229 { | |
230 T_ACI_PB_STOR cmhStor; | |
231 UBYTE phbStor; /* T_PHB_TYPE */ | |
232 USHORT order_num; /* Next matching entry, 0 if none */ | |
233 SHORT fndRec; | |
234 UBYTE wrtRec; | |
235 T_ACI_CSVM_MOD CSVMmode; | |
236 T_ACI_CLAE_MOD CLAEmode; | |
237 UBYTE curCmd; | |
238 UBYTE temp_cmhStor; /* These data types are used to hold */ | |
239 UBYTE temp_phbStor; /* the phone book storage types temprorily, in | |
240 case of SIM PIN-2 verification. These values | |
241 are assigned to the actual storage fileds | |
242 when SIM PIN-2 verification confirmation | |
243 comes without any ERROR. */ | |
244 } T_PHB_CMD_PRM; | |
245 | |
246 /* Fax and data related command parameters have been moved to a specific | |
247 structure in cmh_ra.h */ | |
248 typedef struct cmhCmdPrm /* handler command parameter */ | |
249 { | |
250 T_MM_CMD_PRM mmCmdPrm; | |
251 T_CC_CMD_PRM ccCmdPrm; | |
252 T_SIM_CMD_PRM simCmdPrm; | |
253 T_SS_CMD_PRM ssCmdPrm; | |
254 T_PHB_CMD_PRM phbCmdPrm; | |
255 | |
256 } T_CMH_PRM; | |
257 | |
258 /*==== PROTOTYPES =================================================*/ | |
259 EXTERN void cmh_Init ( void ); | |
260 EXTERN void cmh_Reset ( T_ACI_CMD_SRC srcId, BOOL atz ); | |
261 EXTERN BOOL cmh_IsVldCmdSrc ( T_ACI_CMD_SRC cmdSrc ); | |
262 EXTERN UBYTE cmh_mergeTOA ( UBYTE ton, UBYTE npi ); | |
263 EXTERN UBYTE cmh_mergeTOS ( UBYTE tos, UBYTE oe ); | |
264 EXTERN void cmh_demergeTOA ( UBYTE toa, UBYTE* ton, UBYTE* npi ); | |
265 EXTERN void cmh_demergeTOS ( UBYTE tosa, UBYTE* tos, UBYTE* oe ); | |
266 EXTERN CHAR* cmh_setToaDef ( CHAR* number, T_ACI_TOA *toa ); | |
267 EXTERN USHORT cmh_packBCD ( UBYTE *bcd_out, const UBYTE *char_in, | |
268 USHORT len_in); | |
269 EXTERN USHORT cmh_unpackBCD ( UBYTE *char_out, const UBYTE *bcd_in, | |
270 USHORT len_in); | |
271 EXTERN void cmh_unpackSCTS ( T_ACI_VP_ABS *scts, | |
272 const UBYTE *buf_in ); | |
273 EXTERN void cmh_logRslt ( T_ACI_CMD_SRC dest, RAT_ID rat, | |
274 T_ACI_AT_CMD cmd, SHORT cId, | |
275 T_ACI_BS_SPEED spd, T_ACI_CME_ERR err ); | |
276 EXTERN void cmh_cvtToDefGsm ( CHAR* in, | |
277 CHAR* out, | |
278 USHORT* len ); | |
279 EXTERN void cmh_cvtFromDefGsm ( CHAR* in, | |
280 USHORT len, | |
281 CHAR* out ); | |
282 EXTERN UBYTE cmh_set_delayed_call( UCHAR (*call) (void*), void* arg ); | |
283 EXTERN UBYTE cmh_start_delayed_call ( ULONG ms ); | |
284 EXTERN UBYTE cmh_timeout ( USHORT handle ); | |
285 EXTERN SHORT cmh_bldCalPrms ( char * pDialStr, T_CLPTY_PRM * calPrm ); | |
286 EXTERN UBYTE qAT_CallActive ( void ); | |
287 EXTERN void cmhSMS_disableAccess ( void ); | |
288 EXTERN T_ACI_RETURN cmhSIM_ReadTranspEF ( T_ACI_CMD_SRC srcId, | |
289 T_ACI_AT_CMD cmd, | |
290 USHORT datafield, | |
291 USHORT offset, | |
292 UBYTE explen, | |
293 UBYTE * exchData, | |
294 void (*rplyCB)(SHORT)); | |
295 EXTERN T_ACI_RETURN cmhSIM_WriteTranspEF (T_ACI_CMD_SRC srcId, | |
296 T_ACI_AT_CMD cmd, | |
297 USHORT datafield, | |
298 USHORT offset, | |
299 UBYTE datalen, | |
300 UBYTE * exchData, | |
301 void (*rplyCB)(SHORT)); | |
302 #ifdef GPRS | |
303 GLOBAL void cp_pdp_primitive(T_SMREG_PDP_ACTIVATE_CNF * pdp_activate_cnf, | |
304 T_PPP_PDP_ACTIVATE_RES *activate_result); | |
305 #endif | |
306 GLOBAL T_ACI_RETURN cmhSIM_WriteRecordEF (T_ACI_CMD_SRC srcId, | |
307 T_ACI_AT_CMD cmd, | |
308 USHORT datafield, | |
309 UBYTE record, | |
310 UBYTE datalen, | |
311 UBYTE * exchData, | |
312 void (*rplyCB)(SHORT)); | |
313 GLOBAL T_ACI_RETURN cmhSIM_ReadRecordEF ( T_ACI_CMD_SRC srcId, | |
314 T_ACI_AT_CMD cmd, | |
315 USHORT datafield, | |
316 UBYTE record, | |
317 UBYTE explen, | |
318 UBYTE * exchData, | |
319 void (*rplyCB)(SHORT)); | |
320 GLOBAL T_ACI_RETURN cmhSMS_ReadParams (T_ACI_CMD_SRC srcId, | |
321 T_ACI_AT_CMD cmd, | |
322 SHORT recNr); | |
323 GLOBAL T_ACI_RETURN cmhSMS_WriteParams (T_ACI_CMD_SRC srcId, | |
324 T_ACI_AT_CMD cmd, | |
325 SHORT recNr); | |
326 GLOBAL T_ACI_RETURN cmhSIM_GetSIMError ( T_ACI_CMD_SRC srcBuf, | |
327 T_ACI_AT_CMD cmdBuf ); | |
328 GLOBAL T_ACI_RETURN cmhSIM_CheckSimPinStatus ( T_ACI_CMD_SRC srcBuf, | |
329 T_ACI_AT_CMD cmdBuf ); | |
330 GLOBAL T_ACI_RETURN cmhSIM_Read_AD ( ); | |
331 | |
332 EXTERN void percentCSTAT_indication(T_ACI_ENTITY_ID_MSG entityId, | |
333 T_ACI_ENTITY_STATE_MSG entityState); | |
334 | |
335 EXTERN void cmhSMS_ReadCbDtaDwnl ( T_SIM_MMI_INSERT_IND *sim_mmi_insert_ind ); | |
336 | |
337 GLOBAL void cmhSIM_Get_CSP(); | |
338 GLOBAL void cmhSIM_Read_CSP(); | |
339 #ifdef SIM_PERS | |
340 GLOBAL void cmhSIM_WriteDefaultValue_DCK(); | |
341 #endif | |
342 | |
343 | |
344 GLOBAL UBYTE cmhSIM_isplmnmodebit_set(); | |
345 | |
346 GLOBAL T_ACI_CMD_MODE aci_rat_cmd_mode(RAT_ID cmd,T_ACI_CMD_SRC src); | |
347 GLOBAL T_ACI_CMD_MODE aci_cmd_src_mode_get(T_ACI_CMD_SRC src_id); | |
348 GLOBAL void aci_cmd_src_mode_set(UBYTE src_id,T_ACI_CMD_MODE mode); | |
349 | |
350 /*==== MACROS =====================================================*/ | |
351 | |
352 EXTERN T_ACI_CMD_MODE _mode; | |
353 EXTERN UBYTE srcId_cb; | |
354 EXTERN USHORT used_sources; | |
355 | |
356 #define IS_SRC_USED(x) ((used_sources >> x) & 0x01) | |
357 #define IS_SRC_BT(x) ((used_sources >> (x + 8)) & 0x01) | |
358 | |
359 | |
360 /* we set the src id only when the src id NEQ local. Bec in ASC test we intentionally | |
361 set the src from TST to LCL for some purpose, but the srcId_cb should remain TST */ | |
362 #define R_AT(cmd,src)\ | |
363 _mode=aci_rat_cmd_mode(cmd,src);\ | |
364 if (src > CMD_SRC_LCL)\ | |
365 srcId_cb=(UBYTE)src;\ | |
366 if (_mode NEQ CMD_MODE_NONE AND RATJmpTbl[cmd][_mode])\ | |
367 RATJmpTbl[cmd][_mode] | |
368 | |
369 | |
370 #define ACI_ERR_DESC( errCls, errNr )\ | |
371 {aciErrDesc=(((errCls)<<16) | ((errNr)&0xFFFF));} | |
372 | |
373 /*==== EXPORT =====================================================*/ | |
374 #ifdef CMH_F_C | |
375 | |
376 GLOBAL T_CMH_PRM cmhPrm[OWN_MAX]; | |
377 GLOBAL T_ACI_ALS_MOD ALSlock = ALS_MOD_NOTPRESENT; | |
378 GLOBAL T_ACI_ERR_DESC aciErrDesc = -1; | |
379 | |
380 #else | |
381 | |
382 EXTERN T_CMH_PRM cmhPrm[OWN_MAX]; | |
383 EXTERN T_ACI_ALS_MOD ALSlock; | |
384 EXTERN T_ACI_ERR_DESC aciErrDesc; | |
385 | |
386 EXTERN const T_VOID_FUNC RATJmpTbl[RAT_MAX][CMD_MODE_MAX]; /* SMI/MFW & ATI */ | |
387 | |
388 #endif /* of #ifndef CMH_F_C */ | |
389 | |
390 #endif /* CMH_H */ | |
391 | |
392 /*==== EOF =======================================================*/ |