unsigned long bants;
time_t channelts;
char *chname;
+
+ struct Client *last_checked_client;
+ time_t last_checked_ts;
+ unsigned int last_checked_type;
+ int last_checked_result;
};
struct membership
#define CHFL_BANNED 0x0008 /* cached as banned */
#define CHFL_QUIETED 0x0010 /* cached as being +q victim */
#define ONLY_SERVERS 0x0020
+#define ONLY_OPERS 0x0040
#define ALL_MEMBERS CHFL_PEON
#define ONLY_CHANOPS CHFL_CHANOP
#define ONLY_CHANOPSVOICED (CHFL_CHANOP|CHFL_VOICE)
extern int valid_extban(const char *banstr, struct Client *client_p, struct Channel *chptr, long mode_type);
const char * get_extban_string(void);
-extern int get_channel_access(struct Client *source_p, struct membership *msptr, int dir);
+extern int get_channel_access(struct Client *source_p, struct Channel *chptr, struct membership *msptr, int dir, const char *modestr);
extern void send_channel_join(struct Channel *chptr, struct Client *client_p);