aboutsummaryrefslogtreecommitdiffstats
path: root/epan/ftypes
diff options
context:
space:
mode:
Diffstat (limited to 'epan/ftypes')
-rw-r--r--epan/ftypes/ftype-bytes.c5
-rw-r--r--epan/ftypes/ftype-double.c2
-rw-r--r--epan/ftypes/ftype-guid.c1
-rw-r--r--epan/ftypes/ftype-integer.c13
-rw-r--r--epan/ftypes/ftype-ipv4.c1
-rw-r--r--epan/ftypes/ftype-none.c1
-rw-r--r--epan/ftypes/ftype-pcre.c2
-rw-r--r--epan/ftypes/ftype-string.c3
-rw-r--r--epan/ftypes/ftype-time.c2
-rw-r--r--epan/ftypes/ftype-tvbuff.c1
-rw-r--r--epan/ftypes/ftypes.c7
-rw-r--r--epan/ftypes/ftypes.h4
12 files changed, 42 insertions, 0 deletions
diff --git a/epan/ftypes/ftype-bytes.c b/epan/ftypes/ftype-bytes.c
index 6de2616359..d67883cd53 100644
--- a/epan/ftypes/ftype-bytes.c
+++ b/epan/ftypes/ftype-bytes.c
@@ -480,6 +480,7 @@ ftype_register_bytes(void)
{
static ftype_t bytes_type = {
+ FT_BYTES, /* ftype */
"FT_BYTES", /* name */
"sequence of bytes", /* pretty_name */
0, /* wire_size */
@@ -515,6 +516,7 @@ ftype_register_bytes(void)
};
static ftype_t uint_bytes_type = {
+ FT_UINT_BYTES, /* ftype */
"FT_UINT_BYTES", /* name */
"sequence of bytes", /* pretty_name */
0, /* wire_size */
@@ -550,6 +552,7 @@ ftype_register_bytes(void)
};
static ftype_t ether_type = {
+ FT_ETHER, /* ftype */
"FT_ETHER", /* name */
"Ethernet or other MAC address",/* pretty_name */
ETHER_LEN, /* wire_size */
@@ -585,6 +588,7 @@ ftype_register_bytes(void)
};
static ftype_t ipv6_type = {
+ FT_IPv6, /* ftype */
"FT_IPv6", /* name */
"IPv6 address", /* pretty_name */
IPv6_LEN, /* wire_size */
@@ -620,6 +624,7 @@ ftype_register_bytes(void)
};
static ftype_t oid_type = {
+ FT_OID, /* ftype */
"OID", /* name */
"OBJECT IDENTIFIER", /* pretty_name */
0, /* wire_size */
diff --git a/epan/ftypes/ftype-double.c b/epan/ftypes/ftype-double.c
index af45990cdc..460b4c5b13 100644
--- a/epan/ftypes/ftype-double.c
+++ b/epan/ftypes/ftype-double.c
@@ -157,6 +157,7 @@ ftype_register_double(void)
{
static ftype_t float_type = {
+ FT_FLOAT, /* ftype */
"FT_FLOAT", /* name */
"floating point (single-precision)", /* pretty_name */
0, /* wire_size */
@@ -192,6 +193,7 @@ ftype_register_double(void)
};
static ftype_t double_type = {
+ FT_DOUBLE, /* ftype */
"FT_DOUBLE", /* name */
"floating point (double-precision)", /* pretty_name */
0, /* wire_size */
diff --git a/epan/ftypes/ftype-guid.c b/epan/ftypes/ftype-guid.c
index 08104453c8..4a5e9645d5 100644
--- a/epan/ftypes/ftype-guid.c
+++ b/epan/ftypes/ftype-guid.c
@@ -129,6 +129,7 @@ ftype_register_guid(void)
{
static ftype_t guid_type = {
+ FT_GUID, /* ftype */
"GUID", /* name */
"Globally Unique Identifier", /* pretty_name */
GUID_LEN, /* wire_size */
diff --git a/epan/ftypes/ftype-integer.c b/epan/ftypes/ftype-integer.c
index dc2954bb9f..9656facbbf 100644
--- a/epan/ftypes/ftype-integer.c
+++ b/epan/ftypes/ftype-integer.c
@@ -444,6 +444,7 @@ ftype_register_integers(void)
{
static ftype_t uint8_type = {
+ FT_UINT8, /* ftype */
"FT_UINT8", /* name */
"unsigned, 1 byte", /* pretty name */
1, /* wire_size */
@@ -478,6 +479,7 @@ ftype_register_integers(void)
NULL, /* slice */
};
static ftype_t uint16_type = {
+ FT_UINT16, /* ftype */
"FT_UINT16", /* name */
"unsigned, 2 bytes", /* pretty_name */
2, /* wire_size */
@@ -512,6 +514,7 @@ ftype_register_integers(void)
NULL, /* slice */
};
static ftype_t uint24_type = {
+ FT_UINT24, /* ftype */
"FT_UINT24", /* name */
"unsigned, 3 bytes", /* pretty_name */
3, /* wire_size */
@@ -546,6 +549,7 @@ ftype_register_integers(void)
NULL, /* slice */
};
static ftype_t uint32_type = {
+ FT_UINT32, /* ftype */
"FT_UINT32", /* name */
"unsigned, 4 bytes", /* pretty_name */
4, /* wire_size */
@@ -580,6 +584,7 @@ ftype_register_integers(void)
NULL, /* slice */
};
static ftype_t uint64_type = {
+ FT_UINT64, /* ftype */
"FT_UINT64", /* name */
"unsigned, 8 bytes", /* pretty_name */
8, /* wire_size */
@@ -614,6 +619,7 @@ ftype_register_integers(void)
NULL,
};
static ftype_t int8_type = {
+ FT_INT8, /* ftype */
"FT_INT8", /* name */
"signed, 1 byte", /* pretty_name */
1, /* wire_size */
@@ -648,6 +654,7 @@ ftype_register_integers(void)
NULL, /* slice */
};
static ftype_t int16_type = {
+ FT_INT16, /* ftype */
"FT_INT16", /* name */
"signed, 2 bytes", /* pretty_name */
2, /* wire_size */
@@ -682,6 +689,7 @@ ftype_register_integers(void)
NULL, /* slice */
};
static ftype_t int24_type = {
+ FT_INT24, /* ftype */
"FT_INT24", /* name */
"signed, 3 bytes", /* pretty_name */
3, /* wire_size */
@@ -716,6 +724,7 @@ ftype_register_integers(void)
NULL, /* slice */
};
static ftype_t int32_type = {
+ FT_INT32, /* ftype */
"FT_INT32", /* name */
"signed, 4 bytes", /* pretty_name */
4, /* wire_size */
@@ -750,6 +759,7 @@ ftype_register_integers(void)
NULL, /* slice */
};
static ftype_t int64_type = {
+ FT_INT64, /* ftype */
"FT_INT64", /* name */
"signed, 8 bytes", /* pretty_name */
8, /* wire_size */
@@ -784,6 +794,7 @@ ftype_register_integers(void)
NULL,
};
static ftype_t boolean_type = {
+ FT_BOOLEAN, /* ftype */
"FT_BOOLEAN", /* name */
"Boolean", /* pretty_name */
0, /* wire_size */
@@ -819,6 +830,7 @@ ftype_register_integers(void)
};
static ftype_t ipxnet_type = {
+ FT_IPXNET, /* ftype */
"FT_IPXNET", /* name */
"IPX network number", /* pretty_name */
4, /* wire_size */
@@ -854,6 +866,7 @@ ftype_register_integers(void)
};
static ftype_t framenum_type = {
+ FT_FRAMENUM, /* ftype */
"FT_FRAMENUM", /* name */
"frame number", /* pretty_name */
4, /* wire_size */
diff --git a/epan/ftypes/ftype-ipv4.c b/epan/ftypes/ftype-ipv4.c
index 65b8961dc8..d57894325c 100644
--- a/epan/ftypes/ftype-ipv4.c
+++ b/epan/ftypes/ftype-ipv4.c
@@ -199,6 +199,7 @@ ftype_register_ipv4(void)
{
static ftype_t ipv4_type = {
+ FT_IPv4, /* ftype */
"FT_IPv4", /* name */
"IPv4 address", /* pretty_name */
4, /* wire_size */
diff --git a/epan/ftypes/ftype-none.c b/epan/ftypes/ftype-none.c
index 4eb037eed9..471e0a4d23 100644
--- a/epan/ftypes/ftype-none.c
+++ b/epan/ftypes/ftype-none.c
@@ -32,6 +32,7 @@ ftype_register_none(void)
{
static ftype_t none_type = {
+ FT_NONE, /* ftype */
"FT_NONE", /* name */
"label", /* pretty_name */
0, /* wire_size */
diff --git a/epan/ftypes/ftype-pcre.c b/epan/ftypes/ftype-pcre.c
index 05db17e28a..82bcc196de 100644
--- a/epan/ftypes/ftype-pcre.c
+++ b/epan/ftypes/ftype-pcre.c
@@ -177,6 +177,7 @@ void
ftype_register_pcre(void)
{
static ftype_t pcre_type = {
+ FT_PCRE, /* ftype */
"FT_PCRE", /* name */
"Compiled Perl-Compatible Regular Expression object", /* pretty_name */
0, /* wire_size */
@@ -219,6 +220,7 @@ void
ftype_register_pcre(void)
{
static ftype_t pcre_type = {
+ FT_PCRE, /* ftype */
"FT_PCRE", /* name */
"Compiled Perl-Compatible Regular Expression object", /* pretty_name */
0, /* wire_size */
diff --git a/epan/ftypes/ftype-string.c b/epan/ftypes/ftype-string.c
index 70649b77b8..d4525fc279 100644
--- a/epan/ftypes/ftype-string.c
+++ b/epan/ftypes/ftype-string.c
@@ -301,6 +301,7 @@ ftype_register_string(void)
{
static ftype_t string_type = {
+ FT_STRING, /* ftype */
"FT_STRING", /* name */
"character string", /* pretty_name */
0, /* wire_size */
@@ -335,6 +336,7 @@ ftype_register_string(void)
slice,
};
static ftype_t stringz_type = {
+ FT_STRINGZ, /* ftype */
"FT_STRINGZ", /* name */
"character string", /* pretty name */
0, /* wire_size */
@@ -369,6 +371,7 @@ ftype_register_string(void)
slice,
};
static ftype_t uint_string_type = {
+ FT_UINT_STRING, /* ftype */
"FT_UINT_STRING", /* name */
"character string", /* pretty_name */
0, /* wire_size */
diff --git a/epan/ftypes/ftype-time.c b/epan/ftypes/ftype-time.c
index ed90960952..2427ccb5d5 100644
--- a/epan/ftypes/ftype-time.c
+++ b/epan/ftypes/ftype-time.c
@@ -345,6 +345,7 @@ ftype_register_time(void)
{
static ftype_t abstime_type = {
+ FT_ABSOLUTE_TIME, /* ftype */
"FT_ABSOLUTE_TIME", /* name */
"date/time", /* pretty_name */
0, /* wire_size */
@@ -379,6 +380,7 @@ ftype_register_time(void)
NULL
};
static ftype_t reltime_type = {
+ FT_RELATIVE_TIME, /* ftype */
"FT_RELATIVE_TIME", /* name */
"time offset", /* pretty_name */
0, /* wire_size */
diff --git a/epan/ftypes/ftype-tvbuff.c b/epan/ftypes/ftype-tvbuff.c
index f4c84b5d65..8e4a705059 100644
--- a/epan/ftypes/ftype-tvbuff.c
+++ b/epan/ftypes/ftype-tvbuff.c
@@ -260,6 +260,7 @@ ftype_register_tvbuff(void)
{
static ftype_t protocol_type = {
+ FT_PROTOCOL, /* ftype */
"FT_PROTOCOL", /* name */
"protocol", /* pretty_name */
0, /* wire_size */
diff --git a/epan/ftypes/ftypes.c b/epan/ftypes/ftypes.c
index e40dfc4f06..d48389496b 100644
--- a/epan/ftypes/ftypes.c
+++ b/epan/ftypes/ftypes.c
@@ -58,6 +58,7 @@ ftype_register(enum ftenum ftype, ftype_t *ft)
{
/* Check input */
g_assert(ftype < FT_NUM_TYPES);
+ g_assert(ftype == ft->ftype);
/* Don't re-register. */
g_assert(type_list[ftype] == NULL);
@@ -268,6 +269,12 @@ fvalue_from_string(ftenum_t ftype, char *s, LogFunc logfunc)
return NULL;
}
+ftype_t*
+fvalue_ftype(fvalue_t *fv)
+{
+ return fv->ftype;
+}
+
const char*
fvalue_type_name(fvalue_t *fv)
{
diff --git a/epan/ftypes/ftypes.h b/epan/ftypes/ftypes.h
index 6a30a4b7b5..a21feb5291 100644
--- a/epan/ftypes/ftypes.h
+++ b/epan/ftypes/ftypes.h
@@ -196,6 +196,7 @@ typedef guint (*FvalueLen)(fvalue_t*);
typedef void (*FvalueSlice)(fvalue_t*, GByteArray *, guint offset, guint length);
struct _ftype_t {
+ ftenum_t ftype;
const char *name;
const char *pretty_name;
int wire_size;
@@ -288,6 +289,9 @@ fvalue_string_repr_len(fvalue_t *fv, ftrepr_t rtype);
extern char *
fvalue_to_string_repr(fvalue_t *fv, ftrepr_t rtype, char *buf);
+ftype_t*
+fvalue_ftype(fvalue_t *fv);
+
const char*
fvalue_type_name(fvalue_t *fv);