| Wireshark 4.7.0 The Wireshark network protocol analyzer

Loading...
Searching...
No Matches
dissect_opts.h
Go to the documentation of this file.
1
19#ifndef __DISSECT_OPTS_H__
20#define __DISSECT_OPTS_H__
21
22#ifdef __cplusplus
23 extern "C" {
24#endif /* __cplusplus */
25
26/*
27 * Long options.
28 * We do not currently have long options corresponding to all short
29 * options; we should probably pick appropriate option names for them.
30 */
31
32#define LONGOPT_DISABLE_PROTOCOL LONGOPT_BASE_DISSECTOR+1
33#define LONGOPT_ENABLE_HEURISTIC LONGOPT_BASE_DISSECTOR+2
34#define LONGOPT_DISABLE_HEURISTIC LONGOPT_BASE_DISSECTOR+3
35#define LONGOPT_ENABLE_PROTOCOL LONGOPT_BASE_DISSECTOR+4
36#define LONGOPT_ONLY_PROTOCOLS LONGOPT_BASE_DISSECTOR+5
37#define LONGOPT_DISABLE_ALL_PROTOCOLS LONGOPT_BASE_DISSECTOR+6
38
39/*
40 * Options for dissecting common to all dissecting programs.
41 */
42#define LONGOPT_DISSECT_COMMON \
43 {"disable-protocol", ws_required_argument, NULL, LONGOPT_DISABLE_PROTOCOL }, \
44 {"enable-heuristic", ws_required_argument, NULL, LONGOPT_ENABLE_HEURISTIC }, \
45 {"disable-heuristic", ws_required_argument, NULL, LONGOPT_DISABLE_HEURISTIC }, \
46 {"enable-protocol", ws_required_argument, NULL, LONGOPT_ENABLE_PROTOCOL }, \
47 {"only-protocols", ws_required_argument, NULL, LONGOPT_ONLY_PROTOCOLS }, \
48 {"disable-all-protocols", ws_no_argument, NULL, LONGOPT_DISABLE_ALL_PROTOCOLS }, \
49 {"read-filter", ws_required_argument, NULL, 'R' }, \
50 {"display-filter", ws_required_argument, NULL, 'Y' }, \
51
52#define OPTSTRING_DISSECT_COMMON \
53 "d:K:nN:R:t:u:Y:"
54
56 typedef struct dissect_options_tag {
57 ts_type time_format;
58 ts_precision time_precision;
59 GSList *enable_protocol_slist; //enable protocols that are disabled by default
60 GSList *disable_protocol_slist;
61 GSList *enable_heur_slist;
62 GSList *disable_heur_slist;
63} dissect_options;
64
65 extern dissect_options global_dissect_options;
66
67/*
68 * Handle a command line option.
69 * Returns true if the option is valid, false if not; an error message
70 * is reported with cmdarg_err() if it's not valid.
71 */
72 extern bool
73dissect_opts_handle_opt(int opt, char *optarg_str_p);
74
75/*
76 * Set up disabled protocols and enabled/disabled heuristic protocols
77 * as per specified command-line options.
78 *
79 * Returns true if all specified heuristic protocols exist, false
80 * otherwise.
81 */
82 extern bool
83setup_enabled_and_disabled_protocols(void);
84
85#ifdef __cplusplus
86}
87#endif /* __cplusplus */
88
89#endif /* dissect_opts.h */
dissect_options
struct dissect_options_tag dissect_options
dissect_options_tag
Definition dissect_opts.h:56