+/* DEVNULL_PRIV_* go into devnull_class.modes */
+#define DEVNULL_PRIV_CHANLIMIT 0x0001
+#define DEVNULL_PRIV_UNLIMITTARGET 0x0002
+#define DEVNULL_PRIV_HALFFLOOD 0x0004
+#define DEVNULL_PRIV_NOFLOOD 0x0008
+#define DEVNULL_PRIV_CHANHIDE 0x0010
+#define DEVNULL_PRIV_IDLEHIDE 0x0020
+#define DEVNULL_PRIV_CHSERVMODE 0x0040
+#define DEVNULL_PRIV_XTRAOPMODE 0x0080
+#define DEVNULL_PRIV_NETSERVMODE 0x0100
+#define DEVNULL_PRIV_SEEIDLE 0x0200
+#define DEVNULL_PRIV_FORCEIDLEHIDE 0x0400
+#define DEVNULL_PRIV_OVERRIDECC 0x0800
+#define DEVNULL_PRIV_OVERRIDENOAMSG 0x1000
+#define DEVNULL_PRIV_MAXSENDQ 0x2000
+#define DEVNULL_PRIV_OPME 0x4000
+
+#define DEVNULL_MODES "abcdefghijklmno"
+
+#define DEVNULL_HAS_PRIV(cl, tok) ((cl)->modes & DEVNULL_PRIV_##tok)
+#define DEVNULL_SET_PRIV(cl, tok) ((cl)->modes |= DEVNULL_PRIV_##tok)
+#define DEVNULL_CLEAR_PRIV(cl, tok) ((cl)->modes &= ~DEVNULL_PRIV_##tok)
+
+struct devnull_class {
+ unsigned int id;
+ char *name;
+ unsigned long modes;
+ unsigned long maxchan;
+ unsigned long maxsendq;
+};
+
+extern void *devnull_check_priv_func;
+