diff options
author | Guy Harris <guy@alum.mit.edu> | 2000-03-15 19:09:52 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2000-03-15 19:09:52 +0000 |
commit | eedea6fcd4895372632e14ad187f37ab7d92e8fc (patch) | |
tree | 9ce0dba739c4e485a3ae3abca2e3bbd8d03ca838 /plugins/plugin_api.c | |
parent | ff24cd97c0e4fcc7de128ae73973e1cf6033c664 (diff) | |
download | wireshark-eedea6fcd4895372632e14ad187f37ab7d92e8fc.tar.gz wireshark-eedea6fcd4895372632e14ad187f37ab7d92e8fc.tar.bz2 wireshark-eedea6fcd4895372632e14ad187f37ab7d92e8fc.zip |
Give all the Ethereal APIs available to plugins their own function
pointers, and call the APIs by calling through the function pointers -
the old technique of using wrappers didn't work, as the underlying
function they all called no longer exists.
svn path=/trunk/; revision=1724
Diffstat (limited to 'plugins/plugin_api.c')
-rw-r--r-- | plugins/plugin_api.c | 158 |
1 files changed, 27 insertions, 131 deletions
diff --git a/plugins/plugin_api.c b/plugins/plugin_api.c index 4262c7ca58..4da934b3af 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.4 2000/02/12 11:24:24 guy Exp $ + * $Id: plugin_api.c,v 1.5 2000/03/15 19:09:16 guy Exp $ * * Ethereal - Network traffic analyzer * Copyright 2000 by Gilbert Ramirez <gram@xiexie.org> @@ -31,139 +31,35 @@ #include "plugin_api.h" -static plugin_address_table_t *patable = NULL; packet_info *p_pi = NULL; - -#ifdef pi -#undef pi -#endif - void plugin_address_table_init(plugin_address_table_t *pat) { - patable = pat; - p_pi = pat->pi; -} - -gint -check_col(frame_data* fd, gint col) -{ - return patable->check_col(fd, col); -} - -/*void col_add_fstr(frame_data*, gint, gchar*, ...); -void col_append_fstr(frame_data*, gint, gchar*, ...);*/ - -void -col_add_str(frame_data* fd, gint col, const gchar* str) -{ - patable->col_add_str(fd, col, str); -} - -void -col_append_str(frame_data* fd, gint col, gchar* str) -{ - patable->col_append_str(fd, col, str); -} - -void -dfilter_init(void) -{ - patable->dfilter_init(); -} - -void -dfilter_cleanup(void) -{ - patable->dfilter_cleanup(); -} - -int -proto_register_protocol(char* name, char* abbrev) -{ - return patable->proto_register_protocol(name, abbrev); -} - -void -proto_register_field_array(int parent, hf_register_info* hf, int num_records) -{ - patable->proto_register_field_array(parent, hf, num_records); -} - -void -proto_register_subtree_array(int** indices, int num_indices) -{ - patable->proto_register_subtree_array(indices, num_indices); -} - -proto_tree * -proto_item_add_subtree(proto_item* pi, gint idx) -{ - return patable->proto_item_add_subtree(pi, idx); -} - -proto_item * -proto_tree_add_item(proto_tree *tree, int hfindex, gint start, gint length, ...) -{ - proto_item *pi; - va_list ap; - - va_start(ap, length); - pi = patable->_proto_tree_add_item_value(tree, hfindex, start, length, 0, 1, ap); - va_end(ap); - - return pi; -} - -proto_item * -proto_tree_add_item_hidden(proto_tree *tree, int hfindex, gint start, gint length, ...) -{ - proto_item *pi; - va_list ap; - - va_start(ap, length); - pi = patable->_proto_tree_add_item_value(tree, hfindex, start, length, 0, 0, ap); - va_end(ap); - - return pi; -} - -proto_item * -proto_tree_add_item_format(proto_tree *tree, int hfindex, gint start, gint length, ...) -{ - proto_item *pi; - va_list ap; - - va_start(ap, length); - pi = patable->_proto_tree_add_item_value(tree, hfindex, start, length, 1, 1, ap); - va_end(ap); - - return pi; -} - -proto_item * -proto_tree_add_notext(proto_tree *tree, gint start, gint length, ...) -{ - proto_item *pi; - va_list ap; - - va_start(ap, length); - pi = patable->_proto_tree_add_item_value(tree, patable->hf_text_only, start, length, 0, 1, ap); - va_end(ap); - - return pi; -} - -proto_item * -proto_tree_add_text(proto_tree *tree, gint start, gint length, ...) -{ - proto_item *pi; - va_list ap; - - va_start(ap, length); - pi = patable->_proto_tree_add_item_value(tree, patable->hf_text_only, start, length, 1, 1, ap); - va_end(ap); - - return pi; + 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_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; } |