FreeCalypso > hg > fc-magnetite
annotate src/g23m-aci/aci/cmh_gmmf.c @ 425:2f23fefeaa30
TCS3 mmiIdle.c compiles
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Sun, 21 Jan 2018 04:48:16 +0000 | 
| parents | 53929b40109c | 
| children | 
| rev | line source | 
|---|---|
| 162 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 +----------------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 | Project : | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 | Modul : | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 +----------------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 | Copyright 2002 Texas Instruments Berlin, AG | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 | All rights reserved. | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 | | 
| 
53929b40109c
src/g23m-aci: 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 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 | Instruments Berlin, AG | 
| 
53929b40109c
src/g23m-aci: 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 | 
| 
53929b40109c
src/g23m-aci: 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 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 | manufacture, use, or sell anything it may describe, in | 
| 
53929b40109c
src/g23m-aci: 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 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 | Texas Instruments Berlin, AG. | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 +----------------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 | Purpose : This module defines the functions used by the command | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 | handler for GPRS mobility management ( GMM ). | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 +----------------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 #if defined (GPRS) && defined (DTI) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 #ifndef CMH_GMMF_C | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 #define CMH_GMMF_C | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 #endif | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 #include "aci_all.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 /*==== INCLUDES ===================================================*/ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 #include "dti.h" /* functionality of the dti library */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 #include "aci_cmh.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 #include "ati_cmd.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 #include "aci_cmd.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 #include "pcm.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 #include "dti_conn_mng.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 #include "aci.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 #include "gaci.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 #include "gaci_cmh.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 #include "psa.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 43 #include "psa_mm.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 44 #include "psa_gmm.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 #include "psa_sm.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 #include "psa_gppp.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 #include "psa_sim.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 #include "cmh.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 50 #include "cmh_mm.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 #include "cmh_gmm.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 #include "cmh_sm.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 #include "cmh_gppp.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 54 #include "cmh_sim.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 55 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 56 #include "aci_ext_pers.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 57 #include "aci_slock.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 58 /*==== CONSTANTS ==================================================*/ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 59 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 60 /*==== TYPES ======================================================*/ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 61 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 62 /*==== EXPORT =====================================================*/ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 63 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 64 /*==== VARIABLES ==================================================*/ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 65 static T_ATTACH_STATE attach_state; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 66 static T_plmn _plmn; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 67 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 68 #ifdef SIM_PERS | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 69 EXTERN T_ACI_SLOCK_SHARED AciSLockShrd; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 70 #endif | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 71 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 72 LOCAL BOOL frstFlg = TRUE; /* flags first attempt */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 73 /*==== FUNCTIONS ==================================================*/ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 74 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 75 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 76 +--------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 77 | PROJECT : GPRS (8441) MODULE : CMH_GMM | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 78 | STATE : finished ROUTINE : cmhGMM_Init | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 79 +--------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 80 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 81 PURPOSE : Fill variables for the own use with default values. | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 82 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 83 GLOBAL void cmhGMM_Init (void) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 84 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 85 gmmEntStat.curCmd = AT_CMD_NONE; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 86 gmmEntStat.entOwn = CMD_SRC_NONE; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 87 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 88 frstFlg = TRUE; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 89 cmhGMM_Set_state ( AS_MOBILE_OFF ); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 90 _plmn.v_plmn = INVLD_PLMN; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 91 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 92 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 93 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 94 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 95 +--------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 96 | PROJECT : GPRS (8441) MODULE : CMH_GMM | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 97 | STATE : finished ROUTINE : cmhGMM_Get_state | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 98 +--------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 99 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 100 PURPOSE : Get state of attachment. | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 101 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 102 GLOBAL T_ATTACH_STATE cmhGMM_Get_state ( void ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 103 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 104 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 105 return attach_state; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 106 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 107 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 108 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 109 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 110 +--------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 111 | PROJECT : GPRS (8441) MODULE : CMH_GMM | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 112 | STATE : finished ROUTINE : cmhGMM_Set_state | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 113 +--------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 114 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 115 PURPOSE : Set state of attachment. | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 116 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 117 GLOBAL void cmhGMM_Set_state ( T_ATTACH_STATE state ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 118 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 119 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 120 if ( state > AS_INVALID_STATE AND state <= AS_SUSPENTED ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 121 attach_state = state; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 122 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 123 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 124 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 125 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 126 +----------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 127 | PROJECT : GPRS (8441) MODULE : CMH_GMM | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 128 | STATE : finished ROUTINE : cmhGMM_attach_if_necessary | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 129 +----------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 130 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 131 PURPOSE : Set state of attachment. | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 132 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 133 GLOBAL T_ACI_RETURN cmhGMM_attach_if_necessary ( T_ACI_CMD_SRC srcId, T_ACI_AT_CMD curCmd ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 134 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 135 UBYTE mobileClass = PERCENT_CGCLASS_MAX; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 136 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 137 if( AS_MOBILE_OFF EQ attach_state ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 138 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 139 return AT_FAIL; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 140 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 141 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 142 /* normal case: if mobile not GPRS attached */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 143 if ( AS_DETACHED EQ attach_state ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 144 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 145 mobileClass = gmmShrdPrm.mobile_class; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 146 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 147 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 148 /* case for NMOIII: if class BX -> BG requested */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 149 if( PERCENT_CGCLASS_BX EQ gaciMobileClass.current AND | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 150 GMMREG_CLASS_BG NEQ gmmShrdPrm.mobile_class ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 151 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 152 mobileClass = GMMREG_CLASS_BG; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 153 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 154 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 155 if( PERCENT_CGCLASS_MAX NEQ mobileClass ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 156 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 157 gmmShrdPrm.last_attach_type = gmmShrdPrm.current_attach_type; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 158 gmmEntStat.entOwn = srcId; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 159 gmmEntStat.curCmd = curCmd; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 160 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 161 return cmhGMM_attach(mobileClass); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 162 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 163 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 164 return AT_CMPL; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 165 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 166 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 167 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 168 +--------------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 169 | PROJECT : GPRS (8441) MODULE : CMH_GMM | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 170 | STATE : finished ROUTINE : cmhGMM_inform_other_psa | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 171 +--------------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 172 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 173 PURPOSE : inform other PSA's if a automatic attach is passed or failed | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 174 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 175 GLOBAL SHORT cmhGMM_inform_other_psa ( SHORT state ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 176 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 177 /* possible commands */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 178 switch ( gmmEntStat.curCmd ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 179 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 180 case( AT_CMD_CGCLASS ): | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 181 case( AT_CMD_CGATT ): | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 182 default: | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 183 /* no information necessary */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 184 return 0; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 185 case( AT_CMD_CGDATA ): | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 186 case( AT_CMD_CGACT ): | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 187 cmhSM_GprsAttached((T_GPRS_ATTACH_STATE)state); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 188 return 1; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 189 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 190 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 191 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 192 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 193 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 194 +--------------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 195 | PROJECT : GPRS (8441) MODULE : CMH_GMM | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 196 | STATE : finished ROUTINE : cmhGMM_isClassCG | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 197 +--------------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 198 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 199 PURPOSE : return true if the | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 200 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 201 GLOBAL BOOL cmhGMM_isClassCG ( void ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 202 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 203 if (gmmShrdPrm.requested_mobile_class EQ GMMREG_CLASS_CG) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 204 return TRUE; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 205 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 206 return FALSE; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 207 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 208 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 209 GLOBAL SHORT psaG_MM_CMD_REG ( void ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 210 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 211 UBYTE attach_type; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 212 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 213 * Set automatic registration mode in MM | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 214 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 215 psaG_MM_CMD_SET_REGMD ( MODE_AUTO ); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 216 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 217 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 218 *------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 219 * call the corresponding SAP subroutine | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 220 *------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 221 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 222 if ( gmmShrdPrm.mobile_class NEQ GMMREG_CLASS_CG ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 223 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 224 gmmShrdPrm.requested_mobile_class = gmmShrdPrm.mobile_class; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 225 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 226 attach_type = cmhGMM_requested_attach_type(GMMU_AT_GSM, gmmShrdPrm.requested_mobile_class); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 227 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 228 /* OVK Set proper service mode dependent on Sim lock state */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 229 #ifdef SIM_PERS | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 230 if (AciSLockShrd.blocked EQ TRUE) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 231 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 232 gmmShrdPrm.service_mode = SERVICE_MODE_LIMITED; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 233 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 234 else | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 235 #endif | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 236 if ( simShrdPrm.imei_blocked EQ TRUE ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 237 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 238 gmmShrdPrm.service_mode = SERVICE_MODE_LIMITED; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 239 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 240 else | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 241 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 242 gmmShrdPrm.service_mode = SERVICE_MODE_FULL; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 243 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 244 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 245 psaGMM_Attach( gmmShrdPrm.requested_mobile_class, | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 246 attach_type, | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 247 gmmShrdPrm.service_mode); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 248 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 249 frstFlg = FALSE; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 250 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 251 else | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 252 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 253 PALLOC (mmr_nreg_ind, MMR_NREG_IND); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 254 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 255 mmr_nreg_ind->service = NREG_NO_SERVICE; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 256 mmr_nreg_ind->search_running = SEARCH_NOT_RUNNING; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 257 psa_mmr_nreg_ind(mmr_nreg_ind); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 258 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 259 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 260 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 261 return 0; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 262 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 263 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 264 GLOBAL SHORT psaG_MM_CMD_DEREG ( UBYTE detach_type ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 265 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 266 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 267 *------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 268 * process parameter | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 269 *------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 270 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 271 frstFlg = TRUE; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 272 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 273 psaGMM_Detach( detach_type ); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 274 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 275 return 0; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 276 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 277 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 278 GLOBAL SHORT psaG_MM_CMD_NET_SRCH ( void ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 279 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 280 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 281 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 282 * Set manual registration mode in MM | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 283 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 284 psaG_MM_CMD_SET_REGMD ( MODE_MAN ); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 285 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 286 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 287 *------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 288 * process parameter | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 289 *------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 290 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 291 if( frstFlg EQ TRUE | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 292 #ifdef FF_DUAL_SIM | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 293 AND CFUNfun EQ CFUN_FUN_Full | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 294 #endif /*FF_DUAL_SIM*/ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 295 ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 296 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 297 gmmShrdPrm.requested_mobile_class = gmmShrdPrm.mobile_class; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 298 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 299 psaGMM_Attach( gmmShrdPrm.requested_mobile_class, | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 300 cmhGMM_requested_attach_type(GMMU_AT_GSM, gmmShrdPrm.requested_mobile_class), | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 301 SERVICE_MODE_FULL ); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 302 frstFlg = FALSE; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 303 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 304 else | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 305 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 306 psaGMM_Net_Req(); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 307 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 308 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 309 return 0; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 310 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 311 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 312 GLOBAL SHORT psaG_MM_CMD_NET_SEL ( void ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 313 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 314 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 315 *------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 316 * process parameter for both calls | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 317 *------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 318 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 319 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 320 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 321 * Set manual registration mode in MM | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 322 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 323 psaG_MM_CMD_SET_REGMD ( MODE_MAN ); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 324 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 325 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 326 *------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 327 * process parameter | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 328 *------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 329 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 330 gmmShrdPrm.requested_mobile_class = gmmShrdPrm.mobile_class; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 331 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 332 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 333 *------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 334 * call the corresponding SAP subroutine | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 335 *------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 336 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 337 psaGMM_Plmn_res( gmmShrdPrm.requested_mobile_class, | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 338 cmhGMM_requested_attach_type(GMMU_AT_GSM, gmmShrdPrm.requested_mobile_class), | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 339 &mmShrdPrm.slctPLMN ); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 340 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 341 frstFlg = FALSE; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 342 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 343 return 0; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 344 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 345 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 346 GLOBAL SHORT psaG_MM_CMD_SET_REGMD ( UBYTE mode ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 347 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 348 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 349 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 350 *------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 351 * process parameter | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 352 *------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 353 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 354 switch (mode) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 355 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 356 case MODE_AUTO: | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 357 psaGMM_Plmn_mode_req( GMMREG_NET_SEL_MODE_AUTO ); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 358 break; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 359 case MODE_MAN: | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 360 psaGMM_Plmn_mode_req( GMMREG_NET_SEL_MODE_MAN ); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 361 break; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 362 default: | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 363 return -1; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 364 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 365 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 366 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 367 *------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 368 * call the corresponding SAP subroutine | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 369 *------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 370 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 371 return 0; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 372 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 373 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 374 GLOBAL SHORT gprs_sim_inserted ( void ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 375 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 376 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 377 /* OVK Set proper service mode dependent on Sim lock state */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 378 #ifdef SIM_PERS | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 379 if (AciSLockShrd.blocked EQ TRUE) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 380 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 381 gmmShrdPrm.service_mode = SERVICE_MODE_LIMITED; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 382 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 383 else | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 384 #endif | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 385 if ( simShrdPrm.imei_blocked EQ TRUE ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 386 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 387 gmmShrdPrm.service_mode = SERVICE_MODE_LIMITED; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 388 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 389 else | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 390 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 391 gmmShrdPrm.service_mode = SERVICE_MODE_FULL; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 392 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 393 gmmShrdPrm.mobile_class = default_mobile_class; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 394 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 395 cmhGMM_Set_state( AS_DETACHED ); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 396 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 397 return 0; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 398 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 399 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 400 GLOBAL T_ACI_RETURN cmhGMM_attach ( UBYTE mobile_class ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 401 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 402 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 403 TRACE_FUNCTION ("cmhGMM_attach()"); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 404 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 405 if ( cmhGMM_Get_state() EQ AS_MOBILE_OFF ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 406 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 407 gmmEntStat.curCmd = AT_CMD_NONE; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 408 gmmShrdPrm.requested_mobile_class = gmmShrdPrm.mobile_class = default_mobile_class = mobile_class; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 409 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 410 return AT_CMPL; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 411 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 412 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 413 gmmShrdPrm.requested_mobile_class = mobile_class; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 414 gmmShrdPrm.last_attach_type = gmmShrdPrm.current_attach_type; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 415 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 416 gmmShrdPrm.requested_attach_type = cmhGMM_requested_attach_type(GMMU_AT_GPRS, gmmShrdPrm.requested_mobile_class); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 417 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 418 psaGMM_Attach( gmmShrdPrm.requested_mobile_class, | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 419 gmmShrdPrm.requested_attach_type, | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 420 gmmShrdPrm.service_mode); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 421 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 422 return AT_EXCT; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 423 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 424 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 425 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 426 +--------------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 427 | PROJECT : GPRS (8441) MODULE : CMH_GMM | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 428 | STATE : finished ROUTINE : cmhGMM_allContextsDeactivated | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 429 +--------------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 430 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 431 PURPOSE : For automatic detaching the mobile after context deactivation. | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 432 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 433 GLOBAL void cmhGMM_allContextsDeactivated ( void ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 434 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 435 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 436 TRACE_FUNCTION ("cmhGMM_allContextsDeactivated()"); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 437 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 438 /* case for NMOIII: if class BX -> BC requested */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 439 /* in this particular case an attach would be first sent just to inform | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 440 GMM of the class change. | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 441 It is OK if an attach_req is sent and then right after a detach_req. */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 442 if( PERCENT_CGCLASS_BX EQ gaciMobileClass.current AND | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 443 GMMREG_CLASS_BC NEQ gmmShrdPrm.mobile_class ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 444 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 445 gmmShrdPrm.last_attach_type = gmmShrdPrm.current_attach_type; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 446 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 447 cmhGMM_attach((UBYTE)GMMREG_CLASS_BC); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 448 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 449 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 450 /* GPRS detach req will be sent only when the automatic detach mode is ON and | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 451 the curCmd of mmEntStat should not be equal to CFUN.If user uses CFUN to deregister | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 452 from the network or to switch the mobile to power off mode, though automatic detach | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 453 mode is ON it will not send one more gmmreg_detach_req. */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 454 if ( automatic_detach_mode EQ CGAATT_DETACH_MODE_ON AND mmEntStat.curCmd NEQ AT_CMD_CFUN) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 455 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 456 psaGMM_Detach( GMMREG_DT_GPRS ); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 457 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 458 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 459 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 460 GLOBAL UBYTE cmhGMM_requested_attach_type ( T_GMM_USER usr, UBYTE m_class ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 461 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 462 UBYTE attach_type = GMMREG_AT_COMB; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 463 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 464 switch ( m_class ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 465 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 466 case GMMREG_CLASS_A: | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 467 case GMMREG_CLASS_B: | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 468 case GMMREG_CLASS_BG: | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 469 case GMMREG_CLASS_BC: | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 470 switch ( usr ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 471 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 472 case GMMU_AT_GSM: | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 473 if ( automatic_attach_mode NEQ CGAATT_ATTACH_MODE_AUTOMATIC AND | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 474 ( AS_DETACHED EQ attach_state OR AS_MOBILE_OFF EQ attach_state )) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 475 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 476 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 477 attach_type = GMMREG_AT_IMSI; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 478 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 479 break; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 480 case GMMU_AT_GPRS: | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 481 if ( mmShrdPrm.creg_status EQ CREG_STAT_NoSearch OR | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 482 mmShrdPrm.creg_status EQ CREG_STAT_Denied OR | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 483 mmShrdPrm.creg_status EQ CREG_STAT_Unknown OR | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 484 mmShrdPrm.creg_status EQ CREG_STAT_NotPresent) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 485 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 486 attach_type = GMMREG_AT_GPRS; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 487 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 488 else if ( mmShrdPrm.creg_status EQ CREG_STAT_Search AND | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 489 mmEntStat.curCmd EQ AT_CMD_NONE ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 490 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 491 attach_type = GMMREG_AT_GPRS; /* Check when the registration is initiated */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 492 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 493 break; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 494 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 495 break; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 496 case GMMREG_CLASS_CG: | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 497 attach_type = GMMREG_AT_GPRS; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 498 break; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 499 case GMMREG_CLASS_CC: | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 500 attach_type = GMMREG_AT_IMSI; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 501 break; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 502 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 503 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 504 gmmShrdPrm.requested_attach_type = attach_type; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 505 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 506 return attach_type; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 507 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 508 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 509 GLOBAL UBYTE cmhGMM_translate_gmm_cause_to_nreg_cs ( USHORT cause ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 510 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 511 switch( cause ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 512 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 513 case GMMCS_POWER_OFF: | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 514 case GMMCS_NO_SERVICE: | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 515 return NREG_NO_SERVICE; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 516 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 517 /* ####!!!! Translated by GMM? */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 518 /* case RRCS_ABORT_CEL_SEL_FAIL: | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 519 return NREG_NO_SERVICE; */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 520 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 521 case GMMCS_LIMITED_SERVICE: | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 522 return NREG_LIMITED_SERVICE; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 523 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 524 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 525 * This catches all remaining GMM originated causes and | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 526 * all MM originated causes. | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 527 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 528 default: | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 529 return NREG_LIMITED_SERVICE; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 530 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 531 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 532 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 533 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 534 * COPS will be request an only GSM registration. | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 535 * If the ME is an only GPRS mobile, then it is impossible to request only GSM. | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 536 * This patch will be eliminate an error in this situation. | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 537 * | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 538 * brz, 02.07.01 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 539 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 540 GLOBAL BOOL cmhGMM_class_eq_CG ( void ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 541 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 542 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 543 if ( gmmShrdPrm.mobile_class EQ GMMREG_CLASS_CG ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 544 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 545 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 546 * If the mobile class is CG than the protocol stack | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 547 * will be attached automaticly. | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 548 * | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 549 * patch brz, 090701 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 550 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 551 /*if ( automatic_attach_mode EQ CGAATT_ATTACH_MODE_AUTOMATIC )*/ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 552 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 553 gmmShrdPrm.requested_mobile_class = GMMREG_CLASS_CG; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 554 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 555 psaGMM_Attach( GMMREG_CLASS_CG, GMMREG_AT_GPRS, gmmShrdPrm.service_mode); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 556 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 557 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 558 return TRUE; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 559 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 560 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 561 return FALSE; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 562 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 563 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 564 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 565 +---------------------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 566 | PROJECT : GSM-PS (6147) MODULE : CMH_GMMF | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 567 | ROUTINE : cmhGMM_send_NetworkRegistrationStatus | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 568 +---------------------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 569 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 570 PURPOSE : report function | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 571 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 572 GLOBAL void cmhGMM_send_NetworkRegistrationStatus( T_CGREG_STAT cgreg, T_P_CGREG_STAT p_cgreg ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 573 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 574 USHORT src; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 575 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 576 TRACE_FUNCTION("cmhGMM_send_NetworkRegistrationStatus"); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 577 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 578 /* +CGREG */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 579 gmmShrdPrm.cgreg_stat = cgreg; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 580 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 581 for( src = 0 ; src < CMD_SRC_MAX; src++ ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 582 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 583 R_AT( RAT_CGREG, (T_ACI_CMD_SRC)src ) (cgreg, gmmShrdPrm.lac, gmmShrdPrm.cid); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 584 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 585 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 586 /* %CGREG */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 587 cmhGMM_send_percentNetworkRegistrationStatus( p_cgreg ); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 588 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 589 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 590 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 591 +----------------------------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 592 | PROJECT : GSM-PS (6147) MODULE : CMH_GMMF | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 593 | ROUTINE : cmhGMM_send_percentNetworkRegistrationStatus | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 594 +----------------------------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 595 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 596 PURPOSE : report function | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 597 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 598 GLOBAL void cmhGMM_send_percentNetworkRegistrationStatus( T_P_CGREG_STAT p_cgreg ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 599 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 600 USHORT src; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 601 BOOL bActiveContext = FALSE; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 602 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 603 TRACE_FUNCTION("cmhGMM_send_percentNetworkRegistrationStatus"); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 604 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 605 /* %CGREG */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 606 gmmShrdPrm.p_cgreg_stat = p_cgreg; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 607 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 608 bActiveContext = cmhSM_isContextActive(); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 609 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 610 for( src = 0 ; src < CMD_SRC_MAX; src++ ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 611 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 612 R_AT( RAT_P_CGREG, (T_ACI_CMD_SRC)src ) (p_cgreg, gmmShrdPrm.lac, gmmShrdPrm.cid, bActiveContext ); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 613 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 614 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 615 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 616 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 617 +---------------------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 618 | PROJECT : GSM-PS (6147) MODULE : CMH_GMMF | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 619 | ROUTINE : cmhGMM_setPLMN | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 620 +---------------------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 621 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 622 PURPOSE : report function | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 623 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 624 GLOBAL void cmhGMM_setPLMN(T_plmn *plmn) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 625 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 626 memcpy(&_plmn, plmn, sizeof(T_plmn)); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 627 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 628 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 629 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 630 +---------------------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 631 | PROJECT : GSM-PS (6147) MODULE : CMH_GMMF | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 632 | ROUTINE : cmhGMM_isPLMN_Home | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 633 +---------------------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 634 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 635 PURPOSE : report function | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 636 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 637 GLOBAL UBYTE cmhGMM_isPLMN_Home( void ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 638 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 639 SHORT mccCur, mncCur; /* holds MCC and MCC of current PLMN */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 640 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 641 if ( _plmn.v_plmn EQ VLD_PLMN ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 642 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 643 cmhMM_CnvrtPLMN2INT( _plmn.mcc, | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 644 _plmn.mnc, | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 645 &mccCur, &mncCur ); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 646 if (cmhSIM_plmn_is_hplmn (mccCur, mncCur)) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 647 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 648 return 1; /* yes, it is */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 649 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 650 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 651 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 652 return 0; /* no, it isn't */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 653 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 654 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 655 GLOBAL T_ACI_RETURN cmhGMM_contextActivation( T_ACI_CMD_SRC srcId, T_ACI_AT_CMD curCmd ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 656 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 657 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 658 /* case for NMOIII: if class BX -> BG requested */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 659 if( PERCENT_CGCLASS_BX EQ gaciMobileClass.current AND | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 660 GMMREG_CLASS_BG NEQ gmmShrdPrm.mobile_class ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 661 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 662 gmmEntStat.entOwn = srcId; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 663 gmmEntStat.curCmd = curCmd; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 664 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 665 gmmShrdPrm.last_attach_type = gmmShrdPrm.current_attach_type; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 666 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 667 return cmhGMM_attach((UBYTE)GMMREG_CLASS_BG); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 668 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 669 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 670 return AT_CMPL; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 671 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 672 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 673 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 674 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 675 +---------------------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 676 | PROJECT : GSM-PS (6147) MODULE : CMH_GMMF | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 677 | ROUTINE : cmhGMM_isPLMN_Valid | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 678 +---------------------------------------------------------------------------------+ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 679 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 680 PURPOSE : Checks if _plmn contains a valid PLMN | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 681 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 682 GLOBAL UBYTE cmhGMM_isPLMN_Valid (void) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 683 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 684 if ( _plmn.v_plmn EQ VLD_PLMN ) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 685 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 686 return 1; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 687 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 688 return 0; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 689 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 690 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 691 #endif /* GPRS */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 692 /*==== EOF ========================================================*/ | 
