comparison src/g23m-gsm/alr2/alr_test/alr_constraints.cpp @ 2:3a14ee9a9843

src/g23m-gsm: same alr2 & alr3 structure as in Selenite
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 16 Oct 2020 06:29:12 +0000
parents
children
comparison
equal deleted inserted replaced
1:fa8dc04885d8 2:3a14ee9a9843
1 /*
2 +------------------------------------------------------------------------------
3 | File: alr_constraints.cpp
4 +------------------------------------------------------------------------------
5 | Copyright 2003 Texas Instruments
6 | All rights reserved.
7 |
8 | This file is confidential and a trade secret of Texas Instruments.
9 | The receipt of or possession of this file does not convey
10 | any rights to reproduce or disclose its contents or to
11 | manufacture, use, or sell anything it may describe, in
12 | whole, or in part, without the specific written consent of
13 | Texas Instruments.
14 +------------------------------------------------------------------------------
15 | Purpose: Contains test constraints for alr
16 |
17 +------------------------------------------------------------------------------
18 */
19 #include "alr_constraints.h"
20
21
22 /*-------------------------------------------------------------------------------
23 *
24 * ARRAYS
25 *
26 *-------------------------------------------------------------------------------*/
27 const U8 L2_PAG_2_T1_A_ARRAY[23] = {
28 0x1D,
29 0x06,
30 0x22,
31 0x00,
32 0x05, 0x22, 0x33, 0x66,
33 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
34 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
35 0x2B, 0x2B, 0x2B, 0x2B, 0x2B
36 };
37
38 T_raw cell_chan_desc_1() {
39 T_raw bitbuf;
40 bitbuf->l_buf = 128;
41 bitbuf->o_buf = 0;
42 const U8 CELL_CHAN_DESC_1[] = {
43 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
44 0x00, 0x08, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00
45 };
46 bitbuf->buf = CELL_CHAN_DESC_1;
47 return bitbuf;
48 }
49
50 T_raw cell_chan_desc_1_new() {
51 T_raw bitbuf;
52 bitbuf->l_buf = 128;
53 bitbuf->o_buf = 0;
54 const U8 CELL_CHAN_DESC_1_NEW[] = {
55 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
56 0x00, 0x18, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00
57 };
58 bitbuf->buf = CELL_CHAN_DESC_1_NEW;
59 return bitbuf;
60 }
61
62 T_raw neigh_cell_desc_1() {
63 T_raw bitbuf;
64 bitbuf->l_buf = 128;
65 bitbuf->o_buf = 0;
66 const U8 NEIGH_CELL_DESC_1[] = {
67 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
68 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x04
69 };
70 bitbuf->buf = NEIGH_CELL_DESC_1;
71 return bitbuf;
72 }
73
74 T_raw neigh_cell_desc_2() {
75 T_raw bitbuf;
76 bitbuf->l_buf = 128;
77 bitbuf->o_buf = 0;
78 const U8 NEIGH_CELL_DESC_2[] = {
79 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
80 0x00, 0x08, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00
81 };
82 bitbuf->buf = NEIGH_CELL_DESC_2;
83 return bitbuf;
84 }
85
86 const U16 A_ARFCN_EMO_000[4] = {
87 1,46,47,124
88 };
89
90 const U8 LIST_no_carriers[LIST_MAX_SIZE] = {
91 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
92 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
93 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
94 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
95 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
96 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
97 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
98 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
99 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
100 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
101 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
102 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
103 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
104 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
105 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
106 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
107 };
108
109 const U8 LIST_1_14_euro [LIST_MAX_SIZE] = {
110 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
111 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
112 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
113 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
114 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
115 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
116 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
117 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
118 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
119 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
120 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
121 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
122 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
123 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
124 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
125 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x01
126 };
127
128 const U8 LIST_140_150_amr [LIST_MAX_SIZE] = {
129 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
130 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
131 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
132 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
133 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
134 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
135 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
136 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
137 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
138 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
139 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
140 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
141 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
142 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00,
143 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
144 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
145 };
146
147 const U8 LIST_155_amr [LIST_MAX_SIZE] = {
148 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
149 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
150 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
152 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
153 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
154 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
155 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
156 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
157 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
158 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
160 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
161 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
162 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
163 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
164 };
165
166 const U8 LIST_975_euro[] = {
167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00,
168 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
169 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
170 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
171 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
172 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
173 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
174 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
175 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
176 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
177 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
178 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
179 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
180 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
181 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
182 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
183 };
184
185 const U8 LIST_130_amr [LIST_MAX_SIZE] = {
186 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
187 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
188 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
189 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
190 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
192 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
193 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
194 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
195 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
196 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
197 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
198 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
200 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
201 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
202 };
203
204 /* Constant for Whitelist with more than 35 carriers */
205
206 const U8 LIST_garbage_euro[LIST_MAX_SIZE] = {
207 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
208 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
209 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
210 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
211 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
212 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
213 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
214 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
216 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
217 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
218 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
219 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
220 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF,
221 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00,
222 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
223 };
224
225 const U8 LIST_130_140_150_250_155_amr [LIST_MAX_SIZE] = {
226 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
227 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
228 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
229 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
230 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
231 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
232 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
233 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
234 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
235 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
236 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
237 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
238 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
239 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, 0x08, 0x02,
240 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
241 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
242 };
243
244 const U8 LIST_1_14_23_124_euro [LIST_MAX_SIZE] = {
245 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
246 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
248 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
249 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
250 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
251 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
252 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
253 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
254 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
256 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
257 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
258 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
259 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
260 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x01
261 };
262
263 const U8 LIST_131_143_152_251_156_amr [LIST_MAX_SIZE] = {
264 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
265 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
266 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
267 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
268 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
269 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
270 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
271 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
272 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
273 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
274 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
275 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
276 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
277 0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0x40, 0x04,
278 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
279 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
280 };
281
282 const U8 LIST_1024_1023_10_20_amr [LIST_MAX_SIZE] = {
283 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
284 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
285 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
286 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
287 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
288 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
289 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
290 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
291 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
292 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
293 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
294 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
295 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
296 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
297 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
298 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x02, 0x00
299 };
300
301 const U8 LIST_1_euro [LIST_MAX_SIZE] = {
302 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
303 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
304 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
305 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
306 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
307 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
308 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
309 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
310 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
311 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
312 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
313 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
314 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
315 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
316 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
317 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01
318 };
319
320 const U8 LIST_130_250_155_amr [LIST_MAX_SIZE] = {
321 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
322 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
323 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
324 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
325 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
326 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
327 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
328 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
329 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
330 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
331 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
332 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
333 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
334 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x02,
335 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
336 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
337 };
338
339 const U8 L_RXT5_30_25_20_20_20 [MAX_NUM_BANDS] = {
340 0x1E, 0x19, 0x14, 0x14, 0x14
341 };
342
343
344 const U8 L_RXT5_20 [MAX_NUM_BANDS] = {
345 0x14, 0x14, 0x14, 0x14, 0x14
346 };
347
348 /*-------------------------------------------------------------------------------
349 *
350 * PSTRUCTS
351 *
352 *-------------------------------------------------------------------------------*/
353 T_loc_area_ident loc_area_ident_2()
354 {
355 const U8 MCC_2[3] = {
356 0, 0, 0
357 };
358 const U8 MNC_2[3] = {
359 0, 0, 0
360 };
361 T_loc_area_ident mstruct;
362 mstruct->mcc = MCC_2;
363 mstruct->mnc = MNC_2;
364 mstruct->lac = 0x0200;
365 return mstruct;
366 }
367 T_l2_frame l2_sys_info_1()
368 {
369 const U8 L2_SYS_INFO_1_ARRAY[23] = {
370 0x59,
371 0x06,
372 0x19,
373 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
374 0x00, 0x08, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00,
375 0x00, 0x00, 0x40,
376 0x2B
377 };
378
379 T_l2_frame pstruct;
380 pstruct->content = L2_SYS_INFO_1_ARRAY;
381 return pstruct;
382 }
383 T_l2_frame l2_sys_info_2()
384 {
385 const U8 L2_SYS_INFO_2_ARRAY[23] = {
386 0x59,
387 0x06,
388 0x1A,
389 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
390 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x04,
391 0x01,
392 0x00, 0x00, 0x40
393 };
394
395 T_l2_frame pstruct;
396 pstruct->content = L2_SYS_INFO_2_ARRAY;
397 return pstruct;
398 }
399
400 T_l2_frame l2_sys_info_3()
401 {
402 const U8 L2_SYS_INFO_3_ARRAY[23] = {
403 0x59,
404 0x06,
405 0x1B,
406 0x37, 0x48,
407 0x21, 0xF3, 0x33, 0x21, 0x47,
408 0x28, 0x02, 0x06,
409 0x5F,
410 0x42, 0x56,
411 0x00, 0x00, 0x40,
412 0x2B, 0x2B, 0x2B, 0x2B
413 };
414
415 T_l2_frame pstruct;
416 pstruct->content = L2_SYS_INFO_3_ARRAY;
417 return pstruct;
418 }
419 T_l2_frame l2_sys_info_3_new()
420 {
421 const U8 L2_SYS_INFO_3_ARRAY[23] = {
422 0x59,
423 0x06,
424 0x1B,
425 0x00, 0x04,
426 0x21, 0xF3, 0x33, 0x21, 0x47,
427 0x28, 0x02, 0x06,
428 0x5F,
429 0x42, 0x56,
430 0x00, 0x00, 0x40,
431 0x2B, 0x2B, 0x2B, 0x2B
432 };
433
434 T_l2_frame pstruct;
435 pstruct->content = L2_SYS_INFO_3_ARRAY;
436 return pstruct;
437 }
438
439 T_l2_frame l2_sys_info_4()
440 {
441 const U8 L2_SYS_INFO_4_ARRAY[23] = {
442 0x59,
443 0x06,
444 0x1C,
445 0x21, 0xF3, 0x33, 0x21, 0x47,
446 0x42, 0x56,
447 0x00, 0x00, 0x40,
448 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
449 0x2B, 0x2B, 0x2B, 0x2B, 0x2B
450 };
451
452 T_l2_frame pstruct;
453 pstruct->content = L2_SYS_INFO_4_ARRAY;
454 return pstruct;
455 }
456 T_l2_frame l2_sys_info_4_acs()
457 {
458 const U8 L2_SYS_INFO_4_ACS_ARRAY[23] = {
459 0x59,
460 0x06,
461 0x1C,
462 0x21, 0xF3, 0x33, 0x21, 0x47,
463 0x42, 0xD6,
464 0x00, 0x00, 0x40,
465 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
466 0x2B, 0x2B, 0x2B, 0x2B, 0x2B
467 };
468
469 T_l2_frame pstruct;
470 pstruct->content = L2_SYS_INFO_4_ACS_ARRAY;
471 return pstruct;
472 }
473
474 T_l2_frame l2_sys_info_2q()
475 {
476 const U8 L2_SYS_INFO_2Q_ARRAY[23] = {
477 0x59,
478 0x06,
479 0x07, /*Msg type*/
480 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
481 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x04,
482 0x01,
483 0x00, 0x00, 0x40
484 };
485
486 T_l2_frame pstruct;
487 pstruct->content = L2_SYS_INFO_2Q_ARRAY;
488 return pstruct;
489 }
490
491
492 T_cell_opt_sacch cell_opt_sacch_1()
493 {
494
495 T_cell_opt_sacch mstruct;
496 mstruct->dtx2_s = 0;
497 mstruct->pow_ctrl = POW_CTRL_NO;
498 mstruct->dtx_s = S_DTX_F_MAYUSE_H_DONTUSE;
499 mstruct->rlt = 1;
500 return mstruct;
501 }
502 T_rach_ctrl rach_ctrl_1()
503 {
504 T_rach_ctrl mstruct;
505 mstruct->max_retrans = MAX_RETRANS_1;
506 mstruct->tx_integer = SPREAD_TRANS_3;
507 mstruct->cell_bar_access = BARRED_NO;
508 mstruct->re = REESTAB_YES;
509 mstruct->ac = ACC_0005;
510 return mstruct;
511 }
512 T_loc_area_ident loc_area_ident_1()
513 {
514 const U8 MCC_1[3] = {
515 1,2,3
516 };
517 const U8 MNC_1[2] = {
518 3,3
519 };
520 T_loc_area_ident mstruct;
521 mstruct->mcc = MCC_1;
522 mstruct->mnc = MNC_1;
523 mstruct->lac = 0x2147;
524 return mstruct;
525 }
526 T_ctrl_chan_desc ctrl_chan_desc_1()
527 {
528 T_ctrl_chan_desc mstruct;
529 mstruct->att = CCD_ATT_NO;
530 mstruct->bs_ag_blks_res = 5;
531 mstruct->ccch_conf = CCD_CCCH_1_NOT_COMB;
532 mstruct->bs_pa_mfrms = 2;
533 mstruct->t3212 = 6;
534 return mstruct;
535 }
536 T_cell_opt_bcch cell_opt_bcch_1()
537 {
538 T_cell_opt_bcch mstruct;
539 mstruct->pow_ctrl = POW_CTRL_YES;
540 mstruct->dtx_b = B_DTX_SHALL_USE;
541 mstruct->rlt = 15;
542 return mstruct;
543 }
544 T_cell_select cell_select_1()
545 {
546 T_cell_select mstruct;
547 mstruct->cell_resel_hyst = CELL_HYST_4_DB;
548 mstruct->ms_txpwr_max_cch = 2;
549 mstruct->acs = ACS_USE_SI4 ;
550 mstruct->neci = NECI_YES;
551 mstruct->rxlev_access_min = 22;
552 return mstruct;
553 }
554 T_cell_select cell_select_2()
555 {
556 T_cell_select mstruct;
557 mstruct->cell_resel_hyst = CELL_HYST_4_DB;
558 mstruct->ms_txpwr_max_cch = 2;
559 mstruct->acs = ACS_USE_SI7 ;
560 mstruct->neci = NECI_YES;
561 mstruct->rxlev_access_min = 22;
562 return mstruct;
563 }
564 T_si7_rest_oct si7_rest_oct_1()
565 {
566 T_si7_rest_oct mstruct;
567 mstruct->opt_sel_par._skip;
568 mstruct->pow_offs._skip;
569 mstruct->gprs_indic._skip;
570 mstruct->si4_rest_octets_s._skip;
571 return mstruct;
572 }
573 T_si8_rest_oct si8_rest_oct_1()
574 {
575 T_si8_rest_oct mstruct;
576 mstruct->opt_sel_par._skip;
577 mstruct->pow_offs._skip;
578 mstruct->gprs_indic._skip;
579 mstruct->si4_rest_octets_s._skip;
580 return mstruct;
581 }
582 T_l2_frame l2_paging_req_1()
583 {
584 const U8 L2_PAGING_REQ_1_ARRAY[23] = {
585 0x11,
586 0x06,
587 0x21,
588 PAGING_NORM,
589 0x00,
590 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
591 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
592 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
593 0x2B, 0x2B, 0x2B
594 };
595 T_l2_frame pstruct;
596 pstruct->content = L2_PAGING_REQ_1_ARRAY;
597 return pstruct;
598 }
599 T_l2_frame l2_paging_req_1_sab()
600 {
601 const U8 L2_PAGING_REQ_1_SAB_ARRAY[23] = {
602 0x11,
603 0x06,
604 0x21,
605 PAGING_SAME,
606 0x00,
607 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
608 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
609 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
610 0x2B, 0x2B, 0x2B
611 };
612
613 T_l2_frame pstruct;
614 pstruct->content = L2_PAGING_REQ_1_SAB_ARRAY;
615 return pstruct;
616 }
617 T_l2_frame l2_paging_req_1_ext()
618 {
619 const U8 L2_PAGING_REQ_1_EXT_ARRAY[23] = {
620 0x11,
621 0x06,
622 0x21,
623 PAGING_EXT,
624 0x00,
625 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
626 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
627 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
628 0x2B, 0x2B, 0x2B
629 };
630
631 T_l2_frame pstruct;
632 pstruct->content = L2_PAGING_REQ_1_EXT_ARRAY;
633 return pstruct;
634 }
635 T_l2_frame l2_paging_req_1_reo()
636 {
637 const U8 L2_PAGING_REQ_1_REO_ARRAY[23] = {
638 0x11,
639 0x06,
640 0x21,
641 PAGING_REORG,
642 0x00,
643 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
644 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
645 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
646 0x2B, 0x2B, 0x2B
647 };
648 T_l2_frame pstruct;
649 pstruct->content = L2_PAGING_REQ_1_REO_ARRAY;
650 return pstruct;
651 }
652
653 T_l2_frame l2_imm_ass_hop()
654 {
655 const U8 L2_IMM_ASS_HOP_ARRAY[23] = {
656 0x31,
657 0x06,
658 0x3F,
659 0x00,
660 0x40, 0x10, 0x40,
661 0xFB, 0x21, 0x06,
662 0x1E,
663 0x01, 0x16,
664 0x2B,0x2B,0x2B,0x2B,0x2B,
665 0x2B,0x2B,0x2B,0x2B,0x2B
666 };
667
668 T_l2_frame pstruct;
669 pstruct->content = L2_IMM_ASS_HOP_ARRAY;
670 return pstruct;
671 }
672 T_page_mode page_mode_1()
673 {
674 T_page_mode mstruct;
675 mstruct->pm = PAGING_NORM;
676 return mstruct;
677 }
678 T_chan_desc chan_desc_1()
679 {
680 T_chan_desc mstruct;
681 mstruct->chan_type = SDCCH_8_S0;
682 mstruct->tn = 0;
683 mstruct->tsc = 0;
684 mstruct->hop = HOP_YES;
685 mstruct->arfcn._skip;
686 mstruct->maio = 1;
687 mstruct->hsn = 0;
688 return mstruct;
689 }
690 T_req_ref req_ref_1()
691 {
692 T_req_ref mstruct;
693 mstruct->ra = 0xFB;
694 mstruct->t1 = 4;
695 mstruct->t3 = 8;
696 mstruct->t2 = 6;
697 return mstruct;
698 }
699 T_time_advance time_advance_1()
700 {
701 T_time_advance mstruct;
702 mstruct->ta = 0x1E;
703 return mstruct;
704 }
705 T_mob_alloc mob_alloc_1()
706 {
707 const U8 MAC_1_elements[1] = {
708 0x16
709 };
710 T_ARRAY<U8> MAC_1(MAC_1_elements, SKIP_TO_END);
711
712 T_mob_alloc mstruct;
713 mstruct->mac = MAC_1;
714 return mstruct;
715 }
716 T_l2_frame l2_no_content()
717 {
718 const U8 EMPTY_FRAME_elements[1] = {
719 0
720 };
721 T_ARRAY<U8> EMPTY_FRAME(EMPTY_FRAME_elements, SKIP_TO_END);
722
723 T_l2_frame pstruct;
724 pstruct->content = EMPTY_FRAME;
725 return pstruct;
726 }
727
728 T_tb_meas_result tb_meas_result_1(U16 acc_lev,U8 acc_nbr)
729 {
730 T_tb_meas_result pstruct;
731 pstruct->arfcn = ARFCN_23;
732 pstruct->rxlev = acc_lev;
733 pstruct->num_meas = acc_nbr;
734 return pstruct;
735 }
736
737 T_tb_meas_result tb_meas_result_2(U16 acc_lev,U8 acc_nbr)
738 {
739 T_tb_meas_result pstruct;
740 pstruct->arfcn = ARFCN_512;
741 pstruct->rxlev = acc_lev;
742 pstruct->num_meas = acc_nbr;
743 return pstruct;
744 }
745 T_tb_meas_result tb_meas_empty()
746 {
747 T_tb_meas_result pstruct;
748 pstruct->arfcn = TB_INVALID_ARFCN;
749 pstruct->rxlev = acc_level_0;
750 pstruct->num_meas = acc_nbr_0;
751 return pstruct;
752 }
753
754 T_ARRAY<T_tb_meas_result> tb_list_1()
755 {
756 T_tb_meas_result array[TB_BA_LIST_SIZE] = {
757 tb_meas_result_1(acc_level_4,acc_nbr_4), tb_meas_result_2(acc_level_5,acc_nbr_5), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
758 tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
759 tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
760 tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
761 tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
762 tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
763 tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
764 tb_meas_empty(), tb_meas_empty()
765 };
766 return array;
767 }
768 T_ARRAY<T_tb_meas_result> tb_list_2()
769 {
770 T_tb_meas_result array[TB_BA_LIST_SIZE] = {
771 tb_meas_result_1(acc_level_3,acc_nbr_3), tb_meas_result_2(acc_level_6,acc_nbr_6), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
772 tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
773 tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
774 tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
775 tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
776 tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
777 tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
778 tb_meas_empty(), tb_meas_empty()
779 };
780 return array;
781 }
782 T_ARRAY<T_tb_meas_result> tb_list_3()
783 {
784 T_tb_meas_result array[TB_BA_LIST_SIZE] = {
785 tb_meas_result_1(acc_level_2,acc_nbr_2), tb_meas_result_2(acc_level_7,acc_nbr_7), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
786 tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
787 tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
788 tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
789 tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
790 tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
791 tb_meas_empty(), tb_meas_empty(), tb_meas_empty(), tb_meas_empty(),
792 tb_meas_empty(), tb_meas_empty()
793 };
794 return array;
795 }
796
797
798 T_ARRAY<T_meas_results> s_emo_meas_res_000()
799 {
800 T_meas_results array[5];
801 array[0]->arfcn = CONST_1;
802 array[0]->rx_lev = CONST_30;
803 array[1]->arfcn = CONST_46;
804 array[1]->rx_lev = CONST_6;
805 array[2]->arfcn = CONST_47;
806 array[2]->rx_lev = CONST_53;
807 array[3]->arfcn = CONST_124;
808 array[3]->rx_lev = CONST_13;
809 array[4]->arfcn = CONST_23;
810 array[4]->rx_lev = CONST_1;
811 return array;
812 }
813 T_frequency_list freq_list()
814 {
815 const U16 CHLIST_14_23_69_115_elements[4] = {
816 ARFCN_14,
817 ARFCN_23,
818 ARFCN_69,
819 ARFCN_115
820 };
821 T_ARRAY<U16> CHLIST_14_23_69_115(CHLIST_14_23_69_115_elements, SKIP_TO_END);
822
823 T_frequency_list pstruct;
824 pstruct->rf_chan_cnt = 4;
825 pstruct->rf_chan_no.radio_freq = CHLIST_14_23_69_115;
826 return pstruct;
827 }
828
829 /*-------------------------------------------------------------------------------
830 *
831 * PRIMITIVES
832 *
833 *-------------------------------------------------------------------------------*/
834
835 T_PRIMITIVE_UNION mph_power_req_1()
836 {
837 T_MPH_POWER_REQ prim;
838 prim->pch_interrupt = PCH_INTERRUPT;
839 prim->freq_bands = BAND_GSM_900;
840 // New Element added in Cell Selection Improvement
841 prim->search_mode = FULL_SEARCH_MODE;
842 prim->black_list.list[EUROPEAN_REGION].channels = LIST_no_carriers;
843 prim->black_list.list[AMERICAN_REGION].channels = LIST_no_carriers;
844 prim->white_list.white_list_valid = TRUE;
845 prim->white_list.region = EUROPEAN_REGION;
846 prim->white_list.list.channels = LIST_no_carriers;
847 // New Element added in Cell Selection Improvement ends here
848 return prim;
849 }
850
851
852 T_PRIMITIVE_UNION mph_power_req_variant(U8 search_mode, CHAR variant)
853 {
854 T_MPH_POWER_REQ prim;
855 prim->pch_interrupt = PCH_INTERRUPT;
856 prim->freq_bands = 0x1F;
857 prim->search_mode = search_mode;
858 prim->black_list.list[EUROPEAN_REGION].channels = LIST_no_carriers;
859 prim->black_list.list[AMERICAN_REGION].channels = LIST_no_carriers;
860 prim->white_list.white_list_valid = TRUE;
861 prim->white_list.region = EUROPEAN_REGION;
862 prim->white_list.list.channels = LIST_no_carriers;
863 prim->lower_rxlevel_threshold = L_RXT5_20;
864 switch(variant)
865 { // Variant X will be used to execute the default case
866 case 'A' :
867 prim->pch_interrupt = NO_PCH_INTERRUPT;
868 prim->black_list.list[EUROPEAN_REGION].channels = LIST_1_14_euro;
869 prim->white_list.list.channels = LIST_1_14_euro;
870 break;
871 case 'B' :
872 prim->white_list.list.channels = LIST_1_14_euro;
873 break;
874 case 'C' :
875 prim->white_list.list.channels = LIST_garbage_euro;
876 break;
877 case 'D' :
878 prim->black_list.list[EUROPEAN_REGION].channels = LIST_1024_1023_10_20_amr;
879 break;
880 case 'F' :
881 prim->black_list.list[EUROPEAN_REGION].channels = LIST_1_14_euro;
882 prim->white_list.list.channels = LIST_1_14_euro;
883 break;
884 case 'G' :
885 prim->freq_bands = BAND_GSM_850;
886 prim->black_list.list[EUROPEAN_REGION].channels = LIST_1_14_euro;
887 prim->white_list.list.channels = LIST_130_amr;
888 break;
889 case 'H' :
890 prim->freq_bands = BAND_GSM_850;
891 prim->black_list.list[AMERICAN_REGION].channels = LIST_140_150_amr;
892 prim->white_list.region = AMERICAN_REGION;
893 prim->white_list.list.channels = LIST_130_amr;
894 break;
895 case 'I' :
896 prim->freq_bands = BAND_DUAL_US;
897 prim->black_list.list[EUROPEAN_REGION].channels = LIST_1_14_euro;
898 prim->white_list.list.channels = LIST_1_14_euro;
899 break;
900 case 'J' :
901 prim->white_list.white_list_valid = FALSE;
902 break;
903 case 'K':
904 prim->white_list.region = AMERICAN_REGION;
905 prim->white_list.list.channels = LIST_130_amr;
906 break;
907 case 'L':
908 prim->white_list.region = AMERICAN_REGION;
909 prim->white_list.list.channels = LIST_131_143_152_251_156_amr;
910 break;
911 case 'M':
912 prim->black_list.list[EUROPEAN_REGION].channels = LIST_140_150_amr;
913 prim->white_list.list.channels = LIST_1_14_euro;
914 break;
915 case 'N':
916 prim->black_list.list[EUROPEAN_REGION].channels = LIST_975_euro;
917 prim->white_list.list.channels = LIST_1_14_euro;
918 break;
919 case 'O':
920 prim->lower_rxlevel_threshold = L_RXT5_30_25_20_20_20;
921 default :
922 break;
923 }
924 return prim;
925 }
926
927
928 T_PRIMITIVE_UNION mph_power_req_2()
929 {
930 T_MPH_POWER_REQ prim;
931 prim->pch_interrupt = NO_PCH_INTERRUPT;
932 prim->freq_bands = BAND_GSM_900;
933 prim->search_mode = FULL_SEARCH_MODE;
934 prim->black_list.list[EUROPEAN_REGION].channels = LIST_no_carriers;
935 prim->black_list.list[AMERICAN_REGION].channels = LIST_no_carriers;
936 prim->white_list.white_list_valid = TRUE;
937 prim->white_list.region = EUROPEAN_REGION;
938 prim->white_list.list.channels = LIST_no_carriers;
939 return prim;
940 }
941
942 T_PRIMITIVE_UNION mph_power_req_3()
943 {
944 T_MPH_POWER_REQ prim;
945 prim->pch_interrupt = PCH_INTERRUPT;
946 prim->freq_bands = BAND_DCS_1800;
947 prim->search_mode = FULL_SEARCH_MODE;
948 prim->black_list.list[EUROPEAN_REGION].channels = LIST_no_carriers;
949 prim->black_list.list[AMERICAN_REGION].channels = LIST_no_carriers;
950 prim->white_list.white_list_valid = TRUE;
951 prim->white_list.region = EUROPEAN_REGION;
952 prim->white_list.list.channels = LIST_no_carriers;
953 return prim;
954 }
955
956 T_PRIMITIVE_UNION mph_power_req_4()
957 {
958 T_MPH_POWER_REQ prim;
959 prim->pch_interrupt = PCH_INTERRUPT;
960 prim->freq_bands = BAND_DUAL;
961 prim->search_mode = FULL_SEARCH_MODE;
962 prim->black_list.list[EUROPEAN_REGION].channels = LIST_no_carriers;
963 prim->black_list.list[AMERICAN_REGION].channels = LIST_no_carriers;
964 prim->white_list.white_list_valid = TRUE;
965 prim->white_list.region = EUROPEAN_REGION;
966 prim->white_list.list.channels = LIST_no_carriers;
967 return prim;
968 }
969
970 T_PRIMITIVE_UNION mphc_init_l1_req_1()
971 {
972 T_MPHC_INIT_L1_REQ prim;
973 prim->radio_band_config = STD_900;
974 return prim;
975 }
976 T_PRIMITIVE_UNION mphc_init_l1_req_2()
977 {
978 T_MPHC_INIT_L1_REQ prim;
979 prim->radio_band_config = STD_EGSM;
980 return prim;
981 }
982 T_PRIMITIVE_UNION mphc_init_l1_req_3()
983 {
984 T_MPHC_INIT_L1_REQ prim;
985 prim->radio_band_config = STD_1800;
986 return prim;
987 }
988 T_PRIMITIVE_UNION mphc_init_l1_req_4()
989 {
990 T_MPHC_INIT_L1_REQ prim;
991 prim->radio_band_config = STD_DUAL;
992 return prim;
993 }
994
995 T_PRIMITIVE_UNION mphc_init_l1_req(CHAR band)
996 {
997 T_MPHC_INIT_L1_REQ prim;
998 prim->radio_band_config = band;
999 return prim;
1000 }
1001
1002 T_PRIMITIVE_UNION mphc_init_l1_con_1()
1003 {
1004 T_MPHC_INIT_L1_CON prim;
1005 prim->param._skip;
1006 return prim;
1007 }
1008
1009 T_PRIMITIVE_UNION mphc_rxlev_req()
1010 {
1011 T_MPHC_RXLEV_REQ prim;
1012 prim->shared_ptr._skip;
1013 return prim;
1014 }
1015
1016 T_PRIMITIVE_UNION mphc_rxlev_ind(U8 idx)
1017 {
1018 T_MPHC_RXLEV_IND prim;
1019 prim->shared_ptr = idx;
1020 return prim;
1021 }
1022
1023 T_PRIMITIVE_UNION mph_power_cnf_1()
1024 {
1025 T_MPH_POWER_CNF prim;
1026 prim->num_of_chan = CHANNELS_4;
1027 prim->num_of_white_list_chan = CHANNELS_0;
1028 prim->arfcn._skip;
1029 prim->rx_lev._skip;
1030 return prim;
1031 }
1032
1033 T_PRIMITIVE_UNION mph_power_cnf_one_ncell()
1034 {
1035 const U16 ARFCN_32_elements[] = { ARFCN_32_STD_900 };
1036 T_ARRAY<U16> ARFCN_32a(ARFCN_32_elements, SKIP_TO_END);
1037 const U16 RXLEV_20_elements[] = { 20 };
1038 T_ARRAY<U16> RXLEV_20(RXLEV_20_elements, SKIP_TO_END);
1039
1040 T_MPH_POWER_CNF prim;
1041 prim->num_of_chan = 1;
1042 prim->num_of_white_list_chan = CHANNELS_0;
1043 prim->arfcn = ARFCN_32a;
1044 prim->rx_lev = RXLEV_20;
1045 return prim;
1046 }
1047
1048 T_PRIMITIVE_UNION mph_power_cnf_2()
1049 {
1050 T_MPH_POWER_CNF prim;
1051 prim->num_of_chan = CHANNELS_0;
1052 prim->num_of_white_list_chan = CHANNELS_0;
1053 prim->arfcn._skip;
1054 prim->rx_lev._skip;
1055 prim->inactive_carrier_list.list[0].channels = LIST_no_carriers;
1056 prim->inactive_carrier_list.list[1].channels = LIST_no_carriers;
1057 return prim;
1058 }
1059
1060 T_PRIMITIVE_UNION mph_power_cnf_american()
1061 {
1062 const U16 ARFCN_23_14_124_1_WITH_STD_elements[] = {
1063 ARFCN_150_STD_850, ARFCN_140_STD_850, ARFCN_250_STD_850, ARFCN_130_STD_850
1064 };
1065 T_ARRAY<U16> ARFCN_23_14_124_1_WITH_STD(ARFCN_23_14_124_1_WITH_STD_elements, SKIP_TO_END);
1066
1067 const U8 RXLEV_23_14_124_1_elements[] = {
1068 250, 220, 125, 105
1069 };
1070 T_ARRAY<U8> RXLEV_23_14_124_1(RXLEV_23_14_124_1_elements, SKIP_TO_END);
1071
1072 T_MPH_POWER_CNF prim;
1073 prim->num_of_chan = CHANNELS_4;
1074 prim->num_of_white_list_chan = CHANNELS_0;
1075 prim->arfcn = ARFCN_23_14_124_1_WITH_STD;
1076 prim->rx_lev = RXLEV_23_14_124_1;
1077 prim->inactive_carrier_list.list[0].channels = LIST_no_carriers;
1078 prim->inactive_carrier_list.list[1].channels = LIST_155_amr;
1079 return prim;
1080 }
1081
1082 T_PRIMITIVE_UNION mph_power_cnf_american1()
1083 {
1084 const U16 ARFCN_23_14_124_1_WITH_STD_elements[] = {
1085 ARFCN_130_STD_850, ARFCN_250_STD_850
1086 };
1087 T_ARRAY<U16> ARFCN_23_14_124_1_WITH_STD(ARFCN_23_14_124_1_WITH_STD_elements, SKIP_TO_END);
1088
1089 const U8 RXLEV_23_14_124_1_elements[] = {
1090 105, 125
1091 };
1092 T_ARRAY<U8> RXLEV_23_14_124_1(RXLEV_23_14_124_1_elements, SKIP_TO_END);
1093
1094 T_MPH_POWER_CNF prim;
1095 prim->num_of_chan = CHANNELS_2;
1096 prim->num_of_white_list_chan = CHANNELS_1;
1097 prim->arfcn = ARFCN_23_14_124_1_WITH_STD;
1098 prim->rx_lev = RXLEV_23_14_124_1;
1099 prim->inactive_carrier_list.list[0].channels = LIST_no_carriers;
1100 prim->inactive_carrier_list.list[1].channels = LIST_155_amr;
1101 return prim;
1102 }
1103
1104 T_PRIMITIVE_UNION mph_power_cnf_3()
1105 {
1106 const U16 ARFCN_23_14_124_1_WITH_STD_elements[] = {
1107 ARFCN_23_STD_900, ARFCN_14_STD_900, ARFCN_124_STD_900, ARFCN_1_STD_900
1108 };
1109 T_ARRAY<U16> ARFCN_23_14_124_1_WITH_STD(ARFCN_23_14_124_1_WITH_STD_elements, SKIP_TO_END);
1110
1111 const U8 RXLEV_23_14_124_1_elements[] = {
1112 56, 44, 25, 21
1113 };
1114 T_ARRAY<U8> RXLEV_23_14_124_1(RXLEV_23_14_124_1_elements, SKIP_TO_END);
1115
1116 T_MPH_POWER_CNF prim;
1117 prim->num_of_chan = CHANNELS_4;
1118 prim->num_of_white_list_chan = CHANNELS_0;
1119 prim->arfcn = ARFCN_23_14_124_1_WITH_STD;
1120 prim->rx_lev = RXLEV_23_14_124_1;
1121 return prim;
1122 }
1123
1124 T_PRIMITIVE_UNION mph_power_cnf_32_whitelist()
1125 {
1126 T_MPH_POWER_CNF prim;
1127 prim->num_of_chan = CHANNELS_43;
1128 prim->num_of_white_list_chan = CHANNELS_32;
1129 prim->arfcn._show;
1130 prim->rx_lev._show;
1131 prim->inactive_carrier_list.list[0].channels._show;
1132 prim->inactive_carrier_list.list[1].channels._show;
1133 return prim;
1134 }
1135
1136 T_PRIMITIVE_UNION mph_power_cnf_3_new()
1137 {
1138 const U16 ARFCN_23_14_124_1_WITH_STD_elements[] = {
1139 ARFCN_14_STD_EGSM, ARFCN_1_STD_EGSM, ARFCN_23_STD_EGSM, ARFCN_150_STD_DUAL_US,
1140 ARFCN_140_STD_DUAL_US,ARFCN_124_STD_EGSM, ARFCN_250_STD_DUAL_US, ARFCN_130_STD_DUAL_US
1141 };
1142 T_ARRAY<U16> ARFCN_23_14_124_1_WITH_STD(ARFCN_23_14_124_1_WITH_STD_elements, SKIP_TO_END);
1143
1144 const U8 RXLEV_23_14_124_1_elements[] = {
1145 44, 21, 56, 50, 44, 25, 25, 21
1146 };
1147 T_ARRAY<U8> RXLEV_23_14_124_1(RXLEV_23_14_124_1_elements, SKIP_TO_END);
1148
1149 T_MPH_POWER_CNF prim;
1150 prim->num_of_chan = CHANNELS_8;
1151 prim->num_of_white_list_chan = CHANNELS_2;
1152 prim->arfcn = ARFCN_23_14_124_1_WITH_STD;
1153 prim->rx_lev = RXLEV_23_14_124_1;
1154 prim->inactive_carrier_list.list[0].channels = LIST_no_carriers;
1155 prim->inactive_carrier_list.list[1].channels = LIST_155_amr;
1156 return prim;
1157 }
1158
1159 T_PRIMITIVE_UNION mph_power_cnf_same_white_black()
1160 {
1161 const U16 ARFCN_23_124_WITH_STD_elements[] = {
1162 ARFCN_23_STD_EGSM, ARFCN_150_STD_DUAL_US, ARFCN_140_STD_DUAL_US,
1163 ARFCN_124_STD_EGSM, ARFCN_250_STD_DUAL_US, ARFCN_130_STD_DUAL_US
1164 };
1165 T_ARRAY<U16> ARFCN_23_124_WITH_STD(ARFCN_23_124_WITH_STD_elements, SKIP_TO_END);
1166
1167 const U8 RXLEV_23_124_elements[] = {
1168 24, 50, 44, 25, 25, 21
1169 };
1170 T_ARRAY<U8> RXLEV_23_124(RXLEV_23_124_elements, SKIP_TO_END);
1171
1172 T_MPH_POWER_CNF prim;
1173 prim->num_of_chan = CHANNELS_6;
1174 prim->num_of_white_list_chan = CHANNELS_0;
1175 prim->arfcn = ARFCN_23_124_WITH_STD;
1176 prim->rx_lev._skip;
1177 prim->inactive_carrier_list.list[0].channels = LIST_no_carriers;
1178 prim->inactive_carrier_list.list[1].channels = LIST_155_amr;
1179 return prim;
1180 }
1181
1182 T_PRIMITIVE_UNION mph_power_cnf_rxlevel(CHAR variant)
1183 {
1184 U8 no_of_channels;
1185 const U16 ARFCN_23_124_WITH_STD_elements[] = {
1186 ARFCN_23_STD_EGSM, ARFCN_150_STD_DUAL_US, ARFCN_140_STD_DUAL_US,
1187 ARFCN_124_STD_EGSM, ARFCN_250_STD_DUAL_US, ARFCN_130_STD_DUAL_US
1188 };
1189
1190 T_ARRAY<U16> ARFCN_23_124_WITH_STD(ARFCN_23_124_WITH_STD_elements, SKIP_TO_END);
1191
1192 const U8 RXLEV_23_124_elements[] = {
1193 24, 250, 220, 125, 125, 105
1194 };
1195
1196 const U8 FIVE_RXLEV_23_124_elements[] = {
1197 56, 50, 44, 25, 25, 21
1198 };
1199
1200 T_ARRAY<U8> RXLEV_23_124(RXLEV_23_124_elements, SKIP_TO_END);
1201
1202 T_ARRAY<U8> FIVE_RXLEV_23_124(FIVE_RXLEV_23_124_elements, SKIP_TO_END);
1203
1204 T_MPH_POWER_CNF prim;
1205
1206 no_of_channels = CHANNELS_6;
1207 switch(variant)
1208 {
1209 case 'A' :
1210 prim->rx_lev = FIVE_RXLEV_23_124;
1211 break;
1212 case 'C' :
1213 prim->num_of_chan = CHANNELS_0;
1214 case 'B' :
1215 prim->rx_lev = RXLEV_23_124;
1216 break;
1217 }
1218 prim->num_of_chan = no_of_channels;
1219 prim->num_of_white_list_chan = CHANNELS_0;
1220 prim->arfcn = ARFCN_23_124_WITH_STD;
1221 prim->inactive_carrier_list.list[0].channels._skip;
1222 prim->inactive_carrier_list.list[1].channels._skip;
1223 return prim;
1224 }
1225
1226 T_PRIMITIVE_UNION mph_power_cnf_lrxt()
1227 {
1228 const U16 ARFCN_23_124_WITH_STD_elements[] = {
1229 ARFCN_23_STD_EGSM, ARFCN_150_STD_DUAL_US, ARFCN_14_STD_EGSM,
1230 ARFCN_140_STD_DUAL_US, ARFCN_124_STD_EGSM
1231 };
1232
1233 T_ARRAY<U16> ARFCN_23_124_WITH_STD(ARFCN_23_124_WITH_STD_elements, SKIP_TO_END);
1234
1235 const U8 RXLEV_23_124_elements[] = {
1236 56, 50, 44, 44, 25
1237 };
1238
1239 T_ARRAY<U8> RXLEV_23_124(RXLEV_23_124_elements, SKIP_TO_END);
1240
1241 T_MPH_POWER_CNF prim;
1242
1243 prim->num_of_chan = CHANNELS_5;
1244 prim->num_of_white_list_chan = CHANNELS_0;
1245 prim->arfcn = ARFCN_23_124_WITH_STD;
1246 prim->rx_lev = RXLEV_23_124;
1247 prim->inactive_carrier_list.list[0].channels = LIST_1_euro;
1248 prim->inactive_carrier_list.list[1].channels = LIST_130_250_155_amr;
1249 return prim;
1250 }
1251
1252
1253 T_PRIMITIVE_UNION mph_power_cnf_black()
1254 {
1255 T_MPH_POWER_CNF prim;
1256 prim->num_of_chan = CHANNELS_6;
1257 prim->num_of_white_list_chan = CHANNELS_0;
1258 prim->arfcn._show;
1259 prim->rx_lev._show;
1260 prim->inactive_carrier_list.list[0].channels._show;
1261 prim->inactive_carrier_list.list[1].channels._show;
1262 return prim;
1263 }
1264
1265
1266 T_PRIMITIVE_UNION mph_power_cnf_4()
1267 {
1268 const U16 ARFCN_637_580_885_512_WITH_STD_elements[CHANNELS_4] = {
1269 ARFCN_637_STD_1800,
1270 ARFCN_580_STD_1800,
1271 ARFCN_885_STD_1800,
1272 ARFCN_512_STD_1800
1273 };
1274 T_ARRAY<U16> ARFCN_637_580_885_512_WITH_STD(ARFCN_637_580_885_512_WITH_STD_elements, SKIP_TO_END);
1275 const U8 RXLEV_637_580_885_512_elements[CHANNELS_4] = {
1276 56, 44, 25, 21
1277 };
1278 T_ARRAY<U8> RXLEV_637_580_885_512(RXLEV_637_580_885_512_elements, SKIP_TO_END);
1279
1280 T_MPH_POWER_CNF prim;
1281 prim->num_of_chan = CHANNELS_4;
1282 prim->num_of_white_list_chan = CHANNELS_0;
1283 prim->arfcn = ARFCN_637_580_885_512_WITH_STD;
1284 prim->rx_lev = RXLEV_637_580_885_512;
1285 return prim;
1286 }
1287 T_PRIMITIVE_UNION mph_power_cnf_5()
1288 {
1289 const U16 ARFCN_DUAL_WITH_STD_elements[CHANNELS_8] = {
1290 ARFCN_23_STD_DUAL,
1291 ARFCN_637_STD_DUAL,
1292 ARFCN_14_STD_DUAL,
1293 ARFCN_580_STD_DUAL,
1294 ARFCN_124_STD_DUAL,
1295 ARFCN_885_STD_DUAL,
1296 ARFCN_1_STD_DUAL,
1297 ARFCN_512_STD_DUAL
1298 };
1299 T_ARRAY<U16> ARFCN_DUAL_WITH_STD(ARFCN_DUAL_WITH_STD_elements, SKIP_TO_END);
1300
1301 const U8 RXLEV_DUAL_elements[CHANNELS_8] = {
1302 56, 55, 44, 43, 25, 23, 21, 11
1303 };
1304 T_ARRAY<U8> RXLEV_DUAL(RXLEV_DUAL_elements, SKIP_TO_END);
1305
1306 T_MPH_POWER_CNF prim;
1307 prim->num_of_chan = CHANNELS_8;
1308 prim->num_of_white_list_chan = CHANNELS_0;
1309 prim->arfcn = ARFCN_DUAL_WITH_STD;
1310 prim->rx_lev = RXLEV_DUAL;
1311 return prim;
1312 }
1313
1314 T_PRIMITIVE_UNION mph_bsic_req(U16 arfcn)
1315 {
1316 T_MPH_BSIC_REQ prim;
1317 prim->arfcn = arfcn;
1318 return prim;
1319 }
1320
1321 T_PRIMITIVE_UNION mphc_network_sync_req(U16 arfcn, U8 mode)
1322 {
1323 T_MPHC_NETWORK_SYNC_REQ prim;
1324 prim->radio_freq = arfcn;
1325 prim->timing_validity = TV_INVALID_TIMING_INFO;
1326 prim->fn_offset ._skip;
1327 prim->time_alignment ._skip;
1328 prim->search_mode = mode;
1329 return prim;
1330 }
1331
1332 T_PRIMITIVE_UNION mphc_network_sync_ind_1()
1333 {
1334 T_MPHC_NETWORK_SYNC_IND prim;
1335 prim->radio_freq = ARFCN_23;
1336 prim->sb_flag = SB_FOUND;
1337 prim->fn_offset = FN_OFFSET_0;
1338 prim->time_alignment = TIME_ALIGNMT_0;
1339 prim->bsic = BSIC_1;
1340 return prim;
1341 }
1342
1343 T_PRIMITIVE_UNION mphc_network_sync_ind_32()
1344 {
1345 T_MPHC_NETWORK_SYNC_IND prim;
1346 prim->radio_freq = ARFCN_32;
1347 prim->sb_flag = SB_FOUND;
1348 prim->fn_offset = FN_OFFSET_32;
1349 prim->time_alignment = TIME_ALIGNMT_32;
1350 prim->bsic = BSIC_3;
1351 return prim;
1352 }
1353 T_PRIMITIVE_UNION mphc_network_sync_ind_failed(U16 arfcn)
1354 {
1355 T_MPHC_NETWORK_SYNC_IND prim;
1356 prim->radio_freq = arfcn;
1357 prim->sb_flag = NO_SB_FOUND;
1358 prim->fn_offset = INVALID_PATTERN;
1359 prim->time_alignment = INVALID_PATTERN;
1360 prim->bsic = INVALID_PATTERN;
1361 return prim;
1362 }
1363
1364 T_PRIMITIVE_UNION mphc_network_sync_ind_6()
1365 {
1366 T_MPHC_NETWORK_SYNC_IND prim;
1367 prim->radio_freq = ARFCN_14;
1368 prim->sb_flag = SB_FOUND;
1369 prim->fn_offset = FN_OFFSET_0;
1370 prim->time_alignment = TIME_ALIGNMT_0;
1371 prim->bsic = BSIC_0;
1372 return prim;
1373 }
1374 T_PRIMITIVE_UNION mphc_network_sync_ind_7()
1375 {
1376 T_MPHC_NETWORK_SYNC_IND prim;
1377 prim->radio_freq = ARFCN_124;
1378 prim->sb_flag = SB_FOUND;
1379 prim->fn_offset = FN_OFFSET_0;
1380 prim->time_alignment = TIME_ALIGNMT_0;
1381 prim->bsic = BSIC_0;
1382 return prim;
1383 }
1384 T_PRIMITIVE_UNION mphc_network_sync_ind_8()
1385 {
1386 T_MPHC_NETWORK_SYNC_IND prim;
1387 prim->radio_freq = ARFCN_1;
1388 prim->sb_flag = SB_FOUND;
1389 prim->fn_offset = FN_OFFSET_0;
1390 prim->time_alignment = TIME_ALIGNMT_0;
1391 prim->bsic = BSIC_0;
1392 return prim;
1393 }
1394 T_PRIMITIVE_UNION mphc_network_sync_ind_9()
1395 {
1396 T_MPHC_NETWORK_SYNC_IND prim;
1397 prim->radio_freq = ARFCN_637;
1398 prim->sb_flag = SB_FOUND;
1399 prim->fn_offset = FN_OFFSET_0;
1400 prim->time_alignment = TIME_ALIGNMT_0;
1401 prim->bsic = BSIC_1;
1402 return prim;
1403 }
1404 T_PRIMITIVE_UNION mphc_network_sync_ind_14()
1405 {
1406 T_MPHC_NETWORK_SYNC_IND prim;
1407 prim->radio_freq = ARFCN_580;
1408 prim->sb_flag = SB_FOUND;
1409 prim->fn_offset = FN_OFFSET_0;
1410 prim->time_alignment = TIME_ALIGNMT_0;
1411 prim->bsic = BSIC_0;
1412 return prim;
1413 }
1414 T_PRIMITIVE_UNION mphc_network_sync_ind_15()
1415 {
1416 T_MPHC_NETWORK_SYNC_IND prim;
1417 prim->radio_freq = ARFCN_885;
1418 prim->sb_flag = SB_FOUND;
1419 prim->fn_offset = FN_OFFSET_0;
1420 prim->time_alignment = TIME_ALIGNMT_0;
1421 prim->bsic = BSIC_0;
1422 return prim;
1423 }
1424 T_PRIMITIVE_UNION mphc_network_sync_ind_16()
1425 {
1426 T_MPHC_NETWORK_SYNC_IND prim;
1427 prim->radio_freq = ARFCN_512;
1428 prim->sb_flag = SB_FOUND;
1429 prim->fn_offset = FN_OFFSET_0;
1430 prim->time_alignment = TIME_ALIGNMT_0;
1431 prim->bsic = BSIC_0;
1432 return prim;
1433 }
1434 T_PRIMITIVE_UNION mphc_network_sync_ind_17()
1435 {
1436 T_MPHC_NETWORK_SYNC_IND prim;
1437 prim->radio_freq = ARFCN_637;
1438 prim->sb_flag = SB_FOUND;
1439 prim->fn_offset = FN_OFFSET_0;
1440 prim->time_alignment = TIME_ALIGNMT_0;
1441 prim->bsic = BSIC_0;
1442 return prim;
1443 }
1444
1445
1446 T_PRIMITIVE_UNION mph_bsic_cnf_failed(U16 arfcn)
1447 {
1448 T_MPH_BSIC_CNF prim;
1449 prim->arfcn = arfcn; //ARFCN_23_STD_900;
1450 prim->bsic ._show; // the value is not defined, but it should not be INVALID_PATTERN
1451 // but i don't know how to test this.
1452 prim->cs = CS_NO_BCCH_AVAIL;
1453 return prim;
1454 }
1455 T_PRIMITIVE_UNION mph_bsic_cnf_cell32()
1456 {
1457 T_MPH_BSIC_CNF prim;
1458 prim->arfcn = ARFCN_32;
1459 prim->cs = CS_NO_ERROR;
1460 prim->bsic = BSIC_3;
1461 return prim;
1462 }
1463
1464 T_PRIMITIVE_UNION mph_bsic_cnf_1()
1465 {
1466 T_MPH_BSIC_CNF prim;
1467 prim->arfcn = ARFCN_23_STD_900;
1468 prim->bsic = BSIC_1;
1469 prim->cs = CS_NO_ERROR;
1470 return prim;
1471 }
1472 T_PRIMITIVE_UNION mph_bsic_cnf_6()
1473 {
1474 T_MPH_BSIC_CNF prim;
1475 prim->arfcn = ARFCN_14_STD_900;
1476 prim->bsic = BSIC_0;
1477 prim->cs = CS_NO_ERROR;
1478 return prim;
1479 }
1480 T_PRIMITIVE_UNION mph_bsic_cnf_7()
1481 {
1482 T_MPH_BSIC_CNF prim;
1483 prim->arfcn = ARFCN_124_STD_900;
1484 prim->bsic = BSIC_0;
1485 prim->cs = CS_NO_ERROR;
1486 return prim;
1487 }
1488 T_PRIMITIVE_UNION mph_bsic_cnf_8()
1489 {
1490 T_MPH_BSIC_CNF prim;
1491 prim->arfcn = ARFCN_1_STD_900;
1492 prim->bsic = BSIC_0;
1493 prim->cs = CS_NO_ERROR;
1494 return prim;
1495 }
1496 T_PRIMITIVE_UNION mph_bsic_cnf_9()
1497 {
1498 T_MPH_BSIC_CNF prim;
1499 prim->arfcn._skip;
1500 prim->bsic._skip;
1501 prim->cs = CS_NO_BCCH_AVAIL;
1502 return prim;
1503 }
1504 T_PRIMITIVE_UNION mph_bsic_cnf_10()
1505 {
1506 T_MPH_BSIC_CNF prim;
1507 prim->arfcn = CONST_1023;
1508 prim->bsic = CONST_12;
1509 prim->cs = CS_NO_ERROR;
1510 return prim;
1511 }
1512 T_PRIMITIVE_UNION mph_bsic_cnf_14()
1513 {
1514 T_MPH_BSIC_CNF prim;
1515 prim->arfcn = ARFCN_14;
1516 prim->bsic = BSIC_1;
1517 prim->cs = CS_NO_ERROR;
1518 return prim;
1519 }
1520 T_PRIMITIVE_UNION mph_bsic_cnf_15()
1521 {
1522 T_MPH_BSIC_CNF prim;
1523 prim->arfcn = ARFCN_124;
1524 prim->bsic = BSIC_1;
1525 prim->cs = CS_NO_ERROR;
1526 return prim;
1527 }
1528 T_PRIMITIVE_UNION mph_bsic_cnf_16()
1529 {
1530 T_MPH_BSIC_CNF prim;
1531 prim->arfcn = ARFCN_1;
1532 prim->bsic = BSIC_1;
1533 prim->cs = CS_NO_ERROR;
1534 return prim;
1535 }
1536 T_PRIMITIVE_UNION mph_bsic_cnf_17()
1537 {
1538 T_MPH_BSIC_CNF prim;
1539 prim->arfcn = ARFCN_637_STD_1800;
1540 prim->bsic = BSIC_1;
1541 prim->cs = CS_NO_ERROR;
1542 return prim;
1543 }
1544 T_PRIMITIVE_UNION mph_bsic_cnf_22()
1545 {
1546 T_MPH_BSIC_CNF prim;
1547 prim->arfcn = ARFCN_580_STD_1800;
1548 prim->bsic = BSIC_0;
1549 prim->cs = CS_NO_ERROR;
1550 return prim;
1551 }
1552 T_PRIMITIVE_UNION mph_bsic_cnf_23()
1553 {
1554 T_MPH_BSIC_CNF prim;
1555 prim->arfcn = ARFCN_885_STD_1800;
1556 prim->bsic = BSIC_0;
1557 prim->cs = CS_NO_ERROR;
1558 return prim;
1559 }
1560 T_PRIMITIVE_UNION mph_bsic_cnf_24()
1561 {
1562 T_MPH_BSIC_CNF prim;
1563 prim->arfcn = ARFCN_512_STD_1800;
1564 prim->bsic = BSIC_0;
1565 prim->cs = CS_NO_ERROR;
1566 return prim;
1567 }
1568 T_PRIMITIVE_UNION mph_bsic_cnf_25()
1569 {
1570 T_MPH_BSIC_CNF prim;
1571 prim->arfcn = ARFCN_23_STD_DUAL;
1572 prim->bsic = BSIC_1;
1573 prim->cs = CS_NO_ERROR;
1574 return prim;
1575 }
1576 T_PRIMITIVE_UNION mph_bsic_cnf_33()
1577 {
1578 T_MPH_BSIC_CNF prim;
1579 prim->arfcn = ARFCN_637_STD_DUAL;
1580 prim->bsic = BSIC_0;
1581 prim->cs = CS_NO_ERROR;
1582 return prim;
1583 }
1584 T_PRIMITIVE_UNION mph_bsic_cnf_34()
1585 {
1586 T_MPH_BSIC_CNF prim;
1587 prim->arfcn = ARFCN_14_STD_DUAL;
1588 prim->bsic = BSIC_0;
1589 prim->cs = CS_NO_ERROR;
1590 return prim;
1591 }
1592 T_PRIMITIVE_UNION mph_bsic_cnf_35()
1593 {
1594 T_MPH_BSIC_CNF prim;
1595 prim->arfcn = ARFCN_580_STD_DUAL;
1596 prim->bsic = BSIC_0;
1597 prim->cs = CS_NO_ERROR;
1598 return prim;
1599 }
1600
1601 T_PRIMITIVE_UNION mphc_new_scell_req_1()
1602 {
1603 T_MPHC_NEW_SCELL_REQ prim;
1604 prim->radio_freq = ARFCN_23;
1605 prim->fn_offset = FN_OFFSET_0;
1606 prim->time_alignment = TIME_ALIGNMT_0;
1607 prim->tsc = BSIC_1;
1608 return prim;
1609 }
1610 T_PRIMITIVE_UNION mphc_new_scell_req_2()
1611 {
1612 T_MPHC_NEW_SCELL_REQ prim;
1613 prim->radio_freq = ARFCN_14;
1614 prim->fn_offset = FN_OFFSET_0;
1615 prim->time_alignment = TIME_ALIGNMT_0;
1616 prim->tsc = BSIC_0;
1617 return prim;
1618 }
1619 T_PRIMITIVE_UNION mphc_new_scell_req_3()
1620 {
1621 T_MPHC_NEW_SCELL_REQ prim;
1622 prim->radio_freq = ARFCN_124;
1623 prim->fn_offset = FN_OFFSET_0;
1624 prim->time_alignment = TIME_ALIGNMT_0;
1625 prim->tsc = BSIC_0;
1626 return prim;
1627 }
1628 T_PRIMITIVE_UNION mphc_new_scell_req_4()
1629 {
1630 T_MPHC_NEW_SCELL_REQ prim;
1631 prim->radio_freq = ARFCN_1;
1632 prim->fn_offset = FN_OFFSET_0;
1633 prim->time_alignment = TIME_ALIGNMT_0;
1634 prim->tsc = BSIC_0;
1635 return prim;
1636 }
1637 T_PRIMITIVE_UNION mphc_new_scell_req_5()
1638 {
1639 T_MPHC_NEW_SCELL_REQ prim;
1640 prim->radio_freq = ARFCN_637;
1641 prim->fn_offset = FN_OFFSET_0;
1642 prim->time_alignment = TIME_ALIGNMT_0;
1643 prim->tsc = BSIC_1;
1644 return prim;
1645 }
1646 T_PRIMITIVE_UNION mphc_new_scell_req_6()
1647 {
1648 T_MPHC_NEW_SCELL_REQ prim;
1649 prim->radio_freq = ARFCN_580;
1650 prim->fn_offset = FN_OFFSET_0;
1651 prim->time_alignment = TIME_ALIGNMT_0;
1652 prim->tsc = BSIC_0;
1653 return prim;
1654 }
1655 T_PRIMITIVE_UNION mphc_new_scell_req_7()
1656 {
1657 T_MPHC_NEW_SCELL_REQ prim;
1658 prim->radio_freq = ARFCN_885;
1659 prim->fn_offset = FN_OFFSET_0;
1660 prim->time_alignment = TIME_ALIGNMT_0;
1661 prim->tsc = BSIC_0;
1662 return prim;
1663 }
1664 T_PRIMITIVE_UNION mphc_new_scell_req_8()
1665 {
1666 T_MPHC_NEW_SCELL_REQ prim;
1667 prim->radio_freq = ARFCN_512;
1668 prim->fn_offset = FN_OFFSET_0;
1669 prim->time_alignment = TIME_ALIGNMT_0;
1670 prim->tsc = BSIC_0;
1671 return prim;
1672 }
1673 T_PRIMITIVE_UNION mphc_new_scell_req_9()
1674 {
1675 T_MPHC_NEW_SCELL_REQ prim;
1676 prim->radio_freq = ARFCN_637;
1677 prim->fn_offset = FN_OFFSET_0;
1678 prim->time_alignment = TIME_ALIGNMT_0;
1679 prim->tsc = BSIC_0;
1680 return prim;
1681 }
1682 T_PRIMITIVE_UNION mphc_new_scell_req_10()
1683 {
1684 T_MPHC_NEW_SCELL_REQ prim;
1685 prim->radio_freq = ARFCN_14;
1686 prim->fn_offset = FN_OFF_ARFCN_14;
1687 prim->time_alignment = TIME_ALIGNMT_14;
1688 prim->tsc = BSIC_1;
1689 return prim;
1690 }
1691 T_PRIMITIVE_UNION mphc_new_scell_req_12()
1692 {
1693 T_MPHC_NEW_SCELL_REQ prim;
1694 prim->radio_freq = ARFCN_1;
1695 prim->fn_offset = FN_OFFSET_224;
1696 prim->time_alignment = TIME_ALIGNMT_14;
1697 prim->tsc = BSIC_2;
1698 return prim;
1699 }
1700 T_PRIMITIVE_UNION mphc_new_scell_req_13()
1701 {
1702 T_MPHC_NEW_SCELL_REQ prim;
1703 prim->radio_freq = ARFCN_14;
1704 prim->fn_offset = FN_OFFSET_224;
1705 prim->time_alignment = TIME_ALIGNMT_14;
1706 prim->tsc = BSIC_1;
1707 return prim;
1708 }
1709
1710 T_PRIMITIVE_UNION mphc_new_scell_req_cell32()
1711 {
1712 T_MPHC_NEW_SCELL_REQ prim;
1713 prim->radio_freq = ARFCN_32;
1714 prim->fn_offset = FN_OFFSET_32;
1715 prim->time_alignment = TIME_ALIGNMT_32;
1716 prim->tsc = BSIC_3;
1717 return prim;
1718 }
1719
1720
1721 T_PRIMITIVE_UNION mphc_new_scell_con_1()
1722 {
1723 T_MPHC_NEW_SCELL_CON prim;
1724 prim->param._skip;
1725 return prim;
1726 }
1727
1728 /* BCCH */
1729
1730 T_PRIMITIVE_UNION mphc_data_ind_1()
1731 {
1732 T_MPHC_DATA_IND prim;
1733 prim->radio_freq = ARFCN_23;
1734 prim->l2_channel = L2_CHANNEL_NBCCH;
1735 prim->error_flag = VALID_BLOCK;
1736 prim->l2_frame = l2_sys_info_1();
1737 prim->tc = TC_0;
1738 prim->ccch_lev._skip;
1739 prim->fn = FN_OFFSET_0;
1740 return prim;
1741 }
1742 T_PRIMITIVE_UNION mphc_data_ind_2()
1743 {
1744 T_MPHC_DATA_IND prim;
1745 prim->radio_freq = ARFCN_23;
1746 prim->l2_channel = L2_CHANNEL_NBCCH;
1747 prim->error_flag = VALID_BLOCK;
1748 prim->l2_frame = l2_sys_info_2();
1749 prim->tc = TC_1;
1750 prim->ccch_lev._skip;
1751 prim->fn = FN_OFFSET_0;
1752 return prim;
1753 }
1754
1755 T_PRIMITIVE_UNION mphc_data_ind_3()
1756 {
1757 T_MPHC_DATA_IND prim;
1758 prim->radio_freq = ARFCN_23;
1759 prim->l2_channel = L2_CHANNEL_NBCCH;
1760 prim->error_flag = VALID_BLOCK;
1761 prim->l2_frame = l2_sys_info_3();
1762 prim->tc = TC_2;
1763 prim->ccch_lev._skip;
1764 prim->fn = FN_OFFSET_0;
1765 return prim;
1766 }
1767 T_PRIMITIVE_UNION mphc_data_ind_4()
1768 {
1769 T_MPHC_DATA_IND prim;
1770 prim->radio_freq = ARFCN_23;
1771 prim->l2_channel = L2_CHANNEL_NBCCH;
1772 prim->error_flag = VALID_BLOCK;
1773 prim->l2_frame = l2_sys_info_4();
1774 prim->tc = TC_3;
1775 prim->ccch_lev._skip;
1776 prim->fn = FN_OFFSET_0;
1777 return prim;
1778 }
1779 T_PRIMITIVE_UNION mphc_data_ind_5()
1780 {
1781 T_MPHC_DATA_IND prim;
1782 prim->radio_freq = ARFCN_23;
1783 prim->l2_channel = L2_CHANNEL_NBCCH;
1784 prim->error_flag = INVALID_BLOCK;
1785 prim->l2_frame = l2_no_content();
1786 prim->tc = TC_3;
1787 prim->ccch_lev._skip;
1788 prim->fn = FN_OFFSET_0;
1789 return prim;
1790 }
1791 T_PRIMITIVE_UNION mphc_data_ind_6()
1792 {
1793 T_MPHC_DATA_IND prim;
1794 prim->radio_freq = ARFCN_124;
1795 prim->l2_channel = L2_CHANNEL_NBCCH;
1796 prim->error_flag = VALID_BLOCK;
1797 prim->l2_frame = l2_sys_info_1();
1798 prim->tc = TC_0;
1799 prim->ccch_lev._skip;
1800 prim->fn = FN_OFFSET_0;
1801 return prim;
1802 }
1803 T_PRIMITIVE_UNION mphc_data_ind_7()
1804 {
1805 T_MPHC_DATA_IND prim;
1806 prim->radio_freq = ARFCN_1;
1807 prim->l2_channel = L2_CHANNEL_NBCCH;
1808 prim->error_flag = VALID_BLOCK;
1809 prim->l2_frame = l2_sys_info_1();
1810 prim->tc = TC_0;
1811 prim->ccch_lev._skip;
1812 prim->fn = FN_OFFSET_0;
1813 return prim;
1814 }
1815 T_PRIMITIVE_UNION mphc_data_ind_14()
1816 {
1817 T_MPHC_DATA_IND prim;
1818 prim->radio_freq = ARFCN_23;
1819 prim->l2_channel = L2_CHANNEL_NBCCH;
1820 prim->error_flag = INVALID_BLOCK;
1821 prim->l2_frame = l2_no_content();
1822 prim->tc = TC_2;
1823 prim->ccch_lev._skip;
1824 prim->fn = FN_OFFSET_0;
1825 return prim;
1826 }
1827 T_PRIMITIVE_UNION mphc_data_ind_15()
1828 {
1829 T_MPHC_DATA_IND prim;
1830 prim->radio_freq = ARFCN_23;
1831 prim->l2_channel = L2_CHANNEL_NBCCH;
1832 prim->error_flag = VALID_BLOCK;
1833 prim->l2_frame = l2_sys_info_3();
1834 prim->tc = TC_4;
1835 prim->ccch_lev._skip;
1836 prim->fn = FN_OFFSET_0;
1837 return prim;
1838 }
1839 T_PRIMITIVE_UNION mphc_data_ind_16()
1840 {
1841 T_MPHC_DATA_IND prim;
1842 prim->radio_freq = ARFCN_23;
1843 prim->l2_channel = L2_CHANNEL_NBCCH;
1844 prim->error_flag = INVALID_BLOCK;
1845 prim->l2_frame = l2_no_content();
1846 prim->tc = TC_5;
1847 prim->ccch_lev._skip;
1848 prim->fn = FN_OFFSET_0;
1849 return prim;
1850 }
1851
1852 T_PRIMITIVE_UNION mphc_data_ind_17()
1853 {
1854 T_MPHC_DATA_IND prim;
1855 prim->radio_freq = ARFCN_23;
1856 prim->l2_channel = L2_CHANNEL_NBCCH;
1857 prim->error_flag = INVALID_BLOCK;
1858 prim->l2_frame = l2_no_content();
1859 prim->tc = TC_6;
1860 prim->ccch_lev._skip;
1861 prim->fn = FN_OFFSET_0;
1862 return prim;
1863 }
1864 T_PRIMITIVE_UNION mphc_data_ind_18()
1865 {
1866 T_MPHC_DATA_IND prim;
1867 prim->radio_freq = ARFCN_23;
1868 prim->l2_channel = L2_CHANNEL_NBCCH;
1869 prim->error_flag = INVALID_BLOCK;
1870 prim->l2_frame = l2_no_content();
1871 prim->tc = TC_7;
1872 prim->ccch_lev._skip;
1873 prim->fn = FN_OFFSET_0;
1874 return prim;
1875 }
1876 T_PRIMITIVE_UNION mphc_data_ind_35()
1877 {
1878 const U8 L2_SYS_INFO_1_NEW_ARRAY[23] = {
1879 0x59,
1880 0x06,
1881 0x19,
1882 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
1883 0x00, 0x18, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00,
1884 0x00, 0x00, 0x40,
1885 0x2B
1886 };
1887
1888 T_MPHC_DATA_IND prim;
1889 prim->radio_freq = ARFCN_23;
1890 prim->l2_channel = L2_CHANNEL_NBCCH;
1891 prim->error_flag = VALID_BLOCK;
1892 prim->l2_frame.content = L2_SYS_INFO_1_NEW_ARRAY;
1893 prim->tc = TC_0;
1894 prim->ccch_lev._skip;
1895 prim->fn = FN_OFFSET_0;
1896 return prim;
1897 }
1898 T_PRIMITIVE_UNION mphc_data_ind_42()
1899 {
1900 T_MPHC_DATA_IND prim;
1901 prim->radio_freq = ARFCN_637;
1902 prim->l2_channel = L2_CHANNEL_NBCCH;
1903 prim->error_flag = VALID_BLOCK;
1904 prim->l2_frame = l2_sys_info_1();
1905 prim->tc = TC_0;
1906 prim->ccch_lev._skip;
1907 prim->fn = FN_OFFSET_0;
1908 return prim;
1909 }
1910 T_PRIMITIVE_UNION mphc_data_ind_43()
1911 {
1912 T_MPHC_DATA_IND prim;
1913 prim->radio_freq = ARFCN_637;
1914 prim->l2_channel = L2_CHANNEL_NBCCH;
1915 prim->error_flag = VALID_BLOCK;
1916 prim->l2_frame = l2_sys_info_2();
1917 prim->tc = TC_1;
1918 prim->ccch_lev._skip;
1919 prim->fn = FN_OFFSET_0;
1920 return prim;
1921 }
1922 T_PRIMITIVE_UNION mphc_data_ind_44()
1923 {
1924 T_MPHC_DATA_IND prim;
1925 prim->radio_freq = ARFCN_637;
1926 prim->l2_channel = L2_CHANNEL_NBCCH;
1927 prim->error_flag = VALID_BLOCK;
1928 prim->l2_frame = l2_sys_info_3();
1929 prim->tc = TC_2;
1930 prim->ccch_lev._skip;
1931 prim->fn = FN_OFFSET_0;
1932 return prim;
1933 }
1934 T_PRIMITIVE_UNION mphc_data_ind_45()
1935 {
1936 T_MPHC_DATA_IND prim;
1937 prim->radio_freq = ARFCN_637;
1938 prim->l2_channel = L2_CHANNEL_NBCCH;
1939 prim->error_flag = VALID_BLOCK;
1940 prim->l2_frame = l2_sys_info_4();
1941 prim->tc = TC_3;
1942 prim->ccch_lev._skip;
1943 prim->fn = FN_OFFSET_0;
1944 return prim;
1945 }
1946 T_PRIMITIVE_UNION mphc_data_ind_46()
1947 {
1948 T_MPHC_DATA_IND prim;
1949 prim->radio_freq = ARFCN_637;
1950 prim->l2_channel = L2_CHANNEL_NBCCH;
1951 prim->error_flag = INVALID_BLOCK;
1952 prim->l2_frame = l2_no_content();
1953 prim->tc = TC_3;
1954 prim->ccch_lev._skip;
1955 prim->fn = FN_OFFSET_0;
1956 return prim;
1957 }
1958 T_PRIMITIVE_UNION mphc_data_ind_47()
1959 {
1960 T_MPHC_DATA_IND prim;
1961 prim->radio_freq = ARFCN_885;
1962 prim->l2_channel = L2_CHANNEL_NBCCH;
1963 prim->error_flag = VALID_BLOCK;
1964 prim->l2_frame = l2_sys_info_1();
1965 prim->tc = TC_0;
1966 prim->ccch_lev._skip;
1967 prim->fn = FN_OFFSET_0;
1968 return prim;
1969 }
1970 T_PRIMITIVE_UNION mphc_data_ind_48()
1971 {
1972 T_MPHC_DATA_IND prim;
1973 prim->radio_freq = ARFCN_512;
1974 prim->l2_channel = L2_CHANNEL_NBCCH;
1975 prim->error_flag = VALID_BLOCK;
1976 prim->l2_frame = l2_sys_info_1();
1977 prim->tc = TC_0;
1978 prim->ccch_lev._skip;
1979 prim->fn = FN_OFFSET_0;
1980 return prim;
1981 }
1982 T_PRIMITIVE_UNION mphc_data_ind_49()
1983 {
1984 T_MPHC_DATA_IND prim;
1985 prim->radio_freq = ARFCN_14;
1986 prim->l2_channel = L2_CHANNEL_NBCCH;
1987 prim->error_flag = VALID_BLOCK;
1988 prim->l2_frame = l2_sys_info_1();
1989 prim->tc = TC_0;
1990 prim->ccch_lev._skip;
1991 prim->fn = FN_OFFSET_0;
1992 return prim;
1993 }
1994
1995 T_PRIMITIVE_UNION mphc_data_ind_50()
1996 {
1997 T_MPHC_DATA_IND prim;
1998 prim->radio_freq = ARFCN_580;
1999 prim->l2_channel = L2_CHANNEL_NBCCH;
2000 prim->error_flag = VALID_BLOCK;
2001 prim->l2_frame = l2_sys_info_1();
2002 prim->tc = TC_0;
2003 prim->ccch_lev._skip;
2004 prim->fn = FN_OFFSET_0;
2005 return prim;
2006 }
2007 T_PRIMITIVE_UNION mphc_data_ind_63()
2008 {
2009 T_MPHC_DATA_IND prim;
2010 prim->radio_freq = ARFCN_14;
2011 prim->l2_channel = L2_CHANNEL_NBCCH;
2012 prim->error_flag = VALID_BLOCK;
2013 prim->l2_frame = l2_sys_info_3();
2014 prim->tc = TC_1;
2015 prim->ccch_lev._skip;
2016 prim->fn = FN_OFF_ARFCN_14;
2017 return prim;
2018 }
2019 T_PRIMITIVE_UNION mphc_data_ind_64()
2020 {
2021 T_MPHC_DATA_IND prim;
2022 prim->radio_freq = ARFCN_14;
2023 prim->l2_channel = L2_CHANNEL_NBCCH;
2024 prim->error_flag = VALID_BLOCK;
2025 prim->l2_frame = l2_sys_info_1();
2026 prim->tc = TC_1;
2027 prim->ccch_lev._skip;
2028 prim->fn = FN_OFF_ARFCN_14;
2029 return prim;
2030 }
2031 T_PRIMITIVE_UNION mphc_data_ind_65()
2032 {
2033 T_MPHC_DATA_IND prim;
2034 prim->radio_freq = ARFCN_14;
2035 prim->l2_channel = L2_CHANNEL_NBCCH;
2036 prim->error_flag = VALID_BLOCK;
2037 prim->l2_frame = l2_sys_info_2();
2038 prim->tc = TC_1;
2039 prim->ccch_lev._skip;
2040 prim->fn = FN_OFF_ARFCN_14;
2041 return prim;
2042 }
2043
2044 /* PCH, CCCH */
2045
2046
2047 T_PRIMITIVE_UNION mphc_data_ind_8(CHAR variant)
2048 {
2049 T_MPHC_DATA_IND prim;
2050 prim->radio_freq = ARFCN_23;
2051 prim->l2_channel = L2_CHANNEL_PCH;
2052 prim->error_flag = VALID_BLOCK;
2053 if (variant == 'A') prim->l2_frame = l2_paging_req_1_ext();
2054 if (variant == 'B') prim->l2_frame = l2_paging_req_1_reo();
2055 if (variant == 'C') prim->l2_frame = l2_paging_req_1_sab();
2056 prim->tc = TC_0;
2057 prim->ccch_lev._skip;
2058 prim->fn = FN_OFFSET_0;
2059 return prim;
2060 }
2061
2062 T_PRIMITIVE_UNION mphc_data_ind_9()
2063 {
2064 T_MPHC_DATA_IND prim;
2065 prim->radio_freq = ARFCN_23;
2066 prim->l2_channel = L2_CHANNEL_PCH;
2067 prim->error_flag = VALID_BLOCK;
2068 prim->l2_frame = l2_paging_req_1_ext();
2069 prim->tc = TC_0;
2070 prim->ccch_lev._skip;
2071 prim->fn = FN_OFFSET_0;
2072 return prim;
2073 }
2074 T_PRIMITIVE_UNION mphc_data_ind_10()
2075 {
2076 T_MPHC_DATA_IND prim;
2077 prim->radio_freq = ARFCN_23;
2078 prim->l2_channel = L2_CHANNEL_PCH;
2079 prim->error_flag = VALID_BLOCK;
2080 prim->l2_frame = l2_paging_req_1_reo();
2081 prim->tc = TC_0;
2082 prim->ccch_lev._skip;
2083 prim->fn = FN_OFFSET_0;
2084 return prim;
2085 }
2086 T_PRIMITIVE_UNION mphc_data_ind_11()
2087 {
2088 T_MPHC_DATA_IND prim;
2089 prim->radio_freq = ARFCN_23;
2090 prim->l2_channel = L2_CHANNEL_PCH;
2091 prim->error_flag = VALID_BLOCK;
2092 prim->l2_frame = l2_paging_req_1();
2093 prim->tc = TC_0;
2094 prim->ccch_lev._skip;
2095 prim->fn = FN_OFFSET_0;
2096 return prim;
2097 }
2098 T_PRIMITIVE_UNION mphc_data_ind_12(CHAR variant)
2099 {
2100 T_MPHC_DATA_IND prim;
2101 prim->radio_freq = ARFCN_23;
2102 prim->l2_channel = L2_CHANNEL_PCH;
2103 prim->error_flag = VALID_BLOCK;
2104 if (variant == 'A') prim->l2_frame = l2_paging_req_1();
2105 if (variant == 'B') prim->l2_frame = l2_paging_req_1_sab();
2106 prim->tc = TC_0;
2107 prim->ccch_lev._skip;
2108 prim->fn = FN_OFFSET_0;
2109 return prim;
2110 }
2111 T_PRIMITIVE_UNION mphc_data_ind_13(CHAR variant)
2112 {
2113 T_MPHC_DATA_IND prim;
2114 prim->radio_freq = ARFCN_23;
2115 prim->l2_channel = L2_CHANNEL_PCH;
2116 prim->error_flag = VALID_BLOCK;
2117 if (variant == 'A') prim->l2_frame = l2_paging_req_1_ext();
2118 if (variant == 'B') prim->l2_frame = l2_paging_req_1_sab();
2119 prim->tc = TC_0;
2120 prim->ccch_lev._skip;
2121 prim->fn = FN_OFFSET_0;
2122 return prim;
2123 }
2124 T_PRIMITIVE_UNION mphc_data_ind_19()
2125 {
2126 T_MPHC_DATA_IND prim;
2127 prim->radio_freq = ARFCN_23;
2128 prim->l2_channel = L2_CHANNEL_PCH;
2129 prim->error_flag = INVALID_BLOCK;
2130 prim->l2_frame = l2_no_content();
2131 prim->tc = TC_0;
2132 prim->ccch_lev._skip;
2133 prim->fn = FN_OFFSET_0;
2134 return prim;
2135 }
2136
2137 T_PRIMITIVE_UNION mphc_data_ind_20()
2138 {
2139 T_MPHC_DATA_IND prim;
2140 prim->radio_freq = ARFCN_23;
2141 prim->l2_channel = L2_CHANNEL_CCCH;
2142 prim->error_flag = VALID_BLOCK;
2143 prim->l2_frame = l2_imm_ass_hop();
2144 prim->tc = TC_0;
2145 prim->ccch_lev._skip;
2146 prim->fn = FN_OFFSET_0;
2147 return prim;
2148 }
2149 T_PRIMITIVE_UNION mphc_data_ind_21()
2150 {
2151 const U8 L2_IMM_ASS_REJ_ARRAY[13] = {
2152 0x31,
2153 0x06,
2154 0x3F,
2155 0x00,
2156 0x2B, 0x54, 0x94,
2157 0xFB, 0x21, 0x06,
2158 0x1B,
2159 0x01, 0x16
2160 };
2161 T_MPHC_DATA_IND prim;
2162 prim->radio_freq = ARFCN_23;
2163 prim->l2_channel = L2_CHANNEL_CCCH;
2164 prim->error_flag = VALID_BLOCK;
2165 prim->l2_frame.content = L2_IMM_ASS_REJ_ARRAY;
2166 prim->tc = TC_0;
2167 prim->ccch_lev._skip;
2168 prim->fn = FN_OFFSET_0;
2169 return prim;
2170 }
2171 T_PRIMITIVE_UNION mphc_data_ind_22()
2172 {
2173 const U8 L2_IMM_ASS_ARRAY[13] = {
2174 0x31,
2175 0x06,
2176 0x3F,
2177 0x00,
2178 0x2B, 0x54, 0x94,
2179 0xFB, 0x21, 0x06,
2180 0x1B,
2181 0x01, 0x16
2182 };
2183
2184 T_MPHC_DATA_IND prim;
2185 prim->radio_freq = ARFCN_23;
2186 prim->l2_channel = L2_CHANNEL_CCCH;
2187 prim->error_flag = VALID_BLOCK;
2188 prim->l2_frame.content = L2_IMM_ASS_ARRAY;
2189 prim->tc = TC_0;
2190 prim->ccch_lev._skip;
2191 prim->fn = FN_OFFSET_0;
2192 return prim;
2193 }
2194 T_PRIMITIVE_UNION mphc_data_ind_23()
2195 {
2196 const U8 L2_PAG_1_EMPTY_ARRAY[23] = {
2197 0x11,
2198 0x06,
2199 0x21,
2200 0x00,
2201 0x00,
2202 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2203 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2204 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2205 0x2B, 0x2B, 0x2B
2206 };
2207
2208 T_MPHC_DATA_IND prim;
2209 prim->radio_freq = ARFCN_23;
2210 prim->l2_channel = L2_CHANNEL_PCH;
2211 prim->error_flag = VALID_BLOCK;
2212 prim->l2_frame.content = L2_PAG_1_EMPTY_ARRAY;
2213 prim->tc = TC_0;
2214 prim->ccch_lev._skip;
2215 prim->fn = FN_OFFSET_0;
2216 return prim;
2217 }
2218 T_PRIMITIVE_UNION mphc_data_ind_24(CHAR variant)
2219 {
2220 const U8 L2_PAG_1_I1_A_ARRAY[23] = {
2221 0x31,
2222 0x06,
2223 0x21,
2224 0x00,
2225 0x08,
2226 0x09, 0x10, 0x10, 0x83, 0x32,
2227 0x03, 0x95, 0x54, 0x17, 0x08,
2228 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2229 0x2B, 0x2B, 0x2B
2230 };
2231 const U8 L2_PAG_1_I2_A_ARRAY[23] = {
2232 0x59,
2233 0x06,
2234 0x21,
2235 0x00,
2236 0x08,
2237 0x09, 0x10, 0x10, 0x83, 0x23,
2238 0x03, 0x95, 0x54, 0x17, 0x08,
2239 0x09, 0x10, 0x10, 0x83, 0x32,
2240 0x03, 0x95, 0x54
2241 };
2242 const U8 L2_PAG_1_I3_A_ARRAY[23] = {
2243 0x31,
2244 0x06,
2245 0x21,
2246 0x00,
2247 0x08,
2248 0x09, 0x10, 0x10, 0x83, 0x32,
2249 0x03, 0x95, 0x54, 0x17, 0x07,
2250 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2251 0x2B, 0x2B, 0x08
2252 };
2253 const U8 L2_PAG_1_T1_T_ARRAY[23] = {
2254 0x1D,
2255 0x06,
2256 0x21,
2257 0x20,
2258 0x05,
2259 0xF4, 0x05, 0x22, 0x33, 0x66,
2260 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2261 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2262 0x2B, 0x2B, 0x2B
2263 };
2264 const U8 L2_PAG_1_T2_T_ARRAY[23] = {
2265 0x41,
2266 0x06,
2267 0x21,
2268 0x80,
2269 0x05,
2270 0xF4, 0x06, 0x22, 0x33, 0x66,
2271 0x17, 0x05, 0xF4, 0x05, 0x22,
2272 0x33, 0x66, 0x2B, 0x2B, 0x2B,
2273 0x2B, 0x2B, 0x2B
2274 };
2275 const U8 L2_PAG_1_TX_T_ARRAY[23] = {
2276 0x1D,
2277 0x06,
2278 0x21,
2279 0x20,
2280 0x05,
2281 0xF4, 0xFF, 0xEE, 0x33, 0x66,
2282 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2283 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2284 0x2B, 0x2B, 0x2B
2285 };
2286 const U8 L2_PAG_1_I1_S_ARRAY[23] = {
2287 0x31,
2288 0x06,
2289 0x21,
2290 0x10,
2291 0x08,
2292 0x09, 0x10, 0x10, 0x83, 0x32,
2293 0x03, 0x95, 0x54, 0x2B, 0x2B,
2294 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2295 0x2B, 0x2B, 0x2B
2296 };
2297 const U8 L2_PAG_1_I2_S_ARRAY[23] = {
2298 0x59,
2299 0x06,
2300 0x21,
2301 0x40,
2302 0x08,
2303 0x09, 0x10, 0x10, 0x83, 0x23,
2304 0x03, 0x95, 0x54, 0x17, 0x08,
2305 0x09, 0x10, 0x10, 0x83, 0x32,
2306 0x03, 0x95, 0x54
2307 };
2308 const U8 L2_PAG_1_T1_D_ARRAY[23] = {
2309 0x1D,
2310 0x06,
2311 0x21,
2312 0x30,
2313 0x05,
2314 0xF4, 0x05, 0x22, 0x33, 0x66,
2315 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2316 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2317 0x2B, 0x2B, 0x2B
2318 };
2319 const U8 L2_PAG_1_T2_D_ARRAY[23] = {
2320 0x41,
2321 0x06,
2322 0x21,
2323 0xC0,
2324 0x05,
2325 0xF4, 0x06, 0x22, 0x33, 0x66,
2326 0x17, 0x05, 0xF4, 0x05, 0x22,
2327 0x33, 0x66, 0x2B, 0x2B, 0x2B,
2328 0x2B, 0x2B, 0x2B
2329 };
2330
2331 T_MPHC_DATA_IND prim;
2332 prim->radio_freq = ARFCN_23;
2333 prim->l2_channel = L2_CHANNEL_PCH;
2334 prim->error_flag = VALID_BLOCK;
2335 if (variant == 'A') prim->l2_frame.content = L2_PAG_1_I1_A_ARRAY;
2336 if (variant == 'B') prim->l2_frame.content = L2_PAG_1_I2_A_ARRAY;
2337 if (variant == 'C') prim->l2_frame.content = L2_PAG_1_T1_T_ARRAY;
2338 if (variant == 'D') prim->l2_frame.content = L2_PAG_1_T2_T_ARRAY;
2339 if (variant == 'E') prim->l2_frame.content = L2_PAG_1_I1_S_ARRAY;
2340 if (variant == 'F') prim->l2_frame.content = L2_PAG_1_I2_S_ARRAY;
2341 if (variant == 'G') prim->l2_frame.content = L2_PAG_1_T1_D_ARRAY;
2342 if (variant == 'H') prim->l2_frame.content = L2_PAG_1_T2_D_ARRAY;
2343 if (variant == 'I') prim->l2_frame.content = L2_PAG_1_I3_A_ARRAY;
2344 if (variant == 'J') prim->l2_frame.content = L2_PAG_1_TX_T_ARRAY;
2345 prim->tc = TC_0;
2346 prim->ccch_lev._skip;
2347 prim->fn = FN_OFFSET_0;
2348 return prim;
2349 }
2350 T_PRIMITIVE_UNION mphc_data_ind_25(CHAR variant)
2351 {
2352 const U8 L2_PAG_1_WI1_ARRAY[23] = {
2353 0x31,
2354 0x06,
2355 0x21,
2356 0x10,
2357 0x08,
2358 0x09, 0x12, 0x10, 0x83, 0x32,
2359 0x03, 0x95, 0x54, 0x2B, 0x2B,
2360 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2361 0x2B, 0x2B, 0x2B
2362 };
2363 const U8 L2_PAG_1_WI2_ARRAY[23] = {
2364 0x59,
2365 0x06,
2366 0x21,
2367 0x40,
2368 0x08,
2369 0x09, 0x10, 0x10, 0x83, 0x23,
2370 0x03, 0x95, 0x54, 0x17, 0x08,
2371 0x09, 0x12, 0x10, 0x83, 0x32,
2372 0x03, 0x95, 0x54
2373 };
2374 const U8 L2_PAG_1_WT1_ARRAY[23] = {
2375 0x1D,
2376 0x06,
2377 0x21,
2378 0x30,
2379 0x05,
2380 0xF4, 0x06, 0x22, 0x33, 0x66,
2381 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2382 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2383 0x2B, 0x2B, 0x2B
2384 };
2385 const U8 L2_PAG_1_WT2_ARRAY[23] = {
2386 0x41,
2387 0x06,
2388 0x21,
2389 0xC0,
2390 0x05,
2391 0xF4, 0x06, 0x22, 0x33, 0x66,
2392 0x17, 0x05, 0xF4, 0x05, 0x23,
2393 0x33, 0x66, 0x2B, 0x2B, 0x2B,
2394 0x2B, 0x2B, 0x2B
2395 };
2396 const U8 L2_PAG_1_WTYPE_ARRAY[23] = {
2397 0x31,
2398 0x06,
2399 0x21,
2400 0x10,
2401 0x08,
2402 0x0B, 0x12, 0x10, 0x83, 0x32,
2403 0x03, 0x95, 0x54, 0x2B, 0x2B,
2404 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2405 0x2B, 0x2B, 0x2B
2406 };
2407 T_MPHC_DATA_IND prim;
2408 prim->radio_freq = ARFCN_23;
2409 prim->l2_channel = L2_CHANNEL_PCH;
2410 prim->error_flag = VALID_BLOCK;
2411 if (variant == 'A') prim->l2_frame.content = L2_PAG_1_WI1_ARRAY;
2412 if (variant == 'B') prim->l2_frame.content = L2_PAG_1_WT1_ARRAY;
2413 if (variant == 'C') prim->l2_frame.content = L2_PAG_1_WI1_ARRAY;
2414 if (variant == 'D') prim->l2_frame.content = L2_PAG_1_WT2_ARRAY;
2415 if (variant == 'E') prim->l2_frame.content = L2_PAG_1_WTYPE_ARRAY;
2416 prim->tc = TC_0;
2417 prim->ccch_lev._skip;
2418 prim->fn = FN_OFFSET_0;
2419 return prim;
2420 }
2421 T_PRIMITIVE_UNION mphc_data_ind_26(CHAR variant)
2422 {
2423 const U8 L2_PAG_1_ST1_A1_ARRAY[23] = {
2424 0x19,
2425 0x06,
2426 0x21,
2427 0x00,
2428 0x02,
2429 0xF4, 142, 0x2B, 0x2B, 0x2B,
2430 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2431 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2432 0x2B, 0x2B, 0x2B
2433 };
2434 const U8 L2_PAG_1_ST2_T3_ARRAY[23] = {
2435 0x2D,
2436 0x06,
2437 0x21,
2438 0x80,
2439 0x02,
2440 0xF4, 143, 0x17, 0x03, 0xF4,
2441 0x00, 142, 0x2B, 0x2B, 0x2B,
2442 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2443 0x2B, 0x2B, 0x2B
2444 };
2445 const U8 L2_PAG_1_SI1_S_ARRAY[23] = {
2446 0x29,
2447 0x06,
2448 0x21,
2449 0x10,
2450 0x06,
2451 0x01, 0x10, 0x10, 0x83, 0x32,
2452 0xF3, 0x2B, 0x2B, 0x2B, 0x2B,
2453 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2454 0x2B, 0x2B, 0x2B
2455 };
2456 const U8 L2_PAG_1_SI2_D_ARRAY[23] = {
2457 0x39,
2458 0x06,
2459 0x21,
2460 0xC0,
2461 0x02,
2462 0xF4, 143, 0x17, 0x06, 0x01,
2463 0x10, 0x10, 0x83, 0x32, 0xF3,
2464 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2465 0x2B, 0x2B, 0x2B
2466 };
2467 const U8 L2_PAG_1_ST1_A2_ARRAY[23] = {
2468 0x1D,
2469 0x06,
2470 0x21,
2471 0x00,
2472 0x03,
2473 0xF4, 0, 142, 0x2B, 0x2B, 0x2B,
2474 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2475 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2476 0x2B, 0x2B
2477 };
2478 const U8 L2_PAG_1_ST2_T4_ARRAY[23] = {
2479 0x35,
2480 0x06,
2481 0x21,
2482 0x80,
2483 0x02,
2484 0xF4, 143, 0x17, 0x05, 0xF4,
2485 0x00, 0x00, 0x00, 142, 0x2B,
2486 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2487 0x2B, 0x2B, 0x2B
2488 };
2489
2490 T_MPHC_DATA_IND prim;
2491 prim->radio_freq = ARFCN_23;
2492 prim->l2_channel = L2_CHANNEL_PCH;
2493 prim->error_flag = VALID_BLOCK;
2494 if (variant == 'A') prim->l2_frame.content = L2_PAG_1_ST1_A1_ARRAY;
2495 if (variant == 'B') prim->l2_frame.content = L2_PAG_1_ST2_T3_ARRAY;
2496 if (variant == 'C') prim->l2_frame.content = L2_PAG_1_SI1_S_ARRAY;
2497 if (variant == 'D') prim->l2_frame.content = L2_PAG_1_SI2_D_ARRAY;
2498 if (variant == 'E') prim->l2_frame.content = L2_PAG_1_ST1_A2_ARRAY;
2499 if (variant == 'F') prim->l2_frame.content = L2_PAG_1_ST2_T4_ARRAY;
2500 prim->tc = TC_0;
2501 prim->ccch_lev._skip;
2502 prim->fn = FN_OFFSET_0;
2503 return prim;
2504 }
2505 T_PRIMITIVE_UNION mphc_data_ind_27()
2506 {
2507 const U8 L2_PAG_2_EMPTY_ARRAY[23] = {
2508 0x11,
2509 0x06,
2510 0x22,
2511 0x00,
2512 0x00,
2513 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2514 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2515 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2516 0x2B, 0x2B, 0x2B
2517 };
2518 T_MPHC_DATA_IND prim;
2519 prim->radio_freq = ARFCN_23;
2520 prim->l2_channel = L2_CHANNEL_PCH;
2521 prim->error_flag = VALID_BLOCK;
2522 prim->l2_frame.content = L2_PAG_2_EMPTY_ARRAY;
2523 prim->tc = TC_0;
2524 prim->ccch_lev._skip;
2525 prim->fn = FN_OFFSET_0;
2526 return prim;
2527 }
2528
2529 T_PRIMITIVE_UNION mphc_data_ind_28(CHAR variant)
2530 {
2531 const U8 L2_PAG_2_T1_S_ARRAY[23] = {
2532 0x1D,
2533 0x06,
2534 0x22,
2535 0x10,
2536 0x05, 0x22, 0x33, 0x66,
2537 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2538 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2539 0x2B, 0x2B, 0x2B, 0x2B, 0x2B
2540 };
2541 const U8 L2_PAG_2_T1_T_ARRAY[23] = {
2542 0x1D,
2543 0x06,
2544 0x22,
2545 0x20,
2546 0x05, 0x22, 0x33, 0x66,
2547 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2548 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2549 0x2B, 0x2B, 0x2B, 0x2B, 0x2B
2550 };
2551 const U8 L2_PAG_2_T1_D_ARRAY[23] = {
2552 0x1D,
2553 0x06,
2554 0x22,
2555 0x30,
2556 0x05, 0x22, 0x33, 0x66,
2557 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2558 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2559 0x2B, 0x2B, 0x2B, 0x2B, 0x2B
2560 };
2561 const U8 L2_PAG_2_T2_A_ARRAY[23] = {
2562 0x2D,
2563 0x06,
2564 0x22,
2565 0x00,
2566 0x06, 0x22, 0x33, 0x66,
2567 0x05, 0x22, 0x33, 0x66,
2568 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2569 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2570 0x2B
2571 };
2572 const U8 L2_PAG_2_T2_S_ARRAY[23] = {
2573 0x2D,
2574 0x06,
2575 0x22,
2576 0x40,
2577 0x05, 0x23, 0x33, 0x66,
2578 0x05, 0x22, 0x33, 0x66,
2579 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2580 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2581 0x2B
2582 };
2583 const U8 L2_PAG_2_T2_T_ARRAY[23] = {
2584 0x2D,
2585 0x06,
2586 0x22,
2587 0x80,
2588 0x05, 0x22, 0x31, 0x66,
2589 0x05, 0x22, 0x33, 0x66,
2590 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2591 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2592 0x2B
2593 };
2594 const U8 L2_PAG_2_T2_D_ARRAY[23] = {
2595 0x2D,
2596 0x06,
2597 0x22,
2598 0xC0,
2599 0x05, 0x22, 0x33, 0x65,
2600 0x05, 0x22, 0x33, 0x66,
2601 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2602 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2603 0x2B
2604 };
2605
2606 T_MPHC_DATA_IND prim;
2607 prim->radio_freq = ARFCN_23;
2608 prim->l2_channel = L2_CHANNEL_PCH;
2609 prim->error_flag = VALID_BLOCK;
2610 if (variant == 'A') prim->l2_frame.content = L2_PAG_2_T1_A_ARRAY;
2611 if (variant == 'B') prim->l2_frame.content = L2_PAG_2_T1_S_ARRAY;
2612 if (variant == 'C') prim->l2_frame.content = L2_PAG_2_T1_T_ARRAY;
2613 if (variant == 'D') prim->l2_frame.content = L2_PAG_2_T1_D_ARRAY;
2614 if (variant == 'E') prim->l2_frame.content = L2_PAG_2_T2_A_ARRAY;
2615 if (variant == 'F') prim->l2_frame.content = L2_PAG_2_T2_S_ARRAY;
2616 if (variant == 'G') prim->l2_frame.content = L2_PAG_2_T2_T_ARRAY;
2617 if (variant == 'H') prim->l2_frame.content = L2_PAG_2_T2_D_ARRAY;
2618 prim->tc = TC_0;
2619 prim->ccch_lev._skip;
2620 prim->fn = FN_OFFSET_0;
2621 return prim;
2622 }
2623 T_PRIMITIVE_UNION mphc_data_ind_29()
2624 {
2625 const U8 L2_PAG_2_WRONG_ARRAY[23] = {
2626 0x2D,
2627 0x06,
2628 0x22,
2629 0x30,
2630 0x01, 0x22, 0x33, 0x66,
2631 0x04, 0x22, 0x33, 0x65,
2632 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2633 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2634 0x2B
2635 };
2636
2637 T_MPHC_DATA_IND prim;
2638 prim->radio_freq = ARFCN_23;
2639 prim->l2_channel = L2_CHANNEL_PCH;
2640 prim->error_flag = VALID_BLOCK;
2641 prim->l2_frame.content = L2_PAG_2_WRONG_ARRAY;
2642 prim->tc = TC_0;
2643 prim->ccch_lev._skip;
2644 prim->fn = FN_OFFSET_0;
2645 return prim;
2646 }
2647
2648 T_PRIMITIVE_UNION mphc_data_ind_30(CHAR variant)
2649 {
2650 const U8 L2_PAG_2_I3_A_ARRAY[23] = {
2651 0x55,
2652 0x06,
2653 0x22,
2654 0x00,
2655 0x01, 0x22, 0x33, 0x66,
2656 0x04, 0x22, 0x33, 0x65,
2657 0x17, 0x08, 0x09, 0x10, 0x10,
2658 0x83, 0x32, 0x03, 0x95, 0x54,
2659 0x8B
2660 };
2661 const U8 L2_PAG_2_I3_S_ARRAY[23] = {
2662 0x55,
2663 0x06,
2664 0x22,
2665 0x00,
2666 0x01, 0x22, 0x33, 0x66,
2667 0x04, 0x22, 0x33, 0x65,
2668 0x17, 0x08, 0x09, 0x10, 0x10,
2669 0x83, 0x32, 0x03, 0x95, 0x54,
2670 0xAB
2671 };
2672 const U8 L2_PAG_2_I3_T_ARRAY[23] = {
2673 0x55,
2674 0x06,
2675 0x22,
2676 0x00,
2677 0x01, 0x22, 0x33, 0x66,
2678 0x04, 0x22, 0x33, 0x65,
2679 0x17, 0x08, 0x09, 0x10, 0x10,
2680 0x83, 0x32, 0x03, 0x95, 0x54,
2681 0xCB
2682 };
2683 const U8 L2_PAG_2_I3_D_ARRAY[23] = {
2684 0x55,
2685 0x06,
2686 0x22,
2687 0x00,
2688 0x01, 0x22, 0x33, 0x66,
2689 0x04, 0x22, 0x33, 0x65,
2690 0x17, 0x08, 0x09, 0x10, 0x10,
2691 0x83, 0x32, 0x03, 0x95, 0x54,
2692 0xEB
2693 };
2694 const U8 L2_PAG_2_I3_N_ARRAY[23] = {
2695 0x55,
2696 0x06,
2697 0x22,
2698 0x00,
2699 0x01, 0x22, 0x33, 0x66,
2700 0x04, 0x22, 0x33, 0x65,
2701 0x17, 0x08, 0x09, 0x10, 0x10,
2702 0x83, 0x32, 0x03, 0x95, 0x54,
2703 0x2B
2704 };
2705 const U8 L2_PAG_2_T3_A_ARRAY[23] = {
2706 0x49,
2707 0x06,
2708 0x22,
2709 0x00,
2710 0x01, 0x22, 0x33, 0x66,
2711 0x04, 0x22, 0x33, 0x65,
2712 0x17, 0x05, 0xF4, 0x05, 0x22,
2713 0x33, 0x66, 0x8B, 0x2B, 0x2B,
2714 0x2B
2715 };
2716 const U8 L2_PAG_2_T3_S_ARRAY[23] = {
2717 0x49,
2718 0x06,
2719 0x22,
2720 0x00,
2721 0x01, 0x22, 0x33, 0x66,
2722 0x04, 0x22, 0x33, 0x65,
2723 0x17, 0x05, 0xF4, 0x05, 0x22,
2724 0x33, 0x66, 0xAB, 0x2B, 0x2B,
2725 0x2B
2726 };
2727 const U8 L2_PAG_2_T3_T_ARRAY[23] = {
2728 0x49,
2729 0x06,
2730 0x22,
2731 0x00,
2732 0x01, 0x22, 0x33, 0x66,
2733 0x04, 0x22, 0x33, 0x65,
2734 0x17, 0x05, 0xF4, 0x05, 0x22,
2735 0x33, 0x66, 0xCB, 0x2B, 0x2B,
2736 0x2B
2737 };
2738 const U8 L2_PAG_2_T3_D_ARRAY[23] = {
2739 0x49,
2740 0x06,
2741 0x22,
2742 0x00,
2743 0x01, 0x22, 0x33, 0x66,
2744 0x04, 0x22, 0x33, 0x65,
2745 0x17, 0x05, 0xF4, 0x05, 0x22,
2746 0x33, 0x66, 0xEB, 0x2B, 0x2B,
2747 0x2B
2748 };
2749 const U8 L2_PAG_2_T3_N_ARRAY[23] = {
2750 0x49,
2751 0x06,
2752 0x22,
2753 0x00,
2754 0x01, 0x22, 0x33, 0x66,
2755 0x04, 0x22, 0x33, 0x65,
2756 0x17, 0x05, 0xF4, 0x05, 0x22,
2757 0x33, 0x66, 0x2B, 0x2B, 0x2B,
2758 0x2B
2759 };
2760
2761 T_MPHC_DATA_IND prim;
2762 prim->radio_freq = ARFCN_23;
2763 prim->l2_channel = L2_CHANNEL_PCH;
2764 prim->error_flag = VALID_BLOCK;
2765 if (variant == 'A') prim->l2_frame.content = L2_PAG_2_I3_A_ARRAY;
2766 if (variant == 'B') prim->l2_frame.content = L2_PAG_2_I3_S_ARRAY;
2767 if (variant == 'C') prim->l2_frame.content = L2_PAG_2_I3_T_ARRAY;
2768 if (variant == 'D') prim->l2_frame.content = L2_PAG_2_I3_D_ARRAY;
2769 if (variant == 'E') prim->l2_frame.content = L2_PAG_2_I3_N_ARRAY;
2770 if (variant == 'F') prim->l2_frame.content = L2_PAG_2_T3_A_ARRAY;
2771 if (variant == 'G') prim->l2_frame.content = L2_PAG_2_T3_S_ARRAY;
2772 if (variant == 'H') prim->l2_frame.content = L2_PAG_2_T3_T_ARRAY;
2773 if (variant == 'I') prim->l2_frame.content = L2_PAG_2_T3_D_ARRAY;
2774 if (variant == 'J') prim->l2_frame.content = L2_PAG_2_T3_N_ARRAY;
2775 prim->tc = TC_0;
2776 prim->ccch_lev._skip;
2777 prim->fn = FN_OFFSET_0;
2778 return prim;
2779 }
2780 T_PRIMITIVE_UNION mphc_data_ind_31(CHAR variant)
2781 {
2782 const U8 L2_PAG_2_SI3_A_ARRAY[23] = {
2783 0x4D,
2784 0x06,
2785 0x22,
2786 0x00,
2787 0x01, 0x22, 0x33, 0x66,
2788 0x04, 0x22, 0x33, 0x65,
2789 0x17, 0x06, 0x01, 0x10, 0x10,
2790 0x83, 0x32, 0xF3, 0x8B, 0x2B,
2791 0x2B
2792 };
2793 const U8 L2_PAG_2_ST3_S_ARRAY[23] = {
2794 0x3D,
2795 0x06,
2796 0x22,
2797 0x00,
2798 0x01, 0x22, 0x33, 0x66,
2799 0x04, 0x22, 0x33, 0x65,
2800 0x17, 0x02, 0xF4, 142, 0xAB,
2801 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2802 0x2B
2803 };
2804 const U8 L2_PAG_2_ST3_T_ARRAY[23] = {
2805 0x41,
2806 0x06,
2807 0x22,
2808 0x00,
2809 0x01, 0x22, 0x33, 0x66,
2810 0x04, 0x22, 0x33, 0x65,
2811 0x17, 0x03, 0xF4, 0, 142, 0xCB,
2812 0x2B, 0x2B, 0x2B, 0x2B, 0x2B
2813 };
2814 const U8 L2_PAG_2_ST3_D_ARRAY[23] = {
2815 0x45,
2816 0x06,
2817 0x22,
2818 0x00,
2819 0x01, 0x22, 0x33, 0x66,
2820 0x04, 0x22, 0x33, 0x65,
2821 0x17, 0x04, 0xF4, 0,0,142, 0xEB,
2822 0x2B, 0x2B, 0x2B, 0x2B
2823 };
2824 const U8 L2_PAG_2_ST3_N_ARRAY[23] = {
2825 0x49,
2826 0x06,
2827 0x22,
2828 0x00,
2829 0x01, 0x22, 0x33, 0x66,
2830 0x04, 0x22, 0x33, 0x65,
2831 0x17, 0x05, 0xF4, 0, 0,0,142, 0x2B,
2832 0x2B, 0x2B, 0x2B
2833 };
2834
2835 T_MPHC_DATA_IND prim;
2836 prim->radio_freq = ARFCN_23;
2837 prim->l2_channel = L2_CHANNEL_PCH;
2838 prim->error_flag = VALID_BLOCK;
2839 if (variant == 'A') prim->l2_frame.content = L2_PAG_2_SI3_A_ARRAY;
2840 if (variant == 'B') prim->l2_frame.content = L2_PAG_2_ST3_S_ARRAY;
2841 if (variant == 'C') prim->l2_frame.content = L2_PAG_2_ST3_T_ARRAY;
2842 if (variant == 'D') prim->l2_frame.content = L2_PAG_2_ST3_D_ARRAY;
2843 if (variant == 'E') prim->l2_frame.content = L2_PAG_2_ST3_N_ARRAY;
2844 prim->tc = TC_0;
2845 prim->ccch_lev._skip;
2846 prim->fn = FN_OFFSET_0;
2847 return prim;
2848 }
2849 T_PRIMITIVE_UNION mphc_data_ind_32()
2850 {
2851 const U8 L2_PAG_3_EMPTY_ARRAY[23] = {
2852 0x11,
2853 0x06,
2854 0x24,
2855 0x00,
2856 0x00,
2857 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2858 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2859 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
2860 0x2B, 0x2B, 0x2B
2861 };
2862
2863 T_MPHC_DATA_IND prim;
2864 prim->radio_freq = ARFCN_23;
2865 prim->l2_channel = L2_CHANNEL_PCH;
2866 prim->error_flag = VALID_BLOCK;
2867 prim->l2_frame.content = L2_PAG_3_EMPTY_ARRAY;
2868 prim->tc = TC_0;
2869 prim->ccch_lev._skip;
2870 prim->fn = FN_OFFSET_0;
2871 return prim;
2872 }
2873
2874 T_PRIMITIVE_UNION mphc_data_ind_33(CHAR variant)
2875 {
2876 const U8 L2_PAG_3_T1_A_ARRAY[23] = {
2877 0x4D,
2878 0x06,
2879 0x24,
2880 0x00,
2881 0x05, 0x22, 0x33, 0x66,
2882 0x04, 0x22, 0x33, 0x65,
2883 0x03, 0x22, 0x33, 0x65,
2884 0x02, 0x22, 0x33, 0x65,
2885 0x2B, 0x2B, 0x2B
2886 };
2887 const U8 L2_PAG_3_T1_S_ARRAY[23] = {
2888 0x4D,
2889 0x06,
2890 0x24,
2891 0x10,
2892 0x05, 0x22, 0x33, 0x66,
2893 0x04, 0x22, 0x33, 0x65,
2894 0x03, 0x22, 0x33, 0x65,
2895 0x02, 0x22, 0x33, 0x65,
2896 0x2B, 0x2B, 0x2B
2897 };
2898 const U8 L2_PAG_3_T1_T_ARRAY[23] = {
2899 0x4D,
2900 0x06,
2901 0x24,
2902 0x20,
2903 0x05, 0x22, 0x33, 0x66,
2904 0x04, 0x22, 0x33, 0x65,
2905 0x03, 0x22, 0x33, 0x65,
2906 0x02, 0x22, 0x33, 0x65,
2907 0x2B, 0x2B, 0x2B
2908 };
2909 const U8 L2_PAG_3_T1_D_ARRAY[23] = {
2910 0x4D,
2911 0x06,
2912 0x24,
2913 0x30,
2914 0x05, 0x22, 0x33, 0x66,
2915 0x04, 0x22, 0x33, 0x65,
2916 0x03, 0x22, 0x33, 0x65,
2917 0x02, 0x22, 0x33, 0x65,
2918 0x2B, 0x2B, 0x2B
2919 };
2920 const U8 L2_PAG_3_T2_A_ARRAY[23] = {
2921 0x4D,
2922 0x06,
2923 0x24,
2924 0x00,
2925 0x04, 0x22, 0x33, 0x66,
2926 0x05, 0x22, 0x33, 0x66,
2927 0x03, 0x22, 0x33, 0x65,
2928 0x02, 0x22, 0x33, 0x65,
2929 0x2B, 0x2B, 0x2B
2930 };
2931 const U8 L2_PAG_3_T2_S_ARRAY[23] = {
2932 0x4D,
2933 0x06,
2934 0x24,
2935 0x40,
2936 0x04, 0x22, 0x33, 0x66,
2937 0x05, 0x22, 0x33, 0x66,
2938 0x03, 0x22, 0x33, 0x65,
2939 0x02, 0x22, 0x33, 0x65,
2940 0x2B, 0x2B, 0x2B
2941 };
2942 const U8 L2_PAG_3_T2_T_ARRAY[23] = {
2943 0x4D,
2944 0x06,
2945 0x24,
2946 0x80,
2947 0x04, 0x22, 0x33, 0x66,
2948 0x05, 0x22, 0x33, 0x66,
2949 0x03, 0x22, 0x33, 0x65,
2950 0x02, 0x22, 0x33, 0x65,
2951 0x2B, 0x2B, 0x2B
2952 };
2953 const U8 L2_PAG_3_T2_D_ARRAY[23] = {
2954 0x4D,
2955 0x06,
2956 0x24,
2957 0xC0,
2958 0x04, 0x22, 0x33, 0x66,
2959 0x05, 0x22, 0x33, 0x66,
2960 0x03, 0x22, 0x33, 0x65,
2961 0x02, 0x22, 0x33, 0x65,
2962 0x2B, 0x2B, 0x2B
2963 };
2964 const U8 L2_PAG_3_T3_A_ARRAY[23] = {
2965 0x4D,
2966 0x06,
2967 0x24,
2968 0x00,
2969 0x04, 0x22, 0x33, 0x66,
2970 0x04, 0x22, 0x33, 0x65,
2971 0x05, 0x22, 0x33, 0x66,
2972 0x02, 0x22, 0x33, 0x65,
2973 0x83, 0x2B, 0x2B
2974 };
2975 const U8 L2_PAG_3_T3_S_ARRAY[23] = {
2976 0x4D,
2977 0x06,
2978 0x24,
2979 0x00,
2980 0x04, 0x22, 0x33, 0x66,
2981 0x04, 0x22, 0x33, 0x65,
2982 0x05, 0x22, 0x33, 0x66,
2983 0x02, 0x22, 0x33, 0x65,
2984 0xA3, 0x2B, 0x2B
2985 };
2986 const U8 L2_PAG_3_T3_T_ARRAY[23] = {
2987 0x4D,
2988 0x06,
2989 0x24,
2990 0x00,
2991 0x04, 0x22, 0x33, 0x66,
2992 0x04, 0x22, 0x33, 0x65,
2993 0x05, 0x22, 0x33, 0x66,
2994 0x02, 0x22, 0x33, 0x65,
2995 0xC3, 0x2B, 0x2B
2996 };
2997 const U8 L2_PAG_3_T3_D_ARRAY[23] = {
2998 0x4D,
2999 0x06,
3000 0x24,
3001 0x00,
3002 0x04, 0x22, 0x33, 0x66,
3003 0x04, 0x22, 0x33, 0x65,
3004 0x05, 0x22, 0x33, 0x66,
3005 0x02, 0x22, 0x33, 0x65,
3006 0xE3, 0x2B, 0x2B
3007 };
3008 const U8 L2_PAG_3_T3_N_ARRAY[23] = {
3009 0x4D,
3010 0x06,
3011 0x24,
3012 0x10,
3013 0x04, 0x22, 0x33, 0x66,
3014 0x04, 0x22, 0x33, 0x65,
3015 0x05, 0x22, 0x33, 0x66,
3016 0x02, 0x22, 0x33, 0x65,
3017 0x2B, 0x2B, 0x2B
3018 };
3019 const U8 L2_PAG_3_T4_A_ARRAY[23] = {
3020 0x4D,
3021 0x06,
3022 0x24,
3023 0x00,
3024 0x04, 0x22, 0x33, 0x66,
3025 0x04, 0x22, 0x33, 0x65,
3026 0x04, 0x22, 0x33, 0x67,
3027 0x05, 0x22, 0x33, 0x66,
3028 0xA3, 0x2B, 0x2B
3029 };
3030 const U8 L2_PAG_3_T4_S_ARRAY[23] = {
3031 0x4D,
3032 0x06,
3033 0x24,
3034 0x00,
3035 0x04, 0x22, 0x33, 0x66,
3036 0x04, 0x22, 0x33, 0x65,
3037 0x04, 0x22, 0x33, 0x67,
3038 0x05, 0x22, 0x33, 0x66,
3039 0x8B, 0x2B, 0x2B
3040 };
3041 const U8 L2_PAG_3_T4_T_ARRAY[23] = {
3042 0x4D,
3043 0x06,
3044 0x24,
3045 0x00,
3046 0x04, 0x22, 0x33, 0x66,
3047 0x04, 0x22, 0x33, 0x65,
3048 0x04, 0x22, 0x33, 0x67,
3049 0x05, 0x22, 0x33, 0x66,
3050 0x93, 0x2B, 0x2B
3051 };
3052 const U8 L2_PAG_3_T4_D_ARRAY[23] = {
3053 0x4D,
3054 0x06,
3055 0x24,
3056 0x00,
3057 0x04, 0x22, 0x33, 0x66,
3058 0x04, 0x22, 0x33, 0x65,
3059 0x04, 0x22, 0x33, 0x67,
3060 0x05, 0x22, 0x33, 0x66,
3061 0x9B, 0x2B, 0x2B
3062 };
3063 const U8 L2_PAG_3_T4_N_ARRAY[23] = {
3064 0x4D,
3065 0x06,
3066 0x24,
3067 0x50,
3068 0x04, 0x22, 0x33, 0x66,
3069 0x04, 0x22, 0x33, 0x65,
3070 0x04, 0x22, 0x33, 0x67,
3071 0x05, 0x22, 0x33, 0x66,
3072 0x2B, 0x2B, 0x2B
3073 };
3074
3075 T_MPHC_DATA_IND prim;
3076 prim->radio_freq = ARFCN_23;
3077 prim->l2_channel = L2_CHANNEL_PCH;
3078 prim->error_flag = VALID_BLOCK;
3079 if (variant == 'A') prim->l2_frame.content = L2_PAG_3_T1_A_ARRAY;
3080 if (variant == 'B') prim->l2_frame.content = L2_PAG_3_T1_S_ARRAY;
3081 if (variant == 'C') prim->l2_frame.content = L2_PAG_3_T1_T_ARRAY;
3082 if (variant == 'D') prim->l2_frame.content = L2_PAG_3_T1_D_ARRAY;
3083 if (variant == 'E') prim->l2_frame.content = L2_PAG_3_T2_A_ARRAY;
3084 if (variant == 'F') prim->l2_frame.content = L2_PAG_3_T2_S_ARRAY;
3085 if (variant == 'G') prim->l2_frame.content = L2_PAG_3_T2_T_ARRAY;
3086 if (variant == 'H') prim->l2_frame.content = L2_PAG_3_T2_D_ARRAY;
3087 if (variant == 'I') prim->l2_frame.content = L2_PAG_3_T3_A_ARRAY;
3088 if (variant == 'J') prim->l2_frame.content = L2_PAG_3_T3_S_ARRAY;
3089 if (variant == 'K') prim->l2_frame.content = L2_PAG_3_T3_T_ARRAY;
3090 if (variant == 'L') prim->l2_frame.content = L2_PAG_3_T3_D_ARRAY;
3091 if (variant == 'M') prim->l2_frame.content = L2_PAG_3_T3_N_ARRAY;
3092 if (variant == 'N') prim->l2_frame.content = L2_PAG_3_T4_A_ARRAY;
3093 if (variant == 'O') prim->l2_frame.content = L2_PAG_3_T4_S_ARRAY;
3094 if (variant == 'P') prim->l2_frame.content = L2_PAG_3_T4_T_ARRAY;
3095 if (variant == 'Q') prim->l2_frame.content = L2_PAG_3_T4_D_ARRAY;
3096 if (variant == 'R') prim->l2_frame.content = L2_PAG_3_T4_N_ARRAY;
3097 prim->tc = TC_0;
3098 prim->ccch_lev._skip;
3099 prim->fn = FN_OFFSET_0;
3100 return prim;
3101 }
3102 T_PRIMITIVE_UNION mphc_data_ind_34()
3103 {
3104 const U8 L2_PAG_3_WRONG_ARRAY[23] = {
3105 0x4D,
3106 0x06,
3107 0x24,
3108 0x50,
3109 0x04, 0x22, 0x33, 0x66,
3110 0x04, 0x22, 0x33, 0x65,
3111 0x04, 0x22, 0x33, 0x67,
3112 0x02, 0x22, 0x33, 0x65,
3113 0x2B, 0x2B, 0x2B
3114 };
3115 T_MPHC_DATA_IND prim;
3116 prim->radio_freq = ARFCN_23;
3117 prim->l2_channel = L2_CHANNEL_PCH;
3118 prim->error_flag = VALID_BLOCK;
3119 prim->l2_frame.content = L2_PAG_3_WRONG_ARRAY;
3120 prim->tc = TC_0;
3121 prim->ccch_lev._skip;
3122 prim->fn = FN_OFFSET_0;
3123 return prim;
3124 }
3125 T_PRIMITIVE_UNION mphc_data_ind_36()
3126 {
3127 T_MPHC_DATA_IND prim;
3128 prim->radio_freq = ARFCN_14;
3129 prim->l2_channel = L2_CHANNEL_CCCH;
3130 prim->error_flag = VALID_BLOCK;
3131 prim->l2_frame = l2_imm_ass_hop();
3132 prim->tc = TC_0;
3133 prim->ccch_lev._skip;
3134 prim->fn = FN_OFFSET_0;
3135 return prim;
3136 }
3137 T_PRIMITIVE_UNION mphc_data_ind_51()
3138 {
3139 const U8 L2_IMM_ASS_EXT_REO_ARRAY[23] = {
3140 0x49,
3141 0x06,
3142 0x39,
3143 0x02,
3144 0x20, 0xA0, 0x14,
3145 0x00, 0x00, 0x00,
3146 0x00,
3147 0x20, 0xA0, 0x14,
3148 0x00, 0x00, 0x00,
3149 0x00,
3150 0x00,
3151 0x2b,0x2b,0x2b,0x2b
3152 };
3153
3154 T_MPHC_DATA_IND prim;
3155 prim->radio_freq = ARFCN_23;
3156 prim->l2_channel = L2_CHANNEL_PCH;
3157 prim->error_flag = VALID_BLOCK;
3158 prim->l2_frame.content = L2_IMM_ASS_EXT_REO_ARRAY;
3159 prim->tc = TC_0;
3160 prim->ccch_lev._skip;
3161 prim->fn = FN_OFFSET_0;
3162 return prim;
3163 }
3164 T_PRIMITIVE_UNION mphc_data_ind_52()
3165 {
3166 T_MPHC_DATA_IND prim;
3167 prim->radio_freq = ARFCN_23;
3168 prim->l2_channel = L2_CHANNEL_PCH;
3169 prim->error_flag = VALID_BLOCK;
3170 prim->l2_frame.content = L2_PAG_2_T1_A_ARRAY;
3171 prim->tc = TC_0;
3172 prim->ccch_lev._skip;
3173 prim->fn = FN_OFFSET_0;
3174 return prim;
3175 }
3176
3177 /* SACCH */
3178 T_PRIMITIVE_UNION mphc_data_ind_37()
3179 {
3180 const U8 L2_SYS_INFO_5_ARRAY[23] = {
3181 0xFF, 0xAA,
3182 0x03, 0x03, 0x01,
3183 0x06,
3184 0x1D,
3185 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
3186 0x00, 0x08, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00
3187 };
3188
3189 T_MPHC_DATA_IND prim;
3190 prim->radio_freq = ARFCN_14;
3191 prim->l2_channel = L2_CHANNEL_SACCH;
3192 prim->error_flag = VALID_BLOCK;
3193 prim->l2_frame.content = L2_SYS_INFO_5_ARRAY;
3194 prim->tc = TC_0;
3195 prim->ccch_lev._skip;
3196 prim->fn = FN_OFFSET_0;
3197 return prim;
3198 }
3199
3200 T_PRIMITIVE_UNION mphc_data_ind_sacch_error()
3201 {
3202 const U8 L2_SYS_INFO_5_ARRAY[23] = {
3203 0xFF, 0xAA,
3204 0x03, 0x03, 0x01,
3205 0x06,
3206 0x1D,
3207 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
3208 0x00, 0x08, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00
3209 };
3210
3211 T_MPHC_DATA_IND prim;
3212 prim->radio_freq = ARFCN_14;
3213 prim->l2_channel = L2_CHANNEL_SACCH;
3214 prim->error_flag = INVALID_BLOCK;
3215 prim->l2_frame.content = L2_SYS_INFO_5_ARRAY;
3216 prim->tc = TC_0;
3217 prim->ccch_lev._skip;
3218 prim->fn = FN_OFFSET_0;
3219 return prim;
3220 }
3221
3222 T_PRIMITIVE_UNION mphc_data_ind_38()
3223 {
3224 const U8 L2_SYS_INFO_5BIS_ARRAY[23] = {
3225 0xFF, 0xAA,
3226 0x03, 0x03, 0x01,
3227 0x06,
3228 0x05,
3229 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
3230 0x00, 0x08, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00
3231 };
3232 T_MPHC_DATA_IND prim;
3233 prim->radio_freq = ARFCN_14;
3234 prim->l2_channel = L2_CHANNEL_SACCH;
3235 prim->error_flag = VALID_BLOCK;
3236 prim->l2_frame.content = L2_SYS_INFO_5BIS_ARRAY;
3237 prim->tc = TC_0;
3238 prim->ccch_lev._skip;
3239 prim->fn = FN_OFFSET_0;
3240 return prim;
3241 }
3242 T_PRIMITIVE_UNION mphc_data_ind_39()
3243 {
3244 const U8 L2_SYS_INFO_6_ARRAY[23] = {
3245 0xFF, 0xAA,
3246 0x03, 0x03, 0x01,
3247 0x06,
3248 0x1E,
3249 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
3250 0x00, 0x08, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00
3251 };
3252
3253 T_MPHC_DATA_IND prim;
3254 prim->radio_freq = ARFCN_14;
3255 prim->l2_channel = L2_CHANNEL_SACCH;
3256 prim->error_flag = VALID_BLOCK;
3257 prim->l2_frame.content = L2_SYS_INFO_6_ARRAY;
3258 prim->tc = TC_0;
3259 prim->ccch_lev._skip;
3260 prim->fn = FN_OFFSET_0;
3261 return prim;
3262 }
3263 T_PRIMITIVE_UNION mphc_data_ind_40()
3264 {
3265 const U8 L2_I_SMS_ARRAY[23] = {
3266 0xFF, 0xAA,
3267 0x0F,
3268 0x02,
3269 0x19,
3270 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
3271 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
3272 0x2B, 0x2B, 0x2B, 0x2B, 0x2B, 0x2B
3273 };
3274
3275 T_MPHC_DATA_IND prim;
3276 prim->radio_freq = ARFCN_14;
3277 prim->l2_channel = L2_CHANNEL_SACCH;
3278 prim->error_flag = VALID_BLOCK;
3279 prim->l2_frame.content = L2_I_SMS_ARRAY;
3280 prim->tc = TC_0;
3281 prim->ccch_lev._skip;
3282 prim->fn = FN_OFFSET_0;
3283 return prim;
3284 }
3285 T_PRIMITIVE_UNION mphc_data_ind_41()
3286 {
3287 const U8 L2_CHANGED_SYS_INFO_6_ARRAY[23] = {
3288 0xFF, 0xAA,
3289 0x03, 0x03, 0x01,
3290 0x06,
3291 0x1E,
3292 0x01, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
3293 0x00, 0x08, 0x00, 0x00, 0x81, 0x00, 0x00, 0x00
3294 };
3295
3296 T_MPHC_DATA_IND prim;
3297 prim->radio_freq = ARFCN_14;
3298 prim->l2_channel = L2_CHANNEL_SACCH;
3299 prim->error_flag = VALID_BLOCK;
3300 prim->l2_frame.content = L2_CHANGED_SYS_INFO_6_ARRAY;
3301 prim->tc = TC_0;
3302 prim->ccch_lev._skip;
3303 prim->fn = FN_OFFSET_0;
3304 return prim;
3305 }
3306
3307
3308 /* UNITDATA BCCH */
3309 T_PRIMITIVE_UNION mph_unitdata_ind_si1(U16 arfcn)
3310 {
3311 T_MPH_UNITDATA_IND prim;
3312 prim->arfcn = arfcn;
3313 prim->fn._skip;
3314 prim->sdu.aim.ti = TI_0;
3315 prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1();
3316 prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl = rach_ctrl_1();
3317 return prim;
3318 }
3319 T_PRIMITIVE_UNION mph_unitdata_ind_si1_chg(U16 arfcn)
3320 {
3321 T_MPH_UNITDATA_IND prim;
3322 prim->arfcn = arfcn;
3323 prim->fn._skip;
3324 prim->sdu.aim.ti = TI_0;
3325 prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1_new();
3326 prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl = rach_ctrl_1();
3327 return prim;
3328 }
3329 T_PRIMITIVE_UNION mph_unitdata_ind_si2(U16 arfcn)
3330 {
3331 T_MPH_UNITDATA_IND prim;
3332 prim->arfcn = arfcn;
3333 prim->fn ._skip;
3334 prim->sdu.aim.ti = TI_0;
3335 prim->sdu.aim.entity.RR->D_SYS_INFO_2.neigh_cell_desc.raw = neigh_cell_desc_1();
3336 prim->sdu.aim.entity.RR->D_SYS_INFO_2.ncc_permit = NCC_PERMIT_1;
3337 prim->sdu.aim.entity.RR->D_SYS_INFO_2.rach_ctrl = rach_ctrl_1();
3338 return prim;
3339 }
3340
3341 T_PRIMITIVE_UNION mph_unitdata_ind_si3(U16 arfcn, U16 cell_id)
3342 {
3343 T_MPH_UNITDATA_IND prim;
3344 prim->arfcn = arfcn;
3345 prim->fn ._skip;
3346 prim->sdu.aim.ti = TI_0;
3347 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = cell_id;
3348 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3349 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3350 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3351 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3352 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3353 return prim;
3354 }
3355 T_PRIMITIVE_UNION mph_unitdata_ind_si7(U16 arfcn)
3356 {
3357 T_MPH_UNITDATA_IND prim;
3358 prim->arfcn = arfcn;
3359 prim->fn ._skip;
3360 prim->sdu.aim.ti = TI_0;
3361 prim->sdu.aim.entity.RR->D_SYS_INFO_7.si7_rest_oct = si7_rest_oct_1();
3362 return prim;
3363 }
3364 T_PRIMITIVE_UNION mph_unitdata_ind_si4(U16 arfcn)
3365 {
3366 T_MPH_UNITDATA_IND prim;
3367 prim->arfcn = arfcn;
3368 prim->fn ._skip;
3369 prim->sdu.aim.ti = TI_0;
3370 prim->sdu.aim.entity.RR->D_SYS_INFO_4.loc_area_ident = loc_area_ident_1();
3371 prim->sdu.aim.entity.RR->D_SYS_INFO_4.cell_select = cell_select_1();
3372 prim->sdu.aim.entity.RR->D_SYS_INFO_4.rach_ctrl = rach_ctrl_1();
3373 return prim;
3374 }
3375 T_PRIMITIVE_UNION mph_unitdata_ind_si4_diff_cs(U16 arfcn)
3376 {
3377 T_MPH_UNITDATA_IND prim;
3378 prim->arfcn = arfcn;
3379 prim->fn ._skip;
3380 prim->sdu.aim.ti = TI_0;
3381 prim->sdu.aim.entity.RR->D_SYS_INFO_4.loc_area_ident = loc_area_ident_1();
3382 prim->sdu.aim.entity.RR->D_SYS_INFO_4.cell_select = cell_select_2();
3383 prim->sdu.aim.entity.RR->D_SYS_INFO_4.rach_ctrl = rach_ctrl_1();
3384 return prim;
3385 }
3386 T_PRIMITIVE_UNION mph_unitdata_ind_si8(U16 arfcn)
3387 {
3388 T_MPH_UNITDATA_IND prim;
3389 prim->arfcn = arfcn;
3390 prim->fn ._skip;
3391 prim->sdu.aim.ti = TI_0;
3392 prim->sdu.aim.entity.RR->D_SYS_INFO_8.si8_rest_oct = si8_rest_oct_1();
3393 return prim;
3394 }
3395
3396 #if 0
3397 T_PRIMITIVE_UNION mph_unitdata_ind_1()
3398 {
3399 T_MPH_UNITDATA_IND prim;
3400 prim->arfcn = ARFCN_23;
3401 prim->fn._skip;
3402 prim->sdu.aim.ti = TI_0;
3403 prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1();
3404 prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl = rach_ctrl_1();
3405 return prim;
3406 }
3407 T_PRIMITIVE_UNION mph_unitdata_ind_5()
3408 {
3409 T_MPH_UNITDATA_IND prim;
3410 prim->arfcn = ARFCN_124;
3411 prim->fn._skip;
3412 prim->sdu.aim.ti = TI_0;
3413 prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1();
3414 prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl = rach_ctrl_1();
3415 return prim;
3416 }
3417 T_PRIMITIVE_UNION mph_unitdata_ind_6()
3418 {
3419 T_MPH_UNITDATA_IND prim;
3420 prim->arfcn = ARFCN_1;
3421 prim->fn._skip;
3422 prim->sdu.aim.ti = TI_0;
3423 prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1();
3424 prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl = rach_ctrl_1();
3425 return prim;
3426 }
3427 T_PRIMITIVE_UNION mph_unitdata_ind_12()
3428 {
3429 T_MPH_UNITDATA_IND prim;
3430 prim->arfcn = ARFCN_23;
3431 prim->fn._skip;
3432 prim->sdu.aim.ti = TI_0;
3433 prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1_new();
3434 prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl = rach_ctrl_1();
3435 return prim;
3436 }
3437 T_PRIMITIVE_UNION mph_unitdata_ind_20()
3438 {
3439 T_MPH_UNITDATA_IND prim;
3440 prim->arfcn = ARFCN_637;
3441 prim->fn._skip;
3442 prim->sdu.aim.ti = TI_0;
3443 prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1();
3444 prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl = rach_ctrl_1();
3445 return prim;
3446 }
3447 T_PRIMITIVE_UNION mph_unitdata_ind_24()
3448 {
3449 T_MPH_UNITDATA_IND prim;
3450 prim->arfcn = ARFCN_885;
3451 prim->fn._skip;
3452 prim->sdu.aim.ti = TI_0;
3453 prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1();
3454 prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl = rach_ctrl_1();
3455 return prim;
3456 }
3457 T_PRIMITIVE_UNION mph_unitdata_ind_25()
3458 {
3459 T_MPH_UNITDATA_IND prim;
3460 prim->arfcn = ARFCN_512;
3461 prim->fn._skip;
3462 prim->sdu.aim.ti = TI_0;
3463 prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1();
3464 prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl = rach_ctrl_1();
3465 return prim;
3466 }
3467 T_PRIMITIVE_UNION mph_unitdata_ind_38()
3468 {
3469 T_MPH_UNITDATA_IND prim;
3470 prim->arfcn = ARFCN_23;
3471 prim->fn = FN_OFFSET_0;
3472 prim->sdu.aim.ti = TI_0;
3473 prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1();
3474 prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl = rach_ctrl_1();
3475 return prim;
3476 }
3477 _PRIMITIVE_UNION mph_unitdata_ind_26()
3478 {
3479 T_MPH_UNITDATA_IND prim;
3480 prim->arfcn = ARFCN_14;
3481 prim->fn._skip;
3482 prim->sdu.aim.ti = TI_0;
3483 prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1();
3484 prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl = rach_ctrl_1();
3485 return prim;
3486 }
3487 T_PRIMITIVE_UNION mph_unitdata_ind_27()
3488 {
3489 T_MPH_UNITDATA_IND prim;
3490 prim->arfcn = ARFCN_580;
3491 prim->fn._skip;
3492 prim->sdu.aim.ti = TI_0;
3493 prim->sdu.aim.entity.RR->D_SYS_INFO_1.cell_chan_desc.raw = cell_chan_desc_1();
3494 prim->sdu.aim.entity.RR->D_SYS_INFO_1.rach_ctrl = rach_ctrl_1();
3495 return prim;
3496 }
3497
3498 T_PRIMITIVE_UNION mph_unitdata_ind_2()
3499 {
3500 T_MPH_UNITDATA_IND prim;
3501 prim->arfcn = ARFCN_23;
3502 prim->fn._skip;
3503 prim->sdu.aim.ti = TI_0;
3504 prim->sdu.aim.entity.RR->D_SYS_INFO_2.neigh_cell_desc.raw = neigh_cell_desc_1();
3505 prim->sdu.aim.entity.RR->D_SYS_INFO_2.ncc_permit = NCC_PERMIT_1;
3506 prim->sdu.aim.entity.RR->D_SYS_INFO_2.rach_ctrl = rach_ctrl_1();
3507 return prim;
3508 }
3509 T_PRIMITIVE_UNION mph_unitdata_ind_13()
3510 {
3511 T_MPH_UNITDATA_IND prim;
3512 prim->arfcn = ARFCN_14;
3513 prim->fn._skip;
3514 prim->sdu.aim.ti = TI_0;
3515 prim->sdu.aim.entity.RR->D_SYS_INFO_2.neigh_cell_desc.raw = neigh_cell_desc_1();
3516 prim->sdu.aim.entity.RR->D_SYS_INFO_2.ncc_permit = NCC_PERMIT_1;
3517 prim->sdu.aim.entity.RR->D_SYS_INFO_2.rach_ctrl = rach_ctrl_1();
3518 return prim;
3519 }
3520 T_PRIMITIVE_UNION mph_unitdata_ind_14()
3521 {
3522 T_MPH_UNITDATA_IND prim;
3523 prim->arfcn = ARFCN_1;
3524 prim->fn._skip;
3525 prim->sdu.aim.ti = TI_0;
3526 prim->sdu.aim.entity.RR->D_SYS_INFO_2.neigh_cell_desc.raw = neigh_cell_desc_1();
3527 prim->sdu.aim.entity.RR->D_SYS_INFO_2.ncc_permit = NCC_PERMIT_1;
3528 prim->sdu.aim.entity.RR->D_SYS_INFO_2.rach_ctrl = rach_ctrl_1();
3529 return prim;
3530 }
3531
3532 T_PRIMITIVE_UNION mph_unitdata_ind_21()
3533 {
3534 T_MPH_UNITDATA_IND prim;
3535 prim->arfcn = ARFCN_637;
3536 prim->fn._skip;
3537 prim->sdu.aim.ti = TI_0;
3538 prim->sdu.aim.entity.RR->D_SYS_INFO_2.neigh_cell_desc.raw = neigh_cell_desc_1();
3539 prim->sdu.aim.entity.RR->D_SYS_INFO_2.ncc_permit = NCC_PERMIT_1;
3540 prim->sdu.aim.entity.RR->D_SYS_INFO_2.rach_ctrl = rach_ctrl_1();
3541 return prim;
3542 }
3543 T_PRIMITIVE_UNION mph_unitdata_ind_39()
3544 {
3545 T_MPH_UNITDATA_IND prim;
3546 prim->arfcn = ARFCN_23;
3547 prim->fn = FN_OFFSET_0;
3548 prim->sdu.aim.ti = TI_0;
3549 prim->sdu.aim.entity.RR->D_SYS_INFO_2.neigh_cell_desc.raw = neigh_cell_desc_1();
3550 prim->sdu.aim.entity.RR->D_SYS_INFO_2.ncc_permit = NCC_PERMIT_1;
3551 prim->sdu.aim.entity.RR->D_SYS_INFO_2.rach_ctrl = rach_ctrl_1();
3552 return prim;
3553 }
3554
3555
3556 T_PRIMITIVE_UNION mph_unitdata_ind_3()
3557 {
3558 T_MPH_UNITDATA_IND prim;
3559 prim->arfcn = ARFCN_23;
3560 prim->fn._skip;
3561 prim->sdu.aim.ti = TI_0;
3562 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3563 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3564 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3565 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3566 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3567 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3568 return prim;
3569 }
3570
3571
3572 T_PRIMITIVE_UNION mph_unitdata_ind_7()
3573 {
3574 T_MPH_UNITDATA_IND prim;
3575 prim->arfcn = ARFCN_1;
3576 prim->fn._skip;
3577 prim->sdu.aim.ti = TI_0;
3578 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3579 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3580 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3581 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3582 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3583 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3584 return prim;
3585 }
3586 T_PRIMITIVE_UNION mph_unitdata_ind_8()
3587 {
3588 T_MPH_UNITDATA_IND prim;
3589 prim->arfcn = ARFCN_14;
3590 prim->fn._skip;
3591 prim->sdu.aim.ti = TI_0;
3592 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3593 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3594 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3595 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3596 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3597 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3598 return prim;
3599 }
3600
3601 T_PRIMITIVE_UNION mph_unitdata_ind_9()
3602 {
3603 T_MPH_UNITDATA_IND prim;
3604 prim->arfcn = ARFCN_124;
3605 prim->fn._skip;
3606 prim->sdu.aim.ti = TI_0;
3607 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3608 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3609 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3610 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3611 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3612 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3613 return prim;
3614 }
3615
3616 T_PRIMITIVE_UNION mph_unitdata_ind_22()
3617 {
3618 T_MPH_UNITDATA_IND prim;
3619 prim->arfcn = ARFCN_637;
3620 prim->fn._skip;
3621 prim->sdu.aim.ti = TI_0;
3622 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3623 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3624 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3625 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3626 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3627 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3628 return prim;
3629 }
3630
3631 T_PRIMITIVE_UNION mph_unitdata_ind_28()
3632 {
3633 T_MPH_UNITDATA_IND prim;
3634 prim->arfcn = ARFCN_25;
3635 prim->fn._skip;
3636 prim->sdu.aim.ti = TI_0;
3637 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3638 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3639 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3640 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3641 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3642 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3643 return prim;
3644 }
3645
3646 T_PRIMITIVE_UNION mph_unitdata_ind_29()
3647 {
3648 T_MPH_UNITDATA_IND prim;
3649 prim->arfcn = ARFCN_512;
3650 prim->fn._skip;
3651 prim->sdu.aim.ti = TI_0;
3652 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3653 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3654 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3655 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3656 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3657 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3658 return prim;
3659 }
3660
3661 T_PRIMITIVE_UNION mph_unitdata_ind_30()
3662 {
3663 T_MPH_UNITDATA_IND prim;
3664 prim->arfcn = ARFCN_580;
3665 prim->fn._skip;
3666 prim->sdu.aim.ti = TI_0;
3667 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3668 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3669 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3670 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3671 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3672 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3673 return prim;
3674 }
3675
3676 T_PRIMITIVE_UNION mph_unitdata_ind_31()
3677 {
3678 T_MPH_UNITDATA_IND prim;
3679 prim->arfcn = ARFCN_885;
3680 prim->fn._skip;
3681 prim->sdu.aim.ti = TI_0;
3682 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3683 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3684 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3685 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3686 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3687 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3688 return prim;
3689 }
3690 T_PRIMITIVE_UNION mph_unitdata_ind_32()
3691 {
3692 T_MPH_UNITDATA_IND prim;
3693 prim->arfcn = ARFCN_11;
3694 prim->fn._skip;
3695 prim->sdu.aim.ti = TI_0;
3696 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3697 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3698 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3699 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3700 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3701 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3702 return prim;
3703 }
3704 T_PRIMITIVE_UNION mph_unitdata_ind_33()
3705 {
3706 T_MPH_UNITDATA_IND prim;
3707 prim->arfcn = ARFCN_87;
3708 prim->fn._skip;
3709 prim->sdu.aim.ti = TI_0;
3710 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3711 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3712 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3713 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3714 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3715 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3716 return prim;
3717 }
3718 T_PRIMITIVE_UNION mph_unitdata_ind_34()
3719 {
3720 T_MPH_UNITDATA_IND prim;
3721 prim->arfcn = ARFCN_513;
3722 prim->fn._skip;
3723 prim->sdu.aim.ti = TI_0;
3724 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3725 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3726 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3727 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3728 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3729 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3730 return prim;
3731 }
3732
3733 T_PRIMITIVE_UNION mph_unitdata_ind_35()
3734 {
3735 T_MPH_UNITDATA_IND prim;
3736 prim->arfcn = ARFCN_600;
3737 prim->fn._skip;
3738 prim->sdu.aim.ti = TI_0;
3739 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3740 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3741 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3742 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3743 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3744 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3745 return prim;
3746 }
3747
3748 T_PRIMITIVE_UNION mph_unitdata_ind_36()
3749 {
3750 T_MPH_UNITDATA_IND prim;
3751 prim->arfcn = ARFCN_700;
3752 prim->fn._skip;
3753 prim->sdu.aim.ti = TI_0;
3754 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3755 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3756 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3757 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3758 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3759 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3760 return prim;
3761 }
3762
3763 T_PRIMITIVE_UNION mph_unitdata_ind_37()
3764 {
3765 T_MPH_UNITDATA_IND prim;
3766 prim->arfcn = ARFCN_810;
3767 prim->fn._skip;
3768 prim->sdu.aim.ti = TI_0;
3769 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3770 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3771 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3772 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3773 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3774 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3775 return prim;
3776 }
3777 T_PRIMITIVE_UNION mph_unitdata_ind_54()
3778 {
3779 T_MPH_UNITDATA_IND prim;
3780 prim->arfcn = ARFCN_1;
3781 prim->fn = FN_OFFSET_224;
3782 prim->sdu.aim.ti = TI_0;
3783 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3784 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3785 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3786 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3787 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3788 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3789 return prim;
3790 }
3791
3792 T_PRIMITIVE_UNION mph_unitdata_ind_55()
3793 {
3794 T_MPH_UNITDATA_IND prim;
3795 prim->arfcn = ARFCN_14;
3796 prim->fn = FN_OFFSET_224;
3797 prim->sdu.aim.ti = TI_0;
3798 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3799 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3800 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3801 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3802 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3803 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3804 return prim;
3805 }
3806
3807 T_PRIMITIVE_UNION mph_unitdata_ind_56()
3808 {
3809 T_MPH_UNITDATA_IND prim;
3810 prim->arfcn = ARFCN_124;
3811 prim->fn = FN_OFFSET_114;
3812 prim->sdu.aim.ti = TI_0;
3813 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3814 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3815 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3816 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3817 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3818 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3819 return prim;
3820 }
3821 T_PRIMITIVE_UNION mph_unitdata_ind_57()
3822 {
3823 T_MPH_UNITDATA_IND prim;
3824 prim->arfcn = ARFCN_14;
3825 prim->fn = FN_OFF_ARFCN_14;
3826 prim->sdu.aim.ti = TI_0;
3827 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3828 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3829 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3830 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3831 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3832 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3833 return prim;
3834 }
3835
3836 T_PRIMITIVE_UNION mph_unitdata_ind_58()
3837 {
3838 T_MPH_UNITDATA_IND prim;
3839 prim->arfcn = ARFCN_25;
3840 prim->fn = FN_OFF_ARFCN_14;
3841 prim->sdu.aim.ti = TI_0;
3842 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3843 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3844 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3845 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3846 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3847 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3848 return prim;
3849 }
3850
3851 T_PRIMITIVE_UNION mph_unitdata_ind_59()
3852 {
3853 T_MPH_UNITDATA_IND prim;
3854 prim->arfcn = ARFCN_512;
3855 prim->fn = FN_OFF_ARFCN_14;
3856 prim->sdu.aim.ti = TI_0;
3857 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3858 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3859 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3860 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3861 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3862 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3863 return prim;
3864 }
3865
3866 T_PRIMITIVE_UNION mph_unitdata_ind_60()
3867 {
3868 T_MPH_UNITDATA_IND prim;
3869 prim->arfcn = ARFCN_580;
3870 prim->fn = FN_OFF_ARFCN_14;
3871 prim->sdu.aim.ti = TI_0;
3872 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3873 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3874 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3875 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3876 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3877 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3878 return prim;
3879 }
3880
3881 T_PRIMITIVE_UNION mph_unitdata_ind_61()
3882 {
3883 T_MPH_UNITDATA_IND prim;
3884 prim->arfcn = ARFCN_637;
3885 prim->fn = FN_OFF_ARFCN_14;
3886 prim->sdu.aim.ti = TI_0;
3887 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3888 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3889 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3890 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3891 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3892 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3893 return prim;
3894 }
3895
3896 T_PRIMITIVE_UNION mph_unitdata_ind_62()
3897 {
3898 T_MPH_UNITDATA_IND prim;
3899 prim->arfcn = ARFCN_885;
3900 prim->fn = FN_OFF_ARFCN_14;
3901 prim->sdu.aim.ti = TI_0;
3902 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_ident = CELL_IDENT_1;
3903 prim->sdu.aim.entity.RR->D_SYS_INFO_3.loc_area_ident = loc_area_ident_1();
3904 prim->sdu.aim.entity.RR->D_SYS_INFO_3.ctrl_chan_desc = ctrl_chan_desc_1();
3905 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_opt_bcch = cell_opt_bcch_1();
3906 prim->sdu.aim.entity.RR->D_SYS_INFO_3.cell_select = cell_select_1();
3907 prim->sdu.aim.entity.RR->D_SYS_INFO_3.rach_ctrl = rach_ctrl_1();
3908 return prim;
3909 }
3910
3911
3912
3913
3914 T_PRIMITIVE_UNION mph_unitdata_ind_4()
3915 {
3916 T_MPH_UNITDATA_IND prim;
3917 prim->arfcn = ARFCN_23;
3918 prim->fn._skip;
3919 prim->sdu.aim.ti = TI_0;
3920 prim->sdu.aim.entity.RR->D_SYS_INFO_4.loc_area_ident = loc_area_ident_1();
3921 prim->sdu.aim.entity.RR->D_SYS_INFO_4.cell_select = cell_select_1();
3922 prim->sdu.aim.entity.RR->D_SYS_INFO_4.rach_ctrl = rach_ctrl_1();
3923 return prim;
3924 }
3925 T_PRIMITIVE_UNION mph_unitdata_ind_23()
3926 {
3927 T_MPH_UNITDATA_IND prim;
3928 prim->arfcn = ARFCN_637;
3929 prim->fn._skip;
3930 prim->sdu.aim.ti = TI_0;
3931 prim->sdu.aim.entity.RR->D_SYS_INFO_4.loc_area_ident = loc_area_ident_1();
3932 prim->sdu.aim.entity.RR->D_SYS_INFO_4.cell_select = cell_select_1();
3933 prim->sdu.aim.entity.RR->D_SYS_INFO_4.rach_ctrl = rach_ctrl_1();
3934 return prim;
3935 }
3936 T_PRIMITIVE_UNION mph_unitdata_ind_40()
3937 {
3938 T_MPH_UNITDATA_IND prim;
3939 prim->arfcn = ARFCN_1;
3940 prim->fn._skip;
3941 prim->sdu.aim.ti = TI_0;
3942 prim->sdu.aim.entity.RR->D_SYS_INFO_4.loc_area_ident = loc_area_ident_1();
3943 prim->sdu.aim.entity.RR->D_SYS_INFO_4.cell_select = cell_select_1();
3944 prim->sdu.aim.entity.RR->D_SYS_INFO_4.rach_ctrl = rach_ctrl_1();
3945 return prim;
3946 }
3947
3948 T_PRIMITIVE_UNION mph_unitdata_ind_41()
3949 {
3950 T_MPH_UNITDATA_IND prim;
3951 prim->arfcn = ARFCN_14;
3952 prim->fn._skip;
3953 prim->sdu.aim.ti = TI_0;
3954 prim->sdu.aim.entity.RR->D_SYS_INFO_4.loc_area_ident = loc_area_ident_1();
3955 prim->sdu.aim.entity.RR->D_SYS_INFO_4.cell_select = cell_select_1();
3956 prim->sdu.aim.entity.RR->D_SYS_INFO_4.rach_ctrl = rach_ctrl_1();
3957 return prim;
3958 }
3959
3960 T_PRIMITIVE_UNION mph_unitdata_ind_42()
3961 {
3962 T_MPH_UNITDATA_IND prim;
3963 prim->arfcn = ARFCN_124;
3964 prim->fn._skip;
3965 prim->sdu.aim.ti = TI_0;
3966 prim->sdu.aim.entity.RR->D_SYS_INFO_4.loc_area_ident = loc_area_ident_1();
3967 prim->sdu.aim.entity.RR->D_SYS_INFO_4.cell_select = cell_select_1();
3968 prim->sdu.aim.entity.RR->D_SYS_INFO_4.rach_ctrl = rach_ctrl_1();
3969 return prim;
3970 }
3971
3972 T_PRIMITIVE_UNION mph_unitdata_ind_43()
3973 {
3974 T_MPH_UNITDATA_IND prim;
3975 prim->arfcn = ARFCN_1;
3976 prim->fn._skip;
3977 prim->sdu.aim.ti = TI_0;
3978 prim->sdu.aim.entity.RR->D_SYS_INFO_4.loc_area_ident = loc_area_ident_1();
3979 prim->sdu.aim.entity.RR->D_SYS_INFO_4.cell_select = cell_select_2();
3980 prim->sdu.aim.entity.RR->D_SYS_INFO_4.rach_ctrl = rach_ctrl_1();
3981 return prim;
3982 }
3983
3984
3985 T_PRIMITIVE_UNION mph_unitdata_ind_45()
3986 {
3987 T_MPH_UNITDATA_IND prim;
3988 prim->arfcn = ARFCN_14;
3989 prim->fn._skip;
3990 prim->sdu.aim.ti = TI_0;
3991 prim->sdu.aim.entity.RR->D_SYS_INFO_4.loc_area_ident = loc_area_ident_1();
3992 prim->sdu.aim.entity.RR->D_SYS_INFO_4.cell_select = cell_select_2();
3993 prim->sdu.aim.entity.RR->D_SYS_INFO_4.rach_ctrl = rach_ctrl_1();
3994 return prim;
3995 }
3996
3997 T_PRIMITIVE_UNION mph_unitdata_ind_47()
3998 {
3999 T_MPH_UNITDATA_IND prim;
4000 prim->arfcn = ARFCN_124;
4001 prim->fn._skip;
4002 prim->sdu.aim.ti = TI_0;
4003 prim->sdu.aim.entity.RR->D_SYS_INFO_4.loc_area_ident = loc_area_ident_1();
4004 prim->sdu.aim.entity.RR->D_SYS_INFO_4.cell_select = cell_select_2();
4005 prim->sdu.aim.entity.RR->D_SYS_INFO_4.rach_ctrl = rach_ctrl_1();
4006 return prim;
4007 }
4008
4009
4010 T_PRIMITIVE_UNION mph_unitdata_ind_49()
4011 {
4012 T_MPH_UNITDATA_IND prim;
4013 prim->arfcn = ARFCN_1;
4014 prim->fn._skip;
4015 prim->sdu.aim.ti = TI_0;
4016 prim->sdu.aim.entity.RR->D_SYS_INFO_8.si8_rest_oct = si8_rest_oct_1();
4017 return prim;
4018 }
4019
4020 T_PRIMITIVE_UNION mph_unitdata_ind_50()
4021 {
4022 T_MPH_UNITDATA_IND prim;
4023 prim->arfcn = ARFCN_14;
4024 prim->fn._skip;
4025 prim->sdu.aim.ti = TI_0;
4026 prim->sdu.aim.entity.RR->D_SYS_INFO_8.si8_rest_oct = si8_rest_oct_1();
4027 return prim;
4028 }
4029
4030 T_PRIMITIVE_UNION mph_unitdata_ind_51()
4031 {
4032 T_MPH_UNITDATA_IND prim;
4033 prim->arfcn = ARFCN_124;
4034 prim->fn._skip;
4035 prim->sdu.aim.ti = TI_0;
4036 prim->sdu.aim.entity.RR->D_SYS_INFO_8.si8_rest_oct = si8_rest_oct_1();
4037 return prim;
4038 }
4039 #endif
4040 /* UNITDATA PCH,CCCH */
4041 T_PRIMITIVE_UNION mph_unitdata_ind_10()
4042 {
4043 T_MPH_UNITDATA_IND prim;
4044 prim->arfcn = ARFCN_23;
4045 prim->fn._skip;
4046 prim->sdu.aim.ti = TI_0;
4047 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.tma = TMA_0;
4048 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.dl = DL_0;
4049 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.d_t = D_T_DED;
4050 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.page_mode = page_mode_1();
4051 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.chan_desc = chan_desc_1();
4052 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.pck_chan_desc._skip;
4053 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.req_ref = req_ref_1();
4054 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.time_advance = time_advance_1();
4055 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.mob_alloc = mob_alloc_1();
4056 return prim;
4057 }
4058 T_PRIMITIVE_UNION mph_unitdata_ind_11()
4059 {
4060 T_MPH_UNITDATA_IND prim;
4061 prim->arfcn = ARFCN_23;
4062 prim->fn._skip;
4063 prim->sdu.aim.ti = TI_0;
4064 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.tma = TMA_0;
4065 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.dl = DL_0;
4066 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.d_t = D_T_DED;
4067 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.page_mode = page_mode_1();
4068 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.chan_desc.chan_type= SDCCH_4_S1; //chan_desc_2();
4069 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.chan_desc.tn=3;
4070 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.chan_desc.tsc=2;
4071 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.chan_desc.hop=HOP_YES;
4072 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.chan_desc.arfcn._skip;
4073 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.chan_desc.maio=18;
4074 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.chan_desc.hsn=20;
4075 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.pck_chan_desc._skip;
4076 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.req_ref = req_ref_1();
4077 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.time_advance.ta = 0x1B;//time_advance_2();
4078 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.mob_alloc = mob_alloc_1();
4079 return prim;
4080 }
4081 T_PRIMITIVE_UNION mph_unitdata_ind_15()
4082 {
4083 T_MPH_UNITDATA_IND prim;
4084 prim->arfcn = ARFCN_14;
4085 prim->fn._skip;
4086 prim->sdu.aim.ti = TI_0;
4087 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.tma = TMA_0;
4088 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.dl = DL_0;
4089 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.d_t = D_T_DED;
4090 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.page_mode = page_mode_1();
4091 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.chan_desc = chan_desc_1();
4092 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.pck_chan_desc._skip;
4093 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.req_ref = req_ref_1();
4094 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.time_advance = time_advance_1();
4095 prim->sdu.aim.entity.RR->D_IMM_ASSIGN.mob_alloc = mob_alloc_1();
4096 return prim;
4097 }
4098 T_PRIMITIVE_UNION mph_unitdata_ind_16()
4099 {
4100 T_MPH_UNITDATA_IND prim;
4101 prim->arfcn = ARFCN_14;
4102 prim->fn._skip;
4103 prim->sdu.aim.ti = TI_0;
4104 prim->sdu.aim.entity.RR->D_SYS_INFO_5.neigh_cell_desc.raw = neigh_cell_desc_2();
4105 return prim;
4106 }
4107 T_PRIMITIVE_UNION mph_unitdata_ind_17()
4108 {
4109 T_MPH_UNITDATA_IND prim;
4110 prim->arfcn = ARFCN_14;
4111 prim->fn._skip;
4112 prim->sdu.aim.ti = TI_0;
4113 prim->sdu.aim.entity.RR->D_SYS_INFO_5BIS.neigh_cell_desc.raw = neigh_cell_desc_2();
4114 return prim;
4115 }
4116 T_PRIMITIVE_UNION mph_unitdata_ind_18()
4117 {
4118 T_MPH_UNITDATA_IND prim;
4119 prim->arfcn = ARFCN_14;
4120 prim->fn._skip;
4121 prim->sdu.aim.ti = TI_0;
4122 prim->sdu.aim.entity.RR->D_SYS_INFO_6.cell_ident = CELL_IDENT_2;
4123 prim->sdu.aim.entity.RR->D_SYS_INFO_6.loc_area_ident = loc_area_ident_2();
4124 prim->sdu.aim.entity.RR->D_SYS_INFO_6.cell_opt_sacch = cell_opt_sacch_1();
4125 prim->sdu.aim.entity.RR->D_SYS_INFO_6.ncc_permit = NCC_PERMIT_2;
4126 prim->sdu.aim.entity.RR->D_SYS_INFO_6.si6_rest_oct._skip;
4127 return prim;
4128 }
4129 T_PRIMITIVE_UNION mph_unitdata_ind_19()
4130 {
4131 T_MPH_UNITDATA_IND prim;
4132 prim->arfcn = ARFCN_14;
4133 prim->fn._skip;
4134 prim->sdu.aim.ti = TI_0;
4135 prim->sdu.aim.entity.RR->D_SYS_INFO_6.cell_ident = CELL_IDENT_3;
4136 prim->sdu.aim.entity.RR->D_SYS_INFO_6.loc_area_ident = loc_area_ident_2();
4137 prim->sdu.aim.entity.RR->D_SYS_INFO_6.cell_opt_sacch = cell_opt_sacch_1();
4138 prim->sdu.aim.entity.RR->D_SYS_INFO_6.ncc_permit = NCC_PERMIT_2;
4139 prim->sdu.aim.entity.RR->D_SYS_INFO_6.si6_rest_oct._skip;
4140 return prim;
4141 }
4142 T_PRIMITIVE_UNION mph_error_ind_1()
4143 {
4144 T_MPH_ERROR_IND prim;
4145 prim->cs = CS_BCCH_READ_ERROR;
4146 prim->arfcn = ARFCN_23;
4147 return prim;
4148 }
4149
4150 T_PRIMITIVE_UNION mph_error_ind_radio_link_fail()
4151 {
4152 T_MPH_ERROR_IND prim;
4153 prim->cs = CS_RADIO_LINK_FAIL;
4154 prim->arfcn = ARFCN_14;
4155 return prim;
4156 }
4157
4158 T_PRIMITIVE_UNION mph_error_ind_2()
4159 {
4160 T_MPH_ERROR_IND prim;
4161 prim->cs = CS_DOWN_LINK_FAIL;
4162 prim->arfcn = ARFCN_23;
4163 return prim;
4164 }
4165
4166 T_PRIMITIVE_UNION mph_error_ind_3()
4167 {
4168 T_MPH_ERROR_IND prim;
4169 prim->cs = CS_BCCH_READ_ERROR;
4170 prim->arfcn = ARFCN_14;
4171 return prim;
4172 }
4173 T_PRIMITIVE_UNION mph_error_ind_4()
4174 {
4175 T_MPH_ERROR_IND prim;
4176 prim->cs = CS_BCCH_READ_ERROR;
4177 prim->arfcn = ARFCN_637;
4178 return prim;
4179 }
4180
4181 T_PRIMITIVE_UNION mph_error_ind_5()
4182 {
4183 T_MPH_ERROR_IND prim;
4184 prim->cs = CS_NC_SYNC_FAILED;
4185 prim->arfcn = ARFCN_14;
4186 return prim;
4187 }
4188
4189 T_PRIMITIVE_UNION mphc_stop_scell_bcch_req()
4190 {
4191 T_MPHC_STOP_SCELL_BCCH_REQ prim;
4192 prim->param._skip;
4193 return prim;
4194 }
4195 T_PRIMITIVE_UNION mphc_stop_scell_bcch_con()
4196 {
4197 T_MPHC_STOP_SCELL_BCCH_CON prim;
4198 prim->param._skip;
4199 return prim;
4200 }
4201
4202 T_PRIMITIVE_UNION mph_classmark_req_1()
4203 {
4204 T_MPH_CLASSMARK_REQ prim;
4205 prim->classmark.pclass = 4;
4206 prim->classmark.pclass2 = 0;
4207 return prim;
4208 }
4209 T_PRIMITIVE_UNION mph_classmark_req_2()
4210 {
4211 T_MPH_CLASSMARK_REQ prim;
4212 prim->classmark.pclass2=CLASS_1;
4213 prim->classmark.pclass=CLASS_1;
4214 return prim;
4215 }
4216 T_PRIMITIVE_UNION mph_classmark_req_3()
4217 {
4218 T_MPH_CLASSMARK_REQ prim;
4219 prim->classmark.pclass = CLASS_4;
4220 prim->classmark.pclass2 = CLASS_2; //class_dual();
4221 return prim;
4222 }
4223
4224 T_PRIMITIVE_UNION mph_idle_req_1(CHAR variant)
4225 {
4226 T_MPH_IDLE_REQ prim;
4227 prim->mod = MODE_CELL_SELECTION;
4228 prim->arfcn = ARFCN_14;
4229 prim->ext_bcch._skip;
4230 if (variant == 'A') prim->comb_ccch = COMB_CCCH_COMB;
4231 if (variant == 'B') prim->comb_ccch = COMB_CCCH_COMB;
4232 if (variant == 'C') prim->comb_ccch = COMB_CCCH_NOT_COMB;
4233 prim->tn = TN_0;
4234 prim->dlt = DLT_10;
4235 prim->pg = PG_20;
4236 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
4237 prim->bs_pa_mfrms = BS_PA_MFRMS_6;
4238 prim->power = POWER_12;
4239 prim->ncc_permitted = NOT_PRESENT_8BIT;
4240 prim->reorg_only._skip;
4241 prim->eotd_avail = EOTD_NOT_PRES;
4242 prim->gprs_support._skip;
4243 return prim;
4244 }
4245 T_PRIMITIVE_UNION mph_idle_req_2()
4246 {
4247 T_MPH_IDLE_REQ prim;
4248 prim->mod = MODE_CELL_SELECTION;
4249 prim->arfcn = ARFCN_23;
4250 prim->ext_bcch._skip;
4251 prim->comb_ccch = COMB_CCCH_COMB;
4252 prim->tn = TN_0;
4253 prim->dlt = DLT_10;
4254 prim->pg = PG_20;
4255 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
4256 prim->bs_pa_mfrms = BS_PA_MFRMS_6;
4257 prim->power = POWER_12;
4258 prim->ncc_permitted = NOT_PRESENT_8BIT;
4259 prim->reorg_only._skip;
4260 prim->eotd_avail = EOTD_NOT_PRES;
4261 prim->gprs_support._skip;
4262 return prim;
4263 }
4264 T_PRIMITIVE_UNION mph_idle_req_3(CHAR variant)
4265 {
4266 T_MPH_IDLE_REQ prim;
4267 prim->mod = MODE_CELL_SELECTION;
4268 prim->arfcn = ARFCN_23;
4269 prim->ext_bcch._skip;
4270 prim->comb_ccch = COMB_CCCH_COMB;
4271 if (variant == 'A') prim->tn = TN_0;
4272 if (variant == 'B') prim->tn = TN_4;
4273 prim->dlt = DLT_24;
4274 prim->pg = PG_23;
4275 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_2;
4276 prim->bs_pa_mfrms = BS_PA_MFRMS_5;
4277 prim->power = POWER_12;
4278 prim->ncc_permitted = NOT_PRESENT_8BIT;
4279 prim->reorg_only._skip;
4280 prim->eotd_avail = EOTD_NOT_PRES;
4281 prim->gprs_support._skip;
4282 return prim;
4283 }
4284 T_PRIMITIVE_UNION mph_idle_req_4(CHAR variant)
4285 {
4286 T_MPH_IDLE_REQ prim;
4287 prim->mod._skip;
4288 prim->arfcn = ARFCN_23;
4289 prim->ext_bcch._skip;
4290 prim->comb_ccch = COMB_CCCH_NOT_COMB;
4291 prim->tn = TN_0;
4292 prim->dlt = DLT_24;
4293 prim->pg = PG_11;
4294 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_2;
4295 if (variant == 'A') prim->bs_pa_mfrms = BS_PA_MFRMS_0;
4296 if (variant == 'B') prim->bs_pa_mfrms = BS_PA_MFRMS_1;
4297 if (variant == 'C') prim->bs_pa_mfrms = BS_PA_MFRMS_2;
4298 if (variant == 'D') prim->bs_pa_mfrms = BS_PA_MFRMS_3;
4299 if (variant == 'E') prim->bs_pa_mfrms = BS_PA_MFRMS_4;
4300 if (variant == 'F') prim->bs_pa_mfrms = BS_PA_MFRMS_5;
4301 if (variant == 'G') prim->bs_pa_mfrms = BS_PA_MFRMS_6;
4302 if (variant == 'H') prim->bs_pa_mfrms = BS_PA_MFRMS_7;
4303
4304 prim->power = POWER_12;
4305 prim->ncc_permitted = NOT_PRESENT_8BIT;
4306 prim->reorg_only._skip;
4307 prim->eotd_avail = EOTD_NOT_PRES;
4308 prim->gprs_support._skip;
4309 #ifdef FF_EGPRS
4310 prim->si2quater_status = SI2QUATER_ABSENT;
4311 prim->si2quater_pos = SI2QUATER_ON_NBCCH;
4312 #endif // FF_EGPRS
4313 if (variant == 'I') {
4314 prim->bs_pa_mfrms = BS_PA_MFRMS_7;
4315 #ifdef FF_EGPRS
4316 prim->si2quater_status = SI2QUATER_CONFIGURE;
4317 prim->si2quater_pos = SI2QUATER_ON_EBCCH;
4318 #endif // FF_EGPRS
4319 prim->gprs_support = MPH_GPRS_PROCS_NOT_USED;
4320 }
4321 if (variant == 'J') {
4322 prim->bs_pa_mfrms = BS_PA_MFRMS_7;
4323 #ifdef FF_EGPRS
4324 prim->si2quater_status = SI2QUATER_CONFIGURE;
4325 prim->si2quater_pos = SI2QUATER_ON_NBCCH;
4326 #endif // FF_EGPRS
4327 prim->gprs_support = MPH_GPRS_PROCS_NOT_USED;
4328 }
4329 if (variant == 'K') {
4330 prim->bs_pa_mfrms = BS_PA_MFRMS_7;
4331 #ifdef FF_EGPRS
4332 prim->si2quater_status = SI2QUATER_CONFIGURE;
4333 prim->si2quater_pos = SI2QUATER_ON_EBCCH;
4334 #endif // FF_EGPRS
4335 prim->gprs_support = MPH_GPRS_PROCS_USED;
4336 }
4337 return prim;
4338 }
4339
4340 T_PRIMITIVE_UNION mph_idle_req_resel()
4341 {
4342 T_MPH_IDLE_REQ prim;
4343 prim->mod = MODE_CELL_RESELECTION;
4344 prim->arfcn = ARFCN_23;
4345 prim->ext_bcch._skip;
4346 prim->comb_ccch = COMB_CCCH_NOT_COMB;
4347 prim->tn = TN_0;
4348 prim->dlt = DLT_24;
4349 prim->pg = PG_11;
4350 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_2;
4351 prim->bs_pa_mfrms = BS_PA_MFRMS_0;
4352 prim->power = POWER_12;
4353 prim->ncc_permitted = NOT_PRESENT_8BIT;
4354 prim->reorg_only._skip;
4355 prim->eotd_avail = EOTD_NOT_PRES;
4356 prim->gprs_support._skip;
4357 return prim;
4358 }
4359
4360 T_PRIMITIVE_UNION mph_idle_req_cell_sel()
4361 {
4362 T_MPH_IDLE_REQ prim;
4363 prim->mod = MODE_CELL_SELECTION;
4364 prim->arfcn = ARFCN_23;
4365 prim->ext_bcch._skip;
4366 prim->comb_ccch = COMB_CCCH_NOT_COMB;
4367 prim->tn = TN_0;
4368 prim->dlt = DLT_24;
4369 prim->pg = PG_11;
4370 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_2;
4371 prim->bs_pa_mfrms = BS_PA_MFRMS_4;
4372 prim->power = POWER_12;
4373 prim->ncc_permitted = NOT_PRESENT_8BIT;
4374 prim->reorg_only._skip;
4375 prim->eotd_avail = EOTD_NOT_PRES;
4376 prim->gprs_support._skip;
4377 return prim;
4378 }
4379
4380
4381 T_PRIMITIVE_UNION mph_idle_req_5(CHAR variant)
4382 {
4383 T_MPH_IDLE_REQ prim;
4384 prim->mod._skip;
4385 if (variant == 'E')
4386 prim->mod = MODE_CELL_RESELECTION;
4387 else // variant 'A' .. 'D'
4388 prim->mod = MODE_CELL_SELECTION;
4389 prim->arfcn = ARFCN_23;
4390 if (variant == 'E')
4391 prim->ext_bcch = BSIC_16; // just for stressing the entity with a wrong value
4392 else // variant 'A' .. 'D'
4393 prim->ext_bcch = BSIC_1;
4394 prim->comb_ccch = COMB_CCCH_NOT_COMB;
4395 prim->tn = TN_0;
4396 prim->dlt = DLT_10;
4397 prim->pg = PG_20;
4398 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
4399 prim->bs_pa_mfrms = BS_PA_MFRMS_4;
4400 prim->power = POWER_12;
4401 if (variant == 'A') prim->ncc_permitted = NOT_PRESENT_8BIT;
4402 if (variant == 'B') prim->ncc_permitted = NOT_PRESENT_8BIT;
4403 if (variant == 'C') prim->ncc_permitted = NOT_PRESENT_8BIT;
4404 if (variant == 'D') prim->ncc_permitted = NCC_PERMITTED_4;
4405 if (variant == 'E') prim->ncc_permitted = NOT_PRESENT_8BIT;
4406 prim->reorg_only._skip;
4407 prim->eotd_avail = EOTD_NOT_PRES;
4408 prim->gprs_support._skip;
4409 return prim;
4410 }
4411 T_PRIMITIVE_UNION mph_idle_req_6()
4412 {
4413 T_MPH_IDLE_REQ prim;
4414 prim->mod._skip;
4415 prim->arfcn = ARFCN_23;
4416 prim->ext_bcch._skip;
4417 prim->comb_ccch = COMB_CCCH_NOT_COMB;
4418 prim->tn = TN_0;
4419 prim->dlt = DLT_10;
4420 prim->pg = PG_20;
4421 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
4422 prim->bs_pa_mfrms = BS_PA_MFRMS_6;
4423 prim->power = POWER_12;
4424 prim->ncc_permitted = NOT_PRESENT_8BIT;
4425 prim->reorg_only._skip;
4426 prim->eotd_avail = EOTD_NOT_PRES;
4427 prim->gprs_support._skip;
4428 return prim;
4429 }
4430 T_PRIMITIVE_UNION mph_idle_req_7(CHAR variant)
4431 {
4432 T_MPH_IDLE_REQ prim;
4433 prim->mod = MODE_CELL_SELECTION;
4434 prim->arfcn = ARFCN_580;
4435 prim->ext_bcch._skip;
4436 if (variant == 'A') prim->comb_ccch = COMB_CCCH_COMB;
4437 if (variant == 'B') prim->comb_ccch = COMB_CCCH_COMB;
4438 if (variant == 'C') prim->comb_ccch = COMB_CCCH_NOT_COMB;
4439 prim->tn = TN_0;
4440 prim->dlt = DLT_10;
4441 prim->pg = PG_20;
4442 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
4443 prim->bs_pa_mfrms = BS_PA_MFRMS_6;
4444 prim->power = POWER_12;
4445 prim->ncc_permitted = NOT_PRESENT_8BIT;
4446 prim->reorg_only._skip;
4447 prim->eotd_avail = EOTD_NOT_PRES;
4448 prim->gprs_support._skip;
4449 return prim;
4450 }
4451 T_PRIMITIVE_UNION mph_idle_req_8()
4452 {
4453 T_MPH_IDLE_REQ prim;
4454 prim->mod = MODE_CELL_SELECTION;
4455 prim->arfcn = ARFCN_637;
4456 prim->ext_bcch._skip;
4457 prim->comb_ccch = COMB_CCCH_COMB;
4458 prim->tn = TN_0;
4459 prim->dlt = DLT_10;
4460 prim->pg = PG_20;
4461 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
4462 prim->bs_pa_mfrms = BS_PA_MFRMS_6;
4463 prim->power = POWER_12;
4464 prim->ncc_permitted = NOT_PRESENT_8BIT;
4465 prim->reorg_only._skip;
4466 prim->eotd_avail = EOTD_NOT_PRES;
4467 prim->gprs_support._skip;
4468 return prim;
4469 }
4470 T_PRIMITIVE_UNION mph_idle_req_9()
4471 {
4472 T_MPH_IDLE_REQ prim;
4473 prim->mod = MODE_CELL_SELECTION;
4474 prim->arfcn = ARFCN_637;
4475 prim->ext_bcch._skip;
4476 prim->comb_ccch = COMB_CCCH_NOT_COMB;
4477 prim->tn = TN_0;
4478 prim->dlt = DLT_10;
4479 prim->pg = PG_20;
4480 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
4481 prim->bs_pa_mfrms = BS_PA_MFRMS_6;
4482 prim->power = POWER_12;
4483 prim->ncc_permitted = NOT_PRESENT_8BIT;
4484 prim->reorg_only._skip;
4485 prim->eotd_avail = EOTD_NOT_PRES;
4486 prim->gprs_support._skip;
4487 return prim;
4488 }
4489 T_PRIMITIVE_UNION mph_idle_req_10()
4490 {
4491 T_MPH_IDLE_REQ prim;
4492 prim->mod = MODE_CELL_SELECTION;
4493 prim->arfcn = ARFCN_23;
4494 prim->ext_bcch._skip;
4495 prim->comb_ccch = COMB_CCCH_NOT_COMB;
4496 prim->tn = TN_0;
4497 prim->dlt = DLT_10;
4498 prim->pg = PG_20;
4499 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
4500 prim->bs_pa_mfrms = BS_PA_MFRMS_6;
4501 prim->power = POWER_12;
4502 prim->ncc_permitted = NOT_PRESENT_8BIT;
4503 prim->reorg_only._skip;
4504 prim->eotd_avail = EOTD_NOT_PRES;
4505 prim->gprs_support._skip;
4506 return prim;
4507 }
4508 T_PRIMITIVE_UNION mph_idle_req_11()
4509 {
4510 T_MPH_IDLE_REQ prim;
4511 prim->mod._skip;
4512 prim->arfcn = ARFCN_23;
4513 prim->ext_bcch._skip;
4514 prim->comb_ccch = COMB_CCCH_NOT_COMB;
4515 prim->tn = TN_0;
4516 prim->dlt = DLT_10;
4517 prim->pg = PG_20;
4518 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
4519 prim->bs_pa_mfrms = BS_PA_MFRMS_4;
4520 prim->power = POWER_12;
4521 prim->ncc_permitted = NOT_PRESENT_8BIT;
4522 prim->reorg_only._skip;
4523 prim->eotd_avail = EOTD_NOT_PRES;
4524 prim->gprs_support._skip;
4525 return prim;
4526 }
4527 T_PRIMITIVE_UNION mph_idle_req_12()
4528 {
4529 T_MPH_IDLE_REQ prim;
4530 prim->mod._skip;
4531 prim->arfcn = ARFCN_578;
4532 prim->ext_bcch._skip;
4533 prim->comb_ccch = COMB_CCCH_NOT_COMB;
4534 prim->tn = TN_0;
4535 prim->dlt = DLT_10;
4536 prim->pg = PG_20;
4537 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
4538 prim->bs_pa_mfrms = BS_PA_MFRMS_4;
4539 prim->power = POWER_12;
4540 prim->ncc_permitted = NOT_PRESENT_8BIT;
4541 prim->reorg_only._skip;
4542 prim->eotd_avail = EOTD_NOT_PRES;
4543 prim->gprs_support._skip;
4544 return prim;
4545 }
4546 T_PRIMITIVE_UNION mph_idle_req_13()
4547 {
4548 T_MPH_IDLE_REQ prim;
4549 prim->mod._skip;
4550 prim->arfcn = ARFCN_637;
4551 prim->ext_bcch._skip;
4552 prim->comb_ccch = COMB_CCCH_NOT_COMB;
4553 prim->tn = TN_0;
4554 prim->dlt = DLT_10;
4555 prim->pg = PG_20;
4556 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
4557 prim->bs_pa_mfrms = BS_PA_MFRMS_4;
4558 prim->power = POWER_12;
4559 prim->ncc_permitted = NOT_PRESENT_8BIT;
4560 prim->reorg_only._skip;
4561 prim->eotd_avail = EOTD_NOT_PRES;
4562 prim->gprs_support._skip;
4563 return prim;
4564 }
4565 T_PRIMITIVE_UNION mph_idle_req_14()
4566 {
4567 T_MPH_IDLE_REQ prim;
4568 prim->mod = MODE_CELL_SELECTION;
4569 prim->arfcn = ARFCN_14;
4570 prim->ext_bcch._skip;
4571 prim->comb_ccch = COMB_CCCH_NOT_COMB;
4572 prim->tn = TN_0;
4573 prim->dlt = DLT_10;
4574 prim->pg = PG_20;
4575 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
4576 prim->bs_pa_mfrms = BS_PA_MFRMS_6;
4577 prim->power = POWER_12;
4578 prim->ncc_permitted = NOT_PRESENT_8BIT;
4579 prim->reorg_only._skip;
4580 prim->eotd_avail = EOTD_NOT_PRES;
4581 prim->gprs_support._skip;
4582 return prim;
4583 }
4584 T_PRIMITIVE_UNION mph_idle_req_15()
4585 {
4586 T_MPH_IDLE_REQ prim;
4587 prim->mod = MODE_CELL_RESELECTION;
4588 prim->arfcn = ARFCN_14;
4589 prim->ext_bcch._skip;
4590 prim->comb_ccch = COMB_CCCH_NOT_COMB;
4591 prim->tn = TN_0;
4592 prim->dlt = DLT_10;
4593 prim->pg = PG_20;
4594 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
4595 prim->bs_pa_mfrms = BS_PA_MFRMS_6;
4596 prim->power = POWER_12;
4597 prim->ncc_permitted = NOT_PRESENT_8BIT;
4598 prim->reorg_only._skip;
4599 prim->eotd_avail = EOTD_NOT_PRES;
4600 prim->gprs_support._skip;
4601 return prim;
4602 }
4603 T_PRIMITIVE_UNION mph_idle_req_15g()
4604 {
4605 T_MPH_IDLE_REQ prim;
4606 prim->mod = MODE_CELL_RESELECTION;
4607 prim->arfcn = ARFCN_14;
4608 prim->ext_bcch._skip;
4609 prim->comb_ccch = COMB_CCCH_NOT_COMB;
4610 prim->tn = TN_0;
4611 prim->dlt = DLT_10;
4612 prim->pg = PG_20;
4613 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
4614 prim->bs_pa_mfrms = BS_PA_MFRMS_6;
4615 prim->power = POWER_12;
4616 prim->ncc_permitted = NOT_PRESENT_8BIT;
4617 prim->reorg_only._skip;
4618 prim->eotd_avail = EOTD_NOT_PRES;
4619 prim->gprs_support = MPH_GPRS_PROCS_USED;
4620 return prim;
4621 }
4622 T_PRIMITIVE_UNION mph_idle_req_16()
4623 {
4624 T_MPH_IDLE_REQ prim;
4625 prim->mod = MODE_CELL_SELECTION;
4626 prim->arfcn = ARFCN_14;
4627 prim->ext_bcch._skip;
4628 prim->comb_ccch = COMB_CCCH_NOT_COMB;
4629 prim->tn = TN_0;
4630 prim->dlt = DLT_10;
4631 prim->pg = PG_1;
4632 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_5;
4633 prim->bs_pa_mfrms = BS_PA_MFRMS_2;
4634 prim->power = POWER_12;
4635 prim->ncc_permitted = NOT_PRESENT_8BIT;
4636 prim->reorg_only._skip;
4637 prim->eotd_avail = EOTD_NOT_PRES;
4638 prim->gprs_support._skip;
4639 return prim;
4640 }
4641 T_PRIMITIVE_UNION mph_idle_req_17()
4642 {
4643 T_MPH_IDLE_REQ prim;
4644 prim->mod = MODE_CELL_RESELECTION;
4645 prim->arfcn = ARFCN_23;
4646 prim->ext_bcch._skip;
4647 prim->comb_ccch = COMB_CCCH_COMB;
4648 prim->tn = TN_0;
4649 prim->dlt = DLT_10;
4650 prim->pg = PG_20;
4651 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
4652 prim->bs_pa_mfrms = BS_PA_MFRMS_6;
4653 prim->power = POWER_12;
4654 prim->ncc_permitted = NOT_PRESENT_8BIT;
4655 prim->reorg_only._skip;
4656 prim->eotd_avail = EOTD_NOT_PRES;
4657 prim->gprs_support._skip;
4658 return prim;
4659 }
4660 T_PRIMITIVE_UNION mph_idle_req_20()
4661 {
4662 T_MPH_IDLE_REQ prim;
4663 prim->mod = MODE_CELL_RESELECTION;
4664 prim->arfcn = ARFCN_1;
4665 prim->ext_bcch = NORMAL_PGM;
4666 prim->comb_ccch = COMB_CCCH_NOT_COMB;
4667 prim->tn = TN_0;
4668 prim->dlt = DLT_10;
4669 prim->pg = PG_20;
4670 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
4671 prim->bs_pa_mfrms = BS_PA_MFRMS_4;
4672 prim->power = POWER_12;
4673 prim->ncc_permitted = NOT_PRESENT_8BIT;
4674 prim->reorg_only._skip;
4675 prim->eotd_avail = EOTD_NOT_PRES;
4676 prim->gprs_support._skip;
4677 return prim;
4678 }
4679 T_PRIMITIVE_UNION mph_idle_req_21()
4680 {
4681 T_MPH_IDLE_REQ prim;
4682 prim->mod = MODE_CELL_RESELECTION;
4683 prim->arfcn = ARFCN_23;
4684 prim->ext_bcch = NORMAL_PGM;
4685 prim->comb_ccch = COMB_CCCH_NOT_COMB;
4686 prim->tn = TN_0;
4687 prim->dlt = DLT_10;
4688 prim->pg = PG_20;
4689 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
4690 prim->bs_pa_mfrms = BS_PA_MFRMS_4;
4691 prim->power = POWER_12;
4692 prim->ncc_permitted = NOT_PRESENT_8BIT;
4693 prim->reorg_only._skip;
4694 prim->eotd_avail = EOTD_NOT_PRES;
4695 prim->gprs_support._skip;
4696 return prim;
4697 }
4698 T_PRIMITIVE_UNION mph_idle_req_22()
4699 {
4700 T_MPH_IDLE_REQ prim;
4701 prim->mod = MODE_CELL_SELECTION;
4702 prim->arfcn = ARFCN_23;
4703 prim->ext_bcch = NORMAL_PGM;
4704 prim->comb_ccch = COMB_CCCH_NOT_COMB;
4705 prim->tn = TN_0;
4706 prim->dlt = DLT_10;
4707 prim->pg = PG_20;
4708 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
4709 prim->bs_pa_mfrms = BS_PA_MFRMS_4;
4710 prim->power = POWER_12;
4711 prim->ncc_permitted = NOT_PRESENT_8BIT;
4712 prim->reorg_only._skip;
4713 prim->eotd_avail = EOTD_PRES;
4714 prim->gprs_support._skip;
4715 return prim;
4716 }
4717 T_PRIMITIVE_UNION mph_idle_req_23()
4718 {
4719 T_MPH_IDLE_REQ prim;
4720 prim->mod = MODE_CELL_RESELECTION;
4721 prim->arfcn = ARFCN_14;
4722 prim->ext_bcch._skip;
4723 prim->comb_ccch = COMB_CCCH_NOT_COMB;
4724 prim->tn = TN_0;
4725 prim->dlt = DLT_10;
4726 prim->pg = PG_20;
4727 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
4728 prim->bs_pa_mfrms = BS_PA_MFRMS_6;
4729 prim->power = POWER_12;
4730 prim->ncc_permitted = NOT_PRESENT_8BIT;
4731 prim->reorg_only._skip;
4732 prim->eotd_avail = EOTD_PRES;
4733 prim->gprs_support._skip;
4734 return prim;
4735 }
4736
4737
4738 T_PRIMITIVE_UNION mphc_start_ccch_req_1(CHAR variant)
4739 {
4740 T_MPHC_START_CCCH_REQ prim;
4741 prim->bs_pa_mfrms = BS_PA_MFRMS_8;
4742 prim->bs_ag_blks_res = BS_AG_BLKS_RES_3;
4743 if (variant == 'A') prim->bcch_combined = COMB_CCCH_COMB;
4744 if (variant == 'B') prim->bcch_combined = COMB_CCCH_COMB;
4745 if (variant == 'C') prim->bcch_combined = COMB_CCCH_NOT_COMB;
4746 prim->ccch_group = CCCH_GROUP_0;
4747 prim->page_group = PG_20;
4748 if (variant == 'A') prim->page_block_index = PBI_0;
4749 if (variant == 'B') prim->page_block_index = PBI_0;
4750 if (variant == 'C') prim->page_block_index = PBI_2;
4751 prim->page_mode = PGM_REORG;
4752 return prim;
4753 }
4754 T_PRIMITIVE_UNION mphc_start_ccch_req_2()
4755 {
4756 T_MPHC_START_CCCH_REQ prim;
4757 prim->bs_pa_mfrms = BS_PA_MFRMS_8;
4758 prim->bs_ag_blks_res = BS_AG_BLKS_RES_3;
4759 prim->bcch_combined = COMB_CCCH_COMB;
4760 prim->ccch_group = CCCH_GROUP_0;
4761 prim->page_group = PG_20;
4762 prim->page_block_index = PBI_0;
4763 prim->page_mode = PGM_REORG;
4764 return prim;
4765 }
4766 T_PRIMITIVE_UNION mphc_start_ccch_req_3(CHAR variant)
4767 {
4768 T_MPHC_START_CCCH_REQ prim;
4769 prim->bs_pa_mfrms = BS_PA_MFRMS_7;
4770 prim->bs_ag_blks_res = BS_AG_BLKS_RES_2;
4771 prim->bcch_combined = COMB_CCCH_COMB;
4772 if (variant == 'A') prim->ccch_group = CCCH_GROUP_0;
4773 if (variant == 'B') prim->ccch_group = CCCH_GROUP_2;
4774 prim->page_group = PG_23;
4775 prim->page_block_index = PBI_0;
4776 prim->page_mode = PGM_REORG;
4777 return prim;
4778 }
4779 T_PRIMITIVE_UNION mphc_start_ccch_req_4()
4780 {
4781 T_MPHC_START_CCCH_REQ prim;
4782 prim->bs_pa_mfrms = BS_PA_MFRMS_7;
4783 prim->bs_ag_blks_res = BS_AG_BLKS_RES_2;
4784 prim->bcch_combined = COMB_CCCH_COMB;
4785 prim->ccch_group = CCCH_GROUP_2;
4786 prim->page_group = PG_23;
4787 prim->page_block_index = PBI_0;
4788 prim->page_mode = PGM_EXTENDED;
4789 return prim;
4790 }
4791 T_PRIMITIVE_UNION mphc_start_ccch_req(U8 bs_pa_mfrms, U8 bs_ag_blks_res, U8 bcch_combined, U8 ccch_group, U8 page_group, U8 page_block_index, U8 page_mode )
4792 {
4793 T_MPHC_START_CCCH_REQ prim;
4794 prim->bs_pa_mfrms = bs_pa_mfrms ;
4795 prim->bs_ag_blks_res = bs_ag_blks_res ;
4796 prim->bcch_combined = bcch_combined ;
4797 prim->ccch_group = ccch_group ;
4798 prim->page_group = page_group ;
4799 prim->page_block_index = page_block_index;
4800 prim->page_mode = page_mode ;
4801 return prim;
4802 }
4803 T_PRIMITIVE_UNION mphc_start_ccch_req_4_reorg()
4804 {
4805 T_MPHC_START_CCCH_REQ prim;
4806 prim->bs_pa_mfrms = BS_PA_MFRMS_7;
4807 prim->bs_ag_blks_res = BS_AG_BLKS_RES_2;
4808 prim->bcch_combined = COMB_CCCH_COMB;
4809 prim->ccch_group = CCCH_GROUP_2;
4810 prim->page_group = PG_23;
4811 prim->page_block_index = PBI_0;
4812 prim->page_mode = PGM_REORG;
4813 return prim;
4814 }
4815
4816 T_PRIMITIVE_UNION mphc_start_ccch_req_5()
4817 {
4818 T_MPHC_START_CCCH_REQ prim;
4819 prim->bs_pa_mfrms = BS_PA_MFRMS_2;
4820 prim->bs_ag_blks_res = BS_AG_BLKS_RES_7;
4821 prim->bcch_combined = COMB_CCCH_NOT_COMB;
4822 prim->ccch_group = CCCH_GROUP_0;
4823 prim->page_group = PG_0;
4824 prim->page_block_index = PBI_0;
4825 prim->page_mode = PGM_REORG;
4826 return prim;
4827 }
4828
4829
4830 T_PRIMITIVE_UNION mphc_start_ccch_req_6()
4831 {
4832 T_MPHC_START_CCCH_REQ prim;
4833 prim->bs_pa_mfrms = BS_PA_MFRMS_7;
4834 prim->bs_ag_blks_res = BS_AG_BLKS_RES_2;
4835 prim->bcch_combined = COMB_CCCH_COMB;
4836 prim->ccch_group = CCCH_GROUP_2;
4837 prim->page_group = PG_23;
4838 prim->page_block_index = PBI_0;
4839 prim->page_mode = PGM_NORMAL;
4840 return prim;
4841 }
4842
4843 T_PRIMITIVE_UNION mphc_start_ccch_req_6_reorg()
4844 {
4845 T_MPHC_START_CCCH_REQ prim;
4846 prim->bs_pa_mfrms = BS_PA_MFRMS_7;
4847 prim->bs_ag_blks_res = BS_AG_BLKS_RES_2;
4848 prim->bcch_combined = COMB_CCCH_COMB;
4849 prim->ccch_group = CCCH_GROUP_2;
4850 prim->page_group = PG_23;
4851 prim->page_block_index = PBI_0;
4852 prim->page_mode = PGM_REORG;
4853 return prim;
4854 }
4855
4856 T_PRIMITIVE_UNION mphc_start_ccch_req_7(CHAR variant)
4857 {
4858 T_MPHC_START_CCCH_REQ prim;
4859 if (variant == 'A') prim->bs_pa_mfrms = BS_PA_MFRMS_2;
4860 if (variant == 'B') prim->bs_pa_mfrms = BS_PA_MFRMS_3;
4861 if (variant == 'C') prim->bs_pa_mfrms = BS_PA_MFRMS_4;
4862 if (variant == 'D') prim->bs_pa_mfrms = BS_PA_MFRMS_5;
4863 if (variant == 'E') prim->bs_pa_mfrms = BS_PA_MFRMS_6;
4864 if (variant == 'F') prim->bs_pa_mfrms = BS_PA_MFRMS_7;
4865 if (variant == 'G') prim->bs_pa_mfrms = BS_PA_MFRMS_8;
4866 if (variant == 'H') prim->bs_pa_mfrms = BS_PA_MFRMS_9;
4867 prim->bs_ag_blks_res = BS_AG_BLKS_RES_2;
4868 prim->bcch_combined = COMB_CCCH_NOT_COMB;
4869 prim->ccch_group = CCCH_GROUP_0;
4870 prim->page_group = PG_11;
4871 prim->page_block_index = PBI_4;
4872 prim->page_mode = PGM_REORG;
4873 return prim;
4874 }
4875 T_PRIMITIVE_UNION mphc_start_ccch_req_8()
4876 {
4877 T_MPHC_START_CCCH_REQ prim;
4878 prim->bs_pa_mfrms = BS_PA_MFRMS_8;
4879 prim->bs_ag_blks_res = BS_AG_BLKS_RES_3;
4880 prim->bcch_combined = COMB_CCCH_COMB;
4881 prim->ccch_group = CCCH_GROUP_0;
4882 prim->page_group = PG_20;
4883 prim->page_block_index = PBI_0;
4884 prim->page_mode = PGM_NORMAL;
4885 return prim;
4886 }
4887 T_PRIMITIVE_UNION mphc_start_ccch_req_9()
4888 {
4889 T_MPHC_START_CCCH_REQ prim;
4890 prim->bs_pa_mfrms = BS_PA_MFRMS_6;
4891 prim->bs_ag_blks_res = BS_AG_BLKS_RES_3;
4892 prim->bcch_combined = COMB_CCCH_NOT_COMB;
4893 prim->ccch_group = CCCH_GROUP_0;
4894 prim->page_group = PG_20;
4895 prim->page_block_index = PBI_2;
4896 prim->page_mode = PGM_REORG;
4897 return prim;
4898 }
4899 T_PRIMITIVE_UNION mphc_start_ccch_req_10()
4900 {
4901 T_MPHC_START_CCCH_REQ prim;
4902 prim->bs_pa_mfrms = BS_PA_MFRMS_8;
4903 prim->bs_ag_blks_res = BS_AG_BLKS_RES_3;
4904 prim->bcch_combined = COMB_CCCH_NOT_COMB;
4905 prim->ccch_group = CCCH_GROUP_0;
4906 prim->page_group = PG_20;
4907 prim->page_block_index = PBI_2;
4908 prim->page_mode = PGM_REORG;
4909 return prim;
4910 }
4911 T_PRIMITIVE_UNION mphc_start_ccch_req_11(CHAR variant)
4912 {
4913 T_MPHC_START_CCCH_REQ prim;
4914 prim->bs_pa_mfrms = BS_PA_MFRMS_8;
4915 prim->bs_ag_blks_res = BS_AG_BLKS_RES_3;
4916 if (variant == 'A') prim->bcch_combined = COMB_CCCH_COMB;
4917 if (variant == 'B') prim->bcch_combined = COMB_CCCH_COMB;
4918 if (variant == 'C') prim->bcch_combined = COMB_CCCH_NOT_COMB;
4919 prim->ccch_group = CCCH_GROUP_0;
4920 prim->page_group = PG_20;
4921 if (variant == 'A') prim->page_block_index = PBI_0;
4922 if (variant == 'B') prim->page_block_index = PBI_0;
4923 if (variant == 'C') prim->page_block_index = PBI_2;
4924 prim->page_mode = PGM_REORG;
4925 return prim;
4926 }
4927 T_PRIMITIVE_UNION mphc_start_ccch_req_12()
4928 {
4929 T_MPHC_START_CCCH_REQ prim;
4930 prim->bs_pa_mfrms = BS_PA_MFRMS_4;
4931 prim->bs_ag_blks_res = BS_AG_BLKS_RES_5;
4932 prim->bcch_combined = COMB_CCCH_NOT_COMB;
4933 prim->ccch_group = CCCH_GROUP_0;
4934 prim->page_group = PG_1;
4935 prim->page_block_index = PBI_1;
4936 prim->page_mode = PGM_REORG;
4937 return prim;
4938 }
4939 T_PRIMITIVE_UNION mphc_start_ccch_req_13()
4940 {
4941 T_MPHC_START_CCCH_REQ prim;
4942 prim->bs_pa_mfrms = BS_PA_MFRMS_4;
4943 prim->bs_ag_blks_res = BS_AG_BLKS_RES_5;
4944 prim->bcch_combined = COMB_CCCH_NOT_COMB;
4945 prim->ccch_group = CCCH_GROUP_0;
4946 prim->page_group = PG_1;
4947 prim->page_block_index = PBI_1;
4948 prim->page_mode = PGM_NORMAL;
4949 return prim;
4950 }
4951 T_PRIMITIVE_UNION mphc_start_ccch_req_14()
4952 {
4953 T_MPHC_START_CCCH_REQ prim;
4954 prim->bs_pa_mfrms._skip;
4955 prim->bs_ag_blks_res._skip;
4956 prim->bcch_combined._skip;
4957 prim->ccch_group._skip;
4958 prim->page_group._skip;
4959 prim->page_block_index._skip;
4960 prim->page_mode._skip;
4961 return prim;
4962 }
4963 T_PRIMITIVE_UNION mphc_start_ccch_req_normal()
4964 {
4965 T_MPHC_START_CCCH_REQ prim;
4966 prim->bs_pa_mfrms._show; /* = BS_PA_MFRMS_9;*/
4967 prim->bs_ag_blks_res._show; /* = BS_AG_BLKS_RES_2;*/
4968 prim->bcch_combined._show; /* = COMB_CCCH_NOT_COMB;*/
4969 prim->ccch_group._show; /* = CCCH_GROUP_0;*/
4970 prim->page_group._show; /* = PG_11;*/
4971 prim->page_block_index._show; /* = PBI_4;*/
4972 prim->page_mode = PGM_NORMAL;
4973 return prim;
4974 }
4975 T_PRIMITIVE_UNION mph_identity_req_1()
4976 {
4977 const U8 IMSI[15] = {
4978 0,0,1,0,1,3,8,2,3,3,0,5,9,4,5
4979 };
4980
4981 T_MPH_IDENTITY_REQ prim;
4982 prim->mid.len_imsi = 15;
4983 prim->mid.imsi = IMSI;
4984 prim->mid.v_tmsi = 1;
4985 prim->mid.tmsi = 0x05223366L;
4986 prim->mid.v_ptmsi._skip;
4987 prim->mid.ptmsi._skip;
4988 return prim;
4989 }
4990 T_PRIMITIVE_UNION mph_identity_req_2()
4991 {
4992 const U8 IMSI2[15] = {
4993 0,0,1,0,1,3,8,2,3,3,0xF,0xF,0xF,0xF,0xF
4994 };
4995
4996 T_MPH_IDENTITY_REQ prim;
4997 prim->mid.len_imsi = 10;
4998 prim->mid.imsi = IMSI2;
4999 prim->mid.v_tmsi = 1;
5000 prim->mid.tmsi = 142;
5001 prim->mid.v_ptmsi ._skip;
5002 prim->mid.ptmsi ._skip;
5003 return prim;
5004 }
5005
5006 T_PRIMITIVE_UNION mph_sync_req(U8 cs)
5007 {
5008 T_MPH_SYNC_REQ prim;
5009 prim->cs = cs;
5010 return prim;
5011 }
5012
5013 T_PRIMITIVE_UNION em_l1_event_req_1()
5014 {
5015 T_EM_L1_EVENT_REQ prim;
5016 prim->bitmask_l1_h = Bitm_H;
5017 prim->bitmask_l1_l = Bitm_L;
5018 return prim;
5019 }
5020 T_PRIMITIVE_UNION em_l1_event_req_2()
5021 {
5022 T_EM_L1_EVENT_REQ prim;
5023 prim->bitmask_l1_h = 0xFFFFFFFF;
5024 prim->bitmask_l1_l = 0xFFFFFFFF;
5025 return prim;
5026 }
5027
5028 T_PRIMITIVE_UNION em_data_ind_1()
5029 {
5030 T_EM_DATA_IND prim;
5031 prim->entity = ENTITY;
5032 return prim;
5033 }
5034
5035 T_PRIMITIVE_UNION mphc_stop_network_sync_req_1()
5036 {
5037 T_MPHC_STOP_NETWORK_SYNC_REQ prim;
5038 prim->param._skip;
5039 return prim;
5040 }
5041
5042 T_PRIMITIVE_UNION mphc_stop_network_sync_con_1()
5043 {
5044 T_MPHC_STOP_NETWORK_SYNC_CON prim;
5045 prim->param._skip;
5046 return prim;
5047 }
5048
5049
5050 T_PRIMITIVE_UNION mphc_scell_nbcch_req_full()
5051 {
5052 T_MPHC_SCELL_NBCCH_REQ prim;
5053 prim->schedule_array_size = SCHED_SIZE_1;
5054 prim->schedule_array[0].modulus = 1;
5055 prim->schedule_array[0].relative_position = 0;
5056 prim->schedule_array[1].modulus._skip;
5057 prim->schedule_array[1].relative_position._skip;
5058 prim->schedule_array[2].modulus._skip;
5059 prim->schedule_array[2].relative_position._skip;
5060 prim->schedule_array[3].modulus._skip;
5061 prim->schedule_array[3].relative_position._skip;
5062 prim->schedule_array[4].modulus._skip;
5063 prim->schedule_array[4].relative_position._skip;
5064 prim->schedule_array[5].modulus._skip;
5065 prim->schedule_array[5].relative_position._skip;
5066 prim->schedule_array[6].modulus._skip;
5067 prim->schedule_array[6].relative_position._skip;
5068 prim->schedule_array[7].modulus._skip;
5069 prim->schedule_array[7].relative_position._skip;
5070 prim->schedule_array[8].modulus._skip;
5071 prim->schedule_array[8].relative_position._skip;
5072 prim->schedule_array[9].modulus._skip;
5073 prim->schedule_array[9].relative_position._skip;
5074 return prim;
5075 }
5076 T_PRIMITIVE_UNION mphc_scell_nbcch_req_periodic()
5077 {
5078 T_MPHC_SCELL_NBCCH_REQ prim;
5079 prim->schedule_array_size = PERIODIC_SCELL_BCCH_ARRAY_SIZE;
5080 prim->schedule_array[0].modulus = 128;
5081 prim->schedule_array[0].relative_position = 0;
5082 prim->schedule_array[1].modulus = 128;
5083 prim->schedule_array[1].relative_position = 1;
5084 prim->schedule_array[2].modulus = 128;
5085 prim->schedule_array[2].relative_position = 2;
5086 prim->schedule_array[3].modulus = 128;
5087 prim->schedule_array[3].relative_position = 3;
5088 prim->schedule_array[4].modulus = 128;
5089 prim->schedule_array[4].relative_position = 4;
5090 prim->schedule_array[5].modulus = 128;
5091 prim->schedule_array[5].relative_position = 5;
5092 prim->schedule_array[6].modulus = 128;
5093 prim->schedule_array[6].relative_position = 6;
5094 prim->schedule_array[7].modulus = 128;
5095 prim->schedule_array[7].relative_position = 7;
5096 prim->schedule_array[8].modulus ._skip;
5097 prim->schedule_array[8].relative_position ._skip;
5098 prim->schedule_array[9].modulus ._skip;
5099 prim->schedule_array[9].relative_position ._skip;
5100 return prim;
5101 }
5102
5103 T_PRIMITIVE_UNION mphc_stop_ccch_req()
5104 {
5105 T_MPHC_STOP_CCCH_REQ prim;
5106 prim->param._skip;
5107 return prim;
5108 }
5109
5110 T_PRIMITIVE_UNION mphc_stop_ncell_sync_req_1()
5111 {
5112 T_MPHC_STOP_NCELL_SYNC_REQ prim;
5113 prim->radio_freq_array_size = 12;
5114 prim->radio_freq_array._skip;
5115 return prim;
5116 }
5117
5118 T_PRIMITIVE_UNION mphc_stop_ncell_bcch_req_1 ()
5119 {
5120 T_MPHC_STOP_NCELL_BCCH_REQ prim;
5121 prim->radio_freq_array_size = 6;
5122
5123 int i=0;
5124 prim->radio_freq_array[i] = 0;
5125 i++;
5126
5127 for(;i<MAX_NCELL;i++) {
5128 prim->radio_freq_array[i] = 0;
5129 }
5130 return prim;
5131 }
5132
5133 T_PRIMITIVE_UNION mphc_stop_rxlev_periodic_req()
5134 {
5135 T_MPHC_STOP_RXLEV_PERIODIC_REQ prim;
5136 prim->param._skip;
5137 return prim;
5138 }
5139
5140 T_PRIMITIVE_UNION mph_random_access_req_1()
5141 {
5142 const U8 BURST_DELTA[8] = {
5143 5,7,0,0,0,0,0,0
5144 };
5145 #if defined FF_EGPRS
5146 const U16 BURST_RACH[8] = {
5147 CHANNEL_REQUEST_1,CHANNEL_REQUEST_2,0,0,0,0,0,0
5148 };
5149 const U8 BURST_TS[8] = {
5150 0xA0,0xA3,0,0,0,0,0,0
5151 };
5152 #else
5153 const U8 BURST_RACH[8] = {
5154 CHANNEL_REQUEST_GO_1,CHANNEL_REQUEST_GO_1,0,0,0,0,0,0
5155 };
5156 #endif
5157 T_MPH_RANDOM_ACCESS_REQ prim;
5158 prim->send_mode.c ._skip;
5159 prim->send_mode.no = RAND_BURSTS_2;
5160 prim->send_mode.delta = BURST_DELTA;
5161 prim->send_mode.rach = BURST_RACH;
5162 #if defined FF_EGPRS
5163 prim->send_mode.train_seq = BURST_TS;
5164 #endif
5165
5166 return prim;
5167 }
5168 T_PRIMITIVE_UNION mph_random_access_req_2()
5169 {
5170 T_MPH_RANDOM_ACCESS_REQ prim;
5171 prim->send_mode.c._skip;
5172 prim->send_mode.no._skip;
5173 prim->send_mode.delta._skip;
5174 prim->send_mode.rach._skip;
5175 return prim;
5176 }
5177
5178 T_PRIMITIVE_UNION mphc_ra_req_1()
5179 {
5180 T_MPHC_RA_REQ prim;
5181 prim->txpwr = POWER_12;
5182 prim->rand = RAND_BURST_1;
5183 #if defined FF_EGPRS
5184 prim->channel_request = CHANNEL_REQUEST_1;
5185 #else
5186 prim->channel_request = CHANNEL_REQUEST_GO_1;
5187 #endif
5188 prim->powerclass_gsm = POWER_CLASS_5;
5189 prim->powerclass_dcs._skip;
5190 return prim;
5191 }
5192 T_PRIMITIVE_UNION mphc_ra_req_2()
5193 {
5194 T_MPHC_RA_REQ prim;
5195 prim->txpwr = POWER_12;
5196 prim->rand = RAND_BURST_2;
5197 #if defined FF_EGPRS
5198 prim->channel_request = CHANNEL_REQUEST_2;
5199 #else
5200 prim->channel_request = CHANNEL_REQUEST_GO_1;
5201 #endif
5202 prim->powerclass_gsm = POWER_CLASS_5;
5203 prim->powerclass_dcs._skip;
5204 return prim;
5205 }
5206 T_PRIMITIVE_UNION mphc_ra_req_3()
5207 {
5208 T_MPHC_RA_REQ prim;
5209 prim->txpwr = POWER_12;
5210 prim->rand = RAND_BURST_1;
5211 #if defined FF_EGPRS
5212 prim->channel_request = CHANNEL_REQUEST_1;
5213 #else
5214 prim->channel_request = CHANNEL_REQUEST_GO_1;
5215 #endif
5216 prim->powerclass_gsm._skip;
5217 prim->powerclass_dcs._skip;
5218 return prim;
5219 }
5220 T_PRIMITIVE_UNION mphc_ra_req_4()
5221 {
5222 T_MPHC_RA_REQ prim;
5223 prim->txpwr = POWER_12;
5224 prim->rand = RAND_BURST_2;
5225 #if defined FF_EGPRS
5226 prim->channel_request = CHANNEL_REQUEST_2;
5227 #else
5228 prim->channel_request = CHANNEL_REQUEST_GO_1;
5229 #endif
5230 prim->powerclass_gsm._skip;
5231 prim->powerclass_dcs._skip;
5232 return prim;
5233 }
5234 T_PRIMITIVE_UNION mphc_ra_req_5()
5235 {
5236 T_MPHC_RA_REQ prim;
5237 prim->txpwr = POWER_12;
5238 prim->rand = RAND_BURST_1;
5239 #if defined FF_EGPRS
5240 prim->channel_request = CHANNEL_REQUEST_1;
5241 #else
5242 prim->channel_request = CHANNEL_REQUEST_GO_1;
5243 #endif
5244 prim->powerclass_gsm = POWER_CLASS_4;
5245 prim->powerclass_dcs = POW_CLASS_2;
5246 return prim;
5247 }
5248
5249 T_PRIMITIVE_UNION mphc_ra_req_6()
5250 {
5251 T_MPHC_RA_REQ prim;
5252 prim->txpwr = POWER_12;
5253 prim->rand = RAND_BURST_2;
5254 #if defined FF_EGPRS
5255 prim->channel_request = CHANNEL_REQUEST_2;
5256 #else
5257 prim->channel_request = CHANNEL_REQUEST_GO_1;
5258 #endif
5259 prim->powerclass_gsm = POWER_CLASS_4;
5260 prim->powerclass_dcs = POW_CLASS_2;
5261 return prim;
5262 }
5263
5264 T_PRIMITIVE_UNION mphc_ra_con_1()
5265 {
5266 T_MPHC_RA_CON prim;
5267 prim->fn = FN_BURST_1;
5268 prim->channel_request = CHANNEL_REQUEST_1;
5269 return prim;
5270 }
5271
5272 T_PRIMITIVE_UNION mph_random_access_cnf_1()
5273 {
5274 T_MPH_RANDOM_ACCESS_CNF prim;
5275 prim->frame_no.t1 = 14;
5276 prim->frame_no.t2 = 22;
5277 prim->frame_no.t3 = 30;
5278 return prim;
5279 }
5280
5281 T_PRIMITIVE_UNION mphc_stop_ra_req_1()
5282 {
5283 T_MPHC_STOP_RA_REQ prim;
5284 prim->param._skip;
5285 return prim;
5286 }
5287
5288
5289
5290 T_PRIMITIVE_UNION mph_ext_meas_req_1()
5291 {
5292 const U16 ARFCN_EXT_MEAS_000_elements[] = {
5293 CONST_20,
5294 CONST_0,
5295 CONST_974,
5296 CONST_10,
5297 CONST_1,
5298 CONST_1023,
5299 CONST_124,
5300 CONST_1022,
5301 CONST_123,
5302 CONST_975
5303 };
5304 T_ARRAY<U16> ARFCN_EXT_MEAS_000(ARFCN_EXT_MEAS_000_elements, SKIP_TO_END);
5305
5306 T_MPH_EXT_MEAS_REQ prim;
5307 prim->pch_interrupt = NO_PCH_INTERRUPT;
5308 prim->freq_bands = BAND_E_GSM;
5309 prim->num_of_chan = CHANNELS_4;
5310 prim->arfcn = ARFCN_EXT_MEAS_000;
5311 return prim;
5312 }
5313
5314
5315
5316 T_PRIMITIVE_UNION mph_ext_meas_cnf_1()
5317 {
5318 const U16 ARFCN_EXT_MEAS_SORT_000_elements[] = {
5319 (CONST_1023|0x1000),
5320 (CONST_1022|0x1000),
5321 (CONST_0|0x1000),
5322 (CONST_974|0x1000),
5323 (CONST_124|0x1000),
5324 (CONST_123|0x1000),
5325 (CONST_20|0x1000),
5326 (CONST_10|0x1000),
5327 (CONST_1|0x1000),
5328 (CONST_975|0x1000)
5329 };
5330 T_ARRAY<U16> ARFCN_EXT_MEAS_SORT_000(ARFCN_EXT_MEAS_SORT_000_elements, SKIP_TO_END);
5331
5332 const U8 RXLEV_EXT_MEAS_000_elements[] = {
5333 80,70,60,50,40,30,20,10,0,-10
5334 };
5335 T_ARRAY<U8> RXLEV_EXT_MEAS_000(RXLEV_EXT_MEAS_000_elements, SKIP_TO_END);
5336
5337 T_MPH_EXT_MEAS_CNF prim;
5338 prim->num_of_chan = CHANNELS_10;
5339 prim->arfcn = ARFCN_EXT_MEAS_SORT_000;
5340 prim->rx_lev = RXLEV_EXT_MEAS_000;
5341 return prim;
5342 }
5343
5344
5345
5346
5347
5348
5349 T_PRIMITIVE_UNION mph_sync_ind_1()
5350 {
5351 T_MPH_SYNC_IND prim;
5352 prim->cs = CS_STOP_PLMN_SEARCH;
5353 prim->arfcn._skip;
5354 return prim;
5355 }
5356
5357
5358
5359 T_PRIMITIVE_UNION mph_paging_ind_1(CHAR variant)
5360 {
5361 T_MPH_PAGING_IND prim;
5362 if (variant == 'A') prim->identity_type = ID_TYPE_IMSI;
5363 if (variant == 'B') prim->identity_type = ID_TYPE_IMSI;
5364 if (variant == 'C') prim->identity_type = ID_TYPE_TMSI;
5365 if (variant == 'D') prim->identity_type = ID_TYPE_TMSI;
5366 if (variant == 'E') prim->identity_type = ID_TYPE_IMSI;
5367 if (variant == 'F') prim->identity_type = ID_TYPE_IMSI;
5368 if (variant == 'G') prim->identity_type = ID_TYPE_TMSI;
5369 if (variant == 'H') prim->identity_type = ID_TYPE_TMSI;
5370 if (variant == 'I') prim->identity_type = ID_TYPE_IMSI;
5371
5372 if (variant == 'A') prim->channel_needed = CN_ANY_CHAN;
5373 if (variant == 'B') prim->channel_needed = CN_ANY_CHAN;
5374 if (variant == 'C') prim->channel_needed = CN_TCH_F;
5375 if (variant == 'D') prim->channel_needed = CN_TCH_F;
5376 if (variant == 'E') prim->channel_needed = CN_SDCCH;
5377 if (variant == 'F') prim->channel_needed = CN_SDCCH;
5378 if (variant == 'G') prim->channel_needed = CN_TCH;
5379 if (variant == 'H') prim->channel_needed = CN_TCH;
5380 #if defined GPRS
5381 if (variant == 'I') prim->channel_needed = CN_PACKET;
5382 #else
5383 if (variant == 'I') prim->channel_needed = CN_ANY_CHAN;
5384 #endif
5385 return prim;
5386 }
5387
5388
5389
5390
5391 T_PRIMITIVE_UNION mph_paging_ind_2(CHAR variant)
5392 {
5393 T_MPH_PAGING_IND prim;
5394 if (variant == 'A') prim->identity_type = ID_TYPE_TMSI;
5395 if (variant == 'B') prim->identity_type = ID_TYPE_TMSI;
5396 if (variant == 'C') prim->identity_type = ID_TYPE_IMSI;
5397 if (variant == 'D') prim->identity_type = ID_TYPE_IMSI;
5398 if (variant == 'E') prim->identity_type = ID_TYPE_TMSI;
5399 if (variant == 'F') prim->identity_type = ID_TYPE_TMSI;
5400 if (variant == 'A') prim->channel_needed = CN_ANY_CHAN;
5401 if (variant == 'B') prim->channel_needed = CN_TCH_F;
5402 if (variant == 'C') prim->channel_needed = CN_SDCCH;
5403 if (variant == 'D') prim->channel_needed = CN_TCH;
5404 if (variant == 'E') prim->channel_needed = CN_ANY_CHAN;
5405 if (variant == 'F') prim->channel_needed = CN_TCH_F;
5406 return prim;
5407 }
5408
5409
5410 T_PRIMITIVE_UNION mph_paging_ind_3(CHAR variant)
5411 {
5412 T_MPH_PAGING_IND prim;
5413 prim->identity_type = ID_TYPE_TMSI;
5414 if (variant == 'A') prim->channel_needed = CN_ANY_CHAN;
5415 if (variant == 'B') prim->channel_needed = CN_SDCCH;
5416 if (variant == 'C') prim->channel_needed = CN_TCH_F;
5417 if (variant == 'D') prim->channel_needed = CN_TCH;
5418 if (variant == 'E') prim->channel_needed = CN_ANY_CHAN;
5419 if (variant == 'F') prim->channel_needed = CN_SDCCH;
5420 if (variant == 'G') prim->channel_needed = CN_TCH_F;
5421 if (variant == 'H') prim->channel_needed = CN_TCH;
5422 return prim;
5423 }
5424
5425
5426 T_PRIMITIVE_UNION mph_paging_ind_4(CHAR variant)
5427 {
5428 T_MPH_PAGING_IND prim;
5429 if (variant == 'A') prim->identity_type = ID_TYPE_IMSI;
5430 if (variant == 'B') prim->identity_type = ID_TYPE_IMSI;
5431 if (variant == 'C') prim->identity_type = ID_TYPE_IMSI;
5432 if (variant == 'D') prim->identity_type = ID_TYPE_IMSI;
5433 if (variant == 'E') prim->identity_type = ID_TYPE_IMSI;
5434 if (variant == 'F') prim->identity_type = ID_TYPE_TMSI;
5435 if (variant == 'G') prim->identity_type = ID_TYPE_TMSI;
5436 if (variant == 'H') prim->identity_type = ID_TYPE_TMSI;
5437 if (variant == 'I') prim->identity_type = ID_TYPE_TMSI;
5438 if (variant == 'J') prim->identity_type = ID_TYPE_TMSI;
5439 if (variant == 'A') prim->channel_needed = CN_ANY_CHAN;
5440 if (variant == 'B') prim->channel_needed = CN_SDCCH;
5441 if (variant == 'C') prim->channel_needed = CN_TCH_F;
5442 if (variant == 'D') prim->channel_needed = CN_TCH;
5443 if (variant == 'E') prim->channel_needed = CN_ANY_CHAN;
5444 if (variant == 'F') prim->channel_needed = CN_ANY_CHAN;
5445 if (variant == 'G') prim->channel_needed = CN_SDCCH;
5446 if (variant == 'H') prim->channel_needed = CN_TCH_F;
5447 if (variant == 'I') prim->channel_needed = CN_TCH;
5448 if (variant == 'J') prim->channel_needed = CN_ANY_CHAN;
5449 return prim;
5450 }
5451
5452
5453 T_PRIMITIVE_UNION mph_paging_ind_5(CHAR variant)
5454 {
5455 T_MPH_PAGING_IND prim;
5456 if (variant == 'A') prim->identity_type = ID_TYPE_IMSI;
5457 if (variant == 'B') prim->identity_type = ID_TYPE_TMSI;
5458 if (variant == 'C') prim->identity_type = ID_TYPE_TMSI;
5459 if (variant == 'D') prim->identity_type = ID_TYPE_TMSI;
5460 if (variant == 'E') prim->identity_type = ID_TYPE_TMSI;
5461 if (variant == 'A') prim->channel_needed = CN_ANY_CHAN;
5462 if (variant == 'B') prim->channel_needed = CN_SDCCH;
5463 if (variant == 'C') prim->channel_needed = CN_TCH_F;
5464 if (variant == 'D') prim->channel_needed = CN_TCH;
5465 if (variant == 'E') prim->channel_needed = CN_ANY_CHAN;
5466 return prim;
5467 }
5468
5469
5470 T_PRIMITIVE_UNION mph_paging_ind_6(CHAR variant)
5471 {
5472 T_MPH_PAGING_IND prim;
5473 prim->identity_type = ID_TYPE_TMSI;
5474 if (variant == 'A') prim->channel_needed = CN_ANY_CHAN;
5475 if (variant == 'B') prim->channel_needed = CN_SDCCH;
5476 if (variant == 'C') prim->channel_needed = CN_TCH_F;
5477 if (variant == 'D') prim->channel_needed = CN_TCH;
5478 if (variant == 'E') prim->channel_needed = CN_ANY_CHAN;
5479 if (variant == 'F') prim->channel_needed = CN_SDCCH;
5480 if (variant == 'G') prim->channel_needed = CN_TCH_F;
5481 if (variant == 'H') prim->channel_needed = CN_TCH;
5482 if (variant == 'I') prim->channel_needed = CN_ANY_CHAN;
5483 if (variant == 'J') prim->channel_needed = CN_SDCCH;
5484 if (variant == 'K') prim->channel_needed = CN_TCH_F;
5485 if (variant == 'L') prim->channel_needed = CN_TCH;
5486 if (variant == 'M') prim->channel_needed = CN_ANY_CHAN;
5487 if (variant == 'N') prim->channel_needed = CN_ANY_CHAN;
5488 if (variant == 'O') prim->channel_needed = CN_SDCCH;
5489 if (variant == 'P') prim->channel_needed = CN_TCH_F;
5490 if (variant == 'Q') prim->channel_needed = CN_TCH;
5491 if (variant == 'R') prim->channel_needed = CN_ANY_CHAN;
5492 return prim;
5493 }
5494
5495 T_PRIMITIVE_UNION mph_paging_ind_7()
5496 {
5497 T_MPH_PAGING_IND prim;
5498 prim->identity_type = ID_TMSI;
5499 prim->channel_needed = CN_ANY_CHAN;
5500 return prim;
5501 }
5502
5503 T_PRIMITIVE_UNION mph_emo_req_1()
5504 {
5505 T_MPH_EMO_REQ prim;
5506 prim->ba_id = CONST_129;
5507 prim->arfcn = A_ARFCN_EMO_000;
5508 return prim;
5509 }
5510 T_PRIMITIVE_UNION mph_emo_req_2()
5511 {
5512 T_MPH_EMO_REQ prim;
5513 prim->ba_id = CONST_130;
5514 prim->arfcn = A_ARFCN_EMO_000;
5515 return prim;
5516 }
5517
5518
5519 T_PRIMITIVE_UNION mph_emo_meas_ind_1()
5520 {
5521 T_MPH_EMO_MEAS_IND prim;
5522 prim->ba_id = CONST_129;
5523 prim->dtx = CONST_1;
5524 prim->meas_results = s_emo_meas_res_000();
5525 return prim;
5526 }
5527
5528
5529
5530 T_PRIMITIVE_UNION mph_emo_meas_ind_2()
5531 {
5532 T_MPH_EMO_MEAS_IND prim;
5533 prim->ba_id = CONST_130;
5534 prim->dtx = CONST_1;
5535 prim->meas_results = s_emo_meas_res_000();
5536 return prim;
5537 }
5538
5539
5540 T_PRIMITIVE_UNION mphc_stop_rxlev_req(void)
5541 {
5542 T_MPHC_STOP_RXLEV_REQ prim;
5543 prim->param._skip;
5544 return prim;
5545 }
5546
5547 T_PRIMITIVE_UNION mphc_stop_rxlev_con(void)
5548 {
5549 T_MPHC_STOP_RXLEV_CON prim;
5550 prim->param._skip;
5551 return prim;
5552 }
5553
5554 T_PRIMITIVE_UNION mph_deactivate_req(void)
5555 {
5556 T_MPH_DEACTIVATE_REQ prim;
5557 return prim;
5558 }
5559
5560 T_mid ms_id_imsi_ptmsi()
5561 {
5562 const U8 IMSI[15] = {
5563 0,0,1,0,1,3,8,2,3,3,0,5,9,4,5
5564 };
5565 #define TMSI 0x05223366L
5566 T_mid pstruct;
5567 pstruct->len_imsi = 15;
5568 pstruct->imsi = IMSI;
5569 pstruct->v_tmsi = 1;
5570 pstruct->tmsi = TMSI;
5571 pstruct->v_ptmsi = 1;
5572 pstruct->ptmsi = 143;
5573 pstruct->v_ptmsi2 = 1;
5574 pstruct->ptmsi2 = 144;
5575 return pstruct;
5576 }
5577
5578 T_PRIMITIVE_UNION mph_identity_req_2g()
5579 {
5580 T_MPH_IDENTITY_REQ prim;
5581 prim->mid = ms_id_imsi_ptmsi();
5582 return prim;
5583 }
5584
5585 T_PRIMITIVE_UNION mph_idle_req_1g()
5586 {
5587 T_MPH_IDLE_REQ prim;
5588 prim->mod = MODE_CELL_SELECTION;
5589 prim->arfcn = ARFCN_23;
5590 prim->ext_bcch._skip;
5591 prim->comb_ccch = COMB_CCCH_COMB;
5592 prim->tn = TN_0;
5593 prim->dlt = DLT_10;
5594 prim->pg = PG_20;
5595 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
5596 prim->bs_pa_mfrms = BS_PA_MFRMS_6;
5597 prim->power = POWER_12;
5598 prim->ncc_permitted = NOT_PRESENT_8BIT;
5599 prim->reorg_only._skip;
5600 prim->eotd_avail._skip;
5601 prim->gprs_support = MPH_GPRS_PROCS_USED;
5602 return prim;
5603 }
5604 const U8 L2_PAG_1_PT1_A1_ARRAY[23] = {
5605 0x19,
5606 0x06,
5607 0x21,
5608 0x00,
5609 0x02,
5610 0xF4, 143, 0x2B, 0x2B, 0x2B,
5611 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
5612 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
5613 0x2B, 0x2B, 0x2B
5614 };
5615
5616 T_l2_frame l2_pag_1_pt1_a1()
5617 {
5618 T_l2_frame pstruct;
5619 pstruct->content = L2_PAG_1_PT1_A1_ARRAY;
5620 return pstruct;
5621 }
5622 T_PRIMITIVE_UNION mphc_data_ind_8g()
5623 {
5624 T_MPHC_DATA_IND prim;
5625 prim->radio_freq = ARFCN_23;
5626 prim->l2_channel = L2_CHANNEL_PCH;
5627 prim->error_flag = VALID_BLOCK;
5628 prim->l2_frame = l2_pag_1_pt1_a1();
5629 prim->tc = TC_0;
5630 prim->ccch_lev._skip;
5631 prim->fn = FN_OFFSET_0;
5632 return prim;
5633 }
5634
5635 T_PRIMITIVE_UNION mph_paging_ind_1g()
5636 {
5637 T_MPH_PAGING_IND prim;
5638 prim->identity_type = ID_PTMSI;
5639 prim->channel_needed = CN_PACKET;
5640 return prim;
5641 }
5642
5643 const U8 L2_PAG_1_EMPTY_ARRAY[23] = {
5644 0x11,
5645 0x06,
5646 0x21,
5647 0x00,
5648 0x00,
5649 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
5650 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
5651 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
5652 0x2B, 0x2B, 0x2B
5653 };
5654
5655 T_l2_frame l2_pag_1_empty()
5656 {
5657 T_l2_frame pstruct;
5658 pstruct->content = L2_PAG_1_EMPTY_ARRAY;
5659 return pstruct;
5660 }
5661
5662 T_PRIMITIVE_UNION mphc_data_ind_9g()
5663 {
5664 T_MPHC_DATA_IND prim;
5665 prim->radio_freq = ARFCN_23;
5666 prim->l2_channel = L2_CHANNEL_PCH;
5667 prim->error_flag = VALID_BLOCK;
5668 prim->l2_frame = l2_pag_1_empty();
5669 prim->tc = TC_0;
5670 prim->ccch_lev._skip;
5671 prim->fn = FN_OFFSET_0;
5672 return prim;
5673 }
5674 const U8 L2_PAG_1_PT2_A1_ARRAY[23] = {
5675 0x19,
5676 0x06,
5677 0x21,
5678 0x00,
5679 0x02,
5680 0xF4, 144, 0x2B, 0x2B, 0x2B,
5681 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
5682 0x2B, 0x2B, 0x2B, 0x2B, 0x2B,
5683 0x2B, 0x2B, 0x2B
5684 };
5685
5686 T_l2_frame l2_pag_1_pt2_a1()
5687 {
5688 T_l2_frame pstruct;
5689 pstruct->content = L2_PAG_1_PT2_A1_ARRAY;
5690 return pstruct;
5691 }
5692
5693 T_PRIMITIVE_UNION mphc_data_ind_10g()
5694 {
5695 T_MPHC_DATA_IND prim;
5696 prim->radio_freq = ARFCN_23;
5697 prim->l2_channel = L2_CHANNEL_PCH;
5698 prim->error_flag = VALID_BLOCK;
5699 prim->l2_frame = l2_pag_1_pt2_a1();
5700 prim->tc = TC_0;
5701 prim->ccch_lev._skip;
5702 prim->fn = FN_OFFSET_0;
5703 return prim;
5704 }
5705
5706 T_PRIMITIVE_UNION mph_idle_req_4g()
5707 {
5708 T_MPH_IDLE_REQ prim;
5709 prim->mod = MODE_CONFIG_PL;
5710 prim->arfcn = ARFCN_23;
5711 prim->ext_bcch._skip;
5712 prim->comb_ccch = COMB_CCCH_COMB;
5713 prim->tn = TN_0;
5714 prim->dlt = DLT_10;
5715 prim->pg = PG_20;
5716 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
5717 prim->bs_pa_mfrms = BS_PA_MFRMS_6;
5718 prim->power = POWER_12;
5719 prim->ncc_permitted = NOT_PRESENT_8BIT;
5720 prim->reorg_only = NORMAL_PGM;
5721 prim->eotd_avail = EOTD_NOT_PRES;
5722 prim->gprs_support = MPH_GPRS_PROCS_USED;
5723 return prim;
5724 }
5725 T_PRIMITIVE_UNION mph_mon_ctrl_req(U8 action)
5726 {
5727 T_MPH_MON_CTRL_REQ prim;
5728 prim->action = action;
5729 prim->si_to_read._skip;
5730 return prim;
5731 }
5732
5733 T_PRIMITIVE_UNION mph_idle_req_2g()
5734 {
5735 T_MPH_IDLE_REQ prim;
5736 prim->mod = MODE_PACKET_TRANSFER;
5737 prim->arfcn = ARFCN_23;
5738 prim->ext_bcch._skip;
5739 prim->comb_ccch = COMB_CCCH_NOT_COMB;
5740 prim->tn = TN_0;
5741 prim->dlt = DLT_10;
5742 prim->pg = PG_20;
5743 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
5744 prim->bs_pa_mfrms = BS_PA_MFRMS_6;
5745 prim->power = POWER_12;
5746 prim->ncc_permitted = NOT_PRESENT_8BIT;
5747 prim->reorg_only._skip;
5748 prim->eotd_avail._skip;
5749 prim->gprs_support = MPH_GPRS_PROCS_USED;
5750 return prim;
5751 }
5752
5753 #ifdef FF_EGPRS
5754 T_PRIMITIVE_UNION mph_unitdata_ind_si2q(U16 arfcn)
5755 {
5756 T_MPH_UNITDATA_IND prim;
5757 prim->arfcn = arfcn;
5758 prim->fn ._skip;
5759 prim->sdu.aim.ti = TI_0;
5760 prim->sdu.aim.entity.RR->D_SYS_INFO_2QUATER.msg_type._show;
5761 prim->sdu.aim.entity.RR->D_SYS_INFO_2QUATER.si_2qua_octets._show;
5762 return prim;
5763 }
5764
5765 T_PRIMITIVE_UNION mphc_data_ind_si2quater(int ch_type)
5766 {
5767 T_MPHC_DATA_IND prim;
5768 prim->radio_freq = ARFCN_23;
5769 prim->l2_channel = ch_type;
5770 prim->error_flag = VALID_BLOCK;
5771 prim->l2_frame = l2_sys_info_2q();
5772 prim->tc = TC_1;
5773 prim->ccch_lev._skip;
5774 prim->fn = FN_OFFSET_0;
5775 return prim;
5776 }
5777 #endif // FF_EGPRS
5778
5779 T_PRIMITIVE_UNION mph_mon_ctrl_req_1(U8 action, U8 si_read)
5780 {
5781 T_MPH_MON_CTRL_REQ prim;
5782 prim->action = action;
5783 prim->si_to_read = si_read;
5784 return prim;
5785 }
5786
5787 T_PRIMITIVE_UNION mphc_scell_ebcch_req_si2q()
5788 {
5789 T_MPHC_SCELL_EBCCH_REQ prim;
5790 prim->schedule_array_size = 1;
5791 prim->schedule_array._show;
5792 return prim;
5793 }
5794
5795 T_PRIMITIVE_UNION mphc_scell_nbcch_req_1()
5796 {
5797 T_MPHC_SCELL_NBCCH_REQ prim;
5798 prim->schedule_array_size._show;
5799 prim->schedule_array._show;
5800 return prim;
5801 }
5802
5803 #ifdef FF_EGPRS
5804 T_PRIMITIVE_UNION mph_enhpara_update_req_1 (char variant)
5805 {
5806 T_MPH_ENHPARA_UPDATE_REQ prim;
5807 int i = MAX_NEIGHBOURCELLS;
5808
5809 switch(variant) {
5810 case 'A':
5811 {
5812 prim->rep_type = REP_TYPE_ENH;
5813 prim->enh_para.num_valid_cells = 3;
5814 prim->enh_para.enh_cell_list._skip ;
5815 prim->enh_para.enh_rep_data._skip ;
5816 prim->enh_para.inv_bsic_enabled = TRUE;
5817 prim->enh_para.multiband_rep = 2;
5818 prim->enh_para.ncc_permitted = NCC_PERMITTED_4;
5819 prim->enh_para.rep_rate = NORMAL_REP_RATE;
5820 prim->enh_para.scale_order = SCALE_0dB;
5821 prim->enh_para.servingband_rep = 2;
5822 }
5823 break;
5824 case 'B':
5825 {
5826 prim->rep_type = REP_TYPE_ENH;
5827 prim->enh_para.num_valid_cells = 8;
5828 /*GSM NC List Idle*/
5829
5830 while ( i)
5831 {
5832 prim->enh_para.enh_cell_list[i-1].arfcn = 0;
5833 prim->enh_para.enh_cell_list[i-1].bsic = 0;
5834 prim->enh_para.enh_cell_list[i-1].rep_priority = REP_PRIOR_HIGH;
5835 i--;
5836 }
5837
5838 prim->enh_para.enh_cell_list[0].arfcn = 1;
5839 prim->enh_para.enh_cell_list[0].bsic = 16;
5840
5841 prim->enh_para.enh_cell_list[1].arfcn = 15;
5842 prim->enh_para.enh_cell_list[1].bsic = 17;
5843
5844
5845 prim->enh_para.enh_cell_list[2].arfcn = 30;
5846 prim->enh_para.enh_cell_list[2].bsic = 18;
5847
5848
5849 prim->enh_para.enh_cell_list[3].arfcn = 46;
5850 prim->enh_para.enh_cell_list[3].bsic = 19;
5851
5852
5853 prim->enh_para.enh_cell_list[4].arfcn = 59;
5854 prim->enh_para.enh_cell_list[4].bsic = 20;
5855
5856
5857 prim->enh_para.enh_cell_list[5].arfcn = 73;
5858 prim->enh_para.enh_cell_list[5].bsic = 21;
5859
5860
5861 prim->enh_para.enh_cell_list[6].arfcn = 90;
5862 prim->enh_para.enh_cell_list[6].bsic = 22;
5863
5864
5865 prim->enh_para.enh_cell_list[7].arfcn = 108;
5866 prim->enh_para.enh_cell_list[7].bsic = 24;
5867
5868
5869 i=5;
5870 while (i)
5871 {
5872 prim->enh_para.enh_rep_data[i-1].rep_threshold = REP_THRESHOLD_0;
5873 prim->enh_para.enh_rep_data[i-1].rep_offset = REP_OFFSET_0;
5874 i--;
5875 }
5876 prim->enh_para.inv_bsic_enabled = TRUE;
5877 prim->enh_para.multiband_rep = 2;
5878 prim->enh_para.ncc_permitted = NCC_PERMITTED_4;
5879 prim->enh_para.rep_rate = NORMAL_REP_RATE;
5880 prim->enh_para.scale_order = SCALE_AUTO;
5881 prim->enh_para.servingband_rep = 2;
5882 }
5883 break;
5884 case 'C':
5885 prim->rep_type = REP_TYPE_NORM;
5886 prim->enh_para._skip;
5887 break;
5888 case 'D':
5889 case 'E':
5890 {
5891 prim->rep_type = REP_TYPE_ENH;
5892 prim->enh_para.num_valid_cells = 16;
5893 /*GSM NC List Idle*/
5894
5895 if (variant == 'D')
5896 {
5897 while ( i)
5898 {
5899 prim->enh_para.enh_cell_list[i-1].arfcn = 0;
5900 prim->enh_para.enh_cell_list[i-1].bsic = 0;
5901 prim->enh_para.enh_cell_list[i-1].rep_priority = REP_PRIOR_HIGH;
5902 i--;
5903 }
5904 prim->enh_para.rep_rate = NORMAL_REP_RATE;
5905 }
5906 else
5907 {
5908 while ( i)
5909 {
5910 prim->enh_para.enh_cell_list[i-1].arfcn = 0;
5911 prim->enh_para.enh_cell_list[i-1].bsic = 0;
5912 if ( i%2 == 0)
5913 prim->enh_para.enh_cell_list[i-1].rep_priority = REP_PRIOR_HIGH;
5914 else
5915 prim->enh_para.enh_cell_list[i-1].rep_priority = REP_PRIOR_NORM;
5916 i--;
5917 }
5918 prim->enh_para.rep_rate = REDUCED_REP_RATE;
5919 }
5920
5921
5922 prim->enh_para.enh_cell_list[0].arfcn = 30;
5923 prim->enh_para.enh_cell_list[0].bsic = 18;
5924
5925 prim->enh_para.enh_cell_list[1].arfcn = 46;
5926 prim->enh_para.enh_cell_list[1].bsic = 19;
5927
5928
5929 prim->enh_para.enh_cell_list[2].arfcn = 59;
5930 prim->enh_para.enh_cell_list[2].bsic = 20;
5931
5932
5933 prim->enh_para.enh_cell_list[3].arfcn = 73;
5934 prim->enh_para.enh_cell_list[3].bsic = 21;
5935
5936
5937 prim->enh_para.enh_cell_list[4].arfcn = 90;
5938 prim->enh_para.enh_cell_list[4].bsic = 22;
5939
5940
5941 prim->enh_para.enh_cell_list[5].arfcn = 108;
5942 prim->enh_para.enh_cell_list[5].bsic = 24;
5943
5944
5945 prim->enh_para.enh_cell_list[6].arfcn = 512;
5946 prim->enh_para.enh_cell_list[6].bsic = 16;
5947
5948
5949 prim->enh_para.enh_cell_list[7].arfcn = 513;
5950 prim->enh_para.enh_cell_list[7].bsic = 17;
5951
5952 prim->enh_para.enh_cell_list[8].arfcn = 516;
5953 prim->enh_para.enh_cell_list[8].bsic = 25;
5954
5955 prim->enh_para.enh_cell_list[9].arfcn = 525;
5956 prim->enh_para.enh_cell_list[9].bsic = 26;
5957
5958 prim->enh_para.enh_cell_list[10].arfcn = 578;
5959 prim->enh_para.enh_cell_list[10].bsic = 27;
5960
5961 prim->enh_para.enh_cell_list[11].arfcn = 580;
5962 prim->enh_para.enh_cell_list[11].bsic = 28;
5963
5964 prim->enh_para.enh_cell_list[12].arfcn = 581;
5965 prim->enh_para.enh_cell_list[12].bsic = 29;
5966
5967 prim->enh_para.enh_cell_list[13].arfcn = 582;
5968 prim->enh_para.enh_cell_list[13].bsic = 30;
5969
5970 prim->enh_para.enh_cell_list[14].arfcn = 583;
5971 prim->enh_para.enh_cell_list[14].bsic = 31;
5972
5973 prim->enh_para.enh_cell_list[15].arfcn = 584;
5974 prim->enh_para.enh_cell_list[15].bsic = 48;
5975
5976 i=5;
5977 while (i)
5978 {
5979 prim->enh_para.enh_rep_data[i-1].rep_threshold = REP_THRESHOLD_0;
5980 prim->enh_para.enh_rep_data[i-1].rep_offset = REP_OFFSET_0;
5981 i--;
5982 }
5983 prim->enh_para.inv_bsic_enabled = TRUE;
5984 prim->enh_para.multiband_rep = 2;
5985 prim->enh_para.ncc_permitted = NCC_PERMITTED_4;
5986 prim->enh_para.scale_order = SCALE_AUTO;
5987 prim->enh_para.servingband_rep = 2;
5988 }
5989 break;
5990 default:
5991 break;
5992 }
5993 return prim;
5994 }
5995
5996 T_PRIMITIVE_UNION mph_idle_req_15_si2q(int mode)
5997 {
5998 T_MPH_IDLE_REQ prim;
5999 prim->mod = mode;
6000 prim->arfcn = ARFCN_14;
6001 prim->ext_bcch._skip;
6002 prim->comb_ccch = COMB_CCCH_NOT_COMB;
6003 prim->tn = TN_0;
6004 prim->dlt = DLT_10;
6005 prim->pg = PG_20;
6006 prim->bs_ag_blocks_res = BS_AG_BLKS_RES_3;
6007 prim->bs_pa_mfrms = BS_PA_MFRMS_6;
6008 prim->power = POWER_12;
6009 prim->ncc_permitted = NOT_PRESENT_8BIT;
6010 prim->reorg_only._skip;
6011 prim->eotd_avail = EOTD_NOT_PRES;
6012 prim->gprs_support._skip;
6013 prim->si2quater_status = SI2QUATER_CONFIGURE;
6014 prim->si2quater_pos = SI2QUATER_ON_EBCCH;
6015
6016 return prim;
6017 }
6018 #endif // FF_EGPRS
6019
6020 T_PRIMITIVE_UNION mphc_new_scell_req_20()
6021 {
6022 T_MPHC_NEW_SCELL_REQ prim;
6023 prim->radio_freq = ARFCN_14;
6024 prim->fn_offset = FN_OFFSET_0;
6025 prim->time_alignment = TIME_ALIGNMT_0;
6026 prim->tsc = BSIC_1;
6027 return prim;
6028 }
6029
6030 T_PRIMITIVE_UNION mph_power_cnf_variant(CHAR variant)
6031 {
6032 T_MPH_POWER_CNF prim;
6033 int no_of_channels = CHANNELS_0, no_of_white_channels = CHANNELS_0;
6034
6035 const U16 ARFCN_23_14_124_1_WITH_STD_elements[] = {
6036 ARFCN_23_STD_EGSM, ARFCN_150_STD_DUAL_US, ARFCN_14_STD_EGSM, ARFCN_140_STD_DUAL_US,
6037 ARFCN_124_STD_EGSM, ARFCN_250_STD_DUAL_US, ARFCN_1_STD_EGSM, ARFCN_130_STD_DUAL_US
6038 };
6039 T_ARRAY<U16> ARFCN_23_14_124_1_WITH_STD(ARFCN_23_14_124_1_WITH_STD_elements, SKIP_TO_END);
6040
6041 const U16 ARFCN_130_STD_DUAL_US_elements[] = { ARFCN_130_STD_DUAL_US };
6042
6043 T_ARRAY<U16> ARFCN_130_WITH_STD(ARFCN_130_STD_DUAL_US_elements, SKIP_TO_END);
6044
6045 switch(variant)
6046 {
6047 case 'A' :
6048 no_of_channels = 110;
6049 no_of_white_channels = 1;
6050 prim->arfcn = ARFCN_130_WITH_STD;
6051 break;
6052 case 'B' :
6053 prim->inactive_carrier_list.list[0].channels = LIST_1_14_23_124_euro;
6054 prim->inactive_carrier_list.list[1].channels = LIST_130_140_150_250_155_amr;
6055 prim->arfcn._skip;
6056 break;
6057 case 'C':
6058 no_of_channels = CHANNELS_8;
6059 prim->inactive_carrier_list.list[0].channels = LIST_no_carriers;
6060 prim->inactive_carrier_list.list[1].channels = LIST_155_amr;
6061 prim->arfcn = ARFCN_23_14_124_1_WITH_STD;
6062 break;
6063 case 'D':
6064 prim->inactive_carrier_list.list[0].channels._show;
6065 prim->inactive_carrier_list.list[1].channels = LIST_no_carriers;
6066 prim->arfcn._skip;
6067 break;
6068 default :
6069 prim->inactive_carrier_list.list[0].channels._skip;
6070 prim->inactive_carrier_list.list[1].channels._skip;
6071 prim->arfcn._skip;
6072 break;
6073 }
6074
6075 prim->rx_lev._skip;
6076 prim->num_of_chan = no_of_channels;
6077 prim->num_of_white_list_chan = no_of_white_channels;
6078 return prim;
6079 }
6080
6081
6082 T_PRIMITIVE_UNION mph_power_cnf_max()
6083 {
6084 T_MPH_POWER_CNF prim;
6085
6086 prim->num_of_chan = CHANNELS_160;
6087 prim->num_of_white_list_chan._show;
6088 prim->arfcn._show;
6089 prim->rx_lev._show;
6090 prim->inactive_carrier_list.list[0].channels._skip;
6091 prim->inactive_carrier_list.list[1].channels._skip;
6092 return prim;
6093 }
6094
6095
6096 T_PRIMITIVE_UNION mph_power_cnf_overlap()
6097 {
6098 T_MPH_POWER_CNF prim;
6099
6100 prim->num_of_chan._show;
6101 prim->num_of_white_list_chan._show;
6102 prim->arfcn._show;
6103 prim->rx_lev._show;
6104 prim->inactive_carrier_list.list[0].channels._skip;
6105 prim->inactive_carrier_list.list[1].channels._skip;
6106 return prim;
6107 }
6108
6109 T_PRIMITIVE_UNION mph_power_cnf_overlap1()
6110 {
6111 T_MPH_POWER_CNF prim;
6112
6113 prim->num_of_chan = CHANNELS_160;
6114 prim->num_of_white_list_chan._show;
6115 prim->arfcn._show;
6116 prim->rx_lev._show;
6117 prim->inactive_carrier_list.list[0].channels._skip;
6118 prim->inactive_carrier_list.list[1].channels._skip;
6119 return prim;
6120 }