diff options
author | cbdev <cb@cbcdn.com> | 2021-06-21 22:03:17 +0200 |
---|---|---|
committer | cbdev <cb@cbcdn.com> | 2021-06-21 22:03:17 +0200 |
commit | 921ce069a4770fbadad7bb4e806361e857469409 (patch) | |
tree | 944dbc2c4fbb539168f9353de5eba175313762b6 /core/config.h | |
parent | 9faaeeac95d20ea678a844de05b8b0515f19e19d (diff) | |
download | midimonster-921ce069a4770fbadad7bb4e806361e857469409.tar.gz midimonster-921ce069a4770fbadad7bb4e806361e857469409.tar.bz2 midimonster-921ce069a4770fbadad7bb4e806361e857469409.zip |
Repository cleanup
Diffstat (limited to 'core/config.h')
-rw-r--r-- | core/config.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/core/config.h b/core/config.h new file mode 100644 index 0000000..b96a866 --- /dev/null +++ b/core/config.h @@ -0,0 +1,54 @@ +/* + * Channel glob type + */ +enum /*_mm_channel_glob_type */ { + glob_range, + glob_list +}; + +/* + * Channel specification glob + */ +typedef struct /*_mm_channel_glob*/ { + size_t offset[2]; + union { + void* impl; + uint64_t u64[2]; + } limits; + uint8_t type; + uint64_t values; +} channel_glob; + +/* + * (Multi-)Channel specification + */ +typedef struct /*_mm_channel_spec*/ { + char* spec; + uint8_t internal; + size_t channels; + size_t globs; + channel_glob* glob; +} channel_spec; + +/* + * Command-line override types + */ +typedef enum { + override_backend, + override_instance +} override_type; + +/* + * Command-line override data + */ +typedef struct /*_mm_config_override*/ { + override_type type; + uint8_t handled; + char* target; + char* option; + char* value; +} config_override; + +int config_read(char* file); +int config_add_override(override_type type, char* data); +void config_free(); |