+
+ /* These tags can occur multiple times, and therefore they have special code to read them
+ * which is different to the code for reading the singular tags listed above.
+ */
+ static MultiConfig MultiValues[] = {
+
+ {"connect",
+ {"allow", "deny", "password", "timeout", "pingfreq", "flood",
+ "threshold", "sendq", "recvq", "localmax", "globalmax", NULL},
+ {DT_CHARPTR, DT_CHARPTR, DT_CHARPTR, DT_INTEGER, DT_INTEGER, DT_INTEGER,
+ DT_INTEGER, DT_INTEGER, DT_INTEGER, DT_INTEGER, DT_INTEGER},
+ InitConnect, DoConnect, DoneConnect},
+
+ {"uline",
+ {"server", NULL},
+ {DT_CHARPTR},
+ InitULine,DoULine,DoneULine},
+
+ {"banlist",
+ {"chan", "limit", NULL},
+ {DT_CHARPTR, DT_INTEGER},
+ InitMaxBans, DoMaxBans, DoneMaxBans},
+
+ {"module",
+ {"name", NULL},
+ {DT_CHARPTR},
+ InitModule, DoModule, DoneModule},
+
+ {"badip",
+ {"reason", "ipmask", NULL},
+ {DT_CHARPTR, DT_CHARPTR},
+ InitXLine, DoZLine, DoneXLine},
+
+ {"badnick",
+ {"reason", "nick", NULL},
+ {DT_CHARPTR, DT_CHARPTR},
+ InitXLine, DoQLine, DoneXLine},
+
+ {"badhost",
+ {"reason", "host", NULL},
+ {DT_CHARPTR, DT_CHARPTR},
+ InitXLine, DoKLine, DoneXLine},
+
+ {"exception",
+ {"reason", "host", NULL},
+ {DT_CHARPTR, DT_CHARPTR},
+ InitXLine, DoELine, DoneXLine},
+
+ {"type",
+ {"name", "classes", NULL},
+ {DT_CHARPTR, DT_CHARPTR},
+ InitTypes, DoType, DoneClassesAndTypes},
+
+ {"class",
+ {"name", "commands", NULL},
+ {DT_CHARPTR, DT_CHARPTR},
+ InitClasses, DoClass, DoneClassesAndTypes},
+
+ {NULL}
+ };
+