]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - include/privilege.h
Added tag shadowircd-6.3.0-RC1 for changeset 5d25c87c7895
[irc/rqf/shadowircd.git] / include / privilege.h
index 4eb7564bc32867c8a5839da8c23111559a657028..a3e5bffb4dccf883bcdfda72cf3791e0ccc5ac24 100644 (file)
 
 #include "stdinc.h"
 
-typedef enum {
+enum {
        PRIV_NEEDOPER = 1
-} PrivilegeFlags;
+};
+typedef unsigned int PrivilegeFlags;
 
 struct PrivilegeSet {
+       unsigned int status;    /* If CONF_ILLEGAL, delete when no refs */
        int refs;
        char *name;
        char *privs;
@@ -42,7 +44,10 @@ int privilegeset_in_set(struct PrivilegeSet *set, const char *priv);
 struct PrivilegeSet *privilegeset_set_new(const char *name, const char *privs, PrivilegeFlags flags);
 struct PrivilegeSet *privilegeset_extend(struct PrivilegeSet *parent, const char *name, const char *privs, PrivilegeFlags flags);
 struct PrivilegeSet *privilegeset_get(const char *name);
-void privilegeset_ref(struct PrivilegeSet *set);
+struct PrivilegeSet *privilegeset_ref(struct PrivilegeSet *set);
 void privilegeset_unref(struct PrivilegeSet *set);
+void privilegeset_mark_all_illegal(void);
+void privilegeset_delete_all_illegal(void);
+void privilegeset_report(struct Client *source_p);
 
 #endif