Replace privilege-controlling Feature settings with
[ircu2.10.12-pk.git] / include / class.h
index 0e197461b8bd77663ef39b40e6fc1dde8143bdbb..e5d0b54bdf2396015f7a6b9df67988fb7c736da6 100644 (file)
 #define INCLUDED_sys_types_h
 #endif
 
-struct Client;
+#include "client.h"
+
 struct ConfItem;
+struct StatDesc;
 
 /*
  * Structures
@@ -35,6 +37,9 @@ struct ConfItem;
 struct ConnectionClass {
   struct ConnectionClass* next;
   char                    *cc_name;
+  char                    *default_umode;
+  struct Privs            privs;
+  struct Privs            privs_dirty;
   unsigned int            max_sendq;
   short                   ping_freq;
   short                   conn_freq;
@@ -60,6 +65,7 @@ struct ConnectionClass {
 #define ConfMaxLinks(x) ((x)->conn_class->max_links)
 #define ConfSendq(x)    ((x)->conn_class->max_sendq)
 #define ConfLinks(x)    ((x)->conn_class->ref_count)
+#define ConfUmode(x)    ((x)->conn_class->default_umode)
 
 /*
  * Proto types
@@ -79,9 +85,11 @@ extern char *get_conf_class(const struct ConfItem *aconf);
 extern int get_conf_ping(const struct ConfItem *aconf);
 extern char *get_client_class(struct Client *acptr);
 extern void add_class(char *name, unsigned int ping,
-                      unsigned int confreq, unsigned int maxli, unsigned int sendq);
+                      unsigned int confreq, unsigned int maxli,
+                      unsigned int sendq);
 extern void check_class(void);
-extern void report_classes(struct Client *sptr);
+extern void report_classes(struct Client *sptr, struct StatDesc *sd, int stat,
+                           char *param);
 extern unsigned int get_sendq(struct Client* cptr);
 
 extern void class_send_meminfo(struct Client* cptr);