etherealのプラグインのうちわけ

ばー゛じょんじょうほう

#ifndef ENABLE_STATIC
G_MODULE_EXPORT const gchar version[] = "0.0.1";
#endif

すっげへーてきとぉぉぉなののののぉぉぉぉ

plugin_register レジスト処理

G_MODULE_EXPORT void
plugin_register(void)
{
  /* 一度だけ初期化する */
  if (proto_XXX == -1) {
    proto_register_XXX();
  }
}

static int proto_XXX
でこれもstatic。値だけ保持すればよい
マップの初期化とかー

void
proto_register_XXX(void) {
  static hf_register_info hf = {
	{ &hf_XXX, ←static int  でよい
	    { "XXX", "xxx",
		FT_NONE, BASE_NONE, NULL, 0,
		"XXX", HFILL }},
    ....
    ....

  };

  static gint *ett = {
    &ett_acn,
  };

  module_t *acn_module;

  proto_XXX = proto_register_protocol("XXX",
				      "XXX","xxx");
  proto_register_field_array(proto_XXX,hf,array_length(hf));
  proto_register_subtree_array(ett,array_length(ett));

  acn_module = prefs_register_protocol(proto_XXX,
				       proto_reg_handoff_XXX); <== ゴミ処理関数指定

登録したhf_XXXは、後で実行関数?から
proto_tree_add_item(si, hf_XXX, tvb, offset, 1, TRUE );
のようにリアルタイムに
ごにょるらしい

plugin_reg_handoff ゴミ処理

G_MODULE_EXPORT void
plugin_reg_handoff(void){
  proto_reg_handoff_XXX();
}

header_field_info定義

/** information describing a header field */
typedef struct _header_field_info header_field_info;

/** information describing a header field */
struct _header_field_info {
	/* ---------- set by dissector --------- */
	const char				*name;      /**< full name of this field */
	const char				*abbrev;    /**< abbreviated name of this field */
	enum ftenum			type;       /**< field type, one of FT_ (from ftypes.h) */
	int					display;	/**< one of BASE_, or number of field bits for FT_BOOLEAN */
	const void			*strings;	/**< _value_string (or true_false_string for FT_BOOLEAN), typically converted by VALS() or TFS() If this is an FT_PROTOCOL then it points to the associated protocol_t structure*/
	guint32				bitmask;    /**< FT_BOOLEAN only: bitmask of interesting bits */
	const char				*blurb;		/**< Brief description of field. */

	/* ------- set by proto routines (prefilled by HFILL macro, see below) ------ */
	int				id;		/**< Field ID */
	int				parent;		/**< parent protocol tree */
		/* This field keeps track of whether a field is 
		 * referenced in any filter or not and if so how 
		 * many times. If a filter is being referenced the 
		 * refcount for the parent protocol is updated as well 
		 */
	int				ref_count;	/**< is this field referenced by a filter or not */
	int				bitshift;	/**< bits to shift (FT_BOOLEAN only) */
	header_field_info		*same_name_next; /**< Link to next hfinfo with same abbrev*/
	header_field_info		*same_name_prev; /**< Link to previous hfinfo with same abbrev*/
};

/**
 * HFILL initializes all the "set by proto routines" fields in a
 * _header_field_info. If new fields are added or removed, it should
 * be changed as necessary.
 */
#define HFILL 0, 0, 0, 0, NULL, NULL

/** Used when registering many fields at once, using proto_register_field_array() */
typedef struct hf_register_info {
	int			*p_id;	/**< written to by register() function */
	header_field_info	hfinfo; /**< the field info to be registered */
} hf_register_info;

パケ解析処理の構造

まぁ、ごちゃごちゃかくよリーかはpacket_echo.cのほうがよいのでこいつを天才


/* packet-echo.c
 * Routines for ECHO packet disassembly (RFC862)
 *
 * Only useful to mark the packets as ECHO in the summary and in the
 * protocol hierarchy statistics (since not so many fields to decode ;-)
 *
 * Laurent Deniel 
 *
 * $Id: packet-echo.c 14884 2005-07-09 00:53:17Z guy $
 *
 * Ethereal - Network traffic analyzer
 * By Gerald Combs 
 * Copyright 1998 Gerald Combs
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */

#ifdef HAVE_CONFIG_H
# include "config.h"
#endif

#include 
#include 
#include 
#include 

#define ECHO_PORT	7

static int proto_echo = -1;

static int hf_echo_data = -1;
static int hf_echo_request = -1;
static int hf_echo_response = -1;

static gint ett_echo = -1;

static void dissect_echo(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
  
  proto_tree   *echo_tree = NULL;
  proto_item   *ti;
  int           offset = 0;
  gboolean      request = FALSE;
  const guint8 *data = tvb_get_ptr(tvb, offset, -1);

  if (pinfo->destport == ECHO_PORT) {
    request = TRUE;
  }

  if (check_col(pinfo->cinfo, COL_PROTOCOL)) {
    col_add_str(pinfo->cinfo, COL_PROTOCOL, "ECHO");
  }

  if (check_col(pinfo->cinfo, COL_INFO)) {
    col_add_fstr(pinfo->cinfo, COL_INFO, "%s", 
		 (request) ? "Request" : "Response");
  }
  
  if (tree) {

    ti = proto_tree_add_item(tree, proto_echo, tvb, offset, -1, FALSE);
    echo_tree = proto_item_add_subtree(ti, ett_echo);

    if (request) {
      proto_tree_add_boolean_hidden(echo_tree, hf_echo_request, tvb, 0, 0, 1);
      
    } else {
      proto_tree_add_boolean_hidden(echo_tree, hf_echo_response, tvb, 0, 0, 1);
    }

    proto_tree_add_bytes(echo_tree, hf_echo_data, tvb, offset, -1, data);

  }

} /* dissect_echo */

void proto_register_echo(void) 
{

  static hf_register_info hf = {
    { &hf_echo_data,
      { "Echo data",	"echo.data", 
	FT_BYTES,	BASE_HEX,	NULL,	0x0,
      	"Echo data", HFILL }},
    { &hf_echo_request,
      { "Echo request",	"echo.request", 
	FT_BOOLEAN,	BASE_NONE,	NULL,	0x0,
      	"Echo data", HFILL }},
    { &hf_echo_response,
      { "Echo response","echo.response", 
	FT_BOOLEAN,	BASE_NONE,	NULL,	0x0,
      	"Echo data", HFILL }}
  };

  static gint *ett = {
    &ett_echo
  };

  proto_echo = proto_register_protocol("Echo", "ECHO", "echo");
  proto_register_field_array(proto_echo, hf, array_length(hf));
  proto_register_subtree_array(ett, array_length(ett));

}

void proto_reg_handoff_echo(void) 
{

  dissector_handle_t echo_handle = NULL;

  echo_handle = create_dissector_handle(dissect_echo, proto_echo);

  dissector_add("udp.port", ECHO_PORT, echo_handle);
  dissector_add("tcp.port", ECHO_PORT, echo_handle);

}

関数がないとき。というか無いのが当たり前。静的リンクなんてしたらでかくなるだけ

ちなみに、libethereal.dll (etherealとおなじdirにある)を動的リンクしてやることで対応するようにする。わざわざpacket.hなんてインクルードしてはまらないこと。

	p_dissector_add = (void*) GetProcAddress( LoadLibrary( "libethereal.dll"), "dissector_add" );
	if( !p_dissector_add ) return FALSE;

以下の関数が使えてウマーって事だ。

; libethereal.def
; $Id: libethereal.def 17929 2006-04-20 15:48:48Z gerald $

EXPORTS
abs_time_to_str
address_to_str
add_new_data_source
AdmissionRejectReason_vals DATA
ansi_a_ios401_bsmap_strings DATA
ansi_a_ios401_dtap_strings DATA
ansi_map_opr_code_strings DATA
asn1_bits_decode
asn1_bool_decode
asn1_close
asn1_eoc
asn1_eoc_decode
asn1_err_to_str
asn1_header_decode
asn1_id_decode
asn1_id_decode1
asn1_int32_decode
asn1_int32_value_decode
asn1_length_decode
asn1_null_decode
asn1_octet_decode
asn1_octet_string_decode
asn1_oid_decode
asn1_oid_value_decode
asn1_open
asn1_sequence_decode
asn1_string_decode
asn1_string_value_decode
asn1_subid_decode
asn1_tag_decode
asn1_uint32_decode
asn1_uint32_value_decode
BandRejectReason_vals DATA
build_follow_filter
bytes_to_str_punct
bytes_to_str
bytestring_to_str
call_dissector
capture_ap1394
capture_arcnet
capture_atm
capture_chdlc
capture_clip
capture_enc
capture_eth
capture_fddi
capture_fr
capture_ieee80211
capture_ipfc
capture_llap
capture_null
capture_ppp_hdlc
capture_prism
capture_radiotap
capture_raw
capture_sll
capture_tr
check_col
circuit_add_proto_data
circuit_get_proto_data
circuit_new
cleanup_dissection
col_add_fstr
col_add_str
col_append_fstr
col_append_sep_fstr
col_append_sep_str
col_append_str
col_clear
col_format_desc
col_format_to_string
col_get_writable
col_prepend_fstr
col_prepend_fence_fstr
col_setup
col_set_cls_time
col_set_fence
col_set_str
col_set_writable
CommandCode_vals DATA
conversation_add_proto_data
conversation_delete_proto_data
conversation_get_proto_data
conversation_new
conversation_set_dissector
convert_string_case
convert_string_to_hex
copy_prefs
crc16_ccitt_tvb
create_dissector_handle
create_persconffile_dir
data_out_file DATA
dcerpc_add_conv_to_bind_table
dcerpc_get_proto_hf_opnum
dcerpc_get_proto_name
dcerpc_get_proto_sub_dissector
dcerpc_get_transport_salt
dcerpc_hooks_init_protos DATA
dcerpc_init_uuid
dcerpc_uuids DATA
decode_bitfield_value
decode_boolean_bitfield
decode_enumerated_bitfield
decode_enumerated_bitfield_shifted
decode_numeric_bitfield
deletefile
dfilter_apply_edt
dfilter_compile
dfilter_dump
dfilter_error_msg DATA
dfilter_free
DisengageReason_vals DATA
DisengageRejectReason_vals DATA
dissector_add
dissector_add_handle
dissector_add_string
dissector_all_tables_foreach_changed
dissector_all_tables_foreach_table
dissector_change
dissector_change_string
dissector_delete
dissector_delete_string
dissector_dump_decodes
dissector_get_port_handle
dissector_get_string_handle
dissector_handle_get_protocol_index
dissector_handle_get_short_name
dissector_reset
dissector_reset_string
dissector_table_foreach_handle
dissector_try_heuristic
dissector_try_port
dissector_try_string
dissect_ber_bitstring
dissect_ber_boolean
dissect_ber_choice
dissect_ber_GeneralizedTime
dissect_ber_identifier
dissect_ber_integer
dissect_ber_integer64
dissect_ber_length
dissect_ber_null
dissect_ber_object_identifier
dissect_ber_object_identifier_str
dissect_ber_octet_string
dissect_ber_restricted_string
dissect_ber_sequence
dissect_ber_sequence_of
dissect_ber_set_of
dissect_CBA_Connection_Data
dissect_dcerpc_uint8
dissect_dcerpc_uint16
dissect_dcerpc_uint32
dissect_dcerpc_uuid_t
dissect_ndr_uint32
dissect_ndr_uuid_t
dissect_per_bit_string
dissect_per_BMPString
dissect_per_boolean
dissect_per_choice
dissect_per_constrained_integer
dissect_per_constrained_sequence_of
dissect_per_constrained_set_of
dissect_per_GeneralString
dissect_per_IA5String
dissect_per_integer
dissect_per_null
dissect_per_NumericString
dissect_per_object_identifier
dissect_per_object_identifier_str
dissect_per_octet_string
dissect_per_PrintableString
dissect_per_restricted_character_string
dissect_per_sequence
dissect_per_sequence_of
dissect_per_set_of
dissect_per_VisibleString
dissect_rpc_array
dissect_rpc_bool
dissect_rpc_bytes
dissect_rpc_data
dissect_rpc_indir_call
dissect_rpc_indir_reply
dissect_rpc_list
dissect_rpc_opaque_data
dissect_rpc_string
dissect_rpc_uint32
dissect_rpc_uint64
dissect_tpkt_encap
dissect_xdlc_control
draw_tap_listeners
dtbl_entry_get_handle
dtbl_entry_get_initial_handle
EBCDIC_to_ASCII
EBCDIC_to_ASCII1
ep_init_chunk
se_init_chunk
ep_alloc
se_alloc
ep_alloc0
se_alloc0
ep_strdup
se_strdup
ep_strdup_printf
ep_strdup_vprintf
se_strdup_printf
se_strdup_vprintf
ep_strndup
se_strndup
ep_strsplit
ep_memdup
se_memdup
ep_stack_new
ep_stack_push
ep_stack_pop
ep_tvb_memdup
se_tree_create
se_tree_insert32
se_tree_lookup32
se_tree_lookup32_le
epan_cleanup
epan_dissect_fill_in_columns
epan_dissect_free
epan_dissect_new
epan_dissect_prime_dfilter
epan_dissect_run
epan_init
ether_to_str
ex_opt_add
ex_opt_count
ex_opt_get_nth
ex_opt_get_next
except_alloc
except_deinit
except_free
except_init
except_pop
except_rethrow
except_setup_try
except_set_allocator
except_take_data
except_throw
except_throwd
except_throwf
except_unhandled_catcher
expert_add_info_format
FacilityReason_vals DATA
fc_fc4_val DATA
file_open_error_message
file_write_error_message
file_exists
files_identical
find_circuit
find_conversation
find_dissector
find_dissector_table
find_protocol_by_id
find_stream_circ
find_tap_id
find_val_for_string
flags_set_truth DATA
follow_tcp_stats
format_text
fragment_add
fragment_add_check
fragment_add_multiple_ok
fragment_add_seq
fragment_add_seq_check
fragment_add_seq_next
fragment_delete
fragment_get
fragment_get_reassembled_id
fragment_get_tot_len
fragment_set_partial_reassembly
fragment_set_tot_len
fragment_table_init
free_prefs
ftype_can_contains
ftype_can_eq
ftype_can_ge
ftype_can_gt
ftype_can_le
ftype_can_lt
ftype_can_matches
ftype_can_ne
ftype_can_slice
ftype_pretty_name
fvalue_t_free_list DATA
fvalue_from_unparsed
fvalue_get
fvalue_get_floating
fvalue_get_integer
fvalue_get_integer64
fvalue_to_string_repr
funnel_get_funnel_ops
funnel_set_funnel_ops
funnel_register_menu
funnel_register_all_menus
GatekeeperRejectReason_vals DATA
get_addr_name
get_basename
get_ber_identifier
get_ber_last_created_item
get_ber_length
get_CDR_any
get_CDR_boolean
get_CDR_char
get_CDR_double
get_CDR_encap_info
get_CDR_enum
get_CDR_fixed
get_CDR_float
get_CDR_interface
get_CDR_long
get_CDR_long_long
get_CDR_object
get_CDR_octet
get_CDR_octet_seq
get_CDR_short
get_CDR_string
get_CDR_typeCode
get_CDR_ulong
get_CDR_ulong_long
get_CDR_ushort
get_CDR_wchar
get_CDR_wstring
get_column_char_width
get_column_format
get_column_format_from_str
get_column_format_matches
get_column_longest_string
get_column_title
get_credential_info
get_datafile_path
get_datafile_dir
get_dirname
get_dissector_table_base
get_dissector_table_selector_type
get_dissector_table_ui_name
get_ether_name
get_hostname
get_hostname6
get_host_ipaddr
get_host_ipaddr6
get_manuf_name_if_known
get_persconffile_path
get_plugins_global_dir
get_plugins_pers_dir
get_progfile_dir
get_systemfile_dir
get_tcp_port
get_tempfile_path
get_udp_port
gsm_a_bssmap_msg_strings DATA
gsm_a_dtap_msg_cc_strings DATA
gsm_a_dtap_msg_gmm_strings DATA
gsm_a_dtap_msg_mm_strings DATA
gsm_a_dtap_msg_rr_strings DATA
gsm_a_dtap_msg_sms_strings DATA
gsm_a_dtap_msg_sm_strings DATA
gsm_a_dtap_msg_ss_strings DATA
gsm_a_pd_str DATA
gsm_map_opr_code_strings DATA
guid_to_str
g_resolv_flags DATA
h245_set_h223_add_lc_handle
h245_set_h223_set_mc_handle
have_tap_listeners
heur_dissector_add
hex_str_to_bytes
hf_frame_arrival_time DATA
hf_frame_capture_len DATA
hf_frame_number DATA
hf_frame_packet_len DATA
hf_text_only DATA
host_ip_af
host_name_lookup_process
incomplete_tcp_stream DATA
InfoRequestNakReason_vals DATA
init_dissection
init_progfile_dir
ip6_to_str
ipv4_get_net_order_addr
ip_to_str
isup_message_type_value DATA
isup_message_type_value_acro DATA
is_big_endian
is_tpkt
list_stat_cmd_args
llc_add_oui
LocationRejectReason_vals DATA
make_printable_string
match_strval
match_strval_idx
mkstemp
mtp3_addr_to_str_buf
mtp3_service_indicator_code_short_vals DATA
new_create_dissector_handle
new_register_dissector
nstime_delta
nstime_is_zero
nstime_set_zero
nstime_sum
nstime_to_msec
nstime_to_sec
nt_cmd_vals DATA
num_tap_filters DATA
num_tree_types DATA
offset_from_real_beginning
other_decode_bitfield_value
plugin_list DATA
postseq_cleanup_all_protocols
prefs DATA
prefs_apply_all
prefs_get_title_by_name
prefs_is_registered_protocol
prefs_modules_foreach
prefs_module_list_foreach
prefs_pref_foreach
prefs_register_bool_preference
prefs_register_enum_preference
prefs_register_modules
prefs_register_obsolete_preference
prefs_register_protocol
prefs_register_range_preference
prefs_register_string_preference
prefs_register_uint_preference
prefs_set_pref
process_reassembled_data
process_stat_cmd_arg
protocols_module DATA
proto_all_finfos
proto_can_match_selected
proto_can_toggle_protocol
proto_construct_dfilter_string
proto_data DATA
proto_find_field_from_offset
proto_find_finfo
proto_frame DATA
proto_get_finfo_ptr_array
proto_get_first_protocol
proto_get_first_protocol_field
proto_get_id_by_filter_name
proto_get_next_protocol
proto_get_next_protocol_field
proto_get_protocol_filter_name
proto_get_protocol_name
proto_get_protocol_short_name
proto_is_protocol_enabled
proto_item_add_subtree
proto_item_append_text
proto_item_fill_label
proto_item_get_len
proto_item_get_parent
proto_item_get_parent_nth
proto_item_get_subtree
proto_item_set_end
proto_item_set_expert_flags
proto_item_set_len
proto_item_set_text
proto_malformed
proto_register_field_array
proto_register_protocol
proto_register_subtree_array
proto_registrar_dump_fields
proto_registrar_dump_protocols
proto_registrar_dump_values
proto_registrar_get_abbrev
proto_registrar_get_byname
proto_registrar_get_ftype
proto_registrar_get_nth
proto_registrar_get_parent
proto_registrar_is_protocol
proto_registrar_n
proto_set_cant_toggle
proto_set_decoding
proto_tree_add_boolean
proto_tree_add_boolean_format
proto_tree_add_boolean_format_value
proto_tree_add_boolean_hidden
proto_tree_add_bytes
proto_tree_add_bytes_format
proto_tree_add_bytes_format_value
proto_tree_add_bytes_hidden
proto_tree_add_debug_text
proto_tree_add_double
proto_tree_add_double_format
proto_tree_add_double_format_value
proto_tree_add_double_hidden
proto_tree_add_ether
proto_tree_add_ether_format
proto_tree_add_ether_format_value
proto_tree_add_ether_hidden
proto_tree_add_float
proto_tree_add_float_format
proto_tree_add_float_format_value
proto_tree_add_float_hidden
proto_tree_add_guid
proto_tree_add_guid_format
proto_tree_add_guid_format_value
proto_tree_add_guid_hidden
proto_tree_add_int
proto_tree_add_int_format
proto_tree_add_int_format_value
proto_tree_add_int_hidden
proto_tree_add_int64
proto_tree_add_int64_format
proto_tree_add_int64_format_value
proto_tree_add_ipv4
proto_tree_add_ipv4_format
proto_tree_add_ipv4_format_value
proto_tree_add_ipv4_hidden
proto_tree_add_ipv6
proto_tree_add_ipv6_format
proto_tree_add_ipv6_format_value
proto_tree_add_ipv6_hidden
proto_tree_add_ipxnet
proto_tree_add_ipxnet_format
proto_tree_add_ipxnet_format_value
proto_tree_add_ipxnet_hidden
proto_tree_add_item
proto_tree_add_item_hidden
proto_tree_add_none_format
proto_tree_add_protocol_format
proto_tree_add_string
proto_tree_add_string_format
proto_tree_add_string_format_value
proto_tree_add_string_hidden
proto_tree_add_text
proto_tree_add_time
proto_tree_add_time_format
proto_tree_add_time_format_value
proto_tree_add_time_hidden
proto_tree_add_uint
proto_tree_add_uint_format
proto_tree_add_uint_format_value
proto_tree_add_uint_hidden
proto_tree_add_uint64
proto_tree_add_uint64_format
proto_tree_add_uint64_format_value
proto_tree_children_foreach
proto_tree_get_parent
proto_tree_move_item
p_add_proto_data
p_get_proto_data
q931_cause_code_vals DATA
q850_cause_code_vals DATA
q931_message_type_vals DATA
range_convert_range
range_convert_str
range_copy
range_empty
range_foreach
ranges_are_equal
RasMessage_vals DATA
read_prefs
read_prefs_file
reassembled_table_init
register_all_plugin_tap_listeners
register_all_protocols
register_all_protocol_handoffs
register_dissector
register_dissector_table
register_final_registration_routine
register_giop_user
register_giop_user_module
register_heur_dissector_list
register_init_routine
register_postseq_cleanup_routine
register_postdissector
register_stat_cmd_arg
register_tap
register_tap_listener
RegistrationRejectReason_vals DATA
ReleaseCompleteReason_vals DATA
relinquish_special_privs_perm
rel_time_to_str
remove_tap_listener
report_failure
report_open_failure
report_read_failure
reset_tap_listeners
reset_tcp_reassembly
rpc_init_proc_table
rpc_init_prog
rpc_procs DATA
rpc_proc_name
rpc_progs DATA
rpc_prog_hf
rpc_prog_name
rpc_roundup
rtcp_add_address
rtp_add_address
rtp_free_hash_dyn_payload
rtp_payload_type_vals DATA
rtp_payload_type_short_vals DATA
set_actual_length
show_fragment_seq_tree
show_fragment_tree
sid_name_snooping DATA
sid_name_table DATA
smb_cmd_vals DATA
smb2_cmd_vals DATA
sminmpec_values DATA
start_requested_stats
started_with_special_privs
stats_tree_branch_max_namelen
stats_tree_branch_to_str
stats_tree_create_node
stats_tree_create_node_by_pname
stats_tree_create_pivot
stats_tree_create_pivot_by_pname
stats_tree_create_range_node
stats_tree_free
stats_tree_get_abbr
stats_tree_get_cfg_by_abbr
stats_tree_get_strs_from_node
stats_tree_manip_node
stats_tree_new
stats_tree_node_to_str
stats_tree_packet
stats_tree_parent_id_by_name
stats_tree_presentation
stats_tree_range_node_with_pname
stats_tree_register
stats_tree_reinit
stats_tree_reset
stats_tree_tick_pivot
stats_tree_tick_range
stream_add_frag
stream_find_frag
stream_new_circ
stream_process_reassembled
string_to_name_resolve
swaptab
t30_data_vals DATA
t30_facsimile_control_field_vals DATA
t30_facsimile_control_field_vals_short DATA
t30_indicator_vals DATA
T_h323_message_body_vals DATA
tap_push_tapped_queue
tap_queue_init
tap_queue_packet
tcp_dissect_pdus
test_for_directory
test_for_fifo
time_msecs_to_str
time_secs_to_str
timestamp_get_precision
timestamp_get_type
timestamp_set_precision
timestamp_set_type
trans2_cmd_vals DATA
tree_is_expanded DATA
tvb_bytes_exist
tvb_bytes_to_str
tvb_bytes_to_str_punct
tvb_ensure_bytes_exist
tvb_ensure_length_remaining
tvb_fake_unicode
tvb_find_guint8
tvb_find_line_end
tvb_find_line_end_unquoted
tvb_format_text
tvb_get_ephemeral_string
tvb_get_guid
tvb_get_guint8
tvb_get_ipv4
tvb_get_ipv6
tvb_get_letoh24
tvb_get_letoh64
tvb_get_letohguid
tvb_get_letohl
tvb_get_letohs
tvb_get_letohieee_double
tvb_get_letohieee_float
tvb_get_nstringz
tvb_get_nstringz0
tvb_get_ntoh24
tvb_get_ntoh64
tvb_get_ntohguid
tvb_get_ntohieee_double
tvb_get_ntohieee_float
tvb_get_ntohl
tvb_get_ntohs
tvb_get_ptr
tvb_get_string
tvb_get_stringz
tvb_length
tvb_length_remaining
tvb_memcpy
tvb_memdup
tvb_new_real_data
tvb_new_subset
tvb_offset_exists
tvb_pbrk_guint8
tvb_reported_length
tvb_reported_length_remaining
tvb_set_child_real_data_tvbuff
tvb_set_free_cb
tvb_set_reported_length
tvb_strncaseeql
tvb_strneql
tvb_strnlen
tvb_strsize
UnregRejectReason_vals DATA
UnregRequestReason_vals DATA
utf_8to16
utf_16to8
vals_pdu_type DATA
vals_status DATA
val_to_str
value_is_in_range
write_prefs
xml_escape