Author: Gavin Grieve <hektik@dimebox.net> (by way of Kev <klmitch@mit.edu>)
[ircu2.10.12-pk.git] / include / channel.h
index aafcb3c560aac82815cefd2086ba769a8d8d78fb..0fc12e9ccd234ef22e1bdd07b2bcc3c7a9f3d182 100644 (file)
@@ -70,6 +70,7 @@ struct Client;
 #define CHFL_BURST_ALREADY_OPPED       0x04000  /* In oob BURST, but was already joined and opped */
 #define CHFL_BURST_ALREADY_VOICED      0x08000  /* In oob BURST, but was already joined and voiced */
 #define CHFL_CHANNEL_MANAGER   0x10000 /* Set when creating channel or using Apass */
+#define CHFL_USER_PARTING       0x20000  /* User is already parting that channel */
 
 #define CHFL_OVERLAP         (CHFL_CHANOP | CHFL_VOICE)
 #define CHFL_BANVALIDMASK    (CHFL_BANVALID | CHFL_BANNED)
@@ -191,6 +192,7 @@ struct Membership {
 #define IsBurstJoined(x)    ((x)->status & CHFL_BURST_JOINED)
 #define IsVoicedOrOpped(x)  ((x)->status & CHFL_VOICED_OR_OPPED)
 #define IsChannelManager(x) ((x)->status & CHFL_CHANNEL_MANAGER)
+#define IsUserParting(x)    ((x)->status & CHFL_USER_PARTING)
 
 #define SetBanned(x)        ((x)->status |= CHFL_BANNED)
 #define SetBanValid(x)      ((x)->status |= CHFL_BANVALID)
@@ -200,6 +202,7 @@ struct Membership {
 #define SetZombie(x)        ((x)->status |= CHFL_ZOMBIE)
 #define SetChannelManager(x) ((x)->status |= CHFL_CHANNEL_MANAGER)
 #define SetOpLevel(x, v)    (void)((x)->oplevel = (v))
+#define SetUserParting(x)   ((x)->status |= CHFL_USER_PARTING)
 
 #define ClearBanned(x)      ((x)->status &= ~CHFL_BANNED)
 #define ClearBanValid(x)    ((x)->status &= ~CHFL_BANVALID)