FreeCalypso > hg > fc-magnetite
annotate src/g23m-gprs/sm/sm_pei.c @ 688:5806383e2788
doc/Compiling: update for luna1, luna2 and tangomdm
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Mon, 12 Oct 2020 19:17:23 +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 | Project : 3G PS | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 | Module : SM | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 +----------------------------------------------------------------------------- | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 | Copyright 2003 Texas Instruments. | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 | All rights reserved. | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 | | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 | 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 | 9 | Instruments . | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 | 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 | 11 | 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 | 12 | 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 | 13 | 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 | 14 | Texas Instruments. | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 +----------------------------------------------------------------------------- | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 | Purpose: This module implements the process body interface | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 | for the User Plane Manager (SM) entity. | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 | For design details, see: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 | 8010.939 SM Detailed Specification | 
| 
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 /*==== DECLARATION CONTROL =================================================*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 #ifndef SM_PEI_C | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 #define SM_PEI_C | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 #endif | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 /*==== INCLUDES =============================================================*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 #include "sm.h" | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 #include "ccdapi.h" | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 #include "sm_sequencer.h" | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 #include "sm_dispatcher.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 "mon_sm.h" | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 /*==== CONSTS ===============================================================*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 /*==== TYPES ================================================================*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 43 /*==== LOCALS ===============================================================*/ | 
| 
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 /* Communication handles */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 T_HANDLE hCommACI = VSI_ERROR; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 T_HANDLE hCommMM = VSI_ERROR; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 T_HANDLE hCommUPM = VSI_ERROR; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 T_HANDLE sm_handle; | 
| 
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 static T_MONITOR sm_mon; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 static BOOL first_access = TRUE; | 
| 
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 /* Global entity data structure */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 55 T_SM_DATA sm_data; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 56 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 57 /* Air interface message coding/decoding buffer */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 58 U8 _decodedMsg [MAX_MSTRUCT_LEN_SM]; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 59 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 60 /*==== PRIVATE FUNCTIONS ====================================================*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 61 | 
| 
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 | Function : pei_primitive | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 65 +------------------------------------------------------------------------------ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 66 | Description : This function is called by the frame when a primitive is | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 67 | received and needs to be processed. | 
| 
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 | | | UPPER LAYER | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 71 | v v | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 72 | +--------------(SMREG SAP)--------------(SM SAP)---------------+ | 
| 
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 | | SM | | 
| 
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 | | | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 78 | | LOWER LAYER | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 79 | (MMPM SAP) | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 80 | | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 81 | Parameters : prim - Pointer to the received primitive | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 82 | | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 83 | Return : PEI_OK - function succeeded | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 84 | PEI_ERROR - function failed | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 85 +------------------------------------------------------------------------------ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 86 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 87 static short pei_primitive (void *primitive) | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 88 { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 89 (void)TRACE_FUNCTION("SM pei_primitive"); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 90 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 91 if (primitive != NULL) | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 92 { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 93 T_PRIM_HEADER *prim; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 94 U32 opc; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 95 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 96 opc = P_OPC(primitive); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 97 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 98 /*@i1@*/ (void)PTRACE_IN (opc); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 99 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 100 prim = (T_PRIM_HEADER *)&((T_PRIM *)primitive)->data; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 101 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 102 /* Memory supervision ? */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 103 VSI_PPM_RCV (primitive); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 104 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 105 switch (opc) | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 106 { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 107 /* SMREG SAP */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 108 case SMREG_PDP_ACTIVATE_REQ: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 109 sm_disp_smreg_pdp_activate_req((T_SMREG_PDP_ACTIVATE_REQ *)(prim)); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 110 PFREE(prim); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 111 break; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 112 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 113 case SMREG_PDP_ACTIVATE_SEC_REQ: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 114 sm_disp_smreg_pdp_activate_sec_req((T_SMREG_PDP_ACTIVATE_SEC_REQ *)(prim)); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 115 PFREE(prim); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 116 break; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 117 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 118 case SMREG_PDP_ACTIVATE_REJ_RES: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 119 sm_disp_smreg_pdp_activate_rej_res((T_SMREG_PDP_ACTIVATE_REJ_RES *)(prim)); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 120 PFREE(prim); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 121 break; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 122 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 123 case SMREG_PDP_DEACTIVATE_REQ: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 124 sm_disp_smreg_pdp_deactivate_req((T_SMREG_PDP_DEACTIVATE_REQ *)(prim)); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 125 PFREE(prim); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 126 break; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 127 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 128 case SMREG_PDP_MODIFY_REQ: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 129 sm_disp_smreg_pdp_modify_req((T_SMREG_PDP_MODIFY_REQ *)(prim)); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 130 PFREE(prim); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 131 break; | 
| 
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 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 134 /* SM SAP */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 135 case SM_ACTIVATE_RES: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 136 sm_disp_sm_activate_res((T_SM_ACTIVATE_RES *)(prim)); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 137 PFREE(prim); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 138 break; | 
| 
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 case SM_DEACTIVATE_RES: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 141 sm_disp_sm_deactivate_res((T_SM_DEACTIVATE_RES *)(prim)); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 142 PFREE(prim); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 143 break; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 144 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 145 case SM_MODIFY_RES: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 146 sm_disp_sm_modify_res((T_SM_MODIFY_RES *)(prim)); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 147 PFREE(prim); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 148 break; | 
| 
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 case SM_STATUS_REQ: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 151 sm_disp_sm_status_req((T_SM_STATUS_REQ *)(prim)); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 152 PFREE(prim); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 153 break; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 154 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 155 /* MMPM SAP */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 156 case MMPM_ATTACH_IND: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 157 sm_disp_mmpm_attach_ind((T_MMPM_ATTACH_IND *)(prim)); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 158 PFREE(prim); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 159 break; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 160 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 161 case MMPM_DETACH_IND: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 162 sm_disp_mmpm_detach_ind((T_MMPM_DETACH_IND *)(prim)); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 163 PFREE(prim); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 164 break; | 
| 
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 case MMPM_UNITDATA_IND: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 167 sm_disp_mmpm_unitdata_ind((T_MMPM_UNITDATA_IND *)(prim)); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 168 PFREE(prim); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 169 break; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 170 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 171 case MMPM_SUSPEND_IND: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 172 sm_disp_mmpm_suspend_ind((T_MMPM_SUSPEND_IND *)(prim)); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 173 PFREE(prim); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 174 break; | 
| 
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 case MMPM_RESUME_IND: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 177 sm_disp_mmpm_resume_ind((T_MMPM_RESUME_IND *)(prim)); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 178 PFREE(prim); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 179 break; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 180 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 181 default: | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 182 /* forward sys primitives to the environment */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 183 if ( (opc & SYS_MASK) != 0) { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 184 (void)vsi_c_primitive(VSI_CALLER primitive); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 185 return (short)PEI_OK; | 
| 
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 PFREE(prim); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 188 return (short)PEI_ERROR; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 189 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 190 } /* switch */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 191 } /* if (prim != NULL) */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 192 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 193 return PEI_OK; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 194 } | 
| 
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 /* | 
| 
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 | Function : pei_init | 
| 
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 | Description : This function is called by the frame. It is used | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 201 | to initialise the entity. | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 202 | | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 203 | Parameters : handle - task handle | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 204 | | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 205 | Return : PEI_OK - entity initialised | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 206 | PEI_ERROR - entity not (yet) initialised | 
| 
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 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 209 static short pei_init (T_HANDLE handle) | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 210 { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 211 (void)TRACE_FUNCTION ("SM pei_init"); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 212 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 213 /* | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 214 * Initialize task handle | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 215 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 216 sm_handle = handle; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 217 /* | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 218 * Open communication channels | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 219 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 220 if (hCommACI < VSI_OK) | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 221 { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 222 if ((hCommACI = vsi_c_open(VSI_CALLER ACI_NAME)) < VSI_OK) | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 223 { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 224 return (short)PEI_ERROR; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 225 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 226 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 227 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 228 if (hCommMM < VSI_OK) | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 229 { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 230 /*#ifdef SM_EDGE */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 231 if ((hCommMM = vsi_c_open(VSI_CALLER GMM_NAME)) < VSI_OK) | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 232 /*#else */ /* #ifdef SM_EDGE */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 233 /* if ((hCommMM = vsi_c_open(VSI_CALLER MM_NAME)) < VSI_OK) | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 234 #endif */ /*#ifdef SM_EDGE*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 235 { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 236 return (short)PEI_ERROR; | 
| 
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 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 240 if (hCommUPM < VSI_OK) | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 241 { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 242 if ((hCommUPM = vsi_c_open (VSI_CALLER UPM_NAME)) < VSI_OK) | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 243 { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 244 return (short)PEI_ERROR; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 245 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 246 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 247 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 248 /* Clear static entity data store */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 249 memset(&sm_data, 0, sizeof(sm_data)); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 250 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 251 /* Initialize multi-entity state machine */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 252 sm_sequencer_init(); | 
| 
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 * Initialize entity data (call init functions) | 
| 
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 (void)ccd_init(); | 
| 
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 return (short)PEI_OK; | 
| 
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 | 
| 
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 +------------------------------------------------------------------------------ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 264 | Function : pei_timeout | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 265 +------------------------------------------------------------------------------ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 266 | Description : This function is called by the frame when a timer has expired. | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 267 | | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 268 | Parameters : index - timer index | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 269 | | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 270 | Return : PEI_OK - timeout processed | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 271 | PEI_ERROR - timeout not processed | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 272 | | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 273 +------------------------------------------------------------------------------ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 274 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 275 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 276 static short pei_timeout (U16 index) | 
| 
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 (void)TRACE_FUNCTION("pei_timeout"); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 279 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 280 /* | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 281 * Process timeout | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 282 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 283 sm_disp_pei_timeout(index); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 284 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 285 return PEI_OK; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 286 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 287 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 288 /* | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 289 +------------------------------------------------------------------------------ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 290 | Function : pei_exit | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 291 +------------------------------------------------------------------------------ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 292 | Description : This function is called by the frame when the entity | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 293 | is terminated. All open resources are freed. | 
| 
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 | Parameters : - | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 296 | | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 297 | Return : PEI_OK - exit sucessful | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 298 | PEI_ERROR - exit not successful | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 299 +------------------------------------------------------------------------------ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 300 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 301 static short pei_exit (void) | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 302 { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 303 int nsapi; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 304 (void)TRACE_FUNCTION ("SM pei_exit"); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 305 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 306 /* | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 307 * Clean up entity data | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 308 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 309 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 310 for (nsapi = (int)NAS_NSAPI_5; nsapi < NAS_SIZE_NSAPI; nsapi++) { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 311 int index = sm_nsapi_to_index((U16)nsapi); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 312 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 313 if (sm_data.sm_context_array[index] != NULL) { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 314 /* sm_free_context_data_by_nsapi also sets pointer to NULL */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 315 sm_free_context_data_by_nsapi(nsapi); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 316 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 317 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 318 if (sm_data.sm_pending_mt_array[index] != NULL) { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 319 /* sm_free_pending_mt_context_by_index also sets pointer to NULL */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 320 sm_free_pending_mt_context_by_index((U16)index); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 321 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 322 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 323 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 324 sm_sequencer_exit(); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 325 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 326 /* Exit CCD to clean up data stores */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 327 (void)ccd_exit(); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 328 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 329 /* | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 330 * Close communication channels | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 331 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 332 (void)vsi_c_close(VSI_CALLER hCommACI); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 333 hCommACI = VSI_ERROR; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 334 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 335 (void)vsi_c_close(VSI_CALLER hCommMM); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 336 hCommMM = VSI_ERROR; | 
| 
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 (void)vsi_c_close(VSI_CALLER hCommUPM); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 339 hCommUPM = VSI_ERROR; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 340 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 341 return (short)PEI_OK; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 342 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 343 | 
| 
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 | Function : pei_config | 
| 
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 | Description : This function is called by the frame when a primitive is | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 349 | received indicating dynamic configuration. | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 350 | | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 351 | This function is not used in this entity. | 
| 
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 | Parameters : handle - Communication handle | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 354 | | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 355 | Return : PEI_OK - sucessful | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 356 | PEI_ERROR - not successful | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 357 +------------------------------------------------------------------------------ | 
| 
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 static short pei_config (char *inString) | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 360 { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 361 (void)TRACE_FUNCTION ("SM pei_config"); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 362 (void)TRACE_FUNCTION (inString); | 
| 
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 #ifdef DEBUG | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 365 if ( strcmp(inString, "DUMP_STATE") == 0) { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 366 sm_dump_state(); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 367 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 368 #endif | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 369 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 370 return (short)PEI_OK; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 371 } | 
| 
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 /* | 
| 
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 | Function : pei_monitor | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 376 +------------------------------------------------------------------------------ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 377 | Description : This function is called by the frame in case sudden entity | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 378 | specific data is requested (e.g. entity Version). | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 379 | | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 380 | Parameters : out_monitor - return the address of the data to be | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 381 | monitoredCommunication handle | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 382 | | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 383 | Return : PEI_OK - sucessful (address in out_monitor is valid) | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 384 | PEI_ERROR - not successful | 
| 
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 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 387 /*@-compdef@*/ /*@-mods@*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 388 static short pei_monitor (void **out_monitor) /*@globals undef sm_mon@*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 389 { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 390 (void)TRACE_FUNCTION ("SM pei_monitor"); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 391 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 392 /* | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 393 * Version = "0.S" (S = Step). | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 394 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 395 sm_mon.version = "SM 0.1"; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 396 *out_monitor = &sm_mon; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 397 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 398 return PEI_OK; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 399 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 400 /*@=compdef@*/ /*@=mods@*/ | 
| 
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 /*==== PUBLIC FUNCTIONS =====================================================*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 403 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 404 /* | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 405 +------------------------------------------------------------------------------ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 406 | Function : pei_create | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 407 +------------------------------------------------------------------------------ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 408 | Description : This function is called by the frame when the process is | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 409 | created. | 
| 
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 | Parameters : out_name - Pointer to the buffer in which to locate | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 412 | the name of this entity | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 413 | | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 414 | Return : PEI_OK - entity created successfuly | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 415 | PEI_ERROR - entity could not be created | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 416 | | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 417 +------------------------------------------------------------------------------ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 418 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 419 short pei_create (T_PEI_INFO **info) | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 420 { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 421 /*@-nullassign@*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 422 static T_PEI_INFO pei_info = | 
| 
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 /*@i1@*/ SM_NAME, /* name */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 425 { /* pei-table */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 426 pei_init, | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 427 pei_exit, | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 428 pei_primitive, | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 429 pei_timeout, | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 430 NULL, /* no pei_signal function */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 431 NULL, /* no pei_run function */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 432 pei_config, | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 433 pei_monitor | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 434 }, | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 435 (U32)2048, /* stack size */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 436 (U16)10, /* queue entries */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 437 (U16)165, /* priority (1->low, 255->high) */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 438 (U16)SM_TIMER_MAX, /* number of timers */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 439 (U8)0x03 /* flags: bit 0 active(0) body/passive(1) */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 440 }; /* bit 1 com by copy(0)/reference(1) */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 441 /*@=nullassign@*/ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 442 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 443 (void)TRACE_FUNCTION ("SM pei_create"); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 444 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 445 /* | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 446 * Close Resources if open | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 447 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 448 if (first_access) | 
| 
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 first_access = FALSE; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 451 } else { | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 452 (void)pei_exit(); | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 453 } | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 454 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 455 /* | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 456 * Export startup configuration data | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 457 */ | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 458 *info = &pei_info; | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 459 | 
| 
219afcfc6250
src/g23m-gprs: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 460 return PEI_OK; | 
| 
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 /*==== END OF FILE ==========================================================*/ | 
