attr_dissector_fn_t
[wireshark-sm.git] / epan / ip_opts.h
blob5f62383732adf428be680e74bc0aa3c4c1a09780
1 /* ip_opts.h
2 * Definitions of structures and routines for dissection of options that
3 * work like IPv4 options
5 * Wireshark - Network traffic analyzer
6 * By Gerald Combs <gerald@wireshark.org>
7 * Copyright 1998 Gerald Combs
9 * SPDX-License-Identifier: GPL-2.0-or-later
12 #ifndef __IP_OPTS_H__
13 #define __IP_OPTS_H__
15 #include "ws_symbol_export.h"
17 /** @file
20 typedef enum {
21 OPT_LEN_NO_LENGTH, /**< option has no data, hence no length */
22 OPT_LEN_FIXED_LENGTH, /**< option always has the same length */
23 OPT_LEN_VARIABLE_LENGTH /**< option is variable-length - optlen is minimum */
24 } opt_len_type;
28 /* Quick-Start option, as defined by RFC4782 */
29 #define QS_FUNC_MASK 0xf0
30 #define QS_RATE_MASK 0x0f
31 #define QS_RATE_REQUEST 0
32 #define QS_RATE_REPORT 8
34 /* IP options */
35 #define IPOPT_COPY_MASK 0x80
36 #define IPOPT_CLASS_MASK 0x60
37 #define IPOPT_NUMBER_MASK 0x1F
39 WS_DLL_PUBLIC const value_string qs_func_vals[];
40 WS_DLL_PUBLIC value_string_ext qs_rate_vals_ext;
42 WS_DLL_PUBLIC const value_string ipopt_type_class_vals[];
43 WS_DLL_PUBLIC const value_string ipopt_type_number_vals[];
45 #endif