Implement a per-connection-class default usermode option.
[ircu2.10.12-pk.git] / include / class.h
index 93ba2bdc424f548bb3ed353466d768b4c7be12b8..374c21b5886431c781320b63c313b7b1af6add95 100644 (file)
@@ -28,6 +28,7 @@
 
 struct Client;
 struct ConfItem;
+struct StatDesc;
 
 /*
  * Structures
@@ -35,6 +36,7 @@ struct ConfItem;
 struct ConnectionClass {
   struct ConnectionClass* next;
   char                    *cc_name;
+  char                    *default_umode;
   unsigned int            max_sendq;
   short                   ping_freq;
   short                   conn_freq;
@@ -60,6 +62,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
@@ -75,14 +78,15 @@ extern struct ConnectionClass *find_class(const char *name);
 extern struct ConnectionClass *make_class(void);
 extern void free_class(struct ConnectionClass * tmp);
 extern unsigned int get_con_freq(struct ConnectionClass * clptr);
-extern unsigned int get_client_ping(struct Client *acptr);
 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);