summaryrefslogtreecommitdiff
path: root/epan/dfilter/drange.h
diff options
context:
space:
mode:
authorGilbert Ramirez <gram@alumni.rice.edu>2001-03-02 17:04:25 +0000
committerGilbert Ramirez <gram@alumni.rice.edu>2001-03-02 17:04:25 +0000
commitb24dff17bd782b5258609a38e2251816e28fc127 (patch)
treefea93f055cb536de278a575601f4c2e69c282dd7 /epan/dfilter/drange.h
parentc88e7b5a63395f6ba894bb79626f16e71038f1b0 (diff)
downloadwireshark-b24dff17bd782b5258609a38e2251816e28fc127.tar.gz
Enable slices of [i-j], where i is start offset and j is end offset,
inclusive. That is, [0-1] is a slice of 2 bytes. svn path=/trunk/; revision=3092
Diffstat (limited to 'epan/dfilter/drange.h')
-rw-r--r--epan/dfilter/drange.h34
1 files changed, 22 insertions, 12 deletions
diff --git a/epan/dfilter/drange.h b/epan/dfilter/drange.h
index f02684c476..65ed2042de 100644
--- a/epan/dfilter/drange.h
+++ b/epan/dfilter/drange.h
@@ -1,7 +1,7 @@
/* drange.h
* Routines for providing general range support to the dfilter library
*
- * $Id: drange.h,v 1.1 2001/02/27 19:23:28 gram Exp $
+ * $Id: drange.h,v 1.2 2001/03/02 17:04:23 gram Exp $
*
* Copyright (c) 2000 by Ed Warnicke <hagbard@physics.rutgers.edu>
*
@@ -36,18 +36,26 @@
* here.
*/
+typedef enum {
+ UNINITIALIZED,
+ LENGTH,
+ OFFSET,
+ TO_THE_END
+} drange_node_end_t;
+
typedef struct _drange_node {
- gint offset;
- gint length;
- gboolean to_the_end;
+ gint start_offset;
+ gint length;
+ gint end_offset;
+ drange_node_end_t ending;
} drange_node;
typedef struct _drange {
GSList* range_list;
gboolean has_total_length;
gint total_length;
- gint min_offset;
- gint max_offset;
+ gint min_start_offset;
+ gint max_start_offset;
} drange;
/* drange_node constructor */
@@ -60,14 +68,16 @@ void drange_node_free(drange_node* drnode);
void drange_node_free_list(GSList* list);
/* drange_node accessors */
-gint drange_node_get_offset(drange_node* drnode);
+gint drange_node_get_start_offset(drange_node* drnode);
gint drange_node_get_length(drange_node* drnode);
-gboolean drange_node_get_to_the_end(drange_node* drnode);
+gint drange_node_get_end_offset(drange_node* drnode);
+drange_node_end_t drange_node_get_ending(drange_node* drnode);
/* drange_node mutators */
-void drange_node_set_offset(drange_node* drnode, gint offset);
+void drange_node_set_start_offset(drange_node* drnode, gint offset);
void drange_node_set_length(drange_node* drnode, gint length);
-void drange_node_set_to_the_end(drange_node* drnode, gboolean to_the_end);
+void drange_node_set_end_offset(drange_node* drnode, gint offset);
+void drange_node_set_to_the_end(drange_node* drnode);
/* drange constructor */
drange* drange_new();
@@ -81,8 +91,8 @@ void drange_free(drange* dr);
/* drange accessors */
gboolean drange_has_total_length(drange* dr);
gint drange_get_total_length(drange* dr);
-gint drange_get_min_offset(drange* dr);
-gint drange_get_max_offset(drange* dr);
+gint drange_get_min_start_offset(drange* dr);
+gint drange_get_max_start_offset(drange* dr);
/* drange mutators */
void drange_append_drange_node(drange* dr, drange_node* drnode);