aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-gsm_rlcmac.c
diff options
context:
space:
mode:
authoretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2011-07-22 08:18:59 +0000
committeretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2011-07-22 08:18:59 +0000
commitb498f20e5777523ba4fd1cb8e84e22ab6042941c (patch)
tree5178222ccdc2fbddd92b34191aba9969a0e0f4aa /epan/dissectors/packet-gsm_rlcmac.c
parentbe7c84733cebdb68f0c5464ffd0ed06be3ae6b29 (diff)
From Lei Chen:
Support "Packet System Information Type 1" in packet-gsm_rlcmac.c https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6152 git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@38165 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-gsm_rlcmac.c')
-rw-r--r--epan/dissectors/packet-gsm_rlcmac.c169
1 files changed, 169 insertions, 0 deletions
diff --git a/epan/dissectors/packet-gsm_rlcmac.c b/epan/dissectors/packet-gsm_rlcmac.c
index 9155c759b0..4f268c1b22 100644
--- a/epan/dissectors/packet-gsm_rlcmac.c
+++ b/epan/dissectors/packet-gsm_rlcmac.c
@@ -1005,6 +1005,26 @@ static int hf_packet_pause_message_type;
static int hf_packet_pause_tlli;
/* < End Packet Pause > */
+/* < Packet System Information Type 1 > */
+static int hf_packet_system_info_type1_message_type;
+static int hf_packet_system_info_type1_page_mode;
+static int hf_packet_system_info_type1_pbcch_change_mark;
+static int hf_packet_system_info_type1_psi_change_field;
+static int hf_packet_system_info_type1_psi1_repeat_period;
+static int hf_packet_system_info_type1_psi_count_lr;
+static int hf_packet_system_info_type1_psi_count_hr;
+static int hf_packet_system_info_type1_measurement_order;
+static int hf_packet_system_info_type1_psi_status_ind;
+static int hf_packet_system_info_type1_mscr;
+static int hf_packet_system_info_type1_sgsnr;
+static int hf_packet_system_info_type1_band_indicator;
+static int hf_pccch_org_bs_pcc_rel;
+static int hf_pccch_org_pbcch_blks;
+static int hf_pccch_org_pag_blks_res;
+static int hf_pccch_org_prach_blks;
+/* <End Packet System Information Type 1> */
+
+
static int hf_si1_restoctet_nch_position;
static int hf_si1_restoctet_bandindicator;
static int hf_selection_parameters_cbq;
@@ -4628,6 +4648,50 @@ CSN_DESCR_END (Packet_Pause_t)
/*< End Packet Pause > */
+/*< Packet System Information Type 1 message content >*/
+static const
+CSN_DESCR_BEGIN(PSI1_AdditionsR99_t)
+ M_UINT (PSI1_AdditionsR99_t, MSCR, 1, &hf_packet_system_info_type1_mscr),
+ M_UINT (PSI1_AdditionsR99_t, SGSNR, 1, &hf_packet_system_info_type1_sgsnr),
+ M_UINT (PSI1_AdditionsR99_t, BandIndicator, 1, &hf_packet_system_info_type1_band_indicator),
+CSN_DESCR_END (PSI1_AdditionsR99_t)
+
+static const
+CSN_DESCR_BEGIN(PCCCH_Organization_t)
+ M_UINT (PCCCH_Organization_t, BS_PCC_REL, 1, &hf_pccch_org_bs_pcc_rel),
+ M_UINT (PCCCH_Organization_t, BS_PBCCH_BLKS, 2, &hf_pccch_org_pbcch_blks),
+ M_UINT (PCCCH_Organization_t, BS_PAG_BLKS_RES, 4, &hf_pccch_org_pag_blks_res),
+ M_UINT (PCCCH_Organization_t, BS_PRACH_BLKS, 4, &hf_pccch_org_prach_blks),
+CSN_DESCR_END (PCCCH_Organization_t)
+
+
+static const
+CSN_DESCR_BEGIN(PSI1_t)
+ M_UINT (PSI1_t, MESSAGE_TYPE, 6, &hf_packet_system_info_type1_message_type),
+ M_UINT (PSI1_t, PAGE_MODE, 2, &hf_packet_system_info_type1_page_mode),
+
+ M_UINT (PSI1_t, PBCCH_CHANGE_MARK, 3, &hf_packet_system_info_type1_pbcch_change_mark),
+ M_UINT (PSI1_t, PSI_CHANGE_FIELD, 4, &hf_packet_system_info_type1_psi_change_field),
+ M_UINT (PSI1_t, PSI1_REPEAT_PERIOD, 4, &hf_packet_system_info_type1_psi1_repeat_period),
+ M_UINT (PSI1_t, PSI_COUNT_LR, 6, &hf_packet_system_info_type1_psi_count_lr),
+
+ M_NEXT_EXIST (PSI1_t, Exist_PSI_COUNT_HR, 1),
+ M_UINT (PSI1_t, PSI_COUNT_HR, 4, &hf_packet_system_info_type1_psi_count_hr),
+
+ M_UINT (PSI1_t, MEASUREMENT_ORDER, 1, &hf_packet_system_info_type1_measurement_order),
+ M_TYPE (PSI1_t, GPRS_Cell_Options, GPRS_Cell_Options_t),
+ M_TYPE (PSI1_t, PRACH_Control, PRACH_Control_t),
+ M_TYPE (PSI1_t, PCCCH_Organization, PCCCH_Organization_t),
+ M_TYPE (PSI1_t, Global_Power_Control_Parameters, Global_Power_Control_Parameters_t),
+ M_UINT (PSI1_t, PSI_STATUS_IND, 1, &hf_packet_system_info_type1_psi_status_ind),
+
+ M_NEXT_EXIST (PSI1_t, Exist_AdditionsR99, 1),
+ M_TYPE (PSI1_t, AdditionsR99, PSI1_AdditionsR99_t),
+CSN_DESCR_END (PSI1_t)
+/*< End Packet System Information Type 1 message content >*/
+
+
+
typedef char* MT_Strings_t;
@@ -5135,6 +5199,11 @@ dissect_gsm_rlcmac_downlink(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *t
ret = csnStreamDissector(rlcmac_tree, &ar, CSNDESCR(Packet_Downlink_Dummy_Control_Block_t), tvb, &data->u.Packet_Downlink_Dummy_Control_Block, ett_gsm_rlcmac);
break;
}
+ case MT_PACKET_SYSTEM_INFO_1:
+ {
+ ret = csnStreamDissector(rlcmac_tree, &ar, CSNDESCR(PSI1_t), tvb, &data->u.PSI1, ett_gsm_rlcmac);
+ break;
+ }
default: ret = -1;
break;
}
@@ -10560,6 +10629,106 @@ proto_register_gsm_rlcmac(void)
}
},
/*< End Packet Pause> */
+
+/* < Packet System Information Type 1 message content > */
+ { &hf_packet_system_info_type1_message_type,
+ { "MessageType", "gsm_rlcmac_dl.packet_psi1_messagetype",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL
+ }
+ },
+ { &hf_packet_system_info_type1_page_mode,
+ { "PageMode", "gsm_rlcmac_dl.psi1_pagemode",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL
+ }
+ },
+ { &hf_packet_system_info_type1_pbcch_change_mark,
+ { "PBCCH_CHANGE_MARK", "gsm_rlcmac_dl.psi1_pbcch_change_mark",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL
+ }
+ },
+ { &hf_packet_system_info_type1_psi_change_field,
+ { "PSI_CHANGE_FIELD", "gsm_rlcmac_dl.psi1_psi_change_field",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL
+ }
+ },
+ { &hf_packet_system_info_type1_psi1_repeat_period,
+ { "PSI1_REPEAT_PERIOD", "gsm_rlcmac_dl.psi1_psi1_repeat_period",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL
+ }
+ },
+ { &hf_packet_system_info_type1_psi_count_lr,
+ { "PSI_COUNT_LR", "gsm_rlcmac_dl.psi1_psi_count_lr",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL
+ }
+ },
+ { &hf_packet_system_info_type1_psi_count_hr,
+ { "PSI_COUNT_HR", "gsm_rlcmac_dl.psi1_psi_count_hr",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL
+ }
+ },
+ { &hf_packet_system_info_type1_measurement_order,
+ { "MEASUREMENT_ORDER", "gsm_rlcmac_dl.psi1_measurement_order",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL
+ }
+ },
+ { &hf_packet_system_info_type1_psi_status_ind,
+ { "PSI_STATUS_IND", "gsm_rlcmac_dl.psi1_psi_status_ind",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL
+ }
+ },
+ { &hf_packet_system_info_type1_mscr,
+ { "MSCR", "gsm_rlcmac_dl.psi1_mscr",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL
+ }
+ },
+ { &hf_packet_system_info_type1_sgsnr,
+ { "SGSNR", "gsm_rlcmac_dl.psi1_sgsnr",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL
+ }
+ },
+ { &hf_packet_system_info_type1_band_indicator,
+ { "BAND_INDICATOR", "gsm_rlcmac_dl.psi1_band_indicator",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL
+ }
+ },
+ { &hf_pccch_org_bs_pcc_rel,
+ { "BS_PCC_REL", "gsm_rlcmac_dl.pccch_org_bs_pcc_rel",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL
+ }
+ },
+ { &hf_pccch_org_pbcch_blks,
+ { "PBCCH_BLKS", "gsm_rlcmac_dl.pccch_org_pbcch_blks",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL
+ }
+ },
+ { &hf_pccch_org_pag_blks_res,
+ { "PAG_BLKS_RES", "gsm_rlcmac_dl.pccch_org_pag_blks_res",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL
+ }
+ },
+ { &hf_pccch_org_prach_blks,
+ { "PRACH_BLKS", "gsm_rlcmac_dl.pccch_org_prach_blks",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL
+ }
+ },
+/* < End Packet System Information Type 1 message content > */
+
};