aboutsummaryrefslogtreecommitdiffstats
path: root/epan/tvbuff-int.h
diff options
context:
space:
mode:
authorBill Meier <wmeier@newsguy.com>2011-12-21 17:39:02 +0000
committerBill Meier <wmeier@newsguy.com>2011-12-21 17:39:02 +0000
commit14309d2c72fd3014f37816d939cd80fe79ff7406 (patch)
tree2999ffae3fc67e08f1774c122e76ffe58eb958aa /epan/tvbuff-int.h
parentff30e7df577940b8729c36b7a8952e9bcd5c7e88 (diff)
A simplified version of tvbuffs:
- Essentially no changes from current dissector de facto tvbuff usage; - Do away with 'usage_counts' and with 'used_in' GSLists; - Manage tvb chains via a simple doubly linked list. - API changes: a. tvb_increment_usage_count() and tvb_decrement_usage_count() no longer exist; b. tvb_free_chain() can only be called for the 'top-level' (initial) tvb of a chain) or for a tvb not in a chain. c. tvb_free() now just calls tvb_free_chain() [should have no impact on existing dissectors]. svn path=/trunk/; revision=40264
Diffstat (limited to 'epan/tvbuff-int.h')
-rw-r--r--epan/tvbuff-int.h10
1 files changed, 4 insertions, 6 deletions
diff --git a/epan/tvbuff-int.h b/epan/tvbuff-int.h
index e09c76bd8f..6d3969739d 100644
--- a/epan/tvbuff-int.h
+++ b/epan/tvbuff-int.h
@@ -49,17 +49,15 @@ typedef struct {
} tvb_comp_t;
struct tvbuff {
+ /* Doubly linked list pointers */
+ tvbuff_t *next;
+ tvbuff_t *previous;
+
/* Record-keeping */
tvbuff_type type;
gboolean initialized;
- guint usage_count;
struct tvbuff *ds_tvb; /**< data source top-level tvbuff */
- /** The tvbuffs in which this tvbuff is a member
- * (that is, a backing tvbuff for a TVBUFF_SUBSET
- * or a member for a TVB_COMPOSITE) */
- GSList *used_in;
-
/** TVBUFF_SUBSET and TVBUFF_COMPOSITE keep track
* of the other tvbuff's they use */
union {