FreeCalypso > hg > freecalypso-sw
comparison gsm-fw/g23m-aci/aci/gaci_cmh.h @ 775:eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Sun, 12 Oct 2014 01:45:14 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
774:40a721fd9854 | 775:eedbf248bac0 |
---|---|
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 ========================================================*/ |