register_init_routine( &h248_init );
- msgs = se_tree_create(SE_TREE_TYPE_RED_BLACK);
- trxs = se_tree_create(SE_TREE_TYPE_RED_BLACK);
- ctxs_by_trx = se_tree_create(SE_TREE_TYPE_RED_BLACK);
- ctxs = se_tree_create(SE_TREE_TYPE_RED_BLACK);
+ msgs = se_tree_create(SE_TREE_TYPE_RED_BLACK, "h248_msgs");
+ trxs = se_tree_create(SE_TREE_TYPE_RED_BLACK, "h248_trxs");
+ ctxs_by_trx = se_tree_create(SE_TREE_TYPE_RED_BLACK, "h248_ctxs_by_trx");
+ ctxs = se_tree_create(SE_TREE_TYPE_RED_BLACK, "h248_ctxs");
}
"Whether persistent call leg information is to be kept",
&keep_persistent_info);
- legs_by_dsaid = se_tree_create(SE_TREE_TYPE_RED_BLACK);
- legs_by_osaid = se_tree_create(SE_TREE_TYPE_RED_BLACK);
- legs_by_bearer = se_tree_create(SE_TREE_TYPE_RED_BLACK);
+ legs_by_dsaid = se_tree_create(SE_TREE_TYPE_RED_BLACK, "legs_by_dsaid");
+ legs_by_osaid = se_tree_create(SE_TREE_TYPE_RED_BLACK, "legs_by_osaid");
+ legs_by_bearer = se_tree_create(SE_TREE_TYPE_RED_BLACK, "legs_by_bearer");
}
register_init_routine( &h248_init );
- msgs = se_tree_create(SE_TREE_TYPE_RED_BLACK);
- trxs = se_tree_create(SE_TREE_TYPE_RED_BLACK);
- ctxs_by_trx = se_tree_create(SE_TREE_TYPE_RED_BLACK);
- ctxs = se_tree_create(SE_TREE_TYPE_RED_BLACK);
+ msgs = se_tree_create(SE_TREE_TYPE_RED_BLACK, "h248_msgs");
+ trxs = se_tree_create(SE_TREE_TYPE_RED_BLACK, "h248_trxs");
+ ctxs_by_trx = se_tree_create(SE_TREE_TYPE_RED_BLACK, "h248_ctxs_by_trx");
+ ctxs = se_tree_create(SE_TREE_TYPE_RED_BLACK, "h248_ctxs");
}
"Fhandle filters finds both request/response",
"With this option display filters for nfs fhandles (nfs.fh.{name|full_name|hash}) will find both the request and response packets for a RPC call, even if the actual fhandle is only present in one of the packets",
&nfs_fhandle_reqrep_matching);
- nfs_name_snoop_known=se_tree_create(SE_TREE_TYPE_RED_BLACK);
- nfs_file_handles=se_tree_create(SE_TREE_TYPE_RED_BLACK);
- nfs_fhandle_frame_table=se_tree_create(SE_TREE_TYPE_RED_BLACK);
+ nfs_name_snoop_known=se_tree_create(SE_TREE_TYPE_RED_BLACK, "nfs_name_snoop_known");
+ nfs_file_handles=se_tree_create(SE_TREE_TYPE_RED_BLACK, "nfs_file_handles");
+ nfs_fhandle_frame_table=se_tree_create(SE_TREE_TYPE_RED_BLACK, "nfs_fhandle_frame_table");
register_init_routine(nfs_name_snoop_init);
}
"Try to decode a packet using an heuristic sub-dissector before using a sub-dissector registered to a specific port",
&try_heuristic_first);
- tcp_pdu_time_table=se_tree_create(SE_TREE_TYPE_RED_BLACK);
- tcp_analyze_acked_table=se_tree_create(SE_TREE_TYPE_RED_BLACK);
+ tcp_pdu_time_table=se_tree_create(SE_TREE_TYPE_RED_BLACK, "tcp_pdu_time_table");
+ tcp_analyze_acked_table=se_tree_create(SE_TREE_TYPE_RED_BLACK, "tcp_analyze_acked_table");
register_init_routine(tcp_analyze_seq_init);
register_init_routine(tcp_desegment_init);
register_init_routine(tcp_fragment_init);
se_tree_t *se_trees=NULL;
se_tree_t *
-se_tree_create(int type)
+se_tree_create(int type, char *name)
{
se_tree_t *tree_list;
tree_list->next=se_trees;
tree_list->type=type;
tree_list->tree=NULL;
+ tree_list->name=name;
se_trees=tree_list;
return tree_list;
* never existed including all metadata associated with the tree.
*/
se_tree_t *
-se_tree_create_non_persistent(int type)
+se_tree_create_non_persistent(int type, char *name)
{
se_tree_t *tree_list;
tree_list->next=NULL;
tree_list->type=type;
tree_list->tree=NULL;
+ tree_list->name=name;
return tree_list;
}
static void* create_sub_tree(void* d) {
se_tree_t *se_tree = d;
- return se_tree_create_non_persistent(se_tree->type);
+ return se_tree_create_non_persistent(se_tree->type, "subtree");
}
/* insert a new node in the tree. if this node matches an already existing node
typedef struct _se_tree_t {
struct _se_tree_t *next;
int type;
+ char *name; /* just a string to make debugging easier */
se_tree_node_t *tree;
} se_tree_t;
extern se_tree_t *se_trees;
*
* type is : SE_TREE_TYPE_RED_BLACK for a standard red/black tree.
*/
-se_tree_t *se_tree_create(int type);
+se_tree_t *se_tree_create(int type, char *name);
/* This function is used to insert a node indexed by a guint32 key value.
* The data pointer should be allocated by SE allocators so that the
* another structure that is also se allocated so that when the structure is
* released, the tree will be completely released as well.
*/
-se_tree_t *se_tree_create_non_persistent(int type);
+se_tree_t *se_tree_create_non_persistent(int type, char *name);
typedef struct _se_tree_key_t {
guint32 length; /*length in guint32 words */