FreeCalypso > hg > fc-tourmaline
annotate src/g23m-gprs/sndcp/sndcp_pdas.c @ 54:a1799f6d6aa7
doc/Nucleus-change article written
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Tue, 20 Oct 2020 04:11:55 +0000 | 
| parents | fa8dc04885d8 | 
| children | 
| rev | line source | 
|---|---|
| 1 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 /* | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 +----------------------------------------------------------------------------- | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 | Project : GPRS (8441) | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 | Modul : sndcp_pdas.c | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 +----------------------------------------------------------------------------- | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 | Copyright 2002 Texas Instruments Berlin, AG | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 | All rights reserved. | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 | | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 | This file is confidential and a trade secret of Texas | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 | Instruments Berlin, AG | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 | The receipt of or possession of this file does not convey | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 | any rights to reproduce or disclose its contents or to | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 | manufacture, use, or sell anything it may describe, in | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 | whole, or in part, without the specific written consent of | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 | Texas Instruments Berlin, AG. | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 +----------------------------------------------------------------------------- | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 | Purpose : This modul is part of the entity SNDCP and implements all | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 | functions to handles the incoming process internal signals as | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 | described in the SDL-documentation (PDA-statemachine) | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 +----------------------------------------------------------------------------- | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 */ | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 #define ENTITY_SNDCP | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 /*==== INCLUDES =============================================================*/ | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 #include "typedefs.h" /* to get Condat data types */ | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 #include "vsi.h" /* to get a lot of macros */ | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 #include "macdef.h" | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 #include "gsm.h" /* to get a lot of macros */ | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 #include "prim.h" /* to get the definitions of used SAP and directions */ | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 #include "dti.h" | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 #include "sndcp.h" /* to get the global entity definitions */ | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 #include "sndcp_f.h" /* to get the functions to access the global arrays*/ | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 /*==== CONST ================================================================*/ | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 /*==== LOCAL VARS ===========================================================*/ | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 /*==== PRIVATE FUNCTIONS ====================================================*/ | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 43 /*==== PUBLIC FUNCTIONS =====================================================*/ | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 44 | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 /* | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 +------------------------------------------------------------------------------ | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 | Function : sig_sda_pda_getdata_req | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 50 +------------------------------------------------------------------------------ | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 | Description : Handles the internal signal SIG_SDA_PDA_GETDATA_REQ | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 | | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 | Parameters : the affected sapi. | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 54 | | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 55 +------------------------------------------------------------------------------ | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 56 */ | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 57 GLOBAL void sig_sda_pda_getdata_req (UBYTE sapi) | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 58 { | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 59 UBYTE sapi_index = 0; | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 60 | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 61 TRACE_ISIG( "sig_sda_pda_getdata_req" ); | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 62 | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 63 /* | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 64 * set service instance according to sapi in primitive | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 65 */ | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 66 sndcp_get_sapi_index(sapi, &sapi_index); | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 67 sndcp_data->pda = & sndcp_data->pda_base[sapi_index]; | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 68 | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 69 switch( GET_STATE( PDA ) ) | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 70 { | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 71 case PDA_DEFAULT: | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 72 #ifdef SNDCP_TRACE_ALL | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 73 TRACE_EVENT("trying to palloc/send LL_GETDATA_REQ"); | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 74 #endif | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 75 { | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 76 PALLOC(ll_getdata_req, LL_GETDATA_REQ); | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 77 | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 78 ll_getdata_req->sapi = sapi; | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 79 /* | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 80 * TLLI is not evaluated by LLC. | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 81 */ | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 82 PSEND(hCommLLC, ll_getdata_req); | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 83 } | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 84 break; | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 85 default: | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 86 TRACE_ERROR( "SIG_SDA_PDA_GETDATA_REQ unexpected" ); | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 87 break; | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 88 } | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 89 } /* sig_sda_pda_getdata_req() */ | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 90 | 
| 
fa8dc04885d8
src/g23m-*: import from Magnetite
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 91 | 
