aboutsummaryrefslogtreecommitdiffstats
path: root/epan/ftypes/ftypes-int.h
diff options
context:
space:
mode:
authorGilbert Ramirez <gram@alumni.rice.edu>2003-07-25 03:44:05 +0000
committerGilbert Ramirez <gram@alumni.rice.edu>2003-07-25 03:44:05 +0000
commit086774b71f236b797a9e7a14e2bbb444b55e6d79 (patch)
treec295c5d9f4e05517f4d56f17032183c996ab27df /epan/ftypes/ftypes-int.h
parentc2150d9d778613bb7eb8135ea1f155346f26e473 (diff)
Add to the fundamental types passed between the scanner and the parser.
Besides "STRING", there is now "UNPARSED_STRING", where the distinction is that "STRING" was a double-quoted string and "UNPARSED_STRING" is just a sequence of characters that the scanner didn't know how to scan/parse, so it's up to the Ftype to parse it. This gives us more flexibility and prepares the dfilter parsing engine for the upcoming addition of the "contains" operator. In the process of doing this, I also re-did the double-quoted string support in the scanner, so that instead of the naively-simple support we used to have, double-quoted strings now can have embedded dobule-quotes, embedded octal sequences, and embedded hexadecimal sequences: "\"" embedded double-quote "\110" embedded octal "\x48" embedded hex Enhance the dfilter unit test script to be able to run a single collection of tests instead of having to run all of them all the time. svn path=/trunk/; revision=8083
Diffstat (limited to 'epan/ftypes/ftypes-int.h')
-rw-r--r--epan/ftypes/ftypes-int.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/epan/ftypes/ftypes-int.h b/epan/ftypes/ftypes-int.h
index cda64a1862..d6922ef7c9 100644
--- a/epan/ftypes/ftypes-int.h
+++ b/epan/ftypes/ftypes-int.h
@@ -1,5 +1,5 @@
/*
- * $Id: ftypes-int.h,v 1.8 2003/06/11 21:24:54 gram Exp $
+ * $Id: ftypes-int.h,v 1.9 2003/07/25 03:44:03 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -29,6 +29,7 @@
typedef void (*FvalueNewFunc)(fvalue_t*);
typedef void (*FvalueFreeFunc)(fvalue_t*);
+typedef gboolean (*FvalueFromUnparsed)(fvalue_t*, char*, LogFunc);
typedef gboolean (*FvalueFromString)(fvalue_t*, char*, LogFunc);
typedef void (*FvalueToStringRepr)(fvalue_t*, ftrepr_t, char*);
typedef int (*FvalueStringReprLen)(fvalue_t*, ftrepr_t);
@@ -52,6 +53,7 @@ struct _ftype_t {
int wire_size;
FvalueNewFunc new_value;
FvalueFreeFunc free_value;
+ FvalueFromUnparsed val_from_unparsed;
FvalueFromString val_from_string;
FvalueToStringRepr val_to_string_repr;
FvalueStringReprLen len_string_repr;