version 1.880, 2019/04/17 14:37:48 |
version 1.881, 2019/04/23 20:36:55 |
|
|
}; |
}; |
RB_HEAD(key_tables, key_table); |
RB_HEAD(key_tables, key_table); |
|
|
|
/* Option data. */ |
|
RB_HEAD(options_array, options_array_item); |
|
union options_value { |
|
char *string; |
|
long long number; |
|
struct style style; |
|
struct options_array array; |
|
}; |
|
|
/* Option table entries. */ |
/* Option table entries. */ |
enum options_table_type { |
enum options_table_type { |
OPTIONS_TABLE_STRING, |
OPTIONS_TABLE_STRING, |
|
|
OPTIONS_TABLE_COLOUR, |
OPTIONS_TABLE_COLOUR, |
OPTIONS_TABLE_FLAG, |
OPTIONS_TABLE_FLAG, |
OPTIONS_TABLE_CHOICE, |
OPTIONS_TABLE_CHOICE, |
OPTIONS_TABLE_STYLE, |
OPTIONS_TABLE_STYLE |
OPTIONS_TABLE_ARRAY, |
|
}; |
}; |
|
|
enum options_table_scope { |
enum options_table_scope { |
|
|
OPTIONS_TABLE_WINDOW, |
OPTIONS_TABLE_WINDOW, |
}; |
}; |
|
|
|
#define OPTIONS_TABLE_IS_ARRAY 0x1 |
|
|
struct options_table_entry { |
struct options_table_entry { |
const char *name; |
const char *name; |
enum options_table_type type; |
enum options_table_type type; |
enum options_table_scope scope; |
enum options_table_scope scope; |
|
int flags; |
|
|
u_int minimum; |
u_int minimum; |
u_int maximum; |
u_int maximum; |
|
|
struct options_entry *options_get(struct options *, const char *); |
struct options_entry *options_get(struct options *, const char *); |
void options_remove(struct options_entry *); |
void options_remove(struct options_entry *); |
void options_array_clear(struct options_entry *); |
void options_array_clear(struct options_entry *); |
const char *options_array_get(struct options_entry *, u_int); |
union options_value *options_array_get(struct options_entry *, u_int); |
int options_array_set(struct options_entry *, u_int, const char *, |
int options_array_set(struct options_entry *, u_int, const char *, |
int); |
int); |
void options_array_assign(struct options_entry *, const char *); |
void options_array_assign(struct options_entry *, const char *); |
struct options_array_item *options_array_first(struct options_entry *); |
struct options_array_item *options_array_first(struct options_entry *); |
struct options_array_item *options_array_next(struct options_array_item *); |
struct options_array_item *options_array_next(struct options_array_item *); |
u_int options_array_item_index(struct options_array_item *); |
u_int options_array_item_index(struct options_array_item *); |
const char *options_array_item_value(struct options_array_item *); |
union options_value *options_array_item_value(struct options_array_item *); |
int options_isarray(struct options_entry *); |
int options_isarray(struct options_entry *); |
int options_isstring(struct options_entry *); |
int options_isstring(struct options_entry *); |
const char *options_tostring(struct options_entry *, int, int); |
const char *options_tostring(struct options_entry *, int, int); |