aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-gsm_a_common.h
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2008-08-04 16:11:17 +0000
committerAnders Broman <anders.broman@ericsson.com>2008-08-04 16:11:17 +0000
commit96aa45646dc5dee532ed27009145095b2a8778cb (patch)
tree30409eb756af220df74cda28caa9a79684042c22 /epan/dissectors/packet-gsm_a_common.h
parentf4a7b397534f6f7e55510bd98f97a101eac8d1a2 (diff)
First step to split the gsm_a dissector into several smaller ones ( done by Neil Piercy)
rename the "old" one to gsm_a_common. svn path=/trunk/; revision=25915
Diffstat (limited to 'epan/dissectors/packet-gsm_a_common.h')
-rw-r--r--epan/dissectors/packet-gsm_a_common.h129
1 files changed, 129 insertions, 0 deletions
diff --git a/epan/dissectors/packet-gsm_a_common.h b/epan/dissectors/packet-gsm_a_common.h
new file mode 100644
index 0000000000..b32a18d41c
--- /dev/null
+++ b/epan/dissectors/packet-gsm_a_common.h
@@ -0,0 +1,129 @@
+/* packet-gsm_a_common.h
+ *
+ * $Id$
+ *
+ * Copyright 2003, Michael Lum <mlum [AT] telostech.com>,
+ * In association with Telos Technology Inc.
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+#ifndef __PACKET_GSM_A_COMMON_H__
+#define __PACKET_GSM_A_COMMON_H__
+
+/*
+ * this enum must be kept in-sync with 'gsm_a_pd_str'
+ * it is used as an index into the array
+ */
+typedef enum
+{
+ PD_GCC = 0,
+ PD_BCC,
+ PD_RSVD_1,
+ PD_CC,
+ PD_GTTP,
+ PD_MM,
+ PD_RR,
+ PD_UNK_1,
+ PD_GMM,
+ PD_SMS,
+ PD_SM,
+ PD_SS,
+ PD_LCS,
+ PD_UNK_2,
+ PD_RSVD_EXT,
+ PD_RSVD_TEST
+}
+gsm_a_pd_str_e;
+
+typedef struct _gsm_a_tap_rec_t {
+ /*
+ * value from packet-bssap.h
+ */
+ guint8 pdu_type;
+ guint8 message_type;
+ gsm_a_pd_str_e protocol_disc;
+} gsm_a_tap_rec_t;
+
+void dissect_bssmap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
+
+void dtap_mm_mm_info(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len);
+
+guint8 be_cell_id_aux(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string, int string_len, guint8 disc);
+guint8 be_cell_id_list(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string, int string_len);
+guint8 be_chan_type(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string, int string_len);
+
+guint8 de_lai(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string, int string_len);
+guint8 de_mid(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string, int string_len);
+guint8 de_cell_id(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string, int string_len);
+
+guint8 de_ms_cm_1(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_);
+guint8 de_ms_cm_2(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string, int string_len);
+
+guint8 de_sm_apn(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string, int string_len);
+guint8 de_sm_qos(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string, int string_len);
+guint8 de_sm_pflow_id(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string, int string_len);
+
+guint8 de_gmm_drx_param(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string, int string_len);
+guint8 de_gmm_ms_net_cap(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string, int string_len);
+guint8 de_gmm_rai(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string, int string_len);
+guint8 de_gmm_ms_radio_acc_cap(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string, int string_len);
+
+guint8 de_rr_cause(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string, int string_len);
+guint8 de_rr_cell_dsc(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string, int string_len);
+guint8 de_rr_ch_dsc(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_);
+guint8 de_rr_ch_mode(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string, int string_len);
+guint8 de_rr_chnl_needed(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_);
+guint8 de_rr_cip_mode_set(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string, int string_len);
+guint8 de_rr_cm_enq_mask(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string, int string_len);
+guint8 de_rr_meas_res(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_);
+guint8 de_rr_multirate_conf(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_);
+guint8 de_rr_sus_cau(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string, int string_len);
+guint8 de_rr_tlli(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string, int string_len);
+
+guint8 de_rej_cause(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_);
+guint8 de_d_gb_call_ref(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_);
+
+void dtap_rr_ho_cmd(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len);
+
+/*
+ * the following allows TAP code access to the messages
+ * without having to duplicate it. With MSVC and a
+ * libwireshark.dll, we need a special declaration.
+ */
+WS_VAR_IMPORT const value_string gsm_a_bssmap_msg_strings[];
+WS_VAR_IMPORT const value_string gsm_a_dtap_msg_mm_strings[];
+WS_VAR_IMPORT const value_string gsm_a_dtap_msg_rr_strings[];
+WS_VAR_IMPORT const value_string gsm_a_dtap_msg_cc_strings[];
+WS_VAR_IMPORT const value_string gsm_a_dtap_msg_gmm_strings[];
+WS_VAR_IMPORT const value_string gsm_a_dtap_msg_sms_strings[];
+WS_VAR_IMPORT const value_string gsm_a_dtap_msg_sm_strings[];
+WS_VAR_IMPORT const value_string gsm_a_dtap_msg_ss_strings[];
+WS_VAR_IMPORT const gchar *gsm_a_pd_str[];
+
+extern const value_string gsm_a_qos_del_of_err_sdu_vals[];
+extern const value_string gsm_a_qos_del_order_vals[];
+extern const value_string gsm_a_qos_traffic_cls_vals[];
+extern const value_string gsm_a_qos_ber_vals[];
+extern const value_string gsm_a_qos_sdu_err_rat_vals[];
+extern const value_string gsm_a_qos_traff_hdl_pri_vals[];
+
+extern const value_string gsm_a_type_of_number_values[];
+extern const value_string gsm_a_numbering_plan_id_values[];
+
+#endif /* __PACKET_GSM_A_COMMON_H__ */