| Wireshark 4.7.0 The Wireshark network protocol analyzer

Loading...
Searching...
No Matches
packet-gsm_rlcmac.h
1/* packet-gsm_rlcmac.h
2 * Definitions for GSM RLC MAC control plane message dissection in wireshark.
3 * TS 44.060 and 24.008
4 * By Vincent Helfre, based on original code by Jari Sassi
5 * with the gracious authorization of STE
6 * Copyright (c) 2011 ST-Ericsson
7 *
8 * Wireshark - Network traffic analyzer
9 * By Gerald Combs <gerald@wireshark.org>
10 * Copyright 1998 Gerald Combs
11 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 */
14
15#ifndef __PACKET_GSM_RLCMAC_H__
16#define __PACKET_GSM_RLCMAC_H__
17
18#ifndef PRE_PACKED
19#define PRE_PACKED
20#endif
21
22#ifndef POST_PACKED
23#define POST_PACKED
24#endif
25
26#define GSM_RLC_MAC_MAGIC_NUMBER 0x67707273
27
28typedef uint8_t TFI_t;
29
30typedef uint8_t N32_t;
31typedef uint8_t N51_t;
32typedef uint8_t N26_t;
33
34/* Starting Time IE as specified in 04.08 */
35 typedef struct
36{
37 N32_t N32; /* 04.08 refers to T1' := (FN div 1326) mod 32 */
38 N51_t N51; /* 04.08 refers to T3 := FN mod 51 */
39 N26_t N26; /* 04.08 refers to T2 := FN mod 26 */
40} StartingTime_t;
41
42 typedef struct
43{
44 uint8_t UnionType;/* UnionType is index */
45 union
46 {
47 uint8_t UPLINK_TFI;
48 uint8_t DOWNLINK_TFI;
49 } u;
50} Global_TFI_t;
51
52 typedef struct
53{
54 uint8_t UnionType;
55 union
56 {
57 StartingTime_t StartingTime;
58 uint16_t k;
59 } u;
60} Starting_Frame_Number_t;
61
62 typedef struct
63{
64 uint8_t FINAL_ACK_INDICATION;
65 uint8_t STARTING_SEQUENCE_NUMBER;
66 uint8_t RECEIVED_BLOCK_BITMAP[64/8];
67} Ack_Nack_Description_t;
68
69
70 typedef struct
71{
72 uint8_t Exist_TIMING_ADVANCE_VALUE;
73 uint8_t TIMING_ADVANCE_VALUE;
74
75 uint8_t Exist_IndexAndtimeSlot;
76 uint8_t TIMING_ADVANCE_INDEX;
77 uint8_t TIMING_ADVANCE_TIMESLOT_NUMBER;
78} Packet_Timing_Advance_t;
79
80 typedef struct
81{
82 uint8_t ALPHA;
83
84 struct
85 {
86 uint8_t Exist;
87 uint8_t GAMMA_TN;
88 } Slot[8];
89} Power_Control_Parameters_t;
90
91 typedef struct
92{
93 uint8_t ALPHA;
94 uint8_t T_AVG_W;
95 uint8_t T_AVG_T;
96 uint8_t Pb;
97 uint8_t PC_MEAS_CHAN;
98 uint8_t INT_MEAS_CHANNEL_LIST_AVAIL;
99 uint8_t N_AVG_I;
100} Global_Power_Control_Parameters_t;
101
102 typedef struct
103{
104 uint8_t Exist_TIMING_ADVANCE_VALUE;
105 uint8_t TIMING_ADVANCE_VALUE;
106
107 uint8_t Exist_UPLINK_TIMING_ADVANCE;
108 uint8_t UPLINK_TIMING_ADVANCE_INDEX;
109 uint8_t UPLINK_TIMING_ADVANCE_TIMESLOT_NUMBER;
110
111 uint8_t Exist_DOWNLINK_TIMING_ADVANCE;
112 uint8_t DOWNLINK_TIMING_ADVANCE_INDEX;
113 uint8_t DOWNLINK_TIMING_ADVANCE_TIMESLOT_NUMBER;
114} Global_Packet_Timing_Advance_t;
115
116
117 typedef struct
118{
119 uint8_t C_VALUE;
120 uint8_t RXQUAL;
121 uint8_t SIGN_VAR;
122
123 struct
124 {
125 uint8_t Exist;
126 uint8_t I_LEVEL_TN;
127 } Slot[8];
128} Channel_Quality_Report_t;
129
130typedef enum
131{
132 RLC_MODE_ACKNOWLEDGED = 0,
133 RLC_MODE_UNACKNOWLEDGED = 1
134} RLC_MODE_t;
135
136 typedef struct
137{
138 uint8_t PEAK_THROUGHPUT_CLASS;
139 uint8_t RADIO_PRIORITY;
140 RLC_MODE_t RLC_MODE;
141 uint8_t LLC_PDU_TYPE;
142 uint16_t RLC_OCTET_COUNT;
143} Channel_Request_Description_t;
144
145 typedef struct
146{
147 uint16_t RANDOM_ACCESS_INFORMATION;
148 uint8_t FRAME_NUMBER[2];
149} Packet_Request_Reference_t;
150
151typedef PRE_PACKED struct
152{
153 uint8_t nsapi;
154 uint8_t value;
155} Receive_N_PDU_Number_t POST_PACKED;
156
157typedef PRE_PACKED struct
158{
159 uint8_t IEI;
160 uint8_t Length;
161
162 uint8_t Count_Receive_N_PDU_Number;
163 Receive_N_PDU_Number_t Receive_N_PDU_Number[11];
164} Receive_N_PDU_Number_list_t POST_PACKED;
165
167#define IMSI_LEN 9
168
170#define TMSI_LEN 4
171
172 typedef struct
173{
174 uint8_t MCC1;
175 uint8_t MCC2;
176 uint8_t MCC3;
177 uint8_t MNC3;
178 uint8_t MNC1;
179 uint8_t MNC2;
180} PLMN_t;
181
182
184typedef PRE_PACKED struct
185{
186 PLMN_t PLMN;
187 uint16_t LAC;
188} LAI_t POST_PACKED;
189
190
192#define LAI_LEN (sizeof(LAI_t))
193
194 typedef struct
195{
196 uint8_t TMSI[TMSI_LEN];
197} TMSI_t;
198
199typedef uint16_t CellId_t;
200
201
202#define CKSN_NOT_VALID 7
203
204#define IMEI_LEN 9
205
206#define IMEISV_LEN 10
207
208#define MAX_ELEMENTS_IN_EQPLMN_LIST 16
209
210
211 typedef struct
212{
213 uint8_t NUMBER_CELLS;
214 uint8_t CCN_SUPPORTED[16]; /* bit (1), max size: 16 x 8 => 128 bits */
215} CCN_Support_Description_t;
216
217 typedef struct
218{
219 uint8_t UnionType;
220 union
221 {
222 uint8_t LSA_ID;
223 uint8_t ShortLSA_ID;
224 } u;
225} LSA_ID_Info_Element_t;
226
227#define LSA_ID_INFO_ELEMENTS_MAX (16)
228
229 typedef struct
230{
231 uint8_t Count_LSA_ID_Info_Element;
232 LSA_ID_Info_Element_t LSA_ID_Info_Elements[LSA_ID_INFO_ELEMENTS_MAX];
233} LSA_ID_Info_t;
234
235#define NR_OF_FREQ_OR_CELLS_MAX (32)
236
237 typedef struct
238{
239 uint8_t NR_OF_FREQ_OR_CELLS;
240 LSA_ID_Info_t LSA_ID_Info[NR_OF_FREQ_OR_CELLS_MAX];
241} LSA_Parameters_t;
242
243#define MAX_REPORT_PRIORITY_CELLS (16)
244
245 typedef struct
246{
247 uint8_t NUMBER_CELLS;
248 uint8_t REPORT_PRIORITY[MAX_REPORT_PRIORITY_CELLS];
249} ReportPriority_t;
250
251typedef ReportPriority_t GPRSReportPriority_t;
252
253 typedef struct
254{
255 uint8_t REPORTING_OFFSET;
256 uint8_t REPORTING_THRESHOLD;
257} OffsetThreshold_t;
258
259
260 typedef struct
261{
262 uint8_t Exist_MULTI_BAND_REPORTING;
263 uint8_t MULTI_BAND_REPORTING;
264
265 uint8_t Exist_SERVING_BAND_REPORTING;
266 uint8_t SERVING_BAND_REPORTING;
267
268 /* Warning:
269 *
270 * SI2quater, MI, PMO, and PCCO always specify Scale Ord. There is no
271 * "exist SCALE_ORD" bit in the CSN.1 descriptions for these messages.
272 * However, this struct is shared with the PSI5 message which may or may
273 * not specify SCALE_ORD, thus necessitating the inclusion of member
274 * Exist_SCALE_ORD in the struct. This member is never set for SI2quater, MI,
275 * PMO, and PCCO so to check it (in these cases) would be erroneous.
276 */
277 uint8_t Exist_SCALE_ORD;
278 uint8_t SCALE_ORD;
279
280 uint8_t Exist_OffsetThreshold900;
281 OffsetThreshold_t OffsetThreshold900;
282
283 uint8_t Exist_OffsetThreshold1800;
284 OffsetThreshold_t OffsetThreshold1800;
285
286 uint8_t Exist_OffsetThreshold400;
287 OffsetThreshold_t OffsetThreshold400;
288
289 uint8_t Exist_OffsetThreshold1900;
290 OffsetThreshold_t OffsetThreshold1900;
291
292 uint8_t Exist_OffsetThreshold850;
293 OffsetThreshold_t OffsetThreshold850;
294
295} MeasurementParams_t;
296
297 typedef struct
298{
299 uint8_t Exist_FDD_REPORTING_THRESHOLD_2;
300 uint8_t FDD_REPORTING_THRESHOLD_2;
301} GPRS_AdditionalMeasurementParams3G_t;
302
303
304 typedef struct
305{
306 uint8_t NETWORK_CONTROL_ORDER;
307
308 uint8_t Exist_NC;
309 uint8_t NC_NON_DRX_PERIOD;
310 uint8_t NC_REPORTING_PERIOD_I;
311 uint8_t NC_REPORTING_PERIOD_T;
312} NC_Measurement_Parameters_t;
313
314
315/*
316**========================================================================
317** Global types
318**========================================================================
319*/
320
321 struct MobileId /* Mobile id, -> TMSI, IMEI or IMSI */
322{
323 uint8_t Length;
324 uint8_t IdType;
325 uint8_t OddEven;
326 uint8_t Dig1;
327 union
328 {
329 unsigned char TMSI[TMSI_LEN];
330 unsigned char IMEI[IMEI_LEN - 2];
331 unsigned char IMSI[IMEI_LEN - 2];
332 unsigned char IMEISV[IMEISV_LEN - 2];
333 } Id;
334};
335
336#if 0
337struct OV_MobileId /* Struct for optional mobile identity */
338{
339 unsigned char IEI;
340 struct MobileId MV;
341};
342
343#define LAC_INVALID 0xFEFF
344
345typedef enum
346{
347 LAI_PRIORITY_AVAILABLE,
348 LAI_PRIORITY_FORBIDDEN,
349 LAI_PRIORITY_FORCED
350} LAI_Priority_t;
351
352typedef enum
353{
354 NOM_I,
355 NOM_II,
356 NOM_III,
357 NOM_GSM,
358 NOM_PS_ONLY,
359 NOM_UNKNOWN
360} NMO_t;
361
362typedef enum
363{
364 COMBINED,
365 NOT_COMBINED,
366 SAME_AS_BEFORE
367} ProcedureMode_t;
368
369typedef struct
370{
371 uint8_t Cause;
372 LAI_t LAI;
373 struct OV_MobileId MobileId;
374} CombinedResult_t;
375
376typedef enum
377{
378 R97,
379 R99
380} MSCR_t, SGSNR_t;
381
382typedef struct
383{
384 uint8_t NbrOfElements;
385 PLMN_t Element[MAX_ELEMENTS_IN_EQPLMN_LIST];
386} EqPLMN_List_t;
387#endif
388
389#define MAX_PCCCH 16
390#define MAX_RFL_LENGTH 16 /* length of RFL in PSI2 */
391#define MAX_RFLS 4 /* Max number of RFLs */
392#define MAX_MA_LISTS_IN_PSI2 8 /* MAX MA lists = 8 */
393#define MAX_ALLOCATION_BITMAP_LENGTH 128 /* max length of Fixed Allocation bitmap in BITS (2^7) */
394#define MAX_VAR_LENGTH_BITMAP_LENGTH 176 /* max length ever possible for variable length fixed allocation bitmap */
395
396
397 typedef struct
398{
399 uint8_t MA_LENGTH;/* =(MA_BitLength +7) MA_BitLength_ converted to bytes */
400 uint8_t MA_BITMAP[(63+1)/8];/* : bit (val (MA_LENGTH) + 1) > */
401 /* The above should not change order! */
402 uint8_t MA_BitLength;
403} MobileAllocation_t;
404
405 typedef struct
406{
407 uint8_t ElementsOf_ARFCN_INDEX;
408 uint8_t ARFCN_INDEX[16];
409} ARFCN_index_list_t;
410
411 typedef struct
412{
413 uint8_t HSN;
414
415 uint8_t ElementsOf_RFL_NUMBER;
416 uint8_t RFL_NUMBER[4];
417
418 uint8_t UnionType;
419 union
420 {
421 MobileAllocation_t MA;
422 ARFCN_index_list_t ARFCN_index_list;
423 } u;
424} GPRS_Mobile_Allocation_t;
425
426/* < EGPRS Ack/Nack Description >
427 * CRBB - Compressed Received Blocks Bitmap
428 * URBB - Uncompressed Received Blocks Bitmap
429 */
430#define EGPRS_ACK_NACK_MAX_BITS 0x0FF /* 255 bits/32 bytes */
431#define CRBB_MAX_BITS 0x07F /* 127 bits/16 bytes */
432#define URBB_MAX_BITS 0x150 /* 336 bits/42 bytes */
433
434 typedef struct
435{
436 uint8_t FINAL_ACK_INDICATION;
437 uint8_t BEGINNING_OF_WINDOW;
438 uint8_t END_OF_WINDOW;
439 uint16_t STARTING_SEQUENCE_NUMBER;
440
441 bool Exist_CRBB;
442 uint8_t CRBB_LENGTH;
443 uint8_t CRBB_STARTING_COLOR_CODE;
444 uint8_t CRBB[CRBB_MAX_BITS/8 + 1];
445
446 uint16_t URBB_LENGTH;
447 uint8_t URBB[URBB_MAX_BITS/8];
448} EGPRS_AckNack_Desc_t;
449
450 typedef struct
451{
452 uint8_t UnionType;
453 EGPRS_AckNack_Desc_t Desc;
454} EGPRS_AckNack_t;
455
456 typedef struct
457{
458 uint8_t LENGTH;
459 EGPRS_AckNack_Desc_t Desc;
460} EGPRS_AckNack_w_len_t;
461
462
463/* <P1 Rest Octets>
464 * <P2 Rest Octets>
465 */
466#if 0
467#define SF_VBS 0 /* VBS (broadcast call reference) */
468#define SF_VGCS 1 /* VGCS (group call reference) */
469
470#define AF_AckIsNotRequired 0 /* acknowledgement is not required */
471#define AF_AckIsRequired 1 /* acknowledgement is required */
472#endif
473
474 typedef struct
475{
476 uint32_t value;
477 uint8_t SF;
478 uint8_t AF;
479 uint8_t call_priority;
480 uint8_t Ciphering_information;
481} Group_Call_Reference_t;
482
483/* Mobile allocation is coded differently but uses the same type! */
484 typedef struct
485{
486 uint8_t Length;
487 uint8_t MA[8];
488} MobileAllocationIE_t;
489
490 typedef struct
491{
492 uint8_t UnionType;
493 union
494 {
495 MobileAllocationIE_t MA;
496 uint8_t Frequency_Short_List[64/8];
497 } u;
498} MobileAllocation_or_Frequency_Short_List_t;
499
500 typedef struct
501{
502 uint8_t spare;
503 uint16_t ARFCN;
504} SingleRFChannel_t;
505
506 typedef struct
507{
508 uint8_t MAIO;
509 uint8_t HSN;
510} RFHoppingChannel_t;
511
512 typedef struct
513{
514 uint8_t Channel_type_and_TDMA_offset;
515 uint8_t TN;
516 uint8_t TSC;
517
518 uint8_t UnionType;
519 union
520 {
521 SingleRFChannel_t SingleRFChannel;
522 RFHoppingChannel_t RFHoppingChannel;
523 } u;
524} Channel_Description_t;
525
526 typedef struct
527{
528 Channel_Description_t Channel_Description;
529
530 uint8_t Exist_Hopping;
531 MobileAllocation_or_Frequency_Short_List_t MA_or_Frequency_Short_List;
532
533} Group_Channel_Description_t;
534
535 typedef struct
536{
537 Group_Call_Reference_t Group_Call_Reference;
538
539 uint8_t Exist_Group_Channel_Description;
540 Group_Channel_Description_t Group_Channel_Description;
541} Group_Call_information_t;
542
543 typedef struct
544{
545 uint8_t Exist_NLN_PCH_and_NLN_status;
546 uint8_t NLN_PCH;
547 uint8_t NLN_status;
548
549 uint8_t Exist_Priority1;
550 uint8_t Priority1;
551
552 uint8_t Exist_Priority2;
553 uint8_t Priority2;
554
555 uint8_t Exist_Group_Call_information;
556 Group_Call_information_t Group_Call_information;
557
558 uint8_t Packet_Page_Indication_1;
559 uint8_t Packet_Page_Indication_2;
560} P1_Rest_Octets_t;
561
562 typedef struct
563{
564 uint8_t Exist_CN3;
565 uint8_t CN3;
566
567 uint8_t Exist_NLN_and_status;
568 uint8_t NLN;
569 uint8_t NLN_status;
570
571 uint8_t Exist_Priority1;
572 uint8_t Priority1;
573
574 uint8_t Exist_Priority2;
575 uint8_t Priority2;
576
577 uint8_t Exist_Priority3;
578 uint8_t Priority3;
579
580 uint8_t Packet_Page_Indication_3;
581} P2_Rest_Octets_t;
582
583/* <IA Rest Octets> incl additions for R99 and EGPRS */
584
585 typedef struct
586{
587 uint8_t USF;
588 uint8_t USF_GRANULARITY;
589
590 uint8_t Exist_P0_PR_MODE;
591 uint8_t P0;
592 uint8_t PR_MODE;
593} DynamicAllocation_t;
594
595 typedef struct
596{
597 bool Exist_ALPHA;
598 uint8_t ALPHA;
599
600 uint8_t GAMMA;
601 StartingTime_t TBF_STARTING_TIME;
602 uint8_t NR_OF_RADIO_BLOCKS_ALLOCATED;
603
604 bool Exist_P0_BTS_PWR_CTRL_PR_MODE;
605 uint8_t P0;
606 uint8_t BTS_PWR_CTRL_MODE;
607 uint8_t PR_MODE;
608} EGPRS_TwoPhaseAccess_t;
609
610 typedef struct
611{
612 uint8_t TFI_ASSIGNMENT;
613 uint8_t POLLING;
614
615 uint8_t UnionType;
616 union
617 {
618 DynamicAllocation_t DynamicAllocation;
619 uint8_t FixedAllocationDummy; /* Fixed Allocation was removed */
620 } Allocation;
621
622 uint8_t EGPRS_CHANNEL_CODING_COMMAND;
623 uint8_t TLLI_BLOCK_CHANNEL_CODING;
624
625 bool Exist_BEP_PERIOD2;
626 uint8_t BEP_PERIOD2;
627
628 uint8_t RESEGMENT;
629 uint8_t EGPRS_WindowSize;
630
631 bool Exist_ALPHA;
632 uint8_t ALPHA;
633
634 uint8_t GAMMA;
635
636 bool Exist_TIMING_ADVANCE_INDEX;
637 uint8_t TIMING_ADVANCE_INDEX;
638
639 bool Exist_TBF_STARTING_TIME;
640 StartingTime_t TBF_STARTING_TIME;
641} EGPRS_OnePhaseAccess_t;
642
643#define MAX_ACCESS_TECHOLOGY_TYPES 12
644
645 typedef struct
646{
647 uint8_t ExtendedRA;
648
649 uint8_t NrOfAccessTechnologies;
650 uint8_t AccessTechnologyType[MAX_ACCESS_TECHOLOGY_TYPES];
651
652 uint8_t UnionType;
653 union
654 {
655 EGPRS_TwoPhaseAccess_t TwoPhaseAccess; /* 04.18/10.5.2.16 Multiblock allocation */
656 EGPRS_OnePhaseAccess_t OnePhaseAccess; /* 04.60/10.5.2.16 TFI using Dynamic or Fixed Allocation */
657 } Access;
658} IA_EGPRS_00_t;
659
660 typedef struct
661{
662 uint8_t UnionType;
663 union
664 {
665 IA_EGPRS_00_t IA_EGPRS_PUA; /* 00 < EGPRS Packet Uplink Assignment >*/
666 uint8_t IA_EGPRS_01; /* 01 reserved for future use */
667 uint8_t IA_EGPRS_1; /* 1 reserved for future use */
668 } u;
669} IA_EGPRS_t;
670
671 typedef struct
672{
673 uint8_t Length;
674 uint8_t MAIO;
675 uint8_t MobileAllocation[62];
676} IA_FreqParamsBeforeTime_t;
677
678 typedef struct
679{
680 bool Exist_ALPHA;
681 uint8_t ALPHA;
682
683 uint8_t GAMMA;
684 uint8_t R97_CompatibilityBits;
685 StartingTime_t TBF_STARTING_TIME;
686
687 bool Exist_P0_BTS_PWR_CTRL_PR_MODE;
688 uint8_t P0;
689 uint8_t BTS_PWR_CTRL_MODE;
690 uint8_t PR_MODE;
691} GPRS_SingleBlockAllocation_t;
692
693 typedef struct
694{
695 uint8_t TFI_ASSIGNMENT;
696 uint8_t POLLING;
697
698 uint8_t UnionType;
699 union
700 {
701 DynamicAllocation_t DynamicAllocation;
702 uint8_t FixedAllocationDummy;
703 } Allocation;
704
705 uint8_t CHANNEL_CODING_COMMAND;
706 uint8_t TLLI_BLOCK_CHANNEL_CODING;
707
708 uint8_t Exist_ALPHA;
709 uint8_t ALPHA;
710
711 uint8_t GAMMA;
712
713 uint8_t Exist_TIMING_ADVANCE_INDEX;
714 uint8_t TIMING_ADVANCE_INDEX;
715
716 uint8_t Exist_TBF_STARTING_TIME;
717 StartingTime_t TBF_STARTING_TIME;
718} GPRS_DynamicOrFixedAllocation_t;
719
720 typedef struct
721{
722 bool Exist_ExtendedRA;
723 uint8_t ExtendedRA;
724} PU_IA_AdditionsR99_t;
725
726 typedef struct
727{
728 uint8_t UnionType;
729 union
730 {
731 GPRS_SingleBlockAllocation_t SingleBlockAllocation;
732 GPRS_DynamicOrFixedAllocation_t DynamicOrFixedAllocation;
733 } Access;
734
735 bool Exist_AdditionsR99;
736 PU_IA_AdditionsR99_t AdditionsR99;
737} Packet_Uplink_ImmAssignment_t;
738
739 typedef struct
740{
741 uint8_t EGPRS_WindowSize;
742 uint8_t LINK_QUALITY_MEASUREMENT_MODE;
743
744 bool Exist_BEP_PERIOD2;
745 uint8_t BEP_PERIOD2;
746} PD_IA_AdditionsR99_t;
747
748 typedef struct
749{
750 uint32_t TLLI;
751
752 uint8_t Exist_TFI_to_TA_VALID;
753 uint8_t TFI_ASSIGNMENT;
754 uint8_t RLC_MODE;
755 uint8_t Exist_ALPHA;
756 uint8_t ALPHA;
757 uint8_t GAMMA;
758 uint8_t POLLING;
759 uint8_t TA_VALID;
760
761 uint8_t Exist_TIMING_ADVANCE_INDEX;
762 uint8_t TIMING_ADVANCE_INDEX;
763
764 uint8_t Exist_TBF_STARTING_TIME;
765 StartingTime_t TBF_STARTING_TIME;
766
767 uint8_t Exist_P0_PR_MODE;
768 uint8_t P0;
769 uint8_t BTS_PWR_CTRL_MODE;
770 uint8_t PR_MODE;
771
772 bool Exist_AdditionsR99;
773 PD_IA_AdditionsR99_t AdditionsR99;
774} Packet_Downlink_ImmAssignment_t;
775
776 typedef struct
777{
778 bool Exist_SecondPart;
779
780 bool Exist_ExtendedRA;
781 uint8_t ExtendedRA;
782} Second_Part_Packet_Assignment_t;
783
784 typedef struct
785{
786 uint8_t UnionType;
787 union
788 {
789 Packet_Uplink_ImmAssignment_t Packet_Uplink_ImmAssignment;
790 Packet_Downlink_ImmAssignment_t Packet_Downlink_ImmAssignment;
791 } ul_dl;
792} IA_PacketAssignment_UL_DL_t;
793
794 typedef struct
795{
796 uint8_t UnionType;
797 union
798 {
799 IA_PacketAssignment_UL_DL_t UplinkDownlinkAssignment;
800 Second_Part_Packet_Assignment_t Second_Part_Packet_Assignment;
801 } u;
802} IA_PacketAssignment_t;
803
804#if 0
805typedef struct
806{
807 uint8_t UnionType;
808 union
809 {
810 IA_FreqParamsBeforeTime_t IA_FrequencyParams;
811 IA_PacketAssignment_t IA_PacketAssignment;
812 } u;
813} IA_GPRS_t;
814
815typedef struct
816{
817 uint8_t UnionType;
818 union
819 {
820 IA_EGPRS_t IA_EGPRS_Struct;
821 IA_GPRS_t IA_GPRS_Struct;
822 } u;
823} IA_t;
824
825
826/* <IAR Rest Octets> ref: 04.18/10.5.2.17 */
827typedef struct
828{
829 uint8_t Exist_ExtendedRA;
830 uint8_t ExtendedRA;
831} ExtendedRA_Info_t;
832
833typedef ExtendedRA_Info_t ExtendedRA_Info_Array_t[4];
834
835typedef struct
836{
837 ExtendedRA_Info_Array_t ExtendedRA_Info;
838} IAR_t;
839#endif
840
841/* Packet Polling Request */
842 typedef struct
843{
844 uint8_t UnionType;
845 union
846 {
847 Global_TFI_t Global_TFI;
848 uint32_t TLLI;
849 uint16_t TQI;
850 } u;
851} PacketPollingID_t;
852
853 typedef struct
854{
855 uint8_t MESSAGE_TYPE;
856 uint8_t PAGE_MODE;
857 PacketPollingID_t ID;
858 uint8_t TYPE_OF_ACK;
859} Packet_Polling_Request_t;
860
861/* < SI 13 Rest Octets > */
862#define MAX_EXTENSION_LENGTH_IN_BYTES (8) /* max value = 64 (coded on 6 bits) */
863
864 typedef struct
865{
866 uint8_t extension_length;
867 uint8_t Extension_Info[MAX_EXTENSION_LENGTH_IN_BYTES];/* ( val (extension length)+1 ) 04.60/12.26 */
868} Extension_Bits_t;
869
870#if 0
871typedef struct
872{
873 uint8_t DTM_SUPPORT : 1;
874 uint8_t PFC_FEATURE_MODE : 1;
875 uint8_t BEP_PERIOD : 4;
876 uint8_t EGPRS_PACKET_CHANNEL_REQUEST : 1;
877 uint8_t EGPRS_Support : 1;
878
879 uint8_t NotUsed : 3;
880 uint8_t EXT_UTBF_NODATA : 1;
881 uint8_t MULTIPLE_TBF_CAPABILITY : 1;
882 uint8_t NW_EXT_UTBF : 1;
883 uint8_t CCN_ACTIVE : 1;
884 uint8_t BSS_PAGING_COORDINATION : 1;
885} GPRS_ExtensionInfoWithEGPRS_t;
886
887typedef struct
888{
889 uint8_t EXT_UTBF_NODATA : 1;
890 uint8_t MULTIPLE_TBF_CAPABILITY : 1;
891 uint8_t NW_EXT_UTBF : 1;
892 uint8_t CCN_ACTIVE : 1;
893 uint8_t BSS_PAGING_COORDINATION : 1;
894 uint8_t DTM_SUPPORT : 1;
895 uint8_t PFC_FEATURE_MODE : 1;
896 uint8_t EGPRS_Support : 1;
897} GPRS_ExtensionInfoWithoutEGPRS_t;
898
899typedef struct
900{
901 uint8_t NotUsed : 7;
902 uint8_t EGPRS_Support : 1;
903} EGPRS_Support_t;
904
905typedef struct
906{
907 uint8_t ECSC : 1;
908 uint8_t ECSR_3G : 1;
909} NonGPRS_ExtensionInfo_t;
910
911typedef struct
912{
913 uint8_t Extension_Length;
914 union
915 {
916 EGPRS_Support_t EGPRS_Support;
917 GPRS_ExtensionInfoWithEGPRS_t GPRS_ExtensionInfoWithEGPRS;
918 GPRS_ExtensionInfoWithoutEGPRS_t GPRS_ExtensionInfoWithoutEGPRS;
919 NonGPRS_ExtensionInfo_t NonGPRS_ExtensionInfo;
920 uint8_t Extension_Information[MAX_EXTENSION_LENGTH_IN_BYTES];
921 } u;
922} Optional_Extension_Information_t;
923
924typedef struct
925{
926 bool EGPRS_Support;
927 uint8_t BEP_PERIOD;
928 bool EGPRS_PACKET_CHANNEL_REQUEST;
929} EGPRS_OptionalExtensionInformation_t;
930#endif
931
932 typedef struct
933{
934 uint8_t NMO;
935 uint8_t T3168;
936 uint8_t T3192;
937 uint8_t DRX_TIMER_MAX;
938 uint8_t ACCESS_BURST_TYPE;
939 uint8_t CONTROL_ACK_TYPE;
940 uint8_t BS_CV_MAX;
941
942 uint8_t Exist_PAN;
943 uint8_t PAN_DEC;
944 uint8_t PAN_INC;
945 uint8_t PAN_MAX;
946
947 uint8_t Exist_Extension_Bits;
948 Extension_Bits_t Extension_Bits;
949} GPRS_Cell_Options_t;
950
951 typedef struct
952{
953 uint8_t ALPHA;
954 uint8_t T_AVG_W;
955 uint8_t T_AVG_T;
956 uint8_t PC_MEAS_CHAN;
957 uint8_t N_AVG_I;
958} GPRS_Power_Control_Parameters_t;
959
960 typedef struct
961{
962 uint8_t RAC;
963 uint8_t SPGC_CCCH_SUP;
964 uint8_t PRIORITY_ACCESS_THR;
965 uint8_t NETWORK_CONTROL_ORDER;
966 GPRS_Cell_Options_t GPRS_Cell_Options;
967 GPRS_Power_Control_Parameters_t GPRS_Power_Control_Parameters;
968} PBCCH_Not_present_t;
969
970 typedef struct
971{
972 uint8_t Pb;
973 uint8_t TSC;
974 uint8_t TN;
975
976 uint8_t UnionType;
977 union
978 {
979 uint8_t dummy;
980 uint16_t ARFCN;
981 uint8_t MAIO;
982 } u;
983} PBCCH_Description_t;
984
985 typedef struct
986{
987 uint8_t PSI1_REPEAT_PERIOD;
988 PBCCH_Description_t PBCCH_Description;
989} PBCCH_present_t;
990
991
992
993/* < Packet TBF Release message content > */
994typedef uint8_t TBF_RELEASE_CAUSE_t;
995#if 0
996#define TBF_RELEASE_CAUSE_NORMAL (0x00)
997#define TBF_RELEASE_CAUSE_ABNORMAL (0x02)
998#endif
999
1000 typedef struct
1001{
1002 uint8_t MESSAGE_TYPE;
1003 uint8_t PAGE_MODE;
1004 Global_TFI_t Global_TFI;
1005 uint8_t UPLINK_RELEASE;
1006 uint8_t DOWNLINK_RELEASE;
1007 TBF_RELEASE_CAUSE_t TBF_RELEASE_CAUSE;
1008} Packet_TBF_Release_t;
1009
1010/* < Packet Control Acknowledgement message content > */
1011 typedef struct
1012{
1013 uint8_t Exist_CTRL_ACK_Extension;
1014 uint16_t CTRL_ACK_Extension;
1015} Packet_Control_Acknowledgement_AdditionsR6_t;
1016
1017 typedef struct
1018{
1019 uint8_t Exist_TN_RRBP;
1020 uint8_t TN_RRBP;
1021 uint8_t Exist_G_RNTI_Extension;
1022 uint8_t G_RNTI_Extension;
1023 bool Exist_AdditionsR6;
1024 Packet_Control_Acknowledgement_AdditionsR6_t AdditionsR6;
1025} Packet_Control_Acknowledgement_AdditionsR5_t;
1026
1027 typedef struct
1028{ /* Mac header */
1029 uint8_t MESSAGE_TYPE;
1030 uint8_t PayloadType;
1031 uint8_t spare;
1032 uint8_t R;
1033
1034 uint32_t TLLI;
1035 uint8_t CTRL_ACK;
1036 bool Exist_AdditionsR5;
1037 Packet_Control_Acknowledgement_AdditionsR5_t AdditionsR5;
1038} Packet_Control_Acknowledgement_t;
1039
1040typedef Packet_Control_Acknowledgement_t Packet_Ctrl_Ack_t;
1041
1042#if 0
1043typedef struct
1044{
1045 uint8_t CTRL_ACK;
1046} Packet_Control_Acknowledgement_11_bit_t, Packet_Control_Acknowledgement_8_bit_t;
1047#endif
1048
1049/* < Packet Downlink Dummy Control Block message content > */
1050 typedef struct
1051{
1052 uint8_t MESSAGE_TYPE;
1053 uint8_t PAGE_MODE;
1054
1055 uint8_t Exist_PERSISTENCE_LEVEL;
1056 uint8_t PERSISTENCE_LEVEL[4];
1057} Packet_Downlink_Dummy_Control_Block_t;
1058
1059/* < Packet Uplink Dummy Control Block message content > */
1060 typedef struct
1061{ /* Mac header */
1062 uint8_t MESSAGE_TYPE;
1063 uint8_t PayloadType;
1064 uint8_t spare;
1065 uint8_t R;
1066
1067 uint32_t TLLI;
1068} Packet_Uplink_Dummy_Control_Block_t;
1069
1070/* MS Radio Access capability IE >
1071 * 24.008 (10.5.5.12a)
1072 */
1073 typedef struct
1074{
1075 uint8_t Exist_DTM_EGPRS_multislot_class;
1076 uint8_t DTM_EGPRS_multislot_class;
1077} DTM_EGPRS_t;
1078
1079 typedef struct
1080{
1081 uint8_t Exist_DTM_EGPRS_HighMultislotClass;
1082 uint8_t DTM_EGPRS_HighMultislotClass;
1083} DTM_EGPRS_HighMultislotClass_t;
1084
1085 typedef struct
1086{
1087 uint8_t MultislotCapabilityReductionForDL_DualCarrier;
1088 uint8_t DL_DualCarrierForDTM;
1089} DownlinkDualCarrierCapability_r7_t;
1090
1091 typedef struct
1092{
1093 uint8_t Exist_HSCSD_multislot_class;
1094 uint8_t HSCSD_multislot_class;
1095
1096 uint8_t Exist_GPRS_multislot_class;
1097 uint8_t GPRS_multislot_class;
1098 uint8_t GPRS_Extended_Dynamic_Allocation_Capability;
1099
1100 uint8_t Exist_SM;
1101 uint8_t SMS_VALUE;
1102 uint8_t SM_VALUE;
1103
1104/*-------- Rel 99 additions */
1105 uint8_t Exist_ECSD_multislot_class;
1106 uint8_t ECSD_multislot_class;
1107
1108 uint8_t Exist_EGPRS_multislot_class;
1109 uint8_t EGPRS_multislot_class;
1110 uint8_t EGPRS_Extended_Dynamic_Allocation_Capability;
1111
1112 uint8_t Exist_DTM_GPRS_multislot_class;
1113 uint8_t DTM_GPRS_multislot_class;
1114 uint8_t Single_Slot_DTM;
1115 DTM_EGPRS_t DTM_EGPRS_Params;
1116} Multislot_capability_t;
1117
1118 typedef struct
1119{
1120 uint8_t RF_Power_Capability;
1121
1122 uint8_t Exist_A5_bits;
1123 bool A51_bit;
1124 bool A52_bit;
1125 bool A53_bit;
1126 bool A54_bit;
1127 bool A55_bit;
1128 bool A56_bit;
1129 bool A57_bit;
1130 /*-- zero means that the same values apply for parameters as in the immediately preceding Access capabilities field within this IE
1131 *-- The presence of the A5 bits is mandatory in the 1st Access capabilities struct within this IE.
1132 */
1133
1134 uint8_t ES_IND;
1135 uint8_t PS;
1136 uint8_t VGCS;
1137 uint8_t VBS;
1138
1139 uint8_t Exist_Multislot_capability;
1140 Multislot_capability_t Multislot_capability;
1141 /* -- zero means that the same values apply for multislot parameters as in the immediately preceding Access capabilities field within this IE.
1142 * -- The presence of the Multislot capability struct is mandatory in the 1st Access capabilities struct within this IE.
1143 */
1144 /* -------- Rel 99 additions */
1145 uint8_t Exist_Eight_PSK_Power_Capability;
1146 uint8_t Eight_PSK_Power_Capability;
1147
1148 uint8_t COMPACT_Interference_Measurement_Capability;
1149 uint8_t Revision_Level_Indicator;
1150 uint8_t UMTS_FDD_Radio_Access_Technology_Capability;
1151 uint8_t UMTS_384_TDD_Radio_Access_Technology_Capability;
1152 uint8_t CDMA2000_Radio_Access_Technology_Capability;
1153
1154 /* -------- R4 additions */
1155 uint8_t UMTS_128_TDD_Radio_Access_Technology_Capability;
1156 uint8_t GERAN_Feature_Package_1;
1157
1158 uint8_t Exist_Extended_DTM_multislot_class;
1159 uint8_t Extended_DTM_GPRS_multislot_class;
1160 uint8_t Extended_DTM_EGPRS_multislot_class;
1161
1162 uint8_t Modulation_based_multislot_class_support;
1163
1164 /* -------- R5 additions */
1165 uint8_t Exist_HighMultislotCapability;
1166 uint8_t HighMultislotCapability;
1167
1168 uint8_t Exist_GERAN_lu_ModeCapability;
1169 uint8_t GERAN_lu_ModeCapability;
1170
1171 uint8_t GMSK_MultislotPowerProfile;
1172 uint8_t EightPSK_MultislotProfile;
1173
1174 /* -------- R6 additions */
1175 uint8_t MultipleTBF_Capability;
1176 uint8_t DownlinkAdvancedReceiverPerformance;
1177 uint8_t ExtendedRLC_MAC_ControlMessageSegmentionsCapability;
1178 uint8_t DTM_EnhancementsCapability;
1179
1180 uint8_t Exist_DTM_GPRS_HighMultislotClass;
1181 uint8_t DTM_GPRS_HighMultislotClass;
1182 DTM_EGPRS_HighMultislotClass_t DTM_EGPRS_HighMultislotClass;
1183 uint8_t PS_HandoverCapability;
1184
1185 /* -------- R7 additions */
1186 uint8_t DTM_Handover_Capability;
1187 uint8_t Exist_DownlinkDualCarrierCapability_r7;
1188 DownlinkDualCarrierCapability_r7_t DownlinkDualCarrierCapability_r7;
1189
1190 uint8_t FlexibleTimeslotAssignment;
1191 uint8_t GAN_PS_HandoverCapability;
1192 uint8_t RLC_Non_persistentMode;
1193 uint8_t ReducedLatencyCapability;
1194 uint8_t UplinkEGPRS2;
1195 uint8_t DownlinkEGPRS2;
1196
1197 /* -------- R8 additions */
1198 uint8_t EUTRA_FDD_Support;
1199 uint8_t EUTRA_TDD_Support;
1200 uint8_t GERAN_To_EUTRAN_supportInGERAN_PTM;
1201 uint8_t PriorityBasedReselectionSupport;
1202
1203} Content_t;
1204
1205typedef enum
1206{/* See TS 24.008 table 10.5.146 */
1207 AccTech_GSMP = 0x0,
1208 AccTech_GSME = 0x1,
1209 AccTech_GSMR = 0x2,
1210 AccTech_GSM1800 = 0x3,
1211 AccTech_GSM1900 = 0x4,
1212 AccTech_GSM450 = 0x5,
1213 AccTech_GSM480 = 0x6,
1214 AccTech_GSM850 = 0x7,
1215 AccTech_GSM750 = 0x8,
1216 AccTech_GSMT830 = 0x9,
1217 AccTech_GSMT410 = 0xa,
1218 AccTech_GSMT900 = 0xb,
1219 AccTech_GSM710 = 0xc,
1220 AccTech_GSMT810 = 0xd,
1221 AccTech_GSMOther = 0xf
1222} AccessTechnology_t;
1223
1224/* Maximum entries in one message, Enum above, applying restrictions from section
1225 12.30 "MS Radio Access Capability 2": */
1226#define MAX_ACCESS_TECHNOLOGIES_COUNT 11
1227
1228 typedef struct
1229{
1230 AccessTechnology_t Access_Technology_Type;
1231 uint8_t GMSK_Power_class;
1232 uint8_t Eight_PSK_Power_class;
1233} Additional_access_technologies_struct_t;
1234
1235 typedef struct
1236{
1237 uint8_t Count_additional_access_technologies;
1238 /* The value 0xf cannot be set for the first ATT, therefore we can only have
1239 ABSOLUTE_MAX_BANDS-1 additional access technologies. */
1240 Additional_access_technologies_struct_t Additional_access_technologies[MAX_ACCESS_TECHNOLOGIES_COUNT-1];
1241} Additional_access_technologies_t;
1242
1243 typedef struct
1244{
1245 uint8_t IndexOfAccTech; /* Position in AccessTechnology_t */
1246 union
1247 {
1248 /* Long Form */
1249 Content_t Content;
1250 /* Short Form */
1251 Additional_access_technologies_t Additional_access_technologies;
1252 } u;
1253} MS_RA_capability_value_t;
1254
1255 typedef struct
1256{
1257 uint8_t Count_MS_RA_capability_value; /* Recursive */
1258 MS_RA_capability_value_t MS_RA_capability_value[MAX_ACCESS_TECHNOLOGIES_COUNT];
1259} MS_Radio_Access_capability_t;
1260
1261
1262 typedef struct
1263{
1264 uint8_t ExistEDGE_RF_PwrCap1;
1265 uint8_t EDGE_RF_PwrCap1;
1266 uint8_t ExistEDGE_RF_PwrCap2;
1267 uint8_t EDGE_RF_PwrCap2;
1268} EDGE_RF_Pwr_t;
1269
1270 typedef struct
1271{
1272 uint8_t A5_Bits;
1273 uint8_t Arc2_Spare;
1274 uint8_t Arc1;
1275} ARC_t;
1276
1277 typedef struct
1278{
1279 uint8_t Multiband;
1280 union
1281 {
1282 uint8_t A5_Bits;
1283 ARC_t ARC;
1284 } u;
1285} Multiband_t;
1286
1287 typedef struct /* MS classmark 3 R99 */
1288{
1289 uint8_t Spare1;
1290 Multiband_t Multiband;
1291
1292 uint8_t Exist_R_Support;
1293 uint8_t R_GSM_Arc;
1294
1295 uint8_t Exist_MultiSlotCapability;
1296 uint8_t MultiSlotClass;
1297
1298 uint8_t UCS2;
1299 uint8_t ExtendedMeasurementCapability;
1300
1301 uint8_t Exist_MS_MeasurementCapability;
1302 uint8_t SMS_VALUE;
1303 uint8_t SM_VALUE;
1304
1305 uint8_t Exist_MS_PositioningMethodCapability;
1306 uint8_t MS_PositioningMethod;
1307
1308 uint8_t Exist_EDGE_MultiSlotCapability;
1309 uint8_t EDGE_MultiSlotClass;
1310
1311 uint8_t Exist_EDGE_Struct;
1312 uint8_t ModulationCapability;
1313 EDGE_RF_Pwr_t EDGE_RF_PwrCaps;
1314
1315 uint8_t Exist_GSM400_Info;
1316 uint8_t GSM400_Bands;
1317 uint8_t GSM400_Arc;
1318
1319 uint8_t Exist_GSM850_Arc;
1320 uint8_t GSM850_Arc;
1321
1322 uint8_t Exist_PCS1900_Arc;
1323 uint8_t PCS1900_Arc;
1324
1325 uint8_t UMTS_FDD_Radio_Access_Technology_Capability;
1326 uint8_t UMTS_384_TDD_Radio_Access_Technology_Capability;
1327 uint8_t CDMA2000_Radio_Access_Technology_Capability;
1328
1329 uint8_t Exist_DTM_GPRS_multislot_class;
1330 uint8_t DTM_GPRS_multislot_class;
1331 uint8_t Single_Slot_DTM;
1332 DTM_EGPRS_t DTM_EGPRS_Params;
1333
1334 /* -------- R4 additions */
1335 uint8_t Exist_SingleBandSupport;
1336 uint8_t GSM_Band;
1337
1338 uint8_t Exist_GSM_700_Associated_Radio_Capability;
1339 uint8_t GSM_700_Associated_Radio_Capability;
1340
1341 uint8_t UMTS_128_TDD_Radio_Access_Technology_Capability;
1342 uint8_t GERAN_Feature_Package_1;
1343
1344 uint8_t Exist_Extended_DTM_multislot_class;
1345 uint8_t Extended_DTM_GPRS_multislot_class;
1346 uint8_t Extended_DTM_EGPRS_multislot_class;
1347
1348 /* -------- R5 additions */
1349 uint8_t Exist_HighMultislotCapability;
1350 uint8_t HighMultislotCapability;
1351
1352 uint8_t Exist_GERAN_lu_ModeCapability;
1353 uint8_t GERAN_lu_ModeCapability;
1354
1355 uint8_t GERAN_FeaturePackage_2;
1356
1357 uint8_t GMSK_MultislotPowerProfile;
1358 uint8_t EightPSK_MultislotProfile;
1359
1360 /* -------- R6 additions */
1361 uint8_t Exist_TGSM_400_Bands;
1362 uint8_t TGSM_400_BandsSupported;
1363 uint8_t TGSM_400_AssociatedRadioCapability;
1364
1365 uint8_t Exist_TGSM_900_AssociatedRadioCapability;
1366 uint8_t TGSM_900_AssociatedRadioCapability;
1367
1368 uint8_t DownlinkAdvancedReceiverPerformance;
1369 uint8_t DTM_EnhancementsCapability;
1370
1371 uint8_t Exist_DTM_GPRS_HighMultislotClass;
1372 uint8_t DTM_GPRS_HighMultislotClass;
1373 uint8_t OffsetRequired;
1374 DTM_EGPRS_HighMultislotClass_t DTM_EGPRS_HighMultislotClass;
1375 uint8_t RepeatedSACCH_Capability;
1376
1377 uint8_t Spare2;
1378} MS_Class3_Unpacked_t;
1379
1380
1381/* < Packet Resource Request message content > */
1382 typedef struct
1383{
1384 bool Exist;
1385 uint8_t UnionType;
1386 union
1387 {
1388 uint8_t MEAN_BEP_GMSK;
1389 uint8_t MEAN_BEP_8PSK;
1390 } u;
1391} BEP_MeasurementReport_t;
1392
1393 typedef struct
1394{
1395 bool Exist;
1396 uint8_t I_LEVEL;
1397} InterferenceMeasurementReport_t;
1398
1399 typedef struct
1400{
1401 bool Exist_BEP_MEASUREMENTS;
1402 BEP_MeasurementReport_t BEP_MEASUREMENTS[8];
1403
1404 bool Exist_INTERFERENCE_MEASUREMENTS;
1405 InterferenceMeasurementReport_t INTERFERENCE_MEASUREMENTS[8];
1406} EGPRS_TimeslotLinkQualityMeasurements_t;
1407
1408 typedef struct
1409{
1410 bool Exist_MEAN_CV_BEP_GMSK;
1411 uint8_t MEAN_BEP_GMSK;
1412 uint8_t CV_BEP_GMSK;
1413
1414 bool Exist_MEAN_CV_BEP_8PSK;
1415 uint8_t MEAN_BEP_8PSK;
1416 uint8_t CV_BEP_8PSK;
1417} EGPRS_BEP_LinkQualityMeasurements_t;
1418
1419 typedef struct{
1420uint8_t RB_ID;
1421uint8_t RADIO_PRIORITY;
1422
1423bool Exist_RLC_BLOCK_COUNT;
1424uint8_t RLC_BLOCK_COUNT;
1425
1426bool Exist_Iu_Mode_ChRequestDesk;
1427//IU_Mode_Channel_Request_Desk_t IU_Mode_Channel_Request_Desk1;
1428
1429}IU_Mode_Channel_Request_Desk_t;
1430
1431 typedef struct{
1432 bool Exist_G_RNTI_Extension;
1433 uint8_t G_RNTI_Extension;
1434 IU_Mode_Channel_Request_Desk_t IU_Mode_Channel_Request_Desk;
1435
1436}IU_Mode_Channel_Request_Desk_RNTI_t;
1437
1438 typedef struct{
1439 uint8_t PFI;
1440 uint8_t RADIO_PRIORITY;
1441 uint8_t RLC_Mode;
1442
1443 bool Exist_LCC_PDU;
1444 uint8_t LCC_PDU;
1445
1446 bool Exist_Ext_Channel_Request_desc;
1447
1448}Ext_Channel_Request_desc_t;
1449
1450
1451 typedef struct{
1452 bool Exist_GMSK_MEAN_BEP;
1453 uint8_t GMSK_MEAN_BEP;
1454 uint8_t GMSK_CV_BEP;
1455
1456 bool Exist_8PSK_MEAN_BEP;
1457 uint8_t p8PSK_MEAN_BEP;
1458 uint8_t p8PSK_CV_BEP;
1459
1460 bool Exist_QPSK_MEAN_BEP;
1461 uint8_t QPSK_MEAN_BEP;
1462 uint8_t QPSK_CV_BEP;
1463
1464 bool Exist_16QAM_NSR_MEAN_BEP;
1465 uint8_t p16QAM_NSR_MEAN_BEP;
1466 uint8_t p16QAM_NSR_CV_BEP;
1467
1468 bool Exist_32QAM_NSR_MEAN_BEP;
1469 uint8_t p32QAM_NSR_MEAN_BEP;
1470 uint8_t p32QAM_NSR_CV_BEP;
1471
1472 bool Exist_16QAM_HSR_MEAN_BEP;
1473 uint8_t p16QAM_HSR_MEAN_BEP;
1474 uint8_t p16QAM_HSR_CV_BEP;
1475
1476 bool Exist_32QAM_HSR_MEAN_BEP;
1477 uint8_t p32QAM_HSR_MEAN_BEP;
1478 uint8_t p32QAM_HSR_CV_BEP;
1479
1480 }EGPRS_BEP_LinkQualityMeasurements_type2_t;
1481
1482 typedef struct
1483{
1484 bool Exist;
1485 uint8_t REPORTED_MODULATION;
1486 uint8_t MEAN_BEP_TN;
1487
1488}BEP_MeasurementReport_type2_t;
1489
1490 typedef struct
1491{
1492 bool Exist;
1493 uint8_t I_LEVEL;
1494}InterferenceMeasurementReport_type2_t;
1495
1496 typedef struct
1497{
1498 bool Exist_BEP_MEASUREMENTS;
1499 BEP_MeasurementReport_type2_t BEP_MEASUREMENTS[8];
1500
1501 bool Exist_INTERFERENCE_MEASUREMENTS;
1502 InterferenceMeasurementReport_type2_t INTERFERENCE_MEASUREMENTS[8];
1503
1504}EGPRS_TimeslotLinkQualityMeasurements_type2_t;
1505
1506
1507 typedef struct
1508{
1509 bool Exist_Downlink_eTFI;
1510 uint8_t DOWNLINK_ETFI;
1511
1512}PRR_AdditionsR12_t;
1513
1514 typedef struct
1515{
1516 uint8_t LOW_ACCESS_PRIORITY_SIGNALLING;
1517
1518 bool Exist_AdditionsR12;
1519 PRR_AdditionsR12_t AdditionsR12;
1520
1521}PRR_AdditionsR10_t;
1522
1523 typedef struct
1524{
1525 uint8_t EARLY_TBF_ESTABLISHMENT;
1526
1527 bool Exist_EGPRS_BEP_LinkQualityMeasurements_type2;
1528 EGPRS_BEP_LinkQualityMeasurements_type2_t EGPRS_BEP_LinkQualityMeasurements_type2;
1529
1530 bool Exist_EGPRS_TimeslotLinkQualityMeasurements_type2;
1531 EGPRS_TimeslotLinkQualityMeasurements_type2_t EGPRS_TimeslotLinkQualityMeasurements_type2;
1532
1533 bool Exist_AdditionsR10;
1534 PRR_AdditionsR10_t AdditionsR10;
1535
1536}PRR_AdditionsR7_t;
1537
1538 typedef struct
1539{
1540 bool Exist_Ext_Channel_Request_desc;
1541 Ext_Channel_Request_desc_t Ext_Channel_Request_desc;
1542
1543 uint8_t Exist_AdditionsR7;
1544 PRR_AdditionsR7_t AdditionsR7;
1545
1546} PRR_AdditionsR6_t;
1547
1548 typedef struct
1549{
1550 uint8_t Exist_Iu_Mode_ChRequestDesk;
1551 IU_Mode_Channel_Request_Desk_RNTI_t IU_Mode_Channel_Request_Desk_RNTI;
1552
1553 uint8_t Exist_HFN_LSB;
1554 uint8_t HFN_LSb;
1555
1556 uint8_t Exist_AdditionsR6;
1557 PRR_AdditionsR6_t AdditionsR6;
1558
1559}PRR_AdditionsR5_t;
1560
1561 typedef struct
1562{
1563 bool Exist_EGPRS_BEP_LinkQualityMeasurements;
1564 EGPRS_BEP_LinkQualityMeasurements_t EGPRS_BEP_LinkQualityMeasurements;
1565
1566 bool Exist_EGPRS_TimeslotLinkQualityMeasurements;
1567 EGPRS_TimeslotLinkQualityMeasurements_t EGPRS_TimeslotLinkQualityMeasurements;
1568
1569 bool Exist_PFI;
1570 uint8_t PFI;
1571
1572 uint8_t MS_RAC_AdditionalInformationAvailable;
1573 uint8_t RetransmissionOfPRR;
1574
1575 uint8_t Exist_AdditionsR5;
1576 PRR_AdditionsR5_t AdditionsR5;
1577} PRR_AdditionsR99_t;
1578
1579 typedef struct
1580{
1581 uint8_t UnionType;
1582 union
1583 {
1584 Global_TFI_t Global_TFI;
1585 uint32_t TLLI;
1586 } u;
1587} PacketResourceRequestID_t;
1588
1589 typedef struct
1590{
1591 uint8_t MESSAGE_TYPE;
1592 uint8_t PayloadType;
1593 uint8_t spare;
1594 uint8_t R;
1595
1596 uint8_t Exist_ACCESS_TYPE;
1597 uint8_t ACCESS_TYPE;
1598
1599 PacketResourceRequestID_t ID;
1600
1601 uint8_t Exist_MS_Radio_Access_capability2;
1602 MS_Radio_Access_capability_t MS_Radio_Access_capability2;
1603
1604 Channel_Request_Description_t Channel_Request_Description;
1605
1606 uint8_t Exist_CHANGE_MARK;
1607 uint8_t CHANGE_MARK;
1608
1609 uint8_t C_VALUE;
1610
1611 uint8_t Exist_SIGN_VAR;
1612 uint8_t SIGN_VAR;
1613
1614 InterferenceMeasurementReport_t I_LEVEL_TN[8];
1615
1616 uint8_t Exist_AdditionsR99;
1617 PRR_AdditionsR99_t AdditionsR99;
1618} Packet_Resource_Request_t;
1619
1620/* < Packet Mobile TBF Status message content >*/
1621 typedef struct
1622{
1623 uint8_t MESSAGE_TYPE;
1624 uint8_t PayloadType;
1625 uint8_t spare;
1626 uint8_t R;
1627
1628 Global_TFI_t Global_TFI;
1629 uint8_t TBF_CAUSE;
1630
1631 uint8_t Exist_STATUS_MESSAGE_TYPE;
1632 uint8_t STATUS_MESSAGE_TYPE;
1633} Packet_Mobile_TBF_Status_t;
1634
1635/* < Packet PSI Status message content >*/
1636 typedef struct
1637{
1638 uint8_t PSI_MESSAGE_TYPE;
1639 uint8_t PSIX_CHANGE_MARK;
1640 uint8_t Exist_PSIX_COUNT_and_Instance_Bitmap;
1641} PSI_Message_t;
1642
1643 typedef struct
1644{
1645 uint8_t Count_PSI_Message;
1646 PSI_Message_t PSI_Message[10];
1647
1648 uint8_t ADDITIONAL_MSG_TYPE;
1649} PSI_Message_List_t;
1650
1651 typedef struct
1652{
1653 uint8_t ADDITIONAL_MSG_TYPE;
1654} Unknown_PSI_Message_List_t;
1655
1656 typedef struct
1657{
1658 uint8_t MESSAGE_TYPE;
1659 uint8_t PayloadType;
1660 uint8_t spare;
1661 uint8_t R;
1662
1663 Global_TFI_t Global_TFI;
1664 uint8_t PBCCH_CHANGE_MARK;
1665
1666 PSI_Message_List_t PSI_Message_List;
1667 Unknown_PSI_Message_List_t Unknown_PSI_Message_List;
1668} Packet_PSI_Status_t;
1669
1670/* < Packet SI Status message content > */
1671 typedef struct
1672{
1673 uint8_t SI_MESSAGE_TYPE;
1674 uint8_t MESS_REC;
1675 uint8_t SIX_CHANGE_MARK;
1676
1677 uint8_t SIX_COUNT;
1678 uint8_t Instance_bitmap[2];
1679} SI_Message_t;
1680
1681 typedef struct
1682{
1683 uint8_t Count_SI_Message;
1684 SI_Message_t SI_Message[10];
1685
1686 uint8_t ADDITIONAL_MSG_TYPE;
1687} SI_Message_List_t;
1688
1689 typedef struct
1690{
1691 uint8_t ADDITIONAL_MSG_TYPE;
1692} Unknown_SI_Message_List_t;
1693
1694 typedef struct
1695{
1696 uint8_t MESSAGE_TYPE;
1697 uint8_t PayloadType;
1698 uint8_t spare;
1699 uint8_t R;
1700
1701 Global_TFI_t Global_TFI;
1702 uint8_t BCCH_CHANGE_MARK;
1703
1704 SI_Message_List_t SI_Message_List;
1705 Unknown_SI_Message_List_t Unknown_SI_Message_List;
1706} Packet_SI_Status_t;
1707
1708 typedef struct
1709{
1710 uint16_t FDD_ARFCN;
1711 uint8_t DIVERSITY;
1712 uint8_t Exist_Bandwith_FDD;
1713 uint8_t BANDWITH_FDD;
1714 uint16_t SCRAMBLING_CODE;
1715} FDD_Target_Cell_t;
1716
1717 typedef struct
1718{
1719 uint16_t TDD_ARFCN;
1720 uint8_t DIVERSITY_TDD;
1721 uint8_t Exist_Bandwith_TDD;
1722 uint8_t BANDWITH_TDD;
1723 uint16_t CELL_PARAMETER;
1724 uint8_t Sync_Case_TSTD;
1725} TDD_Target_Cell_t;
1726
1727 typedef struct
1728{
1729 uint16_t EARFCN;
1730 uint8_t Exist_Measurement_Bandwidth;
1731 uint8_t Measurement_Bandwidth;
1732 uint16_t Physical_Layer_Cell_Identity;
1733} EUTRAN_Target_Cell_t;
1734
1735 typedef struct
1736{
1737 uint32_t UTRAN_CI;
1738 uint8_t Exist_PLMN_ID;
1739 PLMN_t PLMN_ID;
1740} UTRAN_CSG_Target_Cell_t;
1741
1742 typedef struct
1743{
1744 uint32_t EUTRAN_CI;
1745 uint16_t Tracking_Area_Code;
1746 uint8_t Exist_PLMN_ID;
1747 PLMN_t PLMN_ID;
1748} EUTRAN_CSG_Target_Cell_t;
1749
1750 typedef struct
1751{
1752 uint8_t Exist_UTRAN_CSG_Target_Cell;
1753 UTRAN_CSG_Target_Cell_t UTRAN_CSG_Target_Cell;
1754 uint8_t Exist_EUTRAN_CSG_Target_Cell;
1755 EUTRAN_CSG_Target_Cell_t EUTRAN_CSG_Target_Cell;
1756} PCCF_AdditionsR9_t;
1757
1758 typedef struct
1759{
1760 uint8_t Exist_EUTRAN_Target_Cell;
1761 EUTRAN_Target_Cell_t EUTRAN_Target_Cell;
1762 uint8_t Exist_AdditionsR9;
1763 PCCF_AdditionsR9_t AdditionsR9;
1764} PCCF_AdditionsR8_t;
1765
1766 typedef struct
1767{
1768 uint8_t Exist_G_RNTI_extention;
1769 uint8_t G_RNTI_extention;
1770 uint8_t Exist_AdditionsR8;
1771 PCCF_AdditionsR8_t AdditionsR8;
1772} PCCF_AdditionsR5_t;
1773
1774 typedef struct
1775{
1776 uint8_t Exist_FDD_Description;
1777 FDD_Target_Cell_t FDD_Target_Cell;
1778 uint8_t Exist_TDD_Description;
1779 TDD_Target_Cell_t TDD_Target_Cell;
1780 uint8_t Exist_AdditionsR5;
1781 PCCF_AdditionsR5_t AdditionsR5;
1782} PCCF_AdditionsR99_t;
1783
1784/* < Packet Cell Change Failure message content > */
1785 typedef struct
1786{
1787 uint8_t MESSAGE_TYPE;
1788 uint8_t PayloadType;
1789 uint8_t spare;
1790 uint8_t R;
1791
1792 uint32_t TLLI;
1793 uint16_t ARFCN;
1794 uint8_t BSIC;
1795 uint8_t CAUSE;
1796 bool Exist_AdditionsR99;
1797 PCCF_AdditionsR99_t AdditionsR99;
1798} Packet_Cell_Change_Failure_t;
1799
1800/* < Packet Downlink Ack/Nack message content > */
1801 typedef struct
1802{
1803 bool Exist_PFI;
1804 uint8_t PFI;
1805} PD_AckNack_AdditionsR99_t;
1806
1807 typedef struct
1808{
1809 uint8_t MESSAGE_TYPE;
1810 uint8_t PayloadType;
1811 uint8_t spare;
1812 uint8_t R;
1813
1814 uint8_t DOWNLINK_TFI;
1815 Ack_Nack_Description_t Ack_Nack_Description;
1816
1817 uint8_t Exist_Channel_Request_Description;
1818 Channel_Request_Description_t Channel_Request_Description;
1819
1820 Channel_Quality_Report_t Channel_Quality_Report;
1821
1822 bool Exist_AdditionsR99;
1823 PD_AckNack_AdditionsR99_t AdditionsR99;
1824} Packet_Downlink_Ack_Nack_t;
1825
1826/* < EGPRS Packet Downlink Ack/Nack message content > */
1827 typedef struct
1828{
1829 EGPRS_BEP_LinkQualityMeasurements_t EGPRS_BEP_LinkQualityMeasurements;
1830 uint8_t C_VALUE;
1831 EGPRS_TimeslotLinkQualityMeasurements_t EGPRS_TimeslotLinkQualityMeasurements;
1832} EGPRS_ChannelQualityReport_t;
1833
1834 typedef struct
1835{
1836 uint8_t MESSAGE_TYPE;
1837 uint8_t PayloadType;
1838 uint8_t spare;
1839 uint8_t R;
1840
1841 uint8_t DOWNLINK_TFI;
1842 uint8_t MS_OUT_OF_MEMORY;
1843
1844 bool Exist_EGPRS_ChannelQualityReport;
1845 EGPRS_ChannelQualityReport_t EGPRS_ChannelQualityReport;
1846
1847 bool Exist_ChannelRequestDescription;
1848 Channel_Request_Description_t ChannelRequestDescription;
1849
1850 bool Exist_PFI;
1851 uint8_t PFI;
1852
1853 bool Exist_ExtensionBits;
1854 Extension_Bits_t ExtensionBits;
1855
1856 EGPRS_AckNack_t EGPRS_AckNack;
1857} EGPRS_PD_AckNack_t;
1858
1859/* < Packet Uplink Ack/Nack message content 04.60 sec.11.2.28 > */
1860
1861 typedef struct
1862{
1863 uint8_t Exist_CONTENTION_RESOLUTION_TLLI;
1864 uint32_t CONTENTION_RESOLUTION_TLLI;
1865
1866 uint8_t Exist_Packet_Timing_Advance;
1867 Packet_Timing_Advance_t Packet_Timing_Advance;
1868
1869 uint8_t Exist_Extension_Bits;
1870 Extension_Bits_t Extension_Bits;
1871
1872 uint8_t Exist_Power_Control_Parameters;
1873 Power_Control_Parameters_t Power_Control_Parameters;
1874} Common_Uplink_Ack_Nack_Data_t;
1875
1876 typedef struct
1877{
1878 bool Exist_PacketExtendedTimingAdvance;
1879 uint8_t PacketExtendedTimingAdvance;
1880 uint8_t TBF_EST;
1881} PU_AckNack_GPRS_AdditionsR99_t;
1882
1883/* Table 11.2.28.1: PACKET UPLINK ACK/NACK information elements */
1884 typedef struct
1885{
1886 uint8_t Error;
1887 /* Fixed Allocation Parameters was removed from specs.
1888 * TODO: implement for old versions of spec.
1889 */
1890} Fixed_Allocation_Parameters_t;
1891
1892 typedef struct
1893{
1894 uint8_t CHANNEL_CODING_COMMAND;
1895 Ack_Nack_Description_t Ack_Nack_Description;
1896
1897 bool Exist_Fixed_Allocation_Parameters;
1898 Fixed_Allocation_Parameters_t Fixed_Allocation_Parameters;
1899
1900 bool Exist_AdditionsR99;
1901 PU_AckNack_GPRS_AdditionsR99_t AdditionsR99;
1902
1903 Common_Uplink_Ack_Nack_Data_t Common_Uplink_Ack_Nack_Data;
1904} PU_AckNack_GPRS_t;
1905
1906 typedef struct
1907{
1908 uint8_t EGPRS_ChannelCodingCommand;
1909 uint8_t RESEGMENT;
1910 uint8_t PRE_EMPTIVE_TRANSMISSION;
1911 uint8_t PRR_RETRANSMISSION_REQUEST;
1912 uint8_t ARAC_RETRANSMISSION_REQUEST;
1913
1914 uint8_t TBF_EST;
1915
1916 bool Exist_Packet_Extended_Timing_Advance;
1917 uint8_t Packet_Extended_Timing_Advance;
1918
1919 EGPRS_AckNack_t EGPRS_AckNack;
1920
1921
1922 Common_Uplink_Ack_Nack_Data_t Common_Uplink_Ack_Nack_Data;
1923} PU_AckNack_EGPRS_00_t;
1924
1925 typedef struct
1926{
1927 uint8_t UnionType;
1928 union
1929 {
1930 PU_AckNack_EGPRS_00_t PU_AckNack_EGPRS_00;
1931 uint8_t extension_01;
1932 uint8_t extension_10;
1933 uint8_t extension_11;
1934 } u;
1935} PU_AckNack_EGPRS_t;
1936
1937#if 0
1938enum PUAN_Type
1939{
1940 PUAN_GPRS,
1941 PUAN_EGPRS
1942};
1943#endif
1944
1945 typedef struct
1946{
1947 uint8_t MESSAGE_TYPE;
1948 uint8_t PAGE_MODE;
1949 uint8_t UPLINK_TFI;
1950
1951 uint8_t UnionType;
1952 union
1953 {
1954 PU_AckNack_GPRS_t PU_AckNack_GPRS_Struct;
1955 PU_AckNack_EGPRS_t PU_AckNack_EGPRS_Struct;
1956 } u;
1957} Packet_Uplink_Ack_Nack_t;
1958
1959/* < Packet Uplink Assignment message content > */
1960 typedef struct
1961{
1962 uint8_t CHANGE_MARK_1;
1963 uint8_t Exist_CHANGE_MARK_2;
1964 uint8_t CHANGE_MARK_2;
1965} CHANGE_MARK_t;
1966
1967 typedef struct
1968{
1969 uint8_t MAIO;
1970 uint8_t MA_NUMBER;
1971
1972 uint8_t Exist_CHANGE_MARK;
1973 CHANGE_MARK_t CHANGE_MARK;
1974} Indirect_encoding_t;
1975
1976 typedef struct
1977{
1978 uint8_t MAIO;
1979 GPRS_Mobile_Allocation_t GPRS_Mobile_Allocation;
1980} Direct_encoding_1_t;
1981
1982 typedef struct
1983{
1984 uint8_t MAIO;
1985 uint8_t HSN;
1986 uint8_t Length_of_MA_Frequency_List;
1987 uint8_t MA_Frequency_List[15+3];
1988} Direct_encoding_2_t;
1989
1990 typedef struct
1991{
1992 uint8_t TSC;
1993 uint8_t UnionType;
1994 union
1995 {
1996 uint16_t ARFCN;
1997 Indirect_encoding_t Indirect_encoding;
1998 Direct_encoding_1_t Direct_encoding_1;
1999 Direct_encoding_2_t Direct_encoding_2;
2000 } u;
2001} Frequency_Parameters_t;
2002
2003 typedef struct
2004{
2005 uint8_t Exist;
2006 uint8_t USF_TN;
2007} Timeslot_Allocation_t;
2008
2009 typedef struct
2010{
2011 uint8_t ALPHA;
2012
2013 struct
2014 {
2015 uint8_t Exist;
2016 uint8_t USF_TN;
2017 uint8_t GAMMA_TN;
2018 } Slot[8];
2019} Timeslot_Allocation_Power_Ctrl_Param_t;
2020
2021 typedef struct
2022{
2023 uint8_t Extended_Dynamic_Allocation;
2024
2025 uint8_t Exist_P0;
2026 uint8_t P0;
2027 uint8_t PR_MODE;
2028
2029 uint8_t USF_GRANULARITY;
2030
2031 uint8_t Exist_UPLINK_TFI_ASSIGNMENT;
2032 uint8_t UPLINK_TFI_ASSIGNMENT;
2033
2034 uint8_t Exist_RLC_DATA_BLOCKS_GRANTED;
2035 uint8_t RLC_DATA_BLOCKS_GRANTED;
2036
2037 uint8_t Exist_TBF_Starting_Time;
2038 Starting_Frame_Number_t TBF_Starting_Time;
2039
2040 uint8_t UnionType;
2041 union
2042 {
2043 Timeslot_Allocation_t Timeslot_Allocation[8];
2044 Timeslot_Allocation_Power_Ctrl_Param_t Timeslot_Allocation_Power_Ctrl_Param;
2045 } u;
2046} Dynamic_Allocation_t;
2047
2048 typedef struct
2049{
2050 uint8_t Extended_Dynamic_Allocation;
2051
2052 uint8_t Exist_P0;
2053 uint8_t P0;
2054 uint8_t PR_MODE;
2055
2056 uint8_t USF_GRANULARITY;
2057
2058 uint8_t Exist_UPLINK_TFI_ASSIGNMENT;
2059 uint8_t UPLINK_TFI_ASSIGNMENT;
2060
2061 uint8_t Exist_RLC_DATA_BLOCKS_GRANTED;
2062 uint8_t RLC_DATA_BLOCKS_GRANTED;
2063
2064 uint8_t UnionType;
2065 union
2066 {
2067 Timeslot_Allocation_t Timeslot_Allocation[8];
2068 Timeslot_Allocation_Power_Ctrl_Param_t Timeslot_Allocation_Power_Ctrl_Param;
2069 } u;
2070} DTM_Dynamic_Allocation_t;
2071
2072 typedef struct
2073{
2074 uint8_t TIMESLOT_NUMBER;
2075
2076 uint8_t Exist_ALPHA_and_GAMMA_TN;
2077 uint8_t ALPHA;
2078 uint8_t GAMMA_TN;
2079
2080 uint8_t Exist_P0;
2081 uint8_t P0;
2082 uint8_t BTS_PWR_CTRL_MODE;
2083 uint8_t PR_MODE;
2084
2085 Starting_Frame_Number_t TBF_Starting_Time;
2086} Single_Block_Allocation_t;
2087
2088 typedef struct
2089{
2090 uint8_t TIMESLOT_NUMBER;
2091
2092 uint8_t Exist_ALPHA_and_GAMMA_TN;
2093 uint8_t ALPHA;
2094 uint8_t GAMMA_TN;
2095
2096 uint8_t Exist_P0;
2097 uint8_t P0;
2098 uint8_t BTS_PWR_CTRL_MODE;
2099 uint8_t PR_MODE;
2100
2101} DTM_Single_Block_Allocation_t;
2102
2103 typedef struct
2104{
2105 uint8_t UnionType;
2106 union
2107 {
2108 Global_TFI_t Global_TFI;
2109 uint32_t TLLI;
2110 uint16_t TQI;
2111 Packet_Request_Reference_t Packet_Request_Reference;
2112 } u;
2113} PacketUplinkID_t;
2114
2115 typedef struct
2116{
2117 bool Exist_Packet_Extended_Timing_Advance;
2118 uint8_t Packet_Extended_Timing_Advance;
2119} PUA_GPRS_AdditionsR99_t;
2120
2121 typedef struct
2122{
2123 uint8_t CHANNEL_CODING_COMMAND;
2124 uint8_t TLLI_BLOCK_CHANNEL_CODING;
2125 Packet_Timing_Advance_t Packet_Timing_Advance;
2126
2127 uint8_t Exist_Frequency_Parameters;
2128 Frequency_Parameters_t Frequency_Parameters;
2129
2130 uint8_t UnionType;
2131 union
2132 {
2133 uint8_t extension;
2134 Dynamic_Allocation_t Dynamic_Allocation;
2135 Single_Block_Allocation_t Single_Block_Allocation;
2136 uint8_t FixedAllocationDummy;
2137 } u;
2138
2139 bool Exist_AdditionsR99;
2140 PUA_GPRS_AdditionsR99_t AdditionsR99;
2141} PUA_GPRS_t;
2142
2143 typedef struct
2144{
2145 uint8_t BitmapLength;
2146 uint8_t ReducedMA_Bitmap[127 / 8 + 1];
2147
2148 bool Exist_MAIO_2;
2149 uint8_t MAIO_2;
2150} COMPACT_ReducedMA_t;
2151
2152 typedef struct
2153{
2154 uint8_t TIMESLOT_NUMBER;
2155
2156 bool Exist_ALPHA_GAMMA_TN;
2157 uint8_t ALPHA;
2158 uint8_t GAMMA_TN;
2159
2160 bool Exist_P0_BTS_PWR_CTRL_PR_MODE;
2161 uint8_t P0;
2162 uint8_t BTS_PWR_CTRL_MODE;
2163 uint8_t PR_MODE;
2164
2165 Starting_Frame_Number_t TBF_Starting_Time;
2166 uint8_t NUMBER_OF_RADIO_BLOCKS_ALLOCATED;
2167} MultiBlock_Allocation_t;
2168
2169 typedef struct
2170{
2171 bool Exist_CONTENTION_RESOLUTION_TLLI;
2172 uint32_t CONTENTION_RESOLUTION_TLLI;
2173
2174 bool Exist_COMPACT_ReducedMA;
2175 COMPACT_ReducedMA_t COMPACT_ReducedMA;
2176
2177 uint8_t EGPRS_CHANNEL_CODING_COMMAND;
2178 uint8_t RESEGMENT;
2179 uint8_t EGPRS_WindowSize;
2180
2181 uint8_t NrOfAccessTechnologies; /* will hold the number of list elements */
2182 uint8_t AccessTechnologyType[MAX_ACCESS_TECHOLOGY_TYPES]; /* for max size of array see 24.008/Table 10.5.146 */
2183
2184 uint8_t ARAC_RETRANSMISSION_REQUEST;
2185 uint8_t TLLI_BLOCK_CHANNEL_CODING;
2186
2187 bool Exist_BEP_PERIOD2;
2188 uint8_t BEP_PERIOD2;
2189
2190 Packet_Timing_Advance_t PacketTimingAdvance;
2191
2192 bool Exist_Packet_Extended_Timing_Advance;
2193 uint8_t Packet_Extended_Timing_Advance;
2194
2195 bool Exist_Frequency_Parameters;
2196 Frequency_Parameters_t Frequency_Parameters;
2197
2198 uint8_t UnionType;
2199 union
2200 {
2201 uint8_t extension;
2202 Dynamic_Allocation_t Dynamic_Allocation;
2203 MultiBlock_Allocation_t MultiBlock_Allocation;
2204 uint8_t FixedAllocationDummy;/* Fixed Allocation is not used */
2205 } u;
2206} PUA_EGPRS_00_t;
2207
2208 typedef struct
2209{
2210 uint8_t UnionType;
2211 union
2212 {
2213 PUA_EGPRS_00_t PUA_EGPRS_00;
2214 uint8_t PUA_EGPRS_01;
2215 uint8_t PUA_EGPRS_10;
2216 uint8_t PUA_EGPRS_11;
2217 } u;
2218} PUA_EGPRS_t;
2219
2220#if 0
2221enum PUA_Type
2222{
2223 PUA_GPRS,
2224 PUA_EGPRS
2225};
2226#endif
2227
2228 typedef struct
2229{
2230 uint8_t MESSAGE_TYPE;
2231 uint8_t PAGE_MODE;
2232
2233 uint8_t Exist_PERSISTENCE_LEVEL;
2234 uint8_t PERSISTENCE_LEVEL[4];
2235
2236 PacketUplinkID_t ID;
2237
2238 uint8_t UnionType;
2239 union
2240 {
2241 PUA_GPRS_t PUA_GPRS_Struct;
2242 PUA_EGPRS_t PUA_EGPRS_Struct;
2243 } u;
2244} Packet_Uplink_Assignment_t;
2245
2246
2247/* < DTM Packet Uplink Assignment message content > */
2248 typedef struct
2249{
2250 uint8_t CHANNEL_CODING_COMMAND;
2251 uint8_t TLLI_BLOCK_CHANNEL_CODING;
2252 Packet_Timing_Advance_t Packet_Timing_Advance;
2253
2254 uint8_t UnionType;
2255 union
2256 {
2257 uint8_t extension;
2258 DTM_Dynamic_Allocation_t DTM_Dynamic_Allocation;
2259 DTM_Single_Block_Allocation_t DTM_Single_Block_Allocation;
2260 } u;
2261 bool Exist_EGPRS_Parameters;
2262 uint8_t EGPRS_CHANNEL_CODING_COMMAND;
2263 uint8_t RESEGMENT;
2264 uint8_t EGPRS_WindowSize;
2265 bool Exist_Packet_Extended_Timing_Advance;
2266 uint8_t Packet_Extended_Timing_Advance;
2267} DTM_Packet_Uplink_Assignment_t;
2268
2269 typedef struct
2270{
2271 DTM_Packet_Uplink_Assignment_t DTM_Packet_Uplink_Assignment;
2272} DTM_UL_t;
2273
2274/* < DTM Packet Channel Request message content > */
2275 typedef struct
2276{
2277 uint8_t DTM_Pkt_Est_Cause;
2278 Channel_Request_Description_t Channel_Request_Description;
2279 bool Exist_PFI;
2280 uint8_t PFI;
2281} DTM_Channel_Request_Description_t;
2282
2283/* < Packet Downlink Assignment message content > */
2284 typedef struct
2285{
2286 Starting_Frame_Number_t Measurement_Starting_Time;
2287 uint8_t MEASUREMENT_INTERVAL;
2288 uint8_t MEASUREMENT_BITMAP;
2289} Measurement_Mapping_struct_t;
2290
2291 typedef struct
2292{
2293 uint8_t UnionType;
2294 union
2295 {
2296 Global_TFI_t Global_TFI;
2297 uint32_t TLLI;
2298 } u;
2299} PacketDownlinkID_t;
2300
2301 typedef struct
2302{
2303 bool Exist_EGPRS_Params; /* if Exist_EGPRS_Params == false then none of the following 4 vars exist */
2304 uint8_t EGPRS_WindowSize;
2305 uint8_t LINK_QUALITY_MEASUREMENT_MODE;
2306 bool Exist_BEP_PERIOD2;
2307 uint8_t BEP_PERIOD2;
2308
2309 bool Exist_Packet_Extended_Timing_Advance;
2310 uint8_t Packet_Extended_Timing_Advance;
2311
2312 bool Exist_COMPACT_ReducedMA;
2313 COMPACT_ReducedMA_t COMPACT_ReducedMA;
2314} PDA_AdditionsR99_t;
2315
2316 typedef struct
2317{
2318 uint8_t MESSAGE_TYPE;
2319 uint8_t PAGE_MODE;
2320
2321 bool Exist_PERSISTENCE_LEVEL;
2322 uint8_t PERSISTENCE_LEVEL[4];
2323
2324 PacketDownlinkID_t ID;
2325
2326 uint8_t MAC_MODE;
2327 uint8_t RLC_MODE;
2328 uint8_t CONTROL_ACK;
2329 uint8_t TIMESLOT_ALLOCATION;
2330 Packet_Timing_Advance_t Packet_Timing_Advance;
2331
2332 bool Exist_P0_and_BTS_PWR_CTRL_MODE;
2333 uint8_t P0;
2334 uint8_t BTS_PWR_CTRL_MODE;
2335 uint8_t PR_MODE;
2336
2337 bool Exist_Frequency_Parameters;
2338 Frequency_Parameters_t Frequency_Parameters;
2339
2340 bool Exist_DOWNLINK_TFI_ASSIGNMENT;
2341 uint8_t DOWNLINK_TFI_ASSIGNMENT;
2342
2343 bool Exist_Power_Control_Parameters;
2344 Power_Control_Parameters_t Power_Control_Parameters;
2345
2346 bool Exist_TBF_Starting_Time;
2347 Starting_Frame_Number_t TBF_Starting_Time;
2348
2349 uint8_t Exist_Measurement_Mapping;
2350 Measurement_Mapping_struct_t Measurement_Mapping;
2351
2352 bool Exist_AdditionsR99;
2353 PDA_AdditionsR99_t AdditionsR99;
2354} Packet_Downlink_Assignment_t;
2355
2356/* < DTM Packet Downlink Assignment message content > */
2357 typedef struct
2358{
2359 uint8_t MAC_MODE;
2360 uint8_t RLC_MODE;
2361 uint8_t TIMESLOT_ALLOCATION;
2362 Packet_Timing_Advance_t Packet_Timing_Advance;
2363
2364 uint8_t Exist_P0_and_BTS_PWR_CTRL_MODE;
2365 uint8_t P0;
2366 uint8_t BTS_PWR_CTRL_MODE;
2367 uint8_t PR_MODE;
2368
2369 uint8_t Exist_Power_Control_Parameters;
2370 Power_Control_Parameters_t Power_Control_Parameters;
2371
2372 uint8_t Exist_DOWNLINK_TFI_ASSIGNMENT;
2373 uint8_t DOWNLINK_TFI_ASSIGNMENT;
2374
2375 uint8_t Exist_Measurement_Mapping;
2376 Measurement_Mapping_struct_t Measurement_Mapping;
2377 bool EGPRS_Mode;
2378 uint8_t EGPRS_WindowSize;
2379 uint8_t LINK_QUALITY_MEASUREMENT_MODE;
2380 bool Exist_Packet_Extended_Timing_Advance;
2381 uint8_t Packet_Extended_Timing_Advance;
2382} DTM_Packet_Downlink_Assignment_t;
2383
2384 typedef struct
2385{
2386 DTM_Packet_Downlink_Assignment_t DTM_Packet_Downlink_Assignment;
2387} DTM_DL_t;
2388
2389 typedef struct
2390{
2391 GPRS_Cell_Options_t GPRS_Cell_Options;
2392 GPRS_Power_Control_Parameters_t GPRS_Power_Control_Parameters;
2393} DTM_GPRS_Broadcast_Information_t;
2394
2395 typedef struct
2396{
2397 DTM_GPRS_Broadcast_Information_t DTM_GPRS_Broadcast_Information;
2398} DTM_GPRS_B_t;
2399
2400/* < Packet Paging Request message content > */
2401 typedef struct
2402{
2403 uint8_t UnionType;
2404 union
2405 {
2406 TMSI_t PTMSI;
2407 struct MobileId Mobile_Identity;
2408 } u;
2409} Page_request_for_TBF_establishment_t;
2410
2411 typedef struct
2412{
2413 uint8_t UnionType;
2414 union
2415 {
2416 TMSI_t TMSI;
2417 struct MobileId Mobile_Identity;
2418 } u;
2419
2420 uint8_t CHANNEL_NEEDED;
2421
2422 uint8_t Exist_eMLPP_PRIORITY;
2423 uint8_t eMLPP_PRIORITY;
2424} Page_request_for_RR_conn_t;
2425
2426 typedef struct
2427{
2428 uint8_t UnionType;
2429 union
2430 {
2431 Page_request_for_TBF_establishment_t Page_req_TBF;
2432 Page_request_for_RR_conn_t Page_req_RR;
2433 } u;
2434} Repeated_Page_info_t;
2435
2436 typedef struct
2437{
2438 uint8_t MESSAGE_TYPE;
2439 uint8_t PAGE_MODE;
2440
2441 uint8_t Exist_PERSISTENCE_LEVEL;
2442 uint8_t PERSISTENCE_LEVEL[4];
2443
2444 uint8_t Exist_NLN;
2445 uint8_t NLN;
2446
2447 uint8_t Count_Repeated_Page_info;
2448 Repeated_Page_info_t Repeated_Page_info[5];
2449} Packet_Paging_Request_t;
2450
2451 typedef struct
2452{
2453 uint8_t MESSAGE_TYPE;
2454 uint8_t PAGE_MODE;
2455
2456 uint8_t TIMESLOTS_AVAILABLE;
2457} Packet_PDCH_Release_t;
2458
2459/* < Packet Power Control/Timing Advance message content > */
2460 typedef struct
2461{
2462 uint8_t UnionType;
2463 union
2464 {
2465 Global_TFI_t Global_TFI;
2466 uint16_t TQI;
2467 Packet_Request_Reference_t Packet_Request_Reference;
2468 } u;
2469} PacketPowerControlTimingAdvanceID_t;
2470
2471 typedef struct
2472{
2473 Global_Packet_Timing_Advance_t Global_Packet_Timing_Advance;
2474 Power_Control_Parameters_t Power_Control_Parameters;
2475} GlobalTimingAndPower_t;
2476
2477 typedef struct
2478{
2479 uint8_t UnionType;
2480 union
2481 {
2482 Global_Packet_Timing_Advance_t Global_Packet_Timing_Advance;
2483 Power_Control_Parameters_t Power_Control_Parameters;
2484 } u;
2485} GlobalTimingOrPower_t;
2486
2487 typedef struct
2488{
2489 uint8_t MESSAGE_TYPE;
2490 uint8_t PAGE_MODE;
2491
2492 PacketPowerControlTimingAdvanceID_t ID;
2493
2494 /* -- Message escape */
2495 uint8_t Exist_Global_Power_Control_Parameters;
2496 Global_Power_Control_Parameters_t Global_Power_Control_Parameters;
2497
2498 uint8_t UnionType;
2499 union
2500 {
2501 GlobalTimingAndPower_t GlobalTimingAndPower;
2502 GlobalTimingOrPower_t GlobalTimingOrPower;
2503 } u;
2504} Packet_Power_Control_Timing_Advance_t;
2505
2506/* < Packet Queueing Notification message content > */
2507 typedef struct
2508{
2509 uint8_t MESSAGE_TYPE;
2510 uint8_t PAGE_MODE;
2511
2512 /* 111 Fixed */
2513 Packet_Request_Reference_t Packet_Request_Reference;
2514 uint16_t TQI;
2515} Packet_Queueing_Notification_t;
2516
2517/* < Packet Timeslot Reconfigure message content 04.60 sec. 11.2.31> */
2518
2519typedef Dynamic_Allocation_t TRDynamic_Allocation_t;
2520
2521 typedef struct
2522{
2523 Global_Packet_Timing_Advance_t Global_Packet_Timing_Advance;
2524
2525 uint8_t DOWNLINK_RLC_MODE;
2526 uint8_t CONTROL_ACK;
2527
2528 uint8_t Exist_DOWNLINK_TFI_ASSIGNMENT;
2529 uint8_t DOWNLINK_TFI_ASSIGNMENT;
2530
2531 uint8_t Exist_UPLINK_TFI_ASSIGNMENT;
2532 uint8_t UPLINK_TFI_ASSIGNMENT;
2533
2534 uint8_t DOWNLINK_TIMESLOT_ALLOCATION;
2535
2536 uint8_t Exist_Frequency_Parameters;
2537 Frequency_Parameters_t Frequency_Parameters;
2538} Common_Timeslot_Reconfigure_t;
2539
2540 typedef struct
2541{
2542 bool Exist_Packet_Extended_Timing_Advance;
2543 uint8_t Packet_Extended_Timing_Advance;
2544} PTR_GPRS_AdditionsR99_t;
2545
2546 typedef struct
2547{
2548 uint8_t CHANNEL_CODING_COMMAND;
2549
2550 Common_Timeslot_Reconfigure_t Common_Timeslot_Reconfigure_Data;
2551
2552 uint8_t UnionType;
2553 union
2554 {
2555 TRDynamic_Allocation_t Dynamic_Allocation;
2556 uint8_t Fixed_AllocationDummy;
2557 } u;
2558
2559 bool Exist_AdditionsR99;
2560 PTR_GPRS_AdditionsR99_t AdditionsR99;
2561} PTR_GPRS_t;
2562
2563 typedef struct
2564{
2565 bool Exist_COMPACT_ReducedMA;
2566 COMPACT_ReducedMA_t COMPACT_ReducedMA;
2567
2568 uint8_t EGPRS_ChannelCodingCommand;
2569 uint8_t RESEGMENT;
2570
2571 bool Exist_DOWNLINK_EGPRS_WindowSize;
2572 uint8_t DOWNLINK_EGPRS_WindowSize;
2573
2574 bool Exist_UPLINK_EGPRS_WindowSize;
2575 uint8_t UPLINK_EGPRS_WindowSize;
2576
2577 uint8_t LINK_QUALITY_MEASUREMENT_MODE;
2578
2579 bool Exist_Packet_Extended_Timing_Advance;
2580 uint8_t Packet_Extended_Timing_Advance;
2581
2582 Common_Timeslot_Reconfigure_t Common_Timeslot_Reconfigure_Data;
2583
2584 uint8_t UnionType;
2585 union
2586 {
2587 TRDynamic_Allocation_t Dynamic_Allocation;
2588 uint8_t FixedAllocationDummy;
2589 } u;
2590} PTR_EGPRS_00_t;
2591
2592 typedef struct
2593{
2594 uint8_t UnionType;
2595 union
2596 {
2597 PTR_EGPRS_00_t PTR_EGPRS_00;
2598 uint8_t extension_01;
2599 uint8_t extension_10;
2600 uint8_t extension_11;
2601 } u;
2602} PTR_EGPRS_t;
2603
2604#if 0
2605enum PTR_Type
2606{
2607 PTR_GPRS,
2608 PTR_EGPRS
2609};
2610#endif
2611
2612 typedef struct
2613{
2614 uint8_t MESSAGE_TYPE;
2615 uint8_t PAGE_MODE;
2616
2617 Global_TFI_t Global_TFI;
2618
2619 uint8_t UnionType;
2620 union
2621 {
2622 PTR_GPRS_t PTR_GPRS_Struct;
2623 PTR_EGPRS_t PTR_EGPRS_Struct;
2624 } u;
2625} Packet_Timeslot_Reconfigure_t;
2626
2627
2628/* < PSI1 message content > */
2629 typedef struct
2630{
2631 uint8_t ACC_CONTR_CLASS[2];
2632 uint8_t MAX_RETRANS[4];
2633 uint8_t S;
2634 uint8_t TX_INT;
2635
2636 uint8_t Exist_PERSISTENCE_LEVEL;
2637 uint8_t PERSISTENCE_LEVEL[4];
2638} PRACH_Control_t;
2639
2640 typedef struct
2641{
2642 uint8_t BS_PCC_REL;
2643 uint8_t BS_PBCCH_BLKS;
2644 uint8_t BS_PAG_BLKS_RES;
2645 uint8_t BS_PRACH_BLKS;
2646} PCCCH_Organization_t;
2647
2648 typedef struct
2649{
2650 uint8_t LB_MS_TXPWR_MAX_CCH;
2651} PSI1_AdditionsR6_t;
2652
2653 typedef struct
2654{
2655 uint8_t MSCR;
2656 uint8_t SGSNR;
2657 uint8_t BandIndicator;
2658 bool Exist_AdditionsR6;
2659 PSI1_AdditionsR6_t AdditionsR6;
2660} PSI1_AdditionsR99_t;
2661
2662 typedef struct
2663{
2664 uint8_t MESSAGE_TYPE;
2665
2666 uint8_t PAGE_MODE;
2667 uint8_t PBCCH_CHANGE_MARK;
2668 uint8_t PSI_CHANGE_FIELD;
2669 uint8_t PSI1_REPEAT_PERIOD;
2670 uint8_t PSI_COUNT_LR;
2671
2672 uint8_t Exist_PSI_COUNT_HR;
2673 uint8_t PSI_COUNT_HR;
2674
2675 uint8_t MEASUREMENT_ORDER;
2676 GPRS_Cell_Options_t GPRS_Cell_Options;
2677 PRACH_Control_t PRACH_Control;
2678 PCCCH_Organization_t PCCCH_Organization;
2679 Global_Power_Control_Parameters_t Global_Power_Control_Parameters;
2680 uint8_t PSI_STATUS_IND;
2681
2682 bool Exist_AdditionsR99;
2683 PSI1_AdditionsR99_t AdditionsR99;
2684} PSI1_t;
2685
2686/* < PSI2 message content > */
2687 typedef struct
2688{
2689 uint8_t NUMBER;
2690
2691 uint8_t Length;
2692 uint8_t Contents[15 + 3];/* octet (val(Length of RFL contents) + 3) */
2693} Reference_Frequency_t;
2694
2695 typedef struct
2696{
2697 uint8_t NoOfRFLs;
2698 uint8_t RFL_Number[MAX_RFLS];
2699} Cell_Allocation_t;
2700
2701 typedef struct
2702{
2703 uint8_t NUMBER;
2704 GPRS_Mobile_Allocation_t Mobile_Allocation;
2705} PSI2_MA_t;
2706
2707 typedef struct
2708{
2709 uint16_t ARFCN;
2710 uint8_t TIMESLOT_ALLOCATION;
2711} Non_Hopping_PCCCH_Carriers_t;
2712
2713 typedef struct
2714{
2715 uint8_t Count_Carriers;
2716 Non_Hopping_PCCCH_Carriers_t Carriers[7];
2717} NonHoppingPCCCH_t;
2718
2719 typedef struct
2720{
2721 uint8_t MAIO;
2722 uint8_t TIMESLOT_ALLOCATION;
2723} Hopping_PCCCH_Carriers_t;
2724
2725 typedef struct
2726{
2727 uint8_t MA_NUMBER;
2728
2729 uint8_t Count_Carriers;
2730 Hopping_PCCCH_Carriers_t Carriers[10];/* MAX_PCCCH but 10 is theoretical max. */
2731} HoppingPCCCH_t;
2732
2733 typedef struct
2734{
2735 uint8_t TSC;
2736
2737 uint8_t UnionType;
2738 union
2739 {
2740 NonHoppingPCCCH_t NonHopping;
2741 HoppingPCCCH_t Hopping;
2742 } u;
2743} PCCCH_Description_t;
2744
2745 typedef struct
2746{
2747 LAI_t LAI;
2748 uint8_t RAC;
2749 CellId_t Cell_Identity;
2750} Cell_Identification_t;
2751
2752 typedef struct
2753{
2754 uint8_t ATT;
2755
2756 uint8_t Exist_T3212;
2757 uint8_t T3212;
2758
2759 uint8_t NECI;
2760 uint8_t PWRC;
2761 uint8_t DTX;
2762 uint8_t RADIO_LINK_TIMEOUT;
2763 uint8_t BS_AG_BLKS_RES;
2764 uint8_t CCCH_CONF;
2765 uint8_t BS_PA_MFRMS;
2766 uint8_t MAX_RETRANS;
2767 uint8_t TX_INTEGER;
2768 uint8_t EC;
2769 uint8_t MS_TXPWR_MAX_CCCH;
2770
2771 uint8_t Exist_Extension_Bits;
2772 Extension_Bits_t Extension_Bits;
2773} Non_GPRS_Cell_Options_t;
2774
2775 typedef struct
2776{
2777 uint8_t MESSAGE_TYPE;
2778 uint8_t PAGE_MODE;
2779 uint8_t CHANGE_MARK;
2780 uint8_t INDEX;
2781 uint8_t COUNT;
2782
2783 uint8_t Exist_Cell_Identification;
2784 Cell_Identification_t Cell_Identification;
2785
2786 uint8_t Exist_Non_GPRS_Cell_Options;
2787 Non_GPRS_Cell_Options_t Non_GPRS_Cell_Options;
2788
2789 uint8_t Count_Reference_Frequency;
2790 Reference_Frequency_t Reference_Frequency[MAX_RFLS];
2791
2792 Cell_Allocation_t Cell_Allocation;
2793
2794 uint8_t Count_GPRS_MA;
2795 PSI2_MA_t GPRS_MA[MAX_MA_LISTS_IN_PSI2];
2796
2797 uint8_t Count_PCCCH_Description;
2798 PCCCH_Description_t PCCCH_Description[7];/* MAX_PCCCH but it is impossible that more than 7 can be decoded */
2799} PSI2_t;
2800
2801/* < PSI3 message content > */
2802 typedef struct
2803{
2804 uint8_t PRIORITY_CLASS;
2805 uint8_t HCS_THR;
2806} HCS_t;
2807
2808 typedef struct
2809{
2810 uint8_t CELL_BAR_ACCESS_2;
2811 uint8_t EXC_ACC;
2812 uint8_t GPRS_RXLEV_ACCESS_MIN;
2813 uint8_t GPRS_MS_TXPWR_MAX_CCH;
2814
2815 uint8_t Exist_HCS;
2816 HCS_t HCS;
2817 uint8_t MULTIBAND_REPORTING;
2818} Serving_Cell_params_t;
2819
2820 typedef struct
2821{
2822 uint8_t GPRS_CELL_RESELECT_HYSTERESIS;
2823 uint8_t C31_HYST;
2824 uint8_t C32_QUAL;
2825 uint8_t RANDOM_ACCESS_RETRY;
2826
2827 uint8_t Exist_T_RESEL;
2828 uint8_t T_RESEL;
2829
2830 uint8_t Exist_RA_RESELECT_HYSTERESIS;
2831 uint8_t RA_RESELECT_HYSTERESIS;
2832} Gen_Cell_Sel_t;
2833
2834 typedef struct
2835{
2836 uint8_t PBCCH_LOCATION;
2837 uint8_t PSI1_REPEAT_PERIOD;
2838} Location_Repeat_t;
2839
2840 typedef struct
2841{
2842 uint8_t UnionType;
2843 union
2844 {
2845 uint8_t SI13_LOCATION;
2846 Location_Repeat_t lr;
2847 } u;
2848} SI13_PBCCH_Location_t;
2849
2850 typedef struct
2851{
2852 uint8_t BSIC;
2853 uint8_t CELL_BAR_ACCESS_2;
2854 uint8_t EXC_ACC;
2855 uint8_t SAME_RA_AS_SERVING_CELL;
2856
2857 uint8_t Exist_RXLEV_and_TXPWR;
2858 uint8_t GPRS_RXLEV_ACCESS_MIN;
2859 uint8_t GPRS_MS_TXPWR_MAX_CCH;
2860
2861 uint8_t Exist_OFFSET_and_TIME;
2862 uint8_t GPRS_TEMPORARY_OFFSET;
2863 uint8_t GPRS_PENALTY_TIME;
2864
2865 uint8_t Exist_GPRS_RESELECT_OFFSET;
2866 uint8_t GPRS_RESELECT_OFFSET;
2867
2868 uint8_t Exist_HCS;
2869 HCS_t HCS;
2870
2871 uint8_t Exist_SI13_PBCCH_Location;
2872 SI13_PBCCH_Location_t SI13_PBCCH_Location;
2873} Cell_Selection_t;
2874
2875/* Neighbour cell list as used in PSI3 and PSI3bis */
2876 typedef struct
2877{
2878 uint8_t FREQ_DIFF_LENGTH;
2879 uint8_t FREQUENCY_DIFF;
2880
2881 Cell_Selection_t Cell_SelectionParams;
2882} Cell_Selection_Params_With_FreqDiff_t;
2883
2884 typedef struct
2885{
2886 uint16_t START_FREQUENCY;
2887 Cell_Selection_t Cell_Selection;
2888 uint8_t NR_OF_REMAINING_CELLS;
2889 uint8_t FREQ_DIFF_LENGTH;
2890
2891 Cell_Selection_Params_With_FreqDiff_t Cell_Selection_Params_With_FreqDiff[16];
2892} NeighbourCellParameters_t;
2893
2894 typedef struct
2895{
2896 uint8_t Count;
2897 NeighbourCellParameters_t Parameters[32];
2898} NeighbourCellList_t;
2899
2900/* < PSI3 message content > */
2901
2902 typedef struct
2903{
2904 uint8_t bsic;
2905 uint8_t CELL_BAR_ACCESS_2;
2906 uint8_t EXC_ACC;
2907 uint8_t SAME_RA_AS_SERVING_CELL;
2908 uint8_t Exist_GPRS_RXLEV_ACCESS_MIN;
2909 uint8_t GPRS_RXLEV_ACCESS_MIN;
2910 uint8_t GPRS_MS_TXPWR_MAX_CCH;
2911 uint8_t Exist_GPRS_TEMPORARY_OFFSET;
2912 uint8_t GPRS_TEMPORARY_OFFSET;
2913 uint8_t GPRS_PENALTY_TIME;
2914 uint8_t Exist_GPRS_RESELECT_OFFSET;
2915 uint8_t GPRS_RESELECT_OFFSET;
2916 uint8_t Exist_Hcs_Parm;
2917 HCS_t HCS_Param;
2918 uint8_t Exist_TIME_GROUP;
2919 uint8_t TIME_GROUP;
2920 uint8_t Exist_GUAR_CONSTANT_PWR_BLKS;
2921 uint8_t GUAR_CONSTANT_PWR_BLKS;
2922} COMPACT_Cell_Sel_t;
2923
2924 typedef struct
2925{
2926 uint8_t FREQ_DIFF_LENGTH;
2927 uint16_t FREQUENCY_DIFF;
2928 COMPACT_Cell_Sel_t COMPACT_Cell_Sel_Remain_Cells;
2929} COMPACT_Neighbour_Cell_Param_Remaining_t;
2930
2931 typedef struct
2932{
2933 uint16_t START_FREQUENCY;
2934 COMPACT_Cell_Sel_t COMPACT_Cell_Sel;
2935 uint8_t NR_OF_REMAINING_CELLS;
2936 uint8_t FREQ_DIFF_LENGTH;
2937 COMPACT_Neighbour_Cell_Param_Remaining_t COMPACT_Neighbour_Cell_Param_Remaining[16];
2938} COMPACT_Neighbour_Cell_Param_t;
2939
2940 typedef struct
2941{
2942 Cell_Identification_t Cell_Identification;
2943 uint8_t COMPACT_Neighbour_Cell_Param_Count;
2944 COMPACT_Neighbour_Cell_Param_t COMPACT_Neighbour_Cell_Param[8];
2945} COMPACT_Info_t;
2946
2947 typedef struct
2948{
2949 uint8_t Exist_CCN_Support_Desc;
2950 CCN_Support_Description_t CCN_Support_Desc;
2951} PSI3_AdditionR4_t;
2952
2953 typedef struct
2954{
2955 uint8_t Exist_COMPACT_Info;
2956 COMPACT_Info_t COMPACT_Info;
2957 uint8_t Exist_AdditionR4;
2958 PSI3_AdditionR4_t AdditionR4;
2959} PSI3_AdditionR99_t;
2960
2961 typedef struct
2962{
2963 LSA_ID_Info_t Scell_LSA_ID_Info;
2964 uint8_t Exist_LSA_Parameters;
2965 LSA_Parameters_t LSA_Parameters;
2966 uint8_t Exist_AdditionR99;
2967 PSI3_AdditionR99_t AdditionR99;
2968} PSI3_AdditionR98_t;
2969
2970 typedef struct
2971{
2972 uint8_t MESSAGE_TYPE;
2973 uint8_t PAGE_MODE;
2974 uint8_t CHANGE_MARK;
2975 uint8_t BIS_COUNT;
2976
2977 Serving_Cell_params_t Serving_Cell_params;
2978
2979 Gen_Cell_Sel_t General_Cell_Selection;
2980 NeighbourCellList_t NeighbourCellList;
2981
2982 uint8_t Exist_AdditionR98;
2983 PSI3_AdditionR98_t AdditionR98;
2984} PSI3_t;
2985
2986/* < PSI3_BIS message content > */
2987 typedef struct
2988{
2989 uint8_t MESSAGE_TYPE;
2990 uint8_t PAGE_MODE;
2991 uint8_t CHANGE_MARK;
2992 uint8_t BIS_INDEX;
2993 uint8_t BIS_COUNT;
2994
2995 NeighbourCellList_t NeighbourCellList;
2996} PSI3_BIS_t;
2997
2998/* < PSI4 message content > */
2999 typedef struct
3000{
3001 uint8_t MA_NUMBER;
3002 uint8_t MAIO;
3003} h_CG_t;
3004
3005 typedef struct
3006{
3007 uint8_t UnionType;
3008 union
3009 {
3010 uint16_t ARFCN;
3011 h_CG_t h_CG;
3012 } u;
3013
3014 uint8_t TIMESLOT_ALLOCATION;
3015} Channel_Group_t;
3016
3017 typedef struct
3018{
3019 /* Channel_Group_t Channel_Group
3020 * At least one
3021 * the first one is unpacked in the index
3022 */
3023 uint8_t Count_Channel_Group;
3024 Channel_Group_t Channel_Group[8];
3025} Channel_List_t;
3026
3027 typedef struct
3028{
3029 uint8_t MESSAGE_TYPE;
3030
3031 uint8_t PAGE_MODE;
3032 uint8_t CHANGE_MARK;
3033 uint8_t INDEX;
3034 uint8_t COUNT;
3035
3036 Channel_List_t Channel_List;
3037
3038} PSI4_t;
3039
3040
3041/* < PSI5 message content > */
3042 typedef struct
3043{
3044 uint8_t existRepParamsFDD;
3045 uint8_t RepQuantFDD;
3046 uint8_t MultiratReportingFDD;
3047
3048 uint8_t existReportingParamsFDD;
3049 uint8_t ReportingOffsetFDD;
3050 uint8_t ReportingThresholdFDD;
3051
3052 uint8_t existMultiratReportingTDD;
3053 uint8_t MultiratReportingTDD;
3054
3055 uint8_t existOffsetThresholdTDD;
3056 uint8_t ReportingOffsetTDD;
3057 uint8_t ReportingThresholdTDD;
3058} GPRSMeasurementParams3G_PSI5_t;
3059
3060 typedef struct
3061{
3062 uint8_t REPORT_TYPE;
3063 uint8_t REPORTING_RATE;
3064 uint8_t INVALID_BSIC_REPORTING;
3065 uint8_t Exist_NCC_PERMITTED;
3066 uint8_t NCC_PERMITTED;
3067
3068 bool Exist_GPRSMeasurementParams;
3069 MeasurementParams_t GPRSMeasurementParams;
3070 bool Exist_GPRSMeasurementParams3G;
3071 GPRSMeasurementParams3G_PSI5_t GPRSMeasurementParams3G;
3072} ENH_Reporting_Parameters_t;
3073
3074 typedef struct
3075{
3076 uint8_t Exist_OffsetThreshold_700;
3077 OffsetThreshold_t OffsetThreshold_700;
3078 uint8_t Exist_OffsetThreshold_810;
3079 OffsetThreshold_t OffsetThreshold_810;
3080} PSI5_AdditionsR7;
3081
3082 typedef struct
3083{
3084 uint8_t Exist_GPRS_AdditionalMeasurementParams3G;
3085 GPRS_AdditionalMeasurementParams3G_t GPRS_AdditionalMeasurementParams3G;
3086 uint8_t Exist_AdditionsR7;
3087 PSI5_AdditionsR7 AdditionsR7;
3088} PSI5_AdditionsR5;
3089
3090 typedef struct
3091{
3092 uint8_t Exist_ENH_Reporting_Param;
3093 ENH_Reporting_Parameters_t ENH_Reporting_Param;
3094 uint8_t Exist_AdditionsR5;
3095 PSI5_AdditionsR5 AdditionisR5;
3096} PSI5_AdditionsR99;
3097
3098 typedef struct
3099{
3100 uint8_t MESSAGE_TYPE;
3101
3102 uint8_t PAGE_MODE;
3103 uint8_t CHANGE_MARK;
3104 uint8_t INDEX;
3105 uint8_t COUNT;
3106
3107 uint8_t Eixst_NC_Meas_Param;
3108 NC_Measurement_Parameters_t NC_Meas_Param;
3109 uint8_t Exist_AdditionsR99;
3110 PSI5_AdditionsR99 AdditionsR99;
3111} PSI5_t;
3112
3113
3114
3115
3116/* < PSI13 message content >
3117 * Combined with SI13
3118 */
3119 typedef struct
3120{
3121 uint8_t Exist_LB_MS_TXPWR_MAX_CCH;
3122 uint8_t LB_MS_TXPWR_MAX_CCH;
3123 uint8_t SI2n_SUPPORT;
3124}PSI13_AdditionsR6;
3125
3126typedef PSI13_AdditionsR6 SI13_AdditionsR6;
3127
3128 typedef struct
3129{
3130 uint8_t SI_STATUS_IND;
3131 uint8_t Exist_AdditionsR6;
3132 PSI13_AdditionsR6 AdditionsR6;
3133}PSI13_AdditionsR4;
3134
3135typedef PSI13_AdditionsR4 SI13_AdditionsR4;
3136
3137 typedef struct
3138{
3139 uint8_t SGSNR;
3140 bool Exist_AdditionsR4;
3141 PSI13_AdditionsR4 AdditionsR4;
3142}PSI13_AdditionR99;
3143
3144typedef PSI13_AdditionR99 SI13_AdditionR99;
3145
3146 typedef struct
3147{
3148 uint8_t Exist;
3149 uint8_t MESSAGE_TYPE;
3150
3151 uint8_t PAGE_MODE;
3152 uint8_t BCCH_CHANGE_MARK;
3153 uint8_t SI_CHANGE_FIELD;
3154
3155 uint8_t Exist_MA;
3156 uint8_t SI13_CHANGE_MARK;
3157 GPRS_Mobile_Allocation_t GPRS_Mobile_Allocation;
3158
3159 uint8_t UnionType;
3160 union
3161 {
3162 PBCCH_Not_present_t PBCCH_Not_present;
3163 PBCCH_present_t PBCCH_present;
3164 } u;
3165
3166 bool Exist_AdditionsR99;
3167 PSI13_AdditionR99 AdditionsR99;
3168} PSI13_t;
3169
3170/* SI_13_t is combined in the PSI13 structure */
3171typedef PSI13_t SI_13_t;
3172
3173/* < Packet PRACH Parameters message content > */
3174 typedef struct
3175{
3176 uint8_t MESSAGE_TYPE;
3177 uint8_t PAGE_MODE;
3178
3179
3180 PRACH_Control_t PRACH_Control;
3181} Packet_PRACH_Parameters_t;
3182
3183/* < Packet Access Reject message content > */
3184 typedef struct
3185{
3186 uint8_t UnionType;
3187 union
3188 {
3189 uint32_t TLLI;
3190 Packet_Request_Reference_t Packet_Request_Reference;
3191 Global_TFI_t Global_TFI;
3192 } u;
3193} RejectID_t;
3194
3195 typedef struct
3196{
3197 RejectID_t ID;
3198
3199 uint8_t Exist_Wait;
3200 uint8_t WAIT_INDICATION;
3201 uint8_t WAIT_INDICATION_SIZE;
3202} Reject_t;
3203
3204 typedef struct
3205{
3206 uint8_t MESSAGE_TYPE;
3207 uint8_t PAGE_MODE;
3208
3209 uint8_t IndexToOur;
3210 uint8_t Count_Reject;
3211 Reject_t Reject[5];
3212} Packet_Access_Reject_t;
3213
3214/* < Packet Cell Change Order message content > */
3215 typedef struct
3216{
3217 uint8_t CELL_BAR_ACCESS_2;
3218 uint8_t EXC_ACC;
3219 uint8_t SAME_RA_AS_SERVING_CELL;
3220
3221 uint8_t Exist_RXLEV_and_TXPWR;
3222 uint8_t GPRS_RXLEV_ACCESS_MIN;
3223 uint8_t GPRS_MS_TXPWR_MAX_CCH;
3224
3225 uint8_t Exist_OFFSET_and_TIME;
3226 uint8_t GPRS_TEMPORARY_OFFSET;
3227 uint8_t GPRS_PENALTY_TIME;
3228
3229 uint8_t Exist_GPRS_RESELECT_OFFSET;
3230 uint8_t GPRS_RESELECT_OFFSET;
3231
3232 uint8_t Exist_HCS;
3233 HCS_t HCS;
3234
3235 uint8_t Exist_SI13_PBCCH_Location;
3236 SI13_PBCCH_Location_t SI13_PBCCH_Location;
3237} Cell_Selection_2_t;
3238
3239 typedef struct
3240{
3241 uint8_t FREQUENCY_DIFF;
3242 uint8_t BSIC;
3243 Cell_Selection_t Cell_Selection;
3244} h_FreqBsicCell_t;
3245
3246 typedef struct
3247{
3248 uint8_t FREQ_DIFF_LENGTH;
3249 uint8_t FREQUENCY_DIFF;
3250 uint8_t BSIC;
3251
3252 bool Exist_CellSelectionParams;
3253 Cell_Selection_2_t CellSelectionParams;
3254} CellSelectionParamsWithFreqDiff_t;
3255
3256 typedef struct
3257{
3258 uint16_t START_FREQUENCY;
3259 uint8_t BSIC;
3260
3261 uint8_t Exist_Cell_Selection;
3262 Cell_Selection_2_t Cell_Selection;
3263
3264 uint8_t NR_OF_FREQUENCIES;
3265 uint8_t FREQ_DIFF_LENGTH;
3266
3267
3268 CellSelectionParamsWithFreqDiff_t CellSelectionParamsWithFreqDiff[32];
3269} Add_Frequency_list_t;
3270
3271 typedef struct
3272{
3273 uint8_t REMOVED_FREQ_INDEX;
3274} Removed_Freq_Index_t;
3275
3276 typedef struct
3277{
3278 uint8_t Exist_REMOVED_FREQ;
3279 uint8_t NR_OF_REMOVED_FREQ;
3280 Removed_Freq_Index_t Removed_Freq_Index[32];
3281
3282 uint8_t Count_Add_Frequency;
3283 Add_Frequency_list_t Add_Frequency[32];
3284} NC_Frequency_list_t;
3285
3286
3287 typedef struct
3288{
3289 uint8_t NETWORK_CONTROL_ORDER;
3290
3291 uint8_t Exist_NC;
3292 uint8_t NC_NON_DRX_PERIOD;
3293 uint8_t NC_REPORTING_PERIOD_I;
3294 uint8_t NC_REPORTING_PERIOD_T;
3295
3296 uint8_t Exist_NC_FREQUENCY_LIST;
3297 NC_Frequency_list_t NC_Frequency_list;
3298} NC_Measurement_Parameters_with_Frequency_List_t;
3299
3300
3301 typedef struct
3302{
3303 uint8_t BA_IND;
3304 uint8_t BA_IND_3G;
3305} BA_IND_t;
3306
3307 typedef struct
3308{
3309 uint8_t BA_USED;
3310 uint8_t BA_USED_3G;
3311} BA_USED_t;
3312
3313 typedef struct
3314{
3315 uint8_t RXLEV_SERVING_CELL;
3316} Serving_Cell_Data_t;
3317
3318 typedef struct
3319{
3320 uint8_t FREQUENCY_N;
3321 uint8_t Exist_BSIC_N;
3322 uint8_t BSIC_N;
3323 uint8_t RXLEV_N;
3324} NC_Measurements_t;
3325
3326 typedef struct
3327{
3328 uint8_t BCCH_FREQ_N;
3329 uint8_t BSIC_N;
3330 uint8_t RXLEV_N;
3331} RepeatedInvalid_BSIC_Info_t;
3332
3333 typedef struct
3334{
3335 uint8_t Exist_REPORTING_QUANTITY;
3336 uint8_t REPORTING_QUANTITY;
3337} REPORTING_QUANTITY_Instance_t;
3338
3339 typedef struct
3340{
3341 uint8_t NC_MODE;
3342 Serving_Cell_Data_t Serving_Cell_Data;
3343
3344 uint8_t NUMBER_OF_NC_MEASUREMENTS;
3345 NC_Measurements_t NC_Measurements[6]; /* NC_Measurements * (val(NUMBER_OF_NC_MEASUREMENTS))
3346 Max 7 NC Measurements in one PACKET MEASUREMENT REPORT,
3347 but only 6 cells are updated in PACKET IDLE. */
3348} NC_Measurement_Report_t;
3349
3350 typedef struct
3351{
3352 uint8_t EXT_REPORTING_TYPE;
3353
3354 uint8_t Exist_I_LEVEL;
3355 struct
3356 {
3357 uint8_t Exist;
3358 uint8_t I_LEVEL;
3359 } Slot[8];
3360
3361 uint8_t NUMBER_OF_EXT_MEASUREMENTS;
3362 NC_Measurements_t EXT_Measurements[9]; /* EXT_Measurements * (val(NUMBER_OF_NC_MEASUREMENTS))
3363 Max 9 Ext Measurements in one PACKET MEASUREMENT REPORT */
3364} EXT_Measurement_Report_t;
3365
3366 typedef struct
3367{
3368 uint8_t CELL_LIST_INDEX_3G;
3369 uint8_t REPORTING_QUANTITY;
3370} Measurements_3G_t;
3371
3372 typedef struct
3373{
3374 uint32_t UTRAN_CGI;
3375 uint8_t Exist_PLMN_ID;
3376 PLMN_t Plmn_ID;
3377 uint32_t CSG_ID;
3378 bool Access_Mode;
3379 uint8_t REPORTING_QUANTITY;
3380} UTRAN_CSG_Measurement_Report_t;
3381
3382 typedef struct
3383{
3384 uint32_t EUTRAN_CGI;
3385 uint16_t Tracking_Area_Code;
3386 uint8_t Exist_PLMN_ID;
3387 PLMN_t Plmn_ID;
3388 uint32_t CSG_ID;
3389 bool Access_Mode;
3390 uint8_t REPORTING_QUANTITY;
3391} EUTRAN_CSG_Measurement_Report_t;
3392
3393 typedef struct
3394{
3395 bool Exist_UTRAN_CSG_Meas_Rpt;
3396 UTRAN_CSG_Measurement_Report_t UTRAN_CSG_Meas_Rpt;
3397 bool Exist_EUTRAN_CSG_Meas_Rpt;
3398 EUTRAN_CSG_Measurement_Report_t EUTRAN_CSG_Meas_Rpt;
3399} PMR_AdditionsR9_t;
3400
3401 typedef struct
3402{
3403 uint8_t EUTRAN_FREQUENCY_INDEX;
3404 uint16_t CELL_IDENTITY;
3405 uint8_t REPORTING_QUANTITY;
3406} EUTRAN_Measurement_Report_Body_t;
3407
3408 typedef struct
3409{
3410 uint8_t N_EUTRAN;
3411 EUTRAN_Measurement_Report_Body_t Report[4];
3412} EUTRAN_Measurement_Report_t;
3413
3414 typedef struct
3415{
3416 bool Exist_EUTRAN_Meas_Rpt;
3417 EUTRAN_Measurement_Report_t EUTRAN_Meas_Rpt;
3418 bool Exist_AdditionsR9;
3419 PMR_AdditionsR9_t AdditionsR9;
3420} PMR_AdditionsR8_t;
3421
3422 typedef struct
3423{
3424 bool Exist_GRNTI;
3425 uint8_t GRNTI;
3426 bool Exist_AdditionsR8;
3427 PMR_AdditionsR8_t AdditionsR8;
3428} PMR_AdditionsR5_t;
3429
3430 typedef struct
3431{
3432 bool Exist_Info3G;
3433 uint8_t UnionType;
3434 union
3435 {
3436 BA_USED_t BA_USED;
3437 uint8_t PSI3_CHANGE_MARK;
3438 } u;
3439 uint8_t PMO_USED;
3440
3441 /* N_3G bit(3): max value 7
3442 * Report part (csn): {<3G_CELL_LIST_INDEX:bit(7)><REPORTING_QUANTITY:bit(6)>}*(val(N_3G + 1))
3443 * Max 6 3G measurement structs in one PMR
3444 */
3445 bool Exist_MeasurementReport3G;
3446 uint8_t N_3G;
3447 Measurements_3G_t Measurements_3G[6];
3448
3449 bool Exist_AdditionsR5;
3450 PMR_AdditionsR5_t AdditionsR5;
3451} PMR_AdditionsR99_t;
3452
3453 typedef struct
3454{
3455 uint8_t MESSAGE_TYPE;
3456 uint8_t PayloadType;
3457 uint8_t spare;
3458 uint8_t R;
3459
3460 uint32_t TLLI;
3461 uint8_t Exist_PSI5_CHANGE_MARK;
3462 uint8_t PSI5_CHANGE_MARK;
3463
3464 uint8_t UnionType;
3465 union
3466 {
3467 NC_Measurement_Report_t NC_Measurement_Report;
3468 EXT_Measurement_Report_t EXT_Measurement_Report;
3469 } u;
3470
3471 bool Exist_AdditionsR99;
3472 PMR_AdditionsR99_t AdditionsR99;
3473} Packet_Measurement_Report_t;
3474
3475#define INV_BSIC_LIST_LEN (16)
3476
3477#define REPORT_QUANTITY_LIST_LEN (96) /* Specification specified up to 96 */
3478
3479 typedef struct
3480{
3481 uint8_t NC_MODE;
3482 uint8_t UnionType;
3483 union
3484 {
3485 BA_USED_t BA_USED;
3486 uint8_t PSI3_CHANGE_MARK;
3487 } u;
3488
3489 uint8_t PMO_USED;
3490 uint8_t BSIC_Seen;
3491 uint8_t SCALE;
3492
3493 uint8_t Exist_Serving_Cell_Data;
3494 Serving_Cell_Data_t Serving_Cell_Data;
3495
3496 uint8_t Count_RepeatedInvalid_BSIC_Info;
3497 RepeatedInvalid_BSIC_Info_t RepeatedInvalid_BSIC_Info[INV_BSIC_LIST_LEN];
3498
3499 uint8_t Exist_ReportBitmap;
3500 uint8_t Count_REPORTING_QUANTITY_Instances;
3501 REPORTING_QUANTITY_Instance_t REPORTING_QUANTITY_Instances[REPORT_QUANTITY_LIST_LEN];
3502
3503} ENH_NC_Measurement_Report_t;
3504
3505 typedef struct
3506{
3507 uint8_t Exist_UTRAN_CSG_Target_Cell;
3508 UTRAN_CSG_Target_Cell_t UTRAN_CSG_Target_Cell;
3509 uint8_t Exist_EUTRAN_CSG_Target_Cell;
3510 EUTRAN_CSG_Target_Cell_t EUTRAN_CSG_Target_Cell;
3511} PEMR_AdditionsR9_t;
3512
3513 typedef struct
3514{
3515 bool Exist_REPORTING_QUANTITY;
3516 uint8_t REPORTING_QUANTITY;
3517} Bitmap_Report_Quantity_t;
3518
3519 typedef struct
3520{
3521 uint8_t BITMAP_LENGTH;
3522 Bitmap_Report_Quantity_t Bitmap_Report_Quantity[128];
3523 bool Exist_EUTRAN_Meas_Rpt;
3524 EUTRAN_Measurement_Report_t EUTRAN_Meas_Rpt;
3525 bool Exist_AdditionsR9;
3526 PEMR_AdditionsR9_t AdditionsR9;
3527} PEMR_AdditionsR8_t;
3528
3529 typedef struct
3530{
3531 bool Exist_GRNTI_Ext;
3532 uint8_t GRNTI_Ext;
3533 bool Exist_AdditionsR8;
3534 PEMR_AdditionsR8_t AdditionsR8;
3535} PEMR_AdditionsR5_t;
3536
3537 typedef struct
3538{
3539 uint8_t MESSAGE_TYPE;
3540 uint8_t PayloadType;
3541 uint8_t spare;
3542 uint8_t R;
3543
3544 uint32_t TLLI;
3545
3546 ENH_NC_Measurement_Report_t Measurements;
3547
3548 bool Exist_AdditionsR5;
3549 PEMR_AdditionsR5_t AdditionsR5;
3550} Packet_Enh_Measurement_Report_t;
3551
3552 typedef struct
3553{
3554 uint8_t RXLEV_SERVING_CELL;
3555
3556 uint8_t NUMBER_OF_NC_MEASUREMENTS;
3557 NC_Measurements_t NC_Measurements[6]; /* NC_Measurements * (val(NUMBER_OF_NC_MEASUREMENTS))
3558 Max 7 NC Measurements in one PACKET MEASUREMENT REPORT,
3559 but only 6 cells are updated in PACKET IDLE. */
3560} CCN_Measurement_Report_t;
3561
3562 typedef struct
3563{
3564 uint16_t ARFCN;
3565 uint8_t BSIC;
3566} Target_Cell_GSM_Notif_t;
3567
3568 typedef struct
3569{
3570 uint16_t FDD_ARFCN;
3571 uint8_t Exist_Bandwith_FDD;
3572 uint8_t BANDWITH_FDD;
3573 uint16_t SCRAMBLING_CODE;
3574} FDD_Target_Cell_Notif_t;
3575
3576 typedef struct
3577{
3578 uint16_t TDD_ARFCN;
3579 uint8_t Exist_Bandwith_TDD;
3580 uint8_t BANDWITH_TDD;
3581 uint8_t CELL_PARAMETER;
3582 uint8_t Sync_Case_TSTD;
3583} TDD_Target_Cell_Notif_t;
3584
3585 typedef struct
3586{
3587 uint8_t Exist_FDD_Description;
3588 FDD_Target_Cell_Notif_t FDD_Target_Cell_Notif;
3589 uint8_t Exist_TDD_Description;
3590 TDD_Target_Cell_Notif_t TDD_Target_Cell;
3591 uint8_t REPORTING_QUANTITY;
3592} Target_Cell_3G_Notif_t;
3593
3594 typedef struct
3595{
3596 uint16_t EARFCN;
3597 uint8_t Exist_Measurement_Bandwidth;
3598 uint8_t Measurement_Bandwidth;
3599 uint16_t Physical_Layer_Cell_Identity;
3600 uint8_t Reporting_Quantity;
3601} Target_EUTRAN_Cell_Notif_t;
3602
3603 typedef struct
3604{
3605 uint8_t EUTRAN_FREQUENCY_INDEX;
3606 uint16_t CELL_IDENTITY;
3607 uint8_t REPORTING_QUANTITY;
3608} Eutran_Ccn_Measurement_Report_Cell_t;
3609
3610 typedef struct
3611{
3612 bool ThreeG_BA_USED;
3613 uint8_t N_EUTRAN;
3614 Eutran_Ccn_Measurement_Report_Cell_t Eutran_Ccn_Measurement_Report_Cell[4];
3615} Eutran_Ccn_Measurement_Report_t;
3616
3617 typedef struct
3618{
3619 uint8_t Exist_Arfcn;
3620 uint16_t Arfcn;
3621 uint8_t bsic;
3622 uint8_t Exist_3G_Target_Cell;
3623 Target_Cell_3G_Notif_t Target_Cell_3G_Notif;
3624 uint8_t Exist_Eutran_Target_Cell;
3625 Target_EUTRAN_Cell_Notif_t Target_EUTRAN_Cell;
3626 uint8_t Exist_Eutran_Ccn_Measurement_Report;
3627 Eutran_Ccn_Measurement_Report_t Eutran_Ccn_Measurement_Report;
3628} Target_Cell_4G_Notif_t;
3629
3630 typedef struct
3631{
3632 uint8_t UnionType;
3633 union
3634 {
3635 UTRAN_CSG_Measurement_Report_t UTRAN_CSG_Measurement_Report;
3636 EUTRAN_CSG_Measurement_Report_t EUTRAN_CSG_Measurement_Report;
3637 } u;
3638 uint8_t Exist_Eutran_Ccn_Measurement_Report;
3639 Eutran_Ccn_Measurement_Report_t Eutran_Ccn_Measurement_Report;
3640} Target_Cell_CSG_Notif_t;
3641
3642 typedef struct
3643{
3644 uint8_t UnionType;
3645 union
3646 {
3647 Target_Cell_4G_Notif_t Target_Cell_4G_Notif;
3648 Target_Cell_CSG_Notif_t Target_Cell_CSG_Notif;
3649 } u;
3650} Target_Other_RAT_2_Notif_t;
3651
3652 typedef struct
3653{
3654 uint8_t UnionType;
3655 union
3656 {
3657 Target_Cell_3G_Notif_t Target_Cell_3G_Notif;
3658 Target_Other_RAT_2_Notif_t Target_Other_RAT_2_Notif;
3659 } u;
3660} Target_Other_RAT_Notif_t;
3661
3662 typedef struct
3663{
3664 uint8_t UnionType;
3665 union
3666 {
3667 Target_Cell_GSM_Notif_t Target_Cell_GSM_Notif;
3668 Target_Other_RAT_Notif_t Target_Other_RAT_Notif;
3669 } u;
3670} Target_Cell_t;
3671
3672 typedef struct
3673{
3674 uint8_t Exist_BA_USED_3G;
3675 uint8_t BA_USED_3G;
3676
3677 uint8_t N_3G;
3678 Measurements_3G_t Measurements_3G[6];
3679} PCCN_AdditionsR6_t;
3680
3681/* < Packet Cell Change Notification message contents > */
3682 typedef struct
3683{
3684 uint8_t MESSAGE_TYPE;
3685 uint8_t PayloadType;
3686 uint8_t spare;
3687 uint8_t R;
3688
3689 Global_TFI_t Global_TFI;
3690
3691 Target_Cell_t Target_Cell;
3692
3693 uint8_t UnionType;
3694 union
3695 {
3696 uint8_t BA_IND;
3697 uint8_t PSI3_CHANGE_MARK;
3698 } u;
3699 uint8_t PMO_USED;
3700 uint8_t PCCN_SENDING;
3701 CCN_Measurement_Report_t CCN_Measurement_Report;
3702
3703 bool Exist_AdditionsR6;
3704 PCCN_AdditionsR6_t AdditionsR6;
3705} Packet_Cell_Change_Notification_t;
3706
3707/* < Packet Cell Change Order message contents > */
3708
3709
3710 typedef struct
3711{
3712 uint8_t FrequencyScrolling;
3713 uint8_t BSIC;
3714} BSICDesc_t;
3715
3716
3717#define MAX_BSIC_DESCS (19) /* Due to message size (23 bytes) and header etc,
3718 * there cannot be more than 19 DESCS.
3719 */
3720
3721typedef struct
3722{
3723 bool Exist_IndexStartBA;
3724 uint8_t IndexStartBA;
3725 uint8_t BSIC;
3726 uint8_t NumRemainingBSICs;
3727 BSICDesc_t BSICDesc[MAX_BSIC_DESCS];
3728} BSICList_t;
3729
3730typedef BSICList_t GPRSBSICList_t;
3731
3732#define MAX_RTD_VALUES (6)
3733
3734typedef struct
3735{
3736 uint8_t NumRTDValues;
3737 uint16_t RTD[MAX_RTD_VALUES];
3738} RTDValues_t;
3739
3740typedef struct
3741{
3742 bool Exist_StartValue;
3743 uint8_t StartValue;
3744} BAIndexStartRTD_t;
3745
3746#define MAX_RTD_FREQS (32)
3747
3748typedef struct
3749{
3750 BAIndexStartRTD_t BAIndexStart;
3751 uint8_t NumFreqs;
3752 RTDValues_t RTD_s[MAX_RTD_FREQS];
3753} RTDList_t;
3754
3755typedef struct
3756{
3757 bool Exist_ListRTD6;
3758 RTDList_t ListRTD6;
3759
3760 bool Exist_ListRTD12;
3761 RTDList_t ListRTD12;
3762} RealTimeDiffs_t;
3763
3764
3765 typedef MeasurementParams_t GPRSMeasurementParams_PMO_PCCO_t;
3766
3767typedef struct {
3768 bool existMultiratReporting;
3769 uint8_t MultiratReporting;
3770
3771 bool existOffsetThreshold;
3772 OffsetThreshold_t OffsetThreshold;
3773} MultiratParams3G_t;
3774
3775typedef struct
3776{
3777 uint8_t Qsearch_P;
3778 uint8_t SearchPrio3G;
3779
3780 bool existRepParamsFDD;
3781 uint8_t RepQuantFDD;
3782 uint8_t MultiratReportingFDD;
3783
3784 bool existOffsetThreshold;
3785 OffsetThreshold_t OffsetThreshold;
3786
3787 MultiratParams3G_t ParamsTDD;
3788 MultiratParams3G_t ParamsCDMA2000;
3789} ENH_GPRSMeasurementParams3G_PMO_t;
3790
3791
3792typedef struct
3793{
3794 uint8_t Qsearch_P;
3795 uint8_t SearchPrio3G;
3796
3797 bool existRepParamsFDD;
3798 uint8_t RepQuantFDD;
3799 uint8_t MultiratReportingFDD;
3800
3801 bool existOffsetThreshold;
3802 OffsetThreshold_t OffsetThreshold;
3803
3804 MultiratParams3G_t ParamsTDD;
3805} ENH_GPRSMeasurementParams3G_PCCO_t;
3806
3807
3808typedef struct
3809{
3810 uint8_t Qsearch_p;
3811 uint8_t SearchPrio3G;
3812
3813 uint8_t existRepParamsFDD;
3814 uint8_t RepQuantFDD;
3815 uint8_t MultiratReportingFDD;
3816
3817 uint8_t existReportingParamsFDD;
3818 uint8_t ReportingOffsetFDD;
3819 uint8_t ReportingThresholdFDD;
3820
3821 uint8_t existMultiratReportingTDD;
3822 uint8_t MultiratReportingTDD;
3823
3824 uint8_t existOffsetThresholdTDD;
3825 uint8_t ReportingOffsetTDD;
3826 uint8_t ReportingThresholdTDD;
3827} GPRSMeasurementParams3G_t;
3828
3829typedef struct
3830{
3831 uint8_t REMOVED_3GCELL_INDEX;
3832 uint8_t CELL_DIFF_LENGTH_3G;
3833 uint8_t CELL_DIFF_3G;
3834} N2_t;
3835
3836typedef struct
3837{
3838 uint8_t N2_Count;
3839 N2_t N2s[32];
3840} N1_t;
3841
3842typedef struct
3843{
3844 uint8_t N1_Count;
3845 N1_t N1s[4];
3846} Removed3GCellDescription_t;
3847
3848typedef struct
3849{
3850 uint8_t Complete_This;
3851} CDMA2000_Description_t;
3852
3853typedef struct {
3854 uint8_t ZERO;
3855 uint16_t UARFCN;
3856 uint8_t Indic0;
3857 uint8_t NrOfCells;
3858 uint8_t BitsInCellInfo;
3859 uint8_t CellInfo[16]; /* bitmap compressed according to "Range 1024" algorithm (04.18/9.1.54) */
3860} UTRAN_FDD_NeighbourCells_t;
3861
3862typedef struct {
3863 bool existBandwidth;
3864 uint8_t Bandwidth;
3865 uint8_t NrOfFrequencies;
3866 UTRAN_FDD_NeighbourCells_t CellParams[8];
3867} UTRAN_FDD_Description_t;
3868
3869typedef struct {
3870 uint8_t ZERO;
3871 uint16_t UARFCN;
3872 uint8_t Indic0;
3873 uint8_t NrOfCells;
3874 uint8_t BitsInCellInfo;
3875 uint8_t CellInfo[16]; /* bitmap compressed according to "Range 512" algorithm */
3876} UTRAN_TDD_NeighbourCells_t;
3877
3878typedef struct {
3879 bool existBandwidth;
3880 uint8_t Bandwidth;
3881 uint8_t NrOfFrequencies;
3882 UTRAN_TDD_NeighbourCells_t CellParams[8];
3883} UTRAN_TDD_Description_t;
3884
3885typedef struct
3886{
3887 uint8_t Exist_Index_Start_3G;
3888 uint8_t Index_Start_3G;
3889 uint8_t Exist_Absolute_Index_Start_EMR;
3890 uint8_t Absolute_Index_Start_EMR;
3891 uint8_t Exist_UTRAN_FDD_Description;
3892 UTRAN_FDD_Description_t UTRAN_FDD_Description;
3893 uint8_t Exist_UTRAN_TDD_Description;
3894 UTRAN_TDD_Description_t UTRAN_TDD_Description;
3895 uint8_t Exist_CDMA2000_Description;
3896 CDMA2000_Description_t CDMA2000_Description;
3897 uint8_t Exist_Removed3GCellDescription;
3898 Removed3GCellDescription_t Removed3GCellDescription;
3899} NeighbourCellDescription3G_PMO_t;
3900
3901typedef struct
3902{
3903 uint8_t Exist_Index_Start_3G;
3904 uint8_t Index_Start_3G;
3905 uint8_t Exist_Absolute_Index_Start_EMR;
3906 uint8_t Absolute_Index_Start_EMR;
3907 uint8_t Exist_UTRAN_FDD_Description;
3908 UTRAN_FDD_Description_t UTRAN_FDD_Description;
3909 uint8_t Exist_UTRAN_TDD_Description;
3910 UTRAN_TDD_Description_t UTRAN_TDD_Description;
3911 uint8_t Exist_Removed3GCellDescription;
3912 Removed3GCellDescription_t Removed3GCellDescription;
3913} NeighbourCellDescription3G_PCCO_t;
3914
3915typedef struct
3916{
3917 uint8_t UnionType;
3918 union
3919 {
3920 BA_IND_t BA_IND;
3921 uint8_t PSI3_CHANGE_MARK;
3922 } u;
3923
3924 uint8_t PMO_IND;
3925
3926 uint8_t REPORT_TYPE;
3927 uint8_t REPORTING_RATE;
3928 uint8_t INVALID_BSIC_REPORTING;
3929
3930 bool Exist_NeighbourCellDescription3G;
3931 NeighbourCellDescription3G_PMO_t NeighbourCellDescription3G;
3932
3933 bool Exist_GPRSReportPriority;
3934 GPRSReportPriority_t GPRSReportPriority;
3935
3936 bool Exist_GPRSMeasurementParams;
3937 GPRSMeasurementParams_PMO_PCCO_t GPRSMeasurementParams;
3938 bool Exist_GPRSMeasurementParams3G;
3939 ENH_GPRSMeasurementParams3G_PMO_t GPRSMeasurementParams3G;
3940} ENH_Measurement_Parameters_PMO_t;
3941
3942typedef struct
3943{
3944 uint8_t UnionType;
3945 union
3946 {
3947 BA_IND_t BA_IND;
3948 uint8_t PSI3_CHANGE_MARK;
3949 } u;
3950
3951 uint8_t PMO_IND;
3952
3953 uint8_t REPORT_TYPE;
3954 uint8_t REPORTING_RATE;
3955 uint8_t INVALID_BSIC_REPORTING;
3956
3957 bool Exist_NeighbourCellDescription3G;
3958 NeighbourCellDescription3G_PCCO_t NeighbourCellDescription3G;
3959
3960 bool Exist_GPRSReportPriority;
3961 GPRSReportPriority_t GPRSReportPriority;
3962
3963 bool Exist_GPRSMeasurementParams;
3964 GPRSMeasurementParams_PMO_PCCO_t GPRSMeasurementParams;
3965 bool Exist_GPRSMeasurementParams3G;
3966 ENH_GPRSMeasurementParams3G_PCCO_t GPRSMeasurementParams3G;
3967} ENH_Measurement_Parameters_PCCO_t;
3968
3969typedef struct
3970{
3971 uint8_t UnionType;
3972 union
3973 {
3974 Global_TFI_t Global_TFI;
3975 uint32_t TLLI;
3976 } u;
3977} PacketCellChangeOrderID_t;
3978
3979typedef struct
3980{
3981 uint8_t CELL_BAR_QUALIFY_3;
3982 uint8_t Exist_SI13_Alt_PBCCH_Location;
3983 SI13_PBCCH_Location_t SI13_Alt_PBCCH_Location;
3984} lu_ModeCellSelectionParameters_t;
3985
3986typedef struct
3987{
3988 uint8_t Exist_lu_ModeCellSelectionParams;
3989 lu_ModeCellSelectionParameters_t lu_ModeCellSelectionParameters;
3990} lu_ModeCellSelectionParams_t;
3991
3992typedef struct
3993{
3994 lu_ModeCellSelectionParams_t lu_ModeCellSelectionParameters;
3995 uint8_t NR_OF_FREQUENCIES;
3996 lu_ModeCellSelectionParams_t lu_ModeCellSelectionParams[32];
3997} lu_ModeNeighbourCellParams_t;
3998
3999typedef struct
4000{
4001 uint8_t CELL_BAR_QUALIFY_3;
4002 uint8_t SAME_RA_AS_SERVING_CELL;
4003
4004 uint8_t Exist_RXLEV_and_TXPWR;
4005 uint8_t GPRS_RXLEV_ACCESS_MIN;
4006 uint8_t GPRS_MS_TXPWR_MAX_CCH;
4007
4008 uint8_t Exist_OFFSET_and_TIME;
4009 uint8_t GPRS_TEMPORARY_OFFSET;
4010 uint8_t GPRS_PENALTY_TIME;
4011
4012 uint8_t Exist_GPRS_RESELECT_OFFSET;
4013 uint8_t GPRS_RESELECT_OFFSET;
4014
4015 uint8_t Exist_HCS;
4016 HCS_t HCS;
4017
4018 uint8_t Exist_SI13_Alt_PBCCH_Location;
4019 SI13_PBCCH_Location_t SI13_Alt_PBCCH_Location;
4020} lu_ModeOnlyCellSelection_t;
4021
4022typedef struct
4023{
4024 uint8_t FREQ_DIFF_LENGTH;
4025 uint8_t FREQUENCY_DIFF;
4026 uint8_t BSIC;
4027
4028 bool Exist_lu_ModeOnlyCellSelectionParams;
4029 lu_ModeOnlyCellSelection_t lu_ModeOnlyCellSelectionParams;
4030} lu_ModeOnlyCellSelectionParamsWithFreqDiff_t;
4031
4032typedef struct
4033{
4034 uint16_t START_FREQUENCY;
4035 uint8_t BSIC;
4036
4037 uint8_t Exist_lu_ModeCellSelection;
4038 lu_ModeOnlyCellSelection_t lu_ModeOnlyCellSelection;
4039
4040 uint8_t NR_OF_FREQUENCIES;
4041 uint8_t FREQ_DIFF_LENGTH;
4042
4043 lu_ModeOnlyCellSelectionParamsWithFreqDiff_t lu_ModeOnlyCellSelectionParamsWithFreqDiff[32];
4044} Add_lu_ModeOnlyFrequencyList_t;
4045
4046typedef struct
4047{
4048 uint8_t Count_Add_lu_ModeOnlyFrequencyList;
4049 Add_lu_ModeOnlyFrequencyList_t Add_lu_ModeOnlyFrequencyList[32];
4050} NC_lu_ModeOnlyCapableCellList_t;
4051
4052
4053typedef struct
4054{
4055 uint8_t NumberOfFrequencyIndexes;
4056 uint8_t UTRAN_FREQUENCY_INDEX_a[18];
4057
4058 bool existUTRAN_PRIORITY;
4059 uint8_t UTRAN_PRIORITY;
4060
4061 uint8_t THRESH_UTRAN_high;
4062
4063 bool existTHRESH_UTRAN_low;
4064 uint8_t THRESH_UTRAN_low;
4065
4066 bool existUTRAN_QRXLEVMIN;
4067 uint8_t UTRAN_QRXLEVMIN;
4068} RepeatedUTRAN_PriorityParameters_t;
4069
4070typedef struct
4071{
4072 bool existDEFAULT_UTRAN_Parameters;
4073 uint8_t DEFAULT_UTRAN_PRIORITY;
4074 uint8_t DEFAULT_THRESH_UTRAN;
4075 uint8_t DEFAULT_UTRAN_QRXLEVMIN;
4076
4077 uint8_t NumberOfPriorityParameters;
4078 RepeatedUTRAN_PriorityParameters_t RepeatedUTRAN_PriorityParameters_a[8];
4079} PriorityParametersDescription3G_PMO_t;
4080
4081typedef struct
4082{
4083 bool existEUTRAN_FDD_REPORTING_THRESHOLD_OFFSET;
4084 uint8_t EUTRAN_FDD_REPORTING_THRESHOLD;
4085 bool existEUTRAN_FDD_REPORTING_THRESHOLD_2;
4086 uint8_t EUTRAN_FDD_REPORTING_THRESHOLD_2;
4087 bool existEUTRAN_FDD_REPORTING_OFFSET;
4088 uint8_t EUTRAN_FDD_REPORTING_OFFSET;
4089
4090 bool existEUTRAN_TDD_REPORTING_THRESHOLD_OFFSET;
4091 uint8_t EUTRAN_TDD_REPORTING_THRESHOLD;
4092 bool existEUTRAN_TDD_REPORTING_THRESHOLD_2;
4093 uint8_t EUTRAN_TDD_REPORTING_THRESHOLD_2;
4094 bool existEUTRAN_TDD_REPORTING_OFFSET;
4095 uint8_t EUTRAN_TDD_REPORTING_OFFSET;
4096} EUTRAN_REPORTING_THRESHOLD_OFFSET_t;
4097
4098typedef struct
4099{
4100 uint8_t Qsearch_P_EUTRAN;
4101 uint8_t EUTRAN_REP_QUANT;
4102 uint8_t EUTRAN_MULTIRAT_REPORTING;
4103 EUTRAN_REPORTING_THRESHOLD_OFFSET_t EUTRAN_REPORTING_THRESHOLD_OFFSET;
4104} GPRS_EUTRAN_MeasurementParametersDescription_t;
4105
4106typedef struct
4107{
4108 uint16_t EARFCN;
4109 bool existMeasurementBandwidth;
4110 uint8_t MeasurementBandwidth;
4111} RepeatedEUTRAN_Cells_t;
4112
4113typedef struct
4114{
4115 uint8_t nbrOfEUTRAN_Cells;
4116 RepeatedEUTRAN_Cells_t EUTRAN_Cells_a[6];
4117
4118 bool existEUTRAN_PRIORITY;
4119 uint8_t EUTRAN_PRIORITY;
4120
4121 uint8_t THRESH_EUTRAN_high;
4122
4123 bool existTHRESH_EUTRAN_low;
4124 uint8_t THRESH_EUTRAN_low;
4125
4126 bool existEUTRAN_QRXLEVMIN;
4127 uint8_t EUTRAN_QRXLEVMIN;
4128} RepeatedEUTRAN_NeighbourCells_t;
4129
4130typedef struct
4131{
4132 uint16_t PCID;
4133} PCID_t;
4134
4135typedef struct
4136{
4137 uint8_t PCID_Pattern_length;
4138 uint8_t PCID_Pattern;
4139 uint8_t PCID_Pattern_sense;
4140} PCID_Pattern_t;
4141
4142typedef struct
4143{
4144 uint8_t NumberOfPCIDs;
4145 uint16_t PCID_a[11];
4146
4147 bool existPCID_BITMAP_GROUP;
4148 uint8_t PCID_BITMAP_GROUP;
4149
4150 uint8_t NumberOfPCID_Patterns;
4151 PCID_Pattern_t PCID_Pattern_a[19];
4152} PCID_Group_IE_t;
4153
4154typedef struct
4155{
4156 uint8_t EUTRAN_FREQUENCY_INDEX;
4157} EUTRAN_FREQUENCY_INDEX_t;
4158
4159typedef struct
4160{
4161 PCID_Group_IE_t NotAllowedCells;
4162 uint8_t NumberOfFrequencyIndexes;
4163 EUTRAN_FREQUENCY_INDEX_t EUTRAN_FREQUENCY_INDEX_a[28];
4164} RepeatedEUTRAN_NotAllowedCells_t;
4165
4166typedef struct
4167{
4168 uint8_t NumberOfMappings;
4169 PCID_Group_IE_t PCID_ToTA_Mapping_a[14];
4170
4171 uint8_t NumberOfFrequencyIndexes;
4172 EUTRAN_FREQUENCY_INDEX_t EUTRAN_FREQUENCY_INDEX_a[28];
4173} RepeatedEUTRAN_PCID_to_TA_mapping_t;
4174
4175typedef struct
4176{
4177 uint8_t EUTRAN_CCN_ACTIVE;
4178
4179 bool existGPRS_EUTRAN_MeasurementParametersDescription;
4180 GPRS_EUTRAN_MeasurementParametersDescription_t GPRS_EUTRAN_MeasurementParametersDescription;
4181
4182 uint8_t nbrOfRepeatedEUTRAN_NeighbourCellsStructs;
4183 RepeatedEUTRAN_NeighbourCells_t RepeatedEUTRAN_NeighbourCells_a[4];
4184
4185 uint8_t NumberOfNotAllowedCells;
4186 RepeatedEUTRAN_NotAllowedCells_t RepeatedEUTRAN_NotAllowedCells_a[14];
4187
4188 uint8_t NumberOfMappings;
4189 RepeatedEUTRAN_PCID_to_TA_mapping_t RepeatedEUTRAN_PCID_to_TA_mapping_a[19];
4190} EUTRAN_ParametersDescription_PMO_t;
4191
4192typedef struct
4193{
4194 uint8_t GERAN_PRIORITY;
4195 uint8_t THRESH_Priority_Search;
4196 uint8_t THRESH_GSM_low;
4197 uint8_t H_PRIO;
4198 uint8_t T_Reselection;
4199} ServingCellPriorityParametersDescription_t;
4200
4201typedef struct
4202{
4203 bool existServingCellPriorityParametersDescription;
4204 ServingCellPriorityParametersDescription_t ServingCellPriorityParametersDescription;
4205
4206 bool existPriorityParametersDescription3G_PMO;
4207 PriorityParametersDescription3G_PMO_t PriorityParametersDescription3G_PMO;
4208
4209 bool existEUTRAN_ParametersDescription_PMO;
4210 EUTRAN_ParametersDescription_PMO_t EUTRAN_ParametersDescription_PMO;
4211} PriorityAndEUTRAN_ParametersDescription_PMO_t;
4212
4213typedef struct
4214{
4215 uint8_t PSC_Pattern_length;
4216 uint8_t PSC_Pattern;
4217 bool PSC_Pattern_sense;
4218} PSC_Pattern_t;
4219
4220typedef struct
4221{
4222 uint8_t PSC_Count;
4223 uint16_t PSC[32];
4224 uint8_t PSC_Pattern_Count;
4225 PSC_Pattern_t PSC_Pattern[32];
4226} PSC_Group_t;
4227
4228typedef struct
4229{
4230 PSC_Group_t CSG_PSC_SPLIT;
4231 uint8_t Count;
4232 uint8_t UTRAN_FREQUENCY_INDEX[32];
4233} ThreeG_CSG_Description_Body_t;
4234
4235typedef struct
4236{
4237 uint8_t Count;
4238 ThreeG_CSG_Description_Body_t ThreeG_CSG_Description_Body[32];
4239} ThreeG_CSG_Description_t;
4240
4241typedef struct
4242{
4243 PSC_Group_t CSG_PCI_SPLIT;
4244 uint8_t Count;
4245 uint8_t EUTRAN_FREQUENCY_INDEX[32];
4246} EUTRAN_CSG_Description_Body_t;
4247
4248typedef struct
4249{
4250 uint8_t Count;
4251 EUTRAN_CSG_Description_Body_t EUTRAN_CSG_Description_Body[32];
4252} EUTRAN_CSG_Description_t;
4253
4254typedef struct
4255{
4256 bool existMeasurement_Control_EUTRAN;
4257 bool Measurement_Control_EUTRAN;
4258 uint8_t EUTRAN_FREQUENCY_INDEX_top;
4259 uint8_t Count_EUTRAN_FREQUENCY_INDEX;
4260 uint8_t EUTRAN_FREQUENCY_INDEX[32];
4261
4262 bool existMeasurement_Control_UTRAN;
4263 bool Measurement_Control_UTRAN;
4264 uint8_t UTRAN_FREQUENCY_INDEX_top;
4265 uint8_t Count_UTRAN_FREQUENCY_INDEX;
4266 uint8_t UTRAN_FREQUENCY_INDEX[32];
4267} Meas_Ctrl_Param_Desp_t;
4268
4269typedef struct
4270{
4271 uint8_t THRESH_EUTRAN_high_Q;
4272 bool existTHRESH_EUTRAN_low_Q;
4273 uint8_t THRESH_EUTRAN_low_Q;
4274 bool existEUTRAN_QQUALMIN;
4275 uint8_t EUTRAN_QQUALMIN;
4276 bool existEUTRAN_RSRPmin;
4277 uint8_t EUTRAN_RSRPmin;
4278} Reselection_Based_On_RSRQ_t;
4279
4280typedef struct
4281{
4282 uint8_t Count_EUTRAN_FREQUENCY_INDEX;
4283 uint8_t EUTRAN_FREQUENCY_INDEX[32];
4284 uint8_t UnionType;
4285 union
4286 {
4287 uint8_t EUTRAN_Qmin;
4288 Reselection_Based_On_RSRQ_t Reselection_Based_On_RSRQ;
4289 } u;
4290} Rept_EUTRAN_Enh_Cell_Resel_Param_t;
4291
4292typedef struct
4293{
4294 uint8_t Count;
4295 Rept_EUTRAN_Enh_Cell_Resel_Param_t Repeated_EUTRAN_Enhanced_Cell_Reselection_Parameters[32];
4296} Enh_Cell_Reselect_Param_Desp_t;
4297
4298typedef struct
4299{
4300 bool existUTRAN_CSG_FDD_REPORTING_THRESHOLD;
4301 uint8_t UTRAN_CSG_FDD_REPORTING_THRESHOLD;
4302 uint8_t UTRAN_CSG_FDD_REPORTING_THRESHOLD_2;
4303 bool existUTRAN_CSG_TDD_REPORTING_THRESHOLD;
4304 uint8_t UTRAN_CSG_TDD_REPORTING_THRESHOLD;
4305} UTRAN_CSG_Cells_Reporting_Desp_t;
4306
4307typedef struct
4308{
4309 bool existEUTRAN_CSG_FDD_REPORTING_THRESHOLD;
4310 uint8_t EUTRAN_CSG_FDD_REPORTING_THRESHOLD;
4311 uint8_t EUTRAN_CSG_FDD_REPORTING_THRESHOLD_2;
4312 bool existEUTRAN_CSG_TDD_REPORTING_THRESHOLD;
4313 uint8_t EUTRAN_CSG_TDD_REPORTING_THRESHOLD;
4314 uint8_t EUTRAN_CSG_TDD_REPORTING_THRESHOLD_2;
4315} EUTRAN_CSG_Cells_Reporting_Desp_t;
4316
4317typedef struct
4318{
4319 bool existUTRAN_CSG_Cells_Reporting_Description;
4320 UTRAN_CSG_Cells_Reporting_Desp_t UTRAN_CSG_Cells_Reporting_Description;
4321 bool existEUTRAN_CSG_Cells_Reporting_Description;
4322 EUTRAN_CSG_Cells_Reporting_Desp_t EUTRAN_CSG_Cells_Reporting_Description;
4323} CSG_Cells_Reporting_Desp_t;
4324
4325typedef struct
4326{
4327 bool existEnhanced_Cell_Reselection_Parameters_Description;
4328 Enh_Cell_Reselect_Param_Desp_t Enhanced_Cell_Reselection_Parameters_Description;
4329
4330 bool existCSG_Cells_Reporting_Description;
4331 CSG_Cells_Reporting_Desp_t CSG_Cells_Reporting_Description;
4332} PMO_AdditionsR9_t;
4333
4334typedef struct
4335{
4336 uint8_t dummy;
4337} Delete_All_Stored_Individual_Priorities_t;
4338
4339typedef struct
4340{
4341 uint8_t Count;
4342 uint16_t FDD_ARFCN[32];
4343} Individual_UTRAN_Priority_FDD_t;
4344
4345typedef struct
4346{
4347 uint8_t Count;
4348 uint16_t TDD_ARFCN[32];
4349} Individual_UTRAN_Priority_TDD_t;
4350
4351typedef struct
4352{
4353 uint8_t UnionType;
4354 union
4355 {
4356 Individual_UTRAN_Priority_FDD_t Individual_UTRAN_Priority_FDD;
4357 Individual_UTRAN_Priority_TDD_t Individual_UTRAN_Priority_TDD;
4358 } u;
4359 uint8_t UTRAN_PRIORITY;
4360} Repeated_Individual_UTRAN_Priority_Parameters_t;
4361
4362typedef struct
4363{
4364 uint8_t Exist_DEFAULT_UTRAN_PRIORITY;
4365 uint8_t DEFAULT_UTRAN_PRIORITY;
4366 uint8_t Repeated_Individual_UTRAN_Priority_Parameters_Count;
4367 Repeated_Individual_UTRAN_Priority_Parameters_t Repeated_Individual_UTRAN_Priority_Parameters[32];
4368} ThreeG_Individual_Priority_Parameters_Description_t;
4369
4370typedef struct
4371{
4372 uint8_t Count;
4373 uint16_t EARFCN[32];
4374 uint8_t EUTRAN_PRIORITY;
4375} Repeated_Individual_EUTRAN_Priority_Parameters_t;
4376
4377typedef struct
4378{
4379 uint8_t Exist_DEFAULT_EUTRAN_PRIORITY;
4380 uint8_t DEFAULT_EUTRAN_PRIORITY;
4381 uint8_t Count;
4382 Repeated_Individual_EUTRAN_Priority_Parameters_t Repeated_Individual_EUTRAN_Priority_Parameters[32];
4383} EUTRAN_Individual_Priority_Parameters_Description_t;
4384
4385typedef struct
4386{
4387 uint8_t GERAN_PRIORITY;
4388 uint8_t Exist_3G_Individual_Priority_Parameters_Description;
4389 ThreeG_Individual_Priority_Parameters_Description_t ThreeG_Individual_Priority_Parameters_Description;
4390 uint8_t Exist_EUTRAN_Individual_Priority_Parameters_Description;
4391 EUTRAN_Individual_Priority_Parameters_Description_t EUTRAN_Individual_Priority_Parameters_Description;
4392 uint8_t Exist_T3230_timeout_value;
4393 uint8_t T3230_timeout_value;
4394} Provide_Individual_Priorities_t;
4395
4396typedef struct
4397{
4398 uint8_t UnionType;
4399 union
4400 {
4401 Delete_All_Stored_Individual_Priorities_t Delete_All_Stored_Individual_Priorities;
4402 Provide_Individual_Priorities_t Provide_Individual_Priorities;
4403 } u;
4404} Individual_Priorities_t;
4405
4406typedef struct
4407{
4408 bool existBA_IND_3G_PMO_IND;
4409 uint8_t BA_IND_3G;
4410 uint8_t PMO_IND;
4411
4412 bool existPriorityAndEUTRAN_ParametersDescription_PMO;
4413 PriorityAndEUTRAN_ParametersDescription_PMO_t PriorityAndEUTRAN_ParametersDescription_PMO;
4414
4415 bool existIndividualPriorities_PMO;
4416 Individual_Priorities_t IndividualPriorities_PMO;
4417
4418 bool existThreeG_CSG_Description;
4419 ThreeG_CSG_Description_t ThreeG_CSG_Description_PMO;
4420
4421 bool existEUTRAN_CSG_Description;
4422 EUTRAN_CSG_Description_t EUTRAN_CSG_Description_PMO;
4423
4424 bool existMeasurement_Control_Parameters_Description;
4425 Meas_Ctrl_Param_Desp_t Measurement_Control_Parameters_Description_PMO;
4426
4427 bool existAdditionsR9;
4428 PMO_AdditionsR9_t AdditionsR9;
4429} PMO_AdditionsR8_t;
4430
4431typedef struct
4432{
4433 bool existREPORTING_OFFSET_THRESHOLD_700;
4434 uint8_t REPORTING_OFFSET_700;
4435 uint8_t REPORTING_THRESHOLD_700;
4436
4437 bool existREPORTING_OFFSET_THRESHOLD_810;
4438 uint8_t REPORTING_OFFSET_810;
4439 uint8_t REPORTING_THRESHOLD_810;
4440
4441 uint8_t existAdditionsR8;
4442 PMO_AdditionsR8_t additionsR8;
4443} PMO_AdditionsR7_t;
4444
4445typedef struct
4446{
4447 uint8_t CCN_ACTIVE_3G;
4448 uint8_t existAdditionsR7;
4449 PMO_AdditionsR7_t additionsR7;
4450} PMO_AdditionsR6_t;
4451
4452typedef struct
4453{
4454 uint8_t CCN_ACTIVE_3G;
4455} PCCO_AdditionsR6_t;
4456
4457typedef struct
4458{
4459 uint8_t existGRNTI_Extension;
4460 uint8_t GRNTI;
4461 uint8_t exist_lu_ModeNeighbourCellParams;
4462 uint8_t count_lu_ModeNeighbourCellParams;
4463 lu_ModeNeighbourCellParams_t lu_ModeNeighbourCellParams[32];
4464 uint8_t existNC_lu_ModeOnlyCapableCellList;
4465 NC_lu_ModeOnlyCapableCellList_t NC_lu_ModeOnlyCapableCellList;
4466 uint8_t existGPRS_AdditionalMeasurementParams3G;
4467 GPRS_AdditionalMeasurementParams3G_t GPRS_AdditionalMeasurementParams3G;
4468 uint8_t existAdditionsR6;
4469 PMO_AdditionsR6_t additionsR6;
4470} PMO_AdditionsR5_t;
4471
4472typedef struct
4473{
4474 uint8_t existGRNTI_Extension;
4475 uint8_t GRNTI;
4476 uint8_t exist_lu_ModeNeighbourCellParams;
4477 uint8_t count_lu_ModeNeighbourCellParams;
4478 lu_ModeNeighbourCellParams_t lu_ModeNeighbourCellParams[32];
4479 uint8_t existNC_lu_ModeOnlyCapableCellList;
4480 NC_lu_ModeOnlyCapableCellList_t NC_lu_ModeOnlyCapableCellList;
4481 uint8_t existGPRS_AdditionalMeasurementParams3G;
4482 GPRS_AdditionalMeasurementParams3G_t GPRS_AdditionalMeasurementParams3G;
4483 uint8_t existAdditionsR6;
4484 PCCO_AdditionsR6_t additionsR6;
4485} PCCO_AdditionsR5_t;
4486
4487typedef struct
4488{
4489 uint8_t CCN_ACTIVE;
4490 uint8_t Exist_CCN_Support_Description_ID;
4491 CCN_Support_Description_t CCN_Support_Description;
4492 uint8_t Exist_AdditionsR5;
4493 PMO_AdditionsR5_t AdditionsR5;
4494} PMO_AdditionsR4_t;
4495
4496typedef struct
4497{
4498 uint8_t CCN_ACTIVE;
4499 uint8_t Exist_Container_ID;
4500 uint8_t CONTAINER_ID;
4501 uint8_t Exist_CCN_Support_Description_ID;
4502 CCN_Support_Description_t CCN_Support_Description;
4503 uint8_t Exist_AdditionsR5;
4504 PCCO_AdditionsR5_t AdditionsR5;
4505} PCCO_AdditionsR4_t;
4506
4507typedef struct
4508{
4509 ENH_Measurement_Parameters_PCCO_t ENH_Measurement_Parameters;
4510 uint8_t Exist_AdditionsR4;
4511 PCCO_AdditionsR4_t AdditionsR4;
4512} PCCO_AdditionsR99_t;
4513
4514typedef struct
4515{
4516 uint8_t Exist_ENH_Measurement_Parameters;
4517 ENH_Measurement_Parameters_PMO_t ENH_Measurement_Parameters;
4518 uint8_t Exist_AdditionsR4;
4519 PMO_AdditionsR4_t AdditionsR4;
4520} PMO_AdditionsR99_t;
4521
4522typedef struct
4523{
4524 uint8_t Exist_LSA_Parameters;
4525 LSA_Parameters_t LSA_Parameters;
4526
4527 uint8_t Exist_AdditionsR99;
4528 PMO_AdditionsR99_t AdditionsR99;
4529} PMO_AdditionsR98_t;
4530
4531typedef struct
4532{
4533 uint8_t Exist_LSA_Parameters;
4534 LSA_Parameters_t LSA_Parameters;
4535
4536 uint8_t Exist_AdditionsR99;
4537 PCCO_AdditionsR99_t AdditionsR99;
4538} PCCO_AdditionsR98_t;
4539
4540typedef struct
4541{
4542 uint8_t IMMEDIATE_REL;
4543 uint16_t ARFCN;
4544 uint8_t BSIC;
4545 NC_Measurement_Parameters_with_Frequency_List_t NC_Measurement_Parameters;
4546
4547 uint8_t Exist_AdditionsR98;
4548 PCCO_AdditionsR98_t AdditionsR98;
4549} Target_Cell_GSM_t;
4550
4551typedef struct
4552{
4553 uint8_t Exist_EUTRAN_Target_Cell;
4554 EUTRAN_Target_Cell_t EUTRAN_Target_Cell;
4555 uint8_t Exist_Individual_Priorities;
4556 Individual_Priorities_t Individual_Priorities;
4557} Target_Cell_3G_AdditionsR8_t;
4558
4559typedef struct
4560{
4561 uint8_t Exist_G_RNTI_Extention;
4562 uint8_t G_RNTI_Extention;
4563 uint8_t Exist_AdditionsR8;
4564 Target_Cell_3G_AdditionsR8_t AdditionsR8;
4565} Target_Cell_3G_AdditionsR5_t;
4566
4567typedef struct
4568{
4569 /* 00 -- Message escape */
4570 uint8_t IMMEDIATE_REL;
4571 uint8_t Exist_FDD_Description;
4572 FDD_Target_Cell_t FDD_Target_Cell;
4573 uint8_t Exist_TDD_Description;
4574 TDD_Target_Cell_t TDD_Target_Cell;
4575 uint8_t Exist_AdditionsR5;
4576 Target_Cell_3G_AdditionsR5_t AdditionsR5;
4577} Target_Cell_3G_t;
4578
4579#if 0
4580#define TARGET_CELL_GSM 0
4581#define TARGET_CELL_3G 1
4582#endif
4583
4584typedef struct
4585{
4586 uint8_t MESSAGE_TYPE;
4587 uint8_t PAGE_MODE;
4588
4589 PacketCellChangeOrderID_t ID;
4590
4591 uint8_t UnionType;
4592 union
4593 {
4594 Target_Cell_GSM_t Target_Cell_GSM;
4595 Target_Cell_3G_t Target_Cell_3G;
4596 } u;
4597
4598} Packet_Cell_Change_Order_t;
4599
4600/* < Packet Cell Change Continue message contents > */
4601typedef struct
4602{
4603 uint8_t MESSAGE_TYPE;
4604 uint8_t PAGE_MODE;
4605
4606 Global_TFI_t Global_TFI;
4607 uint8_t Exist_ID;
4608 uint16_t ARFCN;
4609 uint8_t BSIC;
4610 uint8_t CONTAINER_ID;
4611} Packet_Cell_Change_Continue_t;
4612
4613
4614/* < Packet Neighbour Cell Data message contents > */
4615typedef struct
4616{
4617 uint16_t ARFCN;
4618 uint8_t BSIC;
4619 uint8_t CONTAINER[17]; /* PD (3 bits) + CD_LENGTH (5 bits) + 16 bytes of CONTAINER_DATA (max!) */
4620} PNCD_Container_With_ID_t;
4621
4622typedef struct
4623{
4624 uint8_t CONTAINER[19]; /* PD (3 bits) + CD_LENGTH (5 bits) + 18 bytes of CONTAINER_DATA (max!) */
4625} PNCD_Container_Without_ID_t;
4626
4627typedef struct
4628{
4629 uint8_t UnionType;
4630 union
4631 {
4632 PNCD_Container_Without_ID_t PNCD_Container_Without_ID;
4633 PNCD_Container_With_ID_t PNCD_Container_With_ID;
4634 } u;
4635} PNCDContainer_t;
4636
4637typedef struct
4638{
4639 uint8_t MESSAGE_TYPE;
4640 uint8_t PAGE_MODE;
4641 /* Fixed 0 */
4642 Global_TFI_t Global_TFI;
4643 uint8_t CONTAINER_ID;
4644 uint8_t spare;
4645 uint8_t CONTAINER_INDEX;
4646
4647 PNCDContainer_t Container;
4648} Packet_Neighbour_Cell_Data_t;
4649
4650/* < Packet Serving Cell Data message contents > */
4651typedef struct
4652{
4653 uint8_t MESSAGE_TYPE;
4654 uint8_t PAGE_MODE;
4655 /* Fixed 0 */
4656 Global_TFI_t Global_TFI;
4657 uint8_t spare;
4658 uint8_t CONTAINER_INDEX;
4659 uint8_t CONTAINER[19]; /* PD (3 bits) + CD_LENGTH (5 bits) + 18 bytes of CONTAINER_DATA (max!) */
4660} Packet_Serving_Cell_Data_t;
4661
4662/* < Packet Measurement Order message contents > */
4663typedef struct
4664{
4665 uint16_t START_FREQUENCY;
4666 uint8_t NR_OF_FREQUENCIES;
4667 uint8_t FREQ_DIFF_LENGTH;
4668
4669 uint8_t Count_FREQUENCY_DIFF;
4670 uint8_t FREQUENCY_DIFF[31];/* bit (FREQ_DIFF_LENGTH) * NR_OF_FREQUENCIES --> MAX is bit(7) * 31 */
4671} EXT_Frequency_List_t;
4672
4673typedef struct
4674{
4675 uint8_t MESSAGE_TYPE;
4676 uint8_t PAGE_MODE;
4677
4678 PacketDownlinkID_t ID; /* use the PDA ID as it is the same as the PMO */
4679
4680 uint8_t PMO_INDEX;
4681 uint8_t PMO_COUNT;
4682
4683 uint8_t Exist_NC_Measurement_Parameters;
4684 NC_Measurement_Parameters_with_Frequency_List_t NC_Measurement_Parameters;
4685
4686 uint8_t Exist_EXT_Measurement_Parameters;
4687
4688 uint8_t Exist_AdditionsR98;
4689 PMO_AdditionsR98_t AdditionsR98;
4690} Packet_Measurement_Order_t;
4691
4692/* Enhanced measurement report */
4693
4694typedef struct
4695{
4696 uint8_t RXLEV_SERVING_CELL;
4697} ServingCellData_t;
4698
4699typedef struct
4700{
4701 uint8_t BCCH_FREQ_NCELL;
4702 uint8_t BSIC;
4703 uint8_t RXLEV_NCELL;
4704} Repeated_Invalid_BSIC_Info_t;
4705
4706typedef struct
4707{
4708 bool Exist_REPORTING_QUANTITY;
4709 uint8_t REPORTING_QUANTITY;
4710} REPORTING_QUANTITY_t;
4711
4712typedef struct
4713{
4714 uint8_t NC_MODE;
4715 uint8_t UnionType;
4716 union
4717 {
4718 BA_USED_t BA_USED;
4719 uint8_t PSI3_CHANGE_MARK;
4720 } u;
4721 uint8_t PMO_USED;
4722 uint8_t SCALE;
4723 uint8_t Exist_ServingCellData;
4724 ServingCellData_t ServingCellData;
4725 uint8_t Count_Repeated_Invalid_BSIC_Info;
4726 Repeated_Invalid_BSIC_Info_t Repeated_Invalid_BSIC_Info[32];
4727
4728 bool Exist_Repeated_REPORTING_QUANTITY;
4729 uint8_t Count_Repeated_Reporting_Quantity;
4730 REPORTING_QUANTITY_t Repeated_REPORTING_QUANTITY[96];
4731} NC_MeasurementReport_t;
4732
4733/* Packet Handover PHO ----------------- */
4734
4735typedef struct
4736{
4737 uint8_t UnionType;
4738 union
4739 {
4740 uint8_t MS_TimeslotAllocation;
4741 Power_Control_Parameters_t Power_Control_Parameters;
4742 } u;
4743} GlobalTimeslotDescription_t;
4744
4745typedef struct
4746{
4747 uint8_t TimeslotAllocation;
4748 uint8_t PFI;
4749 uint8_t RLC_Mode;
4750 uint8_t TFI_Assignment;
4751 uint8_t ControlACK;
4752 uint8_t Exist_EGPRS_WindowSize;
4753 uint8_t EGPRS_WindowSize;
4754} PHO_DownlinkAssignment_t;
4755
4756typedef struct
4757{
4758 bool Exist_USF;
4759 uint8_t USF;
4760} PHO_USF_1_7_t;
4761
4762typedef struct
4763{
4764 uint8_t USF_0;
4765 PHO_USF_1_7_t USF_1_7[7];
4766 uint8_t NBR_OfAllocatedTimeslots;
4767} USF_AllocationArray_t;
4768
4769typedef struct
4770{
4771 uint8_t PFI;
4772 uint8_t RLC_Mode;
4773 uint8_t TFI_Assignment;
4774 uint8_t Exist_ChannelCodingCommand;
4775 uint8_t ChannelCodingCommand;
4776 uint8_t Exist_EGPRS_ChannelCodingCommand;
4777 uint8_t EGPRS_ChannelCodingCommand;
4778 uint8_t Exist_EGPRS_WindowSize;
4779 uint8_t EGPRS_WindowSize;
4780 uint8_t USF_Granularity;
4781 uint8_t Exist_TBF_TimeslotAllocation;
4782 uint8_t TBF_TimeslotAllocation;
4783 uint8_t UnionType;
4784 union
4785 {
4786 uint8_t USF_SingleAllocation;
4787 USF_AllocationArray_t USF_AllocationArray;
4788 } u;
4789} PHO_UplinkAssignment_t;
4790
4791typedef struct
4792{
4793 GlobalTimeslotDescription_t GlobalTimeslotDescription;
4794 uint8_t Exist_PHO_UA;
4795 PHO_UplinkAssignment_t PHO_UA;
4796} GlobalTimeslotDescription_UA_t;
4797
4798typedef struct
4799{
4800 uint8_t Exist_ChannelCodingCommand;
4801 uint8_t ChannelCodingCommand;
4802 uint8_t Exist_GlobalTimeslotDescription_UA;
4803 GlobalTimeslotDescription_UA_t GTD_UA;
4804 uint8_t Exist_DownlinkAssignment;
4805 PHO_DownlinkAssignment_t DownlinkAssignment;
4806} PHO_GPRS_t;
4807
4808
4809typedef struct
4810{
4811 uint8_t Exist_EGPRS_WindowSize;
4812 uint8_t EGPRS_WindowSize;
4813 uint8_t LinkQualityMeasurementMode;
4814 uint8_t Exist_BEP_Period2;
4815 uint8_t BEP_Period2;
4816} EGPRS_Description_t;
4817
4818typedef struct
4819{
4820 uint8_t Exist_EGPRS_Description;
4821 EGPRS_Description_t EGPRS_Description;
4822 uint8_t Exist_DownlinkAssignment;
4823 PHO_DownlinkAssignment_t DownlinkAssignment;
4824} DownlinkTBF_t;
4825
4826typedef struct
4827{
4828 uint8_t Exist_EGPRS_WindowSize;
4829 uint8_t EGPRS_WindowSize;
4830 uint8_t Exist_EGPRS_ChannelCodingCommand;
4831 uint8_t EGPRS_ChannelCodingCommand;
4832 uint8_t Exist_BEP_Period2;
4833 uint8_t BEP_Period2;
4834 uint8_t Exist_GlobalTimeslotDescription_UA;
4835 GlobalTimeslotDescription_UA_t GTD_UA;
4836 uint8_t Exist_DownlinkTBF;
4837 DownlinkTBF_t DownlinkTBF;
4838} PHO_EGPRS_t;
4839
4840typedef struct
4841{
4842 Global_Packet_Timing_Advance_t GlobalPacketTimingAdvance;
4843 uint8_t Exist_PacketExtendedTimingAdvance;
4844 uint8_t PacketExtendedTimingAdvance;
4845} PHO_TimingAdvance_t;
4846
4847typedef struct
4848{
4849 uint8_t NAS_ContainerLength;
4850 uint8_t Spare_1a;
4851 uint8_t Spare_1b;
4852 uint8_t Spare_1c;
4853 uint8_t Old_XID;
4854 uint8_t Spare_1e;
4855 uint8_t Type_of_Ciphering_Algo;
4856 uint32_t IOV_UI_value;
4857} NAS_Container_For_PS_HO_t;
4858
4859typedef struct
4860{
4861 uint8_t RRC_ContainerLength;
4862} PS_HandoverTo_UTRAN_Payload_t;
4863
4864typedef struct
4865{
4866 uint8_t RRC_ContainerLength;
4867} PS_HandoverTo_E_UTRAN_Payload_t;
4868
4869typedef struct
4870{
4871 uint8_t Exist_HandoverReference;
4872 uint8_t HandoverReference;
4873 uint8_t ARFCN;
4874 uint8_t SI;
4875 uint8_t NCI;
4876 uint8_t BSIC;
4877 uint8_t Exist_CCN_Active;
4878 uint8_t CCN_Active;
4879 uint8_t Exist_CCN_Active_3G;
4880 uint8_t CCN_Active_3G;
4881 uint8_t Exist_CCN_Support_Description;
4882 CCN_Support_Description_t CCN_Support_Description;
4883 Frequency_Parameters_t Frequency_Parameters;
4884 uint8_t NetworkControlOrder;
4885 uint8_t Exist_PHO_TimingAdvance;
4886 PHO_TimingAdvance_t PHO_TimingAdvance;
4887 uint8_t Extended_Dynamic_Allocation;
4888 uint8_t RLC_Reset;
4889 uint8_t Exist_PO_PR;
4890 uint8_t PO;
4891 uint8_t PR_Mode;
4892 uint8_t Exist_UplinkControlTimeslot;
4893 uint8_t UplinkControlTimeslot;
4894 uint8_t UnionType;
4895 union
4896 {
4897 PHO_GPRS_t PHO_GPRS_Mode;
4898 PHO_EGPRS_t PHO_EGPRS_Mode;
4899 } u;
4900} PHO_RadioResources_t;
4901
4902typedef struct
4903{
4904 PHO_RadioResources_t PHO_RadioResources;
4905 uint8_t Exist_NAS_Container;
4906 NAS_Container_For_PS_HO_t NAS_Container;
4907} PS_HandoverTo_A_GB_ModePayload_t;
4908
4909typedef struct
4910{
4911 uint8_t MessageType;
4912 uint8_t PageMode;
4913 Global_TFI_t Global_TFI;
4914 uint8_t ContainerID;
4915 uint8_t UnionType;
4916 union
4917 {
4918 PS_HandoverTo_A_GB_ModePayload_t PS_HandoverTo_A_GB_ModePayload;
4919 PS_HandoverTo_UTRAN_Payload_t PS_HandoverTo_UTRAN_Payload;
4920 PS_HandoverTo_E_UTRAN_Payload_t PS_HandoverTo_E_UTRAN_Payload;
4921 } u;
4922} Packet_Handover_Command_t;
4923
4924/* End Packet Handover */
4925
4926/* Packet Physical Information ----------------- */
4927
4928typedef struct
4929{
4930 uint8_t MessageType;
4931 uint8_t PageMode;
4932 Global_TFI_t Global_TFI;
4933 uint8_t TimingAdvance;
4934} Packet_PhysicalInformation_t;
4935
4936/* End Packet Physical Information */
4937
4938
4939
4940/* ADDITIONAL MS RADIO ACCESS CAPABILITIES -----------------*/
4941typedef struct
4942{
4943 uint8_t UnionType;
4944 union
4945 {
4946 Global_TFI_t Global_TFI;
4947 uint32_t TLLI;
4948 } u;
4949} AdditionalMsRadAccessCapID_t;
4950
4951
4952typedef struct
4953{
4954 uint8_t MESSAGE_TYPE;
4955 uint8_t PayloadType;
4956 uint8_t spare;
4957 uint8_t R;
4958
4959 AdditionalMsRadAccessCapID_t ID;
4960 MS_Radio_Access_capability_t MS_Radio_Access_capability2;
4961} Additional_MS_Rad_Access_Cap_t;
4962
4963/* End ADDITIONAL MS RADIO ACCESS CAPABILITIES */
4964
4965
4966/* Packet Pause -----------------*/
4967
4968typedef struct
4969{
4970 uint8_t MESSAGE_TYPE;
4971
4972 uint32_t TLLI;
4973 uint8_t RAI[48/8];
4974} Packet_Pause_t;
4975
4976/* End Packet Pause */
4977
4978
4979/* < Payload Type Data MAC Header content > */
4980typedef struct
4981{
4982 uint8_t Payload_Type;
4983 uint8_t Countdown_Value;
4984 uint8_t SI;
4985 uint8_t R;
4986} UL_Data_Mac_Header_t;
4987
4988typedef struct
4989{
4990 UL_Data_Mac_Header_t UL_Data_Mac_Header;
4991 uint8_t Spare;
4992 uint8_t PI;
4993 uint8_t TFI;
4994 uint8_t TI;
4995 uint8_t BSN;
4996 uint8_t E;
4997} UL_Data_Block_GPRS_t;
4998
4999typedef struct
5000{
5001 uint8_t MESSAGE_TYPE;
5002 uint8_t CTRL_ACK;
5003}UL_Packet_Control_Ack_11_t;
5004
5005typedef struct
5006{
5007 uint8_t MESSAGE_TYPE;
5008 uint8_t TN_RRBP;
5009 uint8_t CTRL_ACK;
5010}UL_Packet_Control_Ack_TN_RRBP_11_t;
5011
5012typedef struct
5013{
5014 uint8_t MESSAGE_TYPE;
5015 uint8_t CTRL_ACK;
5016}UL_Packet_Control_Ack_8_t;
5017
5018typedef struct
5019{
5020 uint8_t MESSAGE_TYPE;
5021 uint8_t TN_RRBP;
5022 uint8_t CTRL_ACK;
5023}UL_Packet_Control_Ack_TN_RRBP_8_t;
5024
5025typedef struct
5026{
5027 uint8_t Payload_Type;
5028 uint8_t RRBP;
5029 uint8_t S_P;
5030 uint8_t USF;
5031} DL_Data_Mac_Header_t;
5032
5033typedef struct
5034{
5035 DL_Data_Mac_Header_t DL_Data_Mac_Header;
5036 uint8_t Power_Reduction;
5037 uint8_t TFI;
5038 uint8_t FBI;
5039 uint8_t BSN;
5040 uint8_t E;
5041} DL_Data_Block_GPRS_t;
5042
5043typedef struct
5044{
5045 uint8_t TFI;
5046 uint8_t RRBP;
5047 uint8_t ES_P;
5048 uint8_t USF;
5049 uint16_t BSN1;
5050 uint16_t BSN2_offset;
5051 uint8_t Power_Reduction;
5052 uint8_t SPB;
5053 uint8_t CPS;
5054 uint8_t PI;
5055 uint8_t ECS_P;
5056 uint8_t CC;
5057 uint8_t SPARE1;
5058 uint8_t SPARE2;
5059 uint8_t SPARE3;
5060} DL_Data_Block_EGPRS_Header_t;
5061
5062typedef DL_Data_Block_EGPRS_Header_t DL_Data_Block_EGPRS_Header_Type1_t;
5063typedef DL_Data_Block_EGPRS_Header_t DL_Data_Block_EGPRS_Header_Type2_t;
5064typedef DL_Data_Block_EGPRS_Header_t DL_Data_Block_EGPRS_Header_Type3_t;
5065typedef DL_Data_Block_EGPRS_Header_t DL_Data_Block_EC_EGPRS_Header_Type1_t;
5066typedef DL_Data_Block_EGPRS_Header_t DL_Data_Block_EC_EGPRS_Header_Type2_t;
5067typedef DL_Data_Block_EGPRS_Header_t DL_Data_Block_EC_EGPRS_Header_Type3_t;
5068
5069 typedef DL_Data_Block_EGPRS_Header_t DL_Data_Block_EGPRS_Header_Type1_EC_t;
5070
5071typedef struct
5072{
5073 uint8_t TFI;
5074 uint8_t Countdown_Value;
5075 uint8_t SI;
5076 uint8_t R;
5077 uint16_t BSN1;
5078 uint16_t BSN2_offset;
5079 uint8_t PI;
5080 uint8_t RSB;
5081 uint8_t SPB;
5082 uint8_t CPS;
5083 uint8_t FOI;
5084 uint8_t RI;
5085 uint8_t DL_CC_EST;
5086 uint8_t RTLLI;
5087 uint8_t SPARE1;
5088 uint8_t SPARE2;
5089 uint8_t dummy;
5090} UL_Data_Block_EGPRS_Header_t;
5091
5092typedef UL_Data_Block_EGPRS_Header_t UL_Data_Block_EGPRS_Header_Type1_t;
5093typedef UL_Data_Block_EGPRS_Header_t UL_Data_Block_EGPRS_Header_Type2_t;
5094typedef UL_Data_Block_EGPRS_Header_t UL_Data_Block_EGPRS_Header_Type3_t;
5095typedef UL_Data_Block_EGPRS_Header_t UL_Data_Block_EC_EGPRS_Header_Type1_t;
5096typedef UL_Data_Block_EGPRS_Header_t UL_Data_Block_EC_EGPRS_Header_Type2_t;
5097 typedef UL_Data_Block_EGPRS_Header_t UL_Data_Block_EC_EGPRS_Header_Type3_t;
5098
5099typedef struct
5100{
5101 uint8_t DOWNLINK_TFI;
5102 uint8_t Exist_Wait;
5103 uint8_t WAIT_INDICATION;
5104 uint8_t WAIT_INDICATION_SIZE;
5105}
5106 EC_Reject_t;
5107
5108typedef struct
5109{
5110 uint8_t MESSAGE_TYPE;
5111 uint8_t USED_DL_COVERAGE_CLASS;
5112 uint8_t Reject_Count;
5113 EC_Reject_t Reject[16];
5114}
5115 EC_Packet_Access_Reject_t;
5116
5117typedef struct
5118{
5119 uint8_t EC_MA_NUMBER;
5120 uint8_t TSC;
5121 uint8_t Primary_TSC_Set;
5122}
5123 EC_Frequency_Parameters_t;
5124
5125typedef struct {
5126 uint8_t TIMING_ADVANCE_VALUE;
5127} EC_Packet_Timing_Advance_t;
5128
5129typedef struct
5130{
5131 uint8_t MESSAGE_TYPE;
5132 uint8_t USED_DL_COVERAGE_CLASS;
5133 Global_TFI_t Global_TFI;
5134 uint8_t CONTROL_ACK;
5135
5136 bool Exist_Frequency_Parameters;
5137 EC_Frequency_Parameters_t Frequency_Parameters;
5138
5139 uint8_t DL_COVERAGE_CLASS;
5140 uint8_t STARTING_DL_TIMESLOT;
5141 uint8_t TIMESLOT_MULTIPLICATOR;
5142 uint8_t DOWNLINK_TFI_ASSIGNMENT;
5143 uint8_t UL_COVERAGE_CLASS;
5144 uint8_t STARTING_UL_TIMESLOT_OFFSET;
5145
5146 bool Exist_EC_Packet_Timing_Advance;
5147 EC_Packet_Timing_Advance_t EC_Packet_Timing_Advance;
5148
5149 bool Exist_P0_and_PR_MODE;
5150 uint8_t P0;
5151 uint8_t PR_MODE;
5152
5153 bool Exist_GAMMA;
5154 uint8_t GAMMA;
5155
5156 uint8_t ALPHA_Enable;
5157
5158}
5159 EC_Packet_Downlink_Assignment_t;
5160
5161typedef struct
5162{
5163 uint8_t MESSAGE_TYPE;
5164 uint8_t USED_DL_COVERAGE_CLASS;
5165 Global_TFI_t Global_TFI;
5166 uint8_t TYPE_OF_ACK;
5167}
5168 EC_Packet_Polling_Req_t;
5169
5170typedef struct
5171{
5172 uint8_t MESSAGE_TYPE;
5173 uint8_t USED_DL_COVERAGE_CLASS;
5174 Global_TFI_t Global_TFI;
5175
5176 bool Exist_T_AVG_T;
5177 uint8_t T_AVG_T;
5178
5179 bool Exist_EC_Packet_Timing_Advance;
5180 EC_Packet_Timing_Advance_t EC_Packet_Timing_Advance;
5181
5182 bool Exist_GAMMA;
5183 uint8_t GAMMA;
5184}
5185 EC_Packet_Power_Control_Timing_Advance_t;
5186
5187typedef struct
5188{
5189 uint8_t MESSAGE_TYPE;
5190 uint8_t USED_DL_COVERAGE_CLASS;
5191 Global_TFI_t Global_TFI;
5192 uint8_t TBF_RELEASE_CAUSE;
5193
5194 uint8_t Exist_Wait;
5195 uint8_t WAIT_INDICATION;
5196 uint8_t WAIT_INDICATION_SIZE;
5197}
5198 EC_Packet_Tbf_Release_t;
5199
5200typedef struct{
5201 bool Exist_DELAY_NEXT_UL_RLC_DATA_BLOCK;
5202 uint8_t DELAY_NEXT_UL_RLC_DATA_BLOCK;
5203}
5204 FUA_Delay_t;
5205
5206typedef struct
5207{
5208 bool Exist_BSN_OFFSET;
5209 uint8_t BSN_OFFSET;
5210 uint8_t START_FIRST_UL_RLC_DATA_BLOCK;
5211 uint8_t Count_FUA_Delay;
5212 FUA_Delay_t FUA_Delay[16]; /* Max RLC window size */
5213}
5214 PUAN_Fixed_Uplink_Allocation_t;
5215
5216typedef struct{
5217 uint8_t STARTING_SEQUENCE_NUMBER;
5218 uint16_t RECEIVED_BLOCK_BITMAP;
5219}
5220 EC_AckNack_Description_t;
5221
5222typedef struct{
5223 uint8_t STARTING_SEQUENCE_NUMBER;
5224 uint8_t RECEIVED_BLOCK_BITMAP;
5225}
5226 EC_Primary_AckNack_Description_t;
5227
5228typedef struct{
5229 uint32_t CONTENTION_RESOLUTION_TLLI;
5230 EC_Primary_AckNack_Description_t EC_AckNack_Description;
5231}
5232 EC_Primary_AckNack_Description_TLLI_t;
5233
5234typedef struct{
5235 uint32_t CONTENTION_RESOLUTION_rTLLI;
5236 EC_Primary_AckNack_Description_t EC_AckNack_Description;
5237}
5238 EC_Primary_AckNack_Description_rTLLI_t;
5239
5240typedef struct{
5241 uint8_t EC_AckNack_Description_Type;
5242 union
5243 {
5244 EC_AckNack_Description_t EC_AckNack_Description;
5245 EC_Primary_AckNack_Description_TLLI_t EC_Primary_AckNack_Description_TLLI;
5246 EC_Primary_AckNack_Description_rTLLI_t EC_Primary_AckNack_Description_rTLLI;
5247 } u;
5248
5249 PUAN_Fixed_Uplink_Allocation_t PUAN_Fixed_Uplink_Allocation;
5250 uint8_t RESEGMENT;
5251
5252 bool Exist_EGPRS_Channel_Coding_Command;
5253 uint8_t EGPRS_Channel_Coding_Command;
5254
5255 bool Exist_CC_TS;
5256 uint8_t UL_COVERAGE_CLASS;
5257 uint8_t STARTING_UL_TIMESLOT;
5258 uint8_t DL_COVERAGE_CLASS;
5259 uint8_t STARTING_DL_TIMESLOT_OFFSET;
5260 uint8_t TIMESLOT_MULTIPLICATOR;
5261} EC_Packet_Uplink_Ack_Nack_fai0_t;
5262typedef struct{
5263 bool Exist_CONTENTION_RESOLUTION_TLLI;
5264 uint32_t CONTENTION_RESOLUTION_TLLI;
5265
5266 bool Exist_MONITOR_EC_PACCH;
5267 uint8_t T3238;
5268 uint8_t Initial_Waiting_Time;
5269 uint8_t EC_PACCH_Monitoring_Pattern;
5270
5271} EC_Packet_Uplink_Ack_Nack_fai1_t;
5272
5273typedef struct
5274{
5275 uint8_t MESSAGE_TYPE;
5276 uint8_t USED_DL_COVERAGE_CLASS;
5277 uint8_t UPLINK_TFI;
5278 uint8_t Final_Ack_Indicator;
5279 union
5280 {
5281 EC_Packet_Uplink_Ack_Nack_fai0_t fai0;
5282 EC_Packet_Uplink_Ack_Nack_fai1_t fai1;
5283 } u;
5284
5285 bool Exist_EC_Packet_Timing_Advance;
5286 EC_Packet_Timing_Advance_t EC_Packet_Timing_Advance;
5287
5288 bool Exist_GAMMA;
5289 uint8_t GAMMA;
5290 uint8_t ALPHA_Enable;
5291}
5292 EC_Packet_Uplink_Ack_Nack_t;
5293
5294typedef struct
5295{
5296 uint8_t START_FIRST_UL_RLC_DATA_BLOCK;
5297 uint8_t Count_FUA_Delay;
5298 FUA_Delay_t FUA_Delay[16]; /* Max RLC window size */
5299}
5300 Fixed_Uplink_Allocation_t;
5301
5302typedef struct
5303{
5304 uint8_t MESSAGE_TYPE;
5305 uint8_t USED_DL_COVERAGE_CLASS;
5306 Global_TFI_t Global_TFI;
5307
5308 bool Exist_UPLINK_TFI_ASSIGNMENT;
5309 uint8_t UPLINK_TFI_ASSIGNMENT;
5310
5311 bool Exist_EGPRS_Channel_Coding_Command;
5312 uint8_t EGPRS_Channel_Coding_Command;
5313
5314 uint8_t Overlaid_CDMA_Code;
5315
5316 bool Exist_EC_Packet_Timing_Advance;
5317 EC_Packet_Timing_Advance_t EC_Packet_Timing_Advance;
5318
5319 bool Exist_Frequency_Parameters;
5320 EC_Frequency_Parameters_t Frequency_Parameters;
5321
5322 uint8_t UL_COVERAGE_CLASS;
5323 uint8_t STARTING_UL_TIMESLOT;
5324 uint8_t TIMESLOT_MULTIPLICATOR;
5325
5326 Fixed_Uplink_Allocation_t Fixed_Uplink_Allocation;
5327
5328 bool Exist_P0_and_PR_MODE;
5329 uint8_t P0;
5330 uint8_t PR_MODE;
5331
5332 bool Exist_GAMMA;
5333 uint8_t GAMMA;
5334 uint8_t ALPHA_Enable;
5335
5336 uint8_t DL_COVERAGE_CLASS;
5337 uint8_t STARTING_DL_TIMESLOT_OFFSET;
5338
5339}
5340 EC_Packet_Uplink_Assignment_t;
5341
5342typedef struct
5343{
5344 uint8_t MESSAGE_TYPE;
5345 uint8_t USED_DL_COVERAGE_CLASS;
5346 uint8_t UPLINK_TFI;
5347 uint32_t CONTENTION_RESOLUTION_TLLI;
5348 EC_Primary_AckNack_Description_t EC_AckNack_Description;
5349
5350 Fixed_Uplink_Allocation_t PUANCR_Fixed_Uplink_Allocation;
5351 uint8_t RESEGMENT;
5352}
5353 EC_Packet_Uplink_Ack_Nack_And_Contention_Resolution_t;
5354
5355typedef struct
5356{
5357 uint8_t MESSAGE_TYPE;
5358 uint8_t USED_DL_COVERAGE_CLASS;
5359}
5360 EC_Packet_Downlink_Dummy_Control_Block_t;
5361
5362typedef struct
5363{
5364 uint8_t MESSAGE_TYPE;
5365 uint32_t TLLI;
5366 uint8_t CTRL_ACK;
5367 uint8_t DL_CC_EST;
5368}
5369 EC_Packet_Control_Acknowledgement_t;
5370
5371typedef struct
5372{
5373 uint8_t PRIORITY;
5374 uint8_t NUMBER_OF_UL_DATA_BLOCKS;
5375}
5376 EC_Channel_Request_Description_t;
5377
5378typedef struct
5379{
5380 bool Exist_GMSK;
5381 uint8_t GMSK_MEAN_BEP;
5382 uint8_t GMSK_CV_BEP;
5383 bool Exist_8PSK;
5384 uint8_t PSK_MEAN_BEP;
5385 uint8_t PSK_CV_BEP;
5386 uint8_t C_VALUE;
5387}
5388 EC_Channel_Quality_Report_t;
5389
5390typedef struct
5391{
5392 uint8_t MESSAGE_TYPE;
5393 uint8_t DOWNLINK_TFI;
5394 uint8_t MS_OUT_OF_MEMORY;
5395 uint8_t Final_Ack_Indicator;
5396
5397 EC_AckNack_Description_t EC_AckNack_Description;
5398
5399 bool Exist_EC_Channel_Quality_Report; /* DL CC EST is also conditional on this */
5400 EC_Channel_Quality_Report_t EC_Channel_Quality_Report;
5401 uint8_t DL_CC_EST;
5402
5403 bool Exist_EC_Channel_Request_Description;
5404 EC_Channel_Request_Description_t EC_Channel_Request_Description;
5405}
5406 EC_Packet_Downlink_Ack_Nack_t;
5407
5408/*
5409< NC Measurement Parameters struct > ::=
5410 < NETWORK_CONTROL_ORDER : bit (2) >
5411 { 0 | 1 < NC_ NON_DRX_PERIOD : bit (3) >
5412 < NC_REPORTING_PERIOD_I : bit (3) >
5413 < NC_REPORTING_PERIOD_T : bit (3) > } ;
5414< Cell Selection struct > ::=
5415 < EXC_ACC : bit >
5416 < CELL_BAR_ACCESS_2 : bit (1) >
5417 < SAME_RA_AS_SERVING_CELL : bit (1) >
5418 { 0 | 1 < GPRS_RXLEV_ACCESS_MIN : bit (6) >
5419 < GPRS_MS_TXPWR_MAX_CCH : bit (5) > }
5420{ 0 | 1 < GPRS_TEMPORARY_OFFSET : bit (3) >
5421 < GPRS_PENALTY_TIME : bit (5) > }
5422Table 25 (concluded): PACKET CELL CHANGE ORDER message content
5423 { 0 | 1 < GPRS_RESELECT_OFFSET : bit (5) > }
5424{ 0 | 1 < HCS params : < HCS struct > > }
5425{ 0 | 1 < SI13_PBCCH_LOCATION : < SI13_PBCCH_LOCATION struct > > } ;
5426
5427< SI13_PBCCH_LOCATION struct > ::=
5428 { 0 < SI13_LOCATION : bit (1) >
5429 | 1 < PBCCH_LOCATION : bit (2) >
5430 < PSI1_REPEAT_PERIOD : bit (4) > } ;
5431
5432< HCS struct > ::=
5433 < GPRS_PRIORITY_CLASS : bit (3) >
5434 < GPRS_HCS_THR : bit (5) > ;
5435*/
5436
5437/* < Downlink RLC/MAC control message > */
5438#define MT_PACKET_CELL_CHANGE_ORDER 0x01
5439#define MT_PACKET_DOWNLINK_ASSIGNMENT 0x02
5440#define MT_PACKET_MEASUREMENT_ORDER 0x03
5441#define MT_PACKET_POLLING_REQ 0x04
5442#define MT_PACKET_POWER_CONTROL_TIMING_ADVANCE 0x05
5443#define MT_PACKET_QUEUEING_NOTIFICATION 0x06
5444#define MT_PACKET_TIMESLOT_RECONFIGURE 0x07
5445#define MT_PACKET_TBF_RELEASE 0x08
5446#define MT_PACKET_UPLINK_ACK_NACK 0x09
5447#define MT_PACKET_UPLINK_ASSIGNMENT 0x0A
5448#define MT_PACKET_CELL_CHANGE_CONTINUE 0x0B
5449#define MT_PACKET_NEIGHBOUR_CELL_DATA 0x0C
5450#define MT_PACKET_SERVING_CELL_DATA 0x0D
5451#define MT_PACKET_HANDOVER_COMMAND 0x15
5452#define MT_PACKET_PHYSICAL_INFORMATION 0x16
5453#define MT_PACKET_ACCESS_REJECT 0x21
5454#define MT_PACKET_PAGING_REQUEST 0x22
5455#define MT_PACKET_PDCH_RELEASE 0x23
5456#define MT_PACKET_PRACH_PARAMETERS 0x24
5457#define MT_PACKET_DOWNLINK_DUMMY_CONTROL_BLOCK 0x25
5458#define MT_PACKET_SYSTEM_INFO_6 0x30
5459#define MT_PACKET_SYSTEM_INFO_1 0x31
5460#define MT_PACKET_SYSTEM_INFO_2 0x32
5461#define MT_PACKET_SYSTEM_INFO_3 0x33
5462#define MT_PACKET_SYSTEM_INFO_3_BIS 0x34
5463#define MT_PACKET_SYSTEM_INFO_4 0x35
5464#define MT_PACKET_SYSTEM_INFO_5 0x36
5465#define MT_PACKET_SYSTEM_INFO_13 0x37
5466#define MT_PACKET_SYSTEM_INFO_7 0x38
5467#define MT_PACKET_SYSTEM_INFO_8 0x39
5468#define MT_PACKET_SYSTEM_INFO_14 0x3A
5469#define MT_PACKET_SYSTEM_INFO_3_TER 0x3C
5470#define MT_PACKET_SYSTEM_INFO_3_QUATER 0x3D
5471#define MT_PACKET_SYSTEM_INFO_15 0x3E
5472
5473/* < Uplink RLC/MAC control message > */
5474#define MT_PACKET_CELL_CHANGE_FAILURE 0x00
5475#define MT_PACKET_CONTROL_ACK 0x01
5476#define MT_PACKET_DOWNLINK_ACK_NACK 0x02
5477#define MT_PACKET_UPLINK_DUMMY_CONTROL_BLOCK 0x03
5478#define MT_PACKET_MEASUREMENT_REPORT 0x04
5479#define MT_PACKET_RESOURCE_REQUEST 0x05
5480#define MT_PACKET_MOBILE_TBF_STATUS 0x06
5481#define MT_PACKET_PSI_STATUS 0x07
5482#define MT_EGPRS_PACKET_DOWNLINK_ACK_NACK 0x08
5483#define MT_PACKET_PAUSE 0x09
5484#define MT_PACKET_ENHANCED_MEASUREMENT_REPORT 0x0A
5485#define MT_ADDITIONAL_MS_RAC 0x0B
5486#define MT_PACKET_CELL_CHANGE_NOTIFICATION 0x0C
5487#define MT_PACKET_SI_STATUS 0x0D
5488#define MT_ENHANCED_MEASUREMENT_REPORT 0x04
5489
5490/* < Downlink EC-GSM-IoT RLC/MAC control messages > */
5491#define MT_EC_PACKET_ACCESS_REJECT 0x11
5492#define MT_EC_PACKET_DOWNLINK_ASSIGNMENT 0x01
5493#define MT_EC_PACKET_POLLING_REQ 0x02
5494#define MT_EC_PACKET_POWER_CONTROL_TIMING_ADVANCE 0x03
5495#define MT_EC_PACKET_TBF_RELEASE 0x04
5496#define MT_EC_PACKET_UPLINK_ACK_NACK 0x05
5497#define MT_EC_PACKET_UPLINK_ASSIGNMENT 0x06
5498#define MT_EC_PACKET_UPLINK_ACK_NACK_AND_CONTENTION_RESOLUTION 0x07
5499#define MT_EC_PACKET_DOWNLINK_DUMMY_CONTROL_BLOCK 0x12
5500
5501/* < Uplink EC-GSM-IoT RLC/MAC control messages > */
5502#define MT_EC_PACKET_CONTROL_ACKNOWLEDGEMENT 0x01
5503#define MT_EC_PACKET_DOWNLINK_ACK_NACK 0x02
5504
5505typedef enum
5506{
5507 RLCMAC_PRACH = 0x20,
5508 RLCMAC_CS1 = 0x21,
5509 RLCMAC_CS2 = 0x22,
5510 RLCMAC_CS3 = 0x23,
5511 RLCMAC_CS4 = 0x24,
5512 RLCMAC_HDR_TYPE_1 = 0x31,
5513 RLCMAC_HDR_TYPE_2 = 0x32,
5514 RLCMAC_HDR_TYPE_3 = 0x33,
5515 RLCMAC_HDR_TYPE_4 = 0x34,
5516 RLCMAC_HDR_TYPE_5 = 0x35,
5517 RLCMAC_HDR_TYPE_6 = 0x36,
5518 RLCMAC_HDR_TYPE_7 = 0x37,
5519 RLCMAC_HDR_TYPE_8 = 0x38,
5520 RLCMAC_HDR_TYPE_9 = 0x39,
5521 RLCMAC_HDR_TYPE_10 = 0x3a,
5522 RLCMAC_EC_CS1 = 0x40,
5523 RLCMAC_HDR_TYPE_1_EC = 0x41,
5524 RLCMAC_HDR_TYPE_2_EC = 0x42,
5525 RLCMAC_HDR_TYPE_3_EC = 0x43
5526}RLCMAC_block_format_t;
5527
5528/* < Downlink RLC/MAC control message > */
5529typedef struct
5530{
5531 union
5532 {
5533 uint8_t MESSAGE_TYPE;
5534 DL_Data_Block_GPRS_t DL_Data_Block_GPRS;
5535 DL_Data_Block_EGPRS_Header_t DL_Data_Block_EGPRS_Header;
5536 Packet_Access_Reject_t Packet_Access_Reject;
5537 Packet_Cell_Change_Order_t Packet_Cell_Change_Order;
5538 Packet_Cell_Change_Continue_t Packet_Cell_Change_Continue;
5539 Packet_Downlink_Assignment_t Packet_Downlink_Assignment;
5540 Packet_Measurement_Order_t Packet_Measurement_Order;
5541 Packet_Neighbour_Cell_Data_t Packet_Neighbour_Cell_Data;
5542 Packet_Serving_Cell_Data_t Packet_Serving_Cell_Data;
5543 Packet_Paging_Request_t Packet_Paging_Request;
5544 Packet_PDCH_Release_t Packet_PDCH_Release;
5545 Packet_Polling_Request_t Packet_Polling_Request;
5546 Packet_Power_Control_Timing_Advance_t Packet_Power_Control_Timing_Advance;
5547 Packet_PRACH_Parameters_t Packet_PRACH_Parameters;
5548 Packet_Queueing_Notification_t Packet_Queueing_Notification;
5549 Packet_Timeslot_Reconfigure_t Packet_Timeslot_Reconfigure;
5550 Packet_TBF_Release_t Packet_TBF_Release;
5551 Packet_Uplink_Ack_Nack_t Packet_Uplink_Ack_Nack;
5552 Packet_Uplink_Assignment_t Packet_Uplink_Assignment;
5553 Packet_Handover_Command_t Packet_Handover_Command;
5554 Packet_PhysicalInformation_t Packet_PhysicalInformation;
5555 Packet_Downlink_Dummy_Control_Block_t Packet_Downlink_Dummy_Control_Block;
5556 PSI1_t PSI1;
5557 PSI2_t PSI2;
5558 PSI3_t PSI3;
5559 PSI5_t PSI5;
5560 PSI13_t PSI13;
5561 EC_Packet_Access_Reject_t EC_Packet_Access_Reject;
5562 EC_Packet_Downlink_Assignment_t EC_Packet_Downlink_Assignment;
5563 EC_Packet_Polling_Req_t EC_Packet_Polling_Req;
5564 EC_Packet_Power_Control_Timing_Advance_t EC_Packet_Power_Control_Timing_Advance;
5565 EC_Packet_Tbf_Release_t EC_Packet_Tbf_Release;
5566 EC_Packet_Uplink_Ack_Nack_t EC_Packet_Uplink_Ack_Nack;
5567 EC_Packet_Uplink_Assignment_t EC_Packet_Uplink_Assignment;
5568 EC_Packet_Uplink_Ack_Nack_And_Contention_Resolution_t EC_Packet_Uplink_Ack_Nack_And_Contention_Resolution;
5569 EC_Packet_Downlink_Dummy_Control_Block_t EC_Packet_Downlink_Dummy_Control_Block;
5570 } u;
5571
5572 RLCMAC_block_format_t block_format;
5573 unsigned flags;
5574} RlcMacDownlink_t;
5575
5576 typedef int16_t MSGGPRS_Status_t;
5577/* < Uplink RLC/MAC control message > */
5578typedef struct
5579{
5580 union
5581 {
5582 uint8_t MESSAGE_TYPE;
5583 Packet_Cell_Change_Failure_t Packet_Cell_Change_Failure;
5584 Packet_Control_Acknowledgement_t Packet_Control_Acknowledgement;
5585 Packet_Downlink_Ack_Nack_t Packet_Downlink_Ack_Nack;
5586 Packet_Uplink_Dummy_Control_Block_t Packet_Uplink_Dummy_Control_Block;
5587 Packet_Measurement_Report_t Packet_Measurement_Report;
5588 Packet_Resource_Request_t Packet_Resource_Request;
5589 Packet_Mobile_TBF_Status_t Packet_Mobile_TBF_Status;
5590 Packet_PSI_Status_t Packet_PSI_Status;
5591 EGPRS_PD_AckNack_t Egprs_Packet_Downlink_Ack_Nack;
5592 Packet_Pause_t Packet_Pause;
5593 Packet_Enh_Measurement_Report_t Packet_Enh_Measurement_Report;
5594 Additional_MS_Rad_Access_Cap_t Additional_MS_Rad_Access_Cap;
5595 Packet_Cell_Change_Notification_t Packet_Cell_Change_Notification;
5596 Packet_SI_Status_t Packet_SI_Status;
5597 UL_Data_Block_GPRS_t UL_Data_Block_GPRS;
5598 UL_Data_Block_EGPRS_Header_t UL_Data_Block_EGPRS_Header;
5599 UL_Packet_Control_Ack_11_t UL_Packet_Control_Ack_11;
5600 UL_Packet_Control_Ack_TN_RRBP_11_t UL_Packet_Control_Ack_TN_RRBP_11;
5601 UL_Packet_Control_Ack_8_t UL_Packet_Control_Ack_8;
5602 UL_Packet_Control_Ack_TN_RRBP_8_t UL_Packet_Control_Ack_TN_RRBP_8;
5603 EC_Packet_Control_Acknowledgement_t EC_Packet_Control_Acknowledgement;
5604 EC_Packet_Downlink_Ack_Nack_t EC_Packet_Downlink_Ack_Nack;
5605 } u;
5606 RLCMAC_block_format_t block_format;
5607 unsigned flags;
5608} RlcMacUplink_t;
5609
5610typedef struct
5611{
5612 uint16_t bsn1;
5613 uint16_t bsn2;
5614 uint8_t pi;
5615}egprs_ul_header_info_t;
5616
5617typedef struct
5618{
5619 uint16_t bsn1;
5620 uint16_t bsn2;
5621}egprs_dl_header_info_t;
5622
5623typedef struct
5624{
5625 unsigned magic;
5626 RLCMAC_block_format_t block_format;
5627 uint8_t mcs;
5628 unsigned frame_number;
5629#define GSM_RLC_MAC_EGPRS_BLOCK1 0x01
5630#define GSM_RLC_MAC_EGPRS_BLOCK2 0x02
5631#define GSM_RLC_MAC_EGPRS_FANR_FLAG 0x08
5632 unsigned flags;
5633 union
5634 {
5635 egprs_ul_header_info_t egprs_ul_header_info;
5636 egprs_dl_header_info_t egprs_dl_header_info;
5637 }u;
5638} RlcMacPrivateData_t;
5639
5640
5641#if 0
5642void GPRSMSG_Profile(int16_t i);
5643#endif
5644
5645/* SI1_RestOctet_t */
5646
5647typedef struct
5648{
5649 bool Exist_NCH_Position;
5650 uint8_t NCH_Position;
5651
5652 uint8_t BandIndicator;
5653} SI1_RestOctet_t;
5654
5655/* SI3_Rest_Octet_t */
5656typedef struct
5657{
5658 uint8_t CBQ;
5659 uint8_t CELL_RESELECT_OFFSET;
5660 uint8_t TEMPORARY_OFFSET;
5661 uint8_t PENALTY_TIME;
5662} Selection_Parameters_t;
5663
5664typedef struct
5665{
5666 uint8_t Exist_Selection_Parameters;
5667 Selection_Parameters_t Selection_Parameters;
5668
5669 uint8_t Exist_Power_Offset;
5670 uint8_t Power_Offset;
5671
5672 uint8_t System_Information_2ter_Indicator;
5673 uint8_t Early_Classmark_Sending_Control;
5674
5675 uint8_t Exist_WHERE;
5676 uint8_t WHERE;
5677
5678 uint8_t Exist_GPRS_Indicator;
5679 uint8_t RA_COLOUR;
5680 uint8_t SI13_POSITION;
5681 uint8_t ECS_Restriction3G;
5682 uint8_t ExistSI2quaterIndicator;
5683 uint8_t SI2quaterIndicator;
5684} SI3_Rest_Octet_t;
5685
5686typedef struct
5687{
5688 uint8_t Exist_Selection_Parameters;
5689 Selection_Parameters_t Selection_Parameters;
5690
5691 uint8_t Exist_Power_Offset;
5692 uint8_t Power_Offset;
5693
5694 uint8_t Exist_GPRS_Indicator;
5695 uint8_t RA_COLOUR;
5696 uint8_t SI13_POSITION;
5697} SI4_Rest_Octet_t;
5698
5699#if 0
5700typedef SI4_Rest_Octet_t SI7_Rest_Octet_t;
5701typedef SI4_Rest_Octet_t SI8_Rest_Octet_t;
5702#endif
5703
5704/* SI6_RestOctet_t */
5705
5706typedef struct
5707{
5708 uint8_t PagingChannelRestructuring;
5709 uint8_t NLN_SACCH;
5710
5711 bool Exist_CallPriority;
5712 uint8_t CallPriority;
5713
5714 uint8_t NLN_Status;
5715} PCH_and_NCH_Info_t;
5716
5717typedef struct
5718{
5719 bool Exist_PCH_and_NCH_Info;
5720 PCH_and_NCH_Info_t PCH_and_NCH_Info;
5721
5722 bool Exist_VBS_VGCS_Options;
5723 uint8_t VBS_VGCS_Options;
5724
5725 /* The meaning of Exist_DTM_Support is as follows:
5726 * false => DTM is not supported in the serving cell, RAC and MAX_LAPDm are absent in bitstream
5727 * true => DTM is supported in the serving cell, RAC and MAX_LAPDm are present in bitstream
5728 */
5729 bool Exist_DTM_Support;
5730 uint8_t RAC;
5731 uint8_t MAX_LAPDm;
5732
5733 uint8_t BandIndicator; /* bit(1) L/H, L => ARFCN in 1800 band H => ARFCN in 1900 band */
5734} SI6_RestOctet_t;
5735
5736/*************************************************
5737 * Enhanced Measurement Report. TS 04.18 9.1.55. *
5738 *************************************************/
5739
5740typedef struct
5741{
5742 uint8_t DTX_USED;
5743 uint8_t RXLEV_VAL;
5744 uint8_t RX_QUAL_FULL;
5745 uint8_t MEAN_BEP;
5746 uint8_t CV_BEP;
5747 uint8_t NBR_RCVD_BLOCKS;
5748} EMR_ServingCell_t;
5749
5750typedef struct
5751{
5752 uint8_t RR_Short_PD;
5753 uint8_t MESSAGE_TYPE;
5754 uint8_t ShortLayer2_Header;
5755
5756 BA_USED_t BA_USED;
5757 uint8_t BSIC_Seen;
5758
5759 uint8_t SCALE;
5760
5761 uint8_t Exist_ServingCellData;
5762 EMR_ServingCell_t ServingCellData;
5763
5764 uint8_t Count_RepeatedInvalid_BSIC_Info; /* Number of instances */
5765 RepeatedInvalid_BSIC_Info_t RepeatedInvalid_BSIC_Info[INV_BSIC_LIST_LEN];
5766
5767 uint8_t Exist_ReportBitmap;
5768 uint8_t Count_REPORTING_QUANTITY_Instances; /* Number of instances */
5769 REPORTING_QUANTITY_Instance_t REPORTING_QUANTITY_Instances[REPORT_QUANTITY_LIST_LEN];
5770
5771} EnhancedMeasurementReport_t;
5772
5773extern const uint8_t gsm_rlcmac_gprs_cs_to_block_length[];
5774extern const uint8_t gsm_rlcmac_egprs_header_type_to_dl_header_block_length[];
5775extern const uint8_t gsm_rlcmac_egprs_header_type_to_ul_header_block_length[];
5776extern const uint8_t gsm_rlcmac_egprs_mcs_to_data_block_length[];
5777
5778#endif /* __PACKET_GSM_RLCMAC_H__ */
5779
5780/*
5781 * Editor modelines - https://www.wireshark.org/tools/modelines.html
5782 *
5783 * Local Variables:
5784 * c-basic-offset: 2
5785 * tab-width: 8
5786 * indent-tabs-mode: nil
5787 * End:
5788 *
5789 * vi: set shiftwidth=2 tabstop=8 expandtab:
5790 * :indentSize=2:tabSize=8:noTabs=true:
5791 */
ARC_t
Definition packet-gsm_rlcmac.h:1271
ARFCN_index_list_t
Definition packet-gsm_rlcmac.h:406
Ack_Nack_Description_t
Definition packet-gsm_rlcmac.h:63
Add_Frequency_list_t
Definition packet-gsm_rlcmac.h:3257
Add_lu_ModeOnlyFrequencyList_t
Definition packet-gsm_rlcmac.h:4031
Additional_MS_Rad_Access_Cap_t
Definition packet-gsm_rlcmac.h:4951
Additional_access_technologies_struct_t
Definition packet-gsm_rlcmac.h:1229
Additional_access_technologies_t
Definition packet-gsm_rlcmac.h:1236
AdditionalMsRadAccessCapID_t
Definition packet-gsm_rlcmac.h:4940
BA_IND_t
Definition packet-gsm_rlcmac.h:3302
BA_USED_t
Definition packet-gsm_rlcmac.h:3308
BAIndexStartRTD_t
Definition packet-gsm_rlcmac.h:3739
BEP_MeasurementReport_t
Definition packet-gsm_rlcmac.h:1383
BEP_MeasurementReport_type2_t
Definition packet-gsm_rlcmac.h:1483
BSICDesc_t
Definition packet-gsm_rlcmac.h:3711
BSICList_t
Definition packet-gsm_rlcmac.h:3720
Bitmap_Report_Quantity_t
Definition packet-gsm_rlcmac.h:3514
CCN_Measurement_Report_t
Definition packet-gsm_rlcmac.h:3553
CCN_Support_Description_t
Definition packet-gsm_rlcmac.h:212
CDMA2000_Description_t
Definition packet-gsm_rlcmac.h:3847
CHANGE_MARK_t
Definition packet-gsm_rlcmac.h:1961
COMPACT_Cell_Sel_t
Definition packet-gsm_rlcmac.h:2903
COMPACT_Info_t
Definition packet-gsm_rlcmac.h:2941
COMPACT_Neighbour_Cell_Param_Remaining_t
Definition packet-gsm_rlcmac.h:2925
COMPACT_Neighbour_Cell_Param_t
Definition packet-gsm_rlcmac.h:2932
COMPACT_ReducedMA_t
Definition packet-gsm_rlcmac.h:2144
CSG_Cells_Reporting_Desp_t
Definition packet-gsm_rlcmac.h:4316
Cell_Allocation_t
Definition packet-gsm_rlcmac.h:2696
Cell_Identification_t
Definition packet-gsm_rlcmac.h:2746
Cell_Selection_2_t
Definition packet-gsm_rlcmac.h:3216
Cell_Selection_Params_With_FreqDiff_t
Definition packet-gsm_rlcmac.h:2877
Cell_Selection_t
Definition packet-gsm_rlcmac.h:2851
CellSelectionParamsWithFreqDiff_t
Definition packet-gsm_rlcmac.h:3247
Channel_Description_t
Definition packet-gsm_rlcmac.h:513
Channel_Group_t
Definition packet-gsm_rlcmac.h:3006
Channel_List_t
Definition packet-gsm_rlcmac.h:3018
Channel_Quality_Report_t
Definition packet-gsm_rlcmac.h:118
Channel_Request_Description_t
Definition packet-gsm_rlcmac.h:137
Common_Timeslot_Reconfigure_t
Definition packet-gsm_rlcmac.h:2522
Common_Uplink_Ack_Nack_Data_t
Definition packet-gsm_rlcmac.h:1862
Content_t
Definition packet-gsm_rlcmac.h:1119
DL_Data_Block_EGPRS_Header_t
Definition packet-gsm_rlcmac.h:5042
DL_Data_Block_GPRS_t
Definition packet-gsm_rlcmac.h:5032
DL_Data_Mac_Header_t
Definition packet-gsm_rlcmac.h:5024
DTM_Channel_Request_Description_t
Definition packet-gsm_rlcmac.h:2276
DTM_DL_t
Definition packet-gsm_rlcmac.h:2385
DTM_Dynamic_Allocation_t
Definition packet-gsm_rlcmac.h:2049
DTM_EGPRS_HighMultislotClass_t
Definition packet-gsm_rlcmac.h:1080
DTM_EGPRS_t
Definition packet-gsm_rlcmac.h:1074
DTM_GPRS_B_t
Definition packet-gsm_rlcmac.h:2396
DTM_GPRS_Broadcast_Information_t
Definition packet-gsm_rlcmac.h:2390
DTM_Packet_Downlink_Assignment_t
Definition packet-gsm_rlcmac.h:2358
DTM_Packet_Uplink_Assignment_t
Definition packet-gsm_rlcmac.h:2249
DTM_Single_Block_Allocation_t
Definition packet-gsm_rlcmac.h:2089
DTM_UL_t
Definition packet-gsm_rlcmac.h:2270
Delete_All_Stored_Individual_Priorities_t
Definition packet-gsm_rlcmac.h:4333
Direct_encoding_1_t
Definition packet-gsm_rlcmac.h:1977
Direct_encoding_2_t
Definition packet-gsm_rlcmac.h:1983
DownlinkDualCarrierCapability_r7_t
Definition packet-gsm_rlcmac.h:1086
DownlinkTBF_t
Definition packet-gsm_rlcmac.h:4817
Dynamic_Allocation_t
Definition packet-gsm_rlcmac.h:2022
DynamicAllocation_t
Definition packet-gsm_rlcmac.h:586
EC_AckNack_Description_t
Definition packet-gsm_rlcmac.h:5214
EC_Channel_Quality_Report_t
Definition packet-gsm_rlcmac.h:5377
EC_Channel_Request_Description_t
Definition packet-gsm_rlcmac.h:5370
EC_Frequency_Parameters_t
Definition packet-gsm_rlcmac.h:5116
EC_Packet_Access_Reject_t
Definition packet-gsm_rlcmac.h:5107
EC_Packet_Control_Acknowledgement_t
Definition packet-gsm_rlcmac.h:5361
EC_Packet_Downlink_Ack_Nack_t
Definition packet-gsm_rlcmac.h:5389
EC_Packet_Downlink_Assignment_t
Definition packet-gsm_rlcmac.h:5128
EC_Packet_Downlink_Dummy_Control_Block_t
Definition packet-gsm_rlcmac.h:5354
EC_Packet_Polling_Req_t
Definition packet-gsm_rlcmac.h:5160
EC_Packet_Power_Control_Timing_Advance_t
Definition packet-gsm_rlcmac.h:5169
EC_Packet_Tbf_Release_t
Definition packet-gsm_rlcmac.h:5186
EC_Packet_Timing_Advance_t
Definition packet-gsm_rlcmac.h:5123
EC_Packet_Uplink_Ack_Nack_And_Contention_Resolution_t
Definition packet-gsm_rlcmac.h:5341
EC_Packet_Uplink_Ack_Nack_fai0_t
Definition packet-gsm_rlcmac.h:5238
EC_Packet_Uplink_Ack_Nack_fai1_t
Definition packet-gsm_rlcmac.h:5260
EC_Packet_Uplink_Ack_Nack_t
Definition packet-gsm_rlcmac.h:5272
EC_Packet_Uplink_Assignment_t
Definition packet-gsm_rlcmac.h:5301
EC_Primary_AckNack_Description_TLLI_t
Definition packet-gsm_rlcmac.h:5226
EC_Primary_AckNack_Description_rTLLI_t
Definition packet-gsm_rlcmac.h:5232
EC_Primary_AckNack_Description_t
Definition packet-gsm_rlcmac.h:5220
EC_Reject_t
Definition packet-gsm_rlcmac.h:5098
EDGE_RF_Pwr_t
Definition packet-gsm_rlcmac.h:1263
EGPRS_AckNack_Desc_t
Definition packet-gsm_rlcmac.h:435
EGPRS_AckNack_t
Definition packet-gsm_rlcmac.h:451
EGPRS_AckNack_w_len_t
Definition packet-gsm_rlcmac.h:457
EGPRS_BEP_LinkQualityMeasurements_t
Definition packet-gsm_rlcmac.h:1409
EGPRS_BEP_LinkQualityMeasurements_type2_t
Definition packet-gsm_rlcmac.h:1451
EGPRS_ChannelQualityReport_t
Definition packet-gsm_rlcmac.h:1828
EGPRS_Description_t
Definition packet-gsm_rlcmac.h:4808
EGPRS_OnePhaseAccess_t
Definition packet-gsm_rlcmac.h:611
EGPRS_PD_AckNack_t
Definition packet-gsm_rlcmac.h:1835
EGPRS_TimeslotLinkQualityMeasurements_t
Definition packet-gsm_rlcmac.h:1400
EGPRS_TimeslotLinkQualityMeasurements_type2_t
Definition packet-gsm_rlcmac.h:1497
EGPRS_TwoPhaseAccess_t
Definition packet-gsm_rlcmac.h:596
EMR_ServingCell_t
Definition packet-gsm_rlcmac.h:5739
ENH_GPRSMeasurementParams3G_PCCO_t
Definition packet-gsm_rlcmac.h:3791
ENH_GPRSMeasurementParams3G_PMO_t
Definition packet-gsm_rlcmac.h:3774
ENH_Measurement_Parameters_PCCO_t
Definition packet-gsm_rlcmac.h:3941
ENH_Measurement_Parameters_PMO_t
Definition packet-gsm_rlcmac.h:3914
ENH_NC_Measurement_Report_t
Definition packet-gsm_rlcmac.h:3480
ENH_Reporting_Parameters_t
Definition packet-gsm_rlcmac.h:3061
EUTRAN_CSG_Cells_Reporting_Desp_t
Definition packet-gsm_rlcmac.h:4306
EUTRAN_CSG_Description_Body_t
Definition packet-gsm_rlcmac.h:4240
EUTRAN_CSG_Description_t
Definition packet-gsm_rlcmac.h:4247
EUTRAN_CSG_Measurement_Report_t
Definition packet-gsm_rlcmac.h:3383
EUTRAN_CSG_Target_Cell_t
Definition packet-gsm_rlcmac.h:1743
EUTRAN_FREQUENCY_INDEX_t
Definition packet-gsm_rlcmac.h:4153
EUTRAN_Individual_Priority_Parameters_Description_t
Definition packet-gsm_rlcmac.h:4376
EUTRAN_Measurement_Report_Body_t
Definition packet-gsm_rlcmac.h:3402
EUTRAN_Measurement_Report_t
Definition packet-gsm_rlcmac.h:3409
EUTRAN_ParametersDescription_PMO_t
Definition packet-gsm_rlcmac.h:4174
EUTRAN_REPORTING_THRESHOLD_OFFSET_t
Definition packet-gsm_rlcmac.h:4080
EUTRAN_Target_Cell_t
Definition packet-gsm_rlcmac.h:1728
EXT_Frequency_List_t
Definition packet-gsm_rlcmac.h:4662
EXT_Measurement_Report_t
Definition packet-gsm_rlcmac.h:3351
Enh_Cell_Reselect_Param_Desp_t
Definition packet-gsm_rlcmac.h:4291
EnhancedMeasurementReport_t
Definition packet-gsm_rlcmac.h:5749
Eutran_Ccn_Measurement_Report_Cell_t
Definition packet-gsm_rlcmac.h:3604
Eutran_Ccn_Measurement_Report_t
Definition packet-gsm_rlcmac.h:3611
Ext_Channel_Request_desc_t
Definition packet-gsm_rlcmac.h:1438
Extension_Bits_t
Definition packet-gsm_rlcmac.h:865
FDD_Target_Cell_Notif_t
Definition packet-gsm_rlcmac.h:3569
FDD_Target_Cell_t
Definition packet-gsm_rlcmac.h:1709
FUA_Delay_t
Definition packet-gsm_rlcmac.h:5198
Fixed_Allocation_Parameters_t
Definition packet-gsm_rlcmac.h:1885
Fixed_Uplink_Allocation_t
Definition packet-gsm_rlcmac.h:5293
Frequency_Parameters_t
Definition packet-gsm_rlcmac.h:1991
GPRS_AdditionalMeasurementParams3G_t
Definition packet-gsm_rlcmac.h:298
GPRS_Cell_Options_t
Definition packet-gsm_rlcmac.h:933
GPRS_DynamicOrFixedAllocation_t
Definition packet-gsm_rlcmac.h:694
GPRS_EUTRAN_MeasurementParametersDescription_t
Definition packet-gsm_rlcmac.h:4097
GPRS_Mobile_Allocation_t
Definition packet-gsm_rlcmac.h:412
GPRS_Power_Control_Parameters_t
Definition packet-gsm_rlcmac.h:952
GPRS_SingleBlockAllocation_t
Definition packet-gsm_rlcmac.h:679
GPRSMeasurementParams3G_PSI5_t
Definition packet-gsm_rlcmac.h:3043
GPRSMeasurementParams3G_t
Definition packet-gsm_rlcmac.h:3807
Gen_Cell_Sel_t
Definition packet-gsm_rlcmac.h:2821
Global_Packet_Timing_Advance_t
Definition packet-gsm_rlcmac.h:103
Global_Power_Control_Parameters_t
Definition packet-gsm_rlcmac.h:92
Global_TFI_t
Definition packet-gsm_rlcmac.h:43
GlobalTimeslotDescription_UA_t
Definition packet-gsm_rlcmac.h:4790
GlobalTimeslotDescription_t
Definition packet-gsm_rlcmac.h:4734
GlobalTimingAndPower_t
Definition packet-gsm_rlcmac.h:2472
GlobalTimingOrPower_t
Definition packet-gsm_rlcmac.h:2478
Group_Call_Reference_t
Definition packet-gsm_rlcmac.h:475
Group_Call_information_t
Definition packet-gsm_rlcmac.h:536
Group_Channel_Description_t
Definition packet-gsm_rlcmac.h:527
HCS_t
Definition packet-gsm_rlcmac.h:2803
Hopping_PCCCH_Carriers_t
Definition packet-gsm_rlcmac.h:2720
HoppingPCCCH_t
Definition packet-gsm_rlcmac.h:2726
IA_EGPRS_00_t
Definition packet-gsm_rlcmac.h:646
IA_EGPRS_t
Definition packet-gsm_rlcmac.h:661
IA_FreqParamsBeforeTime_t
Definition packet-gsm_rlcmac.h:672
IA_PacketAssignment_UL_DL_t
Definition packet-gsm_rlcmac.h:785
IA_PacketAssignment_t
Definition packet-gsm_rlcmac.h:795
IU_Mode_Channel_Request_Desk_RNTI_t
Definition packet-gsm_rlcmac.h:1431
IU_Mode_Channel_Request_Desk_t
Definition packet-gsm_rlcmac.h:1419
Indirect_encoding_t
Definition packet-gsm_rlcmac.h:1968
Individual_Priorities_t
Definition packet-gsm_rlcmac.h:4395
Individual_UTRAN_Priority_FDD_t
Definition packet-gsm_rlcmac.h:4338
Individual_UTRAN_Priority_TDD_t
Definition packet-gsm_rlcmac.h:4344
InterferenceMeasurementReport_t
Definition packet-gsm_rlcmac.h:1394
InterferenceMeasurementReport_type2_t
Definition packet-gsm_rlcmac.h:1491
LSA_ID_Info_Element_t
Definition packet-gsm_rlcmac.h:218
LSA_ID_Info_t
Definition packet-gsm_rlcmac.h:230
LSA_Parameters_t
Definition packet-gsm_rlcmac.h:238
Location_Repeat_t
Definition packet-gsm_rlcmac.h:2835
MS_Class3_Unpacked_t
Definition packet-gsm_rlcmac.h:1288
MS_RA_capability_value_t
Definition packet-gsm_rlcmac.h:1244
MS_Radio_Access_capability_t
Definition packet-gsm_rlcmac.h:1256
Meas_Ctrl_Param_Desp_t
Definition packet-gsm_rlcmac.h:4253
Measurement_Mapping_struct_t
Definition packet-gsm_rlcmac.h:2285
MeasurementParams_t
Definition packet-gsm_rlcmac.h:261
Measurements_3G_t
Definition packet-gsm_rlcmac.h:3367
MobileAllocation_or_Frequency_Short_List_t
Definition packet-gsm_rlcmac.h:491
MobileAllocation_t
Definition packet-gsm_rlcmac.h:398
MobileAllocationIE_t
Definition packet-gsm_rlcmac.h:485
MobileId
Definition packet-gsm_rlcmac.h:322
MultiBlock_Allocation_t
Definition packet-gsm_rlcmac.h:2153
Multiband_t
Definition packet-gsm_rlcmac.h:1278
MultiratParams3G_t
Definition packet-gsm_rlcmac.h:3765
Multislot_capability_t
Definition packet-gsm_rlcmac.h:1092
N1_t
Definition packet-gsm_rlcmac.h:3835
N2_t
Definition packet-gsm_rlcmac.h:3828
NAS_Container_For_PS_HO_t
Definition packet-gsm_rlcmac.h:4846
NC_Frequency_list_t
Definition packet-gsm_rlcmac.h:3277
NC_Measurement_Parameters_t
Definition packet-gsm_rlcmac.h:305
NC_Measurement_Parameters_with_Frequency_List_t
Definition packet-gsm_rlcmac.h:3288
NC_Measurement_Report_t
Definition packet-gsm_rlcmac.h:3340
NC_MeasurementReport_t
Definition packet-gsm_rlcmac.h:4711
NC_Measurements_t
Definition packet-gsm_rlcmac.h:3319
NC_lu_ModeOnlyCapableCellList_t
Definition packet-gsm_rlcmac.h:4045
NeighbourCellDescription3G_PCCO_t
Definition packet-gsm_rlcmac.h:3900
NeighbourCellDescription3G_PMO_t
Definition packet-gsm_rlcmac.h:3884
NeighbourCellList_t
Definition packet-gsm_rlcmac.h:2895
NeighbourCellParameters_t
Definition packet-gsm_rlcmac.h:2885
Non_GPRS_Cell_Options_t
Definition packet-gsm_rlcmac.h:2753
Non_Hopping_PCCCH_Carriers_t
Definition packet-gsm_rlcmac.h:2708
NonHoppingPCCCH_t
Definition packet-gsm_rlcmac.h:2714
OffsetThreshold_t
Definition packet-gsm_rlcmac.h:254
P1_Rest_Octets_t
Definition packet-gsm_rlcmac.h:544
P2_Rest_Octets_t
Definition packet-gsm_rlcmac.h:563
PBCCH_Description_t
Definition packet-gsm_rlcmac.h:971
PBCCH_Not_present_t
Definition packet-gsm_rlcmac.h:961
PBCCH_present_t
Definition packet-gsm_rlcmac.h:986
PCCCH_Description_t
Definition packet-gsm_rlcmac.h:2734
PCCCH_Organization_t
Definition packet-gsm_rlcmac.h:2641
PCCF_AdditionsR5_t
Definition packet-gsm_rlcmac.h:1767
PCCF_AdditionsR8_t
Definition packet-gsm_rlcmac.h:1759
PCCF_AdditionsR99_t
Definition packet-gsm_rlcmac.h:1775
PCCF_AdditionsR9_t
Definition packet-gsm_rlcmac.h:1751
PCCN_AdditionsR6_t
Definition packet-gsm_rlcmac.h:3673
PCCO_AdditionsR4_t
Definition packet-gsm_rlcmac.h:4495
PCCO_AdditionsR5_t
Definition packet-gsm_rlcmac.h:4471
PCCO_AdditionsR6_t
Definition packet-gsm_rlcmac.h:4451
PCCO_AdditionsR98_t
Definition packet-gsm_rlcmac.h:4530
PCCO_AdditionsR99_t
Definition packet-gsm_rlcmac.h:4506
PCH_and_NCH_Info_t
Definition packet-gsm_rlcmac.h:5705
PCID_Group_IE_t
Definition packet-gsm_rlcmac.h:4141
PCID_Pattern_t
Definition packet-gsm_rlcmac.h:4134
PCID_t
Definition packet-gsm_rlcmac.h:4129
PD_AckNack_AdditionsR99_t
Definition packet-gsm_rlcmac.h:1802
PD_IA_AdditionsR99_t
Definition packet-gsm_rlcmac.h:740
PDA_AdditionsR99_t
Definition packet-gsm_rlcmac.h:2302
PEMR_AdditionsR5_t
Definition packet-gsm_rlcmac.h:3530
PEMR_AdditionsR8_t
Definition packet-gsm_rlcmac.h:3520
PEMR_AdditionsR9_t
Definition packet-gsm_rlcmac.h:3506
PHO_DownlinkAssignment_t
Definition packet-gsm_rlcmac.h:4744
PHO_EGPRS_t
Definition packet-gsm_rlcmac.h:4825
PHO_GPRS_t
Definition packet-gsm_rlcmac.h:4797
PHO_RadioResources_t
Definition packet-gsm_rlcmac.h:4868
PHO_TimingAdvance_t
Definition packet-gsm_rlcmac.h:4839
PHO_USF_1_7_t
Definition packet-gsm_rlcmac.h:4755
PHO_UplinkAssignment_t
Definition packet-gsm_rlcmac.h:4768
PLMN_t
Definition packet-gsm_rlcmac.h:173
PMO_AdditionsR4_t
Definition packet-gsm_rlcmac.h:4486
PMO_AdditionsR5_t
Definition packet-gsm_rlcmac.h:4456
PMO_AdditionsR6_t
Definition packet-gsm_rlcmac.h:4444
PMO_AdditionsR7_t
Definition packet-gsm_rlcmac.h:4430
PMO_AdditionsR8_t
Definition packet-gsm_rlcmac.h:4405
PMO_AdditionsR98_t
Definition packet-gsm_rlcmac.h:4521
PMO_AdditionsR99_t
Definition packet-gsm_rlcmac.h:4513
PMO_AdditionsR9_t
Definition packet-gsm_rlcmac.h:4324
PMR_AdditionsR5_t
Definition packet-gsm_rlcmac.h:3423
PMR_AdditionsR8_t
Definition packet-gsm_rlcmac.h:3415
PMR_AdditionsR99_t
Definition packet-gsm_rlcmac.h:3431
PMR_AdditionsR9_t
Definition packet-gsm_rlcmac.h:3394
PNCD_Container_With_ID_t
Definition packet-gsm_rlcmac.h:4614
PNCD_Container_Without_ID_t
Definition packet-gsm_rlcmac.h:4621
PNCDContainer_t
Definition packet-gsm_rlcmac.h:4626
PRACH_Control_t
Definition packet-gsm_rlcmac.h:2630
PRR_AdditionsR10_t
Definition packet-gsm_rlcmac.h:1515
PRR_AdditionsR12_t
Definition packet-gsm_rlcmac.h:1508
PRR_AdditionsR5_t
Definition packet-gsm_rlcmac.h:1549
PRR_AdditionsR6_t
Definition packet-gsm_rlcmac.h:1539
PRR_AdditionsR7_t
Definition packet-gsm_rlcmac.h:1524
PRR_AdditionsR99_t
Definition packet-gsm_rlcmac.h:1562
PS_HandoverTo_A_GB_ModePayload_t
Definition packet-gsm_rlcmac.h:4901
PS_HandoverTo_E_UTRAN_Payload_t
Definition packet-gsm_rlcmac.h:4863
PS_HandoverTo_UTRAN_Payload_t
Definition packet-gsm_rlcmac.h:4858
PSC_Group_t
Definition packet-gsm_rlcmac.h:4219
PSC_Pattern_t
Definition packet-gsm_rlcmac.h:4212
PSI13_AdditionR99
Definition packet-gsm_rlcmac.h:3138
PSI13_AdditionsR4
Definition packet-gsm_rlcmac.h:3129
PSI13_AdditionsR6
Definition packet-gsm_rlcmac.h:3120
PSI13_t
Definition packet-gsm_rlcmac.h:3147
PSI1_AdditionsR6_t
Definition packet-gsm_rlcmac.h:2649
PSI1_AdditionsR99_t
Definition packet-gsm_rlcmac.h:2654
PSI1_t
Definition packet-gsm_rlcmac.h:2663
PSI2_MA_t
Definition packet-gsm_rlcmac.h:2702
PSI2_t
Definition packet-gsm_rlcmac.h:2776
PSI3_AdditionR4_t
Definition packet-gsm_rlcmac.h:2948
PSI3_AdditionR98_t
Definition packet-gsm_rlcmac.h:2962
PSI3_AdditionR99_t
Definition packet-gsm_rlcmac.h:2954
PSI3_BIS_t
Definition packet-gsm_rlcmac.h:2988
PSI3_t
Definition packet-gsm_rlcmac.h:2971
PSI4_t
Definition packet-gsm_rlcmac.h:3028
PSI5_AdditionsR5
Definition packet-gsm_rlcmac.h:3083
PSI5_AdditionsR7
Definition packet-gsm_rlcmac.h:3075
PSI5_AdditionsR99
Definition packet-gsm_rlcmac.h:3091
PSI5_t
Definition packet-gsm_rlcmac.h:3099
PSI_Message_List_t
Definition packet-gsm_rlcmac.h:1644
PSI_Message_t
Definition packet-gsm_rlcmac.h:1637
PTR_EGPRS_00_t
Definition packet-gsm_rlcmac.h:2564
PTR_EGPRS_t
Definition packet-gsm_rlcmac.h:2593
PTR_GPRS_AdditionsR99_t
Definition packet-gsm_rlcmac.h:2541
PTR_GPRS_t
Definition packet-gsm_rlcmac.h:2547
PU_AckNack_EGPRS_00_t
Definition packet-gsm_rlcmac.h:1907
PU_AckNack_EGPRS_t
Definition packet-gsm_rlcmac.h:1926
PU_AckNack_GPRS_AdditionsR99_t
Definition packet-gsm_rlcmac.h:1877
PU_AckNack_GPRS_t
Definition packet-gsm_rlcmac.h:1893
PU_IA_AdditionsR99_t
Definition packet-gsm_rlcmac.h:721
PUA_EGPRS_00_t
Definition packet-gsm_rlcmac.h:2170
PUA_EGPRS_t
Definition packet-gsm_rlcmac.h:2209
PUA_GPRS_AdditionsR99_t
Definition packet-gsm_rlcmac.h:2116
PUA_GPRS_t
Definition packet-gsm_rlcmac.h:2122
PUAN_Fixed_Uplink_Allocation_t
Definition packet-gsm_rlcmac.h:5205
Packet_Access_Reject_t
Definition packet-gsm_rlcmac.h:3205
Packet_Cell_Change_Continue_t
Definition packet-gsm_rlcmac.h:4600
Packet_Cell_Change_Failure_t
Definition packet-gsm_rlcmac.h:1786
Packet_Cell_Change_Notification_t
Definition packet-gsm_rlcmac.h:3683
Packet_Cell_Change_Order_t
Definition packet-gsm_rlcmac.h:4583
Packet_Control_Acknowledgement_AdditionsR5_t
Definition packet-gsm_rlcmac.h:1018
Packet_Control_Acknowledgement_AdditionsR6_t
Definition packet-gsm_rlcmac.h:1012
Packet_Control_Acknowledgement_t
Definition packet-gsm_rlcmac.h:1028
Packet_Downlink_Ack_Nack_t
Definition packet-gsm_rlcmac.h:1808
Packet_Downlink_Assignment_t
Definition packet-gsm_rlcmac.h:2317
Packet_Downlink_Dummy_Control_Block_t
Definition packet-gsm_rlcmac.h:1051
Packet_Downlink_ImmAssignment_t
Definition packet-gsm_rlcmac.h:749
Packet_Enh_Measurement_Report_t
Definition packet-gsm_rlcmac.h:3538
Packet_Handover_Command_t
Definition packet-gsm_rlcmac.h:4908
Packet_Measurement_Order_t
Definition packet-gsm_rlcmac.h:4672
Packet_Measurement_Report_t
Definition packet-gsm_rlcmac.h:3454
Packet_Mobile_TBF_Status_t
Definition packet-gsm_rlcmac.h:1622
Packet_Neighbour_Cell_Data_t
Definition packet-gsm_rlcmac.h:4636
Packet_PDCH_Release_t
Definition packet-gsm_rlcmac.h:2452
Packet_PRACH_Parameters_t
Definition packet-gsm_rlcmac.h:3175
Packet_PSI_Status_t
Definition packet-gsm_rlcmac.h:1657
Packet_Paging_Request_t
Definition packet-gsm_rlcmac.h:2437
Packet_Pause_t
Definition packet-gsm_rlcmac.h:4967
Packet_PhysicalInformation_t
Definition packet-gsm_rlcmac.h:4927
Packet_Polling_Request_t
Definition packet-gsm_rlcmac.h:854
Packet_Power_Control_Timing_Advance_t
Definition packet-gsm_rlcmac.h:2488
Packet_Queueing_Notification_t
Definition packet-gsm_rlcmac.h:2508
Packet_Request_Reference_t
Definition packet-gsm_rlcmac.h:146
Packet_Resource_Request_t
Definition packet-gsm_rlcmac.h:1590
Packet_SI_Status_t
Definition packet-gsm_rlcmac.h:1695
Packet_Serving_Cell_Data_t
Definition packet-gsm_rlcmac.h:4650
Packet_TBF_Release_t
Definition packet-gsm_rlcmac.h:1001
Packet_Timeslot_Reconfigure_t
Definition packet-gsm_rlcmac.h:2613
Packet_Timing_Advance_t
Definition packet-gsm_rlcmac.h:71
Packet_Uplink_Ack_Nack_t
Definition packet-gsm_rlcmac.h:1946
Packet_Uplink_Assignment_t
Definition packet-gsm_rlcmac.h:2229
Packet_Uplink_Dummy_Control_Block_t
Definition packet-gsm_rlcmac.h:1061
Packet_Uplink_ImmAssignment_t
Definition packet-gsm_rlcmac.h:727
PacketCellChangeOrderID_t
Definition packet-gsm_rlcmac.h:3968
PacketDownlinkID_t
Definition packet-gsm_rlcmac.h:2292
PacketPollingID_t
Definition packet-gsm_rlcmac.h:843
PacketPowerControlTimingAdvanceID_t
Definition packet-gsm_rlcmac.h:2461
PacketResourceRequestID_t
Definition packet-gsm_rlcmac.h:1580
PacketUplinkID_t
Definition packet-gsm_rlcmac.h:2104
Page_request_for_RR_conn_t
Definition packet-gsm_rlcmac.h:2412
Page_request_for_TBF_establishment_t
Definition packet-gsm_rlcmac.h:2402
Power_Control_Parameters_t
Definition packet-gsm_rlcmac.h:81
PriorityAndEUTRAN_ParametersDescription_PMO_t
Definition packet-gsm_rlcmac.h:4200
PriorityParametersDescription3G_PMO_t
Definition packet-gsm_rlcmac.h:4069
Provide_Individual_Priorities_t
Definition packet-gsm_rlcmac.h:4384
REPORTING_QUANTITY_Instance_t
Definition packet-gsm_rlcmac.h:3334
REPORTING_QUANTITY_t
Definition packet-gsm_rlcmac.h:4705
RFHoppingChannel_t
Definition packet-gsm_rlcmac.h:507
RTDList_t
Definition packet-gsm_rlcmac.h:3747
RTDValues_t
Definition packet-gsm_rlcmac.h:3733
RealTimeDiffs_t
Definition packet-gsm_rlcmac.h:3754
Reference_Frequency_t
Definition packet-gsm_rlcmac.h:2688
Reject_t
Definition packet-gsm_rlcmac.h:3196
RejectID_t
Definition packet-gsm_rlcmac.h:3185
Removed3GCellDescription_t
Definition packet-gsm_rlcmac.h:3841
Removed_Freq_Index_t
Definition packet-gsm_rlcmac.h:3272
Repeated_Individual_EUTRAN_Priority_Parameters_t
Definition packet-gsm_rlcmac.h:4369
Repeated_Individual_UTRAN_Priority_Parameters_t
Definition packet-gsm_rlcmac.h:4350
Repeated_Invalid_BSIC_Info_t
Definition packet-gsm_rlcmac.h:4698
Repeated_Page_info_t
Definition packet-gsm_rlcmac.h:2427
RepeatedEUTRAN_Cells_t
Definition packet-gsm_rlcmac.h:4105
RepeatedEUTRAN_NeighbourCells_t
Definition packet-gsm_rlcmac.h:4112
RepeatedEUTRAN_NotAllowedCells_t
Definition packet-gsm_rlcmac.h:4158
RepeatedEUTRAN_PCID_to_TA_mapping_t
Definition packet-gsm_rlcmac.h:4165
RepeatedInvalid_BSIC_Info_t
Definition packet-gsm_rlcmac.h:3327
RepeatedUTRAN_PriorityParameters_t
Definition packet-gsm_rlcmac.h:4052
ReportPriority_t
Definition packet-gsm_rlcmac.h:246
Rept_EUTRAN_Enh_Cell_Resel_Param_t
Definition packet-gsm_rlcmac.h:4279
Reselection_Based_On_RSRQ_t
Definition packet-gsm_rlcmac.h:4268
RlcMacDownlink_t
Definition packet-gsm_rlcmac.h:5528
RlcMacPrivateData_t
Definition packet-gsm_rlcmac.h:5622
RlcMacUplink_t
Definition packet-gsm_rlcmac.h:5577
SI13_PBCCH_Location_t
Definition packet-gsm_rlcmac.h:2841
SI1_RestOctet_t
Definition packet-gsm_rlcmac.h:5646
SI3_Rest_Octet_t
Definition packet-gsm_rlcmac.h:5663
SI4_Rest_Octet_t
Definition packet-gsm_rlcmac.h:5685
SI6_RestOctet_t
Definition packet-gsm_rlcmac.h:5716
SI_Message_List_t
Definition packet-gsm_rlcmac.h:1682
SI_Message_t
Definition packet-gsm_rlcmac.h:1672
Second_Part_Packet_Assignment_t
Definition packet-gsm_rlcmac.h:777
Selection_Parameters_t
Definition packet-gsm_rlcmac.h:5655
Serving_Cell_Data_t
Definition packet-gsm_rlcmac.h:3314
Serving_Cell_params_t
Definition packet-gsm_rlcmac.h:2809
ServingCellData_t
Definition packet-gsm_rlcmac.h:4693
ServingCellPriorityParametersDescription_t
Definition packet-gsm_rlcmac.h:4191
Single_Block_Allocation_t
Definition packet-gsm_rlcmac.h:2073
SingleRFChannel_t
Definition packet-gsm_rlcmac.h:501
Starting_Frame_Number_t
Definition packet-gsm_rlcmac.h:53
StartingTime_t
Definition packet-gsm_rlcmac.h:36
TDD_Target_Cell_Notif_t
Definition packet-gsm_rlcmac.h:3577
TDD_Target_Cell_t
Definition packet-gsm_rlcmac.h:1718
TMSI_t
Definition packet-gsm_rlcmac.h:195
Target_Cell_3G_AdditionsR5_t
Definition packet-gsm_rlcmac.h:4558
Target_Cell_3G_AdditionsR8_t
Definition packet-gsm_rlcmac.h:4550
Target_Cell_3G_Notif_t
Definition packet-gsm_rlcmac.h:3586
Target_Cell_3G_t
Definition packet-gsm_rlcmac.h:4566
Target_Cell_4G_Notif_t
Definition packet-gsm_rlcmac.h:3618
Target_Cell_CSG_Notif_t
Definition packet-gsm_rlcmac.h:3631
Target_Cell_GSM_Notif_t
Definition packet-gsm_rlcmac.h:3563
Target_Cell_GSM_t
Definition packet-gsm_rlcmac.h:4539
Target_Cell_t
Definition packet-gsm_rlcmac.h:3663
Target_EUTRAN_Cell_Notif_t
Definition packet-gsm_rlcmac.h:3595
Target_Other_RAT_2_Notif_t
Definition packet-gsm_rlcmac.h:3643
Target_Other_RAT_Notif_t
Definition packet-gsm_rlcmac.h:3653
ThreeG_CSG_Description_Body_t
Definition packet-gsm_rlcmac.h:4227
ThreeG_CSG_Description_t
Definition packet-gsm_rlcmac.h:4234
ThreeG_Individual_Priority_Parameters_Description_t
Definition packet-gsm_rlcmac.h:4361
Timeslot_Allocation_Power_Ctrl_Param_t
Definition packet-gsm_rlcmac.h:2010
Timeslot_Allocation_t
Definition packet-gsm_rlcmac.h:2004
UL_Data_Block_EGPRS_Header_t
Definition packet-gsm_rlcmac.h:5070
UL_Data_Block_GPRS_t
Definition packet-gsm_rlcmac.h:4987
UL_Data_Mac_Header_t
Definition packet-gsm_rlcmac.h:4979
UL_Packet_Control_Ack_11_t
Definition packet-gsm_rlcmac.h:4998
UL_Packet_Control_Ack_8_t
Definition packet-gsm_rlcmac.h:5011
UL_Packet_Control_Ack_TN_RRBP_11_t
Definition packet-gsm_rlcmac.h:5004
UL_Packet_Control_Ack_TN_RRBP_8_t
Definition packet-gsm_rlcmac.h:5017
USF_AllocationArray_t
Definition packet-gsm_rlcmac.h:4761
UTRAN_CSG_Cells_Reporting_Desp_t
Definition packet-gsm_rlcmac.h:4297
UTRAN_CSG_Measurement_Report_t
Definition packet-gsm_rlcmac.h:3373
UTRAN_CSG_Target_Cell_t
Definition packet-gsm_rlcmac.h:1736
UTRAN_FDD_Description_t
Definition packet-gsm_rlcmac.h:3860
UTRAN_FDD_NeighbourCells_t
Definition packet-gsm_rlcmac.h:3851
UTRAN_TDD_Description_t
Definition packet-gsm_rlcmac.h:3876
UTRAN_TDD_NeighbourCells_t
Definition packet-gsm_rlcmac.h:3867
Unknown_PSI_Message_List_t
Definition packet-gsm_rlcmac.h:1652
Unknown_SI_Message_List_t
Definition packet-gsm_rlcmac.h:1690
egprs_dl_header_info_t
Definition packet-gsm_rlcmac.h:5616
egprs_ul_header_info_t
Definition packet-gsm_rlcmac.h:5609
h_CG_t
Definition packet-gsm_rlcmac.h:3000
h_FreqBsicCell_t
Definition packet-gsm_rlcmac.h:3240
lu_ModeCellSelectionParameters_t
Definition packet-gsm_rlcmac.h:3978
lu_ModeCellSelectionParams_t
Definition packet-gsm_rlcmac.h:3985
lu_ModeNeighbourCellParams_t
Definition packet-gsm_rlcmac.h:3991
lu_ModeOnlyCellSelection_t
Definition packet-gsm_rlcmac.h:3998
lu_ModeOnlyCellSelectionParamsWithFreqDiff_t
Definition packet-gsm_rlcmac.h:4021