diff options
author | Michael Mann <mmann78@netscape.net> | 2013-06-29 19:59:08 +0000 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2013-06-29 19:59:08 +0000 |
commit | e5af2f55ee08b521dee843fa2e030714045ce061 (patch) | |
tree | 7a840aeeff0ffb89b11a2cf20881748a773e10e6 /epan/ip_opts.h | |
parent | 04f8906be3d59cf3c33c0302adfef8bd184abb99 (diff) |
Separate IP option header fields for each dissector that uses dissect_ip_tcp_options(). Bug 8823 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8823)
svn path=/trunk/; revision=50230
Diffstat (limited to 'epan/ip_opts.h')
-rw-r--r-- | epan/ip_opts.h | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/epan/ip_opts.h b/epan/ip_opts.h index b152d097fd..cbfa2958c1 100644 --- a/epan/ip_opts.h +++ b/epan/ip_opts.h @@ -53,13 +53,21 @@ typedef struct ip_tcp_opt { void *); /**< routine to dissect option */ } ip_tcp_opt; +typedef struct ip_tcp_opt_type { + int* phf_opt_type; + int* pett_opt_type; + int* phf_opt_type_copy; + int* phf_opt_type_class; + int* phf_opt_type_number; +} ip_tcp_opt_type; + /** Routine to dissect options that work like IPv4 options, where the length field in the option, if present, includes the type and length bytes. */ -extern void dissect_ip_tcp_options(tvbuff_t *, int, guint, - const ip_tcp_opt *, int, int, - packet_info *, proto_tree *, proto_item *, - void *); +extern void dissect_ip_tcp_options(tvbuff_t *tvb, int offset, guint length, + const ip_tcp_opt *opttab, int nopts, int eol, ip_tcp_opt_type* opttypes, + packet_info *pinfo, proto_tree *opt_tree, + proto_item *opt_item, void * data); /* Quick-Start option, as defined by RFC4782 */ #define QS_FUNC_MASK 0xf0 @@ -67,7 +75,15 @@ extern void dissect_ip_tcp_options(tvbuff_t *, int, guint, #define QS_RATE_REQUEST 0 #define QS_RATE_REPORT 8 +/* IP options */ +#define IPOPT_COPY_MASK 0x80 +#define IPOPT_CLASS_MASK 0x60 +#define IPOPT_NUMBER_MASK 0x1F + WS_DLL_PUBLIC const value_string qs_func_vals[]; WS_DLL_PUBLIC value_string_ext qs_rate_vals_ext; +WS_DLL_PUBLIC const value_string ipopt_type_class_vals[]; +WS_DLL_PUBLIC const value_string ipopt_type_number_vals[]; + #endif |