FreeCalypso > hg > freecalypso-sw
annotate gsm-fw/g23m-gsm/mm/mm_regp.c @ 730:af82698f039e
gsm-fw/g23m-gsm/mm/Makefile: link xipcode.o
| author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> | 
|---|---|
| date | Sat, 04 Oct 2014 23:30:42 +0000 | 
| parents | 87cef40cf601 | 
| children | 
| rev | line source | 
|---|---|
| 673 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 2 +----------------------------------------------------------------------------- | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 3 | Project : GSM-PS (8410) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 4 | Modul : MM_REGP | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 5 +----------------------------------------------------------------------------- | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 6 | Copyright 2002 Texas Instruments Berlin, AG | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 7 | All rights reserved. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 8 | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 9 | This file is confidential and a trade secret of Texas | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 10 | Instruments Berlin, AG | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 11 | The receipt of or possession of this file does not convey | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 12 | any rights to reproduce or disclose its contents or to | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 13 | manufacture, use, or sell anything it may describe, in | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 14 | whole, or in part, without the specific written consent of | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 15 | Texas Instruments Berlin, AG. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 16 +----------------------------------------------------------------------------- | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 17 | Purpose : This Modul defines the functions for the registration | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 18 | capability of the module Mobility Management. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 19 +----------------------------------------------------------------------------- | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 20 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 21 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 22 #ifndef MM_REGP_C | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 23 #define MM_REGP_C | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 24 | 
| 727 
87cef40cf601
mm_regp.c compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
673diff
changeset | 25 #include "config.h" | 
| 
87cef40cf601
mm_regp.c compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
673diff
changeset | 26 #include "fixedconf.h" | 
| 
87cef40cf601
mm_regp.c compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
673diff
changeset | 27 #include "condat-features.h" | 
| 
87cef40cf601
mm_regp.c compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
673diff
changeset | 28 | 
| 673 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 29 #define ENTITY_MM | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 30 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 31 /*==== INCLUDES ===================================================*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 32 #if defined (NEW_FRAME) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 33 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 34 #include <string.h> | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 35 #include <stdlib.h> | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 36 #include <stddef.h> | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 37 #include "typedefs.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 38 #include "pcm.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 39 #include "pconst.cdg" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 40 #include "mconst.cdg" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 41 #include "message.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 42 #include "ccdapi.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 43 #include "vsi.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 44 #include "custom.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 45 #include "gsm.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 46 #include "prim.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 47 #include "cnf_mm.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 48 #include "mon_mm.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 49 #include "pei.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 50 #include "tok.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 51 #include "mm.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 52 #include "mm_em.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 53 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 54 #else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 55 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 56 #include <string.h> | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 57 #include <stdlib.h> | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 58 #include <stddef.h> | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 59 #include "stddefs.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 60 #include "pcm.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 61 #include "pconst.cdg" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 62 #include "mconst.cdg" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 63 #include "message.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 64 #include "ccdapi.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 65 #include "custom.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 66 #include "gsm.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 67 #include "prim.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 68 #include "cnf_mm.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 69 #include "mon_mm.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 70 #include "vsi.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 71 #include "pei.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 72 #include "tok.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 73 #include "mm.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 74 #include "mm_em.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 75 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 76 #endif | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 77 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 78 /*==== EXPORT =====================================================*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 79 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 80 /*==== VARIABLES ==================================================*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 81 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 82 /*==== FUNCTIONS ==================================================*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 83 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 84 /*==== PRIVAT =====================================================*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 85 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 86 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 87 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 88 | PROJECT : GSM-PS (6147) MODULE : MM_REG | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 89 | STATE : code ROUTINE : mm_auto_net_reg | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 90 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 91 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 92 PURPOSE : Register in automatic mode. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 93 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 94 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 95 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 96 GLOBAL void mm_auto_net_reg(void) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 97 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 98 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 99 T_plmn last_plmn; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 100 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 101 TRACE_FUNCTION("mm_auto_net_reg"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 102 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 103 last_plmn.v_plmn = V_PLMN_PRES; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 104 memcpy (last_plmn.mcc, mm_data->reg.lai.mcc, SIZE_MCC); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 105 memcpy (last_plmn.mnc, mm_data->reg.lai.mnc, SIZE_MNC); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 106 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 107 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 108 * start full PLMN search in automatic mode | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 109 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 110 mm_data->attempt_cnt = 0; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 111 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 112 mm_data->reg.bcch_encode = | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 113 (mm_data->reg.update_stat EQ MS_UPDATED AND !reg_plmn_empty (&last_plmn)); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 114 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 115 * It exists an updated last PLMN if bcch_encode is TRUE here | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 116 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 117 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 118 mm_data->reg.plmn_cnt = 0; /* Delete list of available PLMNs */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 119 if (mm_data->reg.bcch_encode AND !reg_plmn_equal_hplmn (&last_plmn)) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 120 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 121 TRACE_EVENT ("Start with LPLMN"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 122 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 123 /* LPLMN available and not equal HPLMN => start with LPLMN */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 124 mm_data->reg.actual_plmn = last_plmn; /* Struct copy */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 125 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 126 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 127 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 128 TRACE_EVENT ("Start with HPLMN"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 129 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 130 /* LPLMN not available or not updated => start with HPLMN */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 131 reg_extract_hplmn (&mm_data->reg.actual_plmn); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 132 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 133 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 134 EM_START_REGISTRATION_AUTO_MODE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 135 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 136 mm_mmr_reg_req (FUNC_PLMN_SRCH); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 137 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 138 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 139 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 140 #ifdef GPRS | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 141 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 142 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 143 | PROJECT : GSM-PS (6147) MODULE : MM_REG | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 144 | STATE : code ROUTINE : reg_set_gprs_reg_type | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 145 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 146 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 147 PURPOSE : Set the new registration type as delivered by GMM. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 148 This may also affect the CM_GPRS_EST state machine. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 149 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 150 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 151 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 152 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 153 LOCAL void reg_set_gprs_reg_type (UBYTE reg_type) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 154 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 155 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 156 TRACE_FUNCTION ("reg_set_gprs_reg_type()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 157 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 158 switch (reg_type) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 159 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 160 case REG_GPRS_INACTIVE: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 161 /* CM establishment always allowed if GPRS is not present */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 162 SET_STATE (STATE_GPRS_CM_EST, CM_GPRS_EST_OK); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 163 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 164 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 165 case REG_REMOTE_CONTROLLED: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 166 /* Remote controlled location updating not possible with GSM only */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 167 assert (GET_STATE (STATE_REG_TYPE) NEQ REG_GPRS_INACTIVE); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 168 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 169 /* During RC for non GPRS only mobile CM services are allowed */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 170 if (mm_data->gprs.mobile_class NEQ MMGMM_CLASS_CG) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 171 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 172 SET_STATE (STATE_GPRS_CM_EST, CM_GPRS_EST_OK); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 173 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 174 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 175 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 176 case REG_CELL_SEARCH_ONLY: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 177 if (mm_gsm_alone()) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 178 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 179 /* CM establishment not allowed anymore if GPRS was switched on */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 180 SET_STATE (STATE_GPRS_CM_EST, CM_GPRS_EST_IDLE); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 181 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 182 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 183 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 184 default: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 185 TRACE_ERROR (UNEXPECTED_PARAMETER); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 186 return; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 187 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 188 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 189 /* Remember new MM working type */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 190 SET_STATE (STATE_REG_TYPE, reg_type); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 191 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 192 #endif /* GPRS */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 193 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 194 /*==== VARIABLES ==================================================*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 195 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 196 /*==== FUNCTIONS ==================================================*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 197 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 198 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 199 +----------------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 200 | PROJECT : GSM-PS (6147) MODULE : MM_MM | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 201 | STATE : code ROUTINE : mm_reg_gsm_only_req | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 202 +----------------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 203 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 204 PURPOSE : This function perform registration in GSM mode only. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 205 (What about cell selection only?) ### | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 206 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 207 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 208 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 209 LOCAL void mm_reg_gsm_only_req (UBYTE service_mode) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 210 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 211 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 212 TRACE_FUNCTION ("mm_reg_gsm_only_req()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 213 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 214 mm_data->reg.full_service_indicated = FALSE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 215 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 216 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 217 * If SIM is inserted, make it valid for MM if | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 218 * IMSI is present and full service required, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 219 * otherwise invalidate SIM for MM | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 220 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 221 switch (service_mode) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 222 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 223 case SERVICE_MODE_FULL: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 224 if (mm_data->reg.imsi_struct.v_mid EQ V_MID_PRES) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 225 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 226 mm_data->reg.op.sim_ins = SIM_INSRT; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 227 mm_data->limited_cause = MMCS_INT_NOT_PRESENT; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 228 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 229 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 230 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 231 case SERVICE_MODE_LIMITED: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 232 if (mm_data->reg.op.sim_ins NEQ SIM_NO_INSRT) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 233 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 234 mm_data->reg.op.sim_ins = SIM_NO_INSRT; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 235 mm_data->limited_cause = MMCS_SIM_REMOVED; /* MMCS_SIM_INVAL_MMIREQ */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 236 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 237 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 238 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 239 default: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 240 TRACE_ERROR (UNEXPECTED_PARAMETER); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 241 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 242 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 243 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 244 if (mm_data->reg.op.sim_ins EQ SIM_NO_INSRT) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 245 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 246 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 247 * No valid SIM inserted | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 248 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 249 mm_data->reg.bcch_encode = FALSE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 250 mm_data->reg.op.v_op = V_OP_PRES; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 251 mm_data->reg.op.m = M_AUTO; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 252 mm_mmr_reg_req (FUNC_LIM_SERV_ST_SRCH); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 253 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 254 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 255 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 256 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 257 * Valid SIM inserted | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 258 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 259 if (mm_data->reg.op.m EQ M_AUTO) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 260 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 261 mm_auto_net_reg (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 262 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 263 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 264 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 265 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 266 * PLMN search in manual mode: Request PLMN list from RR | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 267 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 268 // Patch HM >>> | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 269 mm_data->plmn_scan_mmi = TRUE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 270 // Patch HM <<< | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 271 mm_mmr_reg_req (FUNC_NET_SRCH_BY_MMI); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 272 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 273 EM_START_REGISTRATION_MANUAL_MODE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 274 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 275 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 276 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 277 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 278 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 279 /*==== TEST =====================================================*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 280 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 281 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 282 * ------------------------------------------------------------------- | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 283 * PRIMITIVE Processing functions | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 284 * ------------------------------------------------------------------- | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 285 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 286 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 287 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 288 +----------------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 289 | PROJECT : GSM-PS (6147) MODULE : MM_MM | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 290 | STATE : code ROUTINE : mm_func_mmgmm_net_req | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 291 +----------------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 292 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 293 PURPOSE : This function handles the MMGMM_NET_REQ primitive. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 294 MMGMM_NET_REQ is always used to start a network search. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 295 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 296 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 297 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 298 GLOBAL void mm_func_mmgmm_net_req (void) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 299 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 300 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 301 TRACE_FUNCTION ("mm_func_mmgmm_net_req()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 302 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 303 if (mm_data->reg.op.sim_ins EQ SIM_INSRT) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 304 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 305 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 306 * SIM present | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 307 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 308 switch (GET_STATE (STATE_MM)) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 309 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 310 case MM_NULL: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 311 /* prepare environement for further processing by RR */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 312 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 313 mm_data->reg.op.m = MODE_MAN; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 314 reg_clear_plmn (&mm_data->reg.actual_plmn); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 315 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 316 mm_mmr_reg_req (FUNC_PLMN_SRCH); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 317 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 318 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 319 default: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 320 mm_mmr_reg_req (FUNC_NET_SRCH_BY_MMI); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 321 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 322 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 323 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 324 EM_START_PLMN_LIST_REQUEST; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 325 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 326 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 327 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 328 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 329 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 330 * SIM not present | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 331 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 332 /*If Dual SIM is supported by MS then initially before SIM activation | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 333 Network search should be done.Also, anytime network search is asked for | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 334 MM should start with PLMN scan and return proper PLMN list*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 335 #ifdef FF_DUAL_SIM | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 336 TRACE_EVENT("Dual sim is supported and no sim"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 337 mm_mmr_reg_req (FUNC_NET_SRCH_BY_MMI); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 338 #else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 339 mm_mmgmm_plmn_ind (MMCS_SIM_REMOVED, NULL); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 340 #endif | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 341 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 342 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 343 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 344 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 345 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 346 +----------------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 347 | PROJECT : GSM-PS (6147) MODULE : MM_MM | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 348 | STATE : code ROUTINE : mm_func_mmgmm_nreg_req | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 349 +----------------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 350 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 351 PURPOSE : This function handles the MMGMM_NREG_REQ primitive. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 352 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 353 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 354 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 355 GLOBAL void mm_func_mmgmm_nreg_req (UBYTE detach_cause, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 356 UBYTE detach_done, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 357 USHORT cs) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 358 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 359 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 360 TRACE_FUNCTION ("mm_func_mmgmm_nreg_req()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 361 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 362 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 363 * Parameter check from ACI/GMM | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 364 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 365 #ifdef GPRS | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 366 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 367 #ifdef WIN32 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 368 TRACE_EVENT_P1 ("detach_cause = %02X", detach_cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 369 TRACE_EVENT_P1 ("detach_done = %02X", detach_done); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 370 TRACE_EVENT_P1 ("cs = %04X", cs); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 371 #endif /* #ifdef WIN32 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 372 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 373 /* Check for correct originating entity */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 374 assert (GET_CAUSE_ORIGIN_ENTITY (cs) EQ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 375 GMM_ORIGINATING_ENTITY); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 376 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 377 /* Check for correct detach_done parameter */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 378 assert ((detach_done EQ MMGMM_PERFORM_DETACH) OR | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 379 (detach_done EQ MMGMM_DETACH_DONE)); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 380 #else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 381 assert (detach_done EQ MMGMM_PERFORM_DETACH); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 382 #endif /* GPRS */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 383 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 384 /* Remember that the deregistration was requested by MMI */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 385 mm_data->nreg_request = TRUE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 386 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 387 /* Remember the cause of the deregistration */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 388 mm_data->nreg_cause = detach_cause; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 389 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 390 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 391 * Timer T3212 is stopped if the mobile station is deactivated | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 392 * (i.e. equipment powered down or SIM removed. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 393 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 394 TIMERSTOP (T3212); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 395 mm_data->t3212_timeout = FALSE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 396 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 397 if (mm_data->reg.op.sim_ins EQ SIM_NO_INSRT) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 398 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 399 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 400 * No valid SIM inserted | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 401 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 402 switch (detach_cause) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 403 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 404 case CS_POW_OFF: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 405 case CS_SOFT_OFF: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 406 mm_mmr_nreg_req (detach_cause, detach_done); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 407 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 408 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 409 case CS_SIM_REM: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 410 mm_mmgmm_nreg_cnf (detach_cause); /* SIM already removed */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 411 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 412 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 413 #ifdef GPRS | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 414 case CS_DISABLE: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 415 mm_mmgmm_nreg_cnf (detach_cause); /* Already detached */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 416 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 417 #endif /* GPRS */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 418 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 419 default: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 420 TRACE_ERROR (UNEXPECTED_DEFAULT); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 421 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 422 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 423 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 424 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 425 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 426 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 427 * Valid SIM inserted | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 428 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 429 switch (detach_cause) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 430 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 431 case CS_SIM_REM: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 432 mm_data->limited_cause = MMCS_SIM_REMOVED; /* MMCS_SIM_INVAL_MMIREQ */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 433 //lint -fallthrough | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 434 case CS_POW_OFF: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 435 case CS_SOFT_OFF: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 436 mm_mmr_nreg_req (detach_cause, detach_done); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 437 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 438 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 439 #ifdef GPRS | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 440 case CS_DISABLE: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 441 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 442 * Check deregistration cause from GMM | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 443 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 444 switch (cs) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 445 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 446 case GMMCS_IMSI_UNKNOWN: /* #2 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 447 case GMMCS_ILLEGAL_MS: /* #3 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 448 case GMMCS_ILLEGAL_ME: /* #6 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 449 case GMMCS_GSM_GPRS_NOT_ALLOWED: /* #8 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 450 case GMMCS_PLMN_NOT_ALLOWED: /* #11 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 451 case GMMCS_LA_NOT_ALLOWED: /* #12 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 452 case GMMCS_ROAMING_NOT_ALLOWED: /* #13 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 453 #ifdef REL99 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 454 case GMMCS_ROAMING_NOT_ALLOWED_WITH_RAU_REJ: /* #13 GPRS RAU rejected*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 455 case GMMCS_NO_SUITABLE_CELL_IN_LA: /* #15 GPRS attach rejected*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 456 case GMMCS_NO_SUITABLE_CELL_IN_LA_WITH_RAU_REJ: /* #15 GPRS RAU rejected*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 457 #endif | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 458 mm_network_initiated_detach (cs); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 459 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 460 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 461 case GMMCS_GPRS_NOT_ALLOWED: /* #7 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 462 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 463 * # 7 (GPRS services not allowed) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 464 * The MS shall set the GPRS update status to GU3 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 465 * ROAMING NOT ALLOWED (and shall store it according to | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 466 * section 4.1.3.2) and shall delete any P-TMSI, P-TMSI signature, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 467 * RAI and GPRS ciphering key sequence number. The SIM shall be | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 468 * considered as invalid for GPRS services until switching off or | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 469 * the SIM is removed. The new state is GMM-DEREGISTERED. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 470 * [GSM 04.08 subclause 4.7.3.1.4]. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 471 * | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 472 * This is a GPRS only cause. MM starts automatically T3212 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 473 * without the need to receive MMGMM_START_T3212_REQ. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 474 * It is expected that GMM will send a MMGMM_REG_REQ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 475 * (REG_GPRS_INACTIVE) immediately after this to trigger a | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 476 * registration attempt. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 477 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 478 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 479 /* As this is a GPRS only reason, this should not have any | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 480 * impact on the update status of GSM. But T3212 has to be | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 481 * started now. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 482 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 483 mm_func_mmgmm_start_t3212_req (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 484 TRACE_EVENT ("No impact on update status"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 485 mm_mmgmm_nreg_cnf (detach_cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 486 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 487 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 488 case GMMCS_INT_NOT_PRESENT: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 489 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 490 * Start remote controlled IMSI DETACH operation | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 491 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 492 mm_mmr_nreg_req (detach_cause, detach_done); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 493 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 494 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 495 default: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 496 TRACE_EVENT ("No impact on update status and nothing done!"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 497 mm_mmgmm_nreg_cnf (detach_cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 498 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 499 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 500 break; /* CS_DISABLE */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 501 #endif /* GPRS */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 502 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 503 default: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 504 TRACE_ERROR (UNEXPECTED_DEFAULT); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 505 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 506 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 507 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 508 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 509 /* Check HPLMN timer state */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 510 reg_check_hplmn_tim (mm_data->reg.thplmn); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 511 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 512 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 513 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 514 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 515 +----------------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 516 | PROJECT : GSM-PS (6147) MODULE : MM_MM | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 517 | STATE : code ROUTINE : mm_func_mmgmm_plmn_mode_req | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 518 +----------------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 519 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 520 PURPOSE : This function handles the MMGMM_PLMN_MODE_REQ primitive. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 521 MMGMM_PLMN_MODE_REQ is used to switch between automatic and | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 522 manual mode of registration. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 523 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 524 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 525 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 526 GLOBAL void mm_func_mmgmm_plmn_mode_req (UBYTE mode) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 527 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 528 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 529 TRACE_FUNCTION ("mm_func_mmgmm_plmn_mode_req()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 530 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 531 #ifndef NTRACE | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 532 switch (mode) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 533 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 534 case MODE_AUTO: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 535 TRACE_EVENT ("automatic mode"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 536 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 537 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 538 case MODE_MAN: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 539 TRACE_EVENT ("manual mode"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 540 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 541 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 542 default: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 543 TRACE_ERROR (UNEXPECTED_PARAMETER); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 544 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 545 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 546 #endif /* NTRACE */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 547 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 548 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 549 * If SIM is inserted, make it valid for MM if IMSI is present | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 550 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 551 if (mm_data->reg.imsi_struct.v_mid EQ V_MID_PRES) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 552 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 553 mm_data->reg.op.sim_ins = SIM_INSRT; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 554 mm_data->limited_cause = MMCS_INT_NOT_PRESENT; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 555 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 556 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 557 mm_data->reg.op.m = mode; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 558 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 559 switch (GET_STATE (STATE_MM)) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 560 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 561 case MM_NULL: /* Mobile is off, do nothing */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 562 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 563 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 564 // This is just for issue 15605 should be asap removed by an clearly implemented concept for RR_SYNC interface | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 565 case MM_IDLE_NO_IMSI: /* Mobile has no SIM or received e.g. cause MMCS_IMSI_IN_HLR" ... */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 566 if (mode EQ M_MAN) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 567 mm_data->reg.op.func = FUNC_LIM_SERV_ST_SRCH; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 568 //lint -fallthrough | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 569 default: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 570 mm_build_rr_sync_req(MSG_MM_MODE); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 571 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 572 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 573 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 574 /* Check HPLMN timer state */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 575 reg_check_hplmn_tim (mm_data->reg.thplmn); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 576 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 577 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 578 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 579 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 580 +----------------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 581 | PROJECT : GSM-PS (6147) MODULE : MM_MM | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 582 | STATE : code ROUTINE : mm_func_mmgmm_plmn_res | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 583 +----------------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 584 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 585 PURPOSE : This function handles the MMGMM_PLMN_RES primitive. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 586 MMGMM_PLMN_RES is used to select a PLMN manually after | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 587 network search or to select RPLMN at switch on in manual mode | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 588 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 589 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 590 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 591 GLOBAL void mm_func_mmgmm_plmn_res (const T_plmn *plmn, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 592 UBYTE reg_type, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 593 UBYTE mobile_class) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 594 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 595 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 596 TRACE_FUNCTION ("mm_func_mmgmm_plmn_res ()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 597 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 598 mm_data->reg.full_service_indicated = FALSE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 599 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 600 #ifdef GPRS | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 601 mm_data->gprs.mobile_class = mobile_class; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 602 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 603 if ((reg_type EQ REG_REMOTE_CONTROLLED) AND | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 604 (GET_STATE (STATE_REG_TYPE) EQ REG_REMOTE_CONTROLLED)) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 605 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 606 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 607 * GMM tries to retrigger a remote controlled RC procedure while | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 608 * this is already running. MM ignores this and continues updating. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 609 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 610 TRACE_EVENT ("No retrigger of RC update"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 611 return; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 612 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 613 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 614 reg_set_gprs_reg_type (reg_type); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 615 #endif /* GPRS */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 616 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 617 if (mm_data->reg.op.sim_ins EQ SIM_INSRT) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 618 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 619 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 620 * A valid SIM is inserted | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 621 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 622 mm_data->reg.plmn_cnt = 0; /* Delete list of available PLMNs */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 623 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 624 #ifdef GPRS | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 625 switch (reg_type) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 626 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 627 case REG_GPRS_INACTIVE: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 628 case REG_CELL_SEARCH_ONLY: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 629 reg_select_network(plmn); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 630 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 631 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 632 case REG_REMOTE_CONTROLLED: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 633 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 634 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 635 * First, we check whether GMM sent a correct PLMN. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 636 * All other cases are a protocol failure and MM cannot do much. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 637 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 638 T_plmn camped_plmn; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 639 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 640 camped_plmn.v_plmn = V_PLMN_PRES; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 641 memcpy (camped_plmn.mcc, mm_data->mm.lai.mcc, SIZE_MCC); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 642 memcpy (camped_plmn.mnc, mm_data->mm.lai.mnc, SIZE_MNC); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 643 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 644 assert (reg_plmn_equal_sim (&camped_plmn, plmn)); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 645 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 646 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 647 /* Perform a remote controlled location updating procedure */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 648 mm_gprs_update_req (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 649 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 650 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 651 default: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 652 TRACE_ERROR (UNEXPECTED_DEFAULT); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 653 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 654 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 655 #else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 656 reg_select_network(plmn); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 657 #endif /* GPRS */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 658 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 659 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 660 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 661 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 662 * No valid SIM inserted, selection a network manually makes no sense. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 663 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 664 mm_func_mmgmm_reg_req (SERVICE_MODE_FULL, reg_type, MMGMM_CLASS_CC, NORMAL_REG); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 665 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 666 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 667 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 668 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 669 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 670 +----------------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 671 | PROJECT : GSM-PS (6147) MODULE : MM_MM | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 672 | STATE : code ROUTINE : mm_func_mmgmm_reg_req | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 673 +----------------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 674 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 675 PURPOSE : This function handles the MMGMM_REG_REQ primitive, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 676 but it is the functional interface. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 677 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 678 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 679 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 680 GLOBAL void mm_func_mmgmm_reg_req (UBYTE service_mode, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 681 UBYTE reg_type, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 682 UBYTE mobile_class, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 683 UBYTE bootup_act) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 684 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 685 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 686 TRACE_FUNCTION ("mm_func_mmgmm_reg_req()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 687 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 688 #ifdef TRACE_FUNC | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 689 /* Implements Measure#32: Row 158 & 159 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 690 TRACE_EVENT_P1 (" service_mode = %d", service_mode); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 691 TRACE_EVENT_P1 (" reg_type = %d", reg_type); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 692 #endif | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 693 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 694 /* Changes for Boot Time Speedup. MM will get dummy REG_REQ indicating QUICK_REG. In this case | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 695 * MM has to send RR_ACTIVATE_REQ with op.func = FUNC_ST_PWR_SCAN. No need to process this as | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 696 * it is dummy request and MM will get other REG_REQ indicating NORMAL_REG | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 697 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 698 if (bootup_act EQ QUICK_REG) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 699 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 700 mm_data->reg.op.v_op = V_OP_PRES; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 701 mm_data->reg.op.func = FUNC_ST_PWR_SCAN; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 702 mm_rr_act_req (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 703 return ; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 704 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 705 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 706 * Check incoming parameters from GMM | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 707 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 708 assert (service_mode EQ SERVICE_MODE_LIMITED OR | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 709 service_mode EQ SERVICE_MODE_FULL); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 710 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 711 mm_data->reg.full_service_indicated = FALSE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 712 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 713 #ifdef GPRS | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 714 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 715 mm_data->gprs.mobile_class = mobile_class; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 716 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 717 if ((reg_type EQ REG_REMOTE_CONTROLLED) AND | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 718 (GET_STATE (STATE_REG_TYPE) EQ REG_REMOTE_CONTROLLED)) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 719 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 720 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 721 * GMM tries to retrigger a remote controlled RC procedure while | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 722 * this is already running. MM ignores this and continues updating. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 723 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 724 TRACE_EVENT ("No retrigger of RC update"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 725 return; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 726 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 727 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 728 reg_set_gprs_reg_type (reg_type); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 729 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 730 switch (reg_type) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 731 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 732 case REG_CELL_SEARCH_ONLY: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 733 case REG_GPRS_INACTIVE: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 734 mm_reg_gsm_only_req (service_mode); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 735 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 736 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 737 case REG_REMOTE_CONTROLLED: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 738 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 739 * This is the request not to start a cell selection but to perform a | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 740 * remote controlled location update procedure for GSM. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 741 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 742 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 743 if (mm_data->gprs.sim_physically_removed) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 744 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 745 mm_sim_removed_gprs_active (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 746 return; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 747 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 748 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 749 /* Actually start the location updating procedure */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 750 mm_gprs_update_req(); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 751 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 752 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 753 default: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 754 TRACE_ERROR (UNEXPECTED_PARAMETER); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 755 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 756 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 757 #else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 758 mm_reg_gsm_only_req (service_mode); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 759 #endif /* GPRS */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 760 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 761 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 762 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 763 #ifndef GPRS | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 764 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 765 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 766 | PROJECT : GSM-PS (6147) MODULE : MM_REG | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 767 | STATE : code ROUTINE : reg_mmr_net_req | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 768 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 769 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 770 PURPOSE : Process the primitive MMR_NET_REQ. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 771 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 772 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 773 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 774 GLOBAL void reg_mmr_net_req (T_MMR_NET_REQ * mmr_net_req) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 775 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 776 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 777 TRACE_FUNCTION ("reg_mmr_net_req()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 778 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 779 /* Mark the network search as beeing for the MMI */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 780 mm_data->plmn_scan_mmi = TRUE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 781 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 782 /* Start scanning for available PLMNs */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 783 mm_func_mmgmm_net_req (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 784 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 785 PFREE (mmr_net_req); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 786 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 787 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 788 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 789 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 790 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 791 | PROJECT : GSM-PS (6147) MODULE : MM_REG | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 792 | STATE : code ROUTINE : reg_mmr_nreg_req | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 793 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 794 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 795 PURPOSE : Process the primitive MMR_NREG_REQ. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 796 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 797 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 798 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 799 GLOBAL void reg_mmr_nreg_req (T_MMR_NREG_REQ *mmr_nreg_req) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 800 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 801 TRACE_FUNCTION ("reg_mmr_nreg_req()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 802 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 803 /* Use internal functional interface, set GSM only default parameters */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 804 mm_func_mmgmm_nreg_req (mmr_nreg_req->detach_cause, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 805 MMGMM_PERFORM_DETACH, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 806 MMGMM_NO_ERROR); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 807 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 808 PFREE (mmr_nreg_req); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 809 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 810 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 811 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 812 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 813 | PROJECT : GSM-PS (6147) MODULE : MM_REG | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 814 | STATE : code ROUTINE : reg_mmr_plmn_mode_req | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 815 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 816 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 817 PURPOSE : Process the primitive MMR_PLMN_MODE_REQ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 818 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 819 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 820 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 821 GLOBAL void reg_mmr_plmn_mode_req (T_MMR_PLMN_MODE_REQ *plmn_mode_req) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 822 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 823 TRACE_FUNCTION ("reg_mmr_plmn_mode_req()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 824 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 825 /* Use internal functional interface */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 826 mm_func_mmgmm_plmn_mode_req (plmn_mode_req->mode); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 827 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 828 EM_SET_PLMN_SEARCH_MODE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 829 PFREE (plmn_mode_req); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 830 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 831 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 832 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 833 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 834 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 835 | PROJECT : GSM-PS (6147) MODULE : MM_REG | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 836 | STATE : code ROUTINE : reg_mmr_plmn_res | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 837 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 838 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 839 PURPOSE : Process the primitive MMR_PLMN_RES. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 840 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 841 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 842 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 843 GLOBAL void reg_mmr_plmn_res (T_MMR_PLMN_RES *mmr_plmn_res) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 844 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 845 TRACE_FUNCTION ("reg_mmr_plmn_res()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 846 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 847 /* Use internal functional interface */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 848 mm_func_mmgmm_plmn_res (&mmr_plmn_res->plmn, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 849 REG_GPRS_INACTIVE, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 850 MMGMM_CLASS_CC); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 851 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 852 PFREE (mmr_plmn_res); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 853 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 854 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 855 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 856 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 857 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 858 | PROJECT : GSM-PS (6147) MODULE : MM_REG | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 859 | STATE : code ROUTINE : reg_mmr_reg_req | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 860 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 861 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 862 PURPOSE : Process the primitive MMR_REG_REQ. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 863 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 864 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 865 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 866 GLOBAL void reg_mmr_reg_req (T_MMR_REG_REQ *mmr_reg_req) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 867 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 868 TRACE_FUNCTION ("reg_mmr_reg_req()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 869 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 870 /* Use internal functional interface */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 871 mm_func_mmgmm_reg_req (mmr_reg_req->service_mode, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 872 REG_GPRS_INACTIVE, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 873 MMGMM_CLASS_CC, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 874 mmr_reg_req->bootup_act); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 875 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 876 PFREE (mmr_reg_req); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 877 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 878 #endif /* GPRS */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 879 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 880 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 881 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 882 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 883 | PROJECT : GSM-PS (6147) MODULE : MM_REG | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 884 | STATE : code ROUTINE : reg_sim_auth_cnf | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 885 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 886 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 887 PURPOSE : Process the primitive SIM_AUTHENTICATION_CNF. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 888 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 889 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 890 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 891 GLOBAL void reg_sim_auth_cnf (T_SIM_AUTHENTICATION_CNF *sim_auth_cnf) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 892 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 893 TRACE_FUNCTION ("reg_sim_auth_cnf()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 894 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 895 mm_mmr_auth_cnf (sim_auth_cnf); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 896 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 897 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 898 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 899 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 900 | PROJECT : GSM-PS (6147) MODULE : MM_REG | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 901 | STATE : code ROUTINE : reg_sim_mm_insert_ind | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 902 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 903 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 904 PURPOSE : Process the primitive SIM_MM_INSERT. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 905 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 906 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 907 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 908 GLOBAL void reg_sim_mm_insert_ind (T_SIM_MM_INSERT_IND *sim_mm_insert_ind) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 909 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 910 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 911 TRACE_FUNCTION ("reg_sim_mm_insert()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 912 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 913 #ifdef GPRS | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 914 mm_data->gprs.sim_physically_removed = FALSE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 915 #endif /* #ifdef GPRS */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 916 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 917 /*SIM_SYNC_REQ to be sent after reading EFs*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 918 mm_data->reg.sim_sync_req_pending = TRUE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 919 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 920 if (mm_data->reg.op.sim_ins EQ SIM_NO_INSRT) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 921 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 922 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 923 * No SIM card was inserted, now it is in and the coresponding handling should happen. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 924 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 925 reg_copy_sim_data (sim_mm_insert_ind); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 926 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 927 EM_SIM_INSERT; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 928 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 929 PFREE (sim_mm_insert_ind); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 930 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 931 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 932 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 933 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 934 * This happens by SAT activity while SIM is inserted | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 935 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 936 T_imsi_struct new_imsi_struct; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 937 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 938 reg_read_imsi(&new_imsi_struct, &sim_mm_insert_ind->imsi_field); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 939 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 940 if (! reg_imsi_equal(&new_imsi_struct, &mm_data->reg.imsi_struct)) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 941 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 942 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 943 * IMSI changed. MM Restart procedure, GSM 03.22 subclause 4.10: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 944 * "To perform the procedure the MS shall behave as if | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 945 * the SIM is removed and afterwards a new SIM is inserted" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 946 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 947 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 948 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 949 * Remember the primitive data. Value sim_mm_insert_info NEQ NULL means | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 950 * the MM Restart procedure is active. All actions normally performed | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 951 * if SIM inserted will be done after RR_ABORT_IND, RR_RELEASE_IND or | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 952 * T3220 timeout received or immediately in mm_mmr_nreg_req(). | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 953 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 954 if (mm_data->reg.sim_insert_info NEQ NULL) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 955 PFREE (mm_data->reg.sim_insert_info); /* Not expected to happen */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 956 mm_data->reg.sim_insert_info = sim_mm_insert_ind; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 957 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 958 mm_mmr_nreg_req (CS_SIM_REM, MMGMM_PERFORM_DETACH); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 959 if (mm_data->reg.sim_insert_info NEQ NULL) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 960 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 961 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 962 * SIM insert not already performed. e.g. IMSI detach running. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 963 * Clear the registration data, but remember the pointer to the | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 964 * new SIM data, the registration mode and the actual plmn. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 965 * sim_sync_req_pending which gets reset in reg_init() is set | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 966 * back to TRUE | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 967 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 968 T_plmn old_plmn; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 969 UBYTE old_mode; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 970 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 971 old_mode = mm_data->reg.op.m; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 972 old_plmn = mm_data->reg.actual_plmn; /* Structure copy */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 973 reg_init (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 974 mm_data->reg.sim_insert_info = sim_mm_insert_ind; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 975 mm_data->reg.op.m = old_mode; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 976 mm_data->reg.actual_plmn = old_plmn; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 977 mm_data->reg.sim_sync_req_pending = TRUE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 978 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 979 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 980 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 981 EM_SIM_INSERT; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 982 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 983 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 984 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 985 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 986 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 987 * IMSI not changed | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 988 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 989 USHORT old_acc_class; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 990 UBYTE old_thplmn; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 991 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 992 old_acc_class = mm_data->reg.acc_class; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 993 old_thplmn = mm_data->reg.thplmn; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 994 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 995 reg_copy_sim_data (sim_mm_insert_ind); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 996 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 997 if (old_acc_class NEQ mm_data->reg.acc_class) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 998 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 999 mm_build_rr_sync_req_cause (SYNCCS_ACCC); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1000 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1001 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1002 if (old_thplmn NEQ mm_data->reg.thplmn) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1003 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1004 reg_stop_hplmn_tim (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1005 reg_check_hplmn_tim (mm_data->reg.thplmn); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1006 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1007 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1008 PFREE (sim_mm_insert_ind); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1009 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1010 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1011 check_if_cingular_sim(); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1012 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1013 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1014 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1015 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1016 | PROJECT : GSM-PS (6147) MODULE : MM_REG | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1017 | STATE : code ROUTINE : reg_sim_mm_info_ind | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1018 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1019 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1020 PURPOSE : Process the primitive SIM_MM_INFO_IND. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1021 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1022 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1023 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1024 GLOBAL void reg_sim_mm_info_ind (T_SIM_MM_INFO_IND *sim_mm_info_ind) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1025 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1026 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1027 TRACE_FUNCTION ("reg_sim_mm_info_ind()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1028 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1029 switch(sim_mm_info_ind->datafield) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1030 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1031 #ifdef REL99 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1032 case SIM_UCPS_ACTEC: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1033 mm_data->reg.upd_sim_ucps_at = SAT_READ_FILE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1034 mm_data->reg.sim_ucps_at_len = NOT_PRESENT_16BIT; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1035 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1036 * If EFPLMNwAcT is changed, MM must have to re-read EFOPLMNwAcT to | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1037 * make a complete list of pref_plmn. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1038 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1039 mm_data->reg.upd_sim_ocps_at = SAT_READ_FILE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1040 mm_data->reg.sim_ocps_at_len = NOT_PRESENT_16BIT; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1041 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1042 * Read indicated EF in SIM_MM_INFO_IND from SIM. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1043 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1044 /*Set indicatort sim reading is in progress to true*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1045 mm_data->reg.sim_read_in_progress = TRUE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1046 reg_read_next_sim_file(); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1047 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1048 #endif | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1049 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1050 case SIM_PLMNSEL: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1051 #ifdef REL99 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1052 if (mm_data->reg.sim_uocps_at_used EQ FALSE) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1053 #endif | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1054 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1055 mm_data->reg.upd_sim_plmnsel = SAT_READ_FILE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1056 mm_data->reg.sim_plmnsel_len = NOT_PRESENT_16BIT; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1057 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1058 /*Set indicatort sim reading is in progress to true*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1059 mm_data->reg.sim_read_in_progress = TRUE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1060 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1061 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1062 * Read indicated EF in SIM_MM_INFO_IND from SIM. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1063 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1064 reg_read_next_sim_file(); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1065 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1066 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1067 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1068 default: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1069 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1070 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1071 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1072 if(GET_STATE (STATE_MM) == MM_IDLE_NORMAL_SERVICE) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1073 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1074 reg_check_hplmn_tim(mm_data->reg.thplmn); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1075 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1076 PFREE (sim_mm_info_ind); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1077 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1078 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1079 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1080 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1081 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1082 | PROJECT : GSM-PS (6147) MODULE : MM_REG | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1083 | STATE : code ROUTINE : reg_sim_remove_ind | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1084 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1085 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1086 PURPOSE : Process the primitive SIM_REMOVE_IND. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1087 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1088 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1089 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1090 GLOBAL void reg_sim_remove_ind (T_SIM_REMOVE_IND *sim_remove_ind) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1091 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1092 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1093 TRACE_FUNCTION ("reg_sim_remove_ind()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1094 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1095 mm_data->limited_cause = MMCS_SIM_REMOVED; /* MMCS_SIM_INVAL_REMOVED */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1096 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1097 // Better now instead after cause concept implementation in SIM also: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1098 // mm_data->limited_cause = sim_remove_ind->cause; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1099 // | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1100 // Problem: None. But this affects not only the MM testcases, but | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1101 // also ACI code. And as of the time of this writing it's a too | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1102 // big risk to incorporate this in both entities. By the way, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1103 // also GMM should be enhanced in the future and at least a comment | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1104 // incorporated in the respective SAPs that also SIM causes are transported. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1105 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1106 if (mm_data->reg.sim_insert_info NEQ NULL) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1107 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1108 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1109 * Pending MM RESTART procedure and now the SIM is physically removed. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1110 * Forget about the MM RESTART procedure. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1111 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1112 PFREE (mm_data->reg.sim_insert_info); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1113 mm_data->reg.sim_insert_info = NULL; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1114 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1115 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1116 if (mm_gsm_alone()) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1117 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1118 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1119 * Clear SIM data for lower layer, start IMSI Detach, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1120 * indicate limited service etc. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1121 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1122 if (mm_data->reg.op.sim_ins EQ SIM_INSRT) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1123 mm_mmr_nreg_req (CS_SIM_REM, MMGMM_PERFORM_DETACH); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1124 reg_init (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1125 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1126 #ifdef GPRS | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1127 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1128 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1129 /* Remember there was a physical SIM removal */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1130 mm_data->gprs.sim_physically_removed = TRUE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1131 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1132 /* Commenting the OMAPS00048777 changes as it was a incomplete workaround. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1133 Refer the analysis section of the defect 71208 for details */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1134 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1135 /* if(GET_STATE (STATE_MM) NEQ MM_CONN_ACTIVE) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1136 {*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1137 mm_sim_removed_gprs_active (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1138 /* }*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1139 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1140 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1141 * Possible IMSI DETACH and entering of MM_IDLE_NO_IMSI state will happen | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1142 * after GMM sends | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1143 * MMGMM_NREG_REQ (CS_SIM_REM, MMGMM_PERFORM_DETACH/MMGMM_DETACH_DONE). | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1144 * Here no IMSI DETACH and invalidation of SIM data can be done as a | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1145 * combined attach maybe performed in network mode I. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1146 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1147 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1148 #endif /* GPRS */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1149 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1150 EM_SIM_REMOVE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1151 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1152 /* Debug hack. If they have a SIM driver problem, we hopefully will see it */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1153 mm_data->mm_idle_no_imsi_marker = 128; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1154 PFREE (sim_remove_ind); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1155 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1156 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1157 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1158 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1159 | PROJECT : GSM-PS (6147) MODULE : MM_REG | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1160 | STATE : code ROUTINE : reg_sim_sync_cnf | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1161 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1162 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1163 PURPOSE : Process the primitive SIM_SYNC_CNF. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1164 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1165 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1166 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1167 GLOBAL void reg_sim_sync_cnf (T_SIM_SYNC_CNF *sim_sync_cnf) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1168 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1169 TRACE_FUNCTION ("reg_sim_sync_cnf()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1170 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1171 /*Nothing to be done. Just free the primitive to avoid memory leaks*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1172 PFREE(sim_sync_cnf); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1173 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1174 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1175 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1176 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1177 | PROJECT : GSM-PS (6147) MODULE : MM_REG | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1178 | STATE : code ROUTINE : reg_sim_file_update_ind | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1179 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1180 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1181 PURPOSE : Process the primitive SIM_FILE_UPDATE_IND. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1182 The worst case which may by caused by this primitive | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1183 is a RR_ACTIVATE_REQ to inform RR about a changed | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1184 HPLMN search period or a changed access class. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1185 It is guaranteed by GSM 11.14 subclause 6.4.7.1 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1186 that here no field is changed which causes MM Restart procedure. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1187 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1188 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1189 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1190 GLOBAL void reg_sim_file_upd_ind (T_SIM_FILE_UPDATE_IND *file_upd) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1191 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1192 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1193 USHORT i; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1194 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1195 TRACE_FUNCTION ("reg_sim_file_upd_ind()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1196 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1197 * This flag is required to prevent MM to send Acknowledge completion of file update | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1198 * if file reading was because of SIM_MM_INSERT_IND/SIM_MM_INFO_IND. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1199 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1200 mm_data->reg.sim_file_upd_ind_rec = TRUE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1201 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1202 for (i = 0; i < file_upd->val_nr; i++) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1203 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1204 if( file_upd->file_info[i].v_path_info EQ TRUE AND | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1205 file_upd->file_info[i].path_info.df_level1 EQ SIM_DF_GSM AND | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1206 file_upd->file_info[i].path_info.v_df_level2 EQ FALSE ) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1207 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1208 switch (file_upd->file_info[i].datafield) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1209 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1210 case SIM_ACC: /* Access control class */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1211 mm_data->reg.upd_sim_acc = SAT_READ_FILE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1212 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1213 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1214 case SIM_PLMNSEL: /* Preferred PLMN list */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1215 mm_data->reg.upd_sim_plmnsel = SAT_READ_FILE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1216 mm_data->reg.sim_plmnsel_len = NOT_PRESENT_16BIT; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1217 /*Set indicator sim reading is in progress to true*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1218 mm_data->reg.sim_read_in_progress = TRUE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1219 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1220 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1221 case SIM_HPLMN: /* Home PLMN search period */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1222 mm_data->reg.upd_sim_hplmn = SAT_READ_FILE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1223 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1224 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1225 case SIM_FPLMN: /* Forbidden PLMN list */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1226 mm_data->reg.upd_sim_fplmn = SAT_READ_FILE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1227 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1228 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1229 #ifdef REL99 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1230 case SIM_UCPS_ACTEC: /* User controlled PLMN selector with access technology list */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1231 mm_data->reg.upd_sim_ucps_at = SAT_READ_FILE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1232 mm_data->reg.sim_ucps_at_len = NOT_PRESENT_16BIT; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1233 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1234 * If EFPLMNwAcT is changed, MM must have to re-read EFOPLMNwAcT to | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1235 * make acomplete list of pref_plmn. Actual length which came in | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1236 * SIM_MM_INSERT_IND can be used for EFOPLMNwAcT since file is unchanged. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1237 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1238 mm_data->reg.upd_sim_ocps_at = SAT_READ_FILE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1239 /*Set indicator sim reading is in progress to true*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1240 mm_data->reg.sim_read_in_progress = TRUE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1241 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1242 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1243 case SIM_OCPS_ACTEC: /* Operator controlled PLMN selector with access technology list*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1244 /*If only this file is modified MM need not to re-read EFPLMNwAcT*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1245 mm_data->reg.upd_sim_ocps_at = SAT_READ_FILE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1246 mm_data->reg.sim_ocps_at_len = NOT_PRESENT_16BIT; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1247 /*Set indicator sim reading is in progress to true*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1248 mm_data->reg.sim_read_in_progress = TRUE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1249 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1250 #endif | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1251 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1252 case SIM_IMSI: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1253 case SIM_LOCI: /* Does not happen this way, this is SIM_MM_INSERT_IND */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1254 /* FALLTHROUGH */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1255 case SIM_BCCH: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1256 case SIM_KC: /* Guaranteed to not happen */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1257 TRACE_ERROR ("File change not handled"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1258 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1259 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1260 default: /* MM is not interested in this elementary file */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1261 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1262 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1263 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1264 else if((file_upd->file_info[i].path_info.df_level1 EQ SIM_DF_CING) AND | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1265 (file_upd->file_info[i].path_info.v_df_level2 EQ TRUE) AND | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1266 (file_upd->file_info[i].path_info.df_level2 EQ SIM_DF2_CING) AND | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1267 (file_upd->file_info[i].datafield EQ SIM_CING_AHPLMN)) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1268 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1269 mm_data->reg.upd_sim_act_hplmn = SAT_READ_FILE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1270 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1271 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1272 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1273 PFREE (file_upd); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1274 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1275 /* Start reading SIM elementary files */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1276 if (reg_read_next_sim_file() EQ FALSE) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1277 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1278 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1279 * Nothing interesting for MM. Acknowledge completion of file update | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1280 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1281 PALLOC (update_res, SIM_FILE_UPDATE_RES); /* T_SIM_FILE_UPDATE_RES */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1282 update_res->source = SRC_MM; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1283 update_res->fu_rsc = SIM_FU_SUCCESS; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1284 PSENDX (SIM, update_res); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1285 mm_data->reg.sim_file_upd_ind_rec = FALSE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1286 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1287 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1288 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1289 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1290 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1291 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1292 | PROJECT : GSM-PS (6147) MODULE : MM_REG | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1293 | STATE : code ROUTINE : reg_send_sim_sync_req | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1294 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1295 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1296 PURPOSE : Sends the primitive SIM_SYNC_REQ with cause. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1297 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1298 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1299 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1300 GLOBAL void reg_send_sim_sync_req (void) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1301 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1302 GET_INSTANCE_DATA; | 
| 727 
87cef40cf601
mm_regp.c compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
673diff
changeset | 1303 PALLOC (sync_req, SIM_SYNC_REQ); | 
| 
87cef40cf601
mm_regp.c compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
673diff
changeset | 1304 sync_req->synccs = (U8)SYNC_MM_FINISHED_READING; | 
| 
87cef40cf601
mm_regp.c compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
673diff
changeset | 1305 PSENDX (SIM, sync_req); | 
| 
87cef40cf601
mm_regp.c compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
673diff
changeset | 1306 mm_data->reg.sim_sync_req_pending = FALSE; | 
| 673 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1307 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1308 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1309 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1310 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1311 | PROJECT : GSM-PS (6147) MODULE : MM_REG | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1312 | STATE : code ROUTINE : reg_sim_read_cnf | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1313 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1314 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1315 PURPOSE : Process the primitive SIM_READ_CNF. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1316 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1317 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1318 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1319 GLOBAL void reg_sim_read_cnf (T_SIM_READ_CNF *sim_read_cnf) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1320 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1321 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1322 TRACE_FUNCTION ("reg_sim_read_cnf()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1323 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1324 switch (mm_data->sim_read_req_data_field) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1325 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1326 case SIM_ACC: /* Access control class */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1327 assert ((sim_read_cnf->cause EQ SIM_NO_ERROR) AND | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1328 (sim_read_cnf->length >= 2)); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1329 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1330 mm_data->reg.upd_sim_acc = SAT_PEND_ACT; /* RR_ACTIVATE_REQ later */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1331 mm_data->reg.acc_class = sim_read_cnf->trans_data[0] * 256 + | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1332 sim_read_cnf->trans_data[1]; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1333 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1334 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1335 case SIM_PLMNSEL: /* Preferred PLMN list, no further action */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1336 mm_data->reg.upd_sim_plmnsel = SAT_UNCHANGED; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1337 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1338 if (sim_read_cnf->cause EQ SIM_NO_ERROR) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1339 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1340 reg_read_pref_plmn(sim_read_cnf->trans_data, sim_read_cnf->length); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1341 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1342 #ifdef REL99 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1343 /* Set flage user/operator plmn selector with access tech. used to FALSE */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1344 mm_data->reg.sim_uocps_at_used = FALSE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1345 #endif | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1346 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1347 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1348 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1349 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1350 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1351 TRACE_EVENT_P2 ("SIM read cnf error file:%x, cause:%x", | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1352 SIM_PLMNSEL, sim_read_cnf->cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1353 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1354 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1355 if (mm_data->reg.sim_sync_req_pending EQ TRUE) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1356 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1357 /* Allocate and send SIM_SYNC_REQ */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1358 reg_send_sim_sync_req(); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1359 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1360 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1361 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1362 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1363 #ifdef REL99 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1364 case SIM_UCPS_ACTEC: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1365 /*user controlled PLMN selector with access technology list, No Further action???*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1366 mm_data->reg.upd_sim_ucps_at = SAT_UNCHANGED; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1367 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1368 if (sim_read_cnf->cause EQ SIM_NO_ERROR) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1369 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1370 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1371 * EF PLMNsel will not be used. PLMNsel only be used if EFs EFPLMNwAcT or EFOPLMNwAcT | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1372 * are not used. MM should not read EF SIM_PLMNSEL. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1373 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1374 mm_data->reg.upd_sim_plmnsel = SAT_UNCHANGED; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1375 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1376 if ( (mm_data->reg.sim_sync_req_pending == TRUE) && | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1377 (mm_data->reg.upd_sim_ocps_at != SAT_READ_FILE) ) /*EFOPLMNwAcT not read*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1378 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1379 /*EFOPLMNwAcT already read. Allocate and send SIM_SYNC_REQ*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1380 reg_send_sim_sync_req(); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1381 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1382 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1383 mm_data->reg.sim_uocps_at_used = TRUE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1384 reg_read_ucps_acctec(sim_read_cnf->trans_data, sim_read_cnf->length); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1385 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1386 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1387 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1388 TRACE_EVENT_P2 ("SIM read cnf error file:%x, cause:%x", | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1389 SIM_UCPS_ACTEC, sim_read_cnf->cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1390 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1391 mm_data->reg.sim_ucps_at_len = 0; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1392 if (mm_data->reg.upd_sim_ocps_at EQ SAT_UNCHANGED) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1393 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1394 /* | 
| 727 
87cef40cf601
mm_regp.c compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
673diff
changeset | 1395 * EF PLMNsel can be used if indicated because EF EFPLMNwAcT reading | 
| 
87cef40cf601
mm_regp.c compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
673diff
changeset | 1396 * error and EFOPLMNwAcT is not indicated. | 
| 673 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1397 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1398 mm_data->reg.sim_uocps_at_used = FALSE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1399 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1400 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1401 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1402 case SIM_OCPS_ACTEC: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1403 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1404 * Read Operator controlled PLMN selector with access technology list. | 
| 727 
87cef40cf601
mm_regp.c compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
673diff
changeset | 1405 * This can happens only after SIM insert indication indicates to read | 
| 
87cef40cf601
mm_regp.c compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
673diff
changeset | 1406 * file from SIM. | 
| 673 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1407 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1408 mm_data->reg.upd_sim_ocps_at = SAT_UNCHANGED; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1409 if (sim_read_cnf->cause EQ SIM_NO_ERROR) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1410 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1411 /* | 
| 727 
87cef40cf601
mm_regp.c compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
673diff
changeset | 1412 * EF PLMNsel will not be used. PLMNsel only be used if EFs EFPLMNwAcT | 
| 
87cef40cf601
mm_regp.c compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
673diff
changeset | 1413 * or EFOPLMNwAcT are not used. MM should not read EF SIM_PLMNSEL. | 
| 673 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1414 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1415 mm_data->reg.upd_sim_plmnsel = SAT_UNCHANGED; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1416 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1417 if ( mm_data->reg.sim_sync_req_pending == TRUE ) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1418 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1419 /*EFPLMNwAcT already read. Allocate and send SIM_SYNC_REQ*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1420 reg_send_sim_sync_req(); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1421 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1422 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1423 mm_data->reg.sim_uocps_at_used = TRUE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1424 reg_read_ocps_acctec(sim_read_cnf->trans_data, sim_read_cnf->length); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1425 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1426 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1427 { | 
| 727 
87cef40cf601
mm_regp.c compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
673diff
changeset | 1428 /* | 
| 
87cef40cf601
mm_regp.c compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
673diff
changeset | 1429 * EF PLMNsel can be used if indicated and if there was any error | 
| 
87cef40cf601
mm_regp.c compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
673diff
changeset | 1430 * during reading of EF EFPLMNwAcT. | 
| 
87cef40cf601
mm_regp.c compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
673diff
changeset | 1431 */ | 
| 673 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1432 TRACE_EVENT_P2 ("SIM read cnf error file:%x, cause:%x", | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1433 SIM_OCPS_ACTEC, sim_read_cnf->cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1434 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1435 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1436 #endif | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1437 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1438 case SIM_HPLMN: /* Home PLMN search period */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1439 assert ((sim_read_cnf->cause EQ SIM_NO_ERROR) AND | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1440 (sim_read_cnf->length >= 1)); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1441 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1442 mm_data->reg.upd_sim_hplmn = SAT_PEND_ACT; /* RR_SYNC_REQ later */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1443 mm_data->reg.thplmn = sim_read_cnf->trans_data[0]; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1444 if (mm_data->reg.thplmn > HPLMN_MAX_SEARCH_PERIOD) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1445 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1446 /* 3GPP 22.011 subclause 3.2.2.5 requires to use the default value | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1447 * if the value delivered by the SIM exceeds the allowed limit. */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1448 mm_data->reg.thplmn = HPLMN_DEF_SEARCH_PERIOD; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1449 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1450 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1451 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1452 case SIM_FPLMN: /* Forbidden PLMN list, no further action */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1453 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1454 T_forb_plmn forb_plmn; /* Maybe avoidable by unclean cast */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1455 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1456 assert(sim_read_cnf->cause EQ SIM_NO_ERROR); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1457 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1458 /* Store new forbidden PLMN list, does this happen? */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1459 mm_data->reg.upd_sim_fplmn = SAT_UNCHANGED; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1460 forb_plmn.c_forb = sim_read_cnf->length; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1461 memcpy (forb_plmn.forb, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1462 sim_read_cnf->trans_data, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1463 sizeof (forb_plmn.forb)); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1464 reg_read_forb_plmn (&forb_plmn); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1465 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1466 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1467 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1468 case SIM_CING_AHPLMN: /* AHPLMN Value read, RR_SYNC_REQ later */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1469 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1470 U8 ahplmn[3]; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1471 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1472 assert(sim_read_cnf->cause EQ SIM_NO_ERROR); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1473 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1474 mm_data->reg.upd_sim_act_hplmn = SAT_PEND_ACT; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1475 mm_data->reg.reg_plmn_equal_ahplmn = FALSE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1476 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1477 /* If the current RPLMN is AHPLMN then set the flag to true */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1478 if ( mm_data->reg.acting_hplmn.v_plmn AND | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1479 reg_plmn_equal_rplmn(&mm_data->reg.acting_hplmn)) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1480 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1481 mm_data->reg.reg_plmn_equal_ahplmn = TRUE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1482 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1483 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1484 memcpy(ahplmn, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1485 sim_read_cnf->trans_data, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1486 sizeof(ahplmn)); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1487 reg_read_acting_hplmn(ahplmn); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1488 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1489 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1490 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1491 case SIM_IMSI: /* IMSI */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1492 case SIM_LOCI: /* Location information, not expected without IMSI */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1493 break; /* This will not happen this way */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1494 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1495 case SIM_KC: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1496 case SIM_BCCH: /* Guaranteed not to be changed by SAT */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1497 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1498 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1499 default: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1500 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1501 } /* switch */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1502 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1503 mm_data->sim_read_req_data_field = NOT_PRESENT_16BIT; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1504 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1505 PFREE (sim_read_cnf); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1506 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1507 /* Read next changed elementary file */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1508 if (reg_read_next_sim_file() EQ FALSE) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1509 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1510 /* All changed SIM files read */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1511 /* Acknowledge completion of file update */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1512 /* SIM_FILE_UPDATE_RES should be sent immediately after response | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1513 from SIM : Issue 23561*/ | 
| 727 
87cef40cf601
mm_regp.c compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
673diff
changeset | 1514 if(mm_data->reg.sim_file_upd_ind_rec) | 
| 673 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1515 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1516 PALLOC (update_res, SIM_FILE_UPDATE_RES); /* T_SIM_FILE_UPDATE_RES */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1517 update_res->source = SRC_MM; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1518 update_res->fu_rsc = SIM_FU_SUCCESS; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1519 PSENDX (SIM, update_res); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1520 mm_data->reg.sim_file_upd_ind_rec = FALSE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1521 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1522 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1523 * Set sim mm read in progress to False since MM has completed reading of | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1524 * EFs(PLMNsel/EF EFPLMNwAcT/EFOPLMNwAcT) indicated in primitive SIM_MM_INSERT_IND | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1525 * /SIM_MM_INFO_IND/SIM_FILE_UPDATE_IND. Also check if there was any rr_abort_ind | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1526 * was received and stored becuaseof SIM reading was in progress. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1527 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1528 if(mm_data->reg.sim_read_in_progress) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1529 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1530 mm_data->reg.sim_read_in_progress = FALSE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1531 USE_STORED_ENTRIES(); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1532 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1533 if (mm_data->reg.upd_sim_acc NEQ SAT_UNCHANGED) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1534 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1535 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1536 * MM has to send a RR_SYNC_REQ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1537 * The actual changes of these fields are not tested by GSM 11.11 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1538 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1539 mm_data->reg.upd_sim_acc = SAT_UNCHANGED; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1540 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1541 /* Inform RR about changes by SAT */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1542 mm_build_rr_sync_req_cause (SYNCCS_ACCC); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1543 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1544 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1545 if (mm_data->reg.upd_sim_hplmn NEQ SAT_UNCHANGED) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1546 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1547 if (mm_data->first_attach_mem AND | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1548 mm_data->reg.thplmn NEQ 0) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1549 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1550 /* do nothing : MM is in initial search period. So, the timer | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1551 should not be restarted. The new value is stored and after initial | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1552 search the timer should be restarted with this new value*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1553 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1554 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1555 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1556 /* Start HPLMN search timer with new value */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1557 reg_stop_hplmn_tim (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1558 reg_check_hplmn_tim(mm_data->reg.thplmn); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1559 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1560 }/*end of mm_data->reg.upd_sim_hplmn*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1561 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1562 if (mm_data->reg.upd_sim_act_hplmn NEQ SAT_UNCHANGED ) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1563 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1564 BOOL valid_ahplmn= FALSE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1565 valid_ahplmn = valid_acting_hplmn(&mm_data->reg.acting_hplmn); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1566 mm_build_rr_sync_hplmn_req(); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1567 if (valid_ahplmn) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1568 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1569 /* Delete the AHPLMN entry from the Forbidden list, if present*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1570 if ( mm_data->reg.acting_hplmn.v_plmn) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1571 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1572 /* Remove from forbidden PLMN list if stored */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1573 TRACE_FUNCTION(" AHPLMN is being deleted from the Forbidden List"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1574 reg_plmn_bad_del (mm_data->reg.forb_plmn, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1575 MAX_FORB_PLMN_ID, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1576 &mm_data->reg.acting_hplmn); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1577 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1578 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1579 /*Inform ACI of the new AHPLMN value*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1580 mm_mmgmm_ahplmn_ind(&mm_data->reg.acting_hplmn); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1581 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1582 /* Delete any Equivalent PLMN list */ | 
| 727 
87cef40cf601
mm_regp.c compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
673diff
changeset | 1583 reg_clear_plmn_list (mm_data->reg.eqv_plmns.eqv_plmn_list, | 
| 
87cef40cf601
mm_regp.c compiles
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
673diff
changeset | 1584 EPLMNLIST_SIZE); | 
| 673 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1585 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1586 /* If AHPLMN value read from SIM is same as the RPLMN then inform | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1587 * RR about it. No need of registering again. Set the flag | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1588 * to true so that hplmn will now be taken from this | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1589 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1590 if (reg_plmn_equal_rplmn(&mm_data->reg.acting_hplmn)) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1591 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1592 reg_stop_hplmn_tim (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1593 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1594 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1595 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1596 mm_data->plmn_scan_mm = TRUE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1597 /* Start with AHPLMN registration */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1598 mm_func_mmgmm_net_req(); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1599 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1600 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1601 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1602 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1603 T_plmn hplmn; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1604 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1605 /*Inform ACI of the new AHPLMN value*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1606 mm_mmgmm_ahplmn_ind(&mm_data->reg.acting_hplmn); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1607 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1608 /* Since mm_data->reg.acting_hplmn.v_plmn is FALSE it will take HPLMN from IMSI */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1609 reg_extract_hplmn(&hplmn); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1610 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1611 if (reg_plmn_equal_rplmn(&hplmn)) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1612 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1613 /* Do Nothing. MS is already registered to True-HPLMN */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1614 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1615 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1616 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1617 /* If AHPLMN is FFFFFF OR we are on already on an AHPLMN MM should | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1618 * immediately start a network search for HPLMN | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1619 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1620 if (mm_data->reg.acting_hplmn_invalid OR | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1621 mm_data->reg.reg_plmn_equal_ahplmn) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1622 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1623 mm_data->plmn_scan_mm = TRUE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1624 mm_func_mmgmm_net_req(); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1625 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1626 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1627 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1628 /*Do Nothing. Since MS is registered to any other PLMN HPPLMN | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1629 Timer will be running. Network scan will start after the | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1630 Timer expires | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1631 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1632 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1633 }/*reg_plmn_equal_rplmn*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1634 }/*valid_acting_hplmn*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1635 check_if_cingular_sim(); /*for cingular only 31179*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1636 }/*end of mm_data->reg.upd_sim_act_hplmn*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1637 }/*end of reg_read_next_sim_file*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1638 }/*end of reg_sim_read_cnf*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1639 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1640 #endif | 
