FreeCalypso > hg > fc-magnetite
annotate src/g23m-gprs/sndcp/sndcp_nup.c @ 613:6f0874b00973
LICENSE: current status
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Fri, 21 Jun 2019 23:08:01 +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_nup.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 primitives as described in | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 | 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 "gsm.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 | 33 #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 | 34 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 #include "dti.h" | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 #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 | 38 #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 | 39 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 #include "sndcp_nuf.h" /* to get functions from nu service */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 #include "sndcp_sus.h" /* to get internal signals to su signals */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 #include "sndcp_suas.h" /* to get internal signals to sua signals */ | 
| 
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 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 /*==== CONST ================================================================*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 /*==== LOCAL VARS ===========================================================*/ | 
| 
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 /*==== PRIVATE FUNCTIONS ====================================================*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 50 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 /*==== PUBLIC FUNCTIONS =====================================================*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 54 /* | 
| 
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 | Function : nu_connection_state | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 57 +------------------------------------------------------------------------------ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 58 | Description : DTI connnection has been opened by calling sndcp_sig_callback | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 59 | with reason DTI_REASON_CONNECTION_OPENED. | 
| 
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 | Parameters : UBYTE nsapi: the affected NSAPI | 
| 
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 +------------------------------------------------------------------------------ | 
| 
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 GLOBAL void nu_connection_state (UBYTE nsapi, BOOL opened) | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 66 { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 67 TRACE_ISIG( "nu_connection_state" ); | 
| 
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 /* | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 70 * 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 | 71 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 72 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 | 73 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 74 switch( GET_STATE( NU ) ) | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 75 { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 76 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 77 case NU_UNACK_SU_RECEPTIVE : | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 78 case NU_UNACK_SU_NOT_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 79 #ifndef NCONFIG | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 80 case NU_SEND_UNACK_SU_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 81 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 | 82 #endif /* NCONFIG */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 83 if (!sndcp_data->nu->connection_is_opened | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 84 && | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 85 opened) { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 86 sndcp_data->nu->connection_is_opened = TRUE; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 87 #ifndef SNDCP_UPM_INCLUDED | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 88 if (sndcp_data->nu->sn_switch_cnf_expected) { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 89 PALLOC (sn_switch_cnf, SN_SWITCH_CNF); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 90 sn_switch_cnf->nsapi = nsapi; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 91 sndcp_data->nu->sn_switch_cnf_expected = FALSE; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 92 PSEND(hCommMMI, sn_switch_cnf); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 93 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 94 #endif /*SNDCP_UPM_INCLUDED*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 95 #ifdef SNDCP_UPM_INCLUDED | 
| 
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 U32 linkid = 0; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 98 PALLOC (sn_dti_cnf, SN_DTI_CNF); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 99 sndcp_get_nsapi_linkid(nsapi, &linkid); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 100 sn_dti_cnf->dti_linkid = linkid; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 101 sndcp_data->nu->sn_dti_cnf_expected = FALSE; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 102 sn_dti_cnf->dti_conn = NAS_CONNECT_DTI; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 103 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 104 PSEND(hCommMMI, sn_dti_cnf); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 105 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 106 #endif | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 107 nu_unitready_ind_if_nec(nsapi); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 108 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 109 } else if (!opened) { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 110 sndcp_data->nu->connection_is_opened = FALSE; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 111 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 | 112 sndcp_data->nu->sn_switch_cnf_expected = FALSE; | 
| 
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 break; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 115 case NU_ACK_SUA_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 116 case NU_ACK_SUA_NOT_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 117 case NU_SUS_SUA_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 118 case NU_SUS_SUA_NOT_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 119 case NU_REC_SUA_NOT_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 120 #ifndef NCONFIG | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 121 case NU_SEND_ACK_SUA_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 122 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 | 123 case NU_SEND_SUS_SUA_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 124 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 | 125 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 | 126 #endif /* NCONFIG */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 127 if (!sndcp_data->nu->connection_is_opened | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 128 && | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 129 opened) { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 130 sndcp_data->nu->connection_is_opened = TRUE; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 131 #ifdef SNDCP_UPM_INCLUDED | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 132 { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 133 U32 linkid = 0; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 134 PALLOC (sn_dti_cnf, SN_DTI_CNF); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 135 sndcp_get_nsapi_linkid(nsapi, &linkid); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 136 sn_dti_cnf->dti_linkid = linkid; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 137 sndcp_data->nu->sn_dti_cnf_expected = FALSE; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 138 sn_dti_cnf->dti_conn = NAS_CONNECT_DTI; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 139 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 140 PSEND(hCommMMI, sn_dti_cnf); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 141 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 142 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 143 #else | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 144 if (sndcp_data->nu->sn_switch_cnf_expected) { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 145 PALLOC (sn_switch_cnf, SN_SWITCH_CNF); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 146 sn_switch_cnf->nsapi = nsapi; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 147 sndcp_data->nu->sn_switch_cnf_expected = FALSE; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 148 PSEND(hCommMMI, sn_switch_cnf); | 
| 
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 #endif | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 151 nu_ready_ind_if_nec(nsapi); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 152 } else if (!opened) { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 153 sndcp_data->nu->connection_is_opened = FALSE; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 154 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 | 155 sndcp_data->nu->sn_switch_cnf_expected = FALSE; | 
| 
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 break; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 158 default: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 159 TRACE_ERROR( "Function nu_connection_state unexpected" ); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 160 break; | 
| 
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 } /* nu_connection_state() */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 163 | 
| 
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 +------------------------------------------------------------------------------ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 166 | Function : nu_sn_data_req | 
| 
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 | Description : Handles the primitive SN_DATA_REQ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 169 | | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 170 | Parameters : *sn_data_req - Ptr to primitive payload | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 171 | | 
| 
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 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 174 GLOBAL void nu_sn_data_req ( T_SN_DATA_REQ *sn_data_req ) | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 175 { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 176 BOOL used = FALSE; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 177 BOOL sack = FALSE; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 178 UBYTE sapi = 0; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 179 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 180 TRACE_FUNCTION( "nu_sn_data_req" ); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 181 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 182 dti_stop(sndcp_data->hDTI, | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 183 0, | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 184 #ifndef SNDCP_UPM_INCLUDED | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 185 SNDCP_INTERFACE_ACK, | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 186 #else | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 187 SNDCP_INTERFACE_UNACK, | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 188 #endif | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 189 sn_data_req->nsapi); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 190 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 191 /* | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 192 * 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 | 193 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 194 sndcp_data->nu = & sndcp_data->nu_base[sn_data_req->nsapi]; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 195 /* | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 196 * User has used up his ready_ind. | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 197 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 198 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 | 199 /* | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 200 * If context is not active, discard primitive. | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 201 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 202 sndcp_is_nsapi_used(sn_data_req->nsapi, &used); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 203 if (!used && sn_data_req != NULL) { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 204 MFREE_PRIM(sn_data_req); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 205 sn_data_req = NULL; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 206 return; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 207 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 208 if (sn_data_req == NULL) { | 
| 
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 * Should not be possible. Only included to avoid NULL pointer use. | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 211 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 212 return; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 213 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 214 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 215 #ifdef SNDCP_TRACE_IP_DATAGRAM | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 216 if(sndcp_data->trace_ip_header || sndcp_data->trace_ip_datagram){ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 217 TRACE_EVENT("--------- Uplink IP datagram ---------"); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 218 #ifdef _SNDCP_DTI_2_ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 219 sndcp_trace_ip_datagram(& sn_data_req->desc_list2); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 220 #else /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 221 sndcp_trace_ip_datagram(& sn_data_req->desc_list); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 222 #endif /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 223 TRACE_EVENT("--------------------------------------"); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 224 } else { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 225 #ifdef _SNDCP_DTI_2_ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 226 sndcp_default_ip_trace(& sn_data_req->desc_list2, SNDCP_UL_PACKET); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 227 #else /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 228 sndcp_default_ip_trace& sn_data_req->desc_list, SNDCP_UL_PACKET); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 229 #endif /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 230 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 231 if(sndcp_data->trace_ip_bin){ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 232 #ifdef _SNDCP_DTI_2_ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 233 sndcp_bin_trace_ip(& sn_data_req->desc_list2, SNDCP_UL_PACKET); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 234 #else /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 235 sndcp_bin_trace_ip(& sn_data_req->desc_list, SNDCP_UL_PACKET); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 236 #endif /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 237 } | 
| 
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 #else /* SNDCP_TRACE_IP_DATAGRAM */ | 
| 
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 #ifdef SNDCP_TRACE_BUFFER | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 242 #ifdef _SNDCP_DTI_2_ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 243 TRACE_EVENT_P1("uplink at SN SAP: %d octets", | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 244 sn_data_req->desc_list2.list_len); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 245 sndcp_trace_desc_list(& sn_data_req->desc_list2); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 246 #else /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 247 TRACE_EVENT_P1("uplink at SN SAP: %d octets", | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 248 sn_data_req->desc_list.list_len); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 249 sndcp_trace_desc_list(& sn_data_req->desc_list); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 250 #endif /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 251 #endif /* SNDCP_TRACE_BUFFER */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 252 #endif /* SNDCP_TRACE_IP_DATAGRAM */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 253 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 254 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 255 switch( GET_STATE( NU ) ) | 
| 
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 case NU_ACK_SUA_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 258 /* | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 259 * Buffer the given N-PDU | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 260 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 261 nu_buffer_npdu(sndcp_data->nu->send_npdu_number_ack, sn_data_req); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 262 /* | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 263 * It is not checked here if the nsapi is active anyway! | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 264 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 265 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 | 266 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 | 267 sndcp_data->nu->send_npdu_number_ack = | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 268 (U8)((sndcp_data->nu->send_npdu_number_ack + 1) % MAX_NPDU_NUMBER_ACK); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 269 sndcp_get_sapi_ack(sapi, &sack); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 270 if(sack){ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 271 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 | 272 (U8)((sndcp_data->nu->send_npdu_number_ack - 1 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 273 + MAX_NPDU_NUMBER_ACK)% MAX_NPDU_NUMBER_ACK), | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 274 sn_data_req->nsapi, | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 275 sapi); | 
| 
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 | 
| 
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 break; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 280 case NU_UNACK_SU_NOT_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 281 case NU_UNACK_SU_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 282 nu_unitready_ind_if_nec(sn_data_req->nsapi); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 283 #ifdef _SNDCP_DTI_2_ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 284 MFREE_PRIM(sn_data_req); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 285 #else /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 286 PFREE_DESC(sn_data_req); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 287 #endif /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 288 sn_data_req = NULL; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 289 break; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 290 case NU_REC_SUA_NOT_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 291 case NU_SUS_SUA_NOT_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 292 case NU_SUS_SUA_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 293 case NU_ACK_SUA_NOT_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 294 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 295 nu_buffer_npdu(sndcp_data->nu->send_npdu_number_ack, | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 296 sn_data_req); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 297 sndcp_data->nu->send_npdu_number_ack = | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 298 (U8)((sndcp_data->nu->send_npdu_number_ack + 1) % MAX_NPDU_NUMBER_ACK); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 299 break; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 300 #ifndef NCONFIG | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 301 case NU_SEND_UNACK_SU_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 302 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 | 303 case NU_SEND_ACK_SUA_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 304 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 | 305 case NU_SEND_SUS_SUA_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 306 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 | 307 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 | 308 #ifndef SNDCP_UPM_INCLUDED | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 309 dti_start(sndcp_data->hDTI, 0, SNDCP_INTERFACE_ACK, sn_data_req->nsapi); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 310 #ifdef _SNDCP_DTI_2_ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 311 MFREE_PRIM(sn_data_req); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 312 #else /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 313 PFREE_DESC(sn_data_req); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 314 #endif /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 315 #else /*#ifndef SNDCP_UPM_INCLUDED*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 316 dti_start(sndcp_data->hDTI, 0, SNDCP_INTERFACE_UNACK, sn_data_req->nsapi); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 317 MFREE_PRIM(sn_data_req); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 318 #endif /*#ifndef SNDCP_UPM_INCLUDED*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 319 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 320 sn_data_req = NULL; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 321 break; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 322 #endif | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 323 default: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 324 TRACE_ERROR( "SN_DATA_REQ unexpected" ); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 325 #ifdef _SNDCP_DTI_2_ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 326 MFREE_PRIM(sn_data_req); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 327 #else /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 328 PFREE_DESC(sn_data_req); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 329 #endif /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 330 sn_data_req = NULL; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 331 break; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 332 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 333 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 334 } /* nu_sn_data_req() */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 335 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 336 /* | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 337 +------------------------------------------------------------------------------ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 338 | Function : nu_sn_unitdata_req | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 339 +------------------------------------------------------------------------------ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 340 | Description : Handles the primitive SN_UNITDATA_REQ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 341 | | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 342 | Parameters : *sn_unitdata_req - Ptr to primitive payload | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 343 | | 
| 
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 GLOBAL void nu_sn_unitdata_req ( T_SN_UNITDATA_REQ *sn_unitdata_req ) | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 347 { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 348 UBYTE sapi = 0; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 349 BOOL used = FALSE; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 350 UBYTE nsapi = sn_unitdata_req->nsapi; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 351 | 
| 
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 #ifdef FLOW_TRACE | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 354 sndcp_trace_flow_control(FLOW_TRACE_SNDCP, FLOW_TRACE_UP, FLOW_TRACE_TOP, FALSE); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 355 #endif | 
| 
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 TRACE_FUNCTION( "nu_sn_unitdata_req" ); | 
| 
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 dti_stop(sndcp_data->hDTI, | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 360 0, | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 361 SNDCP_INTERFACE_UNACK, | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 362 sn_unitdata_req->nsapi); | 
| 
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 /* | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 365 * 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 | 366 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 367 sndcp_data->nu = & sndcp_data->nu_base[sn_unitdata_req->nsapi]; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 368 /* | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 369 * User has used up his ready_ind. | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 370 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 371 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 | 372 /* | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 373 * If context is not active, discard primitive. | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 374 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 375 sndcp_is_nsapi_used(sn_unitdata_req->nsapi, &used); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 376 if (!used) { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 377 #ifdef _SNDCP_DTI_2_ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 378 MFREE_PRIM (sn_unitdata_req); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 379 #else /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 380 PFREE_DESC (sn_unitdata_req); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 381 #endif /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 382 sn_unitdata_req = NULL; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 383 return; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 384 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 385 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 386 #ifdef SNDCP_TRACE_IP_DATAGRAM | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 387 if(sndcp_data->trace_ip_header || sndcp_data->trace_ip_datagram){ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 388 TRACE_EVENT("--------- Uplink IP datagram ---------"); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 389 #ifdef _SNDCP_DTI_2_ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 390 sndcp_trace_ip_datagram(& sn_unitdata_req->desc_list2); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 391 #else /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 392 sndcp_trace_ip_datagram(& sn_unitdata_req->desc_list); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 393 #endif /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 394 TRACE_EVENT("--------------------------------------"); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 395 } else { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 396 #ifdef _SNDCP_DTI_2_ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 397 sndcp_default_ip_trace(& sn_unitdata_req->desc_list2, SNDCP_UL_PACKET); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 398 #else /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 399 sndcp_default_ip_trace(& sn_unitdata_req->desc_list, SNDCP_UL_PACKET); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 400 #endif /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 401 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 402 if(sndcp_data->trace_ip_bin){ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 403 #ifdef _SNDCP_DTI_2_ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 404 sndcp_bin_trace_ip(& sn_unitdata_req->desc_list2, SNDCP_UL_PACKET); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 405 #else /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 406 sndcp_bin_trace_ip(& sn_unitdata_req->desc_list, SNDCP_UL_PACKET); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 407 #endif /*_SNDCP_DTI_2_*/ | 
| 
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 #else /* SNDCP_TRACE_IP_DATAGRAM */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 410 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 411 #ifdef SNDCP_TRACE_BUFFER | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 412 #ifdef _SNDCP_DTI_2_ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 413 TRACE_EVENT_P1("uplink at SN SAP: %d octets", | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 414 sn_unitdata_req->desc_list2.list_len); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 415 sndcp_trace_desc_list(& sn_unitdata_req->desc_list2); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 416 #else /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 417 TRACE_EVENT_P1("uplink at SN SAP: %d octets", | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 418 sn_unitdata_req->desc_list.list_len); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 419 sndcp_trace_desc_list(& sn_unitdata_req->desc_list); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 420 #endif /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 421 #endif /* SNDCP_TRACE_BUFFER */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 422 #endif /* SNDCP_TRACE_IP_DATAGRAM */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 423 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 424 switch( GET_STATE( NU ) ) | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 425 { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 426 case NU_ACK_SUA_NOT_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 427 case NU_ACK_SUA_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 428 if (sn_unitdata_req != NULL) { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 429 #ifdef _SNDCP_DTI_2_ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 430 MFREE_PRIM (sn_unitdata_req); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 431 #else /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 432 PFREE_DESC(sn_unitdata_req); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 433 #endif /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 434 sn_unitdata_req = NULL; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 435 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 436 nu_ready_ind_if_nec(nsapi); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 437 break; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 438 case NU_UNACK_SU_NOT_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 439 if (sn_unitdata_req != NULL) { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 440 #ifdef _SNDCP_DTI_2_ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 441 MFREE_PRIM (sn_unitdata_req); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 442 #else /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 443 PFREE_DESC(sn_unitdata_req); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 444 #endif /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 445 sn_unitdata_req = NULL; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 446 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 447 break; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 448 case NU_UNACK_SU_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 449 /* | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 450 * It is not checked here if the nsapi is active anyway! | 
| 
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 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 | 453 SET_STATE(NU, NU_UNACK_SU_NOT_RECEPTIVE); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 454 sndcp_data->nu->send_npdu_number_unack = | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 455 (sndcp_data->nu->send_npdu_number_unack + 1) % MAX_NPDU_NUMBER_UNACK; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 456 sig_nu_su_unitdata_req(sn_unitdata_req, | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 457 (U16)((sndcp_data->nu->send_npdu_number_unack - 1 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 458 + MAX_NPDU_NUMBER_UNACK) % MAX_NPDU_NUMBER_UNACK), | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 459 sndcp_data->nu->nsapi, | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 460 sapi); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 461 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 462 | 
| 
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 #ifndef NCONFIG | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 465 case NU_SEND_UNACK_SU_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 466 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 | 467 case NU_SEND_ACK_SUA_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 468 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 | 469 case NU_SEND_SUS_SUA_RECEPTIVE: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 470 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 | 471 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 | 472 dti_start(sndcp_data->hDTI, 0, SNDCP_INTERFACE_UNACK, sn_unitdata_req->nsapi); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 473 if (sn_unitdata_req != NULL) { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 474 #ifdef _SNDCP_DTI_2_ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 475 MFREE_PRIM (sn_unitdata_req); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 476 #else /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 477 PFREE_DESC(sn_unitdata_req); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 478 #endif /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 479 sn_unitdata_req = NULL; | 
| 
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 break; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 483 #endif | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 484 default: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 485 TRACE_ERROR( "SN_UNITDATA_REQ unexpected" ); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 486 #ifdef _SNDCP_DTI_2_ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 487 MFREE_PRIM (sn_unitdata_req); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 488 #else /*_SNDCP_DTI_2_*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 489 PFREE_DESC(sn_unitdata_req); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 490 #endif /*_SNDCP_DTI_2_*/ | 
| 
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 sn_unitdata_req = NULL; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 493 break; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 494 } | 
| 
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 } /* nu_sn_unitdata_req() */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 497 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 498 | 
