Wireshark 4.7.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
/builds/wireshark/wireshark/extcap_parser.h
Go to the documentation of this file.
1
10#ifndef __EXTCAP_PARSER_H__
11#define __EXTCAP_PARSER_H__
12
13#include <stdio.h>
14#include <glib.h>
15#include <string.h>
16
17#include "ui/iface_toolbar.h"
18
31
55
88
90#define ENUM_KEY(s) GUINT_TO_POINTER((unsigned)s)
91
95typedef struct _extcap_value {
96 int arg_num;
97 char *call;
98 char *display;
99 bool enabled;
101 char *parent;
103
111
113#define EXTCAP_PARAM_REQUIRED_SUFFICIENT "sufficient"
114
146
159
163typedef struct _extcap_dlt {
164 int number;
165 char *name;
166 char *display;
168
176
177#ifdef __cplusplus
178extern "C" {
179#endif
180
181/* Parse a string into a complex type */
182
191 const char *data);
192
198/* Free a complex */
200
201/* Print a complex value out for debug */
202
209
216
224
232
240
248
256
264
265/* compares the default value of an element with a given parameter */
266
275
285
292
300void extcap_free_arg_list(GList *a);
301
302
305/* Parse all sentences for args and values */
306
313GList * extcap_parse_args(char *output);
314
321GList * extcap_parse_values(char *output);
322
332GList * extcap_parse_interfaces(char *output, GList **control_items);
333
343GList * extcap_parse_dlts(char *output);
344
345#ifdef __cplusplus
346}
347#endif
348
349#endif
350
351/*
352 * Editor modelines - https://www.wireshark.org/tools/modelines.html
353 *
354 * Local variables:
355 * c-basic-offset: 4
356 * tab-width: 8
357 * indent-tabs-mode: nil
358 * End:
359 *
360 * vi: set shiftwidth=4 tabstop=8 expandtab:
361 * :indentSize=4:tabSize=8:noTabs=true:
362 */
struct _extcap_token_sentence extcap_token_sentence
A single tokenized extcap output sentence with its key/value parameter map.
extcap_arg_type
Data type of an extcap argument, controlling its GUI widget and value parsing.
Definition extcap_parser.h:35
@ EXTCAP_ARG_TIMESTAMP
Definition extcap_parser.h:53
@ EXTCAP_ARG_UNSIGNED
Definition extcap_parser.h:39
@ EXTCAP_ARG_LONG
Definition extcap_parser.h:40
@ EXTCAP_ARG_EDIT_SELECTOR
Definition extcap_parser.h:48
@ EXTCAP_ARG_UNKNOWN
Definition extcap_parser.h:37
@ EXTCAP_ARG_PASSWORD
Definition extcap_parser.h:45
@ EXTCAP_ARG_TABLE
Definition extcap_parser.h:51
@ EXTCAP_ARG_MULTICHECK
Definition extcap_parser.h:50
@ EXTCAP_ARG_BOOLFLAG
Definition extcap_parser.h:43
@ EXTCAP_ARG_SELECTOR
Definition extcap_parser.h:47
@ EXTCAP_ARG_STRING
Definition extcap_parser.h:44
@ EXTCAP_ARG_RADIO
Definition extcap_parser.h:49
@ EXTCAP_ARG_INTEGER
Definition extcap_parser.h:38
@ EXTCAP_ARG_FILESELECT
Definition extcap_parser.h:52
@ EXTCAP_ARG_BOOLEAN
Definition extcap_parser.h:42
@ EXTCAP_ARG_DOUBLE
Definition extcap_parser.h:41
GList * extcap_parse_interfaces(char *output, GList **control_items)
Parse all sentences for interfaces.
Definition extcap_parser.c:903
struct _extcap_complex extcap_complex
A typed scalar value used to represent argument defaults and range bounds.
bool extcap_compare_is_default(extcap_arg *element, extcap_complex *test)
Compares an argument's default complex value with a test complex value.
Definition extcap_parser.c:48
unsigned extcap_complex_get_uint(extcap_complex *comp)
Retrieves an unsigned integer value from an extcap complex structure.
Definition extcap_parser.c:71
extcap_complex * extcap_parse_complex(extcap_arg_type complex_type, const char *data)
Parse a complex value from a string.
Definition extcap_parser.c:37
int extcap_complex_get_int(extcap_complex *comp)
Retrieves an integer value from an extcap complex structure.
Definition extcap_parser.c:64
char * extcap_complex_get_string(extcap_complex *comp)
Get the string value from an extcap complex structure.
Definition extcap_parser.c:105
void extcap_printf_complex(extcap_complex *comp)
Prints a complex type using its string representation.
Definition extcap_parser.c:27
struct _extcap_interface extcap_interface
Describes a single capture interface advertised by an extcap binary.
void extcap_free_arg_list(GList *a)
Free an entire arg list.
Definition extcap_parser.c:320
int64_t extcap_complex_get_long(extcap_complex *comp)
Retrieves a long value from an extcap complex structure.
Definition extcap_parser.c:77
void extcap_free_complex(extcap_complex *comp)
Free a complex value.
Definition extcap_parser.c:58
GList * extcap_parse_args(char *output)
Parses arguments from extcap output.
Definition extcap_parser.c:638
extcap_param_type
Token keys for key/value pairs within a parsed extcap sentence.
Definition extcap_parser.h:59
@ EXTCAP_PARAM_ROLE
Definition extcap_parser.h:86
@ EXTCAP_PARAM_ARG
Definition extcap_parser.h:65
@ EXTCAP_PARAM_PARENT
Definition extcap_parser.h:76
@ EXTCAP_PARAM_PREFIX
Definition extcap_parser.h:80
@ EXTCAP_PARAM_NAME
Definition extcap_parser.h:71
@ EXTCAP_PARAM_FILE_EXTENSION
Definition extcap_parser.h:74
@ EXTCAP_PARAM_VALIDATION
Definition extcap_parser.h:82
@ EXTCAP_PARAM_GROUP
Definition extcap_parser.h:75
@ EXTCAP_PARAM_REQUIRED
Definition extcap_parser.h:77
@ EXTCAP_PARAM_ARGNUM
Definition extcap_parser.h:61
@ EXTCAP_PARAM_ENABLED
Definition extcap_parser.h:72
@ EXTCAP_PARAM_HELP
Definition extcap_parser.h:84
@ EXTCAP_PARAM_RANGE
Definition extcap_parser.h:68
@ EXTCAP_PARAM_FILE_MUSTEXIST
Definition extcap_parser.h:73
@ EXTCAP_PARAM_DEFAULT
Definition extcap_parser.h:66
@ EXTCAP_PARAM_SAVE
Definition extcap_parser.h:81
@ EXTCAP_PARAM_VALUE
Definition extcap_parser.h:67
@ EXTCAP_PARAM_CONTROL
Definition extcap_parser.h:85
@ EXTCAP_PARAM_DISPLAY
Definition extcap_parser.h:63
@ EXTCAP_PARAM_TOOLTIP
Definition extcap_parser.h:69
@ EXTCAP_PARAM_VERSION
Definition extcap_parser.h:83
@ EXTCAP_PARAM_TYPE
Definition extcap_parser.h:64
@ EXTCAP_PARAM_PLACEHOLDER
Definition extcap_parser.h:70
@ EXTCAP_PARAM_CONFIGURABLE
Definition extcap_parser.h:79
@ EXTCAP_PARAM_RELOAD
Definition extcap_parser.h:78
@ EXTCAP_PARAM_UNKNOWN
Definition extcap_parser.h:60
@ EXTCAP_PARAM_CALL
Definition extcap_parser.h:62
bool extcap_complex_get_bool(extcap_complex *comp)
Retrieves the boolean value from an extcap complex structure.
Definition extcap_parser.c:95
void extcap_free_toolbar_control(iface_toolbar_control *control)
Free entire toolbar control structure.
Definition extcap_parser.c:302
double extcap_complex_get_double(extcap_complex *comp)
Retrieves the double value from an extcap_complex structure.
Definition extcap_parser.c:83
void extcap_free_arg(extcap_arg *a)
Free a single argument.
Definition extcap_parser.c:262
GList * extcap_parse_dlts(char *output)
Parse all sentences for DLT (Data Link Type) information.
Definition extcap_parser.c:994
extcap_sentence_type
Identifies the type of a parsed extcap output sentence.
Definition extcap_parser.h:22
@ EXTCAP_SENTENCE_UNKNOWN
Definition extcap_parser.h:23
@ EXTCAP_SENTENCE_VALUE
Definition extcap_parser.h:25
@ EXTCAP_SENTENCE_DLT
Definition extcap_parser.h:28
@ EXTCAP_SENTENCE_EXTCAP
Definition extcap_parser.h:26
@ EXTCAP_SENTENCE_ARG
Definition extcap_parser.h:24
@ EXTCAP_SENTENCE_CONTROL
Definition extcap_parser.h:29
@ EXTCAP_SENTENCE_INTERFACE
Definition extcap_parser.h:27
struct _extcap_arg extcap_arg
A fully parsed extcap argument sentence with all its associated options.
char * extcap_get_complex_as_string(extcap_complex *comp)
Get a string representation of a complex type.
Definition extcap_parser.c:33
struct _extcap_dlt extcap_dlt
Describes a data link type (DLT) supported by an extcap interface.
GList * extcap_parse_values(char *output)
Parse all sentences for values.
Definition extcap_parser.c:661
struct _extcap_value extcap_value
A single selectable value option associated with a selector, radio, or multicheck argument.
A fully parsed extcap argument sentence with all its associated options.
Definition extcap_parser.h:118
bool reload
Definition extcap_parser.h:131
bool save
Definition extcap_parser.h:130
char * call
Definition extcap_parser.h:120
char * fileextension
Definition extcap_parser.h:125
char * prefix
Definition extcap_parser.h:133
char * device_name
Definition extcap_parser.h:143
char * tooltip
Definition extcap_parser.h:122
bool is_sufficient
Definition extcap_parser.h:129
extcap_arg_type arg_type
Definition extcap_parser.h:137
bool is_required
Definition extcap_parser.h:128
extcap_complex * range_start
Definition extcap_parser.h:138
extcap_complex * default_complex
Definition extcap_parser.h:140
char * regexp
Definition extcap_parser.h:134
GList * values
Definition extcap_parser.h:144
bool fileexists
Definition extcap_parser.h:126
char * display
Definition extcap_parser.h:121
int arg_num
Definition extcap_parser.h:119
bool configurable
Definition extcap_parser.h:132
char * placeholder
Definition extcap_parser.h:123
char * group
Definition extcap_parser.h:135
char ** pref_valptr
Definition extcap_parser.h:142
extcap_complex * range_end
Definition extcap_parser.h:139
A typed scalar value used to represent argument defaults and range bounds.
Definition extcap_parser.h:107
char * _val
Definition extcap_parser.h:109
extcap_arg_type complex_type
Definition extcap_parser.h:108
Describes a data link type (DLT) supported by an extcap interface.
Definition extcap_parser.h:163
char * display
Definition extcap_parser.h:166
int number
Definition extcap_parser.h:164
char * name
Definition extcap_parser.h:165
Describes a single capture interface advertised by an extcap binary.
Definition extcap_parser.h:150
char * help
Definition extcap_parser.h:154
char * call
Definition extcap_parser.h:151
char * extcap_path
Definition extcap_parser.h:155
char * display
Definition extcap_parser.h:152
char * version
Definition extcap_parser.h:153
extcap_sentence_type if_type
Definition extcap_parser.h:157
A single tokenized extcap output sentence with its key/value parameter map.
Definition extcap_parser.h:172
GHashTable * param_list
Definition extcap_parser.h:174
char * sentence
Definition extcap_parser.h:173
A single selectable value option associated with a selector, radio, or multicheck argument.
Definition extcap_parser.h:95
bool is_default
Definition extcap_parser.h:100
char * parent
Definition extcap_parser.h:101
bool enabled
Definition extcap_parser.h:99
int arg_num
Definition extcap_parser.h:96
char * display
Definition extcap_parser.h:98
char * call
Definition extcap_parser.h:97
Describes a single control widget within an interface toolbar.
Definition iface_toolbar.h:56