summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/inspircd_io.h11
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