aboutsummaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorGilbert Ramirez <gram@alumni.rice.edu>2000-05-31 18:32:15 +0000
committerGilbert Ramirez <gram@alumni.rice.edu>2000-05-31 18:32:15 +0000
commit5a5f56ffbf26038ce6cc2a015bf98ad981ef0ddf (patch)
tree2e45d419f1e55ccbd858663996f83c0e43ff7d18 /plugins
parent5d76d969297cf8fa54364a768c3593a3fd276292 (diff)
downloadwireshark-5a5f56ffbf26038ce6cc2a015bf98ad981ef0ddf.tar.gz
wireshark-5a5f56ffbf26038ce6cc2a015bf98ad981ef0ddf.tar.bz2
wireshark-5a5f56ffbf26038ce6cc2a015bf98ad981ef0ddf.zip
Fix plugin function table so that plugins work on Win32.
svn path=/trunk/; revision=2034
Diffstat (limited to 'plugins')
-rw-r--r--plugins/plugin_api.c82
-rw-r--r--plugins/plugin_api.h29
-rw-r--r--plugins/plugin_table.h91
3 files changed, 156 insertions, 46 deletions
diff --git a/plugins/plugin_api.c b/plugins/plugin_api.c
index 7de21def62..07821dc76b 100644
--- a/plugins/plugin_api.c
+++ b/plugins/plugin_api.c
@@ -1,7 +1,7 @@
/* plugin_api.c
* Routines for Ethereal plugins.
*
- * $Id: plugin_api.c,v 1.7 2000/05/05 09:32:34 guy Exp $
+ * $Id: plugin_api.c,v 1.8 2000/05/31 18:32:14 gram Exp $
*
* Ethereal - Network traffic analyzer
* Copyright 2000 by Gilbert Ramirez <gram@xiexie.org>
@@ -36,32 +36,56 @@ packet_info *p_pi = NULL;
void
plugin_address_table_init(plugin_address_table_t *pat)
{
- p_pi = pat->p_pi;
- p_check_col = pat->p_check_col;
- p_col_add_fstr = pat->p_col_add_fstr;
- p_col_append_fstr = pat->p_col_append_fstr;
- p_col_add_str = pat->p_col_add_str;
- p_col_append_str = pat->p_col_append_str;
- p_dfilter_init = pat->p_dfilter_init;
- p_dfilter_cleanup = pat->p_dfilter_cleanup;
- p_proto_register_protocol = pat->p_proto_register_protocol;
- p_proto_register_field_array = pat->p_proto_register_field_array;
- p_proto_register_subtree_array = pat->p_proto_register_subtree_array;
- p_dissector_add = pat->p_dissector_add;
- p_heur_dissector_add = pat->p_heur_dissector_add;
- p_proto_item_add_subtree = pat->p_proto_item_add_subtree;
- p_proto_tree_add_item = pat->p_proto_tree_add_item;
- p_proto_tree_add_item_hidden = pat->p_proto_tree_add_item_hidden;
- p_proto_tree_add_protocol_format = pat->p_proto_tree_add_protocol_format;
- p_proto_tree_add_bytes_format = pat->p_proto_tree_add_bytes_format;
- p_proto_tree_add_time_format = pat->p_proto_tree_add_time_format;
- p_proto_tree_add_ipxnet_format = pat->p_proto_tree_add_ipxnet_format;
- p_proto_tree_add_ipv4_format = pat->p_proto_tree_add_ipv4_format;
- p_proto_tree_add_ipv6_format = pat->p_proto_tree_add_ipv6_format;
- p_proto_tree_add_ether_format = pat->p_proto_tree_add_ether_format;
- p_proto_tree_add_string_format = pat->p_proto_tree_add_string_format;
- p_proto_tree_add_boolean_format = pat->p_proto_tree_add_boolean_format;
- p_proto_tree_add_uint_format = pat->p_proto_tree_add_uint_format;
- p_proto_tree_add_text = pat->p_proto_tree_add_text;
- p_proto_tree_add_notext = pat->p_proto_tree_add_notext;
+ p_pi = pat->p_pi;
+ p_check_col = pat->p_check_col;
+ p_col_add_fstr = pat->p_col_add_fstr;
+ p_col_append_fstr = pat->p_col_append_fstr;
+ p_col_add_str = pat->p_col_add_str;
+ p_col_append_str = pat->p_col_append_str;
+ p_dfilter_init = pat->p_dfilter_init;
+ p_dfilter_cleanup = pat->p_dfilter_cleanup;
+ p_proto_register_protocol = pat->p_proto_register_protocol;
+ p_proto_register_field_array = pat->p_proto_register_field_array;
+ p_proto_register_subtree_array = pat->p_proto_register_subtree_array;
+ p_dissector_add = pat->p_dissector_add;
+ p_heur_dissector_add = pat->p_heur_dissector_add;
+ p_proto_item_add_subtree = pat->p_proto_item_add_subtree;
+ p_proto_tree_add_item = pat->p_proto_tree_add_item;
+ p_proto_tree_add_item_hidden = pat->p_proto_tree_add_item_hidden;
+ p_proto_tree_add_protocol_format = pat->p_proto_tree_add_protocol_format;
+ p_proto_tree_add_bytes = pat->p_proto_tree_add_bytes;
+ p_proto_tree_add_bytes_hidden = pat->p_proto_tree_add_bytes_hidden;
+ p_proto_tree_add_bytes_format = pat->p_proto_tree_add_bytes_format;
+ p_proto_tree_add_time = pat->p_proto_tree_add_time;
+ p_proto_tree_add_time_hidden = pat->p_proto_tree_add_time_hidden;
+ p_proto_tree_add_time_format = pat->p_proto_tree_add_time_format;
+ p_proto_tree_add_ipxnet = pat->p_proto_tree_add_ipxnet;
+ p_proto_tree_add_ipxnet_hidden = pat->p_proto_tree_add_ipxnet_hidden;
+ p_proto_tree_add_ipxnet_format = pat->p_proto_tree_add_ipxnet_format;
+ p_proto_tree_add_ipv4 = pat->p_proto_tree_add_ipv4;
+ p_proto_tree_add_ipv4_hidden = pat->p_proto_tree_add_ipv4_hidden;
+ p_proto_tree_add_ipv4_format = pat->p_proto_tree_add_ipv4_format;
+ p_proto_tree_add_ipv6 = pat->p_proto_tree_add_ipv6;
+ p_proto_tree_add_ipv6_hidden = pat->p_proto_tree_add_ipv6_hidden;
+ p_proto_tree_add_ipv6_format = pat->p_proto_tree_add_ipv6_format;
+ p_proto_tree_add_ether = pat->p_proto_tree_add_ether;
+ p_proto_tree_add_ether_hidden = pat->p_proto_tree_add_ether_hidden;
+ p_proto_tree_add_ether_format = pat->p_proto_tree_add_ether_format;
+ p_proto_tree_add_string = pat->p_proto_tree_add_string;
+ p_proto_tree_add_string_hidden = pat->p_proto_tree_add_string_hidden;
+ p_proto_tree_add_string_format = pat->p_proto_tree_add_string_format;
+ p_proto_tree_add_boolean = pat->p_proto_tree_add_boolean;
+ p_proto_tree_add_boolean_hidden = pat->p_proto_tree_add_boolean_hidden;
+ p_proto_tree_add_boolean_format = pat->p_proto_tree_add_boolean_format;
+ p_proto_tree_add_double = pat->p_proto_tree_add_double;
+ p_proto_tree_add_double_hidden = pat->p_proto_tree_add_double_hidden;
+ p_proto_tree_add_double_format = pat->p_proto_tree_add_double_format;
+ p_proto_tree_add_uint = pat->p_proto_tree_add_uint;
+ p_proto_tree_add_uint_hidden = pat->p_proto_tree_add_uint_hidden;
+ p_proto_tree_add_uint_format = pat->p_proto_tree_add_uint_format;
+ p_proto_tree_add_int = pat->p_proto_tree_add_int;
+ p_proto_tree_add_int_hidden = pat->p_proto_tree_add_int_hidden;
+ p_proto_tree_add_int_format = pat->p_proto_tree_add_int_format;
+ p_proto_tree_add_text = pat->p_proto_tree_add_text;
+ p_proto_tree_add_notext = pat->p_proto_tree_add_notext;
}
diff --git a/plugins/plugin_api.h b/plugins/plugin_api.h
index c009d5bc1d..72ed298ecf 100644
--- a/plugins/plugin_api.h
+++ b/plugins/plugin_api.h
@@ -1,7 +1,7 @@
/* plugin_api.h
* Routines for Ethereal plugins.
*
- * $Id: plugin_api.h,v 1.5 2000/05/05 09:32:35 guy Exp $
+ * $Id: plugin_api.h,v 1.6 2000/05/31 18:32:14 gram Exp $
*
* Ethereal - Network traffic analyzer
* Copyright 2000 by Gilbert Ramirez <gram@xiexie.org>
@@ -24,7 +24,10 @@
*/
#ifdef PLUGINS_NEED_ADDRESS_TABLE
+
+#ifdef _WIN32
#define DLLEXPORT __declspec(dllexport)
+#endif
/* Some OSes (Win32) have DLLs that cannot reference symbols in the parent
executable, so the executable needs to provide a collection of pointers
@@ -56,15 +59,39 @@
#define proto_tree_add_item (*p_proto_tree_add_item)
#define proto_tree_add_item_hidden (*p_proto_tree_add_item_hidden)
#define proto_tree_add_protocol_format (*p_proto_tree_add_protocol_format)
+#define proto_tree_add_bytes (*p_proto_tree_add_bytes)
+#define proto_tree_add_bytes_hidden (*p_proto_tree_add_bytes_hidden)
#define proto_tree_add_bytes_format (*p_proto_tree_add_bytes_format)
+#define proto_tree_add_time (*p_proto_tree_add_time)
+#define proto_tree_add_time_hidden (*p_proto_tree_add_time_hidden)
#define proto_tree_add_time_format (*p_proto_tree_add_time_format)
+#define proto_tree_add_ipxnet (*p_proto_tree_add_ipxnet)
+#define proto_tree_add_ipxnet_hidden (*p_proto_tree_add_ipxnet_hidden)
#define proto_tree_add_ipxnet_format (*p_proto_tree_add_ipxnet_format)
+#define proto_tree_add_ipv4 (*p_proto_tree_add_ipv4)
+#define proto_tree_add_ipv4_hidden (*p_proto_tree_add_ipv4_hidden)
#define proto_tree_add_ipv4_format (*p_proto_tree_add_ipv4_format)
+#define proto_tree_add_ipv6 (*p_proto_tree_add_ipv6)
+#define proto_tree_add_ipv6_hidden (*p_proto_tree_add_ipv6_hidden)
#define proto_tree_add_ipv6_format (*p_proto_tree_add_ipv6_format)
+#define proto_tree_add_ether (*p_proto_tree_add_ether)
+#define proto_tree_add_ether_hidden (*p_proto_tree_add_ether_hidden)
#define proto_tree_add_ether_format (*p_proto_tree_add_ether_format)
+#define proto_tree_add_string (*p_proto_tree_add_string)
+#define proto_tree_add_string_hidden (*p_proto_tree_add_string_hidden)
#define proto_tree_add_string_format (*p_proto_tree_add_string_format)
+#define proto_tree_add_boolean (*p_proto_tree_add_boolean)
+#define proto_tree_add_boolean_hidden (*p_proto_tree_add_boolean_hidden)
#define proto_tree_add_boolean_format (*p_proto_tree_add_boolean_format)
+#define proto_tree_add_double (*p_proto_tree_add_double)
+#define proto_tree_add_double_hidden (*p_proto_tree_add_double_hidden)
+#define proto_tree_add_double_format (*p_proto_tree_add_double_format)
+#define proto_tree_add_uint (*p_proto_tree_add_uint)
+#define proto_tree_add_uint_hidden (*p_proto_tree_add_uint_hidden)
#define proto_tree_add_uint_format (*p_proto_tree_add_uint_format)
+#define proto_tree_add_int (*p_proto_tree_add_int)
+#define proto_tree_add_int_hidden (*p_proto_tree_add_int_hidden)
+#define proto_tree_add_int_format (*p_proto_tree_add_int_format)
#define proto_tree_add_text (*p_proto_tree_add_text)
#define proto_tree_add_notext (*p_proto_tree_add_notext)
diff --git a/plugins/plugin_table.h b/plugins/plugin_table.h
index d00a5a948e..d3349d1328 100644
--- a/plugins/plugin_table.h
+++ b/plugins/plugin_table.h
@@ -1,7 +1,7 @@
/* plugin_table.h
* Table of exported addresses for Ethereal plugins.
*
- * $Id: plugin_table.h,v 1.3 2000/05/05 09:32:36 guy Exp $
+ * $Id: plugin_table.h,v 1.4 2000/05/31 18:32:15 gram Exp $
*
* Ethereal - Network traffic analyzer
* Copyright 2000 by Gilbert Ramirez <gram@xiexie.org>
@@ -48,20 +48,56 @@ typedef void (*addr_dissector_add)(const char *, guint32, dissector_t);
typedef void (*addr_heur_dissector_add)(const char *, heur_dissector_t);
typedef proto_tree* (*addr_proto_item_add_subtree)(proto_item*, gint);
-typedef proto_item* (*addr_proto_tree_add_item)(proto_tree*, int, gint, gint, ...);
-typedef proto_item* (*addr_proto_tree_add_item_hidden)(proto_tree*, int, gint, gint, ...);
-typedef proto_item* (*addr_proto_tree_add_protocol_format)(proto_tree*, int, gint, gint, const char*, ...);
-typedef proto_item* (*addr_proto_tree_add_bytes_format)(proto_tree*, int, gint, gint, const guint8*, const char*, ...);
-typedef proto_item* (*addr_proto_tree_add_time_format)(proto_tree*, int, gint, gint, struct timeval*, const char*, ...);
-typedef proto_item* (*addr_proto_tree_add_ipxnet_format)(proto_tree*, int, gint, gint, guint32, const char*, ...);
-typedef proto_item* (*addr_proto_tree_add_ipv4_format)(proto_tree*, int, gint, gint, guint32, const char*, ...);
-typedef proto_item* (*addr_proto_tree_add_ipv6_format)(proto_tree*, int, gint, gint, guint8*, const char*, ...);
-typedef proto_item* (*addr_proto_tree_add_ether_format)(proto_tree*, int, gint, gint, guint8*, const char*, ...);
-typedef proto_item* (*addr_proto_tree_add_string_format)(proto_tree*, int, gint, gint, const char*, const char*, ...);
-typedef proto_item* (*addr_proto_tree_add_boolean_format)(proto_tree*, int, gint, gint, guint32, const char*, ...);
-typedef proto_item* (*addr_proto_tree_add_uint_format)(proto_tree*, int, gint, gint, guint32, const char*, ...);
-typedef proto_item* (*addr_proto_tree_add_text)(proto_tree*, gint, gint, const char*, ...);
-typedef proto_item* (*addr_proto_tree_add_notext)(proto_tree*, gint, gint);
+typedef proto_item* (*addr_proto_tree_add_item)(proto_tree*, int, tvbuff_t*, gint, gint, gboolean);
+typedef proto_item* (*addr_proto_tree_add_item_hidden)(proto_tree*, int, tvbuff_t*, gint, gint, gboolean);
+typedef proto_item* (*addr_proto_tree_add_protocol_format)(proto_tree*, int, tvbuff_t*, gint, gint, const char*, ...);
+
+typedef proto_item* (*addr_proto_tree_add_bytes)(proto_tree*, int, tvbuff_t*, gint, gint, const guint8*);
+typedef proto_item* (*addr_proto_tree_add_bytes_hidden)(proto_tree*, int, tvbuff_t*, gint, gint, const guint8*);
+typedef proto_item* (*addr_proto_tree_add_bytes_format)(proto_tree*, int, tvbuff_t*, gint, gint, const guint8*, const char*, ...);
+
+typedef proto_item* (*addr_proto_tree_add_time)(proto_tree*, int, tvbuff_t*, gint, gint, struct timeval*);
+typedef proto_item* (*addr_proto_tree_add_time_hidden)(proto_tree*, int, tvbuff_t*, gint, gint, struct timeval*);
+typedef proto_item* (*addr_proto_tree_add_time_format)(proto_tree*, int, tvbuff_t*, gint, gint, struct timeval*, const char*, ...);
+
+typedef proto_item* (*addr_proto_tree_add_ipxnet)(proto_tree*, int, tvbuff_t*, gint, gint, guint32);
+typedef proto_item* (*addr_proto_tree_add_ipxnet_hidden)(proto_tree*, int, tvbuff_t*, gint, gint, guint32);
+typedef proto_item* (*addr_proto_tree_add_ipxnet_format)(proto_tree*, int, tvbuff_t*, gint, gint, guint32, const char*, ...);
+
+typedef proto_item* (*addr_proto_tree_add_ipv4)(proto_tree*, int, tvbuff_t*, gint, gint, guint32);
+typedef proto_item* (*addr_proto_tree_add_ipv4_hidden)(proto_tree*, int, tvbuff_t*, gint, gint, guint32);
+typedef proto_item* (*addr_proto_tree_add_ipv4_format)(proto_tree*, int, tvbuff_t*, gint, gint, guint32, const char*, ...);
+
+typedef proto_item* (*addr_proto_tree_add_ipv6)(proto_tree*, int, tvbuff_t*, gint, gint, const guint8*);
+typedef proto_item* (*addr_proto_tree_add_ipv6_hidden)(proto_tree*, int, tvbuff_t*, gint, gint, const guint8*);
+typedef proto_item* (*addr_proto_tree_add_ipv6_format)(proto_tree*, int, tvbuff_t*, gint, gint, const guint8*, const char*, ...);
+
+typedef proto_item* (*addr_proto_tree_add_ether)(proto_tree*, int, tvbuff_t*, gint, gint, const guint8*);
+typedef proto_item* (*addr_proto_tree_add_ether_hidden)(proto_tree*, int, tvbuff_t*, gint, gint, const guint8*);
+typedef proto_item* (*addr_proto_tree_add_ether_format)(proto_tree*, int, tvbuff_t*, gint, gint, const guint8*, const char*, ...);
+
+typedef proto_item* (*addr_proto_tree_add_string)(proto_tree*, int, tvbuff_t*, gint, gint, const char*);
+typedef proto_item* (*addr_proto_tree_add_string_hidden)(proto_tree*, int, tvbuff_t*, gint, gint, const char*);
+typedef proto_item* (*addr_proto_tree_add_string_format)(proto_tree*, int, tvbuff_t*, gint, gint, const char*, const char*, ...);
+
+typedef proto_item* (*addr_proto_tree_add_boolean)(proto_tree*, int, tvbuff_t*, gint, gint, guint32);
+typedef proto_item* (*addr_proto_tree_add_boolean_hidden)(proto_tree*, int, tvbuff_t*, gint, gint, guint32);
+typedef proto_item* (*addr_proto_tree_add_boolean_format)(proto_tree*, int, tvbuff_t*, gint, gint, guint32, const char*, ...);
+
+typedef proto_item* (*addr_proto_tree_add_double)(proto_tree*, int, tvbuff_t*, gint, gint, double);
+typedef proto_item* (*addr_proto_tree_add_double_hidden)(proto_tree*, int, tvbuff_t*, gint, gint, double);
+typedef proto_item* (*addr_proto_tree_add_double_format)(proto_tree*, int, tvbuff_t*, gint, gint, double, const char*, ...);
+
+typedef proto_item* (*addr_proto_tree_add_uint)(proto_tree*, int, tvbuff_t*, gint, gint, guint32);
+typedef proto_item* (*addr_proto_tree_add_uint_hidden)(proto_tree*, int, tvbuff_t*, gint, gint, guint32);
+typedef proto_item* (*addr_proto_tree_add_uint_format)(proto_tree*, int, tvbuff_t*, gint, gint, guint32, const char*, ...);
+
+typedef proto_item* (*addr_proto_tree_add_int)(proto_tree*, int, tvbuff_t*, gint, gint, gint32);
+typedef proto_item* (*addr_proto_tree_add_int_hidden)(proto_tree*, int, tvbuff_t*, gint, gint, gint32);
+typedef proto_item* (*addr_proto_tree_add_int_format)(proto_tree*, int, tvbuff_t*, gint, gint, gint32, const char*, ...);
+
+typedef proto_item* (*addr_proto_tree_add_text)(proto_tree*, tvbuff_t*, gint, gint, const char*, ...);
+typedef proto_item* (*addr_proto_tree_add_notext)(proto_tree*, tvbuff_t*, gint, gint);
typedef struct {
addr_check_col p_check_col;
@@ -80,22 +116,45 @@ typedef struct {
addr_proto_register_subtree_array p_proto_register_subtree_array;
addr_dissector_add p_dissector_add;
-
addr_heur_dissector_add p_heur_dissector_add;
addr_proto_item_add_subtree p_proto_item_add_subtree;
addr_proto_tree_add_item p_proto_tree_add_item;
addr_proto_tree_add_item_hidden p_proto_tree_add_item_hidden;
addr_proto_tree_add_protocol_format p_proto_tree_add_protocol_format;
+ addr_proto_tree_add_bytes p_proto_tree_add_bytes;
+ addr_proto_tree_add_bytes_hidden p_proto_tree_add_bytes_hidden;
addr_proto_tree_add_bytes_format p_proto_tree_add_bytes_format;
+ addr_proto_tree_add_time p_proto_tree_add_time;
+ addr_proto_tree_add_time_hidden p_proto_tree_add_time_hidden;
addr_proto_tree_add_time_format p_proto_tree_add_time_format;
+ addr_proto_tree_add_ipxnet p_proto_tree_add_ipxnet;
+ addr_proto_tree_add_ipxnet_hidden p_proto_tree_add_ipxnet_hidden;
addr_proto_tree_add_ipxnet_format p_proto_tree_add_ipxnet_format;
+ addr_proto_tree_add_ipv4 p_proto_tree_add_ipv4;
+ addr_proto_tree_add_ipv4_hidden p_proto_tree_add_ipv4_hidden;
addr_proto_tree_add_ipv4_format p_proto_tree_add_ipv4_format;
+ addr_proto_tree_add_ipv6 p_proto_tree_add_ipv6;
+ addr_proto_tree_add_ipv6_hidden p_proto_tree_add_ipv6_hidden;
addr_proto_tree_add_ipv6_format p_proto_tree_add_ipv6_format;
+ addr_proto_tree_add_ether p_proto_tree_add_ether;
+ addr_proto_tree_add_ether_hidden p_proto_tree_add_ether_hidden;
addr_proto_tree_add_ether_format p_proto_tree_add_ether_format;
+ addr_proto_tree_add_string p_proto_tree_add_string;
+ addr_proto_tree_add_string_hidden p_proto_tree_add_string_hidden;
addr_proto_tree_add_string_format p_proto_tree_add_string_format;
+ addr_proto_tree_add_boolean p_proto_tree_add_boolean;
+ addr_proto_tree_add_boolean_hidden p_proto_tree_add_boolean_hidden;
addr_proto_tree_add_boolean_format p_proto_tree_add_boolean_format;
+ addr_proto_tree_add_double p_proto_tree_add_double;
+ addr_proto_tree_add_double_hidden p_proto_tree_add_double_hidden;
+ addr_proto_tree_add_double_format p_proto_tree_add_double_format;
+ addr_proto_tree_add_uint p_proto_tree_add_uint;
+ addr_proto_tree_add_uint_hidden p_proto_tree_add_uint_hidden;
addr_proto_tree_add_uint_format p_proto_tree_add_uint_format;
+ addr_proto_tree_add_int p_proto_tree_add_int;
+ addr_proto_tree_add_int_hidden p_proto_tree_add_int_hidden;
+ addr_proto_tree_add_int_format p_proto_tree_add_int_format;
addr_proto_tree_add_text p_proto_tree_add_text;
addr_proto_tree_add_notext p_proto_tree_add_notext;
} plugin_address_table_t;