comparison src/g23m-aci/aci/gaci_cmh.h @ 162:53929b40109c

src/g23m-aci: initial import from TCS3.2/LoCosto
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 11 Oct 2016 02:02:43 +0000
parents
children
comparison
equal deleted inserted replaced
161:4557e2a9c18e 162:53929b40109c
1 /*
2 +-----------------------------------------------------------------------------
3 | Project :
4 | Modul :
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 : GPRS Command handler interface definitions.
18 +-----------------------------------------------------------------------------
19 */
20
21 #ifndef GACI_CMH_H
22 #define GACI_CMH_H
23
24
25 /*==== MACROS =====================================================*/
26 #define GPRS_EVENT_REPORTING_BUFFER_SIZE 10
27
28 /*==== DEFINES ====================================================*/
29 /* the maximum length of strings to describe the PDP typ, PDP address, APN and L2P */
30 #define MAX_PDP_TYPE_LEN 7
31 #define MAX_APN_LEN 103
32 #define MAX_DNS_LEN 15
33 #define MAX_USER_LEN 63 /* this is a common value for Routers etc... */
34 #define MAX_PSWD_LEN 63 /* Name is changed as the same name is used in MFW with different value */
35 #define MAX_PDP_ADDR_LEN 63 /* IPv6 address n01.n02..n16 (16 * 3 + 15) */
36 #if defined (FF_PKTIO) OR defined (FF_TCP_IP) || defined(FF_GPF_TCPIP) OR defined (FF_PSI)
37 #define MAX_L2P_LENGTH 6
38 #else /* FF_PKTIO || FF_TCP_IP || FF_GPF_TCPIP || FF_PSI */
39 #define MAX_L2P_LENGTH 4
40 #endif /* FF_PKTIO || FF_TCP_IP || FF_GPF_TCPIP OR FF_PSI */
41 #ifdef REL99
42 #define QOS_R99_TC_OMITTED 0xff
43 #define QOS_R99_ORDER_OMITTED 0xff
44 #define QOS_R99_DEL_ERR_SDU_OMITTED 0xff
45 #define QOS_R99_MAX_SDU_OMITTED 0xffff
46 #define QOS_R99_MAX_BR_UL_OMITTED 0xffff
47 #define QOS_R99_MAX_BR_DL_OMITTED 0xffff
48 #define QOS_R99_XFER_DELAY_OMITTED 0xffff
49 #define QOS_R99_HANDLING_PRIO_OMITTED 0xff
50 #define QOS_R99_GUAR_BR_UL_OMITTED 0xffff
51 #define QOS_R99_GUAR_BR_DL_OMITTED 0xffff
52 #define QOS_R99_RATIO_MANT_OMITTED 0xff
53 #define QOS_R99_RATIO_EXP_OMITTED 0xff
54 #endif /* REL99 */
55 #define PDP_CONTEXT_CID_OMITTED 0
56 #define PDP_CONTEXT_CID_MIN 1
57 #define PDP_CONTEXT_CID_MAX 11
58 #define PDP_CONTEXT_CID_INVALID (PDP_CONTEXT_CID_MAX + 1)
59 #define PDP_CONTEXT_TYPE_LEN_MAX 7
60 #define PDP_CONTEXT_APN_LEN_MAX 103 // ???
61 #define PDP_CONTEXT_ADDR_LEN_MAX 16
62
63 #define MAX_PDP_CONTEXT_TYPE_LEN 7
64 #define MAX_PDP_CONTEXT_APN_LEN 103
65 #define MAX_PDP_CONTEXT_ADDR_LEN 16
66 #define MAX_PDP_D_COMP_LEN 1
67 #define MAX_PDP_H_COMP_LEN 1
68
69 #define PDP_CONTEXT_QOS_OMITTED 0
70
71 #define TFT_PF_ID_MIN 1
72 #define TFT_PF_ID_MAX 4 /* Due to unclear definition in spec. it is decided to limit the max number of PF's to 4 instead of 8 */
73
74 #ifdef REL99
75 #define TFT_FLOW_LABEL_MIN 0x00000
76 #define TFT_FLOW_LABEL_MAX 0xfffff
77 #define TFT_FLOW_LABEL_INVALID -1
78 #define TFT_PROT_OR_NXT_HDR_MIN 0x00
79 #define TFT_PROT_OR_NXT_HDR_MAX 0xff
80 #define TFT_PROT_OR_NXT_HDR_INVALID -1
81 #define TFT_PRM_LIST_MAX_BYT_LEN 254 /* TFT IE: 257-IEI-IEL-mandatoryPrms */
82 #endif
83
84
85 typedef enum /* CGDCONT command d_comp */
86 {
87 GPRS_CID_OMITTED = 0, /* value is omitted */
88 GPRS_CID_1, /* PDP data compression off (default) */
89 GPRS_CID_2, /* PDP data compression on */
90 #if defined (FF_PKTIO) OR defined (FF_PSI)
91 GPRS_CID_3,
92 GPRS_CID_4,
93 GPRS_CID_5,
94 GPRS_CID_6,
95 #endif
96 GPRS_CID_INVALID /* invalid value */
97
98 } T_GPRS_CID;
99
100 #define INVALID_CID GPRS_CID_OMITTED
101
102 #if defined (FF_PKTIO) OR defined (FF_PSI)
103 #define MAX_CID GPRS_CID_6
104 #else
105 #define MAX_CID GPRS_CID_2
106 #endif
107
108 #define MAX_CID_PLUS_EINS GPRS_CID_INVALID
109
110 /*==== TYPES ======================================================*/
111
112 //typedef char T_PDP_ADDRESS [MAX_PDP_CONTEXT_ADDR_LEN];
113 //typedef T_NAS_ip T_PDP_ADDRESS ;
114 typedef char T_PDP_TYPE [MAX_PDP_CONTEXT_TYPE_LEN];
115 typedef char T_APN [MAX_APN_LEN];
116 typedef char T_L2P [MAX_L2P_LENGTH];
117
118 typedef struct
119 {
120 T_APN apn;
121 T_PDP_TYPE pdp_type;
122 T_NAS_ip pdp_addr;
123 SHORT d_comp;
124 SHORT h_comp;
125 T_PS_ctrl_qos ctrl_qos;
126 T_PS_qos qos;
127 T_PS_ctrl_min_qos ctrl_min_qos;
128 T_PS_min_qos min_qos;
129 } T_GPRS_CONT_REC;
130
131 /*---- Types of -----------------------------------------*/
132 typedef enum /* CGDCONT command d_comp */
133 {
134 CGDCONT_D_COMP_OMITTED = -1, /* value is omitted */
135 CGDCONT_D_COMP_OFF, /* PDP data compression off (default) */
136 CGDCONT_D_COMP_ON, /* PDP data compression on */
137 CGDCONT_D_COMP_INVALID /* invalid value */
138
139 } T_CGDCONT_D_COMP;
140
141 typedef enum /* CGDCONT command h_comp */
142 {
143 CGDCONT_H_COMP_OMITTED = -1, /* value is omitted */
144 CGDCONT_H_COMP_OFF, /* PDP header compression off (default) */
145 CGDCONT_H_COMP_ON, /* PDP header compression on */
146 CGDCONT_H_COMP_INVALID /* invalid value */
147
148 } T_CGDCONT_H_COMP;
149
150 typedef enum /* CGATT command state */
151 {
152 CGATT_STATE_OMITTED = -1, /* value is omitted */
153 CGATT_STATE_DETACHED, /* GPRS detached */
154 CGATT_STATE_ATTACHED, /* GPRS attached */
155 CGATT_STATE_INVALID /* invalid value */
156
157 } T_CGATT_STATE;
158
159 typedef enum /* CGACT command state */
160 {
161 CGACT_STATE_OMITTED = -1, /* value is omitted */
162 CGACT_STATE_DEACTIVATED, /* PDP context detached */
163 CGACT_STATE_ACTIVATED, /* PDP context attached */
164 CGACT_STATE_INVALID /* invalid value */
165
166 } T_CGACT_STATE;
167
168 typedef enum /* CGAUTO command n */
169 {
170 CGAUTO_N_OMITTED = -1, /* value is omitted */
171 CGAUTO_N_GPRS_RES_OFF, /* turn off automatic response for GPRS only */
172 CGAUTO_N_GPRS_RES_ON, /* turn on automatic response for GPRS only */
173 CGAUTO_N_MCM_GPRS_ONLY, /* modem compabitbility mode, GPRS only */
174 CGAUTO_N_MCM_GPRS_CSC, /* modem compabitbility mode, GPRS and circuit switched calls (default) */
175 CGAUTO_N_INVALID /* invalid value */
176
177 } T_CGAUTO_N;
178
179 typedef enum /* CGANS command response */
180 {
181 CGANS_RESPONSE_OMITTED = -1, /* value is omitted */
182 CGANS_RESPONSE_REJECT, /* reject the request */
183 CGANS_RESPONSE_ACCEPT, /* accept and request that the PDP context be activated */
184 CGANS_RESPONSE_INVALID /* invalid value */
185
186 } T_CGANS_RESPONSE;
187
188 typedef enum /* CGANS command response */
189 {
190 CGCLASS_CLASS_OMITTED = -1, /* value is omitted */
191 CGCLASS_CLASS_A, /* mobile class A (highest) */
192 CGCLASS_CLASS_B, /* mobile class B (if necessary consider NET III) */
193 CGCLASS_CLASS_CG, /* mobile class CG (GPRS only mode) */
194 CGCLASS_CLASS_CC, /* mobile class CC (circuit switched only mode - lowest) */
195 CGCLASS_CLASS_MAX /* invalid value */
196
197 } T_CGCLASS_CLASS;
198
199 typedef enum /* CGANS command response */
200 {
201 PERCENT_CGCLASS_OMITTED = -1, /* value is omitted */
202 PERCENT_CGCLASS_A, /* mobile class A (highest) */
203 PERCENT_CGCLASS_B, /* mobile class B */
204 PERCENT_CGCLASS_BG, /* mobile class BG */
205 PERCENT_CGCLASS_BC, /* mobile class BC */
206 PERCENT_CGCLASS_BX, /* mobile class BX */
207 PERCENT_CGCLASS_CG, /* mobile class CG (GPRS only mode) */
208 PERCENT_CGCLASS_CC, /* mobile class CC (circuit switched only mode - lowest) */
209 PERCENT_CGCLASS_MAX /* invalid value */
210
211 } T_PERCENT_CGCLASS;
212
213 typedef enum /* CGEREP command mode */
214 {
215 CGEREP_MODE_OMITTED = -1, /* value is omitted */
216 CGEREP_MODE_BUFFER, /* buffer unsolicited result codes */
217 CGEREP_MODE_DICARD_RESERVED, /* discard unsolicited result codes when MT-TE link is reserved */
218 CGEREP_MODE_BUFFER_RESERVED, /* buffer unsolicited result codes in the MT when MT-TE link is reserved */
219 CGEREP_MODE_INVALID /* invalid value */
220
221 } T_CGEREP_MODE;
222
223 typedef enum /* CGEREP command bfr */
224 {
225 CGEREP_BFR_OMITTED = -1, /* value is omitted */
226 CGEREP_BFR_CLEAR, /* buffer unsolicited result codes */
227 CGEREP_BFR_FLUSH, /* discard unsolicited result codes when MT-TE link is reserved */
228 CGEREP_BFR_INVALID /* invalid value */
229
230 } T_CGEREP_BFR;
231
232 typedef enum /* CGREG command read stat */
233 {
234 CGREG_STAT_NOT_PRESENT = -1, /* not present, last state is not indicated */
235 CGREG_STAT_NOT_REG, /* not registered, no searching */
236 CGREG_STAT_REG_HOME, /* registered, home network */
237 CGREG_STAT_SEARCHING, /* not registered, but searching */
238 CGREG_STAT_REG_DEN, /* registration denied */
239 CGREG_STAT_UNKN, /* unknown */
240 CGREG_STAT_REG_ROAM /* registered, roaming */
241
242 } T_CGREG_STAT;
243
244 typedef enum /* %CGREG command read stat */
245 {
246 P_CGREG_STAT_NOT_PRESENT = -1, /* not present, last state is not indicated */
247 P_CGREG_STAT_NOT_REG, /* not registered, no searching */
248 P_CGREG_STAT_REG_HOME, /* registered, home network */
249 P_CGREG_STAT_SEARCHING, /* not registered, but searching */
250 P_CGREG_STAT_REG_DEN, /* registration denied */
251 P_CGREG_STAT_UNKN, /* unknown */
252 P_CGREG_STAT_REG_ROAM, /* registered, roaming */
253 P_CGREG_STAT_LIMITED, /* limited service */
254 P_CGREG_STAT_GSM_CALL, /* GSM call is active */
255 P_CGREG_STAT_NO_CELL, /* no cell available */
256 P_CGREG_STAT_TRY_TO_UPDATE /* next attempt to update MS */
257
258 } T_P_CGREG_STAT;
259
260
261 typedef enum /* CGSMS command service */
262 {
263 CGSMS_SERVICE_OMITTED = -1, /* value is omitted */
264 CGSMS_SERVICE_GPRS, /* GPRS */
265 CGSMS_SERVICE_CS, /* circuit switched */
266 CGSMS_SERVICE_GPRS_PREFERRED, /* GPRS preferred */
267 CGSMS_SERVICE_CS_PREFERRED, /* circuit switched preferred */
268 CGSMS_SERVICE_INVALID /* invalid value */
269
270 } T_CGSMS_SERVICE;
271
272 typedef enum /* CGAATT command automatic attach mode */
273 {
274 CGAATT_ATTACH_MODE_OMITTED = -1, /* value is omitted */
275 CGAATT_ATTACH_MODE_AUTOMATIC, /* automatic attach */
276 CGAATT_ATTACH_MODE_MANUAL, /* manual attach */
277 CGAATT_ATTACH_MODE_INVALID /* invalid value */
278
279 } T_CGAATT_ATTACH_MODE;
280
281 typedef enum /* CGAATT command automatic detach after context deactivation */
282 {
283 CGAATT_DETACH_MODE_OMITTED = -1, /* value is omitted */
284 CGAATT_DETACH_MODE_ON, /* on */
285 CGAATT_DETACH_MODE_OFF, /* off */
286 CGAATT_DETACH_MODE_INVALID /* invalid value */
287
288 } T_CGAATT_DETACH_MODE;
289
290 /*---- Types for event reporting-----------------------------------*/
291
292 typedef enum /* Defined events for GPRS event reporting */
293 {
294 CGEREP_EVENT_INVALID = -1, /* reserved value */
295 CGEREP_EVENT_REJECT, /* network request context activation */
296 CGEREP_EVENT_NW_REACT, /* network requested context reactivation */
297 CGEREP_EVENT_NW_DEACT, /* network forced context deactivation */
298 CGEREP_EVENT_ME_DEACT, /* mobile equipment forced context deactivation */
299 CGEREP_EVENT_NW_DETACH, /* network forced detach */
300 CGEREP_EVENT_ME_DETACH, /* mobile equipment forced detach */
301 CGEREP_EVENT_NW_CLASS, /* network forced class change */
302 CGEREP_EVENT_ME_CLASS, /* mobile equipment forced class change */
303 CGEREP_EVENT_NW_ACT, /* network requested context activation */
304 CGEREP_EVENT_ME_ACT /* mobile equipment initiated context activation */
305 } T_CGEREP_EVENT;
306
307 typedef struct /* parameter of unsolicited event: REJECT */
308 {
309 T_PDP_TYPE pdp_type;
310 T_NAS_ip pdp_addr;
311
312 } T_EVENT_REJECT;
313
314 typedef struct /* parameter of unsolicited event: NW REACT, NW DEACT, ME DEACT */
315 {
316 T_PDP_TYPE pdp_type;
317 T_NAS_ip pdp_addr;
318 SHORT cid;
319
320 } T_EVENT_ACT;
321
322 typedef union
323 {
324 T_EVENT_REJECT reject;
325 T_EVENT_ACT act;
326 T_CGCLASS_CLASS mobile_class;
327
328 } T_CGEREP_EVENT_REP_PARAM;
329
330
331 typedef enum
332 {
333 PDP_CONTEXT_D_COMP_OFF = 0,
334 PDP_CONTEXT_D_COMP_INVALID = 3,
335 PDP_CONTEXT_D_COMP_OMITTED = 255
336 } T_PDP_CONTEXT_D_COMP;
337
338
339 typedef enum
340 {
341 PDP_CONTEXT_H_COMP_OFF = 0,
342 PDP_CONTEXT_H_COMP_INVALID = 3,
343 PDP_CONTEXT_H_COMP_OMITTED = 255
344 } T_PDP_CONTEXT_H_COMP;
345
346
347 typedef enum
348 {
349 PDP_CONTEXT_TYPE_UNKNOWN = 0,
350 PDP_CONTEXT_TYPE_PRIMARY = 1,
351 PDP_CONTEXT_TYPE_SECONDARY = 2
352
353 }T_PDP_CONTEXT_TYPE;
354
355 typedef enum
356 {
357 PDP_CONTEXT_STATE_INVALID = 0, /* 0x00: invalid value */
358 PDP_CONTEXT_STATE_DEFINED, /* 0x01: context defined */
359 PDP_CONTEXT_STATE_ATTACHING, /* 0x02: Attaching before context activation (+CGDATA or +CGACT) */
360 PDP_CONTEXT_STATE_ESTABLISH_1, /* 0x03: PPP informed over estblish */
361 PDP_CONTEXT_STATE_ESTABLISH_2, /* 0x04: SM informed over estblish */
362 PDP_CONTEXT_STATE_ESTABLISH_3, /* 0x05: PPP informed over activated context */
363 PDP_CONTEXT_STATE_ACTIVATING, /* 0x06: SM context activating */
364 PDP_CONTEXT_STATE_ABORT_ESTABLISH, /* 0x07: abort establish */
365 PDP_CONTEXT_STATE_ACTIVATED, /* 0x08: context activated */
366 PDP_CONTEXT_STATE_ACTIVATED_ESTABLISH_1, /* 0x09: Context is activated. PPP informed over estblish */
367 PDP_CONTEXT_STATE_ACTIVATED_MODIFYING, /* 0x0a: context activated, context modification in progress */
368 PDP_CONTEXT_STATE_DATA_LINK, /* 0x0b: Data link */
369 PDP_CONTEXT_STATE_DATA_LINK_MODIFYING, /* 0x0c: Data link, context modification in progress */
370 PDP_CONTEXT_STATE_DEACTIVATE_NORMAL, /* 0x0d: Context activated/activating: Deactivating from appl. or SMREG_PDP_ACTIVATE_REJ */
371 PDP_CONTEXT_STATE_BREAKDOWN_LINK_NORMAL, /* 0x0f: Data link deactivation: breakdown data link from PPP (PPP_TERMINATE_IND received)
372 or network initiated context deactivation (SMREG_PDP_DEACTIVATE_IND) */
373 PDP_CONTEXT_STATE_REACTIVATION_1, /* 0x10: Data link deactivation: PPP_TERMINATE_REQ and SMREG_DEACTIVATE_REQ are sent */
374 PDP_CONTEXT_STATE_REACTIVATION_2 /* 0x11: Data link deactivation: Response is received from either PPP or SM
375 e.g. PPP_TERMINATE_IND or SMREG_DEACTIVATE_CNF */
376 } T_PDP_CONTEXT_STATE;
377
378
379 typedef struct _T_TFT_INTERNAL
380 {
381 T_NAS_tft_pf pf_attributes;
382 struct _T_TFT_INTERNAL *p_next;
383
384 } T_TFT_INTERNAL;
385
386
387 typedef char T_PDP_CONTEXT_PDP_TYPE[MAX_PDP_CONTEXT_TYPE_LEN];
388 typedef char T_PDP_CONTEXT_APN[PDP_CONTEXT_APN_LEN_MAX];
389
390 typedef struct
391 {
392 T_PDP_CONTEXT_PDP_TYPE pdp_type;
393 T_PDP_CONTEXT_APN pdp_apn;
394 T_NAS_ip pdp_addr;
395 U8 d_comp; /* T_PDP_CONTEXT_D_COMP */
396 U8 h_comp; /* T_PDP_CONTEXT_H_COMP */
397 U8 p_cid; /* Primary PDP context id, used if the context is a secondary PDP context */
398
399 } T_PDP_CONTEXT;
400
401
402 typedef struct
403 {
404 UBYTE len;
405 UBYTE pco[251];
406
407 } T_PDP_CONTEXT_PCO; /* user PCO */
408
409
410 /*---- %CGPCO -----------------------------------------------------*/
411
412 #define ACI_PCO_MAX_LEN 251
413 #define ACI_PCO_CONTENTMASK_AUTH 0x00000001
414 #define ACI_PCO_CONTENTMASK_DNS1 0x00000002
415 #define ACI_PCO_CONTENTMASK_DNS2 0x00000004
416
417 #define ACI_PCO_CONFIG_PROT_PPP 0
418
419 #define ACI_PCO_AUTH_PROT_PAP 0xc023
420
421 #define ACI_PCO_PAP_OVERHEAD 9
422 #define ACI_PCO_IPCP_OVERHEAD 7
423 #define ACI_PCO_PAP_AUTH_REQ 0x01
424 #define ACI_PCO_IPCP_PROT_MSB 0x80
425 #define ACI_PCO_IPCP_PROT_LSB 0x21
426 #define ACI_PCO_IPCP_CONF_REQ 0x01
427 #define ACI_PCO_IPCP_CONF_ACK 0x02
428 #define ACI_PCO_IPCP_CONF_NAK 0x03
429 #define ACI_PCO_IPCP_TYPE_IP 3
430 #define ACI_PCO_IPCP_TYPE_DNS1 129
431 #define ACI_PCO_IPCP_TYPE_DNS2 131
432 #define ACI_PCO_IPCP_LENGTH_IP 6
433 #define ACI_PCO_IPCP_LENGTH_DNS1 6
434 #define ACI_PCO_IPCP_LENGTH_DNS2 6
435
436 typedef enum
437 {
438 CGPCO_FORMAT_HEX = 0,
439 CGPCO_FORMAT_ASCII
440 }T_ACI_CGPCO_FORMAT;
441
442 typedef enum
443 {
444 CGPCO_MODE_SET_PCO = 0,
445 CGPCO_MODE_QUERY_PCO
446 }T_ACI_CGPCO_MODE;
447
448
449 /*==== PROTOTYPES =================================================*/
450
451 /*** set commands ***/
452 EXTERN T_ACI_RETURN sAT_PercentCGPCO ( T_ACI_CMD_SRC srcId, U8 cid, USHORT protocol, CHAR *user, CHAR *pwd, CHAR *dns1, CHAR *dns2);
453 EXTERN T_ACI_RETURN sAT_PercentCGPCO_HEX ( T_ACI_CMD_SRC srcId, UBYTE cid, UBYTE *pco_array, UBYTE pco_len);
454 EXTERN T_ACI_RETURN sAT_PlusCGDCONT ( T_ACI_CMD_SRC srcId, U8 cid, T_PDP_CONTEXT *inputCtxt);
455 EXTERN T_ACI_RETURN sAT_PlusCGQREQ ( T_ACI_CMD_SRC srcId, U8 cid ,T_PS_qos *qos);
456 EXTERN T_ACI_RETURN sAT_PlusCGQMIN ( T_ACI_CMD_SRC srcId, U8 cid ,T_PS_min_qos *qos);
457 EXTERN T_ACI_RETURN sAT_PlusCGATT ( T_ACI_CMD_SRC srcId, T_CGATT_STATE state );
458 EXTERN T_ACI_RETURN sAT_PlusCGACT ( T_ACI_CMD_SRC srcId, T_CGACT_STATE state, SHORT *cids );
459 EXTERN T_ACI_RETURN sAT_PlusCGDATA ( T_ACI_CMD_SRC srcId, char *L2P, U8 *p_cid_array );
460 EXTERN T_ACI_RETURN sAT_PlusCGPADDR ( T_ACI_CMD_SRC srcId, SHORT *cids, T_NAS_ip *pdp_adress );
461 EXTERN T_ACI_RETURN sAT_PlusCGAUTO ( T_ACI_CMD_SRC srcId, T_CGAUTO_N n );
462 EXTERN T_ACI_RETURN sAT_PlusCGANS ( T_ACI_CMD_SRC srcId, USHORT response, char *l2p, U8 cid );
463 EXTERN T_ACI_RETURN sAT_PlusCGCLASS ( T_ACI_CMD_SRC srcId, T_CGCLASS_CLASS m_class );
464 EXTERN T_ACI_RETURN sAT_PlusCGEREP ( T_ACI_CMD_SRC srcId, T_CGEREP_MODE mode, T_CGEREP_BFR bfr );
465 EXTERN T_ACI_RETURN sAT_PlusCGSMS ( T_ACI_CMD_SRC srcId, T_CGSMS_SERVICE service );
466
467
468
469 EXTERN T_ACI_RETURN sAT_PercentCGAATT ( T_ACI_CMD_SRC srcId, T_CGAATT_ATTACH_MODE att_m, T_CGAATT_DETACH_MODE det_m );
470 EXTERN T_ACI_RETURN sAT_PercentCGMM ( T_ACI_CMD_SRC srcId, UBYTE cipher_on, UBYTE tlli_handling );
471 EXTERN T_ACI_RETURN sAT_PercentSNCNT ( T_ACI_CMD_SRC srcId, BOOL reset_counter );
472
473 EXTERN T_ACI_RETURN sAT_PercentCGPPP ( T_ACI_CMD_SRC srcId, T_ACI_PPP_PROT protocol );
474 EXTERN T_ACI_RETURN qAT_PercentCGPPP ( T_ACI_CMD_SRC srcId, T_ACI_PPP_PROT *protocol );
475
476 EXTERN T_ACI_RETURN sAT_PercentCGCLASS ( T_ACI_CMD_SRC srcId, T_PERCENT_CGCLASS m_class );
477
478
479
480 /*** read commands ***/
481 EXTERN T_ACI_RETURN qAT_PercentCGPCO ( T_ACI_CMD_SRC srcId, ULONG *gateway, ULONG *dns1, ULONG *dns2, USHORT cid);
482 EXTERN T_ACI_RETURN qAT_PlusCGDCONT ( T_ACI_CMD_SRC srcId, T_PDP_CONTEXT *p_pdp_context_array, SHORT *cid_array );
483 EXTERN T_ACI_RETURN qAT_PlusCGQREQ ( T_ACI_CMD_SRC srcId, U8 cid, BOOL *qos_valid, T_PS_qos *qos);
484 EXTERN T_ACI_RETURN qAT_PlusCGQMIN ( T_ACI_CMD_SRC srcId, U8 cid, BOOL *qos_valid, T_PS_qos *qos);
485 EXTERN T_ACI_RETURN qAT_PlusCGATT ( T_ACI_CMD_SRC srcId, T_CGATT_STATE *state );
486 EXTERN T_ACI_RETURN qAT_PlusCGACT ( T_ACI_CMD_SRC srcId, BOOL *states, SHORT *cid );
487 EXTERN T_ACI_RETURN qAT_PlusCGAUTO ( T_ACI_CMD_SRC srcId, T_CGAUTO_N *n);
488 EXTERN T_ACI_RETURN qAT_PlusCGCLASS ( T_ACI_CMD_SRC srcId, T_CGCLASS_CLASS *m_class );
489 EXTERN T_ACI_RETURN qAT_PlusCGEREP ( T_ACI_CMD_SRC srcId, T_CGEREP_MODE *mode, T_CGEREP_BFR *bfr );
490 EXTERN T_ACI_RETURN qAT_PlusCGREG ( T_ACI_CMD_SRC srcId, T_CGREG_STAT *stat, USHORT *lac, USHORT *ci );
491 EXTERN T_ACI_RETURN qAT_PercentCGREG ( T_ACI_CMD_SRC srcId, T_P_CGREG_STAT *stat, USHORT *lac, USHORT *ci );
492 EXTERN T_ACI_RETURN qAT_PlusCGSMS ( T_ACI_CMD_SRC srcId, T_CGSMS_SERVICE *service );
493 EXTERN T_ACI_RETURN qAT_PercentCGAATT ( T_ACI_CMD_SRC srcId, T_CGAATT_ATTACH_MODE *att_m, T_CGAATT_DETACH_MODE *det_m );
494 EXTERN T_ACI_RETURN qAT_PercentCGCLASS ( T_ACI_CMD_SRC srcId, T_PERCENT_CGCLASS *m_class, T_PERCENT_CGCLASS *currentClass );
495 #ifdef REL99
496 EXTERN T_ACI_RETURN qAT_PlusCGDSCONT( T_ACI_CMD_SRC srcId, T_PDP_CONTEXT *p_pdp_context_array, U8 *cid_array );
497 EXTERN T_ACI_RETURN qAT_PlusCGTFT ( T_ACI_CMD_SRC srcId, U8 *cid_array );
498 #endif
499 /*** test commands ***/
500 EXTERN T_ACI_RETURN tAT_PlusCGPADDR ( T_ACI_CMD_SRC srcId, U8 *cids);
501 EXTERN T_ACI_RETURN tAT_PlusCGSMS ( T_ACI_CMD_SRC srcId, SHORT *service_list);
502
503 #ifdef REL99
504 EXTERN T_ACI_RETURN sAT_PlusCGDSCONT( T_ACI_CMD_SRC srcId, U8 cid, T_PDP_CONTEXT *pdp_context_input );
505 EXTERN T_ACI_RETURN sAT_PlusCGEQREQ ( T_ACI_CMD_SRC srcId, U8 cid, T_PS_qos *qos );
506 EXTERN T_ACI_RETURN sAT_PlusCGEQMIN ( T_ACI_CMD_SRC srcId, U8 cid, T_PS_qos *qos );
507 EXTERN T_ACI_RETURN sAT_PlusCGEQNEG ( T_ACI_CMD_SRC srcId, U8 cid, BOOL *qos_valid, T_PS_qos *qos);
508 EXTERN T_ACI_RETURN sAT_PlusCGCMOD ( T_ACI_CMD_SRC srcId, U8 *cid);
509 EXTERN T_ACI_RETURN sAT_PlusCGTFT ( T_ACI_CMD_SRC srcId, U8 cid, T_NAS_tft_pf *tft_pf_input );
510
511 EXTERN T_ACI_RETURN qAT_PlusCGEQREQ ( T_ACI_CMD_SRC srcId, U8 cid, BOOL *qos_valid, T_PS_qos *qos);
512 EXTERN T_ACI_RETURN qAT_PlusCGEQMIN ( T_ACI_CMD_SRC srcId, U8 cid, BOOL *qos_valid, T_PS_min_qos *qos);
513
514 EXTERN T_ACI_RETURN tAT_PlusCGEQNEG_CGCMOD ( T_ACI_CMD_SRC srcId, U8 cid, BOOL *context_activated);
515 EXTERN T_ACI_RETURN tAT_PlusCGDSCONT ( T_ACI_CMD_SRC srcId, U8 cid, BOOL *context_activated );
516 #endif /* REL99 */
517
518
519 /*--------------- extension mechansim ----------------------------*/
520
521 /*--------------- constants --------------------------------------*/
522
523 /*--------------- configuration ----------------------------------*/
524
525 /*--------------- Extension Handler -> AT Interpreter ------------*/
526
527 /*--------------- AT Interpreter -> Extension Handler ------------*/
528
529 /*------- call-backs for MMI --------------------------------------*/
530
531 #ifdef CMH_F_C /*lint -save -e18 */ /* Turn off Lint errors for this "construct" */
532 EXTERN void rAT_PlusCGACT ( void );
533 EXTERN void rAT_PlusCGDATA ( void );
534 EXTERN void rAT_PlusCGANS ( void );
535 EXTERN void rAT_PlusCGEREP ( void );
536 EXTERN void rAT_PlusCGREG ( void );
537 EXTERN void rAT_changedQOS ( void );
538 EXTERN void rAT_PercentSNCNT ( void );
539 EXTERN void rAT_PercentCGREG ( void );
540 #ifdef REL99
541 EXTERN void rAT_PlusCGCMOD ( void ); /* added for rel99 */
542 #endif
543 EXTERN void rAT_PercentCGEV ( void );
544 /*lint -restore */
545 #else
546 EXTERN void rAT_PlusCGACT ( SHORT link_id );
547 EXTERN void rAT_PlusCGDATA ( SHORT link_id );
548 EXTERN void rAT_PlusCGANS ( SHORT link_id );
549 EXTERN void rAT_PlusCGEREP ( T_CGEREP_EVENT event, T_CGEREP_EVENT_REP_PARAM *param );
550 EXTERN void rAT_PlusCGREG ( T_CGREG_STAT stat, USHORT lac, USHORT ci );
551 EXTERN void rAT_changedQOS ( SHORT cid, T_PS_qos *qos );
552 EXTERN void rAT_PercentSNCNT ( UBYTE c_id,
553 ULONG octets_uplink,
554 ULONG octets_downlink,
555 ULONG packets_uplink,
556 ULONG packets_downlink );
557 EXTERN void rAT_PercentCGREG ( T_P_CGREG_STAT stat, USHORT lac, USHORT ci, BOOL bActiveContext );
558 #ifdef REL99
559 EXTERN void rAT_PlusCGCMOD ( void ); /* added for rel99 */
560 #endif
561 EXTERN void rAT_PercentCGEV ( T_CGEREP_EVENT event, T_CGEREP_EVENT_REP_PARAM *param );
562 #endif
563
564 /*--------------- call-backs for AT CI ----------------------------*/
565
566 #ifdef CMH_F_C
567 /*lint -save -e18 */ /* Turn off Lint errors for this "construct" */
568 EXTERN void rCI_PlusCGACT ( void );
569 EXTERN void rCI_PlusCGDATA ( void );
570 EXTERN void rCI_PlusCGANS ( void );
571 EXTERN void rCI_PlusCGEREP ( void );
572 EXTERN void rCI_PlusCGREG ( void );
573 EXTERN void rCI_changedQOS ( void );
574 EXTERN void rCI_PercentSNCNT ( void );
575 EXTERN void rCI_PercentCGREG ( void );
576 #ifdef REL99
577 EXTERN void rCI_PlusCGCMOD ( void ); /* rel99 */
578 #endif /* REL99 */
579 EXTERN void rCI_PercentCGEV ( void );
580 /*lint -restore */
581 #else
582 EXTERN void rCI_PlusCGACT ( SHORT link_id );
583 EXTERN void rCI_PlusCGDATA ( SHORT link_id );
584 EXTERN void rCI_PlusCGANS ( SHORT link_id );
585 EXTERN void rCI_PlusCGEREP ( T_CGEREP_EVENT event, T_CGEREP_EVENT_REP_PARAM *param );
586 EXTERN void rCI_PlusCGREG ( T_CGREG_STAT stat, USHORT lac, USHORT ci );
587 EXTERN void rCI_changedQOS ( SHORT cid, T_PS_qos *qos );
588 EXTERN void rCI_PercentSNCNT ( UBYTE c_id,
589 ULONG octets_uplink,
590 ULONG octets_downlink,
591 ULONG packets_uplink,
592 ULONG packets_downlink );
593 EXTERN void rCI_PercentCGREG ( T_P_CGREG_STAT stat, USHORT lac, USHORT ci, BOOL bActiveContext );
594 #ifdef REL99
595 EXTERN void rCI_PlusCGCMOD ( void ); /* rel99 */
596 #endif /* REL99 */
597 EXTERN void rCI_PercentCGEV ( T_CGEREP_EVENT event, T_CGEREP_EVENT_REP_PARAM *param );
598 #endif
599
600 #endif
601 /*==== EOF ========================================================*/