aboutsummaryrefslogtreecommitdiffstats
path: root/epan/exported_pdu.c
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2014-06-19 02:42:47 +0200
committerAnders Broman <a.broman58@gmail.com>2014-06-19 06:48:32 +0000
commitbcff3c57cc42acdda9eb9bc6f556dcbcb069e51f (patch)
treedba01dffd0e0baa72d2945ca5928dca157a8ecdd /epan/exported_pdu.c
parent5a6366c9b56990eb7f4af17bf628ad80fc354ece (diff)
Add the ability to dynamically add a new protocol to export PDU dialog box
Change-Id: I83012cc963d514982e40010e837e11a6fcf1bc3e Reviewed-on: https://code.wireshark.org/review/2423 Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/exported_pdu.c')
-rw-r--r--epan/exported_pdu.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/epan/exported_pdu.c b/epan/exported_pdu.c
index a1a205eca8..a57f458697 100644
--- a/epan/exported_pdu.c
+++ b/epan/exported_pdu.c
@@ -27,9 +27,12 @@
#include <epan/packet.h>
#include <epan/exported_pdu.h>
+#include <epan/tap.h>
#include <epan/dissectors/packet-mtp3.h>
#include <epan/dissectors/packet-dvbci.h>
+GSList *export_pdu_tap_name_list = NULL;
+
/**
* Allocates and fills the exp_pdu_data_t struct according to the wanted_exp_tags
* bit field of wanted_exp_tags_len bytes length
@@ -332,3 +335,24 @@ load_export_pdu_tags(packet_info *pinfo, const char* proto_name, int wtap_encap
return exp_pdu_data;
}
+
+gint
+register_export_pdu_tap(const char *name)
+{
+ gchar *tap_name = g_strdup(name);
+ export_pdu_tap_name_list = g_slist_prepend(export_pdu_tap_name_list, tap_name);
+ return register_tap(tap_name);
+}
+
+static
+gint sort_pdu_tap_name_list(gconstpointer a, gconstpointer b)
+{
+ return g_strcmp0((const char *)a, (const char*)b);
+}
+
+GSList *
+get_export_pdu_tap_list(void)
+{
+ export_pdu_tap_name_list = g_slist_sort(export_pdu_tap_name_list, sort_pdu_tap_name_list);
+ return export_pdu_tap_name_list;
+}