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