diff options
author | Bill Meier <wmeier@newsguy.com> | 2011-12-21 17:39:02 +0000 |
---|---|---|
committer | Bill Meier <wmeier@newsguy.com> | 2011-12-21 17:39:02 +0000 |
commit | 14309d2c72fd3014f37816d939cd80fe79ff7406 (patch) | |
tree | 2999ffae3fc67e08f1774c122e76ffe58eb958aa /epan/tvbuff-int.h | |
parent | ff30e7df577940b8729c36b7a8952e9bcd5c7e88 (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.h | 10 |
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 { |