aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2001-07-22 10:12:11 +0000
committerGuy Harris <guy@alum.mit.edu>2001-07-22 10:12:11 +0000
commit6287e86539fe79adfe1f9e2899c4fda749dc4b25 (patch)
tree0b2c75fea3892fd8d7b2f1e54ec943bd6d8f7b2e
parent8d6e6e50673d1856126940dd3eb23395782c0cac (diff)
Add a bunch of routines used by GIOP plugins to the plugin address
table. svn path=/trunk/; revision=3764
-rw-r--r--epan/plugins.c11
-rw-r--r--plugins/plugin_api.c10
-rw-r--r--plugins/plugin_api.h13
-rw-r--r--plugins/plugin_table.h24
4 files changed, 51 insertions, 7 deletions
diff --git a/epan/plugins.c b/epan/plugins.c
index 38ef929b3d..929038215c 100644
--- a/epan/plugins.c
+++ b/epan/plugins.c
@@ -1,7 +1,7 @@
/* plugins.c
* plugin routines
*
- * $Id: plugins.c,v 1.24 2001/04/25 08:41:21 guy Exp $
+ * $Id: plugins.c,v 1.25 2001/07/22 10:12:08 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -63,6 +63,7 @@
#include "prefs.h"
#ifdef PLUGINS_NEED_ADDRESS_TABLE
+#include "packet-giop.h"
#include "plugins/plugin_table.h"
static plugin_address_table_t patable;
#endif
@@ -404,6 +405,14 @@ init_plugins(const char *plugin_dir)
patable.p_prefs_register_uint_preference = prefs_register_uint_preference;
patable.p_prefs_register_bool_preference = prefs_register_bool_preference;
patable.p_prefs_register_enum_preference = prefs_register_enum_preference;
+
+ patable.p_register_giop_user = register_giop_user;
+ patable.p_is_big_endian = is_big_endian;
+ patable.p_get_CDR_string = get_CDR_string;
+ patable.p_get_CDR_ulong = get_CDR_ulong;
+ patable.p_get_CDR_enum = get_CDR_enum;
+ patable.p_get_CDR_object = get_CDR_object;
+ patable.p_get_CDR_boolean = get_CDR_boolean;
#endif
plugins_scan_dir(std_plug_dir);
diff --git a/plugins/plugin_api.c b/plugins/plugin_api.c
index 184733cac6..a2c8eff5b4 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.19 2001/04/25 08:41:22 guy Exp $
+ * $Id: plugin_api.c,v 1.20 2001/07/22 10:12:11 guy Exp $
*
* Ethereal - Network traffic analyzer
* Copyright 2000 by Gilbert Ramirez <gram@xiexie.org>
@@ -137,4 +137,12 @@ plugin_address_table_init(plugin_address_table_t *pat)
p_prefs_register_uint_preference = pat->p_prefs_register_uint_preference;
p_prefs_register_bool_preference = pat->p_prefs_register_bool_preference;
p_prefs_register_enum_preference = pat->p_prefs_register_enum_preference;
+ p_register_giop_user = pat->p_register_giop_user;
+ p_is_big_endian = pat->p_is_big_endian;
+ p_get_CDR_string = pat->p_get_CDR_string;
+ p_get_CDR_ulong = pat->p_get_CDR_ulong;
+ p_get_CDR_enum = pat->p_get_CDR_enum;
+ p_get_CDR_object = pat->p_get_CDR_object;
+ p_get_CDR_boolean = pat->p_get_CDR_boolean;
+
}
diff --git a/plugins/plugin_api.h b/plugins/plugin_api.h
index df19223ba5..596c4d610d 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.19 2001/04/25 08:41:22 guy Exp $
+ * $Id: plugin_api.h,v 1.20 2001/07/22 10:12:11 guy Exp $
*
* Ethereal - Network traffic analyzer
* Copyright 2000 by Gilbert Ramirez <gram@xiexie.org>
@@ -155,12 +155,21 @@
#define prefs_register_bool_preference (*p_prefs_register_bool_preference)
#define prefs_register_enum_preference (*p_prefs_register_enum_preference)
-#define pi (*p_pi)
+#define register_giop_user (*p_register_giop_user)
+#define is_big_endian (*p_is_big_endian)
+#define get_CDR_string (*p_get_CDR_string)
+#define get_CDR_ulong (*p_get_CDR_ulong)
+#define get_CDR_enum (*p_get_CDR_enum)
+#define get_CDR_object (*p_get_CDR_object)
+#define get_CDR_boolean (*p_get_CDR_boolean)
+
+#define pi (*p_pi)
#endif
#include "packet.h"
#include "prefs.h"
+#include "packet-giop.h"
#include "plugin_table.h"
diff --git a/plugins/plugin_table.h b/plugins/plugin_table.h
index 0ff112893b..0f9308c5d2 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.20 2001/04/25 08:41:22 guy Exp $
+ * $Id: plugin_table.h,v 1.21 2001/07/22 10:12:11 guy Exp $
*
* Ethereal - Network traffic analyzer
* Copyright 2000 by Gilbert Ramirez <gram@xiexie.org>
@@ -114,11 +114,11 @@ typedef proto_item* (*addr_proto_tree_add_notext)(proto_tree*, tvbuff_t*, gint,
typedef tvbuff_t* (*addr_tvb_new_subset)(tvbuff_t*, gint, gint, gint);
typedef guint (*addr_tvb_length)(tvbuff_t*);
-typedef guint (*addr_tvb_length_remaining)(tvbuff_t*, gint);
+typedef gint (*addr_tvb_length_remaining)(tvbuff_t*, gint);
typedef gboolean (*addr_tvb_bytes_exist)(tvbuff_t*, gint, gint);
typedef gboolean (*addr_tvb_offset_exists)(tvbuff_t*, gint);
typedef guint (*addr_tvb_reported_length)(tvbuff_t*);
-typedef guint (*addr_tvb_reported_length_remaining)(tvbuff_t*, gint);
+typedef gint (*addr_tvb_reported_length_remaining)(tvbuff_t*, gint);
typedef guint8 (*addr_tvb_get_guint8)(tvbuff_t*, gint);
@@ -169,6 +169,16 @@ typedef void (*addr_prefs_register_enum_preference)(struct pref_module *,
const char *, const char *, const char *, gint *, const enum_val_t *,
gboolean);
+typedef void (*addr_register_giop_user)(giop_sub_dissector_t *, gchar *, int);
+typedef gboolean (*addr_is_big_endian)(MessageHeader *);
+typedef guint32 (*addr_get_CDR_string)(tvbuff_t *, gchar **, int *, gboolean,
+ int);
+typedef guint32 (*addr_get_CDR_ulong)(tvbuff_t *, int *, gboolean, int);
+typedef guint32 (*addr_get_CDR_enum)(tvbuff_t *, int *, gboolean, int);
+typedef void (*addr_get_CDR_object)(tvbuff_t *, packet_info *, proto_tree *,
+ int *, gboolean, int);
+typedef gboolean (*addr_get_CDR_boolean)(tvbuff_t *, int *);
+
typedef struct {
addr_check_col p_check_col;
addr_col_clear p_col_clear;
@@ -292,6 +302,14 @@ typedef struct {
addr_prefs_register_uint_preference p_prefs_register_uint_preference;
addr_prefs_register_bool_preference p_prefs_register_bool_preference;
addr_prefs_register_enum_preference p_prefs_register_enum_preference;
+
+ addr_register_giop_user p_register_giop_user;
+ addr_is_big_endian p_is_big_endian;
+ addr_get_CDR_string p_get_CDR_string;
+ addr_get_CDR_ulong p_get_CDR_ulong;
+ addr_get_CDR_enum p_get_CDR_enum;
+ addr_get_CDR_object p_get_CDR_object;
+ addr_get_CDR_boolean p_get_CDR_boolean;
} plugin_address_table_t;
#else /* ! PLUGINS_NEED_ACCESS_TABLE */