2 * Definitions for GSM RLC MAC control plane message dissection in wireshark.
4 * By Vincent Helfre, based on original code by Jari Sassi
5 * with the gracious authorization of STE
6 * Copyright (c) 2011 ST-Ericsson
8 * Wireshark - Network traffic analyzer
9 * By Gerald Combs <gerald@wireshark.org>
10 * Copyright 1998 Gerald Combs
12 * SPDX-License-Identifier: GPL-2.0-or-later
15 #ifndef __PACKET_GSM_RLCMAC_H__
16 #define __PACKET_GSM_RLCMAC_H__
26 #define GSM_RLC_MAC_MAGIC_NUMBER 0x67707273
28 typedef uint8_t TFI_t
;
30 typedef uint8_t N32_t
;
31 typedef uint8_t N51_t
;
32 typedef uint8_t N26_t
;
34 /* Starting Time IE as specified in 04.08 */
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 */
44 uint8_t UnionType
;/* UnionType is index */
57 StartingTime_t StartingTime
;
60 } Starting_Frame_Number_t
;
64 uint8_t FINAL_ACK_INDICATION
;
65 uint8_t STARTING_SEQUENCE_NUMBER
;
66 uint8_t RECEIVED_BLOCK_BITMAP
[64/8];
67 } Ack_Nack_Description_t
;
72 uint8_t Exist_TIMING_ADVANCE_VALUE
;
73 uint8_t TIMING_ADVANCE_VALUE
;
75 uint8_t Exist_IndexAndtimeSlot
;
76 uint8_t TIMING_ADVANCE_INDEX
;
77 uint8_t TIMING_ADVANCE_TIMESLOT_NUMBER
;
78 } Packet_Timing_Advance_t
;
89 } Power_Control_Parameters_t
;
98 uint8_t INT_MEAS_CHANNEL_LIST_AVAIL
;
100 } Global_Power_Control_Parameters_t
;
104 uint8_t Exist_TIMING_ADVANCE_VALUE
;
105 uint8_t TIMING_ADVANCE_VALUE
;
107 uint8_t Exist_UPLINK_TIMING_ADVANCE
;
108 uint8_t UPLINK_TIMING_ADVANCE_INDEX
;
109 uint8_t UPLINK_TIMING_ADVANCE_TIMESLOT_NUMBER
;
111 uint8_t Exist_DOWNLINK_TIMING_ADVANCE
;
112 uint8_t DOWNLINK_TIMING_ADVANCE_INDEX
;
113 uint8_t DOWNLINK_TIMING_ADVANCE_TIMESLOT_NUMBER
;
114 } Global_Packet_Timing_Advance_t
;
128 } Channel_Quality_Report_t
;
132 RLC_MODE_ACKNOWLEDGED
= 0,
133 RLC_MODE_UNACKNOWLEDGED
= 1
138 uint8_t PEAK_THROUGHPUT_CLASS
;
139 uint8_t RADIO_PRIORITY
;
141 uint8_t LLC_PDU_TYPE
;
142 uint16_t RLC_OCTET_COUNT
;
143 } Channel_Request_Description_t
;
147 uint16_t RANDOM_ACCESS_INFORMATION
;
148 uint8_t FRAME_NUMBER
[2];
149 } Packet_Request_Reference_t
;
151 typedef PRE_PACKED
struct
155 } Receive_N_PDU_Number_t POST_PACKED
;
157 typedef PRE_PACKED
struct
162 uint8_t Count_Receive_N_PDU_Number
;
163 Receive_N_PDU_Number_t Receive_N_PDU_Number
[11];
164 } Receive_N_PDU_Number_list_t POST_PACKED
;
183 /** This type is used to describe LAI codes */
184 typedef PRE_PACKED
struct
192 #define LAI_LEN (sizeof(LAI_t))
196 uint8_t TMSI
[TMSI_LEN
];
199 typedef uint16_t CellId_t
;
202 #define CKSN_NOT_VALID 7
206 #define IMEISV_LEN 10
208 #define MAX_ELEMENTS_IN_EQPLMN_LIST 16
213 uint8_t NUMBER_CELLS
;
214 uint8_t CCN_SUPPORTED
[16]; /* bit (1), max size: 16 x 8 => 128 bits */
215 } CCN_Support_Description_t
;
225 } LSA_ID_Info_Element_t
;
227 #define LSA_ID_INFO_ELEMENTS_MAX (16)
231 uint8_t Count_LSA_ID_Info_Element
;
232 LSA_ID_Info_Element_t LSA_ID_Info_Elements
[LSA_ID_INFO_ELEMENTS_MAX
];
235 #define NR_OF_FREQ_OR_CELLS_MAX (32)
239 uint8_t NR_OF_FREQ_OR_CELLS
;
240 LSA_ID_Info_t LSA_ID_Info
[NR_OF_FREQ_OR_CELLS_MAX
];
243 #define MAX_REPORT_PRIORITY_CELLS (16)
247 uint8_t NUMBER_CELLS
;
248 uint8_t REPORT_PRIORITY
[MAX_REPORT_PRIORITY_CELLS
];
251 typedef ReportPriority_t GPRSReportPriority_t
;
255 uint8_t REPORTING_OFFSET
;
256 uint8_t REPORTING_THRESHOLD
;
262 uint8_t Exist_MULTI_BAND_REPORTING
;
263 uint8_t MULTI_BAND_REPORTING
;
265 uint8_t Exist_SERVING_BAND_REPORTING
;
266 uint8_t SERVING_BAND_REPORTING
;
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.
277 uint8_t Exist_SCALE_ORD
;
280 uint8_t Exist_OffsetThreshold900
;
281 OffsetThreshold_t OffsetThreshold900
;
283 uint8_t Exist_OffsetThreshold1800
;
284 OffsetThreshold_t OffsetThreshold1800
;
286 uint8_t Exist_OffsetThreshold400
;
287 OffsetThreshold_t OffsetThreshold400
;
289 uint8_t Exist_OffsetThreshold1900
;
290 OffsetThreshold_t OffsetThreshold1900
;
292 uint8_t Exist_OffsetThreshold850
;
293 OffsetThreshold_t OffsetThreshold850
;
295 } MeasurementParams_t
;
299 uint8_t Exist_FDD_REPORTING_THRESHOLD_2
;
300 uint8_t FDD_REPORTING_THRESHOLD_2
;
301 } GPRS_AdditionalMeasurementParams3G_t
;
306 uint8_t NETWORK_CONTROL_ORDER
;
309 uint8_t NC_NON_DRX_PERIOD
;
310 uint8_t NC_REPORTING_PERIOD_I
;
311 uint8_t NC_REPORTING_PERIOD_T
;
312 } NC_Measurement_Parameters_t
;
316 **========================================================================
318 **========================================================================
321 struct MobileId
/* Mobile id, -> TMSI, IMEI or IMSI */
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];
337 struct OV_MobileId
/* Struct for optional mobile identity */
343 #define LAC_INVALID 0xFEFF
347 LAI_PRIORITY_AVAILABLE
,
348 LAI_PRIORITY_FORBIDDEN
,
373 struct OV_MobileId MobileId
;
384 uint8_t NbrOfElements
;
385 PLMN_t Element
[MAX_ELEMENTS_IN_EQPLMN_LIST
];
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 */
399 uint8_t MA_LENGTH
;/* =(MA_BitLength +7) MA_BitLength_ converted to bytes */
400 uint8_t MA_BITMAP
[(63+1)/8];/* : bit (val (MA_LENGTH) + 1) > */
401 /* The above should not change order! */
402 uint8_t MA_BitLength
;
403 } MobileAllocation_t
;
407 uint8_t ElementsOf_ARFCN_INDEX
;
408 uint8_t ARFCN_INDEX
[16];
409 } ARFCN_index_list_t
;
415 uint8_t ElementsOf_RFL_NUMBER
;
416 uint8_t RFL_NUMBER
[4];
421 MobileAllocation_t MA
;
422 ARFCN_index_list_t ARFCN_index_list
;
424 } GPRS_Mobile_Allocation_t
;
426 /* < EGPRS Ack/Nack Description >
427 * CRBB - Compressed Received Blocks Bitmap
428 * URBB - Uncompressed Received Blocks Bitmap
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 */
436 uint8_t FINAL_ACK_INDICATION
;
437 uint8_t BEGINNING_OF_WINDOW
;
438 uint8_t END_OF_WINDOW
;
439 uint16_t STARTING_SEQUENCE_NUMBER
;
443 uint8_t CRBB_STARTING_COLOR_CODE
;
444 uint8_t CRBB
[CRBB_MAX_BITS
/8 + 1];
446 uint16_t URBB_LENGTH
;
447 uint8_t URBB
[URBB_MAX_BITS
/8];
448 } EGPRS_AckNack_Desc_t
;
453 EGPRS_AckNack_Desc_t Desc
;
459 EGPRS_AckNack_Desc_t Desc
;
460 } EGPRS_AckNack_w_len_t
;
467 #define SF_VBS 0 /* VBS (broadcast call reference) */
468 #define SF_VGCS 1 /* VGCS (group call reference) */
470 #define AF_AckIsNotRequired 0 /* acknowledgement is not required */
471 #define AF_AckIsRequired 1 /* acknowledgement is required */
479 uint8_t call_priority
;
480 uint8_t Ciphering_information
;
481 } Group_Call_Reference_t
;
483 /* Mobile allocation is coded differently but uses the same type! */
488 } MobileAllocationIE_t
;
495 MobileAllocationIE_t MA
;
496 uint8_t Frequency_Short_List
[64/8];
498 } MobileAllocation_or_Frequency_Short_List_t
;
510 } RFHoppingChannel_t
;
514 uint8_t Channel_type_and_TDMA_offset
;
521 SingleRFChannel_t SingleRFChannel
;
522 RFHoppingChannel_t RFHoppingChannel
;
524 } Channel_Description_t
;
528 Channel_Description_t Channel_Description
;
530 uint8_t Exist_Hopping
;
531 MobileAllocation_or_Frequency_Short_List_t MA_or_Frequency_Short_List
;
533 } Group_Channel_Description_t
;
537 Group_Call_Reference_t Group_Call_Reference
;
539 uint8_t Exist_Group_Channel_Description
;
540 Group_Channel_Description_t Group_Channel_Description
;
541 } Group_Call_information_t
;
545 uint8_t Exist_NLN_PCH_and_NLN_status
;
549 uint8_t Exist_Priority1
;
552 uint8_t Exist_Priority2
;
555 uint8_t Exist_Group_Call_information
;
556 Group_Call_information_t Group_Call_information
;
558 uint8_t Packet_Page_Indication_1
;
559 uint8_t Packet_Page_Indication_2
;
567 uint8_t Exist_NLN_and_status
;
571 uint8_t Exist_Priority1
;
574 uint8_t Exist_Priority2
;
577 uint8_t Exist_Priority3
;
580 uint8_t Packet_Page_Indication_3
;
583 /* <IA Rest Octets> incl additions for R99 and EGPRS */
588 uint8_t USF_GRANULARITY
;
590 uint8_t Exist_P0_PR_MODE
;
593 } DynamicAllocation_t
;
601 StartingTime_t TBF_STARTING_TIME
;
602 uint8_t NR_OF_RADIO_BLOCKS_ALLOCATED
;
604 bool Exist_P0_BTS_PWR_CTRL_PR_MODE
;
606 uint8_t BTS_PWR_CTRL_MODE
;
608 } EGPRS_TwoPhaseAccess_t
;
612 uint8_t TFI_ASSIGNMENT
;
618 DynamicAllocation_t DynamicAllocation
;
619 uint8_t FixedAllocationDummy
; /* Fixed Allocation was removed */
622 uint8_t EGPRS_CHANNEL_CODING_COMMAND
;
623 uint8_t TLLI_BLOCK_CHANNEL_CODING
;
625 bool Exist_BEP_PERIOD2
;
629 uint8_t EGPRS_WindowSize
;
636 bool Exist_TIMING_ADVANCE_INDEX
;
637 uint8_t TIMING_ADVANCE_INDEX
;
639 bool Exist_TBF_STARTING_TIME
;
640 StartingTime_t TBF_STARTING_TIME
;
641 } EGPRS_OnePhaseAccess_t
;
643 #define MAX_ACCESS_TECHOLOGY_TYPES 12
649 uint8_t NrOfAccessTechnologies
;
650 uint8_t AccessTechnologyType
[MAX_ACCESS_TECHOLOGY_TYPES
];
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 */
665 IA_EGPRS_00_t IA_EGPRS_PUA
; /* 00 < EGPRS Packet Uplink Assignment >*/
666 uint8_t IA_EGPRS_01
; /* 01 reserved for future use */
667 uint8_t IA_EGPRS_1
; /* 1 reserved for future use */
675 uint8_t MobileAllocation
[62];
676 } IA_FreqParamsBeforeTime_t
;
684 uint8_t R97_CompatibilityBits
;
685 StartingTime_t TBF_STARTING_TIME
;
687 bool Exist_P0_BTS_PWR_CTRL_PR_MODE
;
689 uint8_t BTS_PWR_CTRL_MODE
;
691 } GPRS_SingleBlockAllocation_t
;
695 uint8_t TFI_ASSIGNMENT
;
701 DynamicAllocation_t DynamicAllocation
;
702 uint8_t FixedAllocationDummy
;
705 uint8_t CHANNEL_CODING_COMMAND
;
706 uint8_t TLLI_BLOCK_CHANNEL_CODING
;
713 uint8_t Exist_TIMING_ADVANCE_INDEX
;
714 uint8_t TIMING_ADVANCE_INDEX
;
716 uint8_t Exist_TBF_STARTING_TIME
;
717 StartingTime_t TBF_STARTING_TIME
;
718 } GPRS_DynamicOrFixedAllocation_t
;
722 bool Exist_ExtendedRA
;
724 } PU_IA_AdditionsR99_t
;
731 GPRS_SingleBlockAllocation_t SingleBlockAllocation
;
732 GPRS_DynamicOrFixedAllocation_t DynamicOrFixedAllocation
;
735 bool Exist_AdditionsR99
;
736 PU_IA_AdditionsR99_t AdditionsR99
;
737 } Packet_Uplink_ImmAssignment_t
;
741 uint8_t EGPRS_WindowSize
;
742 uint8_t LINK_QUALITY_MEASUREMENT_MODE
;
744 bool Exist_BEP_PERIOD2
;
746 } PD_IA_AdditionsR99_t
;
752 uint8_t Exist_TFI_to_TA_VALID
;
753 uint8_t TFI_ASSIGNMENT
;
761 uint8_t Exist_TIMING_ADVANCE_INDEX
;
762 uint8_t TIMING_ADVANCE_INDEX
;
764 uint8_t Exist_TBF_STARTING_TIME
;
765 StartingTime_t TBF_STARTING_TIME
;
767 uint8_t Exist_P0_PR_MODE
;
769 uint8_t BTS_PWR_CTRL_MODE
;
772 bool Exist_AdditionsR99
;
773 PD_IA_AdditionsR99_t AdditionsR99
;
774 } Packet_Downlink_ImmAssignment_t
;
778 bool Exist_SecondPart
;
780 bool Exist_ExtendedRA
;
782 } Second_Part_Packet_Assignment_t
;
789 Packet_Uplink_ImmAssignment_t Packet_Uplink_ImmAssignment
;
790 Packet_Downlink_ImmAssignment_t Packet_Downlink_ImmAssignment
;
792 } IA_PacketAssignment_UL_DL_t
;
799 IA_PacketAssignment_UL_DL_t UplinkDownlinkAssignment
;
800 Second_Part_Packet_Assignment_t Second_Part_Packet_Assignment
;
802 } IA_PacketAssignment_t
;
810 IA_FreqParamsBeforeTime_t IA_FrequencyParams
;
811 IA_PacketAssignment_t IA_PacketAssignment
;
820 IA_EGPRS_t IA_EGPRS_Struct
;
821 IA_GPRS_t IA_GPRS_Struct
;
826 /* <IAR Rest Octets> ref: 04.18/10.5.2.17 */
829 uint8_t Exist_ExtendedRA
;
833 typedef ExtendedRA_Info_t ExtendedRA_Info_Array_t
[4];
837 ExtendedRA_Info_Array_t ExtendedRA_Info
;
841 /* Packet Polling Request */
847 Global_TFI_t Global_TFI
;
855 uint8_t MESSAGE_TYPE
;
857 PacketPollingID_t ID
;
859 } Packet_Polling_Request_t
;
861 /* < SI 13 Rest Octets > */
862 #define MAX_EXTENSION_LENGTH_IN_BYTES (8) /* max value = 64 (coded on 6 bits) */
866 uint8_t extension_length
;
867 uint8_t Extension_Info
[MAX_EXTENSION_LENGTH_IN_BYTES
];/* ( val (extension length)+1 ) 04.60/12.26 */
873 uint8_t DTM_SUPPORT
: 1;
874 uint8_t PFC_FEATURE_MODE
: 1;
875 uint8_t BEP_PERIOD
: 4;
876 uint8_t EGPRS_PACKET_CHANNEL_REQUEST
: 1;
877 uint8_t EGPRS_Support
: 1;
880 uint8_t EXT_UTBF_NODATA
: 1;
881 uint8_t MULTIPLE_TBF_CAPABILITY
: 1;
882 uint8_t NW_EXT_UTBF
: 1;
883 uint8_t CCN_ACTIVE
: 1;
884 uint8_t BSS_PAGING_COORDINATION
: 1;
885 } GPRS_ExtensionInfoWithEGPRS_t
;
889 uint8_t EXT_UTBF_NODATA
: 1;
890 uint8_t MULTIPLE_TBF_CAPABILITY
: 1;
891 uint8_t NW_EXT_UTBF
: 1;
892 uint8_t CCN_ACTIVE
: 1;
893 uint8_t BSS_PAGING_COORDINATION
: 1;
894 uint8_t DTM_SUPPORT
: 1;
895 uint8_t PFC_FEATURE_MODE
: 1;
896 uint8_t EGPRS_Support
: 1;
897 } GPRS_ExtensionInfoWithoutEGPRS_t
;
902 uint8_t EGPRS_Support
: 1;
909 } NonGPRS_ExtensionInfo_t
;
913 uint8_t Extension_Length
;
916 EGPRS_Support_t EGPRS_Support
;
917 GPRS_ExtensionInfoWithEGPRS_t GPRS_ExtensionInfoWithEGPRS
;
918 GPRS_ExtensionInfoWithoutEGPRS_t GPRS_ExtensionInfoWithoutEGPRS
;
919 NonGPRS_ExtensionInfo_t NonGPRS_ExtensionInfo
;
920 uint8_t Extension_Information
[MAX_EXTENSION_LENGTH_IN_BYTES
];
922 } Optional_Extension_Information_t
;
928 bool EGPRS_PACKET_CHANNEL_REQUEST
;
929 } EGPRS_OptionalExtensionInformation_t
;
937 uint8_t DRX_TIMER_MAX
;
938 uint8_t ACCESS_BURST_TYPE
;
939 uint8_t CONTROL_ACK_TYPE
;
947 uint8_t Exist_Extension_Bits
;
948 Extension_Bits_t Extension_Bits
;
949 } GPRS_Cell_Options_t
;
956 uint8_t PC_MEAS_CHAN
;
958 } GPRS_Power_Control_Parameters_t
;
963 uint8_t SPGC_CCCH_SUP
;
964 uint8_t PRIORITY_ACCESS_THR
;
965 uint8_t NETWORK_CONTROL_ORDER
;
966 GPRS_Cell_Options_t GPRS_Cell_Options
;
967 GPRS_Power_Control_Parameters_t GPRS_Power_Control_Parameters
;
968 } PBCCH_Not_present_t
;
983 } PBCCH_Description_t
;
987 uint8_t PSI1_REPEAT_PERIOD
;
988 PBCCH_Description_t PBCCH_Description
;
993 /* < Packet TBF Release message content > */
994 typedef uint8_t TBF_RELEASE_CAUSE_t
;
996 #define TBF_RELEASE_CAUSE_NORMAL (0x00)
997 #define TBF_RELEASE_CAUSE_ABNORMAL (0x02)
1002 uint8_t MESSAGE_TYPE
;
1004 Global_TFI_t Global_TFI
;
1005 uint8_t UPLINK_RELEASE
;
1006 uint8_t DOWNLINK_RELEASE
;
1007 TBF_RELEASE_CAUSE_t TBF_RELEASE_CAUSE
;
1008 } Packet_TBF_Release_t
;
1010 /* < Packet Control Acknowledgement message content > */
1013 uint8_t Exist_CTRL_ACK_Extension
;
1014 uint16_t CTRL_ACK_Extension
;
1015 } Packet_Control_Acknowledgement_AdditionsR6_t
;
1019 uint8_t Exist_TN_RRBP
;
1021 uint8_t Exist_G_RNTI_Extension
;
1022 uint8_t G_RNTI_Extension
;
1023 bool Exist_AdditionsR6
;
1024 Packet_Control_Acknowledgement_AdditionsR6_t AdditionsR6
;
1025 } Packet_Control_Acknowledgement_AdditionsR5_t
;
1029 uint8_t MESSAGE_TYPE
;
1030 uint8_t PayloadType
;
1036 bool Exist_AdditionsR5
;
1037 Packet_Control_Acknowledgement_AdditionsR5_t AdditionsR5
;
1038 } Packet_Control_Acknowledgement_t
;
1040 typedef Packet_Control_Acknowledgement_t Packet_Ctrl_Ack_t
;
1046 } Packet_Control_Acknowledgement_11_bit_t
, Packet_Control_Acknowledgement_8_bit_t
;
1049 /* < Packet Downlink Dummy Control Block message content > */
1052 uint8_t MESSAGE_TYPE
;
1055 uint8_t Exist_PERSISTENCE_LEVEL
;
1056 uint8_t PERSISTENCE_LEVEL
[4];
1057 } Packet_Downlink_Dummy_Control_Block_t
;
1059 /* < Packet Uplink Dummy Control Block message content > */
1062 uint8_t MESSAGE_TYPE
;
1063 uint8_t PayloadType
;
1068 } Packet_Uplink_Dummy_Control_Block_t
;
1070 /* MS Radio Access capability IE >
1071 * 24.008 (10.5.5.12a)
1073 typedef uint8_t 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 */
1077 uint8_t Exist_DTM_EGPRS_multislot_class
;
1078 uint8_t DTM_EGPRS_multislot_class
;
1083 uint8_t Exist_DTM_EGPRS_HighMultislotClass
;
1084 uint8_t DTM_EGPRS_HighMultislotClass
;
1085 } DTM_EGPRS_HighMultislotClass_t
;
1089 uint8_t MultislotCapabilityReductionForDL_DualCarrier
;
1090 uint8_t DL_DualCarrierForDTM
;
1091 } DownlinkDualCarrierCapability_r7_t
;
1095 uint8_t Exist_HSCSD_multislot_class
;
1096 uint8_t HSCSD_multislot_class
;
1098 uint8_t Exist_GPRS_multislot_class
;
1099 uint8_t GPRS_multislot_class
;
1100 uint8_t GPRS_Extended_Dynamic_Allocation_Capability
;
1106 /*-------- Rel 99 additions */
1107 uint8_t Exist_ECSD_multislot_class
;
1108 uint8_t ECSD_multislot_class
;
1110 uint8_t Exist_EGPRS_multislot_class
;
1111 uint8_t EGPRS_multislot_class
;
1112 uint8_t EGPRS_Extended_Dynamic_Allocation_Capability
;
1114 uint8_t Exist_DTM_GPRS_multislot_class
;
1115 uint8_t DTM_GPRS_multislot_class
;
1116 uint8_t Single_Slot_DTM
;
1117 DTM_EGPRS_t DTM_EGPRS_Params
;
1118 } Multislot_capability_t
;
1122 uint8_t RF_Power_Capability
;
1124 uint8_t Exist_A5_bits
;
1126 /*-- zero means that the same values apply for parameters as in the immediately preceding Access capabilities field within this IE
1127 *-- The presence of the A5 bits is mandatory in the 1st Access capabilies struct within this IE.
1135 uint8_t Exist_Multislot_capability
;
1136 Multislot_capability_t Multislot_capability
;
1137 /* -- zero means that the same values apply for multislot parameters as in the immediately preceding 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.
1140 /* -------- Rel 99 additions */
1141 uint8_t Exist_Eight_PSK_Power_Capability
;
1142 uint8_t Eight_PSK_Power_Capability
;
1144 uint8_t COMPACT_Interference_Measurement_Capability
;
1145 uint8_t Revision_Level_Indicator
;
1146 uint8_t UMTS_FDD_Radio_Access_Technology_Capability
;
1147 uint8_t UMTS_384_TDD_Radio_Access_Technology_Capability
;
1148 uint8_t CDMA2000_Radio_Access_Technology_Capability
;
1150 /* -------- R4 additions */
1151 uint8_t UMTS_128_TDD_Radio_Access_Technology_Capability
;
1152 uint8_t GERAN_Feature_Package_1
;
1154 uint8_t Exist_Extended_DTM_multislot_class
;
1155 uint8_t Extended_DTM_GPRS_multislot_class
;
1156 uint8_t Extended_DTM_EGPRS_multislot_class
;
1158 uint8_t Modulation_based_multislot_class_support
;
1160 /* -------- R5 additions */
1161 uint8_t Exist_HighMultislotCapability
;
1162 uint8_t HighMultislotCapability
;
1164 uint8_t Exist_GERAN_lu_ModeCapability
;
1165 uint8_t GERAN_lu_ModeCapability
;
1167 uint8_t GMSK_MultislotPowerProfile
;
1168 uint8_t EightPSK_MultislotProfile
;
1170 /* -------- R6 additions */
1171 uint8_t MultipleTBF_Capability
;
1172 uint8_t DownlinkAdvancedReceiverPerformance
;
1173 uint8_t ExtendedRLC_MAC_ControlMessageSegmentionsCapability
;
1174 uint8_t DTM_EnhancementsCapability
;
1176 uint8_t Exist_DTM_GPRS_HighMultislotClass
;
1177 uint8_t DTM_GPRS_HighMultislotClass
;
1178 DTM_EGPRS_HighMultislotClass_t DTM_EGPRS_HighMultislotClass
;
1179 uint8_t PS_HandoverCapability
;
1181 /* -------- R7 additions */
1182 uint8_t DTM_Handover_Capability
;
1183 uint8_t Exist_DownlinkDualCarrierCapability_r7
;
1184 DownlinkDualCarrierCapability_r7_t DownlinkDualCarrierCapability_r7
;
1186 uint8_t FlexibleTimeslotAssignment
;
1187 uint8_t GAN_PS_HandoverCapability
;
1188 uint8_t RLC_Non_persistentMode
;
1189 uint8_t ReducedLatencyCapability
;
1190 uint8_t UplinkEGPRS2
;
1191 uint8_t DownlinkEGPRS2
;
1193 /* -------- R8 additions */
1194 uint8_t EUTRA_FDD_Support
;
1195 uint8_t EUTRA_TDD_Support
;
1196 uint8_t GERAN_To_EUTRAN_supportInGERAN_PTM
;
1197 uint8_t PriorityBasedReselectionSupport
;
1202 {/* See TS 24.008 table 10.5.146 */
1206 AccTech_GSM1800
= 0x3,
1207 AccTech_GSM1900
= 0x4,
1208 AccTech_GSM450
= 0x5,
1209 AccTech_GSM480
= 0x6,
1210 AccTech_GSM850
= 0x7,
1211 AccTech_GSM750
= 0x8,
1212 AccTech_GSMT830
= 0x9,
1213 AccTech_GSMT410
= 0xa,
1214 AccTech_GSMT900
= 0xb,
1215 AccTech_GSM710
= 0xc,
1216 AccTech_GSMT810
= 0xd,
1217 AccTech_GSMOther
= 0xf
1218 } AccessTechnology_t
;
1220 /* Maximum entries in one message, Enum above, applying restrictions from section
1221 12.30 "MS Radio Access Capability 2": */
1222 #define MAX_ACCESS_TECHNOLOGIES_COUNT 11
1226 AccessTechnology_t Access_Technology_Type
;
1227 uint8_t GMSK_Power_class
;
1228 uint8_t Eight_PSK_Power_class
;
1229 } Additional_access_technologies_struct_t
;
1233 uint8_t Count_additional_access_technologies
;
1234 /* The value 0xf cannot be set for the first ATT, therefore we can only have
1235 ABSOLUTE_MAX_BANDS-1 additional access technologies. */
1236 Additional_access_technologies_struct_t Additional_access_technologies
[MAX_ACCESS_TECHNOLOGIES_COUNT
-1];
1237 } Additional_access_technologies_t
;
1241 uint8_t IndexOfAccTech
; /* Position in AccessTechnology_t */
1247 Additional_access_technologies_t Additional_access_technologies
;
1249 } MS_RA_capability_value_t
;
1253 uint8_t Count_MS_RA_capability_value
; /* Recursive */
1254 MS_RA_capability_value_t MS_RA_capability_value
[MAX_ACCESS_TECHNOLOGIES_COUNT
];
1255 } MS_Radio_Access_capability_t
;
1260 uint8_t ExistEDGE_RF_PwrCap1
;
1261 uint8_t EDGE_RF_PwrCap1
;
1262 uint8_t ExistEDGE_RF_PwrCap2
;
1263 uint8_t EDGE_RF_PwrCap2
;
1283 typedef struct /* MS classmark 3 R99 */
1286 Multiband_t Multiband
;
1288 uint8_t Exist_R_Support
;
1291 uint8_t Exist_MultiSlotCapability
;
1292 uint8_t MultiSlotClass
;
1295 uint8_t ExtendedMeasurementCapability
;
1297 uint8_t Exist_MS_MeasurementCapability
;
1301 uint8_t Exist_MS_PositioningMethodCapability
;
1302 uint8_t MS_PositioningMethod
;
1304 uint8_t Exist_EDGE_MultiSlotCapability
;
1305 uint8_t EDGE_MultiSlotClass
;
1307 uint8_t Exist_EDGE_Struct
;
1308 uint8_t ModulationCapability
;
1309 EDGE_RF_Pwr_t EDGE_RF_PwrCaps
;
1311 uint8_t Exist_GSM400_Info
;
1312 uint8_t GSM400_Bands
;
1315 uint8_t Exist_GSM850_Arc
;
1318 uint8_t Exist_PCS1900_Arc
;
1319 uint8_t PCS1900_Arc
;
1321 uint8_t UMTS_FDD_Radio_Access_Technology_Capability
;
1322 uint8_t UMTS_384_TDD_Radio_Access_Technology_Capability
;
1323 uint8_t CDMA2000_Radio_Access_Technology_Capability
;
1325 uint8_t Exist_DTM_GPRS_multislot_class
;
1326 uint8_t DTM_GPRS_multislot_class
;
1327 uint8_t Single_Slot_DTM
;
1328 DTM_EGPRS_t DTM_EGPRS_Params
;
1330 /* -------- R4 additions */
1331 uint8_t Exist_SingleBandSupport
;
1334 uint8_t Exist_GSM_700_Associated_Radio_Capability
;
1335 uint8_t GSM_700_Associated_Radio_Capability
;
1337 uint8_t UMTS_128_TDD_Radio_Access_Technology_Capability
;
1338 uint8_t GERAN_Feature_Package_1
;
1340 uint8_t Exist_Extended_DTM_multislot_class
;
1341 uint8_t Extended_DTM_GPRS_multislot_class
;
1342 uint8_t Extended_DTM_EGPRS_multislot_class
;
1344 /* -------- R5 additions */
1345 uint8_t Exist_HighMultislotCapability
;
1346 uint8_t HighMultislotCapability
;
1348 uint8_t Exist_GERAN_lu_ModeCapability
;
1349 uint8_t GERAN_lu_ModeCapability
;
1351 uint8_t GERAN_FeaturePackage_2
;
1353 uint8_t GMSK_MultislotPowerProfile
;
1354 uint8_t EightPSK_MultislotProfile
;
1356 /* -------- R6 additions */
1357 uint8_t Exist_TGSM_400_Bands
;
1358 uint8_t TGSM_400_BandsSupported
;
1359 uint8_t TGSM_400_AssociatedRadioCapability
;
1361 uint8_t Exist_TGSM_900_AssociatedRadioCapability
;
1362 uint8_t TGSM_900_AssociatedRadioCapability
;
1364 uint8_t DownlinkAdvancedReceiverPerformance
;
1365 uint8_t DTM_EnhancementsCapability
;
1367 uint8_t Exist_DTM_GPRS_HighMultislotClass
;
1368 uint8_t DTM_GPRS_HighMultislotClass
;
1369 uint8_t OffsetRequired
;
1370 DTM_EGPRS_HighMultislotClass_t DTM_EGPRS_HighMultislotClass
;
1371 uint8_t RepeatedSACCH_Capability
;
1374 } MS_Class3_Unpacked_t
;
1377 /* < Packet Resource Request message content > */
1384 uint8_t MEAN_BEP_GMSK
;
1385 uint8_t MEAN_BEP_8PSK
;
1387 } BEP_MeasurementReport_t
;
1393 } InterferenceMeasurementReport_t
;
1397 bool Exist_BEP_MEASUREMENTS
;
1398 BEP_MeasurementReport_t BEP_MEASUREMENTS
[8];
1400 bool Exist_INTERFERENCE_MEASUREMENTS
;
1401 InterferenceMeasurementReport_t INTERFERENCE_MEASUREMENTS
[8];
1402 } EGPRS_TimeslotLinkQualityMeasurements_t
;
1406 bool Exist_MEAN_CV_BEP_GMSK
;
1407 uint8_t MEAN_BEP_GMSK
;
1408 uint8_t CV_BEP_GMSK
;
1410 bool Exist_MEAN_CV_BEP_8PSK
;
1411 uint8_t MEAN_BEP_8PSK
;
1412 uint8_t CV_BEP_8PSK
;
1413 } EGPRS_BEP_LinkQualityMeasurements_t
;
1417 uint8_t RADIO_PRIORITY
;
1419 bool Exist_RLC_BLOCK_COUNT
;
1420 uint8_t RLC_BLOCK_COUNT
;
1422 bool Exist_Iu_Mode_ChRequestDesk
;
1423 //IU_Mode_Channel_Request_Desk_t IU_Mode_Channel_Request_Desk1;
1425 }IU_Mode_Channel_Request_Desk_t
;
1428 bool Exist_G_RNTI_Extension
;
1429 uint8_t G_RNTI_Extension
;
1430 IU_Mode_Channel_Request_Desk_t IU_Mode_Channel_Request_Desk
;
1432 }IU_Mode_Channel_Request_Desk_RNTI_t
;
1436 uint8_t RADIO_PRIORITY
;
1442 bool Exist_Ext_Channel_Request_desc
;
1444 }Ext_Channel_Request_desc_t
;
1448 bool Exist_GMSK_MEAN_BEP
;
1449 uint8_t GMSK_MEAN_BEP
;
1450 uint8_t GMSK_CV_BEP
;
1452 bool Exist_8PSK_MEAN_BEP
;
1453 uint8_t p8PSK_MEAN_BEP
;
1454 uint8_t p8PSK_CV_BEP
;
1456 bool Exist_QPSK_MEAN_BEP
;
1457 uint8_t QPSK_MEAN_BEP
;
1458 uint8_t QPSK_CV_BEP
;
1460 bool Exist_16QAM_NSR_MEAN_BEP
;
1461 uint8_t p16QAM_NSR_MEAN_BEP
;
1462 uint8_t p16QAM_NSR_CV_BEP
;
1464 bool Exist_32QAM_NSR_MEAN_BEP
;
1465 uint8_t p32QAM_NSR_MEAN_BEP
;
1466 uint8_t p32QAM_NSR_CV_BEP
;
1468 bool Exist_16QAM_HSR_MEAN_BEP
;
1469 uint8_t p16QAM_HSR_MEAN_BEP
;
1470 uint8_t p16QAM_HSR_CV_BEP
;
1472 bool Exist_32QAM_HSR_MEAN_BEP
;
1473 uint8_t p32QAM_HSR_MEAN_BEP
;
1474 uint8_t p32QAM_HSR_CV_BEP
;
1476 }EGPRS_BEP_LinkQualityMeasurements_type2_t
;
1481 uint8_t REPORTED_MODULATION
;
1482 uint8_t MEAN_BEP_TN
;
1484 }BEP_MeasurementReport_type2_t
;
1490 }InterferenceMeasurementReport_type2_t
;
1494 bool Exist_BEP_MEASUREMENTS
;
1495 BEP_MeasurementReport_type2_t BEP_MEASUREMENTS
[8];
1497 bool Exist_INTERFERENCE_MEASUREMENTS
;
1498 InterferenceMeasurementReport_type2_t INTERFERENCE_MEASUREMENTS
[8];
1500 }EGPRS_TimeslotLinkQualityMeasurements_type2_t
;
1505 bool Exist_Downlink_eTFI
;
1506 uint8_t DOWNLINK_ETFI
;
1508 }PRR_AdditionsR12_t
;
1512 uint8_t LOW_ACCESS_PRIORITY_SIGNALLING
;
1514 bool Exist_AdditionsR12
;
1515 PRR_AdditionsR12_t AdditionsR12
;
1517 }PRR_AdditionsR10_t
;
1521 uint8_t EARLY_TBF_ESTABLISHMENT
;
1523 bool Exist_EGPRS_BEP_LinkQualityMeasurements_type2
;
1524 EGPRS_BEP_LinkQualityMeasurements_type2_t EGPRS_BEP_LinkQualityMeasurements_type2
;
1526 bool Exist_EGPRS_TimeslotLinkQualityMeasurements_type2
;
1527 EGPRS_TimeslotLinkQualityMeasurements_type2_t EGPRS_TimeslotLinkQualityMeasurements_type2
;
1529 bool Exist_AdditionsR10
;
1530 PRR_AdditionsR10_t AdditionsR10
;
1536 bool Exist_Ext_Channel_Request_desc
;
1537 Ext_Channel_Request_desc_t Ext_Channel_Request_desc
;
1539 uint8_t Exist_AdditionsR7
;
1540 PRR_AdditionsR7_t AdditionsR7
;
1542 } PRR_AdditionsR6_t
;
1546 uint8_t Exist_Iu_Mode_ChRequestDesk
;
1547 IU_Mode_Channel_Request_Desk_RNTI_t IU_Mode_Channel_Request_Desk_RNTI
;
1549 uint8_t Exist_HFN_LSB
;
1552 uint8_t Exist_AdditionsR6
;
1553 PRR_AdditionsR6_t AdditionsR6
;
1559 bool Exist_EGPRS_BEP_LinkQualityMeasurements
;
1560 EGPRS_BEP_LinkQualityMeasurements_t EGPRS_BEP_LinkQualityMeasurements
;
1562 bool Exist_EGPRS_TimeslotLinkQualityMeasurements
;
1563 EGPRS_TimeslotLinkQualityMeasurements_t EGPRS_TimeslotLinkQualityMeasurements
;
1568 uint8_t MS_RAC_AdditionalInformationAvailable
;
1569 uint8_t RetransmissionOfPRR
;
1571 uint8_t Exist_AdditionsR5
;
1572 PRR_AdditionsR5_t AdditionsR5
;
1573 } PRR_AdditionsR99_t
;
1580 Global_TFI_t Global_TFI
;
1583 } PacketResourceRequestID_t
;
1587 uint8_t MESSAGE_TYPE
;
1588 uint8_t PayloadType
;
1592 uint8_t Exist_ACCESS_TYPE
;
1593 uint8_t ACCESS_TYPE
;
1595 PacketResourceRequestID_t ID
;
1597 uint8_t Exist_MS_Radio_Access_capability2
;
1598 MS_Radio_Access_capability_t MS_Radio_Access_capability2
;
1600 Channel_Request_Description_t Channel_Request_Description
;
1602 uint8_t Exist_CHANGE_MARK
;
1603 uint8_t CHANGE_MARK
;
1607 uint8_t Exist_SIGN_VAR
;
1610 InterferenceMeasurementReport_t I_LEVEL_TN
[8];
1612 uint8_t Exist_AdditionsR99
;
1613 PRR_AdditionsR99_t AdditionsR99
;
1614 } Packet_Resource_Request_t
;
1616 /* < Packet Mobile TBF Status message content >*/
1619 uint8_t MESSAGE_TYPE
;
1620 uint8_t PayloadType
;
1624 Global_TFI_t Global_TFI
;
1627 uint8_t Exist_STATUS_MESSAGE_TYPE
;
1628 uint8_t STATUS_MESSAGE_TYPE
;
1629 } Packet_Mobile_TBF_Status_t
;
1631 /* < Packet PSI Status message content >*/
1634 uint8_t PSI_MESSAGE_TYPE
;
1635 uint8_t PSIX_CHANGE_MARK
;
1636 uint8_t Exist_PSIX_COUNT_and_Instance_Bitmap
;
1641 uint8_t Count_PSI_Message
;
1642 PSI_Message_t PSI_Message
[10];
1644 uint8_t ADDITIONAL_MSG_TYPE
;
1645 } PSI_Message_List_t
;
1649 uint8_t ADDITIONAL_MSG_TYPE
;
1650 } Unknown_PSI_Message_List_t
;
1654 uint8_t MESSAGE_TYPE
;
1655 uint8_t PayloadType
;
1659 Global_TFI_t Global_TFI
;
1660 uint8_t PBCCH_CHANGE_MARK
;
1662 PSI_Message_List_t PSI_Message_List
;
1663 Unknown_PSI_Message_List_t Unknown_PSI_Message_List
;
1664 } Packet_PSI_Status_t
;
1666 /* < Packet SI Status message content > */
1669 uint8_t SI_MESSAGE_TYPE
;
1671 uint8_t SIX_CHANGE_MARK
;
1674 uint8_t Instance_bitmap
[2];
1679 uint8_t Count_SI_Message
;
1680 SI_Message_t SI_Message
[10];
1682 uint8_t ADDITIONAL_MSG_TYPE
;
1683 } SI_Message_List_t
;
1687 uint8_t ADDITIONAL_MSG_TYPE
;
1688 } Unknown_SI_Message_List_t
;
1692 uint8_t MESSAGE_TYPE
;
1693 uint8_t PayloadType
;
1697 Global_TFI_t Global_TFI
;
1698 uint8_t BCCH_CHANGE_MARK
;
1700 SI_Message_List_t SI_Message_List
;
1701 Unknown_SI_Message_List_t Unknown_SI_Message_List
;
1702 } Packet_SI_Status_t
;
1708 uint8_t Exist_Bandwith_FDD
;
1709 uint8_t BANDWITH_FDD
;
1710 uint16_t SCRAMBLING_CODE
;
1711 } FDD_Target_Cell_t
;
1716 uint8_t DIVERSITY_TDD
;
1717 uint8_t Exist_Bandwith_TDD
;
1718 uint8_t BANDWITH_TDD
;
1719 uint16_t CELL_PARAMETER
;
1720 uint8_t Sync_Case_TSTD
;
1721 } TDD_Target_Cell_t
;
1726 uint8_t Exist_Measurement_Bandwidth
;
1727 uint8_t Measurement_Bandwidth
;
1728 uint16_t Physical_Layer_Cell_Identity
;
1729 } EUTRAN_Target_Cell_t
;
1734 uint8_t Exist_PLMN_ID
;
1736 } UTRAN_CSG_Target_Cell_t
;
1741 uint16_t Tracking_Area_Code
;
1742 uint8_t Exist_PLMN_ID
;
1744 } EUTRAN_CSG_Target_Cell_t
;
1748 uint8_t Exist_UTRAN_CSG_Target_Cell
;
1749 UTRAN_CSG_Target_Cell_t UTRAN_CSG_Target_Cell
;
1750 uint8_t Exist_EUTRAN_CSG_Target_Cell
;
1751 EUTRAN_CSG_Target_Cell_t EUTRAN_CSG_Target_Cell
;
1752 } PCCF_AdditionsR9_t
;
1756 uint8_t Exist_EUTRAN_Target_Cell
;
1757 EUTRAN_Target_Cell_t EUTRAN_Target_Cell
;
1758 uint8_t Exist_AdditionsR9
;
1759 PCCF_AdditionsR9_t AdditionsR9
;
1760 } PCCF_AdditionsR8_t
;
1764 uint8_t Exist_G_RNTI_extention
;
1765 uint8_t G_RNTI_extention
;
1766 uint8_t Exist_AdditionsR8
;
1767 PCCF_AdditionsR8_t AdditionsR8
;
1768 } PCCF_AdditionsR5_t
;
1772 uint8_t Exist_FDD_Description
;
1773 FDD_Target_Cell_t FDD_Target_Cell
;
1774 uint8_t Exist_TDD_Description
;
1775 TDD_Target_Cell_t TDD_Target_Cell
;
1776 uint8_t Exist_AdditionsR5
;
1777 PCCF_AdditionsR5_t AdditionsR5
;
1778 } PCCF_AdditionsR99_t
;
1780 /* < Packet Cell Change Failure message content > */
1783 uint8_t MESSAGE_TYPE
;
1784 uint8_t PayloadType
;
1792 bool Exist_AdditionsR99
;
1793 PCCF_AdditionsR99_t AdditionsR99
;
1794 } Packet_Cell_Change_Failure_t
;
1796 /* < Packet Downlink Ack/Nack message content > */
1801 } PD_AckNack_AdditionsR99_t
;
1805 uint8_t MESSAGE_TYPE
;
1806 uint8_t PayloadType
;
1810 uint8_t DOWNLINK_TFI
;
1811 Ack_Nack_Description_t Ack_Nack_Description
;
1813 uint8_t Exist_Channel_Request_Description
;
1814 Channel_Request_Description_t Channel_Request_Description
;
1816 Channel_Quality_Report_t Channel_Quality_Report
;
1818 bool Exist_AdditionsR99
;
1819 PD_AckNack_AdditionsR99_t AdditionsR99
;
1820 } Packet_Downlink_Ack_Nack_t
;
1822 /* < EGPRS Packet Downlink Ack/Nack message content > */
1825 EGPRS_BEP_LinkQualityMeasurements_t EGPRS_BEP_LinkQualityMeasurements
;
1827 EGPRS_TimeslotLinkQualityMeasurements_t EGPRS_TimeslotLinkQualityMeasurements
;
1828 } EGPRS_ChannelQualityReport_t
;
1832 uint8_t MESSAGE_TYPE
;
1833 uint8_t PayloadType
;
1837 uint8_t DOWNLINK_TFI
;
1838 uint8_t MS_OUT_OF_MEMORY
;
1840 bool Exist_EGPRS_ChannelQualityReport
;
1841 EGPRS_ChannelQualityReport_t EGPRS_ChannelQualityReport
;
1843 bool Exist_ChannelRequestDescription
;
1844 Channel_Request_Description_t ChannelRequestDescription
;
1849 bool Exist_ExtensionBits
;
1850 Extension_Bits_t ExtensionBits
;
1852 EGPRS_AckNack_t EGPRS_AckNack
;
1853 } EGPRS_PD_AckNack_t
;
1855 /* < Packet Uplink Ack/Nack message content 04.60 sec.11.2.28 > */
1859 uint8_t Exist_CONTENTION_RESOLUTION_TLLI
;
1860 uint32_t CONTENTION_RESOLUTION_TLLI
;
1862 uint8_t Exist_Packet_Timing_Advance
;
1863 Packet_Timing_Advance_t Packet_Timing_Advance
;
1865 uint8_t Exist_Extension_Bits
;
1866 Extension_Bits_t Extension_Bits
;
1868 uint8_t Exist_Power_Control_Parameters
;
1869 Power_Control_Parameters_t Power_Control_Parameters
;
1870 } Common_Uplink_Ack_Nack_Data_t
;
1874 bool Exist_PacketExtendedTimingAdvance
;
1875 uint8_t PacketExtendedTimingAdvance
;
1877 } PU_AckNack_GPRS_AdditionsR99_t
;
1879 /* Table 11.2.28.1: PACKET UPLINK ACK/NACK information elements */
1883 /* Fixed Allocation Parameters was removed from specs.
1884 * TODO: implement for old versions of spec.
1886 } Fixed_Allocation_Parameters_t
;
1890 uint8_t CHANNEL_CODING_COMMAND
;
1891 Ack_Nack_Description_t Ack_Nack_Description
;
1893 bool Exist_Fixed_Allocation_Parameters
;
1894 Fixed_Allocation_Parameters_t Fixed_Allocation_Parameters
;
1896 bool Exist_AdditionsR99
;
1897 PU_AckNack_GPRS_AdditionsR99_t AdditionsR99
;
1899 Common_Uplink_Ack_Nack_Data_t Common_Uplink_Ack_Nack_Data
;
1900 } PU_AckNack_GPRS_t
;
1904 uint8_t EGPRS_ChannelCodingCommand
;
1906 uint8_t PRE_EMPTIVE_TRANSMISSION
;
1907 uint8_t PRR_RETRANSMISSION_REQUEST
;
1908 uint8_t ARAC_RETRANSMISSION_REQUEST
;
1912 bool Exist_Packet_Extended_Timing_Advance
;
1913 uint8_t Packet_Extended_Timing_Advance
;
1915 EGPRS_AckNack_t EGPRS_AckNack
;
1918 Common_Uplink_Ack_Nack_Data_t Common_Uplink_Ack_Nack_Data
;
1919 } PU_AckNack_EGPRS_00_t
;
1926 PU_AckNack_EGPRS_00_t PU_AckNack_EGPRS_00
;
1927 uint8_t extension_01
;
1928 uint8_t extension_10
;
1929 uint8_t extension_11
;
1931 } PU_AckNack_EGPRS_t
;
1943 uint8_t MESSAGE_TYPE
;
1950 PU_AckNack_GPRS_t PU_AckNack_GPRS_Struct
;
1951 PU_AckNack_EGPRS_t PU_AckNack_EGPRS_Struct
;
1953 } Packet_Uplink_Ack_Nack_t
;
1955 /* < Packet Uplink Assignment message content > */
1958 uint8_t CHANGE_MARK_1
;
1959 uint8_t Exist_CHANGE_MARK_2
;
1960 uint8_t CHANGE_MARK_2
;
1968 uint8_t Exist_CHANGE_MARK
;
1969 CHANGE_MARK_t CHANGE_MARK
;
1970 } Indirect_encoding_t
;
1975 GPRS_Mobile_Allocation_t GPRS_Mobile_Allocation
;
1976 } Direct_encoding_1_t
;
1982 uint8_t Length_of_MA_Frequency_List
;
1983 uint8_t MA_Frequency_List
[15+3];
1984 } Direct_encoding_2_t
;
1993 Indirect_encoding_t Indirect_encoding
;
1994 Direct_encoding_1_t Direct_encoding_1
;
1995 Direct_encoding_2_t Direct_encoding_2
;
1997 } Frequency_Parameters_t
;
2003 } Timeslot_Allocation_t
;
2015 } Timeslot_Allocation_Power_Ctrl_Param_t
;
2019 uint8_t Extended_Dynamic_Allocation
;
2025 uint8_t USF_GRANULARITY
;
2027 uint8_t Exist_UPLINK_TFI_ASSIGNMENT
;
2028 uint8_t UPLINK_TFI_ASSIGNMENT
;
2030 uint8_t Exist_RLC_DATA_BLOCKS_GRANTED
;
2031 uint8_t RLC_DATA_BLOCKS_GRANTED
;
2033 uint8_t Exist_TBF_Starting_Time
;
2034 Starting_Frame_Number_t TBF_Starting_Time
;
2039 Timeslot_Allocation_t Timeslot_Allocation
[8];
2040 Timeslot_Allocation_Power_Ctrl_Param_t Timeslot_Allocation_Power_Ctrl_Param
;
2042 } Dynamic_Allocation_t
;
2046 uint8_t Extended_Dynamic_Allocation
;
2052 uint8_t USF_GRANULARITY
;
2054 uint8_t Exist_UPLINK_TFI_ASSIGNMENT
;
2055 uint8_t UPLINK_TFI_ASSIGNMENT
;
2057 uint8_t Exist_RLC_DATA_BLOCKS_GRANTED
;
2058 uint8_t RLC_DATA_BLOCKS_GRANTED
;
2063 Timeslot_Allocation_t Timeslot_Allocation
[8];
2064 Timeslot_Allocation_Power_Ctrl_Param_t Timeslot_Allocation_Power_Ctrl_Param
;
2066 } DTM_Dynamic_Allocation_t
;
2070 uint8_t TIMESLOT_NUMBER
;
2072 uint8_t Exist_ALPHA_and_GAMMA_TN
;
2078 uint8_t BTS_PWR_CTRL_MODE
;
2081 Starting_Frame_Number_t TBF_Starting_Time
;
2082 } Single_Block_Allocation_t
;
2086 uint8_t TIMESLOT_NUMBER
;
2088 uint8_t Exist_ALPHA_and_GAMMA_TN
;
2094 uint8_t BTS_PWR_CTRL_MODE
;
2097 } DTM_Single_Block_Allocation_t
;
2104 Global_TFI_t Global_TFI
;
2107 Packet_Request_Reference_t Packet_Request_Reference
;
2113 bool Exist_Packet_Extended_Timing_Advance
;
2114 uint8_t Packet_Extended_Timing_Advance
;
2115 } PUA_GPRS_AdditionsR99_t
;
2119 uint8_t CHANNEL_CODING_COMMAND
;
2120 uint8_t TLLI_BLOCK_CHANNEL_CODING
;
2121 Packet_Timing_Advance_t Packet_Timing_Advance
;
2123 uint8_t Exist_Frequency_Parameters
;
2124 Frequency_Parameters_t Frequency_Parameters
;
2130 Dynamic_Allocation_t Dynamic_Allocation
;
2131 Single_Block_Allocation_t Single_Block_Allocation
;
2132 uint8_t FixedAllocationDummy
;
2135 bool Exist_AdditionsR99
;
2136 PUA_GPRS_AdditionsR99_t AdditionsR99
;
2141 uint8_t BitmapLength
;
2142 uint8_t ReducedMA_Bitmap
[127 / 8 + 1];
2146 } COMPACT_ReducedMA_t
;
2150 uint8_t TIMESLOT_NUMBER
;
2152 bool Exist_ALPHA_GAMMA_TN
;
2156 bool Exist_P0_BTS_PWR_CTRL_PR_MODE
;
2158 uint8_t BTS_PWR_CTRL_MODE
;
2161 Starting_Frame_Number_t TBF_Starting_Time
;
2162 uint8_t NUMBER_OF_RADIO_BLOCKS_ALLOCATED
;
2163 } MultiBlock_Allocation_t
;
2167 bool Exist_CONTENTION_RESOLUTION_TLLI
;
2168 uint32_t CONTENTION_RESOLUTION_TLLI
;
2170 bool Exist_COMPACT_ReducedMA
;
2171 COMPACT_ReducedMA_t COMPACT_ReducedMA
;
2173 uint8_t EGPRS_CHANNEL_CODING_COMMAND
;
2175 uint8_t EGPRS_WindowSize
;
2177 uint8_t NrOfAccessTechnologies
; /* will hold the number of list elements */
2178 uint8_t AccessTechnologyType
[MAX_ACCESS_TECHOLOGY_TYPES
]; /* for max size of array see 24.008/Table 10.5.146 */
2180 uint8_t ARAC_RETRANSMISSION_REQUEST
;
2181 uint8_t TLLI_BLOCK_CHANNEL_CODING
;
2183 bool Exist_BEP_PERIOD2
;
2184 uint8_t BEP_PERIOD2
;
2186 Packet_Timing_Advance_t PacketTimingAdvance
;
2188 bool Exist_Packet_Extended_Timing_Advance
;
2189 uint8_t Packet_Extended_Timing_Advance
;
2191 bool Exist_Frequency_Parameters
;
2192 Frequency_Parameters_t Frequency_Parameters
;
2198 Dynamic_Allocation_t Dynamic_Allocation
;
2199 MultiBlock_Allocation_t MultiBlock_Allocation
;
2200 uint8_t FixedAllocationDummy
;/* Fixed Allocation is not used */
2209 PUA_EGPRS_00_t PUA_EGPRS_00
;
2210 uint8_t PUA_EGPRS_01
;
2211 uint8_t PUA_EGPRS_10
;
2212 uint8_t PUA_EGPRS_11
;
2226 uint8_t MESSAGE_TYPE
;
2229 uint8_t Exist_PERSISTENCE_LEVEL
;
2230 uint8_t PERSISTENCE_LEVEL
[4];
2232 PacketUplinkID_t ID
;
2237 PUA_GPRS_t PUA_GPRS_Struct
;
2238 PUA_EGPRS_t PUA_EGPRS_Struct
;
2240 } Packet_Uplink_Assignment_t
;
2243 /* < DTM Packet Uplink Assignment message content > */
2246 uint8_t CHANNEL_CODING_COMMAND
;
2247 uint8_t TLLI_BLOCK_CHANNEL_CODING
;
2248 Packet_Timing_Advance_t Packet_Timing_Advance
;
2254 DTM_Dynamic_Allocation_t DTM_Dynamic_Allocation
;
2255 DTM_Single_Block_Allocation_t DTM_Single_Block_Allocation
;
2257 bool Exist_EGPRS_Parameters
;
2258 uint8_t EGPRS_CHANNEL_CODING_COMMAND
;
2260 uint8_t EGPRS_WindowSize
;
2261 bool Exist_Packet_Extended_Timing_Advance
;
2262 uint8_t Packet_Extended_Timing_Advance
;
2263 } DTM_Packet_Uplink_Assignment_t
;
2267 DTM_Packet_Uplink_Assignment_t DTM_Packet_Uplink_Assignment
;
2270 /* < DTM Packet Channel Request message content > */
2273 uint8_t DTM_Pkt_Est_Cause
;
2274 Channel_Request_Description_t Channel_Request_Description
;
2277 } DTM_Channel_Request_Description_t
;
2279 /* < Packet Downlink Assignment message content > */
2282 Starting_Frame_Number_t Measurement_Starting_Time
;
2283 uint8_t MEASUREMENT_INTERVAL
;
2284 uint8_t MEASUREMENT_BITMAP
;
2285 } Measurement_Mapping_struct_t
;
2292 Global_TFI_t Global_TFI
;
2295 } PacketDownlinkID_t
;
2299 bool Exist_EGPRS_Params
; /* if Exist_EGPRS_Params == false then none of the following 4 vars exist */
2300 uint8_t EGPRS_WindowSize
;
2301 uint8_t LINK_QUALITY_MEASUREMENT_MODE
;
2302 bool Exist_BEP_PERIOD2
;
2303 uint8_t BEP_PERIOD2
;
2305 bool Exist_Packet_Extended_Timing_Advance
;
2306 uint8_t Packet_Extended_Timing_Advance
;
2308 bool Exist_COMPACT_ReducedMA
;
2309 COMPACT_ReducedMA_t COMPACT_ReducedMA
;
2310 } PDA_AdditionsR99_t
;
2314 uint8_t MESSAGE_TYPE
;
2317 bool Exist_PERSISTENCE_LEVEL
;
2318 uint8_t PERSISTENCE_LEVEL
[4];
2320 PacketDownlinkID_t ID
;
2324 uint8_t CONTROL_ACK
;
2325 uint8_t TIMESLOT_ALLOCATION
;
2326 Packet_Timing_Advance_t Packet_Timing_Advance
;
2328 bool Exist_P0_and_BTS_PWR_CTRL_MODE
;
2330 uint8_t BTS_PWR_CTRL_MODE
;
2333 bool Exist_Frequency_Parameters
;
2334 Frequency_Parameters_t Frequency_Parameters
;
2336 bool Exist_DOWNLINK_TFI_ASSIGNMENT
;
2337 uint8_t DOWNLINK_TFI_ASSIGNMENT
;
2339 bool Exist_Power_Control_Parameters
;
2340 Power_Control_Parameters_t Power_Control_Parameters
;
2342 bool Exist_TBF_Starting_Time
;
2343 Starting_Frame_Number_t TBF_Starting_Time
;
2345 uint8_t Exist_Measurement_Mapping
;
2346 Measurement_Mapping_struct_t Measurement_Mapping
;
2348 bool Exist_AdditionsR99
;
2349 PDA_AdditionsR99_t AdditionsR99
;
2350 } Packet_Downlink_Assignment_t
;
2352 /* < DTM Packet Downlink Assignment message content > */
2357 uint8_t TIMESLOT_ALLOCATION
;
2358 Packet_Timing_Advance_t Packet_Timing_Advance
;
2360 uint8_t Exist_P0_and_BTS_PWR_CTRL_MODE
;
2362 uint8_t BTS_PWR_CTRL_MODE
;
2365 uint8_t Exist_Power_Control_Parameters
;
2366 Power_Control_Parameters_t Power_Control_Parameters
;
2368 uint8_t Exist_DOWNLINK_TFI_ASSIGNMENT
;
2369 uint8_t DOWNLINK_TFI_ASSIGNMENT
;
2371 uint8_t Exist_Measurement_Mapping
;
2372 Measurement_Mapping_struct_t Measurement_Mapping
;
2374 uint8_t EGPRS_WindowSize
;
2375 uint8_t LINK_QUALITY_MEASUREMENT_MODE
;
2376 bool Exist_Packet_Extended_Timing_Advance
;
2377 uint8_t Packet_Extended_Timing_Advance
;
2378 } DTM_Packet_Downlink_Assignment_t
;
2382 DTM_Packet_Downlink_Assignment_t DTM_Packet_Downlink_Assignment
;
2387 GPRS_Cell_Options_t GPRS_Cell_Options
;
2388 GPRS_Power_Control_Parameters_t GPRS_Power_Control_Parameters
;
2389 } DTM_GPRS_Broadcast_Information_t
;
2393 DTM_GPRS_Broadcast_Information_t DTM_GPRS_Broadcast_Information
;
2396 /* < Packet Paging Request message content > */
2403 struct MobileId Mobile_Identity
;
2405 } Page_request_for_TBF_establishment_t
;
2413 struct MobileId Mobile_Identity
;
2416 uint8_t CHANNEL_NEEDED
;
2418 uint8_t Exist_eMLPP_PRIORITY
;
2419 uint8_t eMLPP_PRIORITY
;
2420 } Page_request_for_RR_conn_t
;
2427 Page_request_for_TBF_establishment_t Page_req_TBF
;
2428 Page_request_for_RR_conn_t Page_req_RR
;
2430 } Repeated_Page_info_t
;
2434 uint8_t MESSAGE_TYPE
;
2437 uint8_t Exist_PERSISTENCE_LEVEL
;
2438 uint8_t PERSISTENCE_LEVEL
[4];
2443 uint8_t Count_Repeated_Page_info
;
2444 Repeated_Page_info_t Repeated_Page_info
[5];
2445 } Packet_Paging_Request_t
;
2449 uint8_t MESSAGE_TYPE
;
2452 uint8_t TIMESLOTS_AVAILABLE
;
2453 } Packet_PDCH_Release_t
;
2455 /* < Packet Power Control/Timing Advance message content > */
2461 Global_TFI_t Global_TFI
;
2463 Packet_Request_Reference_t Packet_Request_Reference
;
2465 } PacketPowerControlTimingAdvanceID_t
;
2469 Global_Packet_Timing_Advance_t Global_Packet_Timing_Advance
;
2470 Power_Control_Parameters_t Power_Control_Parameters
;
2471 } GlobalTimingAndPower_t
;
2478 Global_Packet_Timing_Advance_t Global_Packet_Timing_Advance
;
2479 Power_Control_Parameters_t Power_Control_Parameters
;
2481 } GlobalTimingOrPower_t
;
2485 uint8_t MESSAGE_TYPE
;
2488 PacketPowerControlTimingAdvanceID_t ID
;
2490 /* -- Message escape */
2491 uint8_t Exist_Global_Power_Control_Parameters
;
2492 Global_Power_Control_Parameters_t Global_Power_Control_Parameters
;
2497 GlobalTimingAndPower_t GlobalTimingAndPower
;
2498 GlobalTimingOrPower_t GlobalTimingOrPower
;
2500 } Packet_Power_Control_Timing_Advance_t
;
2502 /* < Packet Queueing Notification message content > */
2505 uint8_t MESSAGE_TYPE
;
2509 Packet_Request_Reference_t Packet_Request_Reference
;
2511 } Packet_Queueing_Notification_t
;
2513 /* < Packet Timeslot Reconfigure message content 04.60 sec. 11.2.31> */
2515 typedef Dynamic_Allocation_t TRDynamic_Allocation_t
;
2519 Global_Packet_Timing_Advance_t Global_Packet_Timing_Advance
;
2521 uint8_t DOWNLINK_RLC_MODE
;
2522 uint8_t CONTROL_ACK
;
2524 uint8_t Exist_DOWNLINK_TFI_ASSIGNMENT
;
2525 uint8_t DOWNLINK_TFI_ASSIGNMENT
;
2527 uint8_t Exist_UPLINK_TFI_ASSIGNMENT
;
2528 uint8_t UPLINK_TFI_ASSIGNMENT
;
2530 uint8_t DOWNLINK_TIMESLOT_ALLOCATION
;
2532 uint8_t Exist_Frequency_Parameters
;
2533 Frequency_Parameters_t Frequency_Parameters
;
2534 } Common_Timeslot_Reconfigure_t
;
2538 bool Exist_Packet_Extended_Timing_Advance
;
2539 uint8_t Packet_Extended_Timing_Advance
;
2540 } PTR_GPRS_AdditionsR99_t
;
2544 uint8_t CHANNEL_CODING_COMMAND
;
2546 Common_Timeslot_Reconfigure_t Common_Timeslot_Reconfigure_Data
;
2551 TRDynamic_Allocation_t Dynamic_Allocation
;
2552 uint8_t Fixed_AllocationDummy
;
2555 bool Exist_AdditionsR99
;
2556 PTR_GPRS_AdditionsR99_t AdditionsR99
;
2561 bool Exist_COMPACT_ReducedMA
;
2562 COMPACT_ReducedMA_t COMPACT_ReducedMA
;
2564 uint8_t EGPRS_ChannelCodingCommand
;
2567 bool Exist_DOWNLINK_EGPRS_WindowSize
;
2568 uint8_t DOWNLINK_EGPRS_WindowSize
;
2570 bool Exist_UPLINK_EGPRS_WindowSize
;
2571 uint8_t UPLINK_EGPRS_WindowSize
;
2573 uint8_t LINK_QUALITY_MEASUREMENT_MODE
;
2575 bool Exist_Packet_Extended_Timing_Advance
;
2576 uint8_t Packet_Extended_Timing_Advance
;
2578 Common_Timeslot_Reconfigure_t Common_Timeslot_Reconfigure_Data
;
2583 TRDynamic_Allocation_t Dynamic_Allocation
;
2584 uint8_t FixedAllocationDummy
;
2593 PTR_EGPRS_00_t PTR_EGPRS_00
;
2594 uint8_t extension_01
;
2595 uint8_t extension_10
;
2596 uint8_t extension_11
;
2610 uint8_t MESSAGE_TYPE
;
2613 Global_TFI_t Global_TFI
;
2618 PTR_GPRS_t PTR_GPRS_Struct
;
2619 PTR_EGPRS_t PTR_EGPRS_Struct
;
2621 } Packet_Timeslot_Reconfigure_t
;
2624 /* < PSI1 message content > */
2627 uint8_t ACC_CONTR_CLASS
[2];
2628 uint8_t MAX_RETRANS
[4];
2632 uint8_t Exist_PERSISTENCE_LEVEL
;
2633 uint8_t PERSISTENCE_LEVEL
[4];
2639 uint8_t BS_PBCCH_BLKS
;
2640 uint8_t BS_PAG_BLKS_RES
;
2641 uint8_t BS_PRACH_BLKS
;
2642 } PCCCH_Organization_t
;
2646 uint8_t LB_MS_TXPWR_MAX_CCH
;
2647 } PSI1_AdditionsR6_t
;
2653 uint8_t BandIndicator
;
2654 bool Exist_AdditionsR6
;
2655 PSI1_AdditionsR6_t AdditionsR6
;
2656 } PSI1_AdditionsR99_t
;
2660 uint8_t MESSAGE_TYPE
;
2663 uint8_t PBCCH_CHANGE_MARK
;
2664 uint8_t PSI_CHANGE_FIELD
;
2665 uint8_t PSI1_REPEAT_PERIOD
;
2666 uint8_t PSI_COUNT_LR
;
2668 uint8_t Exist_PSI_COUNT_HR
;
2669 uint8_t PSI_COUNT_HR
;
2671 uint8_t MEASUREMENT_ORDER
;
2672 GPRS_Cell_Options_t GPRS_Cell_Options
;
2673 PRACH_Control_t PRACH_Control
;
2674 PCCCH_Organization_t PCCCH_Organization
;
2675 Global_Power_Control_Parameters_t Global_Power_Control_Parameters
;
2676 uint8_t PSI_STATUS_IND
;
2678 bool Exist_AdditionsR99
;
2679 PSI1_AdditionsR99_t AdditionsR99
;
2682 /* < PSI2 message content > */
2688 uint8_t Contents
[15 + 3];/* octet (val(Length of RFL contents) + 3) */
2689 } Reference_Frequency_t
;
2694 uint8_t RFL_Number
[MAX_RFLS
];
2695 } Cell_Allocation_t
;
2700 GPRS_Mobile_Allocation_t Mobile_Allocation
;
2706 uint8_t TIMESLOT_ALLOCATION
;
2707 } Non_Hopping_PCCCH_Carriers_t
;
2711 uint8_t Count_Carriers
;
2712 Non_Hopping_PCCCH_Carriers_t Carriers
[7];
2713 } NonHoppingPCCCH_t
;
2718 uint8_t TIMESLOT_ALLOCATION
;
2719 } Hopping_PCCCH_Carriers_t
;
2725 uint8_t Count_Carriers
;
2726 Hopping_PCCCH_Carriers_t Carriers
[10];/* MAX_PCCCH but 10 is theoretical max. */
2736 NonHoppingPCCCH_t NonHopping
;
2737 HoppingPCCCH_t Hopping
;
2739 } PCCCH_Description_t
;
2745 CellId_t Cell_Identity
;
2746 } Cell_Identification_t
;
2752 uint8_t Exist_T3212
;
2758 uint8_t RADIO_LINK_TIMEOUT
;
2759 uint8_t BS_AG_BLKS_RES
;
2761 uint8_t BS_PA_MFRMS
;
2762 uint8_t MAX_RETRANS
;
2765 uint8_t MS_TXPWR_MAX_CCCH
;
2767 uint8_t Exist_Extension_Bits
;
2768 Extension_Bits_t Extension_Bits
;
2769 } Non_GPRS_Cell_Options_t
;
2773 uint8_t MESSAGE_TYPE
;
2775 uint8_t CHANGE_MARK
;
2779 uint8_t Exist_Cell_Identification
;
2780 Cell_Identification_t Cell_Identification
;
2782 uint8_t Exist_Non_GPRS_Cell_Options
;
2783 Non_GPRS_Cell_Options_t Non_GPRS_Cell_Options
;
2785 uint8_t Count_Reference_Frequency
;
2786 Reference_Frequency_t Reference_Frequency
[MAX_RFLS
];
2788 Cell_Allocation_t Cell_Allocation
;
2790 uint8_t Count_GPRS_MA
;
2791 PSI2_MA_t GPRS_MA
[MAX_MA_LISTS_IN_PSI2
];
2793 uint8_t Count_PCCCH_Description
;
2794 PCCCH_Description_t PCCCH_Description
[7];/* MAX_PCCCH but it is impossible that more than 7 can be decoded */
2797 /* < PSI3 message content > */
2800 uint8_t PRIORITY_CLASS
;
2806 uint8_t CELL_BAR_ACCESS_2
;
2808 uint8_t GPRS_RXLEV_ACCESS_MIN
;
2809 uint8_t GPRS_MS_TXPWR_MAX_CCH
;
2813 uint8_t MULTIBAND_REPORTING
;
2814 } Serving_Cell_params_t
;
2818 uint8_t GPRS_CELL_RESELECT_HYSTERESIS
;
2821 uint8_t RANDOM_ACCESS_RETRY
;
2823 uint8_t Exist_T_RESEL
;
2826 uint8_t Exist_RA_RESELECT_HYSTERESIS
;
2827 uint8_t RA_RESELECT_HYSTERESIS
;
2832 uint8_t PBCCH_LOCATION
;
2833 uint8_t PSI1_REPEAT_PERIOD
;
2834 } Location_Repeat_t
;
2841 uint8_t SI13_LOCATION
;
2842 Location_Repeat_t lr
;
2844 } SI13_PBCCH_Location_t
;
2849 uint8_t CELL_BAR_ACCESS_2
;
2851 uint8_t SAME_RA_AS_SERVING_CELL
;
2853 uint8_t Exist_RXLEV_and_TXPWR
;
2854 uint8_t GPRS_RXLEV_ACCESS_MIN
;
2855 uint8_t GPRS_MS_TXPWR_MAX_CCH
;
2857 uint8_t Exist_OFFSET_and_TIME
;
2858 uint8_t GPRS_TEMPORARY_OFFSET
;
2859 uint8_t GPRS_PENALTY_TIME
;
2861 uint8_t Exist_GPRS_RESELECT_OFFSET
;
2862 uint8_t GPRS_RESELECT_OFFSET
;
2867 uint8_t Exist_SI13_PBCCH_Location
;
2868 SI13_PBCCH_Location_t SI13_PBCCH_Location
;
2871 /* Neighbour cell list as used in PSI3 and PSI3bis */
2874 uint8_t FREQ_DIFF_LENGTH
;
2875 uint8_t FREQUENCY_DIFF
;
2877 Cell_Selection_t Cell_SelectionParams
;
2878 } Cell_Selection_Params_With_FreqDiff_t
;
2882 uint16_t START_FREQUENCY
;
2883 Cell_Selection_t Cell_Selection
;
2884 uint8_t NR_OF_REMAINING_CELLS
;
2885 uint8_t FREQ_DIFF_LENGTH
;
2887 Cell_Selection_Params_With_FreqDiff_t Cell_Selection_Params_With_FreqDiff
[16];
2888 } NeighbourCellParameters_t
;
2893 NeighbourCellParameters_t Parameters
[32];
2894 } NeighbourCellList_t
;
2896 /* < PSI3 message content > */
2901 uint8_t CELL_BAR_ACCESS_2
;
2903 uint8_t SAME_RA_AS_SERVING_CELL
;
2904 uint8_t Exist_GPRS_RXLEV_ACCESS_MIN
;
2905 uint8_t GPRS_RXLEV_ACCESS_MIN
;
2906 uint8_t GPRS_MS_TXPWR_MAX_CCH
;
2907 uint8_t Exist_GPRS_TEMPORARY_OFFSET
;
2908 uint8_t GPRS_TEMPORARY_OFFSET
;
2909 uint8_t GPRS_PENALTY_TIME
;
2910 uint8_t Exist_GPRS_RESELECT_OFFSET
;
2911 uint8_t GPRS_RESELECT_OFFSET
;
2912 uint8_t Exist_Hcs_Parm
;
2914 uint8_t Exist_TIME_GROUP
;
2916 uint8_t Exist_GUAR_CONSTANT_PWR_BLKS
;
2917 uint8_t GUAR_CONSTANT_PWR_BLKS
;
2918 } COMPACT_Cell_Sel_t
;
2922 uint8_t FREQ_DIFF_LENGTH
;
2923 uint16_t FREQUENCY_DIFF
;
2924 COMPACT_Cell_Sel_t COMPACT_Cell_Sel_Remain_Cells
;
2925 } COMPACT_Neighbour_Cell_Param_Remaining_t
;
2929 uint16_t START_FREQUENCY
;
2930 COMPACT_Cell_Sel_t COMPACT_Cell_Sel
;
2931 uint8_t NR_OF_REMAINING_CELLS
;
2932 uint8_t FREQ_DIFF_LENGTH
;
2933 COMPACT_Neighbour_Cell_Param_Remaining_t COMPACT_Neighbour_Cell_Param_Remaining
[16];
2934 } COMPACT_Neighbour_Cell_Param_t
;
2938 Cell_Identification_t Cell_Identification
;
2939 uint8_t COMPACT_Neighbour_Cell_Param_Count
;
2940 COMPACT_Neighbour_Cell_Param_t COMPACT_Neighbour_Cell_Param
[8];
2945 uint8_t Exist_CCN_Support_Desc
;
2946 CCN_Support_Description_t CCN_Support_Desc
;
2947 } PSI3_AdditionR4_t
;
2951 uint8_t Exist_COMPACT_Info
;
2952 COMPACT_Info_t COMPACT_Info
;
2953 uint8_t Exist_AdditionR4
;
2954 PSI3_AdditionR4_t AdditionR4
;
2955 } PSI3_AdditionR99_t
;
2959 LSA_ID_Info_t Scell_LSA_ID_Info
;
2960 uint8_t Exist_LSA_Parameters
;
2961 LSA_Parameters_t LSA_Parameters
;
2962 uint8_t Exist_AdditionR99
;
2963 PSI3_AdditionR99_t AdditionR99
;
2964 } PSI3_AdditionR98_t
;
2968 uint8_t MESSAGE_TYPE
;
2970 uint8_t CHANGE_MARK
;
2973 Serving_Cell_params_t Serving_Cell_params
;
2975 Gen_Cell_Sel_t General_Cell_Selection
;
2976 NeighbourCellList_t NeighbourCellList
;
2978 uint8_t Exist_AdditionR98
;
2979 PSI3_AdditionR98_t AdditionR98
;
2982 /* < PSI3_BIS message content > */
2985 uint8_t MESSAGE_TYPE
;
2987 uint8_t CHANGE_MARK
;
2991 NeighbourCellList_t NeighbourCellList
;
2994 /* < PSI4 message content > */
3010 uint8_t TIMESLOT_ALLOCATION
;
3015 /* Channel_Group_t Channel_Group
3017 * the first one is unpacked in the index
3019 uint8_t Count_Channel_Group
;
3020 Channel_Group_t Channel_Group
[8];
3025 uint8_t MESSAGE_TYPE
;
3028 uint8_t CHANGE_MARK
;
3032 Channel_List_t Channel_List
;
3037 /* < PSI5 message content > */
3040 uint8_t existRepParamsFDD
;
3041 uint8_t RepQuantFDD
;
3042 uint8_t MultiratReportingFDD
;
3044 uint8_t existReportingParamsFDD
;
3045 uint8_t ReportingOffsetFDD
;
3046 uint8_t ReportingThresholdFDD
;
3048 uint8_t existMultiratReportingTDD
;
3049 uint8_t MultiratReportingTDD
;
3051 uint8_t existOffsetThresholdTDD
;
3052 uint8_t ReportingOffsetTDD
;
3053 uint8_t ReportingThresholdTDD
;
3054 } GPRSMeasurementParams3G_PSI5_t
;
3058 uint8_t REPORT_TYPE
;
3059 uint8_t REPORTING_RATE
;
3060 uint8_t INVALID_BSIC_REPORTING
;
3061 uint8_t Exist_NCC_PERMITTED
;
3062 uint8_t NCC_PERMITTED
;
3064 bool Exist_GPRSMeasurementParams
;
3065 MeasurementParams_t GPRSMeasurementParams
;
3066 bool Exist_GPRSMeasurementParams3G
;
3067 GPRSMeasurementParams3G_PSI5_t GPRSMeasurementParams3G
;
3068 } ENH_Reporting_Parameters_t
;
3072 uint8_t Exist_OffsetThreshold_700
;
3073 OffsetThreshold_t OffsetThreshold_700
;
3074 uint8_t Exist_OffsetThreshold_810
;
3075 OffsetThreshold_t OffsetThreshold_810
;
3080 uint8_t Exist_GPRS_AdditionalMeasurementParams3G
;
3081 GPRS_AdditionalMeasurementParams3G_t GPRS_AdditionalMeasurementParams3G
;
3082 uint8_t Exist_AdditionsR7
;
3083 PSI5_AdditionsR7 AdditionsR7
;
3088 uint8_t Exist_ENH_Reporting_Param
;
3089 ENH_Reporting_Parameters_t ENH_Reporting_Param
;
3090 uint8_t Exist_AdditionsR5
;
3091 PSI5_AdditionsR5 AdditionisR5
;
3092 } PSI5_AdditionsR99
;
3096 uint8_t MESSAGE_TYPE
;
3099 uint8_t CHANGE_MARK
;
3103 uint8_t Eixst_NC_Meas_Param
;
3104 NC_Measurement_Parameters_t NC_Meas_Param
;
3105 uint8_t Exist_AdditionsR99
;
3106 PSI5_AdditionsR99 AdditionsR99
;
3112 /* < PSI13 message content >
3113 * Combined with SI13
3117 uint8_t Exist_LB_MS_TXPWR_MAX_CCH
;
3118 uint8_t LB_MS_TXPWR_MAX_CCH
;
3119 uint8_t SI2n_SUPPORT
;
3122 typedef PSI13_AdditionsR6 SI13_AdditionsR6
;
3126 uint8_t SI_STATUS_IND
;
3127 uint8_t Exist_AdditionsR6
;
3128 PSI13_AdditionsR6 AdditionsR6
;
3131 typedef PSI13_AdditionsR4 SI13_AdditionsR4
;
3136 bool Exist_AdditionsR4
;
3137 PSI13_AdditionsR4 AdditionsR4
;
3140 typedef PSI13_AdditionR99 SI13_AdditionR99
;
3145 uint8_t MESSAGE_TYPE
;
3148 uint8_t BCCH_CHANGE_MARK
;
3149 uint8_t SI_CHANGE_FIELD
;
3152 uint8_t SI13_CHANGE_MARK
;
3153 GPRS_Mobile_Allocation_t GPRS_Mobile_Allocation
;
3158 PBCCH_Not_present_t PBCCH_Not_present
;
3159 PBCCH_present_t PBCCH_present
;
3162 bool Exist_AdditionsR99
;
3163 PSI13_AdditionR99 AdditionsR99
;
3166 /* SI_13_t is combined in the PSI13 structure */
3167 typedef PSI13_t SI_13_t
;
3169 /* < Packet PRACH Parameters message content > */
3172 uint8_t MESSAGE_TYPE
;
3176 PRACH_Control_t PRACH_Control
;
3177 } Packet_PRACH_Parameters_t
;
3179 /* < Packet Access Reject message content > */
3186 Packet_Request_Reference_t Packet_Request_Reference
;
3187 Global_TFI_t Global_TFI
;
3196 uint8_t WAIT_INDICATION
;
3197 uint8_t WAIT_INDICATION_SIZE
;
3202 uint8_t MESSAGE_TYPE
;
3206 uint8_t Count_Reject
;
3208 } Packet_Access_Reject_t
;
3210 /* < Packet Cell Change Order message content > */
3213 uint8_t CELL_BAR_ACCESS_2
;
3215 uint8_t SAME_RA_AS_SERVING_CELL
;
3217 uint8_t Exist_RXLEV_and_TXPWR
;
3218 uint8_t GPRS_RXLEV_ACCESS_MIN
;
3219 uint8_t GPRS_MS_TXPWR_MAX_CCH
;
3221 uint8_t Exist_OFFSET_and_TIME
;
3222 uint8_t GPRS_TEMPORARY_OFFSET
;
3223 uint8_t GPRS_PENALTY_TIME
;
3225 uint8_t Exist_GPRS_RESELECT_OFFSET
;
3226 uint8_t GPRS_RESELECT_OFFSET
;
3231 uint8_t Exist_SI13_PBCCH_Location
;
3232 SI13_PBCCH_Location_t SI13_PBCCH_Location
;
3233 } Cell_Selection_2_t
;
3237 uint8_t FREQUENCY_DIFF
;
3239 Cell_Selection_t Cell_Selection
;
3244 uint8_t FREQ_DIFF_LENGTH
;
3245 uint8_t FREQUENCY_DIFF
;
3248 bool Exist_CellSelectionParams
;
3249 Cell_Selection_2_t CellSelectionParams
;
3250 } CellSelectionParamsWithFreqDiff_t
;
3254 uint16_t START_FREQUENCY
;
3257 uint8_t Exist_Cell_Selection
;
3258 Cell_Selection_2_t Cell_Selection
;
3260 uint8_t NR_OF_FREQUENCIES
;
3261 uint8_t FREQ_DIFF_LENGTH
;
3264 CellSelectionParamsWithFreqDiff_t CellSelectionParamsWithFreqDiff
[32];
3265 } Add_Frequency_list_t
;
3269 uint8_t REMOVED_FREQ_INDEX
;
3270 } Removed_Freq_Index_t
;
3274 uint8_t Exist_REMOVED_FREQ
;
3275 uint8_t NR_OF_REMOVED_FREQ
;
3276 Removed_Freq_Index_t Removed_Freq_Index
[32];
3278 uint8_t Count_Add_Frequency
;
3279 Add_Frequency_list_t Add_Frequency
[32];
3280 } NC_Frequency_list_t
;
3285 uint8_t NETWORK_CONTROL_ORDER
;
3288 uint8_t NC_NON_DRX_PERIOD
;
3289 uint8_t NC_REPORTING_PERIOD_I
;
3290 uint8_t NC_REPORTING_PERIOD_T
;
3292 uint8_t Exist_NC_FREQUENCY_LIST
;
3293 NC_Frequency_list_t NC_Frequency_list
;
3294 } NC_Measurement_Parameters_with_Frequency_List_t
;
3311 uint8_t RXLEV_SERVING_CELL
;
3312 } Serving_Cell_Data_t
;
3316 uint8_t FREQUENCY_N
;
3317 uint8_t Exist_BSIC_N
;
3320 } NC_Measurements_t
;
3324 uint8_t BCCH_FREQ_N
;
3327 } RepeatedInvalid_BSIC_Info_t
;
3331 uint8_t Exist_REPORTING_QUANTITY
;
3332 uint8_t REPORTING_QUANTITY
;
3333 } REPORTING_QUANTITY_Instance_t
;
3338 Serving_Cell_Data_t Serving_Cell_Data
;
3340 uint8_t NUMBER_OF_NC_MEASUREMENTS
;
3341 NC_Measurements_t NC_Measurements
[6]; /* NC_Measurements * (val(NUMBER_OF_NC_MEASUREMENTS))
3342 Max 7 NC Measurements in one PACKET MEASUREMENT REPORT,
3343 but only 6 cells are updated in PACKET IDLE. */
3344 } NC_Measurement_Report_t
;
3348 uint8_t EXT_REPORTING_TYPE
;
3350 uint8_t Exist_I_LEVEL
;
3357 uint8_t NUMBER_OF_EXT_MEASUREMENTS
;
3358 NC_Measurements_t EXT_Measurements
[9]; /* EXT_Measurements * (val(NUMBER_OF_NC_MEASUREMENTS))
3359 Max 9 Ext Measurements in one PACKET MEASUREMENT REPORT */
3360 } EXT_Measurement_Report_t
;
3364 uint8_t CELL_LIST_INDEX_3G
;
3365 uint8_t REPORTING_QUANTITY
;
3366 } Measurements_3G_t
;
3371 uint8_t Exist_PLMN_ID
;
3375 uint8_t REPORTING_QUANTITY
;
3376 } UTRAN_CSG_Measurement_Report_t
;
3380 uint32_t EUTRAN_CGI
;
3381 uint16_t Tracking_Area_Code
;
3382 uint8_t Exist_PLMN_ID
;
3386 uint8_t REPORTING_QUANTITY
;
3387 } EUTRAN_CSG_Measurement_Report_t
;
3391 bool Exist_UTRAN_CSG_Meas_Rpt
;
3392 UTRAN_CSG_Measurement_Report_t UTRAN_CSG_Meas_Rpt
;
3393 bool Exist_EUTRAN_CSG_Meas_Rpt
;
3394 EUTRAN_CSG_Measurement_Report_t EUTRAN_CSG_Meas_Rpt
;
3395 } PMR_AdditionsR9_t
;
3399 uint8_t EUTRAN_FREQUENCY_INDEX
;
3400 uint16_t CELL_IDENTITY
;
3401 uint8_t REPORTING_QUANTITY
;
3402 } EUTRAN_Measurement_Report_Body_t
;
3407 EUTRAN_Measurement_Report_Body_t Report
[4];
3408 } EUTRAN_Measurement_Report_t
;
3412 bool Exist_EUTRAN_Meas_Rpt
;
3413 EUTRAN_Measurement_Report_t EUTRAN_Meas_Rpt
;
3414 bool Exist_AdditionsR9
;
3415 PMR_AdditionsR9_t AdditionsR9
;
3416 } PMR_AdditionsR8_t
;
3422 bool Exist_AdditionsR8
;
3423 PMR_AdditionsR8_t AdditionsR8
;
3424 } PMR_AdditionsR5_t
;
3433 uint8_t PSI3_CHANGE_MARK
;
3437 /* N_3G bit(3): max value 7
3438 * Report part (csn): {<3G_CELL_LIST_INDEX:bit(7)><REPORTING_QUANTITY:bit(6)>}*(val(N_3G + 1))
3439 * Max 6 3G measurement structs in one PMR
3441 bool Exist_MeasurementReport3G
;
3443 Measurements_3G_t Measurements_3G
[6];
3445 bool Exist_AdditionsR5
;
3446 PMR_AdditionsR5_t AdditionsR5
;
3447 } PMR_AdditionsR99_t
;
3451 uint8_t MESSAGE_TYPE
;
3452 uint8_t PayloadType
;
3457 uint8_t Exist_PSI5_CHANGE_MARK
;
3458 uint8_t PSI5_CHANGE_MARK
;
3463 NC_Measurement_Report_t NC_Measurement_Report
;
3464 EXT_Measurement_Report_t EXT_Measurement_Report
;
3467 bool Exist_AdditionsR99
;
3468 PMR_AdditionsR99_t AdditionsR99
;
3469 } Packet_Measurement_Report_t
;
3471 #define INV_BSIC_LIST_LEN (16)
3473 #define REPORT_QUANTITY_LIST_LEN (96) /* Specification specified up to 96 */
3482 uint8_t PSI3_CHANGE_MARK
;
3489 uint8_t Exist_Serving_Cell_Data
;
3490 Serving_Cell_Data_t Serving_Cell_Data
;
3492 uint8_t Count_RepeatedInvalid_BSIC_Info
;
3493 RepeatedInvalid_BSIC_Info_t RepeatedInvalid_BSIC_Info
[INV_BSIC_LIST_LEN
];
3495 uint8_t Exist_ReportBitmap
;
3496 uint8_t Count_REPORTING_QUANTITY_Instances
;
3497 REPORTING_QUANTITY_Instance_t REPORTING_QUANTITY_Instances
[REPORT_QUANTITY_LIST_LEN
];
3499 } ENH_NC_Measurement_Report_t
;
3503 uint8_t Exist_UTRAN_CSG_Target_Cell
;
3504 UTRAN_CSG_Target_Cell_t UTRAN_CSG_Target_Cell
;
3505 uint8_t Exist_EUTRAN_CSG_Target_Cell
;
3506 EUTRAN_CSG_Target_Cell_t EUTRAN_CSG_Target_Cell
;
3507 } PEMR_AdditionsR9_t
;
3511 bool Exist_REPORTING_QUANTITY
;
3512 uint8_t REPORTING_QUANTITY
;
3513 } Bitmap_Report_Quantity_t
;
3517 uint8_t BITMAP_LENGTH
;
3518 Bitmap_Report_Quantity_t Bitmap_Report_Quantity
[128];
3519 bool Exist_EUTRAN_Meas_Rpt
;
3520 EUTRAN_Measurement_Report_t EUTRAN_Meas_Rpt
;
3521 bool Exist_AdditionsR9
;
3522 PEMR_AdditionsR9_t AdditionsR9
;
3523 } PEMR_AdditionsR8_t
;
3527 bool Exist_GRNTI_Ext
;
3529 bool Exist_AdditionsR8
;
3530 PEMR_AdditionsR8_t AdditionsR8
;
3531 } PEMR_AdditionsR5_t
;
3535 uint8_t MESSAGE_TYPE
;
3536 uint8_t PayloadType
;
3542 ENH_NC_Measurement_Report_t Measurements
;
3544 bool Exist_AdditionsR5
;
3545 PEMR_AdditionsR5_t AdditionsR5
;
3546 } Packet_Enh_Measurement_Report_t
;
3550 uint8_t RXLEV_SERVING_CELL
;
3552 uint8_t NUMBER_OF_NC_MEASUREMENTS
;
3553 NC_Measurements_t NC_Measurements
[6]; /* NC_Measurements * (val(NUMBER_OF_NC_MEASUREMENTS))
3554 Max 7 NC Measurements in one PACKET MEASUREMENT REPORT,
3555 but only 6 cells are updated in PACKET IDLE. */
3556 } CCN_Measurement_Report_t
;
3562 } Target_Cell_GSM_Notif_t
;
3567 uint8_t Exist_Bandwith_FDD
;
3568 uint8_t BANDWITH_FDD
;
3569 uint16_t SCRAMBLING_CODE
;
3570 } FDD_Target_Cell_Notif_t
;
3575 uint8_t Exist_Bandwith_TDD
;
3576 uint8_t BANDWITH_TDD
;
3577 uint8_t CELL_PARAMETER
;
3578 uint8_t Sync_Case_TSTD
;
3579 } TDD_Target_Cell_Notif_t
;
3583 uint8_t Exist_FDD_Description
;
3584 FDD_Target_Cell_Notif_t FDD_Target_Cell_Notif
;
3585 uint8_t Exist_TDD_Description
;
3586 TDD_Target_Cell_Notif_t TDD_Target_Cell
;
3587 uint8_t REPORTING_QUANTITY
;
3588 } Target_Cell_3G_Notif_t
;
3593 uint8_t Exist_Measurement_Bandwidth
;
3594 uint8_t Measurement_Bandwidth
;
3595 uint16_t Physical_Layer_Cell_Identity
;
3596 uint8_t Reporting_Quantity
;
3597 } Target_EUTRAN_Cell_Notif_t
;
3601 uint8_t EUTRAN_FREQUENCY_INDEX
;
3602 uint16_t CELL_IDENTITY
;
3603 uint8_t REPORTING_QUANTITY
;
3604 } Eutran_Ccn_Measurement_Report_Cell_t
;
3608 bool ThreeG_BA_USED
;
3610 Eutran_Ccn_Measurement_Report_Cell_t Eutran_Ccn_Measurement_Report_Cell
[4];
3611 } Eutran_Ccn_Measurement_Report_t
;
3615 uint8_t Exist_Arfcn
;
3618 uint8_t Exist_3G_Target_Cell
;
3619 Target_Cell_3G_Notif_t Target_Cell_3G_Notif
;
3620 uint8_t Exist_Eutran_Target_Cell
;
3621 Target_EUTRAN_Cell_Notif_t Target_EUTRAN_Cell
;
3622 uint8_t Exist_Eutran_Ccn_Measurement_Report
;
3623 Eutran_Ccn_Measurement_Report_t Eutran_Ccn_Measurement_Report
;
3624 } Target_Cell_4G_Notif_t
;
3631 UTRAN_CSG_Measurement_Report_t UTRAN_CSG_Measurement_Report
;
3632 EUTRAN_CSG_Measurement_Report_t EUTRAN_CSG_Measurement_Report
;
3634 uint8_t Exist_Eutran_Ccn_Measurement_Report
;
3635 Eutran_Ccn_Measurement_Report_t Eutran_Ccn_Measurement_Report
;
3636 } Target_Cell_CSG_Notif_t
;
3643 Target_Cell_4G_Notif_t Target_Cell_4G_Notif
;
3644 Target_Cell_CSG_Notif_t Target_Cell_CSG_Notif
;
3646 } Target_Other_RAT_2_Notif_t
;
3653 Target_Cell_3G_Notif_t Target_Cell_3G_Notif
;
3654 Target_Other_RAT_2_Notif_t Target_Other_RAT_2_Notif
;
3656 } Target_Other_RAT_Notif_t
;
3663 Target_Cell_GSM_Notif_t Target_Cell_GSM_Notif
;
3664 Target_Other_RAT_Notif_t Target_Other_RAT_Notif
;
3670 uint8_t Exist_BA_USED_3G
;
3674 Measurements_3G_t Measurements_3G
[6];
3675 } PCCN_AdditionsR6_t
;
3677 /* < Packet Cell Change Notification message contents > */
3680 uint8_t MESSAGE_TYPE
;
3681 uint8_t PayloadType
;
3685 Global_TFI_t Global_TFI
;
3687 Target_Cell_t Target_Cell
;
3693 uint8_t PSI3_CHANGE_MARK
;
3696 uint8_t PCCN_SENDING
;
3697 CCN_Measurement_Report_t CCN_Measurement_Report
;
3699 bool Exist_AdditionsR6
;
3700 PCCN_AdditionsR6_t AdditionsR6
;
3701 } Packet_Cell_Change_Notification_t
;
3703 /* < Packet Cell Change Order message contents > */
3708 uint8_t FrequencyScrolling
;
3713 #define MAX_BSIC_DESCS (19) /* Due to message size (23 bytes) and header etc,
3714 * there cannot be more than 19 DESCS.
3719 bool Exist_IndexStartBA
;
3720 uint8_t IndexStartBA
;
3722 uint8_t NumRemainingBSICs
;
3723 BSICDesc_t BSICDesc
[MAX_BSIC_DESCS
];
3726 typedef BSICList_t GPRSBSICList_t
;
3728 #define MAX_RTD_VALUES (6)
3732 uint8_t NumRTDValues
;
3733 uint16_t RTD
[MAX_RTD_VALUES
];
3738 bool Exist_StartValue
;
3740 } BAIndexStartRTD_t
;
3742 #define MAX_RTD_FREQS (32)
3746 BAIndexStartRTD_t BAIndexStart
;
3748 RTDValues_t RTD_s
[MAX_RTD_FREQS
];
3753 bool Exist_ListRTD6
;
3756 bool Exist_ListRTD12
;
3757 RTDList_t ListRTD12
;
3761 typedef MeasurementParams_t GPRSMeasurementParams_PMO_PCCO_t
;
3764 bool existMultiratReporting
;
3765 uint8_t MultiratReporting
;
3767 bool existOffsetThreshold
;
3768 OffsetThreshold_t OffsetThreshold
;
3769 } MultiratParams3G_t
;
3774 uint8_t SearchPrio3G
;
3776 bool existRepParamsFDD
;
3777 uint8_t RepQuantFDD
;
3778 uint8_t MultiratReportingFDD
;
3780 bool existOffsetThreshold
;
3781 OffsetThreshold_t OffsetThreshold
;
3783 MultiratParams3G_t ParamsTDD
;
3784 MultiratParams3G_t ParamsCDMA2000
;
3785 } ENH_GPRSMeasurementParams3G_PMO_t
;
3791 uint8_t SearchPrio3G
;
3793 bool existRepParamsFDD
;
3794 uint8_t RepQuantFDD
;
3795 uint8_t MultiratReportingFDD
;
3797 bool existOffsetThreshold
;
3798 OffsetThreshold_t OffsetThreshold
;
3800 MultiratParams3G_t ParamsTDD
;
3801 } ENH_GPRSMeasurementParams3G_PCCO_t
;
3807 uint8_t SearchPrio3G
;
3809 uint8_t existRepParamsFDD
;
3810 uint8_t RepQuantFDD
;
3811 uint8_t MultiratReportingFDD
;
3813 uint8_t existReportingParamsFDD
;
3814 uint8_t ReportingOffsetFDD
;
3815 uint8_t ReportingThresholdFDD
;
3817 uint8_t existMultiratReportingTDD
;
3818 uint8_t MultiratReportingTDD
;
3820 uint8_t existOffsetThresholdTDD
;
3821 uint8_t ReportingOffsetTDD
;
3822 uint8_t ReportingThresholdTDD
;
3823 } GPRSMeasurementParams3G_t
;
3827 uint8_t REMOVED_3GCELL_INDEX
;
3828 uint8_t CELL_DIFF_LENGTH_3G
;
3829 uint8_t CELL_DIFF_3G
;
3842 } Removed3GCellDescription_t
;
3846 uint8_t Complete_This
;
3847 } CDMA2000_Description_t
;
3854 uint8_t BitsInCellInfo
;
3855 uint8_t CellInfo
[16]; /* bitmap compressed according to "Range 1024" algorithm (04.18/9.1.54) */
3856 } UTRAN_FDD_NeighbourCells_t
;
3859 bool existBandwidth
;
3861 uint8_t NrOfFrequencies
;
3862 UTRAN_FDD_NeighbourCells_t CellParams
[8];
3863 } UTRAN_FDD_Description_t
;
3870 uint8_t BitsInCellInfo
;
3871 uint8_t CellInfo
[16]; /* bitmap compressed according to "Range 512" algorithm */
3872 } UTRAN_TDD_NeighbourCells_t
;
3875 bool existBandwidth
;
3877 uint8_t NrOfFrequencies
;
3878 UTRAN_TDD_NeighbourCells_t CellParams
[8];
3879 } UTRAN_TDD_Description_t
;
3883 uint8_t Exist_Index_Start_3G
;
3884 uint8_t Index_Start_3G
;
3885 uint8_t Exist_Absolute_Index_Start_EMR
;
3886 uint8_t Absolute_Index_Start_EMR
;
3887 uint8_t Exist_UTRAN_FDD_Description
;
3888 UTRAN_FDD_Description_t UTRAN_FDD_Description
;
3889 uint8_t Exist_UTRAN_TDD_Description
;
3890 UTRAN_TDD_Description_t UTRAN_TDD_Description
;
3891 uint8_t Exist_CDMA2000_Description
;
3892 CDMA2000_Description_t CDMA2000_Description
;
3893 uint8_t Exist_Removed3GCellDescription
;
3894 Removed3GCellDescription_t Removed3GCellDescription
;
3895 } NeighbourCellDescription3G_PMO_t
;
3899 uint8_t Exist_Index_Start_3G
;
3900 uint8_t Index_Start_3G
;
3901 uint8_t Exist_Absolute_Index_Start_EMR
;
3902 uint8_t Absolute_Index_Start_EMR
;
3903 uint8_t Exist_UTRAN_FDD_Description
;
3904 UTRAN_FDD_Description_t UTRAN_FDD_Description
;
3905 uint8_t Exist_UTRAN_TDD_Description
;
3906 UTRAN_TDD_Description_t UTRAN_TDD_Description
;
3907 uint8_t Exist_Removed3GCellDescription
;
3908 Removed3GCellDescription_t Removed3GCellDescription
;
3909 } NeighbourCellDescription3G_PCCO_t
;
3917 uint8_t PSI3_CHANGE_MARK
;
3922 uint8_t REPORT_TYPE
;
3923 uint8_t REPORTING_RATE
;
3924 uint8_t INVALID_BSIC_REPORTING
;
3926 bool Exist_NeighbourCellDescription3G
;
3927 NeighbourCellDescription3G_PMO_t NeighbourCellDescription3G
;
3929 bool Exist_GPRSReportPriority
;
3930 GPRSReportPriority_t GPRSReportPriority
;
3932 bool Exist_GPRSMeasurementParams
;
3933 GPRSMeasurementParams_PMO_PCCO_t GPRSMeasurementParams
;
3934 bool Exist_GPRSMeasurementParams3G
;
3935 ENH_GPRSMeasurementParams3G_PMO_t GPRSMeasurementParams3G
;
3936 } ENH_Measurement_Parameters_PMO_t
;
3944 uint8_t PSI3_CHANGE_MARK
;
3949 uint8_t REPORT_TYPE
;
3950 uint8_t REPORTING_RATE
;
3951 uint8_t INVALID_BSIC_REPORTING
;
3953 bool Exist_NeighbourCellDescription3G
;
3954 NeighbourCellDescription3G_PCCO_t NeighbourCellDescription3G
;
3956 bool Exist_GPRSReportPriority
;
3957 GPRSReportPriority_t GPRSReportPriority
;
3959 bool Exist_GPRSMeasurementParams
;
3960 GPRSMeasurementParams_PMO_PCCO_t GPRSMeasurementParams
;
3961 bool Exist_GPRSMeasurementParams3G
;
3962 ENH_GPRSMeasurementParams3G_PCCO_t GPRSMeasurementParams3G
;
3963 } ENH_Measurement_Parameters_PCCO_t
;
3970 Global_TFI_t Global_TFI
;
3973 } PacketCellChangeOrderID_t
;
3977 uint8_t CELL_BAR_QUALIFY_3
;
3978 uint8_t Exist_SI13_Alt_PBCCH_Location
;
3979 SI13_PBCCH_Location_t SI13_Alt_PBCCH_Location
;
3980 } lu_ModeCellSelectionParameters_t
;
3984 uint8_t Exist_lu_ModeCellSelectionParams
;
3985 lu_ModeCellSelectionParameters_t lu_ModeCellSelectionParameters
;
3986 } lu_ModeCellSelectionParams_t
;
3990 lu_ModeCellSelectionParams_t lu_ModeCellSelectionParameters
;
3991 uint8_t NR_OF_FREQUENCIES
;
3992 lu_ModeCellSelectionParams_t lu_ModeCellSelectionParams
[32];
3993 } lu_ModeNeighbourCellParams_t
;
3997 uint8_t CELL_BAR_QUALIFY_3
;
3998 uint8_t SAME_RA_AS_SERVING_CELL
;
4000 uint8_t Exist_RXLEV_and_TXPWR
;
4001 uint8_t GPRS_RXLEV_ACCESS_MIN
;
4002 uint8_t GPRS_MS_TXPWR_MAX_CCH
;
4004 uint8_t Exist_OFFSET_and_TIME
;
4005 uint8_t GPRS_TEMPORARY_OFFSET
;
4006 uint8_t GPRS_PENALTY_TIME
;
4008 uint8_t Exist_GPRS_RESELECT_OFFSET
;
4009 uint8_t GPRS_RESELECT_OFFSET
;
4014 uint8_t Exist_SI13_Alt_PBCCH_Location
;
4015 SI13_PBCCH_Location_t SI13_Alt_PBCCH_Location
;
4016 } lu_ModeOnlyCellSelection_t
;
4020 uint8_t FREQ_DIFF_LENGTH
;
4021 uint8_t FREQUENCY_DIFF
;
4024 bool Exist_lu_ModeOnlyCellSelectionParams
;
4025 lu_ModeOnlyCellSelection_t lu_ModeOnlyCellSelectionParams
;
4026 } lu_ModeOnlyCellSelectionParamsWithFreqDiff_t
;
4030 uint16_t START_FREQUENCY
;
4033 uint8_t Exist_lu_ModeCellSelection
;
4034 lu_ModeOnlyCellSelection_t lu_ModeOnlyCellSelection
;
4036 uint8_t NR_OF_FREQUENCIES
;
4037 uint8_t FREQ_DIFF_LENGTH
;
4039 lu_ModeOnlyCellSelectionParamsWithFreqDiff_t lu_ModeOnlyCellSelectionParamsWithFreqDiff
[32];
4040 } Add_lu_ModeOnlyFrequencyList_t
;
4044 uint8_t Count_Add_lu_ModeOnlyFrequencyList
;
4045 Add_lu_ModeOnlyFrequencyList_t Add_lu_ModeOnlyFrequencyList
[32];
4046 } NC_lu_ModeOnlyCapableCellList_t
;
4051 uint8_t NumberOfFrequencyIndexes
;
4052 uint8_t UTRAN_FREQUENCY_INDEX_a
[18];
4054 bool existUTRAN_PRIORITY
;
4055 uint8_t UTRAN_PRIORITY
;
4057 uint8_t THRESH_UTRAN_high
;
4059 bool existTHRESH_UTRAN_low
;
4060 uint8_t THRESH_UTRAN_low
;
4062 bool existUTRAN_QRXLEVMIN
;
4063 uint8_t UTRAN_QRXLEVMIN
;
4064 } RepeatedUTRAN_PriorityParameters_t
;
4068 bool existDEFAULT_UTRAN_Parameters
;
4069 uint8_t DEFAULT_UTRAN_PRIORITY
;
4070 uint8_t DEFAULT_THRESH_UTRAN
;
4071 uint8_t DEFAULT_UTRAN_QRXLEVMIN
;
4073 uint8_t NumberOfPriorityParameters
;
4074 RepeatedUTRAN_PriorityParameters_t RepeatedUTRAN_PriorityParameters_a
[8];
4075 } PriorityParametersDescription3G_PMO_t
;
4079 bool existEUTRAN_FDD_REPORTING_THRESHOLD_OFFSET
;
4080 uint8_t EUTRAN_FDD_REPORTING_THRESHOLD
;
4081 bool existEUTRAN_FDD_REPORTING_THRESHOLD_2
;
4082 uint8_t EUTRAN_FDD_REPORTING_THRESHOLD_2
;
4083 bool existEUTRAN_FDD_REPORTING_OFFSET
;
4084 uint8_t EUTRAN_FDD_REPORTING_OFFSET
;
4086 bool existEUTRAN_TDD_REPORTING_THRESHOLD_OFFSET
;
4087 uint8_t EUTRAN_TDD_REPORTING_THRESHOLD
;
4088 bool existEUTRAN_TDD_REPORTING_THRESHOLD_2
;
4089 uint8_t EUTRAN_TDD_REPORTING_THRESHOLD_2
;
4090 bool existEUTRAN_TDD_REPORTING_OFFSET
;
4091 uint8_t EUTRAN_TDD_REPORTING_OFFSET
;
4092 } EUTRAN_REPORTING_THRESHOLD_OFFSET_t
;
4096 uint8_t Qsearch_P_EUTRAN
;
4097 uint8_t EUTRAN_REP_QUANT
;
4098 uint8_t EUTRAN_MULTIRAT_REPORTING
;
4099 EUTRAN_REPORTING_THRESHOLD_OFFSET_t EUTRAN_REPORTING_THRESHOLD_OFFSET
;
4100 } GPRS_EUTRAN_MeasurementParametersDescription_t
;
4105 bool existMeasurementBandwidth
;
4106 uint8_t MeasurementBandwidth
;
4107 } RepeatedEUTRAN_Cells_t
;
4111 uint8_t nbrOfEUTRAN_Cells
;
4112 RepeatedEUTRAN_Cells_t EUTRAN_Cells_a
[6];
4114 bool existEUTRAN_PRIORITY
;
4115 uint8_t EUTRAN_PRIORITY
;
4117 uint8_t THRESH_EUTRAN_high
;
4119 bool existTHRESH_EUTRAN_low
;
4120 uint8_t THRESH_EUTRAN_low
;
4122 bool existEUTRAN_QRXLEVMIN
;
4123 uint8_t EUTRAN_QRXLEVMIN
;
4124 } RepeatedEUTRAN_NeighbourCells_t
;
4133 uint8_t PCID_Pattern_length
;
4134 uint8_t PCID_Pattern
;
4135 uint8_t PCID_Pattern_sense
;
4140 uint8_t NumberOfPCIDs
;
4141 uint16_t PCID_a
[11];
4143 bool existPCID_BITMAP_GROUP
;
4144 uint8_t PCID_BITMAP_GROUP
;
4146 uint8_t NumberOfPCID_Patterns
;
4147 PCID_Pattern_t PCID_Pattern_a
[19];
4152 uint8_t EUTRAN_FREQUENCY_INDEX
;
4153 } EUTRAN_FREQUENCY_INDEX_t
;
4157 PCID_Group_IE_t NotAllowedCells
;
4158 uint8_t NumberOfFrequencyIndexes
;
4159 EUTRAN_FREQUENCY_INDEX_t EUTRAN_FREQUENCY_INDEX_a
[28];
4160 } RepeatedEUTRAN_NotAllowedCells_t
;
4164 uint8_t NumberOfMappings
;
4165 PCID_Group_IE_t PCID_ToTA_Mapping_a
[14];
4167 uint8_t NumberOfFrequencyIndexes
;
4168 EUTRAN_FREQUENCY_INDEX_t EUTRAN_FREQUENCY_INDEX_a
[28];
4169 } RepeatedEUTRAN_PCID_to_TA_mapping_t
;
4173 uint8_t EUTRAN_CCN_ACTIVE
;
4175 bool existGPRS_EUTRAN_MeasurementParametersDescription
;
4176 GPRS_EUTRAN_MeasurementParametersDescription_t GPRS_EUTRAN_MeasurementParametersDescription
;
4178 uint8_t nbrOfRepeatedEUTRAN_NeighbourCellsStructs
;
4179 RepeatedEUTRAN_NeighbourCells_t RepeatedEUTRAN_NeighbourCells_a
[4];
4181 uint8_t NumberOfNotAllowedCells
;
4182 RepeatedEUTRAN_NotAllowedCells_t RepeatedEUTRAN_NotAllowedCells_a
[14];
4184 uint8_t NumberOfMappings
;
4185 RepeatedEUTRAN_PCID_to_TA_mapping_t RepeatedEUTRAN_PCID_to_TA_mapping_a
[19];
4186 } EUTRAN_ParametersDescription_PMO_t
;
4190 uint8_t GERAN_PRIORITY
;
4191 uint8_t THRESH_Priority_Search
;
4192 uint8_t THRESH_GSM_low
;
4194 uint8_t T_Reselection
;
4195 } ServingCellPriorityParametersDescription_t
;
4199 bool existServingCellPriorityParametersDescription
;
4200 ServingCellPriorityParametersDescription_t ServingCellPriorityParametersDescription
;
4202 bool existPriorityParametersDescription3G_PMO
;
4203 PriorityParametersDescription3G_PMO_t PriorityParametersDescription3G_PMO
;
4205 bool existEUTRAN_ParametersDescription_PMO
;
4206 EUTRAN_ParametersDescription_PMO_t EUTRAN_ParametersDescription_PMO
;
4207 } PriorityAndEUTRAN_ParametersDescription_PMO_t
;
4211 uint8_t PSC_Pattern_length
;
4212 uint8_t PSC_Pattern
;
4213 bool PSC_Pattern_sense
;
4220 uint8_t PSC_Pattern_Count
;
4221 PSC_Pattern_t PSC_Pattern
[32];
4226 PSC_Group_t CSG_PSC_SPLIT
;
4228 uint8_t UTRAN_FREQUENCY_INDEX
[32];
4229 } ThreeG_CSG_Description_Body_t
;
4234 ThreeG_CSG_Description_Body_t ThreeG_CSG_Description_Body
[32];
4235 } ThreeG_CSG_Description_t
;
4239 PSC_Group_t CSG_PCI_SPLIT
;
4241 uint8_t EUTRAN_FREQUENCY_INDEX
[32];
4242 } EUTRAN_CSG_Description_Body_t
;
4247 EUTRAN_CSG_Description_Body_t EUTRAN_CSG_Description_Body
[32];
4248 } EUTRAN_CSG_Description_t
;
4252 bool existMeasurement_Control_EUTRAN
;
4253 bool Measurement_Control_EUTRAN
;
4254 uint8_t EUTRAN_FREQUENCY_INDEX_top
;
4255 uint8_t Count_EUTRAN_FREQUENCY_INDEX
;
4256 uint8_t EUTRAN_FREQUENCY_INDEX
[32];
4258 bool existMeasurement_Control_UTRAN
;
4259 bool Measurement_Control_UTRAN
;
4260 uint8_t UTRAN_FREQUENCY_INDEX_top
;
4261 uint8_t Count_UTRAN_FREQUENCY_INDEX
;
4262 uint8_t UTRAN_FREQUENCY_INDEX
[32];
4263 } Meas_Ctrl_Param_Desp_t
;
4267 uint8_t THRESH_EUTRAN_high_Q
;
4268 bool existTHRESH_EUTRAN_low_Q
;
4269 uint8_t THRESH_EUTRAN_low_Q
;
4270 bool existEUTRAN_QQUALMIN
;
4271 uint8_t EUTRAN_QQUALMIN
;
4272 bool existEUTRAN_RSRPmin
;
4273 uint8_t EUTRAN_RSRPmin
;
4274 } Reselection_Based_On_RSRQ_t
;
4278 uint8_t Count_EUTRAN_FREQUENCY_INDEX
;
4279 uint8_t EUTRAN_FREQUENCY_INDEX
[32];
4283 uint8_t EUTRAN_Qmin
;
4284 Reselection_Based_On_RSRQ_t Reselection_Based_On_RSRQ
;
4286 } Rept_EUTRAN_Enh_Cell_Resel_Param_t
;
4291 Rept_EUTRAN_Enh_Cell_Resel_Param_t Repeated_EUTRAN_Enhanced_Cell_Reselection_Parameters
[32];
4292 } Enh_Cell_Reselect_Param_Desp_t
;
4296 bool existUTRAN_CSG_FDD_REPORTING_THRESHOLD
;
4297 uint8_t UTRAN_CSG_FDD_REPORTING_THRESHOLD
;
4298 uint8_t UTRAN_CSG_FDD_REPORTING_THRESHOLD_2
;
4299 bool existUTRAN_CSG_TDD_REPORTING_THRESHOLD
;
4300 uint8_t UTRAN_CSG_TDD_REPORTING_THRESHOLD
;
4301 } UTRAN_CSG_Cells_Reporting_Desp_t
;
4305 bool existEUTRAN_CSG_FDD_REPORTING_THRESHOLD
;
4306 uint8_t EUTRAN_CSG_FDD_REPORTING_THRESHOLD
;
4307 uint8_t EUTRAN_CSG_FDD_REPORTING_THRESHOLD_2
;
4308 bool existEUTRAN_CSG_TDD_REPORTING_THRESHOLD
;
4309 uint8_t EUTRAN_CSG_TDD_REPORTING_THRESHOLD
;
4310 uint8_t EUTRAN_CSG_TDD_REPORTING_THRESHOLD_2
;
4311 } EUTRAN_CSG_Cells_Reporting_Desp_t
;
4315 bool existUTRAN_CSG_Cells_Reporting_Description
;
4316 UTRAN_CSG_Cells_Reporting_Desp_t UTRAN_CSG_Cells_Reporting_Description
;
4317 bool existEUTRAN_CSG_Cells_Reporting_Description
;
4318 EUTRAN_CSG_Cells_Reporting_Desp_t EUTRAN_CSG_Cells_Reporting_Description
;
4319 } CSG_Cells_Reporting_Desp_t
;
4323 bool existEnhanced_Cell_Reselection_Parameters_Description
;
4324 Enh_Cell_Reselect_Param_Desp_t Enhanced_Cell_Reselection_Parameters_Description
;
4326 bool existCSG_Cells_Reporting_Description
;
4327 CSG_Cells_Reporting_Desp_t CSG_Cells_Reporting_Description
;
4328 } PMO_AdditionsR9_t
;
4333 } Delete_All_Stored_Individual_Priorities_t
;
4338 uint16_t FDD_ARFCN
[32];
4339 } Individual_UTRAN_Priority_FDD_t
;
4344 uint16_t TDD_ARFCN
[32];
4345 } Individual_UTRAN_Priority_TDD_t
;
4352 Individual_UTRAN_Priority_FDD_t Individual_UTRAN_Priority_FDD
;
4353 Individual_UTRAN_Priority_TDD_t Individual_UTRAN_Priority_TDD
;
4355 uint8_t UTRAN_PRIORITY
;
4356 } Repeated_Individual_UTRAN_Priority_Parameters_t
;
4360 uint8_t Exist_DEFAULT_UTRAN_PRIORITY
;
4361 uint8_t DEFAULT_UTRAN_PRIORITY
;
4362 uint8_t Repeated_Individual_UTRAN_Priority_Parameters_Count
;
4363 Repeated_Individual_UTRAN_Priority_Parameters_t Repeated_Individual_UTRAN_Priority_Parameters
[32];
4364 } ThreeG_Individual_Priority_Parameters_Description_t
;
4369 uint16_t EARFCN
[32];
4370 uint8_t EUTRAN_PRIORITY
;
4371 } Repeated_Individual_EUTRAN_Priority_Parameters_t
;
4375 uint8_t Exist_DEFAULT_EUTRAN_PRIORITY
;
4376 uint8_t DEFAULT_EUTRAN_PRIORITY
;
4378 Repeated_Individual_EUTRAN_Priority_Parameters_t Repeated_Individual_EUTRAN_Priority_Parameters
[32];
4379 } EUTRAN_Individual_Priority_Parameters_Description_t
;
4383 uint8_t GERAN_PRIORITY
;
4384 uint8_t Exist_3G_Individual_Priority_Parameters_Description
;
4385 ThreeG_Individual_Priority_Parameters_Description_t ThreeG_Individual_Priority_Parameters_Description
;
4386 uint8_t Exist_EUTRAN_Individual_Priority_Parameters_Description
;
4387 EUTRAN_Individual_Priority_Parameters_Description_t EUTRAN_Individual_Priority_Parameters_Description
;
4388 uint8_t Exist_T3230_timeout_value
;
4389 uint8_t T3230_timeout_value
;
4390 } Provide_Individual_Priorities_t
;
4397 Delete_All_Stored_Individual_Priorities_t Delete_All_Stored_Individual_Priorities
;
4398 Provide_Individual_Priorities_t Provide_Individual_Priorities
;
4400 } Individual_Priorities_t
;
4404 bool existBA_IND_3G_PMO_IND
;
4408 bool existPriorityAndEUTRAN_ParametersDescription_PMO
;
4409 PriorityAndEUTRAN_ParametersDescription_PMO_t PriorityAndEUTRAN_ParametersDescription_PMO
;
4411 bool existIndividualPriorities_PMO
;
4412 Individual_Priorities_t IndividualPriorities_PMO
;
4414 bool existThreeG_CSG_Description
;
4415 ThreeG_CSG_Description_t ThreeG_CSG_Description_PMO
;
4417 bool existEUTRAN_CSG_Description
;
4418 EUTRAN_CSG_Description_t EUTRAN_CSG_Description_PMO
;
4420 bool existMeasurement_Control_Parameters_Description
;
4421 Meas_Ctrl_Param_Desp_t Measurement_Control_Parameters_Description_PMO
;
4423 bool existAdditionsR9
;
4424 PMO_AdditionsR9_t AdditionsR9
;
4425 } PMO_AdditionsR8_t
;
4429 bool existREPORTING_OFFSET_THRESHOLD_700
;
4430 uint8_t REPORTING_OFFSET_700
;
4431 uint8_t REPORTING_THRESHOLD_700
;
4433 bool existREPORTING_OFFSET_THRESHOLD_810
;
4434 uint8_t REPORTING_OFFSET_810
;
4435 uint8_t REPORTING_THRESHOLD_810
;
4437 uint8_t existAdditionsR8
;
4438 PMO_AdditionsR8_t additionsR8
;
4439 } PMO_AdditionsR7_t
;
4443 uint8_t CCN_ACTIVE_3G
;
4444 uint8_t existAdditionsR7
;
4445 PMO_AdditionsR7_t additionsR7
;
4446 } PMO_AdditionsR6_t
;
4450 uint8_t CCN_ACTIVE_3G
;
4451 } PCCO_AdditionsR6_t
;
4455 uint8_t existGRNTI_Extension
;
4457 uint8_t exist_lu_ModeNeighbourCellParams
;
4458 uint8_t count_lu_ModeNeighbourCellParams
;
4459 lu_ModeNeighbourCellParams_t lu_ModeNeighbourCellParams
[32];
4460 uint8_t existNC_lu_ModeOnlyCapableCellList
;
4461 NC_lu_ModeOnlyCapableCellList_t NC_lu_ModeOnlyCapableCellList
;
4462 uint8_t existGPRS_AdditionalMeasurementParams3G
;
4463 GPRS_AdditionalMeasurementParams3G_t GPRS_AdditionalMeasurementParams3G
;
4464 uint8_t existAdditionsR6
;
4465 PMO_AdditionsR6_t additionsR6
;
4466 } PMO_AdditionsR5_t
;
4470 uint8_t existGRNTI_Extension
;
4472 uint8_t exist_lu_ModeNeighbourCellParams
;
4473 uint8_t count_lu_ModeNeighbourCellParams
;
4474 lu_ModeNeighbourCellParams_t lu_ModeNeighbourCellParams
[32];
4475 uint8_t existNC_lu_ModeOnlyCapableCellList
;
4476 NC_lu_ModeOnlyCapableCellList_t NC_lu_ModeOnlyCapableCellList
;
4477 uint8_t existGPRS_AdditionalMeasurementParams3G
;
4478 GPRS_AdditionalMeasurementParams3G_t GPRS_AdditionalMeasurementParams3G
;
4479 uint8_t existAdditionsR6
;
4480 PCCO_AdditionsR6_t additionsR6
;
4481 } PCCO_AdditionsR5_t
;
4486 uint8_t Exist_CCN_Support_Description_ID
;
4487 CCN_Support_Description_t CCN_Support_Description
;
4488 uint8_t Exist_AdditionsR5
;
4489 PMO_AdditionsR5_t AdditionsR5
;
4490 } PMO_AdditionsR4_t
;
4495 uint8_t Exist_Container_ID
;
4496 uint8_t CONTAINER_ID
;
4497 uint8_t Exist_CCN_Support_Description_ID
;
4498 CCN_Support_Description_t CCN_Support_Description
;
4499 uint8_t Exist_AdditionsR5
;
4500 PCCO_AdditionsR5_t AdditionsR5
;
4501 } PCCO_AdditionsR4_t
;
4505 ENH_Measurement_Parameters_PCCO_t ENH_Measurement_Parameters
;
4506 uint8_t Exist_AdditionsR4
;
4507 PCCO_AdditionsR4_t AdditionsR4
;
4508 } PCCO_AdditionsR99_t
;
4512 uint8_t Exist_ENH_Measurement_Parameters
;
4513 ENH_Measurement_Parameters_PMO_t ENH_Measurement_Parameters
;
4514 uint8_t Exist_AdditionsR4
;
4515 PMO_AdditionsR4_t AdditionsR4
;
4516 } PMO_AdditionsR99_t
;
4520 uint8_t Exist_LSA_Parameters
;
4521 LSA_Parameters_t LSA_Parameters
;
4523 uint8_t Exist_AdditionsR99
;
4524 PMO_AdditionsR99_t AdditionsR99
;
4525 } PMO_AdditionsR98_t
;
4529 uint8_t Exist_LSA_Parameters
;
4530 LSA_Parameters_t LSA_Parameters
;
4532 uint8_t Exist_AdditionsR99
;
4533 PCCO_AdditionsR99_t AdditionsR99
;
4534 } PCCO_AdditionsR98_t
;
4538 uint8_t IMMEDIATE_REL
;
4541 NC_Measurement_Parameters_with_Frequency_List_t NC_Measurement_Parameters
;
4543 uint8_t Exist_AdditionsR98
;
4544 PCCO_AdditionsR98_t AdditionsR98
;
4545 } Target_Cell_GSM_t
;
4549 uint8_t Exist_EUTRAN_Target_Cell
;
4550 EUTRAN_Target_Cell_t EUTRAN_Target_Cell
;
4551 uint8_t Exist_Individual_Priorities
;
4552 Individual_Priorities_t Individual_Priorities
;
4553 } Target_Cell_3G_AdditionsR8_t
;
4557 uint8_t Exist_G_RNTI_Extention
;
4558 uint8_t G_RNTI_Extention
;
4559 uint8_t Exist_AdditionsR8
;
4560 Target_Cell_3G_AdditionsR8_t AdditionsR8
;
4561 } Target_Cell_3G_AdditionsR5_t
;
4565 /* 00 -- Message escape */
4566 uint8_t IMMEDIATE_REL
;
4567 uint8_t Exist_FDD_Description
;
4568 FDD_Target_Cell_t FDD_Target_Cell
;
4569 uint8_t Exist_TDD_Description
;
4570 TDD_Target_Cell_t TDD_Target_Cell
;
4571 uint8_t Exist_AdditionsR5
;
4572 Target_Cell_3G_AdditionsR5_t AdditionsR5
;
4576 #define TARGET_CELL_GSM 0
4577 #define TARGET_CELL_3G 1
4582 uint8_t MESSAGE_TYPE
;
4585 PacketCellChangeOrderID_t ID
;
4590 Target_Cell_GSM_t Target_Cell_GSM
;
4591 Target_Cell_3G_t Target_Cell_3G
;
4594 } Packet_Cell_Change_Order_t
;
4596 /* < Packet Cell Change Continue message contents > */
4599 uint8_t MESSAGE_TYPE
;
4602 Global_TFI_t Global_TFI
;
4606 uint8_t CONTAINER_ID
;
4607 } Packet_Cell_Change_Continue_t
;
4610 /* < Packet Neighbour Cell Data message contents > */
4615 uint8_t CONTAINER
[17]; /* PD (3 bits) + CD_LENGTH (5 bits) + 16 bytes of CONTAINER_DATA (max!) */
4616 } PNCD_Container_With_ID_t
;
4620 uint8_t CONTAINER
[19]; /* PD (3 bits) + CD_LENGTH (5 bits) + 18 bytes of CONTAINER_DATA (max!) */
4621 } PNCD_Container_Without_ID_t
;
4628 PNCD_Container_Without_ID_t PNCD_Container_Without_ID
;
4629 PNCD_Container_With_ID_t PNCD_Container_With_ID
;
4635 uint8_t MESSAGE_TYPE
;
4638 Global_TFI_t Global_TFI
;
4639 uint8_t CONTAINER_ID
;
4641 uint8_t CONTAINER_INDEX
;
4643 PNCDContainer_t Container
;
4644 } Packet_Neighbour_Cell_Data_t
;
4646 /* < Packet Serving Cell Data message contents > */
4649 uint8_t MESSAGE_TYPE
;
4652 Global_TFI_t Global_TFI
;
4654 uint8_t CONTAINER_INDEX
;
4655 uint8_t CONTAINER
[19]; /* PD (3 bits) + CD_LENGTH (5 bits) + 18 bytes of CONTAINER_DATA (max!) */
4656 } Packet_Serving_Cell_Data_t
;
4658 /* < Packet Measurement Order message contents > */
4661 uint16_t START_FREQUENCY
;
4662 uint8_t NR_OF_FREQUENCIES
;
4663 uint8_t FREQ_DIFF_LENGTH
;
4665 uint8_t Count_FREQUENCY_DIFF
;
4666 uint8_t FREQUENCY_DIFF
[31];/* bit (FREQ_DIFF_LENGTH) * NR_OF_FREQUENCIES --> MAX is bit(7) * 31 */
4667 } EXT_Frequency_List_t
;
4671 uint8_t MESSAGE_TYPE
;
4674 PacketDownlinkID_t ID
; /* use the PDA ID as it is the same as the PMO */
4679 uint8_t Exist_NC_Measurement_Parameters
;
4680 NC_Measurement_Parameters_with_Frequency_List_t NC_Measurement_Parameters
;
4682 uint8_t Exist_EXT_Measurement_Parameters
;
4684 uint8_t Exist_AdditionsR98
;
4685 PMO_AdditionsR98_t AdditionsR98
;
4686 } Packet_Measurement_Order_t
;
4688 /* Enhanced measurement report */
4692 uint8_t RXLEV_SERVING_CELL
;
4693 } ServingCellData_t
;
4697 uint8_t BCCH_FREQ_NCELL
;
4699 uint8_t RXLEV_NCELL
;
4700 } Repeated_Invalid_BSIC_Info_t
;
4704 bool Exist_REPORTING_QUANTITY
;
4705 uint8_t REPORTING_QUANTITY
;
4706 } REPORTING_QUANTITY_t
;
4715 uint8_t PSI3_CHANGE_MARK
;
4719 uint8_t Exist_ServingCellData
;
4720 ServingCellData_t ServingCellData
;
4721 uint8_t Count_Repeated_Invalid_BSIC_Info
;
4722 Repeated_Invalid_BSIC_Info_t Repeated_Invalid_BSIC_Info
[32];
4724 bool Exist_Repeated_REPORTING_QUANTITY
;
4725 uint8_t Count_Repeated_Reporting_Quantity
;
4726 REPORTING_QUANTITY_t Repeated_REPORTING_QUANTITY
[96];
4727 } NC_MeasurementReport_t
;
4729 /* Packet Handover PHO ----------------- */
4736 uint8_t MS_TimeslotAllocation
;
4737 Power_Control_Parameters_t Power_Control_Parameters
;
4739 } GlobalTimeslotDescription_t
;
4743 uint8_t TimeslotAllocation
;
4746 uint8_t TFI_Assignment
;
4748 uint8_t Exist_EGPRS_WindowSize
;
4749 uint8_t EGPRS_WindowSize
;
4750 } PHO_DownlinkAssignment_t
;
4761 PHO_USF_1_7_t USF_1_7
[7];
4762 uint8_t NBR_OfAllocatedTimeslots
;
4763 } USF_AllocationArray_t
;
4769 uint8_t TFI_Assignment
;
4770 uint8_t Exist_ChannelCodingCommand
;
4771 uint8_t ChannelCodingCommand
;
4772 uint8_t Exist_EGPRS_ChannelCodingCommand
;
4773 uint8_t EGPRS_ChannelCodingCommand
;
4774 uint8_t Exist_EGPRS_WindowSize
;
4775 uint8_t EGPRS_WindowSize
;
4776 uint8_t USF_Granularity
;
4777 uint8_t Exist_TBF_TimeslotAllocation
;
4778 uint8_t TBF_TimeslotAllocation
;
4782 uint8_t USF_SingleAllocation
;
4783 USF_AllocationArray_t USF_AllocationArray
;
4785 } PHO_UplinkAssignment_t
;
4789 GlobalTimeslotDescription_t GlobalTimeslotDescription
;
4790 uint8_t Exist_PHO_UA
;
4791 PHO_UplinkAssignment_t PHO_UA
;
4792 } GlobalTimeslotDescription_UA_t
;
4796 uint8_t Exist_ChannelCodingCommand
;
4797 uint8_t ChannelCodingCommand
;
4798 uint8_t Exist_GlobalTimeslotDescription_UA
;
4799 GlobalTimeslotDescription_UA_t GTD_UA
;
4800 uint8_t Exist_DownlinkAssignment
;
4801 PHO_DownlinkAssignment_t DownlinkAssignment
;
4807 uint8_t Exist_EGPRS_WindowSize
;
4808 uint8_t EGPRS_WindowSize
;
4809 uint8_t LinkQualityMeasurementMode
;
4810 uint8_t Exist_BEP_Period2
;
4811 uint8_t BEP_Period2
;
4812 } EGPRS_Description_t
;
4816 uint8_t Exist_EGPRS_Description
;
4817 EGPRS_Description_t EGPRS_Description
;
4818 uint8_t Exist_DownlinkAssignment
;
4819 PHO_DownlinkAssignment_t DownlinkAssignment
;
4824 uint8_t Exist_EGPRS_WindowSize
;
4825 uint8_t EGPRS_WindowSize
;
4826 uint8_t Exist_EGPRS_ChannelCodingCommand
;
4827 uint8_t EGPRS_ChannelCodingCommand
;
4828 uint8_t Exist_BEP_Period2
;
4829 uint8_t BEP_Period2
;
4830 uint8_t Exist_GlobalTimeslotDescription_UA
;
4831 GlobalTimeslotDescription_UA_t GTD_UA
;
4832 uint8_t Exist_DownlinkTBF
;
4833 DownlinkTBF_t DownlinkTBF
;
4838 Global_Packet_Timing_Advance_t GlobalPacketTimingAdvance
;
4839 uint8_t Exist_PacketExtendedTimingAdvance
;
4840 uint8_t PacketExtendedTimingAdvance
;
4841 } PHO_TimingAdvance_t
;
4845 uint8_t NAS_ContainerLength
;
4851 uint8_t Type_of_Ciphering_Algo
;
4852 uint32_t IOV_UI_value
;
4853 } NAS_Container_For_PS_HO_t
;
4857 uint8_t RRC_ContainerLength
;
4858 } PS_HandoverTo_UTRAN_Payload_t
;
4862 uint8_t RRC_ContainerLength
;
4863 } PS_HandoverTo_E_UTRAN_Payload_t
;
4867 uint8_t Exist_HandoverReference
;
4868 uint8_t HandoverReference
;
4873 uint8_t Exist_CCN_Active
;
4875 uint8_t Exist_CCN_Active_3G
;
4876 uint8_t CCN_Active_3G
;
4877 uint8_t Exist_CCN_Support_Description
;
4878 CCN_Support_Description_t CCN_Support_Description
;
4879 Frequency_Parameters_t Frequency_Parameters
;
4880 uint8_t NetworkControlOrder
;
4881 uint8_t Exist_PHO_TimingAdvance
;
4882 PHO_TimingAdvance_t PHO_TimingAdvance
;
4883 uint8_t Extended_Dynamic_Allocation
;
4885 uint8_t Exist_PO_PR
;
4888 uint8_t Exist_UplinkControlTimeslot
;
4889 uint8_t UplinkControlTimeslot
;
4893 PHO_GPRS_t PHO_GPRS_Mode
;
4894 PHO_EGPRS_t PHO_EGPRS_Mode
;
4896 } PHO_RadioResources_t
;
4900 PHO_RadioResources_t PHO_RadioResources
;
4901 uint8_t Exist_NAS_Container
;
4902 NAS_Container_For_PS_HO_t NAS_Container
;
4903 } PS_HandoverTo_A_GB_ModePayload_t
;
4907 uint8_t MessageType
;
4909 Global_TFI_t Global_TFI
;
4910 uint8_t ContainerID
;
4914 PS_HandoverTo_A_GB_ModePayload_t PS_HandoverTo_A_GB_ModePayload
;
4915 PS_HandoverTo_UTRAN_Payload_t PS_HandoverTo_UTRAN_Payload
;
4916 PS_HandoverTo_E_UTRAN_Payload_t PS_HandoverTo_E_UTRAN_Payload
;
4918 } Packet_Handover_Command_t
;
4920 /* End Packet Handover */
4922 /* Packet Physical Information ----------------- */
4926 uint8_t MessageType
;
4928 Global_TFI_t Global_TFI
;
4929 uint8_t TimingAdvance
;
4930 } Packet_PhysicalInformation_t
;
4932 /* End Packet Physical Information */
4936 /* ADDITIONAL MS RADIO ACCESS CAPABILITIES -----------------*/
4942 Global_TFI_t Global_TFI
;
4945 } AdditionalMsRadAccessCapID_t
;
4950 uint8_t MESSAGE_TYPE
;
4951 uint8_t PayloadType
;
4955 AdditionalMsRadAccessCapID_t ID
;
4956 MS_Radio_Access_capability_t MS_Radio_Access_capability2
;
4957 } Additional_MS_Rad_Access_Cap_t
;
4959 /* End ADDITIONAL MS RADIO ACCESS CAPABILITIES */
4962 /* Packet Pause -----------------*/
4966 uint8_t MESSAGE_TYPE
;
4972 /* End Packet Pause */
4975 /* < Payload Type Data MAC Header content > */
4978 uint8_t Payload_Type
;
4979 uint8_t Countdown_Value
;
4982 } UL_Data_Mac_Header_t
;
4986 UL_Data_Mac_Header_t UL_Data_Mac_Header
;
4993 } UL_Data_Block_GPRS_t
;
4997 uint8_t MESSAGE_TYPE
;
4999 }UL_Packet_Control_Ack_11_t
;
5003 uint8_t MESSAGE_TYPE
;
5006 }UL_Packet_Control_Ack_TN_RRBP_11_t
;
5010 uint8_t MESSAGE_TYPE
;
5012 }UL_Packet_Control_Ack_8_t
;
5016 uint8_t MESSAGE_TYPE
;
5019 }UL_Packet_Control_Ack_TN_RRBP_8_t
;
5023 uint8_t Payload_Type
;
5027 } DL_Data_Mac_Header_t
;
5031 DL_Data_Mac_Header_t DL_Data_Mac_Header
;
5032 uint8_t Power_Reduction
;
5037 } DL_Data_Block_GPRS_t
;
5046 uint16_t BSN2_offset
;
5047 uint8_t Power_Reduction
;
5056 } DL_Data_Block_EGPRS_Header_t
;
5058 typedef DL_Data_Block_EGPRS_Header_t DL_Data_Block_EGPRS_Header_Type1_t
;
5059 typedef DL_Data_Block_EGPRS_Header_t DL_Data_Block_EGPRS_Header_Type2_t
;
5060 typedef DL_Data_Block_EGPRS_Header_t DL_Data_Block_EGPRS_Header_Type3_t
;
5061 typedef DL_Data_Block_EGPRS_Header_t DL_Data_Block_EC_EGPRS_Header_Type1_t
;
5062 typedef DL_Data_Block_EGPRS_Header_t DL_Data_Block_EC_EGPRS_Header_Type2_t
;
5063 typedef DL_Data_Block_EGPRS_Header_t DL_Data_Block_EC_EGPRS_Header_Type3_t
;
5065 typedef DL_Data_Block_EGPRS_Header_t DL_Data_Block_EGPRS_Header_Type1_EC_t
;
5070 uint8_t Countdown_Value
;
5074 uint16_t BSN2_offset
;
5086 } UL_Data_Block_EGPRS_Header_t
;
5088 typedef UL_Data_Block_EGPRS_Header_t UL_Data_Block_EGPRS_Header_Type1_t
;
5089 typedef UL_Data_Block_EGPRS_Header_t UL_Data_Block_EGPRS_Header_Type2_t
;
5090 typedef UL_Data_Block_EGPRS_Header_t UL_Data_Block_EGPRS_Header_Type3_t
;
5091 typedef UL_Data_Block_EGPRS_Header_t UL_Data_Block_EC_EGPRS_Header_Type1_t
;
5092 typedef UL_Data_Block_EGPRS_Header_t UL_Data_Block_EC_EGPRS_Header_Type2_t
;
5093 typedef UL_Data_Block_EGPRS_Header_t UL_Data_Block_EC_EGPRS_Header_Type3_t
;
5097 uint8_t DOWNLINK_TFI
;
5099 uint8_t WAIT_INDICATION
;
5100 uint8_t WAIT_INDICATION_SIZE
;
5106 uint8_t MESSAGE_TYPE
;
5107 uint8_t USED_DL_COVERAGE_CLASS
;
5108 uint8_t Reject_Count
;
5109 EC_Reject_t Reject
[16];
5111 EC_Packet_Access_Reject_t
;
5115 uint8_t EC_MA_NUMBER
;
5117 uint8_t Primary_TSC_Set
;
5119 EC_Frequency_Parameters_t
;
5122 uint8_t TIMING_ADVANCE_VALUE
;
5123 } EC_Packet_Timing_Advance_t
;
5127 uint8_t MESSAGE_TYPE
;
5128 uint8_t USED_DL_COVERAGE_CLASS
;
5129 Global_TFI_t Global_TFI
;
5130 uint8_t CONTROL_ACK
;
5132 bool Exist_Frequency_Parameters
;
5133 EC_Frequency_Parameters_t Frequency_Parameters
;
5135 uint8_t DL_COVERAGE_CLASS
;
5136 uint8_t STARTING_DL_TIMESLOT
;
5137 uint8_t TIMESLOT_MULTIPLICATOR
;
5138 uint8_t DOWNLINK_TFI_ASSIGNMENT
;
5139 uint8_t UL_COVERAGE_CLASS
;
5140 uint8_t STARTING_UL_TIMESLOT_OFFSET
;
5142 bool Exist_EC_Packet_Timing_Advance
;
5143 EC_Packet_Timing_Advance_t EC_Packet_Timing_Advance
;
5145 bool Exist_P0_and_PR_MODE
;
5152 uint8_t ALPHA_Enable
;
5155 EC_Packet_Downlink_Assignment_t
;
5159 uint8_t MESSAGE_TYPE
;
5160 uint8_t USED_DL_COVERAGE_CLASS
;
5161 Global_TFI_t Global_TFI
;
5162 uint8_t TYPE_OF_ACK
;
5164 EC_Packet_Polling_Req_t
;
5168 uint8_t MESSAGE_TYPE
;
5169 uint8_t USED_DL_COVERAGE_CLASS
;
5170 Global_TFI_t Global_TFI
;
5175 bool Exist_EC_Packet_Timing_Advance
;
5176 EC_Packet_Timing_Advance_t EC_Packet_Timing_Advance
;
5181 EC_Packet_Power_Control_Timing_Advance_t
;
5185 uint8_t MESSAGE_TYPE
;
5186 uint8_t USED_DL_COVERAGE_CLASS
;
5187 Global_TFI_t Global_TFI
;
5188 uint8_t TBF_RELEASE_CAUSE
;
5191 uint8_t WAIT_INDICATION
;
5192 uint8_t WAIT_INDICATION_SIZE
;
5194 EC_Packet_Tbf_Release_t
;
5197 bool Exist_DELAY_NEXT_UL_RLC_DATA_BLOCK
;
5198 uint8_t DELAY_NEXT_UL_RLC_DATA_BLOCK
;
5204 bool Exist_BSN_OFFSET
;
5206 uint8_t START_FIRST_UL_RLC_DATA_BLOCK
;
5207 uint8_t Count_FUA_Delay
;
5208 FUA_Delay_t FUA_Delay
[16]; /* Max RLC window size */
5210 PUAN_Fixed_Uplink_Allocation_t
;
5213 uint8_t STARTING_SEQUENCE_NUMBER
;
5214 uint16_t RECEIVED_BLOCK_BITMAP
;
5216 EC_AckNack_Description_t
;
5219 uint8_t STARTING_SEQUENCE_NUMBER
;
5220 uint8_t RECEIVED_BLOCK_BITMAP
;
5222 EC_Primary_AckNack_Description_t
;
5225 uint32_t CONTENTION_RESOLUTION_TLLI
;
5226 EC_Primary_AckNack_Description_t EC_AckNack_Description
;
5228 EC_Primary_AckNack_Description_TLLI_t
;
5231 uint32_t CONTENTION_RESOLUTION_rTLLI
;
5232 EC_Primary_AckNack_Description_t EC_AckNack_Description
;
5234 EC_Primary_AckNack_Description_rTLLI_t
;
5237 uint8_t EC_AckNack_Description_Type
;
5240 EC_AckNack_Description_t EC_AckNack_Description
;
5241 EC_Primary_AckNack_Description_TLLI_t EC_Primary_AckNack_Description_TLLI
;
5242 EC_Primary_AckNack_Description_rTLLI_t EC_Primary_AckNack_Description_rTLLI
;
5245 PUAN_Fixed_Uplink_Allocation_t PUAN_Fixed_Uplink_Allocation
;
5248 bool Exist_EGPRS_Channel_Coding_Command
;
5249 uint8_t EGPRS_Channel_Coding_Command
;
5252 uint8_t UL_COVERAGE_CLASS
;
5253 uint8_t STARTING_UL_TIMESLOT
;
5254 uint8_t DL_COVERAGE_CLASS
;
5255 uint8_t STARTING_DL_TIMESLOT_OFFSET
;
5256 uint8_t TIMESLOT_MULTIPLICATOR
;
5257 } EC_Packet_Uplink_Ack_Nack_fai0_t
;
5259 bool Exist_CONTENTION_RESOLUTION_TLLI
;
5260 uint32_t CONTENTION_RESOLUTION_TLLI
;
5262 bool Exist_MONITOR_EC_PACCH
;
5264 uint8_t Initial_Waiting_Time
;
5265 uint8_t EC_PACCH_Monitoring_Pattern
;
5267 } EC_Packet_Uplink_Ack_Nack_fai1_t
;
5271 uint8_t MESSAGE_TYPE
;
5272 uint8_t USED_DL_COVERAGE_CLASS
;
5274 uint8_t Final_Ack_Indicator
;
5277 EC_Packet_Uplink_Ack_Nack_fai0_t fai0
;
5278 EC_Packet_Uplink_Ack_Nack_fai1_t fai1
;
5281 bool Exist_EC_Packet_Timing_Advance
;
5282 EC_Packet_Timing_Advance_t EC_Packet_Timing_Advance
;
5286 uint8_t ALPHA_Enable
;
5288 EC_Packet_Uplink_Ack_Nack_t
;
5292 uint8_t START_FIRST_UL_RLC_DATA_BLOCK
;
5293 uint8_t Count_FUA_Delay
;
5294 FUA_Delay_t FUA_Delay
[16]; /* Max RLC window size */
5296 Fixed_Uplink_Allocation_t
;
5300 uint8_t MESSAGE_TYPE
;
5301 uint8_t USED_DL_COVERAGE_CLASS
;
5302 Global_TFI_t Global_TFI
;
5304 bool Exist_UPLINK_TFI_ASSIGNMENT
;
5305 uint8_t UPLINK_TFI_ASSIGNMENT
;
5307 bool Exist_EGPRS_Channel_Coding_Command
;
5308 uint8_t EGPRS_Channel_Coding_Command
;
5310 uint8_t Overlaid_CDMA_Code
;
5312 bool Exist_EC_Packet_Timing_Advance
;
5313 EC_Packet_Timing_Advance_t EC_Packet_Timing_Advance
;
5315 bool Exist_Frequency_Parameters
;
5316 EC_Frequency_Parameters_t Frequency_Parameters
;
5318 uint8_t UL_COVERAGE_CLASS
;
5319 uint8_t STARTING_UL_TIMESLOT
;
5320 uint8_t TIMESLOT_MULTIPLICATOR
;
5322 Fixed_Uplink_Allocation_t Fixed_Uplink_Allocation
;
5324 bool Exist_P0_and_PR_MODE
;
5330 uint8_t ALPHA_Enable
;
5332 uint8_t DL_COVERAGE_CLASS
;
5333 uint8_t STARTING_DL_TIMESLOT_OFFSET
;
5336 EC_Packet_Uplink_Assignment_t
;
5340 uint8_t MESSAGE_TYPE
;
5341 uint8_t USED_DL_COVERAGE_CLASS
;
5343 uint32_t CONTENTION_RESOLUTION_TLLI
;
5344 EC_Primary_AckNack_Description_t EC_AckNack_Description
;
5346 Fixed_Uplink_Allocation_t PUANCR_Fixed_Uplink_Allocation
;
5349 EC_Packet_Uplink_Ack_Nack_And_Contention_Resolution_t
;
5353 uint8_t MESSAGE_TYPE
;
5354 uint8_t USED_DL_COVERAGE_CLASS
;
5356 EC_Packet_Downlink_Dummy_Control_Block_t
;
5360 uint8_t MESSAGE_TYPE
;
5365 EC_Packet_Control_Acknowledgement_t
;
5370 uint8_t NUMBER_OF_UL_DATA_BLOCKS
;
5372 EC_Channel_Request_Description_t
;
5377 uint8_t GMSK_MEAN_BEP
;
5378 uint8_t GMSK_CV_BEP
;
5380 uint8_t PSK_MEAN_BEP
;
5384 EC_Channel_Quality_Report_t
;
5388 uint8_t MESSAGE_TYPE
;
5389 uint8_t DOWNLINK_TFI
;
5390 uint8_t MS_OUT_OF_MEMORY
;
5391 uint8_t Final_Ack_Indicator
;
5393 EC_AckNack_Description_t EC_AckNack_Description
;
5395 bool Exist_EC_Channel_Quality_Report
; /* DL CC EST is also conditional on this */
5396 EC_Channel_Quality_Report_t EC_Channel_Quality_Report
;
5399 bool Exist_EC_Channel_Request_Description
;
5400 EC_Channel_Request_Description_t EC_Channel_Request_Description
;
5402 EC_Packet_Downlink_Ack_Nack_t
;
5405 < NC Measurement Parameters struct > ::=
5406 < NETWORK_CONTROL_ORDER : bit (2) >
5407 { 0 | 1 < NC_ NON_DRX_PERIOD : bit (3) >
5408 < NC_REPORTING_PERIOD_I : bit (3) >
5409 < NC_REPORTING_PERIOD_T : bit (3) > } ;
5410 < Cell Selection struct > ::=
5412 < CELL_BAR_ACCESS_2 : bit (1) >
5413 < SAME_RA_AS_SERVING_CELL : bit (1) >
5414 { 0 | 1 < GPRS_RXLEV_ACCESS_MIN : bit (6) >
5415 < GPRS_MS_TXPWR_MAX_CCH : bit (5) > }
5416 { 0 | 1 < GPRS_TEMPORARY_OFFSET : bit (3) >
5417 < GPRS_PENALTY_TIME : bit (5) > }
5418 Table 25 (concluded): PACKET CELL CHANGE ORDER message content
5419 { 0 | 1 < GPRS_RESELECT_OFFSET : bit (5) > }
5420 { 0 | 1 < HCS params : < HCS struct > > }
5421 { 0 | 1 < SI13_PBCCH_LOCATION : < SI13_PBCCH_LOCATION struct > > } ;
5423 < SI13_PBCCH_LOCATION struct > ::=
5424 { 0 < SI13_LOCATION : bit (1) >
5425 | 1 < PBCCH_LOCATION : bit (2) >
5426 < PSI1_REPEAT_PERIOD : bit (4) > } ;
5429 < GPRS_PRIORITY_CLASS : bit (3) >
5430 < GPRS_HCS_THR : bit (5) > ;
5433 /* < Downlink RLC/MAC control message > */
5434 #define MT_PACKET_CELL_CHANGE_ORDER 0x01
5435 #define MT_PACKET_DOWNLINK_ASSIGNMENT 0x02
5436 #define MT_PACKET_MEASUREMENT_ORDER 0x03
5437 #define MT_PACKET_POLLING_REQ 0x04
5438 #define MT_PACKET_POWER_CONTROL_TIMING_ADVANCE 0x05
5439 #define MT_PACKET_QUEUEING_NOTIFICATION 0x06
5440 #define MT_PACKET_TIMESLOT_RECONFIGURE 0x07
5441 #define MT_PACKET_TBF_RELEASE 0x08
5442 #define MT_PACKET_UPLINK_ACK_NACK 0x09
5443 #define MT_PACKET_UPLINK_ASSIGNMENT 0x0A
5444 #define MT_PACKET_CELL_CHANGE_CONTINUE 0x0B
5445 #define MT_PACKET_NEIGHBOUR_CELL_DATA 0x0C
5446 #define MT_PACKET_SERVING_CELL_DATA 0x0D
5447 #define MT_PACKET_HANDOVER_COMMAND 0x15
5448 #define MT_PACKET_PHYSICAL_INFORMATION 0x16
5449 #define MT_PACKET_ACCESS_REJECT 0x21
5450 #define MT_PACKET_PAGING_REQUEST 0x22
5451 #define MT_PACKET_PDCH_RELEASE 0x23
5452 #define MT_PACKET_PRACH_PARAMETERS 0x24
5453 #define MT_PACKET_DOWNLINK_DUMMY_CONTROL_BLOCK 0x25
5454 #define MT_PACKET_SYSTEM_INFO_6 0x30
5455 #define MT_PACKET_SYSTEM_INFO_1 0x31
5456 #define MT_PACKET_SYSTEM_INFO_2 0x32
5457 #define MT_PACKET_SYSTEM_INFO_3 0x33
5458 #define MT_PACKET_SYSTEM_INFO_3_BIS 0x34
5459 #define MT_PACKET_SYSTEM_INFO_4 0x35
5460 #define MT_PACKET_SYSTEM_INFO_5 0x36
5461 #define MT_PACKET_SYSTEM_INFO_13 0x37
5462 #define MT_PACKET_SYSTEM_INFO_7 0x38
5463 #define MT_PACKET_SYSTEM_INFO_8 0x39
5464 #define MT_PACKET_SYSTEM_INFO_14 0x3A
5465 #define MT_PACKET_SYSTEM_INFO_3_TER 0x3C
5466 #define MT_PACKET_SYSTEM_INFO_3_QUATER 0x3D
5467 #define MT_PACKET_SYSTEM_INFO_15 0x3E
5469 /* < Uplink RLC/MAC control message > */
5470 #define MT_PACKET_CELL_CHANGE_FAILURE 0x00
5471 #define MT_PACKET_CONTROL_ACK 0x01
5472 #define MT_PACKET_DOWNLINK_ACK_NACK 0x02
5473 #define MT_PACKET_UPLINK_DUMMY_CONTROL_BLOCK 0x03
5474 #define MT_PACKET_MEASUREMENT_REPORT 0x04
5475 #define MT_PACKET_RESOURCE_REQUEST 0x05
5476 #define MT_PACKET_MOBILE_TBF_STATUS 0x06
5477 #define MT_PACKET_PSI_STATUS 0x07
5478 #define MT_EGPRS_PACKET_DOWNLINK_ACK_NACK 0x08
5479 #define MT_PACKET_PAUSE 0x09
5480 #define MT_PACKET_ENHANCED_MEASUREMENT_REPORT 0x0A
5481 #define MT_ADDITIONAL_MS_RAC 0x0B
5482 #define MT_PACKET_CELL_CHANGE_NOTIFICATION 0x0C
5483 #define MT_PACKET_SI_STATUS 0x0D
5484 #define MT_ENHANCED_MEASUREMENT_REPORT 0x04
5486 /* < Downlink EC-GSM-IoT RLC/MAC control messages > */
5487 #define MT_EC_PACKET_ACCESS_REJECT 0x11
5488 #define MT_EC_PACKET_DOWNLINK_ASSIGNMENT 0x01
5489 #define MT_EC_PACKET_POLLING_REQ 0x02
5490 #define MT_EC_PACKET_POWER_CONTROL_TIMING_ADVANCE 0x03
5491 #define MT_EC_PACKET_TBF_RELEASE 0x04
5492 #define MT_EC_PACKET_UPLINK_ACK_NACK 0x05
5493 #define MT_EC_PACKET_UPLINK_ASSIGNMENT 0x06
5494 #define MT_EC_PACKET_UPLINK_ACK_NACK_AND_CONTENTION_RESOLUTION 0x07
5495 #define MT_EC_PACKET_DOWNLINK_DUMMY_CONTROL_BLOCK 0x12
5497 /* < Uplink EC-GSM-IoT RLC/MAC control messages > */
5498 #define MT_EC_PACKET_CONTROL_ACKNOWLEDGEMENT 0x01
5499 #define MT_EC_PACKET_DOWNLINK_ACK_NACK 0x02
5503 RLCMAC_PRACH
= 0x20,
5508 RLCMAC_HDR_TYPE_1
= 0x31,
5509 RLCMAC_HDR_TYPE_2
= 0x32,
5510 RLCMAC_HDR_TYPE_3
= 0x33,
5511 RLCMAC_HDR_TYPE_4
= 0x34,
5512 RLCMAC_HDR_TYPE_5
= 0x35,
5513 RLCMAC_HDR_TYPE_6
= 0x36,
5514 RLCMAC_HDR_TYPE_7
= 0x37,
5515 RLCMAC_HDR_TYPE_8
= 0x38,
5516 RLCMAC_HDR_TYPE_9
= 0x39,
5517 RLCMAC_HDR_TYPE_10
= 0x3a,
5518 RLCMAC_EC_CS1
= 0x40,
5519 RLCMAC_HDR_TYPE_1_EC
= 0x41,
5520 RLCMAC_HDR_TYPE_2_EC
= 0x42,
5521 RLCMAC_HDR_TYPE_3_EC
= 0x43
5522 }RLCMAC_block_format_t
;
5524 /* < Downlink RLC/MAC control message > */
5529 uint8_t MESSAGE_TYPE
;
5530 DL_Data_Block_GPRS_t DL_Data_Block_GPRS
;
5531 DL_Data_Block_EGPRS_Header_t DL_Data_Block_EGPRS_Header
;
5532 Packet_Access_Reject_t Packet_Access_Reject
;
5533 Packet_Cell_Change_Order_t Packet_Cell_Change_Order
;
5534 Packet_Cell_Change_Continue_t Packet_Cell_Change_Continue
;
5535 Packet_Downlink_Assignment_t Packet_Downlink_Assignment
;
5536 Packet_Measurement_Order_t Packet_Measurement_Order
;
5537 Packet_Neighbour_Cell_Data_t Packet_Neighbour_Cell_Data
;
5538 Packet_Serving_Cell_Data_t Packet_Serving_Cell_Data
;
5539 Packet_Paging_Request_t Packet_Paging_Request
;
5540 Packet_PDCH_Release_t Packet_PDCH_Release
;
5541 Packet_Polling_Request_t Packet_Polling_Request
;
5542 Packet_Power_Control_Timing_Advance_t Packet_Power_Control_Timing_Advance
;
5543 Packet_PRACH_Parameters_t Packet_PRACH_Parameters
;
5544 Packet_Queueing_Notification_t Packet_Queueing_Notification
;
5545 Packet_Timeslot_Reconfigure_t Packet_Timeslot_Reconfigure
;
5546 Packet_TBF_Release_t Packet_TBF_Release
;
5547 Packet_Uplink_Ack_Nack_t Packet_Uplink_Ack_Nack
;
5548 Packet_Uplink_Assignment_t Packet_Uplink_Assignment
;
5549 Packet_Handover_Command_t Packet_Handover_Command
;
5550 Packet_PhysicalInformation_t Packet_PhysicalInformation
;
5551 Packet_Downlink_Dummy_Control_Block_t Packet_Downlink_Dummy_Control_Block
;
5557 EC_Packet_Access_Reject_t EC_Packet_Access_Reject
;
5558 EC_Packet_Downlink_Assignment_t EC_Packet_Downlink_Assignment
;
5559 EC_Packet_Polling_Req_t EC_Packet_Polling_Req
;
5560 EC_Packet_Power_Control_Timing_Advance_t EC_Packet_Power_Control_Timing_Advance
;
5561 EC_Packet_Tbf_Release_t EC_Packet_Tbf_Release
;
5562 EC_Packet_Uplink_Ack_Nack_t EC_Packet_Uplink_Ack_Nack
;
5563 EC_Packet_Uplink_Assignment_t EC_Packet_Uplink_Assignment
;
5564 EC_Packet_Uplink_Ack_Nack_And_Contention_Resolution_t EC_Packet_Uplink_Ack_Nack_And_Contention_Resolution
;
5565 EC_Packet_Downlink_Dummy_Control_Block_t EC_Packet_Downlink_Dummy_Control_Block
;
5568 RLCMAC_block_format_t block_format
;
5572 typedef int16_t MSGGPRS_Status_t
;
5573 /* < Uplink RLC/MAC control message > */
5578 uint8_t MESSAGE_TYPE
;
5579 Packet_Cell_Change_Failure_t Packet_Cell_Change_Failure
;
5580 Packet_Control_Acknowledgement_t Packet_Control_Acknowledgement
;
5581 Packet_Downlink_Ack_Nack_t Packet_Downlink_Ack_Nack
;
5582 Packet_Uplink_Dummy_Control_Block_t Packet_Uplink_Dummy_Control_Block
;
5583 Packet_Measurement_Report_t Packet_Measurement_Report
;
5584 Packet_Resource_Request_t Packet_Resource_Request
;
5585 Packet_Mobile_TBF_Status_t Packet_Mobile_TBF_Status
;
5586 Packet_PSI_Status_t Packet_PSI_Status
;
5587 EGPRS_PD_AckNack_t Egprs_Packet_Downlink_Ack_Nack
;
5588 Packet_Pause_t Packet_Pause
;
5589 Packet_Enh_Measurement_Report_t Packet_Enh_Measurement_Report
;
5590 Additional_MS_Rad_Access_Cap_t Additional_MS_Rad_Access_Cap
;
5591 Packet_Cell_Change_Notification_t Packet_Cell_Change_Notification
;
5592 Packet_SI_Status_t Packet_SI_Status
;
5593 UL_Data_Block_GPRS_t UL_Data_Block_GPRS
;
5594 UL_Data_Block_EGPRS_Header_t UL_Data_Block_EGPRS_Header
;
5595 UL_Packet_Control_Ack_11_t UL_Packet_Control_Ack_11
;
5596 UL_Packet_Control_Ack_TN_RRBP_11_t UL_Packet_Control_Ack_TN_RRBP_11
;
5597 UL_Packet_Control_Ack_8_t UL_Packet_Control_Ack_8
;
5598 UL_Packet_Control_Ack_TN_RRBP_8_t UL_Packet_Control_Ack_TN_RRBP_8
;
5599 EC_Packet_Control_Acknowledgement_t EC_Packet_Control_Acknowledgement
;
5600 EC_Packet_Downlink_Ack_Nack_t EC_Packet_Downlink_Ack_Nack
;
5602 RLCMAC_block_format_t block_format
;
5611 }egprs_ul_header_info_t
;
5617 }egprs_dl_header_info_t
;
5622 RLCMAC_block_format_t block_format
;
5624 unsigned frame_number
;
5625 #define GSM_RLC_MAC_EGPRS_BLOCK1 0x01
5626 #define GSM_RLC_MAC_EGPRS_BLOCK2 0x02
5627 #define GSM_RLC_MAC_EGPRS_FANR_FLAG 0x08
5631 egprs_ul_header_info_t egprs_ul_header_info
;
5632 egprs_dl_header_info_t egprs_dl_header_info
;
5634 } RlcMacPrivateData_t
;
5638 void GPRSMSG_Profile(int16_t i
);
5641 /* SI1_RestOctet_t */
5645 bool Exist_NCH_Position
;
5646 uint8_t NCH_Position
;
5648 uint8_t BandIndicator
;
5651 /* SI3_Rest_Octet_t */
5655 uint8_t CELL_RESELECT_OFFSET
;
5656 uint8_t TEMPORARY_OFFSET
;
5657 uint8_t PENALTY_TIME
;
5658 } Selection_Parameters_t
;
5662 uint8_t Exist_Selection_Parameters
;
5663 Selection_Parameters_t Selection_Parameters
;
5665 uint8_t Exist_Power_Offset
;
5666 uint8_t Power_Offset
;
5668 uint8_t System_Information_2ter_Indicator
;
5669 uint8_t Early_Classmark_Sending_Control
;
5671 uint8_t Exist_WHERE
;
5674 uint8_t Exist_GPRS_Indicator
;
5676 uint8_t SI13_POSITION
;
5677 uint8_t ECS_Restriction3G
;
5678 uint8_t ExistSI2quaterIndicator
;
5679 uint8_t SI2quaterIndicator
;
5684 uint8_t Exist_Selection_Parameters
;
5685 Selection_Parameters_t Selection_Parameters
;
5687 uint8_t Exist_Power_Offset
;
5688 uint8_t Power_Offset
;
5690 uint8_t Exist_GPRS_Indicator
;
5692 uint8_t SI13_POSITION
;
5696 typedef SI4_Rest_Octet_t SI7_Rest_Octet_t
;
5697 typedef SI4_Rest_Octet_t SI8_Rest_Octet_t
;
5700 /* SI6_RestOctet_t */
5704 uint8_t PagingChannelRestructuring
;
5707 bool Exist_CallPriority
;
5708 uint8_t CallPriority
;
5711 } PCH_and_NCH_Info_t
;
5715 bool Exist_PCH_and_NCH_Info
;
5716 PCH_and_NCH_Info_t PCH_and_NCH_Info
;
5718 bool Exist_VBS_VGCS_Options
;
5719 uint8_t VBS_VGCS_Options
;
5721 /* The meaning of Exist_DTM_Support is as follows:
5722 * false => DTM is not supported in the serving cell, RAC and MAX_LAPDm are absent in bitstream
5723 * true => DTM is supported in the serving cell, RAC and MAX_LAPDm are present in bitstream
5725 bool Exist_DTM_Support
;
5729 uint8_t BandIndicator
; /* bit(1) L/H, L => ARFCN in 1800 band H => ARFCN in 1900 band */
5732 /*************************************************
5733 * Enhanced Measurement Report. TS 04.18 9.1.55. *
5734 *************************************************/
5740 uint8_t RX_QUAL_FULL
;
5743 uint8_t NBR_RCVD_BLOCKS
;
5744 } EMR_ServingCell_t
;
5748 uint8_t RR_Short_PD
;
5749 uint8_t MESSAGE_TYPE
;
5750 uint8_t ShortLayer2_Header
;
5757 uint8_t Exist_ServingCellData
;
5758 EMR_ServingCell_t ServingCellData
;
5760 uint8_t Count_RepeatedInvalid_BSIC_Info
; /* Number of instances */
5761 RepeatedInvalid_BSIC_Info_t RepeatedInvalid_BSIC_Info
[INV_BSIC_LIST_LEN
];
5763 uint8_t Exist_ReportBitmap
;
5764 uint8_t Count_REPORTING_QUANTITY_Instances
; /* Number of instances */
5765 REPORTING_QUANTITY_Instance_t REPORTING_QUANTITY_Instances
[REPORT_QUANTITY_LIST_LEN
];
5767 } EnhancedMeasurementReport_t
;
5769 extern const uint8_t gsm_rlcmac_gprs_cs_to_block_length
[];
5770 extern const uint8_t gsm_rlcmac_egprs_header_type_to_dl_header_block_length
[];
5771 extern const uint8_t gsm_rlcmac_egprs_header_type_to_ul_header_block_length
[];
5772 extern const uint8_t gsm_rlcmac_egprs_mcs_to_data_block_length
[];
5774 #endif /* __PACKET_GSM_RLCMAC_H__ */
5777 * Editor modelines - https://www.wireshark.org/tools/modelines.html
5782 * indent-tabs-mode: nil
5785 * vi: set shiftwidth=2 tabstop=8 expandtab:
5786 * :indentSize=2:tabSize=8:noTabs=true: