Wireshark-dev: [Wireshark-dev] proto tree
      
      
/** Each proto_tree, proto_item is one of these. */
typedef struct _proto_node {
        struct _proto_node
*first_child;
        struct _proto_node
*last_child;
        struct _proto_node
*next;
        struct _proto_node
*parent;
        field_info  *finfo;
        tree_data_t *tree_data;
} proto_node;
is the main structure used for defining
a tree node, i would like to get a better insight into how is this tree
managed. i mean from the declaration it becomes apparent that every sibling
node will be pointing to next sibling and the parent, why is this required.
is it a general tree or some specific
kind of tree. 
/** A protocol tree element. */
typedef proto_node proto_tree;
/** A protocol item element. */
typedef proto_node proto_item;
what is the use of defining proto_tree
and proto_item differently?
for each protocol how is this tree
managed.
kindly help me if you know.
______________________________________________________________________