Add "dissector_delete()", "proto_item_get_len()",
[obnox/wireshark/wip.git] / plugins / plugin_api.c
1 /* plugin_api.c
2  * Routines for Ethereal plugins.
3  *
4  * $Id: plugin_api.c,v 1.11 2000/11/13 10:13:21 guy Exp $
5  *
6  * Ethereal - Network traffic analyzer
7  * Copyright 2000 by Gilbert Ramirez <gram@xiexie.org>
8  *
9  * 
10  * This program is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU General Public License
12  * as published by the Free Software Foundation; either version 2
13  * of the License, or (at your option) any later version.
14  * 
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  * 
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
23  *
24  */
25
26 #ifdef HAVE_CONFIG_H
27 #include "config.h"
28 #endif
29
30 #include <stdarg.h>
31
32 #include "plugin_api.h"
33
34 packet_info                     *p_pi = NULL;
35
36 void
37 plugin_address_table_init(plugin_address_table_t *pat)
38 {
39         p_pi                                    = pat->p_pi;
40         p_check_col                             = pat->p_check_col;
41         p_col_add_fstr                          = pat->p_col_add_fstr;
42         p_col_append_fstr                       = pat->p_col_append_fstr;
43         p_col_add_str                           = pat->p_col_add_str;
44         p_col_append_str                        = pat->p_col_append_str;
45         p_dfilter_init                          = pat->p_dfilter_init;
46         p_dfilter_cleanup                       = pat->p_dfilter_cleanup;
47         p_proto_register_protocol               = pat->p_proto_register_protocol;
48         p_proto_register_field_array            = pat->p_proto_register_field_array;
49         p_proto_register_subtree_array          = pat->p_proto_register_subtree_array;
50         p_dissector_add                         = pat->p_dissector_add;
51         p_old_dissector_add                     = pat->p_old_dissector_add;
52         p_dissector_delete                      = pat->p_old_dissector_delete;
53         p_heur_dissector_add                    = pat->p_heur_dissector_add;
54         p_dissect_data                          = pat->p_dissect_data;
55         p_old_dissect_data                      = pat->p_old_dissect_data;
56         p_proto_is_protocol_enabled             = pat->p_proto_is_protocol_enabled;
57         p_proto_item_get_len                    = pat->p_proto_item_get_len;
58         p_proto_item_set_len                    = pat->p_proto_item_set_len;
59         p_proto_item_set_text                   = pat->p_proto_item_set_text;
60         p_proto_item_add_subtree                = pat->p_proto_item_add_subtree;
61         p_proto_tree_add_item                   = pat->p_proto_tree_add_item;
62         p_proto_tree_add_item_hidden            = pat->p_proto_tree_add_item_hidden;
63         p_proto_tree_add_protocol_format        = pat->p_proto_tree_add_protocol_format;
64         p_proto_tree_add_bytes                  = pat->p_proto_tree_add_bytes;
65         p_proto_tree_add_bytes_hidden           = pat->p_proto_tree_add_bytes_hidden;
66         p_proto_tree_add_bytes_format           = pat->p_proto_tree_add_bytes_format;
67         p_proto_tree_add_time                   = pat->p_proto_tree_add_time;
68         p_proto_tree_add_time_hidden            = pat->p_proto_tree_add_time_hidden;
69         p_proto_tree_add_time_format            = pat->p_proto_tree_add_time_format;
70         p_proto_tree_add_ipxnet                 = pat->p_proto_tree_add_ipxnet;
71         p_proto_tree_add_ipxnet_hidden          = pat->p_proto_tree_add_ipxnet_hidden;
72         p_proto_tree_add_ipxnet_format          = pat->p_proto_tree_add_ipxnet_format;
73         p_proto_tree_add_ipv4                   = pat->p_proto_tree_add_ipv4;
74         p_proto_tree_add_ipv4_hidden            = pat->p_proto_tree_add_ipv4_hidden;
75         p_proto_tree_add_ipv4_format            = pat->p_proto_tree_add_ipv4_format;
76         p_proto_tree_add_ipv6                   = pat->p_proto_tree_add_ipv6;
77         p_proto_tree_add_ipv6_hidden            = pat->p_proto_tree_add_ipv6_hidden;
78         p_proto_tree_add_ipv6_format            = pat->p_proto_tree_add_ipv6_format;
79         p_proto_tree_add_ether                  = pat->p_proto_tree_add_ether;
80         p_proto_tree_add_ether_hidden           = pat->p_proto_tree_add_ether_hidden;
81         p_proto_tree_add_ether_format           = pat->p_proto_tree_add_ether_format;
82         p_proto_tree_add_string                 = pat->p_proto_tree_add_string;
83         p_proto_tree_add_string_hidden          = pat->p_proto_tree_add_string_hidden;
84         p_proto_tree_add_string_format          = pat->p_proto_tree_add_string_format;
85         p_proto_tree_add_boolean                = pat->p_proto_tree_add_boolean;
86         p_proto_tree_add_boolean_hidden         = pat->p_proto_tree_add_boolean_hidden;
87         p_proto_tree_add_boolean_format         = pat->p_proto_tree_add_boolean_format;
88         p_proto_tree_add_double                 = pat->p_proto_tree_add_double;
89         p_proto_tree_add_double_hidden          = pat->p_proto_tree_add_double_hidden;
90         p_proto_tree_add_double_format          = pat->p_proto_tree_add_double_format;
91         p_proto_tree_add_uint                   = pat->p_proto_tree_add_uint;
92         p_proto_tree_add_uint_hidden            = pat->p_proto_tree_add_uint_hidden;
93         p_proto_tree_add_uint_format            = pat->p_proto_tree_add_uint_format;
94         p_proto_tree_add_int                    = pat->p_proto_tree_add_int;
95         p_proto_tree_add_int_hidden             = pat->p_proto_tree_add_int_hidden;
96         p_proto_tree_add_int_format             = pat->p_proto_tree_add_int_format;
97         p_proto_tree_add_text                   = pat->p_proto_tree_add_text;
98         p_proto_tree_add_notext                 = pat->p_proto_tree_add_notext;
99         p_tvb_new_subset                        = pat->p_tvb_new_subset;
100         p_tvb_length                            = pat->p_tvb_length;
101         p_tvb_length_remaining                  = pat->p_tvb_length_remaining;
102         p_tvb_bytes_exist                       = pat->p_tvb_bytes_exist;
103         p_tvb_offset_exists                     = pat->p_tvb_offset_exists;
104         p_tvb_reported_length                   = pat->p_tvb_reported_length;
105         p_tvb_get_guint8                        = pat->p_tvb_get_guint8;
106         p_tvb_get_ntohs                         = pat->p_tvb_get_ntohs;
107         p_tvb_get_ntoh24                        = pat->p_tvb_get_ntoh24;
108         p_tvb_get_ntohl                         = pat->p_tvb_get_ntohl;
109 #ifdef G_HAVE_GINT64
110         p_tvb_get_ntohll                        = pat->p_tvb_get_ntohll;
111 #endif
112         p_tvb_get_letohs                        = pat->p_tvb_get_letohs;
113         p_tvb_get_letoh24                       = pat->p_tvb_get_letoh24;
114         p_tvb_get_letohl                        = pat->p_tvb_get_letohl;
115 #ifdef G_HAVE_GINT64
116         p_tvb_get_letohll                       = pat->p_tvb_get_letohll;
117 #endif
118         p_tvb_memcpy                            = pat->p_tvb_memcpy;
119         p_tvb_memdup                            = pat->p_tvb_memdup;
120         p_tvb_get_ptr                           = pat->p_tvb_get_ptr;
121         p_tvb_find_guint8                       = pat->p_tvb_find_guint8;
122         p_tvb_pbrk_guint8                       = pat->p_tvb_pbrk_guint8;
123         p_tvb_strnlen                           = pat->p_tvb_strnlen;
124         p_tvb_format_text                       = pat->p_tvb_format_text;
125         p_tvb_get_nstringz                      = pat->p_tvb_get_nstringz;
126         p_tvb_get_nstringz0                     = pat->p_tvb_get_nstringz0;
127         p_tvb_find_line_end                     = pat->p_tvb_find_line_end;
128         p_tvb_find_line_end_unquoted            = pat->p_tvb_find_line_end_unquoted;
129         p_tvb_strneql                           = pat->p_tvb_strneql;
130         p_tvb_strncaseeql                       = pat->p_tvb_strncaseeql;
131         p_tvb_bytes_to_str                      = pat->p_tvb_bytes_to_str;
132         p_prefs_register_module                 = pat->p_prefs_register_module;
133         p_prefs_register_uint_preference        = pat->p_prefs_register_uint_preference;
134         p_prefs_register_bool_preference        = pat->p_prefs_register_bool_preference;
135         p_prefs_register_enum_preference        = pat->p_prefs_register_enum_preference;
136 }