]> jfr.im git - irc/evilnet/x3.git/blobdiff - src/chanserv.h
SVSPART trace / alert support (level 999). Just like the recent SVSJOIN support
[irc/evilnet/x3.git] / src / chanserv.h
index b076a104d037e13c84f4501c6080a4410e021037..334bf9889c8d689fd9c50e4b2d388193a638e951 100644 (file)
@@ -55,7 +55,6 @@ enum charOption {
     chCTCPReaction,
     chBanTimeout,
     chResync,
-    chBanType,
     NUM_CHAR_OPTIONS
 };
 
@@ -122,12 +121,14 @@ struct chanData
 #define USER_SUSPENDED          0x00000002
 #define USER_AUTO_INVITE        0x00000004
 #define USER_AUTO_OP            0x00000008
-#define USER_FLAGS_SIZE         15
+#define USER_AUTO_JOIN          0x00000010
+#define USER_FLAGS_SIZE         25
 #define USER_FLAGS_DEFAULT      USER_AUTO_OP
 
 #define IsUserAutoOp(USER)      ((USER)->flags & USER_AUTO_OP)
 #define IsUserSuspended(USER)   ((USER)->flags & USER_SUSPENDED)
 #define IsUserAutoInvite(USER)  ((USER)->flags & USER_AUTO_INVITE)
+#define IsUserAutoJoin(USER)    ((USER)->flags & USER_AUTO_JOIN)
 
 struct userData
 {
@@ -204,6 +205,10 @@ struct do_not_register
     char   reason[1];
 };
 
+#define GetChannelUser(channel, handle) _GetChannelUser(channel, handle, 1, 0)
+struct userData *_GetChannelUser(struct chanData *channel, struct handle_info *handle, int override, int allow_suspended);
+struct banData *add_channel_ban(struct chanData *channel, const char *mask, char *owner, time_t set, time_t triggered, time_t expires, char *reason);
+
 void init_chanserv(const char *nick);
 void del_channel_user(struct userData *user, int do_gc);
 struct channelList *chanserv_support_channels(void);