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
const char *arg;
const char *id;
int dir;
- int caps;
- int nocaps;
int mems;
- struct Client *client;
-};
-
-struct ChCapCombo
-{
- int count;
- int cap_yes;
- int cap_no;
};
typedef void (*ChannelModeFunc)(struct Client *source_p, struct Channel *chptr,
#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);
+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);