FreeCalypso > hg > fc-magnetite
annotate src/g23m-gprs/sndcp/sndcp_nus.c @ 673:62a5285e014a
Lorekeeping: allow tpudrv-leonardo.lib on Leonardo/Tango
Back in 2015 the Mother's idea was to produce a FreeCalypso development
board that would be a clone of TI Leonardo, including the original
quadband RFFE; one major additional stipulation was that this board
needed to be able to run original unmodified TCS211-20070608 firmware
with all blobs intact, with only minimal binary patches to main.lib
and tpudrv.lib.  The necessary patched libs were produced at that time
in the tcs211-patches repository.
That plan was changed and we produced FCDEV3B instead, with Openmoko's
triband RFFE instead of Leonardo quadband, but when FC Magnetite started
in 2016, a TPUDRV_blob= provision was still made, allowing the possibility
of patching OM's tpudrv.lib for a restored Leonardo RFFE.
Now in 2020 we have FC Tango which is essentially a verbatim clone of
Leonardo core, including the original quadband RFFE.  We have also
deblobbed our firmware so much that we have absolutely no real need
for a blob version of tpudrv.lib - but I thought it would be neat to put
the ancient TPUDRV_blob= mechanism (classic config) to its originally
intended use, just for the heck of it.
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Fri, 29 May 2020 03:55:36 +0000 | 
| parents | 219afcfc6250 | 
| children | 
| rev | line source | 
|---|---|
| 
183
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2 +----------------------------------------------------------------------------- | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3 | Project : GPRS (8441) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
4 | Modul : sndcp_nus.c | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
5 +----------------------------------------------------------------------------- | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
6 | Copyright 2002 Texas Instruments Berlin, AG | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
7 | All rights reserved. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
8 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
9 | This file is confidential and a trade secret of Texas | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
10 | Instruments Berlin, AG | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
11 | The receipt of or possession of this file does not convey | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
12 | any rights to reproduce or disclose its contents or to | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
13 | manufacture, use, or sell anything it may describe, in | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
14 | whole, or in part, without the specific written consent of | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
15 | Texas Instruments Berlin, AG. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
16 +----------------------------------------------------------------------------- | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
17 | Purpose : This modul is part of the entity SNDCP and implements all | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
18 | functions to handles the incoming process internal signals as | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
19 | described in the SDL-documentation (NU-statemachine) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
20 +----------------------------------------------------------------------------- | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
21 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
22 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
23 /*---- HISTORY --------------------------------------------------------------*/ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
24 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
25 #define ENTITY_SNDCP | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
26 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
27 /*==== INCLUDES =============================================================*/ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
28 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
29 #include "typedefs.h" /* to get Condat data types */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
30 #include "vsi.h" /* to get a lot of macros */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
31 #include "macdef.h" | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
32 #include "prim.h" /* to get the definitions of used SAP and directions */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
33 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
34 #include "dti.h" | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
35 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
36 #include "sndcp.h" /* to get the global entity definitions */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
37 #include "sndcp_f.h" /* to get the functions to access the global arrays*/ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
38 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
39 #include "sndcp_nuf.h" /* to get internal functions for service nu. */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
40 #include "sndcp_suas.h" /* to get signals to sua. */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
41 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
42 /*==== CONST ================================================================*/ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
43 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
44 /*==== LOCAL VARS ===========================================================*/ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
45 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
46 /*==== PRIVATE FUNCTIONS ====================================================*/ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
47 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
48 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
49 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
50 | Function : nu_send_pending | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
51 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
52 | Description : Re-sends the next not yet acknowledged N-PDU. If this was the | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
53 | last one, ready is set to TRUE, otherwise to FALSE. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
54 | Ready is also set to TRUE, if there is no pending NPDU at all. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
55 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
56 | Parameters : ready | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
57 | Pre : correct instance of nu service is active. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
58 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
59 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
60 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
61 #ifndef CF_FAST_EXEC | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
62 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
63 LOCAL void nu_send_pending (BOOL* ready) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
64 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
65 T_SN_DATA_REQ* sn_data_req = NULL; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
66 UBYTE npdu_number = 0; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
67 UBYTE sapi = 0; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
68 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
69 TRACE_FUNCTION( "nu_send_pending" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
70 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
71 if (sndcp_data->nu->next_resend == NULL) { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
72 *ready = TRUE; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
73 return; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
74 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
75 sn_data_req = sndcp_data->nu->next_resend->sn_data_req; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
76 sndcp_get_nsapi_sapi(sndcp_data->nu->nsapi, &sapi); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
77 npdu_number = sndcp_data->nu->next_resend->npdu_number; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
78 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
79 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
80 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
81 * Set next_resend to the next one if possible. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
82 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
83 if (sndcp_data->nu->next_resend->next == NULL) { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
84 *ready = TRUE; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
85 SET_STATE(NU, NU_ACK_SUA_NOT_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
86 } else { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
87 *ready = FALSE; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
88 sndcp_data->nu->next_resend = sndcp_data->nu->next_resend->next; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
89 SET_STATE(NU, NU_REC_SUA_NOT_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
90 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
91 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
92 sig_nu_sua_data_req(sn_data_req, | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
93 npdu_number, | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
94 sndcp_data->nu->nsapi, | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
95 sapi); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
96 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
97 } /* nu_send_pending() */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
98 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
99 #endif /* CF_FAST_EXEC */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
100 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
101 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
102 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
103 | Function : nu_config_send_pending | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
104 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
105 | Description : Re-sends the next not yet acknowledged N-PDU. If this was the | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
106 | last one, ready is set to TRUE, otherwise to FALSE. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
107 | Ready is also set to TRUE, if there is no pending NPDU at all. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
108 | The same function as nu_send_pending, but for tests with config send. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
109 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
110 | Parameters : ready | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
111 | Pre : correct instance of nu service is active. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
112 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
113 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
114 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
115 #ifndef CF_FAST_EXEC | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
116 #ifndef NCONFIG | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
117 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
118 LOCAL void nu_config_send_pending (BOOL* ready) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
119 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
120 T_SN_DATA_REQ* sn_data_req = NULL; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
121 UBYTE npdu_number = 0; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
122 UBYTE sapi = 0; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
123 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
124 TRACE_FUNCTION( "nu_config_send_pending" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
125 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
126 if (sndcp_data->nu->next_resend == NULL) { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
127 *ready = TRUE; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
128 return; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
129 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
130 sn_data_req = sndcp_data->nu->next_resend->sn_data_req; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
131 sndcp_get_nsapi_sapi(sndcp_data->nu->nsapi, &sapi); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
132 npdu_number = sndcp_data->nu->next_resend->npdu_number; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
133 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
134 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
135 * Set next_resend to the next one if possible. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
136 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
137 if (sndcp_data->nu->next_resend->next == NULL) { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
138 *ready = TRUE; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
139 SET_STATE(NU, NU_SEND_ACK_SUA_NOT_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
140 } else { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
141 *ready = FALSE; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
142 sndcp_data->nu->next_resend = sndcp_data->nu->next_resend->next; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
143 SET_STATE(NU, NU_SEND_REC_SUA_NOT_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
144 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
145 sig_nu_sua_data_req(sn_data_req, | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
146 npdu_number, | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
147 sndcp_data->nu->nsapi, | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
148 sapi); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
149 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
150 } /* nu_config_send_pending() */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
151 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
152 #endif /* NCONFIG */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
153 #endif /* CF_FAST_EXEC */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
154 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
155 /*==== PUBLIC FUNCTIONS =====================================================*/ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
156 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
157 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
158 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
159 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
160 | Function : sig_mg_nu_delete_npdus | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
161 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
162 | Description : Handles the internal signal SIG_MG_NU_DELETE_NPDUS. All the | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
163 | buffered N-PDUs waiting for confirmation are deleted. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
164 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
165 | Parameters : UBYTE nsapi: the affected NSAPI | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
166 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
167 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
168 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
169 #ifndef CF_FAST_EXEC | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
170 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
171 GLOBAL void sig_mg_nu_delete_npdus (UBYTE nsapi) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
172 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
173 TRACE_ISIG( "sig_mg_nu_delete_npdus" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
174 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
175 * set service instance according to nsapi in primitive | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
176 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
177 sndcp_data->nu = & sndcp_data->nu_base[nsapi]; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
178 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
179 switch( GET_STATE( NU ) ) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
180 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
181 case NU_ACK_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
182 case NU_ACK_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
183 case NU_SUS_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
184 case NU_SUS_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
185 case NU_REC_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
186 nu_delete_npdus(); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
187 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
188 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
189 case NU_UNACK_SU_RECEPTIVE : | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
190 case NU_UNACK_SU_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
191 #ifndef NCONFIG | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
192 case NU_SEND_UNACK_SU_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
193 case NU_SEND_UNACK_SU_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
194 case NU_SEND_ACK_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
195 case NU_SEND_ACK_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
196 case NU_SEND_SUS_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
197 case NU_SEND_SUS_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
198 case NU_SEND_REC_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
199 #endif | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
200 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
201 default: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
202 TRACE_ERROR( "SIG_SU_NU_DELETE_NPDUS unexpected" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
203 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
204 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
205 } /* sig_mg_nu_delete_npdus() */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
206 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
207 #endif /* CF_FAST_EXEC */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
208 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
209 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
210 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
211 | Function : sig_mg_nu_delete_to | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
212 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
213 | Description : Handles the internal signal SIG_MG_NU_DELETE_TO. All the | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
214 | buffered N-PDUs waiting for confirmation are deleted until the | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
215 | N-PDU with the given number is reached, beacuse this is the one | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
216 | that is expected atthe peer side.. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
217 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
218 | Parameters : naspi, npdu_num | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
219 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
220 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
221 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
222 #ifndef CF_FAST_EXEC | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
223 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
224 GLOBAL void sig_mg_nu_delete_to (UBYTE nsapi, UBYTE npdu_num) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
225 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
226 T_NPDU_BUFFER* help = NULL; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
227 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
228 * Has npdu number been found? | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
229 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
230 BOOL found = FALSE; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
231 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
232 TRACE_ISIG( "sig_mg_nu_delete_to" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
233 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
234 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
235 * set service instance according to nsapi in primitive | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
236 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
237 sndcp_data->nu = & sndcp_data->nu_base[nsapi]; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
238 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
239 switch( GET_STATE( NU ) ) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
240 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
241 case NU_ACK_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
242 case NU_ACK_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
243 case NU_SUS_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
244 case NU_SUS_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
245 case NU_REC_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
246 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
247 help = sndcp_data->nu->first_buffered_npdu; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
248 while (help != NULL && ! found) { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
249 T_NPDU_BUFFER* buf = help; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
250 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
251 help = help->next; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
252 if (buf->npdu_number == npdu_num) { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
253 found = TRUE; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
254 } else { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
255 nu_delete_npdu(nsapi, buf->npdu_number); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
256 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
257 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
258 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
259 case NU_UNACK_SU_RECEPTIVE : | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
260 case NU_UNACK_SU_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
261 #ifndef NCONFIG | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
262 case NU_SEND_UNACK_SU_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
263 case NU_SEND_UNACK_SU_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
264 case NU_SEND_ACK_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
265 case NU_SEND_ACK_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
266 case NU_SEND_SUS_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
267 case NU_SEND_SUS_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
268 case NU_SEND_REC_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
269 #endif | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
270 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
271 default: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
272 TRACE_ERROR( "SIG_MG_NU_DELETE_TO unexpected" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
273 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
274 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
275 } /* sig_mg_nu_delete_to() */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
276 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
277 #endif /* CF_FAST_EXEC */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
278 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
279 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
280 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
281 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
282 | Function : sig_mg_nu_recover | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
283 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
284 | Description : Handles the internal signal SIG_MG_NU_RECOVER. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
285 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
286 | Parameters : UBYTE nsapi: the affected NSAPI | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
287 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
288 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
289 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
290 #ifndef CF_FAST_EXEC | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
291 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
292 GLOBAL void sig_mg_nu_recover (UBYTE nsapi) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
293 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
294 BOOL ready = FALSE; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
295 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
296 TRACE_ISIG( "sig_mg_nu_recover" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
297 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
298 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
299 * set service instance according to nsapi in primitive | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
300 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
301 sndcp_data->nu = & sndcp_data->nu_base[nsapi]; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
302 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
303 * If there is resend, start with first pdu! | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
304 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
305 sndcp_data->nu->next_resend = sndcp_data->nu->first_buffered_npdu; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
306 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
307 switch( GET_STATE( NU ) ) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
308 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
309 case NU_ACK_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
310 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
311 * Is there at least 1 not yet acknowledged N-PDU? | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
312 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
313 if (sndcp_data->nu->first_buffered_npdu != NULL) { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
314 SET_STATE(NU, NU_REC_SUA_NOT_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
315 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
316 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
317 case NU_ACK_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
318 nu_send_pending(&ready); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
319 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
320 #ifndef NCONFIG | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
321 case NU_SEND_ACK_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
322 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
323 * Is there at least 1 not yet acknowledged N-PDU? | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
324 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
325 if (sndcp_data->nu->first_buffered_npdu != NULL) { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
326 SET_STATE(NU, NU_SEND_REC_SUA_NOT_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
327 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
328 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
329 case NU_SEND_ACK_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
330 case NU_SEND_SUS_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
331 nu_config_send_pending(&ready); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
332 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
333 #endif /* NCONFIG */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
334 case NU_SUS_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
335 case NU_SUS_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
336 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
337 default: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
338 TRACE_ERROR( "SIG_MG_NU_RECOVER unexpected" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
339 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
340 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
341 } /* sig_mg_nu_recover() */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
342 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
343 #endif /* CF_FAST_EXEC */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
344 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
345 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
346 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
347 | Function : sig_mg_nu_reset_ind | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
348 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
349 | Description : Handles the internal signal SIG_MG_NU_RESET_IND. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
350 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
351 | Parameters : UBYTE nsapi: the affected NSAPI | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
352 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
353 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
354 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
355 #ifndef CF_FAST_EXEC | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
356 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
357 GLOBAL void sig_mg_nu_reset_ind (UBYTE nsapi) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
358 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
359 TRACE_ISIG( "sig_mg_nu_reset_ind" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
360 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
361 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
362 * set service instance according to nsapi in primitive | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
363 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
364 sndcp_data->nu = & sndcp_data->nu_base[nsapi]; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
365 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
366 switch( GET_STATE( NU ) ) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
367 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
368 case NU_UNACK_SU_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
369 case NU_UNACK_SU_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
370 case NU_ACK_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
371 case NU_ACK_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
372 case NU_SUS_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
373 case NU_SUS_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
374 case NU_REC_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
375 #ifndef NCONFIG | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
376 case NU_SEND_UNACK_SU_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
377 case NU_SEND_UNACK_SU_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
378 case NU_SEND_ACK_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
379 case NU_SEND_ACK_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
380 case NU_SEND_SUS_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
381 case NU_SEND_SUS_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
382 case NU_SEND_REC_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
383 #endif | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
384 sndcp_data->nu->send_npdu_number_unack = 0; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
385 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
386 default: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
387 TRACE_ERROR( "SIG_MG_NU_RESET_IND unexpected" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
388 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
389 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
390 } /* sig_mg_nu_reset_ind() */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
391 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
392 #endif /* CF_FAST_EXEC */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
393 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
394 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
395 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
396 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
397 | Function : sig_mg_nu_resume | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
398 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
399 | Description : Handles the internal signal SIG_MG_NU_RESUME. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
400 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
401 | Parameters : UBYTE nsapi: the affected NSAPI | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
402 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
403 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
404 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
405 #ifndef CF_FAST_EXEC | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
406 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
407 GLOBAL void sig_mg_nu_resume (UBYTE nsapi) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
408 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
409 BOOL ready = FALSE; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
410 USHORT sapi_state = 0; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
411 UBYTE sapi = 0; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
412 TRACE_ISIG( "sig_mg_nu_resume" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
413 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
414 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
415 * set service instance according to nsapi in primitive | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
416 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
417 sndcp_data->nu = & sndcp_data->nu_base[nsapi]; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
418 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
419 switch( GET_STATE( NU ) ) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
420 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
421 case NU_SUS_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
422 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
423 * Is there at least 1 not yet acknowledged N-PDU? | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
424 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
425 if (sndcp_data->nu->first_buffered_npdu != NULL) { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
426 SET_STATE(NU, NU_REC_SUA_NOT_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
427 } else { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
428 SET_STATE(NU, NU_ACK_SUA_NOT_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
429 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
430 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
431 case NU_SUS_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
432 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
433 * Is there at least 1 not yet acknowledged N-PDU? | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
434 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
435 sndcp_get_nsapi_sapi(nsapi, &sapi); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
436 sndcp_get_sapi_state(sapi, &sapi_state); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
437 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
438 * In ACK mode, the PDU send should not resume until LL_ESTB_IND is received | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
439 * Refer 3GPP 04.65 sec 5.1.2.26 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
440 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
441 if ((sndcp_data->nu->first_buffered_npdu != NULL) AND | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
442 ((sapi_state & MG_EST_IND) == 0)) { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
443 nu_send_pending(&ready); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
444 } else { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
445 sndcp_unset_sapi_state(sapi, MG_EST_IND); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
446 SET_STATE(NU, NU_ACK_SUA_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
447 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
448 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
449 case NU_UNACK_SU_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
450 case NU_UNACK_SU_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
451 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
452 case NU_ACK_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
453 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
454 #ifndef NCONFIG | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
455 case NU_SEND_UNACK_SU_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
456 case NU_SEND_UNACK_SU_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
457 case NU_SEND_ACK_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
458 case NU_SEND_ACK_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
459 case NU_SEND_SUS_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
460 case NU_SEND_SUS_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
461 case NU_SEND_REC_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
462 #endif | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
463 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
464 default: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
465 TRACE_ERROR( "SIG_MG_NU_RESUME unexpected" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
466 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
467 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
468 } /* sig_mg_nu_resume() */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
469 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
470 #endif /* CF_FAST_EXEC */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
471 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
472 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
473 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
474 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
475 | Function : sig_mg_nu_suspend | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
476 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
477 | Description : Handles the internal signal SIG_MG_NU_SUSPEND. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
478 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
479 | Parameters : UBYTE nsapi: the affected NSAPI | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
480 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
481 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
482 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
483 #ifndef CF_FAST_EXEC | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
484 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
485 GLOBAL void sig_mg_nu_suspend (UBYTE nsapi) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
486 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
487 TRACE_ISIG( "sig_mg_nu_suspend" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
488 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
489 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
490 * set service instance according to nsapi in primitive | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
491 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
492 sndcp_data->nu = & sndcp_data->nu_base[nsapi]; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
493 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
494 switch( GET_STATE( NU ) ) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
495 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
496 case NU_ACK_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
497 SET_STATE(NU, NU_SUS_SUA_NOT_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
498 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
499 case NU_ACK_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
500 SET_STATE(NU, NU_SUS_SUA_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
501 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
502 #ifndef NCONFIG | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
503 case NU_SEND_ACK_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
504 SET_STATE(NU, NU_SEND_SUS_SUA_NOT_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
505 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
506 case NU_SEND_ACK_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
507 SET_STATE(NU, NU_SEND_SUS_SUA_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
508 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
509 case NU_SEND_UNACK_SU_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
510 case NU_SEND_UNACK_SU_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
511 case NU_SEND_SUS_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
512 case NU_SEND_SUS_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
513 case NU_SEND_REC_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
514 #endif | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
515 case NU_SUS_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
516 case NU_UNACK_SU_RECEPTIVE : | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
517 case NU_UNACK_SU_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
518 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
519 default: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
520 TRACE_ERROR( "SIG_MG_NU_SUSPEND unexpected" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
521 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
522 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
523 } /* sig_mg_nu_suspend() */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
524 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
525 #endif /* CF_FAST_EXEC */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
526 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
527 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
528 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
529 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
530 | Function : sig_mg_nu_reset | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
531 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
532 | Description : Handles the internal signal SIG_MG_NU_RESET. The | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
533 | send_npdu_number_unack is set to 0 and GACI gets an | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
534 | SN_UNITREADY_IND for the affected NSAPI. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
535 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
536 | Parameters : UBYTE nsapi: the affected NSAPI, discard ready flag | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
537 | (is old unitready_ind to be discarded? | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
538 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
539 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
540 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
541 #ifndef CF_FAST_EXEC | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
542 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
543 GLOBAL void sig_mg_nu_reset (UBYTE nsapi, BOOL discard_ready) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
544 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
545 TRACE_ISIG( "sig_mg_nu_reset" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
546 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
547 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
548 * set service instance according to nsapi in primitive | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
549 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
550 sndcp_data->nu = & sndcp_data->nu_base[nsapi]; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
551 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
552 switch( GET_STATE( NU ) ) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
553 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
554 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
555 case NU_UNACK_SU_RECEPTIVE : | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
556 case NU_UNACK_SU_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
557 case NU_ACK_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
558 case NU_ACK_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
559 case NU_SUS_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
560 case NU_SUS_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
561 case NU_REC_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
562 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
563 sndcp_data->nu->send_npdu_number_unack = 0; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
564 sndcp_data->nu->send_npdu_number_ack = 0; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
565 sndcp_data->nu->rec_npdu_number_ack = 0; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
566 nu_delete_npdus(); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
567 if (discard_ready) { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
568 sndcp_data->nu->sn_unitready_ind_pending = FALSE; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
569 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
570 nu_unitready_ind_if_nec(nsapi); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
571 SET_STATE(NU, NU_UNACK_SU_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
572 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
573 #ifndef NCONFIG | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
574 case NU_SEND_UNACK_SU_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
575 case NU_SEND_UNACK_SU_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
576 case NU_SEND_ACK_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
577 case NU_SEND_ACK_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
578 case NU_SEND_SUS_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
579 case NU_SEND_SUS_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
580 case NU_SEND_REC_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
581 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
582 sndcp_data->nu->send_npdu_number_unack = 0; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
583 sndcp_data->nu->send_npdu_number_ack = 0; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
584 sndcp_data->nu->rec_npdu_number_ack = 0; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
585 nu_delete_npdus(); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
586 if (discard_ready) { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
587 sndcp_data->nu->sn_unitready_ind_pending = FALSE; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
588 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
589 nu_unitready_ind_if_nec(nsapi); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
590 SET_STATE(NU, NU_UNACK_SU_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
591 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
592 #endif /* NCONFIG */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
593 default: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
594 TRACE_ERROR( "SIG_MG_NU_RESET unexpected" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
595 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
596 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
597 } /* sig_mg_nu_reset() */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
598 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
599 #endif /* CF_FAST_EXEC */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
600 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
601 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
602 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
603 | Function : sig_mg_nu_reset_ack | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
604 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
605 | Description : Handles the internal signal SIG_MG_NU_RESET_ACK. The | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
606 | send_npdu_number_ack and rec_npdu_number_ack are set to 0 and | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
607 | GACI gets an | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
608 | SN_READY_IND for the affected NSAPI. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
609 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
610 | Parameters : UBYTE nsapi: the affected NSAPI, send npdu number, | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
611 | rec npdu number, discard_ready flag | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
612 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
613 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
614 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
615 #ifndef CF_FAST_EXEC | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
616 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
617 GLOBAL void sig_mg_nu_reset_ack (UBYTE nsapi, UBYTE send_no, UBYTE rec_no, BOOL discard_ready) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
618 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
619 TRACE_ISIG( "sig_mg_nu_reset_ack" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
620 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
621 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
622 * set service instance according to nsapi in primitive | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
623 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
624 sndcp_data->nu = & sndcp_data->nu_base[nsapi]; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
625 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
626 switch( GET_STATE( NU ) ) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
627 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
628 case NU_UNACK_SU_RECEPTIVE : | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
629 case NU_UNACK_SU_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
630 case NU_ACK_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
631 case NU_ACK_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
632 case NU_SUS_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
633 case NU_SUS_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
634 case NU_REC_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
635 sndcp_data->nu->send_npdu_number_unack = 0; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
636 sndcp_data->nu->send_npdu_number_ack = send_no; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
637 sndcp_data->nu->rec_npdu_number_ack = rec_no; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
638 nu_delete_npdus(); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
639 if (discard_ready) { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
640 sndcp_data->nu->sn_ready_ind_pending = FALSE; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
641 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
642 nu_ready_ind_if_nec(nsapi); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
643 SET_STATE(NU, NU_ACK_SUA_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
644 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
645 #ifndef NCONFIG | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
646 case NU_SEND_UNACK_SU_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
647 case NU_SEND_UNACK_SU_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
648 case NU_SEND_ACK_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
649 case NU_SEND_ACK_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
650 case NU_SEND_SUS_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
651 case NU_SEND_SUS_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
652 case NU_SEND_REC_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
653 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
654 sndcp_data->nu->send_npdu_number_unack = 0; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
655 sndcp_data->nu->send_npdu_number_ack = send_no; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
656 sndcp_data->nu->rec_npdu_number_ack = rec_no; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
657 nu_delete_npdus(); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
658 if (discard_ready) { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
659 sndcp_data->nu->sn_ready_ind_pending = FALSE; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
660 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
661 nu_ready_ind_if_nec(nsapi); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
662 SET_STATE(NU, NU_ACK_SUA_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
663 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
664 #endif /* NCONFIG */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
665 default: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
666 TRACE_ERROR( "SIG_MG_NU_RESET_ACK unexpected" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
667 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
668 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
669 } /* sig_mg_nu_reset_ack() */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
670 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
671 #endif /* CF_FAST_EXEC */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
672 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
673 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
674 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
675 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
676 | Function : sig_su_nu_ready_ind | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
677 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
678 | Description : Handles the internal signal SIG_SU_NU_READY_IND | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
679 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
680 | Parameters : UBYTE nsapi: the affected NSAPI | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
681 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
682 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
683 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
684 /*f defined(CF_FAST_EXEC) || defined(_SIMULATION_) || \ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
685 !defined(SNDCP_UPM_INCLUDED) || defined(SNDCP_2to1) */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
686 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
687 GLOBAL void sig_su_nu_ready_ind (UBYTE nsapi) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
688 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
689 TRACE_ISIG( "sig_su_nu_ready_ind" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
690 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
691 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
692 * Set service instance according to nsapi in signal. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
693 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
694 sndcp_data->nu = & sndcp_data->nu_base[nsapi]; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
695 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
696 switch( GET_STATE( NU ) ) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
697 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
698 case NU_ACK_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
699 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
700 case NU_ACK_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
701 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
702 case NU_UNACK_SU_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
703 SET_STATE(NU, NU_UNACK_SU_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
704 nu_unitready_ind_if_nec(nsapi); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
705 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
706 case NU_UNACK_SU_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
707 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
708 #ifndef NCONFIG | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
709 case NU_SEND_ACK_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
710 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
711 case NU_SEND_ACK_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
712 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
713 case NU_SEND_UNACK_SU_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
714 SET_STATE(NU, NU_SEND_UNACK_SU_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
715 nu_unitready_ind_if_nec(nsapi); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
716 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
717 case NU_SEND_UNACK_SU_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
718 /*SET_STATE(NU, NU_SEND_UNACK_SU_RECEPTIVE);*/ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
719 nu_config_send_next(nsapi); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
720 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
721 case NU_SEND_REC_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
722 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
723 case NU_SEND_SUS_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
724 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
725 case NU_SEND_SUS_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
726 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
727 #endif | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
728 default: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
729 TRACE_ERROR( "SIG_SU_NU_READY_IND unexpected" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
730 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
731 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
732 } /* sig_su_nu_ready_ind() */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
733 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
734 /*#endif *//* CF_FAST_EXEC || _SIMULATION_ || !SNDCP_UPM_INCLUDED || SNDCP_2to1 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
735 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
736 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
737 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
738 | Function : sig_sua_nu_data_cnf | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
739 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
740 | Description : Handles the internal signal SIG_SUA_NU_DATA_CNF. The N-PDU | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
741 | with the given N-PDU number has been confirmed completely by | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
742 | the network and service nu is notified abou this. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
743 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
744 | Parameters : UBYTE nsapi: the affected NSAPI, UBYTE npdu_number: the number | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
745 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
746 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
747 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
748 #ifndef CF_FAST_EXEC | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
749 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
750 GLOBAL void sig_sua_nu_data_cnf (UBYTE nsapi, UBYTE npdu_number) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
751 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
752 TRACE_ISIG( "sig_sua_nu_npdu_number" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
753 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
754 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
755 * Set service instance according to nsapi in signal. | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
756 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
757 sndcp_data->nu = & sndcp_data->nu_base[nsapi]; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
758 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
759 switch( GET_STATE( NU ) ) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
760 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
761 case NU_ACK_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
762 case NU_REC_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
763 case NU_ACK_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
764 case NU_SUS_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
765 case NU_SUS_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
766 #ifndef NCONFIG | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
767 case NU_SEND_ACK_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
768 case NU_SEND_ACK_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
769 case NU_SEND_SUS_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
770 case NU_SEND_SUS_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
771 case NU_SEND_REC_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
772 #endif /* NCONFIG */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
773 nu_delete_npdu(nsapi, npdu_number); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
774 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
775 case NU_UNACK_SU_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
776 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
777 case NU_UNACK_SU_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
778 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
779 default: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
780 TRACE_ERROR( "SIG_SUA_NU_DATA_CNF unexpected" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
781 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
782 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
783 } /* sig_sua_nu_data_cnf() */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
784 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
785 #endif /* CF_FAST_EXEC */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
786 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
787 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
788 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
789 | Function : sig_sua_nu_ready_ind | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
790 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
791 | Description : Handles the internal signal SIG_SUA_NU_READY_IND | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
792 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
793 | Parameters : UBYTE nsapi: the affected NSAPI | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
794 | | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
795 +------------------------------------------------------------------------------ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
796 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
797 #ifndef CF_FAST_EXEC | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
798 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
799 GLOBAL void sig_sua_nu_ready_ind (UBYTE nsapi) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
800 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
801 BOOL ready; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
802 #ifndef NCONFIG | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
803 U32 *data_count; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
804 data_count = &sndcp_data->data_count[nsapi]; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
805 #endif | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
806 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
807 TRACE_FUNCTION( "sig_sua_nu_ready_ind" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
808 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
809 /* | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
810 * set service instance according to nsapi in primitive | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
811 */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
812 sndcp_data->nu = & sndcp_data->nu_base[nsapi]; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
813 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
814 switch( GET_STATE( NU ) ) | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
815 { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
816 case NU_ACK_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
817 #ifndef NCONFIG | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
818 if (*data_count == 0) { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
819 SET_STATE(NU, NU_ACK_SUA_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
820 nu_ready_ind_if_nec(nsapi); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
821 } else { | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
822 SET_STATE(NU, NU_SEND_ACK_SUA_NOT_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
823 nu_config_send_next(sndcp_data->nu->nsapi); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
824 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
825 #else | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
826 SET_STATE(NU, NU_ACK_SUA_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
827 nu_ready_ind_if_nec(nsapi); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
828 #endif | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
829 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
830 case NU_REC_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
831 nu_send_pending(&ready); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
832 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
833 case NU_SUS_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
834 SET_STATE(NU, NU_SUS_SUA_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
835 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
836 case NU_ACK_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
837 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
838 #ifndef NCONFIG | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
839 case NU_SEND_ACK_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
840 nu_config_send_next(nsapi); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
841 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
842 case NU_SEND_ACK_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
843 SET_STATE(NU, NU_SEND_ACK_SUA_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
844 nu_ready_ind_if_nec(nsapi); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
845 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
846 case NU_SEND_UNACK_SU_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
847 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
848 case NU_SEND_UNACK_SU_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
849 SET_STATE(NU, NU_SEND_UNACK_SU_RECEPTIVE); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
850 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
851 case NU_SEND_REC_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
852 nu_config_send_pending(&ready); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
853 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
854 case NU_SEND_SUS_SUA_NOT_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
855 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
856 case NU_SEND_SUS_SUA_RECEPTIVE: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
857 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
858 #endif | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
859 default: | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
860 TRACE_ERROR( "SIG_SUA_NU_READY_IND unexpected" ); | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
861 break; | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
862 } | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
863 } /* sig_sua_nu_ready_ind() */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
864 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
865 #endif /* CF_FAST_EXEC */ | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
866 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
867 | 
| 
 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
868 | 
