FreeCalypso > hg > fc-selenite
annotate src/g23m-gprs/sndcp/sndcp_mgp.c @ 120:43a210bbcc63
components/riviera_cust_flash: c155 keepalive support
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Wed, 07 Nov 2018 06:33:43 +0000 | 
| parents | d393cd9bb723 | 
| children | 
| rev | line source | 
|---|---|
| 
1
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2 +----------------------------------------------------------------------------- | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3 | Project : GPRS (8441) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
4 | Modul : sndcp_mgp.c | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
5 +----------------------------------------------------------------------------- | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
6 | Copyright 2002 Texas Instruments Berlin, AG | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
7 | All rights reserved. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
8 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
9 | This file is confidential and a trade secret of Texas | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
10 | Instruments Berlin, AG | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
11 | The receipt of or possession of this file does not convey | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
12 | any rights to reproduce or disclose its contents or to | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
13 | manufacture, use, or sell anything it may describe, in | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
14 | whole, or in part, without the specific written consent of | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
15 | Texas Instruments Berlin, AG. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
16 +----------------------------------------------------------------------------- | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
17 | Purpose : This modul is part of the entity SNDCP and implements all | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
18 | functions to handles the incoming primitives as described in | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
19 | the SDL-documentation (MG-statemachine) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
20 +----------------------------------------------------------------------------- | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
21 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
22 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
23 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
24 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
25 #define ENTITY_SNDCP | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
26 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
27 /*==== INCLUDES =============================================================*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
28 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
29 #include "typedefs.h" /* to get Condat data types */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
30 #include "vsi.h" /* to get a lot of macros */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
31 #include "macdef.h" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
32 #include "gsm.h" /* to get a lot of macros */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
33 #include "prim.h" /* to get the definitions of used SAP and directions */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
34 #include "dti.h" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
35 #ifdef _SNDCP_DTI_2_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
36 #include <string.h> | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
37 #endif /* _SNDCP_DTI_2_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
38 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
39 #include "sndcp.h" /* to get the global entity definitions */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
40 #include "sndcp_f.h" /* to get the functions to access the global arrays*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
41 #include "sndcp_mgf.h" /* to get the local functions of service mg */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
42 #include "sndcp_nuf.h" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
43 #include "sndcp_nus.h" /* to get the internal signals toservice nu */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
44 #include "sndcp_nds.h" /* to get the internal signals to service nd */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
45 #include "sndcp_cias.h" /* to get the internal signals to service cia */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
46 #include "sndcp_sds.h" /* to get the signals to sd service */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
47 #include "sndcp_sus.h" /* to get the internal signals to service su */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
48 #include "sndcp_suas.h" /* to get the internal signals to service sua */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
49 #include "sndcp_sdas.h" /* to get the signals to sda service */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
50 #include "sndcp_sdf.h" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
51 #include "sndcp_sdaf.h" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
52 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
53 /*==== CONST ================================================================*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
54 #define TCPIP_NAME "TCP" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
55 /*==== LOCAL VARS ===========================================================*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
56 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
57 /*==== PRIVATE FUNCTIONS ====================================================*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
58 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
59 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
60 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
61 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
62 | Function : mg_est_cnf_est_pending | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
63 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
64 | Description : After receiving an ll_establish_cnf, an snsm_activate_res | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
65 | is sent to each waiting nsapi, sua and sda, sd are notified. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
66 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
67 | Parameters : ll_establish_cnf | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
68 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
69 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
70 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
71 LOCAL void mg_est_cnf_est_pending (T_LL_ESTABLISH_CNF* ll_establish_cnf) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
72 UBYTE nsapi = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
73 USHORT sapi_state = MG_IDLE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
74 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
75 TRACE_FUNCTION( "mg_est_cnf_est_pending" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
76 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
77 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
78 * If MG_REL_NEC_LOC/PEER is set for the affected sapi, there will be no | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
79 * nsapi waiting for LL_ESTABLISH_CNF. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
80 * LL_RELEASE_REQ must be sent. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
81 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
82 sndcp_get_sapi_state(ll_establish_cnf->sapi, &sapi_state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
83 if ((sapi_state & MG_REL_NEC_LOC) > 0) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
84 PALLOC(ll_release_req, LL_RELEASE_REQ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
85 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
86 ll_release_req->sapi = ll_establish_cnf->sapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
87 ll_release_req->local = TRUE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
88 sndcp_unset_sapi_state(ll_release_req->sapi, MG_REL_NEC_LOC); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
89 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
90 * Set the "state" for the affected and sapi to MG_REL. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
91 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
92 sndcp_set_sapi_state(ll_establish_cnf->sapi, MG_REL); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
93 sndcp_unset_sapi_state(ll_establish_cnf->sapi, MG_EST); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
94 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
95 PSEND(hCommLLC, ll_release_req); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
96 return; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
97 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
98 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
99 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
100 if ((sapi_state & MG_REL_NEC_PEER) > 0) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
101 PALLOC(ll_release_req, LL_RELEASE_REQ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
102 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
103 ll_release_req->sapi = ll_establish_cnf->sapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
104 ll_release_req->local = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
105 sndcp_unset_sapi_state(ll_release_req->sapi, MG_REL_NEC_PEER); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
106 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
107 * Set the "state" for the affected and sapi to MG_REL. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
108 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
109 sndcp_set_sapi_state(ll_establish_cnf->sapi, MG_REL); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
110 sndcp_unset_sapi_state(ll_establish_cnf->sapi, MG_EST); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
111 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
112 PSEND(hCommLLC, ll_release_req); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
113 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
114 return; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
115 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
116 if ((sapi_state & MG_XID_NEC) > 0) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
117 sndcp_unset_sapi_state(ll_establish_cnf->sapi, MG_EST); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
118 return; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
119 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
120 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
121 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
122 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
123 * Send an SNSM_ACTIVATE_RES to all nsapis that are waiting for | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
124 * an LL_ESTABLISH_CNF. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
125 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
126 for (nsapi = 0; nsapi < SNDCP_NUMBER_OF_NSAPIS; nsapi++) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
127 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
128 USHORT nsapi_state = MG_IDLE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
129 USHORT local_sapi_state = MG_IDLE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
130 UBYTE sapi = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
131 UBYTE sapi_index = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
132 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
133 sndcp_get_nsapi_state(nsapi, &nsapi_state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
134 sndcp_get_nsapi_sapi(nsapi, &sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
135 sndcp_get_sapi_state(sapi, &local_sapi_state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
136 sndcp_get_sapi_index(sapi, &sapi_index); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
137 if ((nsapi_state & MG_ACT) > 0 && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
138 (local_sapi_state & MG_XID) == 0 && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
139 sapi == ll_establish_cnf->sapi) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
140 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
141 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
142 #ifndef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
143 mg_dti_open(nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
144 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
145 nu_ready_ind_if_nec(nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
146 #endif | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
147 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
148 mg_send_snsm_activate_res(nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
149 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
150 sndcp_unset_nsapi_state(nsapi, MG_ACT); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
151 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
152 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
153 if ((nsapi_state & MG_ACT) > 0 && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
154 (local_sapi_state & MG_XID) > 0 && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
155 sapi == ll_establish_cnf->sapi) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
156 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
157 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
158 * Open DTI connection. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
159 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
160 #ifndef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
161 mg_dti_open(nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
162 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
163 nu_ready_ind_if_nec(nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
164 #endif | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
165 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
166 mg_send_snsm_activate_res(nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
167 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
168 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
169 * Set nsapi state to MG_IDLE. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
170 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
171 sndcp_unset_nsapi_state(nsapi, MG_ACT); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
172 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
173 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
174 if (((local_sapi_state & MG_EST) > 0) && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
175 ((nsapi_state & MG_ACT) == 0) && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
176 ((local_sapi_state & MG_XID) > 0)) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
177 sig_mg_nu_reset_ack(nsapi, 0, 0, FALSE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
178 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
179 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
180 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
181 } /* for (nsapi... */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
182 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
183 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
184 * All nsapis at this sapi that use ack mode, enter recovery state. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
185 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
186 for (nsapi = 0; nsapi < SNDCP_NUMBER_OF_NSAPIS; nsapi ++) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
187 UBYTE sapi = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
188 BOOL ack = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
189 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
190 sndcp_get_nsapi_sapi(nsapi, &sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
191 sndcp_get_nsapi_ack(nsapi, &ack); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
192 if (ack && sapi == ll_establish_cnf->sapi) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
193 sig_mg_cia_delete_npdus(nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
194 sig_mg_sua_delete_pdus(nsapi, sapi, FALSE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
195 sig_mg_nu_recover(nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
196 sig_mg_nd_recover(nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
197 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
198 } /* for all nsapis */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
199 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
200 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
201 sndcp_unset_sapi_state(ll_establish_cnf->sapi, MG_XID); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
202 sndcp_unset_sapi_state(ll_establish_cnf->sapi, MG_EST); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
203 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
204 sndcp_set_sapi_ack(ll_establish_cnf->sapi, TRUE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
205 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
206 * Service sda may now leave state SDA_ESTABLISH_REQUESTED. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
207 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
208 sig_mg_sda_end_est(ll_establish_cnf->sapi, TRUE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
209 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
210 * Services su and sua may now leave suspend state. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
211 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
212 sig_mg_su_resume(ll_establish_cnf->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
213 sig_mg_sua_resume(ll_establish_cnf->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
214 mg_resume_affected_nus(ll_establish_cnf->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
215 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
216 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
217 * If req xid has been changed during establishment, resend it. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
218 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
219 mg_resend_xid_if_nec(ll_establish_cnf->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
220 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
221 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
222 } /* mg_est_cnf_est_pending() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
223 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
224 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
225 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
226 | Function : mg_check_unset_nsapi_flow_ctrl_flag | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
227 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
228 | Description : This function checks if flow control is received before PDP | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
229 | activation for the nsapi by checking the bit in nsapi_rcv_rdy_b4_used flag | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
230 | for the NSAPI | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
231 | Depending on the mode calls the corresponding function to set the | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
232 | nsapi recv flag to true. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
233 | In all cases unset the NSAPI bit in the nsapi_rcv_rdy_b4_used flag | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
234 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
235 | Parameters : affected nsapi, mode | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
236 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
237 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
238 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
239 LOCAL void mg_check_unset_nsapi_flow_ctrl_flag (UBYTE nsapi, UBYTE mode) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
240 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
241 /* check if flow control is received before PDP activation */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
242 if ((sndcp_data->nsapi_rcv_rdy_b4_used & (0x001 << nsapi)) > 0) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
243 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
244 if (mode == SNDCP_ACK) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
245 sda_set_nsapi_rec(nsapi, TRUE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
246 else if (mode == SNDCP_UNACK) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
247 sd_set_nsapi_rec(nsapi, TRUE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
248 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
249 /* Set flow control flag for the NSAPI to FALSE */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
250 sndcp_data->nsapi_rcv_rdy_b4_used &= ~(0x001 << nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
251 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
252 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
253 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
254 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
255 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
256 | Function : mg_get_downlink_data | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
257 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
258 | Description : If at the given sapi an nsapi is active and using | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
259 | unacknowledged LLC operation mode then sig_mg_sd_getunitdata | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
260 | (sapi) is sent. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
261 | If at the given sapi an nsapi is active and using | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
262 | acknowledged LLC operation mode then sig_mg_sda_getdata(sapi) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
263 | is sent. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
264 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
265 | Parameters : affected sapi | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
266 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
267 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
268 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
269 LOCAL void mg_get_downlink_data (UBYTE sapi) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
270 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
271 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
272 * Are unack or ack nsapis used? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
273 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
274 UBYTE nsapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
275 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
276 TRACE_FUNCTION( "mg_get_downlink_data" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
277 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
278 for (nsapi = 0; nsapi < SNDCP_NUMBER_OF_NSAPIS; nsapi ++) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
279 BOOL used = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
280 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
281 sndcp_is_nsapi_used(nsapi, &used); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
282 if (used) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
283 UBYTE local_sapi = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
284 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
285 sndcp_get_nsapi_sapi(nsapi, &local_sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
286 if (sapi == local_sapi) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
287 BOOL ack = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
288 USHORT nsapi_state = MG_IDLE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
289 USHORT sapi_state = MG_IDLE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
290 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
291 sndcp_get_nsapi_state(nsapi, &nsapi_state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
292 sndcp_get_sapi_state(local_sapi, &sapi_state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
293 if (((sapi_state & MG_XID) == 0) && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
294 ((sapi_state & MG_EST) == 0)) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
295 sndcp_get_nsapi_ack(nsapi, &ack); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
296 if(ack){ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
297 sig_mg_sda_getdata(sapi, nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
298 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
299 sig_mg_sd_getunitdata(sapi, nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
300 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
301 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
302 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
303 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
304 } /* for all nsapis */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
305 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
306 } /* mg_get_downlink_data() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
307 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
308 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
309 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
310 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
311 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
312 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
313 | Function : mg_is_comp_available | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
314 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
315 | Description : is another compressor available | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
316 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
317 | Parameters : sapi, ack, kind, available | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
318 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
319 | Note: implementation dependent!!! | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
320 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
321 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
322 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
323 LOCAL void mg_is_comp_available (UBYTE sapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
324 BOOL ack, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
325 UBYTE kind, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
326 UBYTE msid, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
327 BOOL* available) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
328 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
329 UBYTE nsapi = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
330 USHORT nsapi_set = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
331 UBYTE sapi_index = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
332 BOOL local_ack = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
333 T_XID_BLOCK comp_xid_block; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
334 U16 sapi_state = MG_IDLE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
335 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
336 TRACE_FUNCTION( "mg_is_comp_available" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
337 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
338 sndcp_get_sapi_index(sapi, &sapi_index); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
339 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
340 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
341 * Implementation dependent! | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
342 * Currently only implemented for VJ. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
343 * Is requested xid block for the given SAPI holding a compressor of the | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
344 * given kind? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
345 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
346 if (sndcp_data->vj_count < SNDCP_MAX_VJ_COUNT) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
347 *available = TRUE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
348 return; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
349 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
350 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
351 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
352 * If an XID negotiation is ongoing we have to look at the compressors in | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
353 * req_xid_block: is a compressor requested that will be used for the same | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
354 * LLC operation mode? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
355 * If no negotiation is pending, we must look at the cur_xid_block of the | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
356 * SAPI. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
357 * Note: since we have checked before that vj_count has already reached | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
358 * SNDCP_MAX_VJ_COUNT, ther must be an appropriate compressor on the | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
359 * used SAPI, current or requested which may also be used for this nsapi. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
360 * No new compressor is available. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
361 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
362 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
363 sndcp_get_sapi_state(sapi, &sapi_state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
364 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
365 if (((sapi_state & MG_EST) == 0) && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
366 ((sapi_state & MG_XID) == 0)) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
367 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
368 comp_xid_block = sndcp_data->mg.cur_xid_block[sapi_index]; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
369 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
370 comp_xid_block = sndcp_data->mg.req_xid_block[sapi_index]; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
371 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
372 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
373 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
374 nsapi_set = comp_xid_block.vj.nsapis; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
375 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
376 if (! comp_xid_block.vj.is_set || | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
377 (comp_xid_block.vj.is_set && nsapi_set == 0)) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
378 *available = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
379 return; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
380 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
381 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
382 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
383 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
384 * If the LLC operation mode of the cur_xid_block is not equal to the | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
385 * given LLC operation mode, no compressor is available. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
386 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
387 for (nsapi = 0; nsapi < SNDCP_NUMBER_OF_NSAPIS; nsapi++) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
388 if (((1 << nsapi) & nsapi_set) > 0) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
389 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
390 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
391 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
392 if(nsapi < SNDCP_NUMBER_OF_NSAPIS){ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
393 sndcp_get_nsapi_ack(nsapi, &local_ack); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
394 if ((local_ack && ack) || | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
395 (! local_ack && ack)) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
396 *available = TRUE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
397 return; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
398 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
399 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
400 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
401 * No nsapi yet using the compressor. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
402 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
403 *available = TRUE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
404 return; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
405 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
406 *available = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
407 return; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
408 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
409 } /* mg_is_comp_available() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
410 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
411 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
412 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
413 | Function : mg_ll_release_to_snsm_status | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
414 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
415 | Description : Converts ll_release_ind->cause to snsm_status_req->cause | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
416 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
417 | Parameters : ll_release_ind->error_cause | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
418 | Return : snsm_status_req->cause | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
419 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
420 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
421 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
422 LOCAL U16 mg_ll_release_to_snsm_status (U16 ll_cause) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
423 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
424 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
425 switch (ll_cause) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
426 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
427 #ifdef SNDCP_2to1 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
428 return ll_cause; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
429 #else /*SNDCP_2to1*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
430 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
431 /* Here the cause values from LL sap is converted to | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
432 * cause values from CAUSE include SAP. This is because | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
433 * SM expects these cause values. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
434 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
435 case LL_RELCS_INVALID_XID: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
436 return CAUSE_LLC_INVALID_XID; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
437 case LL_RELCS_DM_RECEIVED: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
438 return CAUSE_LLC_DM_RECEIVED; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
439 case LL_RELCS_NO_PEER_RES: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
440 return CAUSE_LLC_NO_PEER_RES; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
441 case LL_RELCS_NORMAL: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
442 return CAUSE_LLC_NORMAL_REL; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
443 #endif /* SNDCP_UPM_INCLUDED */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
444 #endif /*SNDCP_2to1*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
445 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
446 return ll_cause; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
447 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
448 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
449 } /* mg_ll_release_to_snsm_status() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
450 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
451 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
452 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
453 | Function : mg_ll_status_to_snsm_status | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
454 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
455 | Description : Converts ll_status_ind->error_cause to snsm_status_req->cause | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
456 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
457 | Parameters : ll_status_ind->error_cause | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
458 | Return : snsm_status_req->cause | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
459 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
460 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
461 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
462 LOCAL U16 mg_ll_status_to_snsm_status (U16 ll_error_cause) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
463 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
464 switch (ll_error_cause) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
465 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
466 #ifdef SNDCP_2to1 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
467 return ll_error_cause; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
468 #else /*SNDCP_2to1*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
469 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
470 /* Here the cause values from LL sap is converted to | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
471 * cause values from CAUSE include SAP. This is because | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
472 * SM expects these cause values. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
473 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
474 case LL_ERRCS_INVALID_XID: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
475 return CAUSE_LLC_INVALID_XID; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
476 case LL_ERRCS_NO_PEER_RES: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
477 return CAUSE_LLC_NO_PEER_RES; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
478 #endif /* SNDCP_UPM_INCLUDED */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
479 #endif /* SNDCP_2to1 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
480 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
481 return ll_error_cause; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
482 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
483 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
484 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
485 } /* mg_ll_status_to_snsm_status() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
486 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
487 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
488 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
489 | Function : mg_mod_ack_unack | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
490 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
491 | Description : An snsm_modify_ind has indicated that the operation mode of | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
492 | the affected nsapi changed from acknowledged to unacknowledged. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
493 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
494 | Parameters : snsm_modify_ind | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
495 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
496 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
497 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
498 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
499 LOCAL void mg_mod_ack_unack (T_SN_MODIFY_REQ* snsm_modify_ind) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
500 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
501 LOCAL void mg_mod_ack_unack (T_SNSM_MODIFY_IND* snsm_modify_ind) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
502 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
503 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
504 UBYTE nsapi = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
505 BOOL alone = TRUE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
506 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
507 TRACE_FUNCTION( "mg_mod_ack_unack" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
508 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
509 mg_delete_npdus(snsm_modify_ind->nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
510 sig_mg_nu_reset(snsm_modify_ind->nsapi, TRUE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
511 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
512 * LL_RELEASE_IND expected, if this was the only ack nsapi on the affected | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
513 * sapi. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
514 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
515 while (nsapi < SNDCP_NUMBER_OF_NSAPIS && alone) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
516 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
517 UBYTE sapi = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
518 BOOL ack = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
519 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
520 sndcp_get_nsapi_sapi(nsapi, &sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
521 sndcp_get_nsapi_ack(nsapi, &ack); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
522 alone = ! (nsapi != snsm_modify_ind->nsapi && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
523 sapi == snsm_modify_ind->sapi && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
524 ack); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
525 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
526 sndcp_set_nsapi_ack(snsm_modify_ind->nsapi, FALSE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
527 nsapi++; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
528 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
529 if (alone) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
530 sndcp_data->mg.mod_expects |= MG_MOD_X_REL; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
531 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
532 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
533 } /* mg_mod_ack_unack() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
534 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
535 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
536 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
537 | Function : mg_mod_nsapi_new | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
538 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
539 | Description : An snsm_modify_ind has indicated the creation of a new NSAPI. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
540 | Actions similar to snsm_activate_ind are taken, but the | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
541 | establishment is never initiated by the MS. Everything | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
542 | concerning the given nsapi is set to acknowlegded, but the | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
543 | LLC establishment is expected to be done by the net. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
544 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
545 | Parameters : snsm_modify_ind | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
546 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
547 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
548 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
549 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
550 LOCAL void mg_mod_nsapi_new (T_SN_MODIFY_REQ* snsm_modify_ind) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
551 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
552 LOCAL void mg_mod_nsapi_new (T_SNSM_MODIFY_IND* snsm_modify_ind) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
553 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
554 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
555 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
556 * LLC mode specified? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
557 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
558 BOOL spec = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
559 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
560 * LLC mode acknowledged? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
561 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
562 BOOL b = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
563 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
564 TRACE_FUNCTION( "mg_mod_nsapi_new" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
565 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
566 sndcp_set_nsapi_used(snsm_modify_ind->nsapi, TRUE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
567 sndcp_set_nsapi_qos(snsm_modify_ind->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
568 snsm_modify_ind->snsm_qos); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
569 sndcp_set_nsapi_sapi(snsm_modify_ind->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
570 snsm_modify_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
571 sndcp_set_nsapi_prio(snsm_modify_ind->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
572 snsm_modify_ind->radio_prio); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
573 #ifdef REL99 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
574 sndcp_set_nsapi_pktflowid(snsm_modify_ind->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
575 snsm_modify_ind->pkt_flow_id); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
576 #endif /*REL99*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
577 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
578 mg_is_ack(snsm_modify_ind->snsm_qos, &spec, &b); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
579 if (spec) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
580 if (b) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
581 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
582 BOOL ack = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
583 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
584 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
585 * The NSAPI will use acknowledged LLC operation mode. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
586 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
587 sndcp_set_nsapi_ack(snsm_modify_ind->nsapi, TRUE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
588 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
589 * Is the affected SAPI already in ack mode? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
590 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
591 sndcp_get_sapi_ack(snsm_modify_ind->sapi, &ack); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
592 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
593 * Reset service nu to acknowledged LLC mode. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
594 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
595 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
596 sig_mg_nu_reset_ack(snsm_modify_ind->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
597 0, /*snsm_modify_ind->send_no, FIXME !!*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
598 0, /*snsm_modify_ind->rec_no, FIXME !!*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
599 TRUE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
600 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
601 sig_mg_nu_reset_ack(snsm_modify_ind->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
602 snsm_modify_ind->send_no, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
603 snsm_modify_ind->rec_no, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
604 TRUE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
605 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
606 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
607 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
608 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
609 * LL_ESTABLISH_IND expected. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
610 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
611 sndcp_data->mg.mod_expects |= MG_MOD_X_EST; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
612 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
613 } /* mg_mod_nsapi_new() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
614 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
615 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
616 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
617 | Function : mg_mod_res_if_nec | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
618 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
619 | Description : The service var 'mod_expects' informs about the measures to be | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
620 | taken before an SNSM_MODIFY_RES is sent. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
621 | If it is set to MG_MOD_X_READY then one SNSM_MODIFY_RES will be sent to each | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
622 | of the nsapis indicated in service var 'waiting_nsapis'. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
623 | Sets 'waiting_nsapis' to 0. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
624 | Sets 'mod_expects' to MG_MOD_X_NONE. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
625 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
626 | Parameters : | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
627 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
628 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
629 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
630 LOCAL void mg_mod_res_if_nec (void) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
631 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
632 TRACE_FUNCTION( "mg_mod_res_if_nec" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
633 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
634 if (sndcp_data->mg.mod_expects == MG_MOD_X_READY) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
635 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
636 UBYTE nsapi = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
637 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
638 for (nsapi = 0; nsapi < SNDCP_NUMBER_OF_NSAPIS; nsapi++) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
639 if ((sndcp_data->mg.waiting_nsapis & (1 << nsapi)) > 0) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
640 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
641 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
642 PALLOC (snsm_modify_res, SN_MODIFY_CNF); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
643 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
644 PALLOC (snsm_modify_res, SNSM_MODIFY_RES); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
645 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
646 snsm_modify_res->nsapi = nsapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
647 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
648 PSEND(hCommUPM, snsm_modify_res); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
649 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
650 PSEND(hCommSM, snsm_modify_res); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
651 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
652 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
653 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
654 sndcp_data->mg.waiting_nsapis = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
655 sndcp_data->mg.mod_expects = MG_MOD_X_NONE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
656 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
657 } /* mg_mod_res_if_nec() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
658 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
659 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
660 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
661 | Function : mg_mod_sapi_diff | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
662 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
663 | Description : An snsm_modify_ind has indicated that the new sapi for the | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
664 | affected context is different from the current one. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
665 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
666 | Parameters : snsm_modify_ind | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
667 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
668 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
669 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
670 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
671 LOCAL void mg_mod_sapi_diff (T_SN_MODIFY_REQ* snsm_modify_ind) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
672 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
673 LOCAL void mg_mod_sapi_diff (T_SNSM_MODIFY_IND* snsm_modify_ind) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
674 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
675 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
676 BOOL old_sapi_ack = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
677 BOOL alone = TRUE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
678 BOOL new_context_ack = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
679 BOOL new_context_ack_spec = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
680 BOOL new_sapi_est = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
681 UBYTE nsapi = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
682 UBYTE old_sapi = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
683 BOOL rec = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
684 UBYTE old_sapi_index, new_sapi_index = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
685 T_SN_UNITDATA_IND *temp_sn_unitdata = NULL; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
686 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
687 TRACE_FUNCTION( "mg_mod_sapi_diff" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
688 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
689 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
690 * If old sapi was established and affected nsapi is only one connected | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
691 * in ack mode: LL_RELEASE_IND expected. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
692 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
693 sndcp_get_sapi_ack(snsm_modify_ind->sapi, &old_sapi_ack); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
694 while (nsapi < SNDCP_NUMBER_OF_NSAPIS && alone) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
695 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
696 UBYTE sapi = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
697 BOOL ack = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
698 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
699 sndcp_get_nsapi_sapi(nsapi, &sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
700 sndcp_get_nsapi_ack(nsapi, &ack); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
701 alone = ! (nsapi != snsm_modify_ind->nsapi && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
702 sapi == snsm_modify_ind->sapi && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
703 ack); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
704 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
705 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
706 nsapi++; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
707 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
708 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
709 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
710 * If new qos is ack and new sapi is not yet established: expect | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
711 * LL_ESTABLISH_IND. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
712 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
713 mg_is_ack(snsm_modify_ind->snsm_qos, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
714 &new_context_ack_spec, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
715 &new_context_ack); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
716 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
717 if (alone && !new_context_ack) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
718 sndcp_data->mg.mod_expects |= MG_MOD_X_REL; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
719 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
720 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
721 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
722 sndcp_get_sapi_ack(snsm_modify_ind->sapi, &new_sapi_est); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
723 if (! new_sapi_est) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
724 sndcp_data->mg.mod_expects |= MG_MOD_X_EST; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
725 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
726 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
727 /* Old & the New SAPI are UnAck Mode, send SNSM_MOD_CNF to SM and | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
728 * flowcontrol to LLC | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
729 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
730 sndcp_get_nsapi_sapi(snsm_modify_ind->nsapi, &old_sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
731 sndcp_get_sapi_ack(old_sapi, &old_sapi_ack); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
732 if(new_context_ack == old_sapi_ack && old_sapi_ack == FALSE) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
733 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
734 sndcp_get_sapi_index(old_sapi, &old_sapi_index); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
735 sndcp_data->sd = & sndcp_data->sd_base[old_sapi_index]; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
736 sd_is_nsapi_rec(snsm_modify_ind->nsapi, &rec); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
737 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
738 /* Copy the Pointer, where Data on old Sapi was stored if any */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
739 if(sndcp_data->sd->cur_sn_unitdata_ind[snsm_modify_ind->nsapi] NEQ NULL) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
740 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
741 temp_sn_unitdata = | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
742 sndcp_data->sd->cur_sn_unitdata_ind[snsm_modify_ind->nsapi]; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
743 sndcp_data->sd->cur_sn_unitdata_ind[snsm_modify_ind->nsapi] = NULL; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
744 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
745 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
746 /* Set the old SAPI's NSAPI state to Non Receptive*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
747 sd_set_nsapi_rec(snsm_modify_ind->nsapi, FALSE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
748 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
749 /* Set the state of NSAPI associated with new SAPI same as Old SAPI */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
750 sndcp_get_sapi_index(snsm_modify_ind->sapi, &new_sapi_index); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
751 sndcp_data->sd = & sndcp_data->sd_base[new_sapi_index]; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
752 sd_set_nsapi_rec(snsm_modify_ind->nsapi, rec); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
753 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
754 sndcp_data->mg.mod_expects = MG_MOD_X_READY; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
755 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
756 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
757 * Taking care of DOWNLINK Data, when PDP is Modified | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
758 * from one sapi to another. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
759 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
760 switch( sndcp_get_nsapi_rec_state(snsm_modify_ind->nsapi) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
761 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
762 case SD_UNACK_RECEIVE_SUBSEQUENT_SEGMENT: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
763 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
764 * If the Receiving State is SD_UNACK_RECEIVE_SUBSEQUENT_SEGMENT, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
765 * this means that SNDCP has not receive the whole N-PDU, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
766 * it has received some SN-PDU's of the whole N-PDU. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
767 * Hence we need to DELETE those SN-PDU's since PDP gets modified. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
768 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
769 sig_mg_cia_delete_npdus(snsm_modify_ind->nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
770 sndcp_set_nsapi_rec_state(snsm_modify_ind->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
771 SD_UNACK_RECEIVE_FIRST_SEGMENT); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
772 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
773 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
774 case SD_UNACK_WAIT_NSAPI: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
775 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
776 * If the Receiving State is SD_UNACK_WAIT_NSAPI, this means that | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
777 * SNDCP has received the whole N-PDU. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
778 * Since SNDCP has not received the FLOW CONTROL from application, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
779 * so it could not send the N-PDU to the application. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
780 * In the meantime PDP gets modified.In this condition SNDCP needs | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
781 * to copy the N-PDU from the old sapi to the modified sapi. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
782 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
783 if(temp_sn_unitdata NEQ NULL) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
784 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
785 sndcp_data->sd->cur_sn_unitdata_ind[snsm_modify_ind->nsapi] | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
786 = temp_sn_unitdata; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
787 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
788 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
789 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
790 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
791 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
792 * It is assumed that if the Receiving State is SD_UNACK_DISCARD | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
793 * then SNDCP must have deleted all the SN-PDU,s that it might | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
794 * have received on the old sapi. Hence we need not have to do | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
795 * anything here. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
796 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
797 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
798 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
799 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
800 /* Flowcontrol to LLC for new SAPI to send downlink data after | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
801 * PDP Modification | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
802 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
803 if(sndcp_data->sd->cur_sn_unitdata_ind[snsm_modify_ind->nsapi] EQ NULL) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
804 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
805 sd_get_unitdata_if_nec(snsm_modify_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
806 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
807 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
808 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
809 * Now switch to the new setting. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
810 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
811 sndcp_set_nsapi_sapi(snsm_modify_ind->nsapi, snsm_modify_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
812 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
813 } /* mg_mod_sapi_diff() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
814 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
815 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
816 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
817 | Function : mg_mod_unack_ack | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
818 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
819 | Description : An snsm_modify_ind has indicated that the operation mode of | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
820 | the affected nsapi changed from unacknowledged to acknowledged. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
821 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
822 | Parameters : snsm_modify_ind | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
823 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
824 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
825 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
826 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
827 LOCAL void mg_mod_unack_ack (T_SN_MODIFY_REQ* snsm_modify_ind) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
828 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
829 LOCAL void mg_mod_unack_ack (T_SNSM_MODIFY_IND* snsm_modify_ind) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
830 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
831 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
832 BOOL ack = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
833 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
834 TRACE_FUNCTION( "mg_mod_unack_ack" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
835 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
836 mg_delete_npdus(snsm_modify_ind->nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
837 sndcp_set_nsapi_ack(snsm_modify_ind->nsapi, TRUE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
838 sig_mg_nu_reset_ack(snsm_modify_ind->nsapi, 0, 0, TRUE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
839 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
840 * LL_ESTABLISH_IND expected, if the sapi is not in established mode. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
841 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
842 sndcp_get_sapi_ack(snsm_modify_ind->sapi, &ack); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
843 if (! ack) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
844 sndcp_data->mg.mod_expects |= MG_MOD_X_EST; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
845 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
846 } /* mg_mod_unack_ack() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
847 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
848 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
849 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
850 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
851 | Function : mg_start_re_est_timer | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
852 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
853 | Description : According to GSM 4.65, 6.2.1.4, starts re-establishment timer | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
854 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
855 | Parameters : affected sapi | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
856 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
857 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
858 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
859 LOCAL void mg_start_re_est_timer (UBYTE sapi) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
860 UBYTE sapi_index = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
861 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
862 TRACE_FUNCTION( "mg_start_re_est_timer" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
863 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
864 sndcp_get_sapi_index(sapi, &sapi_index); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
865 vsi_t_start(SNDCP_handle, sapi_index, MG_RE_EST_TIME); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
866 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
867 } /* mg_start_re_est_timer() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
868 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
869 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
870 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
871 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
872 /*==== PUBLIC FUNCTIONS =====================================================*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
873 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
874 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
875 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
876 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
877 | Function : mg_exp_re_est_timer | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
878 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
879 | Description : Re establishment timer has expired | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
880 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
881 | Parameters : sapi_index | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
882 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
883 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
884 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
885 GLOBAL void mg_exp_re_est_timer (UBYTE sapi_index) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
886 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
887 TRACE_FUNCTION( "mg_exp_re_est_timer" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
888 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
889 sndcp_data->su = & sndcp_data->su_base[sapi_index]; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
890 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
891 mg_re_negotiate_ack(sndcp_data->su->sapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
892 CAUSE_SN_NO_PEER_RESPONSE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
893 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
894 mg_re_negotiate_ack(sndcp_data->su->sapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
895 LL_RELCS_NO_PEER_RES); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
896 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
897 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
898 } /* mg_exp_re_est_timer() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
899 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
900 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
901 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
902 | Function : mg_ll_reset_ind | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
903 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
904 | Description : Handles the primitive LL_RESET_IND | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
905 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
906 | Parameters : *ll_reset_ind - Ptr to primitive payload | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
907 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
908 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
909 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
910 GLOBAL void mg_ll_reset_ind ( T_LL_RESET_IND *ll_reset_ind ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
911 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
912 UBYTE nsapi = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
913 UBYTE sapi_index = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
914 BOOL ack = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
915 UBYTE sapi = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
916 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
917 TRACE_FUNCTION( "mg_ll_reset_ind" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
918 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
919 switch( GET_STATE( MG ) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
920 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
921 case MG_DEFAULT: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
922 for (nsapi = 0; nsapi < SNDCP_NUMBER_OF_NSAPIS;nsapi++) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
923 BOOL used = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
924 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
925 sndcp_is_nsapi_used(nsapi, &used); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
926 if (! used) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
927 continue; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
928 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
929 sig_mg_nu_reset_ind(nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
930 sig_mg_nu_suspend(nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
931 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
932 sndcp_get_nsapi_sapi(nsapi, &sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
933 sndcp_get_nsapi_ack(nsapi, &ack); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
934 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
935 if (ack) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
936 sig_mg_sua_delete_pdus(nsapi, sapi, FALSE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
937 sig_mg_sda_reset_ind(nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
938 sig_mg_nd_suspend(nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
939 sndcp_set_nsapi_state(nsapi, MG_SEQ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
940 /* Set the flag as LL_ESTB_IND is expected | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
941 * before resend of buffered NPDU | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
942 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
943 sndcp_set_sapi_state(sapi, MG_EST_IND); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
944 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
945 sig_mg_su_delete_pdus(nsapi, sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
946 sig_mg_sd_reset_ind(nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
947 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
948 sig_mg_nd_reset_ind(nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
949 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
950 sig_mg_cia_reset_ind(); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
951 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
952 * Reset pending states and xid_block. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
953 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
954 for (sapi_index = 0; sapi_index < SNDCP_NUMBER_OF_SAPIS; sapi_index++) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
955 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
956 sapi = (sndcp_data->sua_base[sapi_index]).sapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
957 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
958 * Reset SUA and SU services | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
959 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
960 sig_mg_sua_n201(sapi, N201_I_DEFAULT); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
961 sig_mg_sua_reset_ind(sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
962 sig_mg_su_n201(sapi, N201_U_DEFAULT); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
963 sig_mg_su_reset_ind(sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
964 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
965 * cnf_xid_block and req_xid_block initialized. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
966 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
967 sndcp_reset_xid_block(&sndcp_data->mg.cnf_xid_block[sapi_index]); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
968 sndcp_reset_xid_block(&sndcp_data->mg.req_xid_block[sapi_index]); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
969 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
970 mg_reset_states_n_rej(sapi_index); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
971 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
972 * Init renegotiation counter and cur_xid_block with default values. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
973 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
974 sndcp_data->mg.renego[sapi_index] = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
975 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
976 sndcp_reset_xid_block(&sndcp_data->mg.cur_xid_block[sapi_index]); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
977 sig_mg_cia_new_xid (&sndcp_data->mg.cur_xid_block[sapi_index]); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
978 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
979 sndcp_data->mg.mod_expects = MG_MOD_X_NONE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
980 sndcp_data->mg.waiting_nsapis = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
981 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
982 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
983 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
984 TRACE_ERROR( "LL_RESET_IND unexpected" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
985 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
986 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
987 if (ll_reset_ind != NULL) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
988 PFREE (ll_reset_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
989 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
990 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
991 } /* mg_ll_reset_ind() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
992 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
993 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
994 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
995 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
996 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
997 | Function : mg_ll_establish_cnf | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
998 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
999 | Description : Handles the primitive LL_ESTABLISH_CNF | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1000 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1001 | Parameters : *ll_establish_cnf - Ptr to primitive payload | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1002 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1003 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1004 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1005 GLOBAL void mg_ll_establish_cnf ( T_LL_ESTABLISH_CNF *ll_establish_cnf ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1006 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1007 UBYTE sapi_index = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1008 USHORT state = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1009 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1010 TRACE_FUNCTION( "mg_ll_establish_cnf" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1011 TRACE_EVENT_P1("ll_establish_cnf->n201_i: %d", ll_establish_cnf->n201_i); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1012 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1013 sndcp_get_sapi_index(ll_establish_cnf->sapi, &sapi_index); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1014 switch( GET_STATE( MG ) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1015 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1016 case MG_DEFAULT: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1017 sndcp_get_sapi_state(ll_establish_cnf->sapi, &state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1018 if ((state & MG_EST) > 0) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1019 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1020 UBYTE dec_ret = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1021 UBYTE check_ret = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1022 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1023 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1024 * Reset all compressors at this SAPI in ack mode. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1025 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1026 mg_reset_comp_ack(ll_establish_cnf->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1027 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1028 * Set N201 values in uplink services. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1029 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1030 sig_mg_su_n201(ll_establish_cnf->sapi, ll_establish_cnf->n201_u); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1031 sig_mg_sua_n201(ll_establish_cnf->sapi, ll_establish_cnf->n201_i); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1032 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1033 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1034 * SDL label MG_EST_CNF_EST_XID_PENDING. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1035 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1036 mg_decode_xid(&(ll_establish_cnf->sdu), | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1037 &(sndcp_data->mg.cnf_xid_block[sapi_index]), | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1038 &dec_ret, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1039 ll_establish_cnf->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1040 if (dec_ret == MG_XID_OK) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1041 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1042 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1043 * SDL label MG_CHECK_CNF_XID_ACK | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1044 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1045 mg_check_cnf_xid(&check_ret, ll_establish_cnf->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1046 if (check_ret == MG_XID_OK) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1047 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1048 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1049 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1050 * This is now similar to the reaction to LL_XID_CNF: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1051 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1052 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1053 * SDL Label MG_CNF_OK_ACK | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1054 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1055 mg_set_cur_xid_block(ll_establish_cnf->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1056 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1057 * Reset nsapis or ntts that were assigned, but are not any more. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1058 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1059 mg_clean_xid(ll_establish_cnf->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1060 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1061 * Resume suspended data transfer on sapi will be done in | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1062 * mg_est_cnf_est_pending(ll_establish_cnf). | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1063 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1064 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1065 mg_est_cnf_est_pending(ll_establish_cnf); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1066 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1067 sndcp_get_sapi_state(ll_establish_cnf->sapi, &state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1068 if (((state & MG_XID_NEC) > 0) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1069 && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1070 ((state & MG_REL) == 0)) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1071 mg_resend_xid_if_nec(ll_establish_cnf->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1072 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1073 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1074 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1075 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1076 mg_re_negotiate_ack(ll_establish_cnf->sapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1077 CAUSE_SN_INVALID_XID); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1078 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1079 mg_re_negotiate_ack(ll_establish_cnf->sapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1080 SNSM_RELCS_INVALID_XID); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1081 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1082 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1083 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1084 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1085 mg_re_negotiate_ack(ll_establish_cnf->sapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1086 CAUSE_SN_INVALID_XID); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1087 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1088 mg_re_negotiate_ack(ll_establish_cnf->sapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1089 SNSM_RELCS_INVALID_XID); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1090 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1091 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1092 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1093 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1094 } else { /* if ((state & MG_EST) > 0) */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1095 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1096 PALLOC(ll_release_req, LL_RELEASE_REQ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1097 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1098 sndcp_unset_sapi_state(ll_release_req->sapi, MG_REL_NEC_PEER); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1099 ll_release_req->sapi = ll_establish_cnf->sapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1100 ll_release_req->local = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1101 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1102 * Set the "state" for the affected sapi to MG_REL. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1103 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1104 sndcp_set_sapi_state(ll_establish_cnf->sapi, MG_REL); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1105 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1106 PSEND(hCommLLC, ll_release_req); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1107 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1108 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1109 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1110 TRACE_ERROR( "LL_ESTABLISH_CNF unexpected" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1111 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1112 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1113 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1114 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1115 * Establish confirm has been computed. If no new XID is pending, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1116 * the req_xid_block may be reset. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1117 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1118 sndcp_get_sapi_state(ll_establish_cnf->sapi, &state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1119 if (((state & MG_XID) == 0) && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1120 ((state & MG_EST) == 0)) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1121 sndcp_reset_xid_block(&sndcp_data->mg.req_xid_block[sapi_index]); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1122 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1123 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1124 if (ll_establish_cnf != NULL) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1125 PFREE(ll_establish_cnf); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1126 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1127 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1128 } /* mg_ll_establish_cnf() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1129 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1130 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1131 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1132 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1133 | Function : mg_ll_status_ind | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1134 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1135 | Description : Handles the primitive LL_STATUS_IND | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1136 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1137 | Parameters : *ll_status_ind - Ptr to primitive payload | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1138 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1139 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1140 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1141 GLOBAL void mg_ll_status_ind ( T_LL_STATUS_IND *ll_status_ind ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1142 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1143 USHORT sapi_state = MG_IDLE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1144 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1145 TRACE_FUNCTION( "mg_ll_status_ind" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1146 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1147 switch( GET_STATE( MG ) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1148 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1149 case MG_DEFAULT: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1150 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1151 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1152 PALLOC(snsm_status_req, SN_STATUS_IND); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1153 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1154 PALLOC(snsm_status_req, SNSM_STATUS_REQ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1155 #endif | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1156 snsm_status_req->sapi = ll_status_ind->sapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1157 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1158 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1159 snsm_status_req->ps_cause.ctrl_value = CAUSE_is_from_llc; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1160 snsm_status_req->ps_cause.value.llc_cause = | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1161 #ifdef SNDCP_2to1 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1162 mg_ll_status_to_snsm_status(ll_status_ind->ps_cause.value.llc_cause); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1163 #else /*SNDCP_2to1*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1164 mg_ll_status_to_snsm_status(ll_status_ind->error_cause); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1165 #endif /*SNDCP_2to1*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1166 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1167 PSEND(hCommUPM, snsm_status_req); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1168 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1169 #else /*SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1170 snsm_status_req->status_cause = | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1171 #ifdef _SNDCP_DTI_2_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1172 mg_ll_status_to_snsm_status(ll_status_ind->error_cause); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1173 #else /* _SNDCP_DTI_2_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1174 (U8)mg_ll_status_to_snsm_status(ll_status_ind->error_cause); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1175 #endif /* _SNDCP_DTI_2_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1176 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1177 PSEND(hCommSM, snsm_status_req); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1178 #endif /*SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1179 sndcp_get_sapi_state(ll_status_ind->sapi, &sapi_state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1180 if ((sapi_state & MG_XID) != 0) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1181 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1182 sig_mg_su_resume(ll_status_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1183 sig_mg_sua_resume(ll_status_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1184 mg_resume_affected_nus(ll_status_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1185 sndcp_unset_sapi_state (ll_status_ind->sapi, MG_XID); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1186 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1187 if ((sapi_state & MG_EST) != 0) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1188 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1189 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1190 if (snsm_status_req->ps_cause.value.llc_cause == | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1191 CAUSE_LLC_NO_PEER_RES) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1192 #else /* SNDCP_UPM_INCLUDED */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1193 #ifdef _SNDCP_DTI_2_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1194 if (snsm_status_req->status_cause == LL_RELCS_NO_PEER_RES) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1195 #else /*_SNDCP_DTI_2_*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1196 if (snsm_status_req->status_cause == SNSM_RELCS_NO_PEER_RES) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1197 #endif /* _SNDCP_DTI_2_*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1198 #endif /* SNDCP_UPM_INCLUDED */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1199 mg_start_re_est_timer(ll_status_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1200 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1201 sig_mg_su_resume(ll_status_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1202 sig_mg_sua_resume(ll_status_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1203 mg_resume_affected_nus(ll_status_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1204 sndcp_unset_sapi_state (ll_status_ind->sapi, MG_EST); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1205 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1206 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1207 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1208 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1209 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1210 TRACE_ERROR( "LL_STATUS_IND unexpected" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1211 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1212 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1213 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1214 if (ll_status_ind != NULL) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1215 PFREE(ll_status_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1216 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1217 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1218 } /* mg_ll_status_ind() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1219 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1220 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1221 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1222 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1223 | Function : mg_ll_establish_ind | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1224 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1225 | Description : Handles the primitive LL_ESTABLISH_IND | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1226 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1227 | Parameters : *ll_establish_ind - Ptr to primitive payload | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1228 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1229 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1230 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1231 GLOBAL void mg_ll_establish_ind ( T_LL_ESTABLISH_IND *ll_establish_ind ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1232 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1233 USHORT sapi_state = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1234 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1235 TRACE_FUNCTION( "mg_ll_establish_ind" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1236 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1237 switch( GET_STATE( MG ) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1238 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1239 case MG_DEFAULT: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1240 sndcp_unset_sapi_state(ll_establish_ind->sapi, MG_EST_IND); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1241 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1242 * Reset all compressors at this SAPI in ack mode. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1243 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1244 mg_reset_comp_ack(ll_establish_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1245 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1246 * If prim has been expected in course of modification, here it is. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1247 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1248 sndcp_data->mg.mod_expects &= ~ MG_MOD_X_EST; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1249 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1250 * Do we have a collision? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1251 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1252 sndcp_get_sapi_state(ll_establish_ind->sapi, &sapi_state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1253 if ((sapi_state & MG_REL) > 0) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1254 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1255 PFREE(ll_establish_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1256 return; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1257 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1258 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1259 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1260 if (((sapi_state & MG_XID) > 0) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1261 || | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1262 ((sapi_state & MG_EST) > 0)) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1263 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1264 * Is the establishment a re-establishment? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1265 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1266 BOOL re = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1267 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1268 sndcp_get_sapi_ack(ll_establish_ind->sapi, &re); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1269 if (re) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1270 mg_col_re(ll_establish_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1271 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1272 mg_col_no_re(ll_establish_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1273 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1274 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1275 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1276 * Is the establishment a re-establishment? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1277 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1278 BOOL re = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1279 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1280 sndcp_get_sapi_ack(ll_establish_ind->sapi, &re); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1281 if (re) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1282 mg_no_col_re(ll_establish_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1283 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1284 mg_no_col_no_re(ll_establish_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1285 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1286 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1287 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1288 * Now send snsm_modify_res, if expected. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1289 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1290 mg_mod_res_if_nec(); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1291 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1292 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1293 TRACE_ERROR( "LL_ESTABLISH_IND unexpected" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1294 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1295 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1296 if (ll_establish_ind != NULL) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1297 PFREE(ll_establish_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1298 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1299 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1300 } /* mg_ll_establish_ind() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1301 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1302 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1303 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1304 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1305 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1306 | Function : mg_ll_release_cnf | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1307 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1308 | Description : Handles the primitive LL_RELEASE_CNF | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1309 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1310 | Parameters : *ll_release_cnf - Ptr to primitive payload | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1311 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1312 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1313 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1314 GLOBAL void mg_ll_release_cnf ( T_LL_RELEASE_CNF *ll_release_cnf ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1315 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1316 UBYTE nsapi = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1317 USHORT nsapi_state = MG_IDLE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1318 UBYTE sapi = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1319 USHORT sapi_state = MG_IDLE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1320 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1321 TRACE_FUNCTION( "mg_ll_release_cnf" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1322 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1323 switch( GET_STATE( MG ) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1324 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1325 case MG_DEFAULT: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1326 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1327 * Reset all compressors at this SAPI in ack mode. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1328 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1329 mg_reset_comp_ack(ll_release_cnf->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1330 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1331 for (nsapi = 0; nsapi < SNDCP_NUMBER_OF_NSAPIS; nsapi++) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1332 sndcp_get_nsapi_state(nsapi, &nsapi_state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1333 sndcp_get_nsapi_sapi(nsapi, &sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1334 sndcp_get_sapi_state(ll_release_cnf->sapi, &sapi_state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1335 if (((sapi_state & MG_REL) > 0 ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1336 && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1337 ((nsapi_state & MG_DEACT) > 0 ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1338 && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1339 ((sapi_state & MG_XID) == 0 )) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1340 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1341 * Release is now completed, negotiate XID or deactivate context. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1342 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1343 if (sapi == ll_release_cnf->sapi) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1344 BOOL nec = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1345 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1346 mg_is_rel_comp_nec(nsapi, &nec); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1347 if (nec) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1348 sndcp_set_sapi_state(sapi, MG_XID_NEC); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1349 sndcp_get_sapi_state(sapi, &sapi_state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1350 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1351 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1352 PALLOC(snsm_deactivate_res, SN_DEACTIVATE_CNF); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1353 snsm_deactivate_res->nsapi = nsapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1354 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1355 PALLOC(snsm_deactivate_res, SNSM_DEACTIVATE_RES); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1356 snsm_deactivate_res->nsapi = nsapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1357 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1358 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1359 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1360 * Now the NSAPI is not in use anymore: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1361 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1362 sndcp_set_nsapi_used(nsapi, FALSE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1363 sndcp_set_nsapi_ack(nsapi, FALSE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1364 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1365 * Set the "state" of the nsapi. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1366 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1367 sndcp_unset_nsapi_state(nsapi, MG_DEACT); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1368 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1369 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1370 PSEND(hCommUPM, snsm_deactivate_res); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1371 #else /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1372 PSEND(hCommSM, snsm_deactivate_res); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1373 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1374 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1375 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1376 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1377 if (((sapi_state & MG_REL) > 0 ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1378 && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1379 ((nsapi_state & MG_DEACT) > 0 ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1380 && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1381 ((sapi_state & MG_XID_NEC) > 0 )) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1382 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1383 * Release is now completed, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1384 * Remove nspi from compressor. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1385 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1386 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1387 * Suspend uplink transfer for affected sapi. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1388 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1389 sig_mg_su_suspend(sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1390 sig_mg_sua_suspend(sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1391 mg_suspend_affected_nus(sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1392 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1393 * Negotiate possible deactivation of compressors. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1394 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1395 mg_send_xid_req_del(sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1396 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1397 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1398 sndcp_set_sapi_ack(ll_release_cnf->sapi, FALSE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1399 sndcp_unset_sapi_state(ll_release_cnf->sapi, MG_REL); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1400 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1401 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1402 TRACE_ERROR( "LL_RELEASE_CNF unexpected" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1403 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1404 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1405 if (ll_release_cnf != NULL) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1406 PFREE(ll_release_cnf); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1407 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1408 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1409 } /* mg_ll_release_cnf() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1410 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1411 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1412 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1413 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1414 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1415 | Function : mg_ll_release_ind | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1416 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1417 | Description : Handles the primitive LL_RELEASE_IND | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1418 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1419 | Parameters : *ll_release_ind - Ptr to primitive payload | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1420 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1421 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1422 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1423 GLOBAL void mg_ll_release_ind ( T_LL_RELEASE_IND *ll_release_ind ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1424 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1425 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1426 USHORT sapi_state = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1427 U8 sapi_index = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1428 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1429 TRACE_FUNCTION( "mg_ll_release_ind" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1430 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1431 switch( GET_STATE( MG ) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1432 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1433 case MG_DEFAULT: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1434 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1435 sndcp_unset_sapi_state(ll_release_ind->sapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1436 MG_REL_NEC_LOC + MG_REL_NEC_PEER); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1437 sndcp_get_sapi_state(ll_release_ind->sapi, &sapi_state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1438 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1439 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1440 * Service sda may now leave state SDA_ESTABLISH_REQUESTED. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1441 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1442 sig_mg_sda_end_est(ll_release_ind->sapi, FALSE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1443 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1444 #ifdef SNDCP_2to1 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1445 if (((sapi_state & MG_EST) > 0) && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1446 ((ll_release_ind->ps_cause.ctrl_value == CAUSE_is_from_llc) && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1447 (ll_release_ind->ps_cause.value.llc_cause == CAUSE_LLC_NO_PEER_RES))) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1448 #else /*SNDCP_2to1*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1449 if (((sapi_state & MG_EST) > 0) && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1450 (ll_release_ind->cause == LL_RELCS_NO_PEER_RES)) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1451 #endif /*SNDCP_2to1*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1452 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1453 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1454 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1455 * SNDCP waits for LL_ESTABLISH_CNF and cause is "no peer response". | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1456 * According to GSM 4.65, 6.2.1.4 a re-establishment is tried after an | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1457 * implementation specific amount of time. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1458 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1459 mg_start_re_est_timer(ll_release_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1460 PFREE(ll_release_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1461 return; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1462 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1463 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1464 sndcp_unset_sapi_state(ll_release_ind->sapi, MG_EST); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1465 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1466 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1467 if ((sapi_state & MG_REL) > 0) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1468 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1469 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1470 * SNDCP waits for LL_ESTABLISH_CNF and cause is "no peer response". | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1471 * According to GSM 4.65, 6.2.1.4 a re-establishment is tried after an | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1472 * implementation specific amount of time. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1473 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1474 PALLOC (ll_release_cnf, LL_RELEASE_CNF); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1475 ll_release_cnf->sapi = ll_release_ind->sapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1476 mg_ll_release_cnf(ll_release_cnf); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1477 PFREE(ll_release_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1478 return; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1479 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1480 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1481 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1482 * Reset all compressors at this SAPI in ack mode. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1483 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1484 mg_reset_comp_ack(ll_release_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1485 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1486 * If release has been expected in course of modification, here it is. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1487 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1488 if ((sndcp_data->mg.mod_expects & MG_MOD_X_REL) > 0) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1489 sndcp_data->mg.mod_expects -= MG_MOD_X_REL; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1490 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1491 mg_del_comp_pdus_ack(ll_release_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1492 sig_mg_su_resume(ll_release_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1493 sig_mg_sua_resume(ll_release_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1494 mg_resume_affected_nus(ll_release_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1495 #ifdef SNDCP_2to1 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1496 if (((ll_release_ind->ps_cause.ctrl_value == CAUSE_is_from_llc)&& | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1497 (ll_release_ind->ps_cause.value.llc_cause == CAUSE_LLC_DM_RECEIVED)) || | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1498 ((ll_release_ind->ps_cause.ctrl_value == CAUSE_is_from_llc)&& | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1499 (ll_release_ind->ps_cause.value.llc_cause == CAUSE_LLC_INVALID_XID)) || | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1500 ((ll_release_ind->ps_cause.ctrl_value == CAUSE_is_from_llc)&& | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1501 (ll_release_ind->ps_cause.value.llc_cause == CAUSE_LLC_NO_PEER_RES))) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1502 #else /*SNDCP_2to1*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1503 if (ll_release_ind->cause == LL_RELCS_DM_RECEIVED || | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1504 ll_release_ind->cause == LL_RELCS_INVALID_XID || | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1505 ll_release_ind->cause == LL_RELCS_NO_PEER_RES) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1506 #endif /*SNDCP_2to1*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1507 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1508 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1509 PALLOC (snsm_status_req, SN_STATUS_IND); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1510 #ifdef SNDCP_2to1 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1511 if((ll_release_ind->ps_cause.ctrl_value == CAUSE_is_from_llc)&& | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1512 (ll_release_ind->ps_cause.value.llc_cause == CAUSE_LLC_DM_RECEIVED)){ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1513 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1514 if (ll_release_ind->cause == LL_RELCS_DM_RECEIVED){ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1515 #endif | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1516 UBYTE nsapi, sapi = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1517 USHORT nsapi_set = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1518 for (nsapi = 0; nsapi < SNDCP_NUMBER_OF_NSAPIS; nsapi++){ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1519 sndcp_get_nsapi_sapi(nsapi, &sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1520 if(sapi == ll_release_ind->sapi){ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1521 BOOL ack = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1522 sndcp_get_nsapi_ack(nsapi, &ack); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1523 if(ack){ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1524 nsapi_set |= (1 << nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1525 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1526 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1527 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1528 snsm_status_req->nsapi_set = nsapi_set; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1529 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1530 snsm_status_req->sapi = ll_release_ind->sapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1531 snsm_status_req->ps_cause.ctrl_value = CAUSE_is_from_llc; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1532 snsm_status_req->ps_cause.value.llc_cause = | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1533 #ifdef SNDCP_2to1 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1534 mg_ll_release_to_snsm_status(ll_release_ind->ps_cause.value.llc_cause); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1535 #else /*SNDCP_2to1*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1536 mg_ll_release_to_snsm_status(ll_release_ind->cause); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1537 #endif /*SNDCP_2to1*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1538 PSEND(hCommUPM, snsm_status_req); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1539 #else /* SNDCP_UPM_INCLUDED */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1540 PALLOC (snsm_status_req, SNSM_STATUS_REQ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1541 snsm_status_req->sapi = ll_release_ind->sapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1542 snsm_status_req->status_cause = | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1543 #ifdef _SNDCP_DTI_2_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1544 mg_ll_release_to_snsm_status(ll_release_ind->cause); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1545 #else /* _SNDCP_DTI_2_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1546 (U8)mg_ll_release_to_snsm_status(ll_release_ind->cause); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1547 #endif /* _SNDCP_DTI_2_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1548 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1549 PSEND(hCommSM, snsm_status_req); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1550 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1551 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1552 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1553 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1554 sndcp_set_sapi_ack(ll_release_ind->sapi, FALSE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1555 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1556 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1557 * Now send snsm_modify_res, if expected. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1558 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1559 mg_mod_res_if_nec(); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1560 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1561 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1562 TRACE_ERROR( "LL_RELEASE_IND unexpected" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1563 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1564 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1565 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1566 * Establish confirm has been computed. If no new XID is pending, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1567 * the req_xid_block may be reset. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1568 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1569 sndcp_get_sapi_index(ll_release_ind->sapi, &sapi_index); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1570 sndcp_get_sapi_state(ll_release_ind->sapi, &sapi_state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1571 if (((sapi_state & MG_XID) == 0) && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1572 ((sapi_state & MG_EST) == 0)) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1573 sndcp_reset_xid_block(&sndcp_data->mg.req_xid_block[sapi_index]); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1574 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1575 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1576 if (ll_release_ind != NULL) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1577 PFREE(ll_release_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1578 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1579 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1580 } /* mg_ll_release_ind() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1581 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1582 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1583 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1584 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1585 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1586 | Function : mg_ll_xid_cnf | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1587 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1588 | Description : Handles the primitive LL_XID_CNF | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1589 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1590 | Parameters : *ll_xid_cnf - Ptr to primitive payload | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1591 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1592 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1593 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1594 GLOBAL void mg_ll_xid_cnf ( T_LL_XID_CNF* ll_xid_cnf ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1595 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1596 UBYTE dec_ret = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1597 UBYTE check_ret = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1598 UBYTE sapi_index = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1599 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1600 TRACE_FUNCTION( "mg_ll_xid_cnf" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1601 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1602 sndcp_get_sapi_index(ll_xid_cnf->sapi, &sapi_index); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1603 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1604 #ifdef SNDCP_TRACE_ALL | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1605 TRACE_EVENT("incoming xid block:"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1606 sndcp_trace_sdu(&ll_xid_cnf->sdu); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1607 #endif | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1608 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1609 switch( GET_STATE( MG ) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1610 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1611 case MG_DEFAULT: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1612 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1613 sndcp_unset_sapi_state(ll_xid_cnf->sapi, MG_XID); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1614 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1615 mg_decode_xid(&(ll_xid_cnf->sdu), | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1616 &(sndcp_data->mg.cnf_xid_block[sapi_index]), | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1617 &dec_ret, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1618 ll_xid_cnf->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1619 if (dec_ret == MG_XID_OK) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1620 mg_check_cnf_xid(&check_ret, ll_xid_cnf->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1621 if (check_ret == MG_XID_OK) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1622 USHORT sapi_state = MG_IDLE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1623 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1624 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1625 * SDL Label MG_CNF_OK | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1626 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1627 mg_set_cur_xid_block(ll_xid_cnf->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1628 mg_xid_cnf_ok_res(ll_xid_cnf->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1629 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1630 * Reset nsapis or ntts that were assigned, but are not any more. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1631 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1632 mg_clean_xid(ll_xid_cnf->sapi), | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1633 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1634 * Set n201. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1635 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1636 sig_mg_su_n201 (ll_xid_cnf->sapi, ll_xid_cnf->n201_u); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1637 sig_mg_sua_n201 (ll_xid_cnf->sapi, ll_xid_cnf->n201_i); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1638 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1639 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1640 * Resume suspended data transfer on sapi. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1641 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1642 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1643 sndcp_get_sapi_state(ll_xid_cnf->sapi, &sapi_state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1644 if (((sapi_state & MG_XID) == 0) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1645 && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1646 ((sapi_state & MG_EST) == 0)) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1647 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1648 sig_mg_su_resume(ll_xid_cnf->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1649 sig_mg_sua_resume(ll_xid_cnf->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1650 mg_resume_affected_nus(ll_xid_cnf->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1651 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1652 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1653 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1654 * Now get downlink data. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1655 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1656 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1657 mg_get_downlink_data(ll_xid_cnf->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1658 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1659 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1660 * XID confirm has been computed. The negotiation is finished and | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1661 * the req_xid_block may be reset. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1662 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1663 sndcp_get_sapi_state(ll_xid_cnf->sapi, &sapi_state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1664 if (((sapi_state & MG_XID) == 0) && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1665 ((sapi_state & MG_EST) == 0)) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1666 sndcp_reset_xid_block(&sndcp_data->mg.req_xid_block[sapi_index]); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1667 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1668 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1669 mg_re_negotiate(ll_xid_cnf->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1670 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1671 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1672 mg_re_negotiate(ll_xid_cnf->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1673 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1674 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1675 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1676 TRACE_ERROR( "LL_XID_CNF unexpected" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1677 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1678 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1679 if (ll_xid_cnf != NULL) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1680 PFREE(ll_xid_cnf); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1681 sndcp_reset_xid_block(&sndcp_data->mg.cnf_xid_block[sapi_index]); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1682 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1683 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1684 } /* mg_ll_xid_cnf() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1685 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1686 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1687 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1688 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1689 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1690 | Function : mg_ll_xid_ind | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1691 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1692 | Description : Handles the primitive LL_XID_IND | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1693 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1694 | Parameters : *ll_xid_ind - Ptr to primitive payload | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1695 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1696 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1697 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1698 GLOBAL void mg_ll_xid_ind ( T_LL_XID_IND *ll_xid_ind ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1699 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1700 UBYTE dec_ret = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1701 UBYTE check_ret = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1702 UBYTE sapi_index = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1703 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1704 TRACE_FUNCTION( "mg_ll_xid_ind" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1705 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1706 sndcp_get_sapi_index(ll_xid_ind->sapi, &sapi_index); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1707 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1708 switch( GET_STATE( MG ) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1709 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1710 case MG_DEFAULT: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1711 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1712 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1713 * Set N201 values in uplink services. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1714 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1715 sig_mg_su_n201(ll_xid_ind->sapi, ll_xid_ind->n201_u); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1716 sig_mg_sua_n201(ll_xid_ind->sapi, ll_xid_ind->n201_i); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1717 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1718 TRACE_EVENT_P3("l3_valid: %d, N201_I: %d, N201_U: %d", | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1719 ll_xid_ind->xid_valid, ll_xid_ind->n201_i, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1720 ll_xid_ind->n201_i); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1721 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1722 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1723 * If SNDCP XID block is not valid, we are ready. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1724 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1725 if (ll_xid_ind->xid_valid == LL_XID_INVALID) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1726 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1727 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1728 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1729 * SNDCP XID block is valid and checked now. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1730 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1731 mg_decode_xid(&(ll_xid_ind->sdu), | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1732 &(sndcp_data->mg.ind_xid_block[sapi_index]), | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1733 &dec_ret, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1734 ll_xid_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1735 if (dec_ret == MG_XID_OK) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1736 mg_check_ind_xid(&check_ret, ll_xid_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1737 if (check_ret == MG_XID_OK) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1738 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1739 * Label MG_IND_OK | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1740 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1741 USHORT res_sdu_bit_len = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1742 UBYTE ntt = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1743 BOOL v42_rej = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1744 BOOL vj_rej = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1745 USHORT sapi_state = MG_IDLE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1746 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1747 mg_set_res_cur_xid_block(ll_xid_ind->sapi, &res_sdu_bit_len); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1748 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1749 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1750 * Add the extra space for ntts with nsapis == 0. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1751 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1752 for (ntt = 0; ntt < MG_MAX_ENTITIES; ntt++) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1753 BOOL rej = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1754 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1755 mg_get_sapi_dntt_rej(ll_xid_ind->sapi, ntt, &rej); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1756 if (rej) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1757 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1758 * length of ntt octet and nsapis. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1759 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1760 res_sdu_bit_len += 32; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1761 v42_rej = TRUE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1762 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1763 mg_get_sapi_pntt_rej(ll_xid_ind->sapi, ntt, &rej); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1764 if (rej) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1765 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1766 * length of ntt octet and nsapis. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1767 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1768 res_sdu_bit_len += 32; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1769 vj_rej = TRUE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1770 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1771 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1772 if (! sndcp_data->mg.ind_xid_block[sapi_index].v42.is_set && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1773 v42_rej) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1774 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1775 * Add length of parameter type and length. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1776 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1777 res_sdu_bit_len += 16; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1778 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1779 if (! sndcp_data->mg.ind_xid_block[sapi_index].vj.is_set && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1780 vj_rej) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1781 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1782 * Add length of parameter type and length. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1783 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1784 res_sdu_bit_len += 16; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1785 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1786 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1787 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1788 PALLOC_SDU (ll_xid_res, LL_XID_RES, res_sdu_bit_len); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1789 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1790 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1791 * Set sapi in ll_xid_res. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1792 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1793 ll_xid_res->sapi = ll_xid_ind->sapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1794 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1795 * Write res_xid_block struct to sdu byte buffer. Implementation dep.. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1796 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1797 mg_set_res_xid_params(&ll_xid_res->sdu, ll_xid_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1798 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1799 * Mark the affected nsapi and sapi as MG_XID_IDLE. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1800 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1801 sndcp_unset_sapi_state(ll_xid_ind->sapi, MG_XID); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1802 sndcp_unset_sapi_state(ll_xid_ind->sapi, MG_EST); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1803 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1804 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1805 * Send the XID block to LLC. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1806 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1807 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1808 #ifdef SNDCP_RANGE_CHECK | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1809 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1810 if(ll_xid_res EQ NULL) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1811 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1812 TRACE_EVENT("ERROR: ll_xid_res is NULL"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1813 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1814 else if(*((ULONG*)ll_xid_res - 7) NEQ 0) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1815 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1816 TRACE_EVENT("ERROR in SNDCP: ll_xid_res is not allocated"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1817 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1818 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1819 #endif /* SNDCP_RANGE_CHECK */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1820 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1821 PSEND(hCommLLC, ll_xid_res); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1822 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1823 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1824 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1825 * Reset nsapis or ntts that were assigned, but are not any more. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1826 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1827 mg_clean_xid(ll_xid_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1828 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1829 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1830 * If there was a collision and xid has not been negotiated | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1831 * sufficiently. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1832 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1833 mg_resend_xid_if_nec(ll_xid_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1834 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1835 * If activation or deactivation is pending, it will be responded if | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1836 * no xid_req is pending. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1837 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1838 sndcp_get_sapi_state(ll_xid_ind->sapi, &sapi_state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1839 if ((sapi_state & MG_XID) == 0) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1840 mg_xid_cnf_ok_res(ll_xid_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1841 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1842 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1843 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1844 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1845 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1846 * not (check_ret == MG_IND_XID_OK) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1847 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1848 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1849 * Label MG_CHECK_FAIL | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1850 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1851 USHORT res_sdu_bit_len = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1852 UBYTE ntt = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1853 BOOL v42_rej = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1854 BOOL vj_rej = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1855 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1856 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1857 * Add the extra space for ntts with nsapis == 0. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1858 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1859 for (ntt = 0; ntt < MG_MAX_ENTITIES; ntt++) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1860 BOOL rej = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1861 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1862 mg_get_sapi_dntt_rej(ll_xid_ind->sapi, ntt, &rej); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1863 if (rej) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1864 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1865 * length of ntt octet and nsapis. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1866 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1867 res_sdu_bit_len += 32; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1868 v42_rej = TRUE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1869 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1870 mg_get_sapi_pntt_rej(ll_xid_ind->sapi, ntt, &rej); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1871 if (rej) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1872 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1873 * length of ntt octet and nsapis. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1874 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1875 res_sdu_bit_len += 32; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1876 vj_rej = TRUE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1877 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1878 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1879 if (v42_rej) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1880 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1881 * Add length of parameter type and length. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1882 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1883 res_sdu_bit_len += 16; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1884 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1885 if (vj_rej) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1886 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1887 * Add length of parameter type and length. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1888 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1889 res_sdu_bit_len += 16; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1890 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1891 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1892 * Allocate response and send it. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1893 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1894 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1895 PALLOC_SDU (ll_xid_res, LL_XID_RES, res_sdu_bit_len); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1896 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1897 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1898 * Reset res_xid_block, ind_xid_block. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1899 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1900 sndcp_reset_xid_block(&sndcp_data->mg.res_xid_block[sapi_index]); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1901 sndcp_reset_xid_block(&sndcp_data->mg.ind_xid_block[sapi_index]); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1902 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1903 * Set sapi in ll_xid_res. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1904 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1905 ll_xid_res->sapi = ll_xid_ind->sapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1906 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1907 * Write res_xid_block struct to sdu byte buffer. Implementation dep.. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1908 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1909 mg_set_res_xid_params(&ll_xid_res->sdu, ll_xid_res->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1910 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1911 * Modify the affected sapi state. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1912 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1913 sndcp_unset_sapi_state(ll_xid_ind->sapi, MG_XID); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1914 sndcp_unset_sapi_state(ll_xid_ind->sapi, MG_EST); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1915 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1916 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1917 * Send the XID block to LLC. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1918 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1919 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1920 #ifdef SNDCP_RANGE_CHECK | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1921 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1922 if(ll_xid_res EQ NULL) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1923 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1924 TRACE_EVENT("ERROR: ll_xid_res is NULL"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1925 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1926 else if(*((ULONG*)ll_xid_res - 7) NEQ 0) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1927 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1928 TRACE_EVENT("ERROR in SNDCP: ll_xid_res is not allocated"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1929 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1930 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1931 #endif /* SNDCP_RANGE_CHECK */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1932 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1933 PSEND(hCommLLC, ll_xid_res); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1934 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1935 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1936 * If there was a collision and xid has not been negotiated | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1937 * sufficiently. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1938 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1939 mg_resend_xid_if_nec(ll_xid_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1940 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1941 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1942 * Reset nsapis or ntts that were assigned before | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1943 * but are not anymore. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1944 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1945 mg_clean_xid(ll_xid_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1946 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1947 * Allocate status req and send it (label MG_SEND_STATUS_REQ). | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1948 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1949 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1950 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1951 PALLOC (snsm_status_req, SN_STATUS_IND); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1952 snsm_status_req->sapi = ll_xid_ind->sapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1953 snsm_status_req->ps_cause.ctrl_value = CAUSE_is_from_sndcp; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1954 snsm_status_req->ps_cause.value.sn_cause = CAUSE_SN_INVALID_XID; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1955 PSEND(hCommUPM, snsm_status_req); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1956 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1957 PALLOC (snsm_status_req, SNSM_STATUS_REQ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1958 snsm_status_req->sapi = ll_xid_ind->sapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1959 snsm_status_req->status_cause = SNSM_RELCS_INVALID_XID; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1960 PSEND(hCommSM, snsm_status_req); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1961 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1962 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1963 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1964 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1965 } else { /* not if (dec_ret == MG_XID_OK) */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1966 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1967 * Reset nsapis or ntts that were assigned before | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1968 * but are not anymore. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1969 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1970 sndcp_reset_xid_block(&sndcp_data->mg.cur_xid_block[sapi_index]); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1971 mg_clean_xid(ll_xid_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1972 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1973 * Decoding of LL_XID_IND failed (label MG_SEND_STATUS_REQ). | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1974 * Allocate status req and send it. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1975 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1976 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1977 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1978 PALLOC (snsm_status_req, SN_STATUS_IND); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1979 snsm_status_req->sapi = ll_xid_ind->sapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1980 snsm_status_req->ps_cause.ctrl_value = CAUSE_is_from_sndcp; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1981 snsm_status_req->ps_cause.value.sn_cause = CAUSE_SN_INVALID_XID; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1982 PSEND(hCommUPM, snsm_status_req); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1983 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1984 PALLOC (snsm_status_req, SNSM_STATUS_REQ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1985 snsm_status_req->sapi = ll_xid_ind->sapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1986 snsm_status_req->status_cause = SNSM_RELCS_INVALID_XID; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1987 PSEND(hCommSM, snsm_status_req); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1988 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1989 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1990 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1991 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1992 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1993 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1994 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1995 TRACE_ERROR( "LL_XID_IND unexpected" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1996 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1997 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1998 if (ll_xid_ind != NULL) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1999 sndcp_reset_xid_block(&sndcp_data->mg.ind_xid_block[sapi_index]); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2000 PFREE(ll_xid_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2001 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2002 } /* mg_ll_xid_ind() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2003 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2004 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2005 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2006 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2007 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2008 | Function : mg_snsm_activate_ind | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2009 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2010 | Description : Handles the primitive SNSM_ACTIVATE_IND | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2011 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2012 | Parameters : *snsm_activate_ind - Ptr to primitive payload | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2013 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2014 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2015 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2016 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2017 GLOBAL void mg_snsm_activate_ind ( T_SN_ACTIVATE_REQ *snsm_activate_ind ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2018 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2019 GLOBAL void mg_snsm_activate_ind ( T_SNSM_ACTIVATE_IND *snsm_activate_ind ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2020 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2021 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2022 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2023 * is nsapi already used? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2024 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2025 BOOL used = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2026 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2027 * is LLC mode specified (TRUE) or should the subscribed one be used | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2028 * (FALSE) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2029 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2030 BOOL spec = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2031 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2032 * should the context use acknowledged LLC operation mode? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2033 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2034 BOOL b = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2035 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2036 TRACE_FUNCTION( "mg_snsm_activate_ind" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2037 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2038 #ifndef NCONFIG | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2039 if (sndcp_data->millis > 0) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2040 vsi_t_sleep(VSI_CALLER sndcp_data->millis); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2041 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2042 #endif /* NCONFIG */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2043 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2044 switch( GET_STATE( MG ) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2045 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2046 case MG_DEFAULT: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2047 sndcp_is_nsapi_used(snsm_activate_ind->nsapi, &used); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2048 if (used == FALSE) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2049 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2050 USHORT sapi_state = MG_IDLE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2051 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2052 sndcp_set_nsapi_state(snsm_activate_ind->nsapi, MG_ACT); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2053 sndcp_reset_nd_nsapi_npdu_num(snsm_activate_ind->nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2054 sndcp_set_nsapi_used(snsm_activate_ind->nsapi, TRUE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2055 sndcp_set_nsapi_qos(snsm_activate_ind->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2056 snsm_activate_ind->snsm_qos); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2057 sndcp_set_nsapi_sapi(snsm_activate_ind->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2058 snsm_activate_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2059 sndcp_set_nsapi_prio(snsm_activate_ind->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2060 snsm_activate_ind->radio_prio); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2061 #ifdef REL99 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2062 sndcp_set_nsapi_pktflowid(snsm_activate_ind->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2063 snsm_activate_ind->pkt_flow_id); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2064 #endif /*REL 99*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2065 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2066 #if 0 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2067 #ifdef _SNDCP_DTI_2_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2068 #ifndef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2069 if (snsm_activate_ind->dti_direction == DTI_CHANNEL_TO_LOWER_LAYER) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2070 /* new constant instead of SNSM HOME , replaced by DTI_CHANNEL_TO_LOWER_LAYER */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2071 sndcp_set_nsapi_direction(snsm_activate_ind->nsapi, DTI_CHANNEL_TO_LOWER_LAYER); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2072 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2073 sndcp_set_nsapi_direction(snsm_activate_ind->nsapi, DTI_CHANNEL_TO_HIGHER_LAYER); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2074 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2075 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2076 sndcp_set_nsapi_linkid(snsm_activate_ind->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2077 snsm_activate_ind->dti_linkid); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2078 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2079 sndcp_set_nsapi_neighbor(snsm_activate_ind->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2080 #ifdef _SIMULATION_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2081 (snsm_activate_ind->dti_neighbor == | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2082 0xabcdabcd | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2083 ? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2084 "PPP" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2085 : | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2086 "NULL") | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2087 #else /* _SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2088 (U8*)snsm_activate_ind->dti_neighbor | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2089 #endif /* _SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2090 ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2091 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2092 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2093 #else /*_SNDCP_DTI_2_*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2094 if (snsm_activate_ind->dti_direction == SNSM_HOME) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2095 /* new constant instead of HOME, but the comiler switch! */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2096 sndcp_set_nsapi_direction(snsm_activate_ind->nsapi, HOME); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2097 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2098 sndcp_set_nsapi_direction(snsm_activate_ind->nsapi, NEIGHBOR); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2099 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2100 sndcp_set_nsapi_linkid(snsm_activate_ind->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2101 snsm_activate_ind->dti_linkid); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2102 sndcp_set_nsapi_neighbor(snsm_activate_ind->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2103 #ifdef _SIMULATION_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2104 (snsm_activate_ind->dti_neighbor == | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2105 0xabcdabcd | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2106 ? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2107 "PPP" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2108 : | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2109 "NULL") | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2110 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2111 (U8*)snsm_activate_ind->dti_neighbor | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2112 #endif /* _SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2113 ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2114 #endif /*_SNDCP_DTI_2_*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2115 #endif | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2116 mg_is_ack(snsm_activate_ind->snsm_qos, &spec, &b); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2117 if (spec) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2118 if (b) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2119 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2120 * The NSAPI will use acknowledged LLC operation mode. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2121 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2122 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2123 BOOL ack = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2124 USHORT local_sapi_state = MG_IDLE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2125 BOOL comp_available = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2126 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2127 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2128 * Is another compressor available? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2129 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2130 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2131 mg_is_comp_available(snsm_activate_ind->sapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2132 TRUE, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2133 SNDCP_ACK, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2134 snsm_activate_ind->comp_params.msid, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2135 &comp_available); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2136 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2137 mg_is_comp_available(snsm_activate_ind->sapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2138 TRUE, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2139 SNDCP_ACK, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2140 snsm_activate_ind->msid, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2141 &comp_available); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2142 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2143 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2144 sndcp_set_nsapi_ack(snsm_activate_ind->nsapi, TRUE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2145 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2146 * Is the affected SAPI already in ack mode or est_pending?? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2147 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2148 sndcp_get_sapi_ack(snsm_activate_ind->sapi, &ack); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2149 sndcp_get_sapi_state(snsm_activate_ind->sapi, &local_sapi_state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2150 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2151 if ((((local_sapi_state & MG_EST) > 0) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2152 || | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2153 ((local_sapi_state & MG_XID) > 0)) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2154 && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2155 comp_available) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2156 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2157 sndcp_set_sapi_state(snsm_activate_ind->sapi, MG_XID_NEC); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2158 mg_set_new_xid_block(snsm_activate_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2159 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2160 } else if (ack) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2161 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2162 /* check if flow control is received before PDP activation */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2163 mg_check_unset_nsapi_flow_ctrl_flag (snsm_activate_ind->nsapi,SNDCP_ACK); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2164 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2165 * If XID negotiation is not requested, respond | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2166 * activation to SM, else send LL_XID_REQ. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2167 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2168 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2169 if ((snsm_activate_ind->comp_params.dcomp == NAS_DCOMP_OFF && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2170 snsm_activate_ind->comp_params.hcomp == NAS_HCOMP_OFF) || | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2171 ! comp_available) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2172 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2173 if ((snsm_activate_ind->dcomp == SNSM_COMP_NEITHER_DIRECT && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2174 snsm_activate_ind->hcomp == SNSM_COMP_NEITHER_DIRECT) || | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2175 ! comp_available) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2176 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2177 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2178 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2179 * If est_pending, the res is sent after est_cnf. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2180 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2181 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2182 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2183 * Reset service nu to acknowledged LLC mode. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2184 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2185 sig_mg_nu_reset_ack(snsm_activate_ind->nsapi, 0, 0, FALSE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2186 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2187 * Open DTI connection. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2188 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2189 #ifndef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2190 mg_dti_open(snsm_activate_ind->nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2191 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2192 nu_ready_ind_if_nec(snsm_activate_ind->nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2193 #endif | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2194 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2195 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2196 * | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2197 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2198 sig_mg_sda_getdata(snsm_activate_ind->sapi, snsm_activate_ind->nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2199 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2200 * Send response | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2201 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2202 mg_send_snsm_activate_res(snsm_activate_ind->nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2203 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2204 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2205 * unsetting the ACT-state | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2206 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2207 sndcp_unset_nsapi_state(snsm_activate_ind->nsapi, MG_ACT); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2208 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2209 } else { /* if XID negotiation necessary */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2210 USHORT punct_sapi_state = MG_IDLE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2211 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2212 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2213 * Increment number of requested compressors. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2214 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2215 sndcp_data->vj_count++; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2216 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2217 * Set the N-PDU number in the affected nu instance to 0. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2218 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2219 sig_mg_nu_reset_ack(snsm_activate_ind->nsapi, 0, 0, TRUE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2220 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2221 * Uplink data transfer on SAPI is completely suspended. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2222 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2223 sig_mg_su_suspend(snsm_activate_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2224 sig_mg_sua_suspend(snsm_activate_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2225 mg_suspend_affected_nus(snsm_activate_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2226 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2227 * Send prim or store requested compression. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2228 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2229 sndcp_get_sapi_state(snsm_activate_ind->sapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2230 &punct_sapi_state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2231 mg_send_xid_req(snsm_activate_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2232 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2233 } /* if XID negotiation necessary */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2234 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2235 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2236 * Is XID negotiation necessary? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2237 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2238 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2239 if ((snsm_activate_ind->comp_params.dcomp == NAS_DCOMP_OFF && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2240 snsm_activate_ind->comp_params.hcomp == NAS_HCOMP_OFF) || | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2241 sndcp_data->vj_count == SNDCP_MAX_VJ_COUNT) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2242 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2243 if ((snsm_activate_ind->dcomp == SNSM_COMP_NEITHER_DIRECT && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2244 snsm_activate_ind->hcomp == SNSM_COMP_NEITHER_DIRECT) || | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2245 sndcp_data->vj_count == SNDCP_MAX_VJ_COUNT) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2246 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2247 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2248 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2249 * Ack mode, sapi not yet established. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2250 * No XID requested. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2251 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2252 PALLOC_SDU(ll_establish_req, LL_ESTABLISH_REQ, 0); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2253 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2254 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2255 * Reset service nu to acknowledged LLC mode. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2256 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2257 sig_mg_nu_reset_ack(snsm_activate_ind->nsapi, 0, 0, TRUE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2258 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2259 ll_establish_req->sapi = snsm_activate_ind->sapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2260 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2261 * Set the establishment states of sapi | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2262 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2263 sndcp_set_sapi_state(snsm_activate_ind->sapi, MG_EST); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2264 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2265 * Uplink data transfer on SAPI is completely suspended. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2266 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2267 sig_mg_su_suspend(snsm_activate_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2268 sig_mg_sua_suspend(snsm_activate_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2269 mg_suspend_affected_nus(snsm_activate_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2270 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2271 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2272 * Send prim to LLC. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2273 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2274 sndcp_set_nsapi_rec_state(snsm_activate_ind->nsapi, SDA_ESTABLISH_REQUESTED); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2275 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2276 #ifdef SNDCP_RANGE_CHECK | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2277 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2278 if(ll_establish_req EQ NULL) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2279 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2280 TRACE_EVENT("ERROR: ll_establish_req is NULL"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2281 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2282 else if(*((ULONG*)ll_establish_req - 7) NEQ 0) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2283 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2284 TRACE_EVENT | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2285 ("ERROR in SNDCP: ll_establish_req is not allocated"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2286 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2287 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2288 #endif /* SNDCP_RANGE_CHECK */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2289 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2290 PSEND(hCommLLC, ll_establish_req); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2291 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2292 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2293 UBYTE sapi_index = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2294 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2295 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2296 * Ack mode, sapi not yet established. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2297 * XID requested. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2298 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2299 PALLOC_SDU(ll_establish_req, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2300 LL_ESTABLISH_REQ, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2301 SNDCP_XID_BLOCK_BIT_LEN); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2302 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2303 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2304 * Increment number of requested compressors. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2305 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2306 sndcp_data->vj_count++; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2307 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2308 sndcp_get_sapi_index(snsm_activate_ind->sapi, &sapi_index); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2309 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2310 * Reset service nu to acknowledged LLC mode. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2311 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2312 sig_mg_nu_reset_ack(snsm_activate_ind->nsapi, 0, 0, TRUE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2313 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2314 ll_establish_req->sapi = snsm_activate_ind->sapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2315 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2316 * Write data from snsm_activate_ind to service variable req_xid_block. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2317 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2318 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2319 mg_set_req_xid_block(snsm_activate_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2320 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2321 * Fill the XID block. Implementation dependent!!! | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2322 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2323 mg_set_xid_params(ll_establish_req->sapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2324 &ll_establish_req->sdu, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2325 sndcp_data->mg.req_xid_block[sapi_index]); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2326 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2327 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2328 * Set the establishment states of sapi | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2329 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2330 sndcp_set_sapi_state(snsm_activate_ind->sapi, MG_EST); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2331 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2332 * Uplink data transfer on SAPI is completely suspended. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2333 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2334 sig_mg_su_suspend(snsm_activate_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2335 sig_mg_sua_suspend(snsm_activate_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2336 mg_suspend_affected_nus(snsm_activate_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2337 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2338 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2339 * Send prim to LLC. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2340 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2341 sndcp_set_nsapi_rec_state(snsm_activate_ind->nsapi, SDA_ESTABLISH_REQUESTED); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2342 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2343 #ifdef SNDCP_RANGE_CHECK | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2344 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2345 if(ll_establish_req EQ NULL) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2346 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2347 TRACE_EVENT("ERROR: ll_establish_req is NULL"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2348 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2349 else if(*((ULONG*)ll_establish_req - 7) NEQ 0) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2350 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2351 TRACE_EVENT | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2352 ("ERROR in SNDCP: ll_establish_req is not allocated"); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2353 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2354 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2355 #endif /* SNDCP_RANGE_CHECK */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2356 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2357 PSEND(hCommLLC, ll_establish_req); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2358 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2359 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2360 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2361 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2362 * The NSAPI will not use acknowledged LLC operation mode. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2363 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2364 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2365 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2366 * Is XID negotiation necessary? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2367 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2368 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2369 /* check if flow control is received before PDP activation */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2370 mg_check_unset_nsapi_flow_ctrl_flag (snsm_activate_ind->nsapi,SNDCP_UNACK); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2371 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2372 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2373 #ifdef TI_PS_FF_V42BIS | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2374 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2375 if ((snsm_activate_ind->comp_params.hcomp == NAS_HCOMP_NEITHER_DIRECT | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2376 || | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2377 sndcp_data->vj_count >= SNDCP_MAX_VJ_COUNT) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2378 && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2379 snsm_activate_ind->comp_params.dcomp == NAS_HCOMP_NEITHER_DIRECT) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2380 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2381 if ((snsm_activate_ind->hcomp == SNSM_COMP_NEITHER_DIRECT | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2382 || | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2383 sndcp_data->vj_count >= SNDCP_MAX_VJ_COUNT) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2384 && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2385 snsm_activate_ind->dcomp == SNSM_COMP_NEITHER_DIRECT) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2386 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2387 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2388 #else /* !TI_PS_FF_V42BIS */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2389 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2390 if (snsm_activate_ind->comp_params.hcomp == NAS_HCOMP_OFF | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2391 || | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2392 sndcp_data->vj_count == SNDCP_MAX_VJ_COUNT) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2393 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2394 if (snsm_activate_ind->hcomp == SNSM_COMP_NEITHER_DIRECT | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2395 || | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2396 sndcp_data->vj_count == SNDCP_MAX_VJ_COUNT) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2397 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2398 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2399 #endif /* TI_PS_FF_V42BIS */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2400 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2401 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2402 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2403 * No XID negotiation necessary. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2404 * BUT LLC needs trigger to send LLC XID request to network. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2405 * If LL_ESTABLISH_REQ or LL_XID_REQ is pending, no LL_XID_REQ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2406 * is needed here. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2407 * If LL_RELEASE_REQ is pending, XID must have been negotiated, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2408 * so it is not necessary. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2409 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2410 USHORT local_sapi_state = MG_IDLE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2411 sndcp_get_sapi_state(snsm_activate_ind->sapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2412 &local_sapi_state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2413 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2414 if (sndcp_data->always_xid | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2415 && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2416 (local_sapi_state & MG_EST) == 0 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2417 && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2418 (local_sapi_state & MG_REL) == 0 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2419 && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2420 (local_sapi_state & MG_XID) == 0 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2421 ) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2422 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2423 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2424 * XID negotiation is not necessary, but done for LLC. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2425 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2426 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2427 * Set the N-PDU number in the affected nu instance to 0. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2428 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2429 sig_mg_nu_reset(snsm_activate_ind->nsapi, TRUE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2430 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2431 * Uplink data transfer on SAPI is completely suspended. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2432 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2433 sig_mg_su_suspend(snsm_activate_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2434 sig_mg_sua_suspend(snsm_activate_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2435 mg_suspend_affected_nus(snsm_activate_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2436 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2437 * Send prim. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2438 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2439 mg_send_empty_xid_req(snsm_activate_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2440 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2441 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2442 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2443 * No XID negotiation necessary. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2444 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2445 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2446 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2447 * LLC may send data now | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2448 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2449 sig_mg_sd_getunitdata(snsm_activate_ind->sapi, snsm_activate_ind->nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2450 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2451 * Open DTI connection. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2452 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2453 #ifndef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2454 mg_dti_open(snsm_activate_ind->nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2455 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2456 nu_unitready_ind_if_nec(snsm_activate_ind->nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2457 #endif | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2458 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2459 * Set the N-PDU number in the affected nu instance to 0. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2460 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2461 sig_mg_nu_reset(snsm_activate_ind->nsapi, FALSE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2462 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2463 mg_send_snsm_activate_res(snsm_activate_ind->nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2464 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2465 * The response is now sent, state flag can be unset. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2466 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2467 sndcp_unset_nsapi_state(snsm_activate_ind->nsapi, MG_ACT); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2468 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2469 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2470 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2471 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2472 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2473 if (snsm_activate_ind->comp_params.hcomp > NAS_HCOMP_OFF) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2474 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2475 if (snsm_activate_ind->hcomp > SNSM_COMP_NEITHER_DIRECT) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2476 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2477 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2478 * Increment number of requested compressors. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2479 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2480 sndcp_data->vj_count++; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2481 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2482 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2483 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2484 * XID negotiation is necessary. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2485 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2486 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2487 * Set the N-PDU number in the affected nu instance to 0. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2488 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2489 sndcp_get_sapi_state(snsm_activate_ind->sapi, &sapi_state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2490 sig_mg_nu_reset(snsm_activate_ind->nsapi, TRUE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2491 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2492 if (((sapi_state & MG_XID) == 0) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2493 && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2494 ((sapi_state & MG_EST) == 0)) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2495 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2496 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2497 * Uplink data transfer on SAPI is completely suspended. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2498 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2499 sig_mg_su_suspend(snsm_activate_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2500 sig_mg_sua_suspend(snsm_activate_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2501 mg_suspend_affected_nus(snsm_activate_ind->sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2502 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2503 * Send prim. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2504 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2505 mg_send_xid_req(snsm_activate_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2506 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2507 mg_set_new_xid_block(snsm_activate_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2508 sndcp_set_sapi_state(snsm_activate_ind->sapi, MG_XID_NEC); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2509 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2510 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2511 } /* else from if negotiation necessary */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2512 } /* else from if (b) { */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2513 } /* if (spec) { */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2514 if ( sndcp_data->tcp_flow) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2515 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2516 TRACE_EVENT("sndcp_data.tcp_flow --- DATA FLOW PRIMITIVE "); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2517 TRACE_EVENT_P1("nsapi value %d", snsm_activate_ind->nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2518 nd_dti_buffer_ready(snsm_activate_ind->nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2519 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2520 } /* if (used == FALSE) { */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2521 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2522 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2523 TRACE_ERROR( "SNSM_ACTIVATE_IND unexpected" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2524 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2525 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2526 if (snsm_activate_ind != NULL) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2527 PFREE(snsm_activate_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2528 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2529 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2530 } /* mg_snsm_activate_ind() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2531 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2532 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2533 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2534 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2535 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2536 | Function : mg_snsm_deactivate_ind | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2537 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2538 | Description : Handles the primitive SNSM_DEACTIVATE_IND | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2539 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2540 | Parameters : *snsm_deactivate_ind - Ptr to primitive payload | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2541 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2542 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2543 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2544 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2545 GLOBAL void mg_snsm_deactivate_ind ( T_SN_DEACTIVATE_REQ *snsm_deactivate_ind ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2546 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2547 GLOBAL void mg_snsm_deactivate_ind ( T_SNSM_DEACTIVATE_IND *snsm_deactivate_ind ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2548 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2549 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2550 UBYTE nsapi = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2551 BOOL nec = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2552 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2553 TRACE_FUNCTION( "mg_snsm_deactivate_ind" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2554 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2555 switch( GET_STATE( MG ) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2556 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2557 case MG_DEFAULT: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2558 for (nsapi = 0; nsapi < SNDCP_NUMBER_OF_NSAPIS; nsapi ++) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2559 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2560 if (snsm_deactivate_ind->nsapi == nsapi) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2561 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2562 if (snsm_deactivate_ind->nsapi_set & (0x001 << nsapi)) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2563 #endif | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2564 USHORT sapi_state = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2565 BOOL ack = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2566 BOOL used = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2567 UBYTE sapi = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2568 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2569 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2570 * Delete information about requested compressors. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2571 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2572 sndcp_reset_xid_block(&sndcp_data->mg.user_xid_block[nsapi]); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2573 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2574 * If nsapi is not used, send response anyway to avoid block. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2575 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2576 sndcp_is_nsapi_used(nsapi, &used); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2577 if (!used) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2578 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2579 PALLOC(snsm_deactivate_res, SN_DEACTIVATE_CNF); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2580 snsm_deactivate_res->nsapi = nsapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2581 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2582 PALLOC(snsm_deactivate_res, SNSM_DEACTIVATE_RES); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2583 snsm_deactivate_res->nsapi = nsapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2584 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2585 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2586 * Set the "state" of the nsapi. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2587 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2588 sndcp_unset_nsapi_state(nsapi, MG_DEACT); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2589 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2590 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2591 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2592 PSEND(hCommUPM, snsm_deactivate_res); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2593 #else /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2594 PSEND(hCommSM, snsm_deactivate_res); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2595 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2596 continue; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2597 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2598 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2599 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2600 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2601 * Close affected DTI connection. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2602 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2603 #ifdef _SNDCP_DTI_2_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2604 /* FIX | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2605 for entity test TC TC 321 and TC 327 and TC 262a*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2606 sndcp_data->nu = & sndcp_data->nu_base[nsapi]; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2607 /* End FIX */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2608 #endif /* _SNDCP_DTI_2_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2609 #ifndef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2610 mg_dti_close(nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2611 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2612 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2613 * This part is required for EDGE to get next line out of if | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2614 * statement. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2615 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2616 {} | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2617 #endif | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2618 sndcp_set_nsapi_state(nsapi, MG_DEACT); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2619 sndcp_unset_nsapi_state(nsapi, MG_ACT); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2620 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2621 sndcp_get_nsapi_ack(nsapi, &ack); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2622 sndcp_get_nsapi_sapi(nsapi, &sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2623 if (ack) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2624 mg_rel_nsapi_nec(nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2625 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2626 sndcp_get_sapi_state(sapi, &sapi_state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2627 mg_delete_npdus(nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2628 sndcp_data->nu_base[nsapi].sn_unitready_ind_pending = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2629 sndcp_data->nu_base[nsapi].sn_ready_ind_pending = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2630 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2631 * is compressor deactivation necessary? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2632 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2633 mg_is_rel_comp_nec(nsapi, &nec); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2634 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2635 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2636 if ((snsm_deactivate_ind->rel_ind == PS_REL_IND_YES) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2637 && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2638 ((sapi_state & (MG_REL + MG_REL_NEC_LOC + MG_REL_NEC_PEER)) == 0) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2639 ) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2640 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2641 if ((snsm_deactivate_ind->rel_ind == REL_IND_YES) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2642 && | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2643 ((sapi_state & (MG_REL + MG_REL_NEC_LOC + MG_REL_NEC_PEER)) == 0) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2644 ) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2645 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2646 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2647 * Local deactivation. No LL_XID_REQ will be sent (because rel_ind | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2648 * is REL_IND_YES). | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2649 * No release is pending or needed. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2650 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2651 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2652 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2653 PALLOC(snsm_deactivate_res, SN_DEACTIVATE_CNF); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2654 snsm_deactivate_res->nsapi = nsapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2655 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2656 PALLOC(snsm_deactivate_res, SNSM_DEACTIVATE_RES); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2657 snsm_deactivate_res->nsapi = nsapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2658 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2659 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2660 * Now the NSAPI is not in use anymore: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2661 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2662 sndcp_set_nsapi_used(nsapi, FALSE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2663 sndcp_set_nsapi_ack(nsapi, FALSE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2664 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2665 * Set the "state" of the nsapi. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2666 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2667 sndcp_unset_nsapi_state(nsapi, MG_DEACT); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2668 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2669 * Reset xid blocks. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2670 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2671 mg_reset_compressors(nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2672 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2673 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2674 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2675 PSEND(hCommUPM, snsm_deactivate_res); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2676 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2677 PSEND(hCommSM, snsm_deactivate_res); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2678 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2679 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2680 } else if ((sapi_state & (MG_REL + MG_REL_NEC_LOC + MG_REL_NEC_PEER)) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2681 == 0 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2682 ) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2683 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2684 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2685 * No release is pending. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2686 * If no compressor has to be released: respond to SM. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2687 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2688 if (nec) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2689 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2690 * If xid req is sent, suspend uplink transfer for affected sapi. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2691 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2692 sig_mg_su_suspend(sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2693 sig_mg_sua_suspend(sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2694 mg_suspend_affected_nus(sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2695 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2696 * Negotiate possible deactivation of compressors. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2697 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2698 mg_send_xid_req_del(sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2699 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2700 } else { /* if (nec) */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2701 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2702 sndcp_get_sapi_state(sapi, &sapi_state); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2703 if ((sapi_state & MG_XID_NEC) == 0) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2704 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2705 * No compressor negotiated, no release sent. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2706 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2707 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2708 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2709 PALLOC(snsm_deactivate_res, SN_DEACTIVATE_CNF); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2710 snsm_deactivate_res->nsapi = nsapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2711 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2712 PALLOC(snsm_deactivate_res, SNSM_DEACTIVATE_RES); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2713 snsm_deactivate_res->nsapi = nsapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2714 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2715 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2716 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2717 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2718 * Now the NSAPI is not in use anymore: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2719 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2720 sndcp_set_nsapi_used(nsapi, FALSE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2721 sndcp_set_nsapi_ack(nsapi, FALSE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2722 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2723 * Set the "state" of the nsapi. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2724 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2725 sndcp_unset_nsapi_state(nsapi, MG_DEACT); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2726 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2727 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2728 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2729 PSEND(hCommUPM, snsm_deactivate_res); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2730 #else /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2731 PSEND(hCommSM, snsm_deactivate_res); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2732 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2733 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2734 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2735 } /* if (nec) */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2736 } else {/* if ((state & (MG_REL + ....)) == 0) */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2737 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2738 * LL_RELEASE_REQ is pending. After reception of LL_RELEASE_REQ, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2739 * if XID negotiatio is necessary, LL_XID_REQ will be sent. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2740 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2741 if (nec) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2742 sndcp_set_sapi_state(sapi, MG_XID_NEC); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2743 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2744 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2745 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2746 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2747 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2748 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2749 TRACE_ERROR( "SNSM_DEACTIVATE_IND unexpected" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2750 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2751 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2752 if (snsm_deactivate_ind != NULL) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2753 PFREE(snsm_deactivate_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2754 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2755 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2756 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2757 } /* mg_snsm_deactivate_ind() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2758 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2759 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2760 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2761 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2762 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2763 | Function : mg_snsm_sequence_ind | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2764 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2765 | Description : Handles the primitive SNSM_SEQUENCE_IND | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2766 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2767 | Parameters : *snsm_sequence_ind - Ptr to primitive payload | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2768 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2769 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2770 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2771 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2772 GLOBAL void mg_snsm_sequence_ind ( T_SN_SEQUENCE_REQ *snsm_sequence_ind ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2773 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2774 GLOBAL void mg_snsm_sequence_ind ( T_SNSM_SEQUENCE_IND *snsm_sequence_ind ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2775 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2776 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2777 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2778 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2779 int i = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2780 U8 nsapi,rec_no,npdu_number; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2781 #endif | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2782 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2783 TRACE_FUNCTION( "mg_snsm_sequence_ind" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2784 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2785 switch( GET_STATE( MG ) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2786 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2787 case MG_DEFAULT: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2788 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2789 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2790 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2791 PALLOC(snsm_sequence_res, SN_SEQUENCE_CNF); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2792 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2793 for (i = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2794 i < snsm_sequence_ind->c_receive_no_list; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2795 i++) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2796 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2797 nsapi = snsm_sequence_ind->receive_no_list[i].nsapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2798 rec_no = snsm_sequence_ind->receive_no_list[i].receive_no; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2799 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2800 sndcp_unset_nsapi_state(nsapi, MG_SEQ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2801 sig_mg_nu_delete_to(nsapi, rec_no); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2802 npdu_number = sig_mg_nd_get_rec_no(nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2803 snsm_sequence_res->receive_no_list[i].nsapi = nsapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2804 snsm_sequence_res->receive_no_list[i].receive_no = npdu_number; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2805 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2806 snsm_sequence_res->c_receive_no_list = i; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2807 PSEND(hCommUPM, snsm_sequence_res); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2808 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2809 TRACE_EVENT_P1( "SEQ_IND rec_no: %d", snsm_sequence_ind->rec_no); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2810 sndcp_unset_nsapi_state(snsm_sequence_ind->nsapi, MG_SEQ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2811 sig_mg_nu_delete_to(snsm_sequence_ind->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2812 snsm_sequence_ind->rec_no); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2813 sig_mg_nd_get_rec_no(snsm_sequence_ind->nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2814 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2815 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2816 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2817 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2818 TRACE_ERROR( "SNSM_SEQUENCE_IND unexpected" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2819 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2820 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2821 if (snsm_sequence_ind != NULL) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2822 PFREE (snsm_sequence_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2823 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2824 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2825 } /* mg_snsm_sequence_ind() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2826 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2827 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2828 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2829 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2830 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2831 | Function : mg_snsm_modify_ind | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2832 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2833 | Description : Handles the primitive SNSM_MODIFY_IND | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2834 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2835 | Parameters : *snsm_modify_ind - Ptr to primitive payload | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2836 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2837 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2838 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2839 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2840 GLOBAL void mg_snsm_modify_ind ( T_SN_MODIFY_REQ *snsm_modify_ind ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2841 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2842 GLOBAL void mg_snsm_modify_ind ( T_SNSM_MODIFY_IND *snsm_modify_ind ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2843 #endif /*#ifdef SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2844 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2845 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2846 * LLC mode specified? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2847 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2848 BOOL spec = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2849 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2850 * LLC mode acknowledged? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2851 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2852 BOOL b = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2853 BOOL nsapi_used = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2854 BOOL old_nsapi_ack = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2855 UBYTE old_sapi = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2856 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2857 TRACE_FUNCTION( "mg_snsm_modify_ind" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2858 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2859 switch( GET_STATE( MG ) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2860 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2861 case MG_DEFAULT: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2862 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2863 * If no release/establish will be done, SNSM_MODIFY_RES is expected now. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2864 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2865 sndcp_data->mg.mod_expects = MG_MOD_X_READY; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2866 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2867 * Is NSAPI already used? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2868 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2869 sndcp_is_nsapi_used(snsm_modify_ind->nsapi, &nsapi_used); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2870 if (! nsapi_used) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2871 mg_mod_nsapi_new(snsm_modify_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2872 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2873 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2874 * Is LLC operation mode changing from unack to ack? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2875 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2876 mg_is_ack(snsm_modify_ind->snsm_qos, &spec, &b); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2877 sndcp_get_nsapi_ack(snsm_modify_ind->nsapi, &old_nsapi_ack); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2878 if (spec && b && ! old_nsapi_ack) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2879 mg_mod_unack_ack(snsm_modify_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2880 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2881 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2882 * Is LLC operation mode changing from ack to unack? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2883 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2884 if (spec && ! b && old_nsapi_ack) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2885 mg_mod_ack_unack(snsm_modify_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2886 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2887 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2888 * Is new sapi different from old one? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2889 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2890 sndcp_get_nsapi_sapi(snsm_modify_ind->nsapi, &old_sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2891 if (old_sapi != snsm_modify_ind->sapi) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2892 mg_mod_sapi_diff(snsm_modify_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2893 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2894 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2895 * Add nsapi to waiting_nsapis | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2896 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2897 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2898 sndcp_data->mg.waiting_nsapis |= (1 << (snsm_modify_ind->nsapi)); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2899 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2900 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2901 * The following will be done in any case: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2902 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2903 sndcp_set_nsapi_qos(snsm_modify_ind->nsapi, snsm_modify_ind->snsm_qos); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2904 sndcp_set_nsapi_prio(snsm_modify_ind->nsapi, snsm_modify_ind->radio_prio); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2905 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2906 #ifdef REL99 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2907 sndcp_set_nsapi_pktflowid(snsm_modify_ind->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2908 snsm_modify_ind->pkt_flow_id); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2909 #endif /*REL99*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2910 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2911 * If no establish/release is expected, send res now. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2912 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2913 mg_mod_res_if_nec(); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2914 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2915 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2916 TRACE_ERROR( "SNSM_MODIFY_IND unexpected" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2917 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2918 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2919 if (snsm_modify_ind != NULL) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2920 PFREE(snsm_modify_ind); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2921 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2922 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2923 } /* mg_snsm_modify_ind() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2924 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2925 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2926 #ifndef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2927 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2928 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2929 | Function : mg_sn_switch_req | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2930 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2931 | Description : Handles the primitive SN_SWITCH_REQ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2932 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2933 | Parameters : *snswitch_req - Ptr to primitive payload | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2934 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2935 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2936 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2937 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2938 GLOBAL void mg_sn_switch_req ( T_SN_SWITCH_REQ *sn_switch_req ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2939 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2940 #ifdef _SNDCP_DTI_2_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2941 UBYTE* neighbor = NULL; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2942 #endif /* _SNDCP_DTI_2_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2943 TRACE_FUNCTION( "mg_sn_switch_req" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2944 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2945 switch( GET_STATE( MG ) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2946 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2947 case MG_DEFAULT: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2948 sndcp_set_nsapi_linkid(sn_switch_req->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2949 sn_switch_req->dti_linkid); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2950 #ifdef _SNDCP_DTI_2_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2951 sndcp_get_nsapi_neighbor(sn_switch_req->nsapi, &neighbor); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2952 #endif /* _SNDCP_DTI_2_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2953 #ifdef _SIMULATION_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2954 sndcp_set_nsapi_neighbor(sn_switch_req->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2955 (sn_switch_req->dti_neighbor == | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2956 0xabcdabcd | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2957 ? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2958 "PPP" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2959 : | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2960 "NULL")); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2961 #else /*_SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2962 sndcp_set_nsapi_neighbor(sn_switch_req->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2963 (UBYTE*)sn_switch_req->dti_neighbor); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2964 #endif /* _SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2965 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2966 * Map sn constants to dti constants. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2967 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2968 if (sn_switch_req->dti_direction == SN_HOME) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2969 sndcp_set_nsapi_direction(sn_switch_req->nsapi, HOME); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2970 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2971 sndcp_set_nsapi_direction(sn_switch_req->nsapi, NEIGHBOR); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2972 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2973 #ifdef _SIMULATION_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2974 #ifdef _SNDCP_DTI_2_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2975 /* FIX for entity test TC 1205*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2976 sndcp_data->nu = & sndcp_data->nu_base[sn_switch_req->nsapi]; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2977 if ((sndcp_data->nu->connection_is_opened == TRUE) || | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2978 ((neighbor != NULL) && !(strcmp(neighbor,"NULL")))) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2979 /* End FIX */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2980 #endif /* _SNDCP_DTI_2_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2981 #endif /* _SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2982 #ifndef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2983 mg_dti_close(sn_switch_req->nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2984 #endif | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2985 sndcp_data->nu->sn_switch_cnf_expected = TRUE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2986 #ifndef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2987 mg_dti_open(sn_switch_req->nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2988 #endif | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2989 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2990 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2991 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2992 TRACE_ERROR( "SN_SWITCH_REQ unexpected" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2993 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2994 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2995 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2996 PFREE(sn_switch_req); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2997 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2998 } /* mg_sn_switch_req() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2999 #endif /*SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3000 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3001 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3002 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3003 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3004 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3005 | Function : mg_sn_dti_req | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3006 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3007 | Description : Handles the primitive SN_DTI_REQ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3008 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3009 | Parameters : *sn_dti_req - Ptr to primitive payload | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3010 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3011 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3012 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3013 GLOBAL void mg_sn_dti_req ( T_SN_DTI_REQ *sn_dti_req ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3014 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3015 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3016 UBYTE* neighbor = NULL; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3017 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3018 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3019 * is nsapi already used? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3020 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3021 /* BOOL used = FALSE;*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3022 BOOL ack = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3023 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3024 TRACE_FUNCTION( "mg_sn_dti_req" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3025 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3026 switch( GET_STATE( MG ) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3027 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3028 case MG_DEFAULT: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3029 sndcp_set_nsapi_linkid(sn_dti_req->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3030 sn_dti_req->dti_linkid); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3031 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3032 TRACE_EVENT_P1("sn_dti_req->nsapi: %d", sn_dti_req->nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3033 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3034 if (sn_dti_req->dti_conn == NAS_CONNECT_DTI) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3035 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3036 sndcp_get_nsapi_neighbor(sn_dti_req->nsapi, &neighbor); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3037 sndcp_data->nsapi = sn_dti_req->nsapi; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3038 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3039 #ifdef SNDCP_2to1 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3040 sndcp_set_nsapi_neighbor(sn_dti_req->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3041 (U8*)sn_dti_req->dti_neighbor.name); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3042 #else /*SNDCP_2to1*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3043 #ifdef _SIMULATION_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3044 sndcp_set_nsapi_neighbor(sn_dti_req->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3045 (sn_dti_req->dti_neighbor == | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3046 0xabcdabcd | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3047 ? | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3048 "PPP" | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3049 : | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3050 "NULL")); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3051 #else /*_SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3052 sndcp_set_nsapi_neighbor(sn_dti_req->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3053 (U8*)sn_dti_req->dti_neighbor); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3054 #endif /* _SIMULATION_ */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3055 #endif /*SNDCP_2to1*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3056 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3057 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3058 * Map sn constants to dti constants. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3059 * The compiler switch is required because the dti_direction | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3060 * C-Macros have different values in old and new worlds. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3061 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3062 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3063 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3064 if (sn_dti_req->dti_direction == NAS_HOME) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3065 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3066 sndcp_set_nsapi_direction(sn_dti_req->nsapi, DTI_CHANNEL_TO_LOWER_LAYER); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3067 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3068 else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3069 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3070 sndcp_set_nsapi_direction(sn_dti_req->nsapi, DTI_CHANNEL_TO_HIGHER_LAYER); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3071 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3072 #else /*SNDCP_UPM_INCLUDED*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3073 if (sn_dti_req->dti_direction == DTI_CHANNEL_TO_LOWER_LAYER) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3074 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3075 sndcp_set_nsapi_direction(sn_dti_req->nsapi, DTI_CHANNEL_TO_LOWER_LAYER); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3076 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3077 else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3078 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3079 sndcp_set_nsapi_direction(sn_dti_req->nsapi, DTI_CHANNEL_TO_HIGHER_LAYER); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3080 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3081 #endif | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3082 sndcp_set_nsapi_linkid(sn_dti_req->nsapi, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3083 sn_dti_req->dti_linkid); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3084 if (sn_dti_req->dti_neighbor NEQ (ULONG)TCPIP_NAME) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3085 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3086 mg_dti_open(sn_dti_req->nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3087 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3088 #ifdef SNDCP_UPM_INCLUDED | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3089 sndcp_get_nsapi_ack(sn_dti_req->nsapi, &ack); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3090 if (ack) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3091 UBYTE sapi = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3092 USHORT stat = MG_IDLE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3093 sndcp_get_nsapi_sapi(sn_dti_req->nsapi, &sapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3094 sndcp_get_sapi_state(sapi, &stat); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3095 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3096 * Do not call nu_ready_ind_if_nec() if establish | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3097 * is ongoing. | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3098 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3099 if ((stat & MG_EST) == 0) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3100 nu_ready_ind_if_nec(sn_dti_req->nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3101 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3102 } else { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3103 nu_unitready_ind_if_nec(sn_dti_req->nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3104 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3105 #endif | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3106 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3107 } else { /* if (sn_dti_req->dti_conn == SNDCP_CONNECT_DTI) */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3108 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3109 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3110 /* check if flow control is received before PDP activation */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3111 mg_check_unset_nsapi_flow_ctrl_flag (sn_dti_req->nsapi,MG_MOD_X_NONE); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3112 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3113 mg_dti_close(sn_dti_req->nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3114 } /* if (sn_dti_req->dti_conn == SNDCP_CONNECT_DTI) */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3115 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3116 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3117 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3118 TRACE_ERROR( "SN_DTI_REQ unexpected" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3119 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3120 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3121 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3122 PFREE(sn_dti_req); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3123 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3124 } /* mg_sn_dti_req() */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3125 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3126 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3127 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3128 #endif /* SNDCP_UPM_INCLUDED */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3129 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3130 #ifdef TI_DUAL_MODE | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3131 /* | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3132 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3133 | Function : mg_get_pending_pdu_req | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3134 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3135 | Description : Handles the primitive SN_GET_PENDING_PDU_REQ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3136 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3137 | Parameters : *sn_get_pending_pdu_req - Ptr to primitive payload | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3138 | | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3139 +------------------------------------------------------------------------------ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3140 */ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3141 GLOBAL void mg_get_pending_pdu_req (T_SN_GET_PENDING_PDU_REQ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3142 *sn_get_pending_pdu_req) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3143 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3144 U8 nsapi = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3145 BOOL ack = FALSE, used = FALSE; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3146 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3147 TRACE_FUNCTION( "mg_get_pending_pdu_req" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3148 | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3149 switch( GET_STATE( MG ) ) | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3150 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3151 case MG_DEFAULT: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3152 { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3153 PALLOC(sn_get_pending_pdu_cnf, SN_GET_PENDING_PDU_CNF); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3154 #ifdef _SIMULATION_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3155 PALLOC(sn_test_get_pending_pdu_cnf, SN_TEST_GET_PENDING_PDU_CNF); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3156 #endif | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3157 memset(sn_get_pending_pdu_cnf->ul_pdus,0, sizeof(T_SN_ul_pdus)); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3158 for (nsapi = 0; nsapi < SN_SIZE_NSAPI; nsapi++) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3159 sn_get_pending_pdu_cnf->ul_pdus[nsapi].c_desc_list2 = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3160 sn_get_pending_pdu_cnf->ul_pdus[nsapi].nsapi = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3161 sn_get_pending_pdu_cnf->ul_pdus[nsapi].dl_sequence_number = 0; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3162 sndcp_is_nsapi_used(nsapi, &used); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3163 if (used) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3164 sndcp_get_nsapi_ack(nsapi, &ack); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3165 if (ack) {/*acknowledged context*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3166 sn_get_pending_pdu_cnf = | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3167 mg_get_unsent_unconfirmed_npdus(nsapi, sn_get_pending_pdu_cnf); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3168 mg_clean_ack_npdu_queues_leave_data(nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3169 } else {/*unacknowledged context*/ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3170 mg_clean_unack_npdu_queues_including_data(nsapi); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3171 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3172 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3173 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3174 sn_get_pending_pdu_cnf->c_ul_pdus=SN_SIZE_NSAPI; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3175 #ifdef _SIMULATION_ | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3176 sm_make_test_pending_pdu_cnf(sn_get_pending_pdu_cnf, | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3177 sn_test_get_pending_pdu_cnf); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3178 PSEND(hCommUPM, sn_test_get_pending_pdu_cnf); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3179 #else | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3180 PSEND(hCommUPM, sn_get_pending_pdu_cnf); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3181 #endif | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3182 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3183 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3184 default: | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3185 TRACE_ERROR( "SN_GET_PENDING_PDU_REQ unexpected" ); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3186 break; | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3187 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3188 if (sn_get_pending_pdu_req != NULL) { | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3189 PFREE (sn_get_pending_pdu_req); | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3190 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3191 } | 
| 
 
d393cd9bb723
src/g23m-*: initial import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3192 #endif /*TI_DUAL_MODE*/ | 
