diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/inspircd_io.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/include/inspircd_io.h b/include/inspircd_io.h index 89b6300de..e98bb3d66 100644 --- a/include/inspircd_io.h +++ b/include/inspircd_io.h @@ -33,6 +33,7 @@ #define NONE 50 typedef bool (*Validator)(const char*, const char*, void*); +typedef bool (*MultiValidator)(const char*, const char**, void**, int**); enum ConfigDataType { DT_NOTHING, DT_INTEGER, DT_CHARPTR, DT_BOOLEAN }; @@ -40,10 +41,18 @@ struct InitialConfig { char* tag; char* value; void* val; - int datatype; + ConfigDataType datatype; Validator validation_function; }; +struct MultiConfig { + char* tag; + char** items; + void** values; + ConfigDataType** datatype; + MultiValidator validation_function; +}; + /** This class holds the bulk of the runtime configuration for the ircd. * It allows for reading new config values, accessing configuration files, * and storage of the configuration data needed to run the ircd, such as |