10#ifndef __EXTCAP_PARSER_H__
11#define __EXTCAP_PARSER_H__
91#define ENUM_KEY(s) GUINT_TO_POINTER((unsigned)s)
114#define EXTCAP_PARAM_REQUIRED_SUFFICIENT "sufficient"
152#define EXTCAP_CONTROL_NONE 0
153#define EXTCAP_CONTROL_TOOLBAR 1
154#define EXTCAP_CONTROL_QUIT 2
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:54
@ 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_FOLDERSELECT
Definition extcap_parser.h:53
@ 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:969
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:42
unsigned extcap_complex_get_uint(extcap_complex *comp)
Retrieves an unsigned integer value from an extcap complex structure.
Definition extcap_parser.c:76
extcap_complex * extcap_parse_complex(extcap_arg_type complex_type, const char *data)
Parse a complex value from a string.
Definition extcap_parser.c:31
int extcap_complex_get_int(extcap_complex *comp)
Retrieves an integer value from an extcap complex structure.
Definition extcap_parser.c:69
char * extcap_complex_get_string(extcap_complex *comp)
Get the string value from an extcap complex structure.
Definition extcap_parser.c:110
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:376
int64_t extcap_complex_get_long(extcap_complex *comp)
Retrieves a long value from an extcap complex structure.
Definition extcap_parser.c:82
void extcap_free_complex(extcap_complex *comp)
Free a complex value.
Definition extcap_parser.c:52
GList * extcap_parse_args(char *output)
Parses arguments from extcap output.
Definition extcap_parser.c:696
extcap_param_type
Token keys for key/value pairs within a parsed extcap sentence.
Definition extcap_parser.h:60
@ EXTCAP_PARAM_ROLE
Definition extcap_parser.h:87
@ EXTCAP_PARAM_ARG
Definition extcap_parser.h:66
@ EXTCAP_PARAM_PARENT
Definition extcap_parser.h:77
@ EXTCAP_PARAM_PREFIX
Definition extcap_parser.h:81
@ EXTCAP_PARAM_NAME
Definition extcap_parser.h:72
@ EXTCAP_PARAM_FILE_EXTENSION
Definition extcap_parser.h:75
@ EXTCAP_PARAM_VALIDATION
Definition extcap_parser.h:83
@ EXTCAP_PARAM_GROUP
Definition extcap_parser.h:76
@ EXTCAP_PARAM_REQUIRED
Definition extcap_parser.h:78
@ EXTCAP_PARAM_ARGNUM
Definition extcap_parser.h:62
@ EXTCAP_PARAM_ENABLED
Definition extcap_parser.h:73
@ EXTCAP_PARAM_HELP
Definition extcap_parser.h:85
@ EXTCAP_PARAM_RANGE
Definition extcap_parser.h:69
@ EXTCAP_PARAM_FILE_MUSTEXIST
Definition extcap_parser.h:74
@ EXTCAP_PARAM_DEFAULT
Definition extcap_parser.h:67
@ EXTCAP_PARAM_SAVE
Definition extcap_parser.h:82
@ EXTCAP_PARAM_VALUE
Definition extcap_parser.h:68
@ EXTCAP_PARAM_CONTROL
Definition extcap_parser.h:86
@ EXTCAP_PARAM_DISPLAY
Definition extcap_parser.h:64
@ EXTCAP_PARAM_TOOLTIP
Definition extcap_parser.h:70
@ EXTCAP_PARAM_VERSION
Definition extcap_parser.h:84
@ EXTCAP_PARAM_TYPE
Definition extcap_parser.h:65
@ EXTCAP_PARAM_PLACEHOLDER
Definition extcap_parser.h:71
@ EXTCAP_PARAM_CONFIGURABLE
Definition extcap_parser.h:80
@ EXTCAP_PARAM_RELOAD
Definition extcap_parser.h:79
@ EXTCAP_PARAM_UNKNOWN
Definition extcap_parser.h:61
@ EXTCAP_PARAM_CALL
Definition extcap_parser.h:63
bool extcap_complex_get_bool(extcap_complex *comp)
Retrieves the boolean value from an extcap complex structure.
Definition extcap_parser.c:100
void extcap_free_toolbar_control(iface_toolbar_control *control)
Free entire toolbar control structure.
Definition extcap_parser.c:358
double extcap_complex_get_double(extcap_complex *comp)
Retrieves the double value from an extcap_complex structure.
Definition extcap_parser.c:88
void extcap_free_arg(extcap_arg *a)
Free a single argument.
Definition extcap_parser.c:290
GList * extcap_parse_dlts(char *output)
Parse all sentences for DLT (Data Link Type) information.
Definition extcap_parser.c:1060
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:27
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:719
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:119
bool reload
Definition extcap_parser.h:132
bool save
Definition extcap_parser.h:131
char * call
Definition extcap_parser.h:121
char * fileextension
Definition extcap_parser.h:126
char * prefix
Definition extcap_parser.h:134
char * device_name
Definition extcap_parser.h:144
char * tooltip
Definition extcap_parser.h:123
bool is_sufficient
Definition extcap_parser.h:130
extcap_arg_type arg_type
Definition extcap_parser.h:138
bool is_required
Definition extcap_parser.h:129
extcap_complex * range_start
Definition extcap_parser.h:139
extcap_complex * default_complex
Definition extcap_parser.h:141
char * regexp
Definition extcap_parser.h:135
GList * values
Definition extcap_parser.h:149
bool fileexists
Definition extcap_parser.h:127
char * display
Definition extcap_parser.h:122
int arg_num
Definition extcap_parser.h:120
bool configurable
Definition extcap_parser.h:133
char * placeholder
Definition extcap_parser.h:124
char * group
Definition extcap_parser.h:136
char ** pref_valptr
Definition extcap_parser.h:143
extcap_complex * range_end
Definition extcap_parser.h:140
A typed scalar value used to represent argument defaults and range bounds.
Definition extcap_parser.h:108
char * _val
Definition extcap_parser.h:110
extcap_arg_type complex_type
Definition extcap_parser.h:109
Describes a data link type (DLT) supported by an extcap interface.
Definition extcap_parser.h:175
char * display
Definition extcap_parser.h:178
int number
Definition extcap_parser.h:176
char * name
Definition extcap_parser.h:177
Describes a single capture interface advertised by an extcap binary.
Definition extcap_parser.h:159
char * help
Definition extcap_parser.h:163
char * bookmark_name
Definition extcap_parser.h:166
unsigned control
Definition extcap_parser.h:165
char * parent_call
Definition extcap_parser.h:167
char * call
Definition extcap_parser.h:160
char * extcap_path
Definition extcap_parser.h:164
char * display
Definition extcap_parser.h:161
char * version
Definition extcap_parser.h:162
extcap_sentence_type if_type
Definition extcap_parser.h:169
A single tokenized extcap output sentence with its key/value parameter map.
Definition extcap_parser.h:184
GHashTable * param_list
Definition extcap_parser.h:186
char * sentence
Definition extcap_parser.h:185
A single selectable value option associated with a selector, radio, or multicheck argument.
Definition extcap_parser.h:96
bool is_default
Definition extcap_parser.h:101
char * parent
Definition extcap_parser.h:102
bool enabled
Definition extcap_parser.h:100
int arg_num
Definition extcap_parser.h:97
char * display
Definition extcap_parser.h:99
char * call
Definition extcap_parser.h:98