comparison src/cs/layer1/p_include/l1p_msgt.h @ 0:b6a5e36de839

src/cs: initial import from Magnetite
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 15 Jul 2018 04:39:26 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:b6a5e36de839
1 /************* Revision Controle System Header *************
2 * GSM Layer 1 software
3 * L1P_MSGT.H
4 *
5 * Filename l1p_msgt.h
6 * Copyright 2003 (C) Texas Instruments
7 *
8 ************* Revision Controle System Header *************/
9
10 /* channels types */
11 #define L2_PCHANNEL_PCCCH 1
12 #define L2_PCHANNEL_PBCCH 2
13 #define L2_PCHANNEL_PPCH 3
14 #define L2_PCHANNEL_PEPCH 4
15 #define L2_PCHANNEL_PACCH 5
16
17
18 typedef struct
19 {
20 UWORD8 txpwr;
21 UWORD16 rand;
22 UWORD16 channel_request_data;
23 UWORD8 bs_prach_blks;
24 UWORD8 access_burst_type;
25 }
26 T_MPHP_RA_REQ;
27
28 typedef struct
29 {
30 UWORD32 fn;
31 UWORD16 channel_request_data;
32 }
33 T_MPHP_RA_CON;
34
35 typedef struct
36 {
37 UWORD8 pol_resp_type;
38 UWORD8 channel_request_data[24];
39 UWORD32 fn;
40 UWORD8 timing_advance;
41 UWORD8 txpwr;
42 }
43 T_MPHP_POLLING_RESPONSE_REQ;
44
45 typedef struct
46 {
47 UWORD32 fn;
48 }
49 T_MPHP_POLLING_IND;
50
51
52 typedef struct
53 {
54 UWORD8 ta;
55 UWORD8 ta_index;
56 UWORD8 ta_tn;
57 }
58 T_PACKET_TA;
59
60
61 typedef struct
62 {
63 BOOL present;
64 UWORD32 absolute_fn;
65 }
66 T_TBF_STI;
67
68
69 typedef struct
70 {
71 T_CHN_SEL chan_sel;
72 T_MOBILE_ALLOCATION freq_list;
73 }
74 T_PACKET_FREQ_PARAM;
75
76
77 typedef struct
78 {
79 UWORD8 ctrl_timeslot;
80 UWORD8 bitmap_length;
81 UWORD8 bitmap[127];
82 }
83 T_FIXED_ALLOC;
84
85
86 typedef struct
87 {
88 UWORD8 usf_table[8];
89 BOOL usf_granularity;
90 }
91 T_DYNAMIC_ALLOC;
92
93
94 typedef struct
95 {
96 UWORD8 tfi;
97 UWORD8 timeslot_alloc;
98 }
99 T_DL_RESSOURCE_ALLOC;
100
101
102 typedef struct
103 {
104 UWORD8 tfi;
105 UWORD8 timeslot_alloc;
106 T_DYNAMIC_ALLOC dynamic_alloc;
107 T_FIXED_ALLOC fixed_alloc;
108 }
109 T_UL_RESSOURCE_ALLOC;
110
111 typedef struct
112 {
113 UWORD8 p0;
114 BOOL bts_pwr_ctl_mode;
115 BOOL pr_mode;
116 }
117 T_DL_POWER_CTL;
118
119 typedef struct
120 {
121 UWORD8 assignment_id;
122 UWORD8 assignment_command;
123 UWORD8 multislot_class;
124 BOOL interf_meas_enable;
125 BOOL pc_meas_chan;
126 BOOL access_burst_type;
127 T_PACKET_TA packet_ta;
128 T_DL_POWER_CTL dl_pwr_ctl;
129 UWORD8 tsc;
130 T_PACKET_FREQ_PARAM freq_param;
131 T_TBF_STI tbf_sti;
132 UWORD8 mac_mode;
133 T_DL_RESSOURCE_ALLOC dl_ressource_alloc;
134 T_UL_RESSOURCE_ALLOC ul_ressource_alloc;
135 }
136 T_MPHP_ASSIGNMENT_REQ;
137
138
139 typedef struct
140 {
141 BOOL repeat_allocation;
142 UWORD8 ts_override;
143 T_TBF_STI tbf_sti;
144 }
145 T_MPHP_REPEAT_UL_FIXED_ALLOC_REQ;
146
147
148 typedef struct
149 {
150 UWORD8 assignment_id;
151 UWORD8 purpose;
152 BOOL pc_meas_chan;
153 BOOL access_burst_type;
154 T_PACKET_TA packet_ta;
155 T_DL_POWER_CTL dl_pwr_ctl;
156 UWORD8 tsc;
157 T_PACKET_FREQ_PARAM freq_param;
158 T_TBF_STI tbf_sti;
159 UWORD8 timeslot_number;
160 UWORD8 data_array[23];
161 }
162 T_MPHP_SINGLE_BLOCK_REQ;
163
164 typedef struct
165 {
166 UWORD8 assignment_id;
167 UWORD8 purpose;
168 UWORD8 status;
169 BOOL dl_error_flag;
170 UWORD8 data_array[23];
171 }
172 T_MPHP_SINGLE_BLOCK_CON;
173
174 typedef struct
175 {
176 UWORD8 assignment_id;
177 UWORD8 timeslot_available;
178 }
179 T_MPHP_PDCH_RELEASE_REQ;
180
181
182 typedef struct
183 {
184 UWORD8 assignment_id;
185 T_PACKET_TA packet_ta;
186 }
187 T_MPHP_TIMING_ADVANCE_REQ;
188
189
190 typedef struct
191 {
192 UWORD8 tbf_type;
193 }
194 T_MPHP_TBF_RELEASE_REQ;
195
196 /****************************************************************/
197 /* Structure definition for L3 <-> L1 messages */
198 /****************************************************************/
199
200 // Packet Channel Description: arfcn/Hopping description + TN + TSC
201 typedef struct
202 {
203 T_CHN_SEL chan_sel;
204 UWORD8 timeslot_no;
205 UWORD8 tsc;
206 }
207 T_PACKET_CHANNEL_DESC;
208
209 typedef struct
210 {
211 UWORD16 imsimod;
212 UWORD16 kcn;
213 UWORD16 split_pg_cycle;
214 UWORD8 bs_pag_blks_res;
215 UWORD8 bs_pbcch_blks;
216 UWORD8 pb;
217 UWORD8 page_mode;
218 T_PACKET_CHANNEL_DESC packet_chn_desc;
219 T_MOBILE_ALLOCATION frequency_list;
220 }
221 T_MPHP_START_PCCCH_REQ;
222
223 typedef struct
224 {
225 UWORD16 radio_freq;
226 UWORD8 l2_channel;
227 BOOL error_flag;
228 T_RADIO_FRAME l2_frame;
229 UWORD8 relative_position;
230 WORD8 pccch_lev;
231 UWORD32 fn;
232 }
233 T_MPHP_DATA_IND;
234
235 typedef struct
236 {
237 UWORD8 nbr_psi;
238 UWORD8 bs_pbcch_blks;
239 UWORD8 pb;
240 UWORD8 psi1_repeat_period;
241 UWORD8 relative_position_array[20];
242 T_PACKET_CHANNEL_DESC packet_chn_desc;
243 T_MOBILE_ALLOCATION frequency_list;
244 }
245 T_MPHP_SCELL_PBCCH_REQ;
246
247 typedef struct
248 {
249 UWORD8 nb_carrier;
250 UWORD16 radio_freq_no[33];
251 UWORD8 list_id;
252 }
253 T_MPHP_CR_MEAS_REQ;
254
255 typedef struct
256 {
257 WORD8 rxlev;
258 }
259 T_NCELL_MEAS;
260
261 typedef struct
262 {
263 UWORD8 nmeas;
264 T_NCELL_MEAS ncell_meas[33];
265 UWORD8 list_id;
266 UWORD16 reporting_period;
267 }
268 T_MPHP_CR_MEAS_IND;
269
270 typedef struct
271 {
272 WORD16 acc_level [33];
273 UWORD8 acc_nbmeas[33];
274 UWORD8 list_id;
275 }
276 T_MPHP_TCR_MEAS_IND;
277
278 typedef struct
279 {
280 T_PACKET_FREQ_PARAM packet_intm_freq_param;
281 UWORD8 carrier_id;
282 UWORD8 tn;
283 UWORD8 multislot_class;
284 }
285 T_MPHP_INT_MEAS_REQ;
286
287 typedef struct
288 {
289 WORD8 rxlev[2];
290 }
291 T_INT_MEAS;
292
293 typedef struct
294 {
295 T_INT_MEAS int_meas[8];
296 UWORD8 id;
297 }
298 T_MPHP_INT_MEAS_IND;
299
300 typedef struct
301 {
302 WORD8 rxlev[8];
303 UWORD32 fn;
304 UWORD8 position;
305 UWORD8 meas_bitmap;
306 } T_L1P_ITMEAS_IND;
307
308 typedef struct
309 {
310 UWORD8 bs_pbcch_blks;
311 UWORD8 pb;
312 UWORD8 psi1_repeat_period;
313 UWORD8 relative_position;
314 T_PACKET_CHANNEL_DESC packet_chn_desc;
315 T_MOBILE_ALLOCATION frequency_list;
316 UWORD16 bcch_carrier;
317 UWORD32 fn_offset;
318 UWORD32 time_alignment;
319 }
320 T_MPHP_NCELL_PBCCH_REQ;
321
322 typedef struct
323 {
324 UWORD8 pb;
325 BOOL access_burst_type;
326 }
327 T_MPHP_UPDATE_PSI_PARAM_REQ;
328
329 typedef struct
330 {
331 BOOL released_all;
332 UWORD8 tbf_type;
333 WORD8 tn_difference;
334 } T_L1P_TBF_RELEASED;
335
336 typedef struct
337 {
338 UWORD8 tbf_type;
339 } T_MPHP_TBF_RELEASE_CON;
340
341 typedef struct
342 {
343 UWORD8 assignment_id;
344 } T_MPHP_PDCH_RELEASE_CON;
345
346 typedef struct
347 {
348 UWORD8 assignment_id;
349 WORD8 tn_difference;
350 BOOL Transfer_update; // Detect transition IDLE => Packet Transfer
351 } T_L1P_TRANSFER_DONE;
352
353 typedef struct
354 {
355 UWORD8 assignment_id;
356 WORD8 tn_difference;
357 } T_L1P_PDCH_RELEASE_CON;
358
359 typedef struct
360 {
361 WORD8 tn_difference;
362 } T_L1P_REPEAT_ALLOC_DONE;
363
364 typedef struct
365 {
366 WORD8 tn_difference;
367 } T_L1P_ALLOC_EXHAUST_DONE;
368
369 typedef T_MPHP_DATA_IND T_MPHP_NCELL_PBCCH_IND;
370 typedef T_MPHP_CR_MEAS_IND T_L1P_CR_MEAS_DONE;
371 typedef T_MPHP_TCR_MEAS_IND T_L1P_TCR_MEAS_DONE;
372 typedef T_MPHP_CR_MEAS_REQ T_MPHP_TCR_MEAS_REQ;
373 typedef T_MPHP_PDCH_RELEASE_CON T_MPHP_TIMING_ADVANCE_CON;
374 typedef T_MPHP_PDCH_RELEASE_CON T_MPHP_ASSIGNMENT_CON;