FreeCalypso > hg > fc-magnetite
annotate src/g23m-gsm/mm/mm_regs.c @ 306:67d1fd7c824c
serialswitch.c: allow enabling SERIAL_DYNAMIC_SWITCH outside of BTEMOBILE
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Thu, 02 Nov 2017 05:42:39 +0000 | 
| parents | 27a4235405c6 | 
| children | 
| rev | line source | 
|---|---|
| 
104
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2 +----------------------------------------------------------------------------- | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3 | Project : GSM-PS (8410) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
4 | Modul : MM_REGS | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
5 +----------------------------------------------------------------------------- | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
6 | Copyright 2002 Texas Instruments Berlin, AG | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
7 | All rights reserved. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
8 | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
9 | This file is confidential and a trade secret of Texas | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
10 | Instruments Berlin, AG | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
11 | The receipt of or possession of this file does not convey | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
12 | any rights to reproduce or disclose its contents or to | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
13 | manufacture, use, or sell anything it may describe, in | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
14 | whole, or in part, without the specific written consent of | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
15 | Texas Instruments Berlin, AG. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
16 +----------------------------------------------------------------------------- | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
17 | Purpose : This Modul defines the functions for the registration | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
18 | capability of the module Mobility Managemant. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
19 +----------------------------------------------------------------------------- | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
20 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
21 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
22 #ifndef MM_REGS_C | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
23 #define MM_REGS_C | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
24 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
25 #define ENTITY_MM | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
26 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
27 /*==== INCLUDES ===================================================*/ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
28 #if defined (NEW_FRAME) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
29 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
30 #include <string.h> | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
31 #include <stdlib.h> | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
32 #include <stddef.h> | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
33 #include "typedefs.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
34 #include "pcm.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
35 #include "pconst.cdg" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
36 #include "mconst.cdg" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
37 #include "message.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
38 #include "ccdapi.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
39 #include "vsi.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
40 #include "custom.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
41 #include "gsm.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
42 #include "prim.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
43 #include "cnf_mm.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
44 #include "mon_mm.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
45 #include "pei.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
46 #include "tok.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
47 #include "mm.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
48 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
49 #else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
50 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
51 #include <string.h> | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
52 #include <stdlib.h> | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
53 #include <stddef.h> | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
54 #include "stddefs.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
55 #include "pcm.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
56 #include "pconst.cdg" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
57 #include "mconst.cdg" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
58 #include "message.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
59 #include "ccdapi.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
60 #include "custom.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
61 #include "gsm.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
62 #include "prim.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
63 #include "cnf_mm.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
64 #include "mon_mm.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
65 #include "vsi.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
66 #include "pei.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
67 #include "tok.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
68 #include "mm.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
69 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
70 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
71 /*==== EXPORT =====================================================*/ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
72 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
73 /*==== PRIVAT =====================================================*/ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
74 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
75 /*==== VARIABLES ==================================================*/ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
76 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
77 /*==== FUNCTIONS ==================================================*/ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
78 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
79 /*==== TEST =====================================================*/ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
80 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
81 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
82 * ------------------------------------------------------------------- | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
83 * SIGNAL Processing functions | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
84 * ------------------------------------------------------------------- | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
85 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
86 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
87 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
88 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
89 | PROJECT : GSM-PS (6147) MODULE : MM_REG | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
90 | STATE : code ROUTINE : reg_mmr_auth_ind | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
91 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
92 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
93 PURPOSE : Process the signal MMR_AUTH_IND. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
94 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
95 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
96 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
97 GLOBAL void reg_mmr_auth_ind (T_SIM_AUTHENTICATION_REQ *sim_auth_req) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
98 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
99 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
100 MCAST (auth_req, D_AUTH_REQ); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
101 TRACE_FUNCTION ("reg_mmr_auth_ind()"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
102 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
103 if(mm_data->last_auth_req_id != NOT_PRESENT_8BIT) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
104 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
105 mm_data->last_auth_req_id++; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
106 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
107 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
108 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
109 mm_data->last_auth_req_id = 0; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
110 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
111 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
112 sim_auth_req->source = SRC_MM; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
113 sim_auth_req->req_id = mm_data->last_auth_req_id; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
114 sim_auth_req->cksn = auth_req->ciph_key_num.key_seq; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
115 memcpy (sim_auth_req->rand, auth_req->auth_rand.rand, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
116 sizeof (sim_auth_req->rand)); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
117 PSENDX (SIM, sim_auth_req); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
118 if (mm_data->last_auth_req_id != 0) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
119 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
120 /* problem occurred!!!! */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
121 #ifdef WIN32 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
122 vsi_o_ttrace (VSI_CALLER TC_FUNC, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
123 "Authentication problem occurred %d", mm_data->last_auth_req_id); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
124 #endif /* WIN32 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
125 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
126 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
127 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
128 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
129 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
130 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
131 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
132 | PROJECT : GSM-PS (6147) MODULE : MM_REG | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
133 | STATE : code ROUTINE : reg_net_list | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
134 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
135 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
136 PURPOSE : Build a list of available PLMNs for the MMI. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
137 Use the information received from RR to update MM's | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
138 internal PLMN list used for MM's own operation. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
139 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
140 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
141 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
142 #if 0 // The old code | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
143 GLOBAL void reg_net_list (const T_RR_ABORT_IND *rr_abort_ind) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
144 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
145 TRACE_FUNCTION ("reg_net_list()"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
146 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
147 /* Create the PLMN list for the MMI and send it */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
148 reg_create_plmn_list (rr_abort_ind, WITH_ALL_PLMNS); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
149 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
150 if (mm_data->reg.plmn_cnt EQ 0) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
151 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
152 if ((rr_abort_ind->op.service NEQ NO_SERVICE) AND | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
153 (rr_abort_ind->cause EQ RRCS_ABORT_CEL_SEL_FAIL)) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
154 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
155 mm_mmgmm_plmn_ind (MMCS_PLMN_NOT_IDLE_MODE); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
156 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
157 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
158 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
159 mm_mmgmm_plmn_ind (MMCS_SUCCESS); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
160 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
161 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
162 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
163 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
164 mm_mmgmm_plmn_ind (MMCS_SUCCESS); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
165 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
166 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
167 /* Do not consider the forbidden PLMN's for MM's internal operation */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
168 reg_create_plmn_list (rr_abort_ind, WITH_OTHER_PLMNS); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
169 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
170 switch (rr_abort_ind->op.service) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
171 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
172 case NO_SERVICE: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
173 mm_mmgmm_nreg_ind (NREG_NO_SERVICE, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
174 SEARCH_NOT_RUNNING, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
175 FORB_PLMN_NOT_INCLUDED); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
176 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
177 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
178 case LIMITED_SERVICE: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
179 mm_mmgmm_nreg_ind (NREG_LIMITED_SERVICE, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
180 SEARCH_NOT_RUNNING, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
181 FORB_PLMN_NOT_INCLUDED); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
182 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
183 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
184 case FULL_SERVICE: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
185 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
186 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
187 default: /* All possible values caught, this is garbage */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
188 TRACE_ERROR (UNEXPECTED_DEFAULT); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
189 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
190 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
191 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
192 #else // The new code | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
193 GLOBAL void reg_net_list (const T_RR_ABORT_IND *rr_abort_ind) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
194 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
195 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
196 TRACE_FUNCTION ("reg_net_list()"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
197 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
198 if (rr_abort_ind->plmn_avail EQ 0) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
199 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
200 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
201 * Distinguish between "no PLMN found" and search aborted | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
202 * due to eg. paging in RR. In the future, we may introduce | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
203 * a proper cause in the RR_ABORT_IND to distinguish this, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
204 * this here should work but is ugly. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
205 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
206 if ((rr_abort_ind->op.service NEQ NO_SERVICE) AND | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
207 (rr_abort_ind->cause EQ RRCS_ABORT_CEL_SEL_FAIL)) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
208 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
209 mm_mmgmm_plmn_ind (MMCS_PLMN_NOT_IDLE_MODE, NULL); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
210 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
211 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
212 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
213 mm_mmgmm_plmn_ind (MMCS_SUCCESS, rr_abort_ind); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
214 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
215 mm_data->reg.plmn_cnt = 0; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
216 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
217 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
218 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
219 mm_mmgmm_plmn_ind (MMCS_SUCCESS, rr_abort_ind); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
220 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
221 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
222 switch (rr_abort_ind->op.service) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
223 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
224 case NO_SERVICE: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
225 mm_mmgmm_nreg_ind (NREG_NO_SERVICE, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
226 SEARCH_NOT_RUNNING, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
227 FORB_PLMN_NOT_INCLUDED); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
228 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
229 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
230 case LIMITED_SERVICE: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
231 mm_mmgmm_nreg_ind (NREG_LIMITED_SERVICE, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
232 SEARCH_NOT_RUNNING, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
233 FORB_PLMN_NOT_INCLUDED); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
234 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
235 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
236 case FULL_SERVICE: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
237 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
238 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
239 default: /* All possible values caught, this is garbage */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
240 TRACE_ERROR (UNEXPECTED_DEFAULT); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
241 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
242 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
243 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
244 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
245 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
246 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
247 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
248 | PROJECT : GSM-PS (6147) MODULE : MM_REG | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
249 | STATE : code ROUTINE : reg_rr_failure | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
250 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
251 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
252 PURPOSE : Indication from MM/RR about unsuccessfull cell selection. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
253 The new service and the found PLMN indications are for- | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
254 warded to MM. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
255 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
256 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
257 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
258 GLOBAL void reg_rr_failure (T_RR_ABORT_IND *rr_abort_ind) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
259 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
260 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
261 unsigned i; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
262 BOOL actual_plmn_found; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
263 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
264 TRACE_FUNCTION ("reg_rr_failure()"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
265 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
266 #if defined (WIN32) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
267 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
268 TRACE_EVENT_P1 ("PLMN_AVAIL = %d", rr_abort_ind->plmn_avail); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
269 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
270 for (i = 0 ;i < rr_abort_ind->plmn_avail; i++) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
271 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
272 TRACE_EVENT_P6 ("MCC=%x%x%x MNC=%x%x%x", | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
273 rr_abort_ind->plmn[i].mcc[0], | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
274 rr_abort_ind->plmn[i].mcc[1], | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
275 rr_abort_ind->plmn[i].mcc[2], | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
276 rr_abort_ind->plmn[i].mnc[0], | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
277 rr_abort_ind->plmn[i].mnc[1], | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
278 rr_abort_ind->plmn[i].mnc[2]); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
279 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
280 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
281 #endif /* #if defined (WIN32) */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
282 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
283 if (rr_abort_ind->plmn_avail EQ 0 OR | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
284 mm_data->reg.op.sim_ins EQ SIM_NO_INSRT) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
285 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
286 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
287 * No PLMN delivered by RR to build a PLMN list or no SIM present | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
288 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
289 switch (rr_abort_ind->op.service) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
290 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
291 case NO_SERVICE: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
292 mm_mmgmm_nreg_ind (NREG_NO_SERVICE, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
293 SEARCH_NOT_RUNNING, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
294 FORB_PLMN_NOT_INCLUDED); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
295 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
296 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
297 case LIMITED_SERVICE: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
298 mm_mmgmm_nreg_ind (NREG_LIMITED_SERVICE, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
299 SEARCH_NOT_RUNNING, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
300 FORB_PLMN_NOT_INCLUDED); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
301 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
302 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
303 default: /* eg. FULL_SERVICE and reg_rr_failure => nonsense */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
304 TRACE_ERROR (UNEXPECTED_DEFAULT); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
305 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
306 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
307 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
308 /* Delete the PLMN list, currently no PLMN available */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
309 mm_data->reg.plmn_cnt = 0; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
310 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
311 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
312 // First make sure to understand completely the underlying problem... | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
313 // Patch HM 11.06.01, clear PLMN list in ACI and MM >>> | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
314 mm_mmgmm_plmn_ind (MMCS_SUCCESS, rr_abort_ind); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
315 // Patch HM 11.06.01, clear PLMN list in ACI and MM <<< | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
316 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
317 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
318 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
319 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
320 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
321 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
322 * At least one PLMN found and SIM present, create PLMN list. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
323 * Depending on the selected mode (automatic or manual), | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
324 * either select the next available PLMN or present the | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
325 * list of PLMNs possibly providing full service to the user. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
326 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
327 switch (mm_data->reg.op.m) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
328 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
329 case MODE_AUTO: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
330 // Note: There are better algorithms to decide whether an update | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
331 // of the PLMN list is necessary or not, but for these we need the | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
332 // information from RR whether a found PLMN/location area is | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
333 // forbidden. This becomes especially TRUE for an exhausted PLMN | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
334 // list as we waste a lot of battery here if there is no location | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
335 // area suitable for full service available, but a lot of location | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
336 // areas on VPLMNs which are forbidden for roaming. In this case we | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
337 // run in a loop senseless activating VPLMN which don't provide | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
338 // full service at all. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
339 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
340 * Don't update the PLMN list if the actual PLMN is a member | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
341 * of the PLMN list delivered by RR and the current list is | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
342 * non-exhaused. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
343 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
344 actual_plmn_found = FALSE; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
345 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
346 if (mm_data->reg.plmn_cnt > mm_data->reg.plmn_index) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
347 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
348 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
349 * There is a non-exhausted list present in MM. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
350 * Check whether the actual PLMN is a member. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
351 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
352 for (i = 0; i < rr_abort_ind->plmn_avail; i++) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
353 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
354 if (reg_plmn_equal_sim (&rr_abort_ind->plmn[i], | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
355 &mm_data->reg.actual_plmn)) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
356 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
357 actual_plmn_found = TRUE; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
358 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
359 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
360 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
361 if (!actual_plmn_found) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
362 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
363 /* The requested PLMN was not found. Update outdated list. */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
364 reg_create_plmn_list (rr_abort_ind, WITH_OTHER_PLMNS); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
365 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
366 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
367 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
368 TRACE_EVENT ("PLMN list ignored"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
369 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
370 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
371 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
372 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
373 /* No non-exhaused list present in MM. Take the new list from RR */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
374 reg_create_plmn_list (rr_abort_ind, WITH_OTHER_PLMNS); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
375 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
376 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
377 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
378 * Select the next PLMN if available | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
379 * else indicate LIMITED SERVICE to MMI | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
380 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
381 reg_plmn_select (FORB_PLMN_NOT_INCLUDED); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
382 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
383 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
384 case MODE_MAN: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
385 reg_create_plmn_list (rr_abort_ind, WITH_ALL_PLMNS); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
386 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
387 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
388 * Forward the PLMN list to MMI for selection | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
389 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
390 switch (rr_abort_ind->op.service) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
391 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
392 case NO_SERVICE: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
393 mm_mmgmm_nreg_ind (NREG_NO_SERVICE, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
394 SEARCH_NOT_RUNNING, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
395 FORB_PLMN_NOT_INCLUDED); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
396 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
397 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
398 case LIMITED_SERVICE: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
399 mm_mmgmm_nreg_ind (NREG_LIMITED_SERVICE, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
400 SEARCH_NOT_RUNNING, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
401 FORB_PLMN_NOT_INCLUDED); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
402 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
403 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
404 default: /* eg. FULL_SERVICE and reg_rr_failure => nonsense */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
405 TRACE_ERROR (UNEXPECTED_DEFAULT); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
406 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
407 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
408 mm_data->plmn_scan_mmi = TRUE; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
409 mm_mmgmm_plmn_ind (MMCS_SUCCESS, rr_abort_ind); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
410 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
411 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
412 default: /* No mode left */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
413 TRACE_ERROR (UNEXPECTED_DEFAULT); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
414 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
415 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
416 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
417 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
418 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
419 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
420 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
421 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
422 | PROJECT : GSM-PS (6147) MODULE : MM_REG | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
423 | STATE : code ROUTINE : reg_mm_success | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
424 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
425 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
426 PURPOSE : MM indicates successfull registration. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
427 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
428 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
429 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
430 GLOBAL void reg_mm_success (UBYTE service) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
431 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
432 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
433 TRACE_FUNCTION ("reg_mm_success()"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
434 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
435 if (mm_data->reg.op.sim_ins EQ SIM_NO_INSRT) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
436 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
437 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
438 * No SIM is inserted | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
439 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
440 mm_mmgmm_nreg_ind (NREG_LIMITED_SERVICE, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
441 SEARCH_NOT_RUNNING, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
442 FORB_PLMN_NOT_INCLUDED); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
443 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
444 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
445 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
446 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
447 * SIM is inserted | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
448 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
449 if (service EQ LIMITED_SERVICE) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
450 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
451 mm_mmgmm_nreg_ind (NREG_LIMITED_SERVICE, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
452 SEARCH_NOT_RUNNING, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
453 FORB_PLMN_NOT_INCLUDED); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
454 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
455 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
456 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
457 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
458 * Send new PLMN identification to MMI or GMM. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
459 * In case we compile for a GPRS protocol stack, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
460 * we will not indicate end of procedure (entering IDLE state) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
461 * by MMGMM_REG_CNF, but sending an intermediate result (full service) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
462 * by MMGMM_LUP_ACCEPT_IND. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
463 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
464 #ifdef GPRS | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
465 if (mm_data->gprs.reg_cnf_on_idle_entry) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
466 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
467 mm_mmgmm_lup_accept_ind (); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
468 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
469 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
470 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
471 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
472 mm_mmgmm_reg_cnf (); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
473 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
474 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
475 /* Check HPLMN timer state */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
476 reg_check_hplmn_tim (mm_data->reg.thplmn); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
477 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
478 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
479 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
480 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
481 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
482 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
483 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
484 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
485 | PROJECT : GSM-PS (6147) MODULE : MM_REG | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
486 | STATE : code ROUTINE : reg_mm_cell_selected | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
487 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
488 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
489 PURPOSE : MM indicates successfull cell selection. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
490 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
491 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
492 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
493 GLOBAL void reg_mm_cell_selected (void) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
494 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
495 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
496 TRACE_FUNCTION ("reg_mm_cell_selected()"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
497 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
498 if (mm_gsm_alone() AND | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
499 mm_data->reg.op.sim_ins EQ SIM_INSRT) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
500 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
501 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
502 * GPRS is inactive (GSM only mobile or GPRS deactivated) AND | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
503 * a valid SIM is inserted. These are the prerequisites to indicate | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
504 * full service to the MMI after cell selection. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
505 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
506 if (!mm_normal_upd_needed()) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
507 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
508 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
509 * If no normal update is needed, the next service state | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
510 * is "normal service" regardless of the need of an IMSI | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
511 * ATTACH. Normal calls are possible, so we have to indicate | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
512 * full service to the MMI. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
513 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
514 mm_mmgmm_reg_cnf (); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
515 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
516 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
517 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
518 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
519 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
520 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
521 | PROJECT : GSM-PS (6147) MODULE : MM_REG | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
522 | STATE : code ROUTINE : reg_mm_failure | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
523 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
524 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
525 PURPOSE : MM indicates an internal failure during location updating. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
526 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
527 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
528 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
529 GLOBAL void reg_mm_failure (UBYTE forb_ind) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
530 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
531 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
532 TRACE_FUNCTION ("reg_mm_failure()"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
533 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
534 if (!mm_lup_allowed_by_gmm()) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
535 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
536 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
537 * Call of function caused by MMGMM_ATTACH_REJ_REQ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
538 * and not by own failed LOCATION UPDATING ATTEMPT - or - | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
539 * by MMGMM_NREG_REQ with (cs EQ CS_DISABLE). | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
540 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
541 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
542 // This means, in automatic mode we wait for a | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
543 // GMM decision to try a location update in automatic | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
544 // mode if there are further networks present. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
545 // We have to discuss this item for network mode I! | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
546 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
547 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
548 * Check whether the MM failure was caused by MMGMM_NREG_REQ. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
549 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
550 if (mm_data->nreg_request) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
551 mm_mmgmm_nreg_cnf (mm_data->nreg_cause); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
552 return; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
553 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
554 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
555 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
556 * The MM failure was caused by MM's own location updating procedure, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
557 * LOCATION UPDATING REJECT message has been received. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
558 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
559 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
560 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
561 * In automatic mode with valid SIM, select the next PLMN if available | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
562 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
563 reg_plmn_select (forb_ind); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
564 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
565 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
566 #endif | 
