#ifndef INCLUDED_channel_h
#define INCLUDED_channel_h
-#include "config.h" /* config settings */
-#include "ircd_defs.h" /* buffer sizes */
#define MODEBUFLEN 200
#define MODE_FREEINVITE 0x0800 /* allow free use of /invite */
#define MODE_FREETARGET 0x1000 /* can be forwarded to without authorization */
#define MODE_DISFORWARD 0x2000 /* disable channel forwarding */
+#define MODE_NOCTCP 0x8000 /* Block CTCPs directed to this channel */
+#define MODE_NONOTICE 0x16000 /* Block notices directed to this channel */
+#define MODE_NOACTION 0x32000 /* Block CTCP ACTION directed to this channel */
+#define MODE_NOKICK 0x64000 /* Disable /kick on this channel */
#define CHFL_BAN 0x10000000 /* ban channel flag */
#define CHFL_EXCEPTION 0x20000000 /* exception to ban channel flag */
extern void set_channel_mode(struct Client *client_p, struct Client *source_p,
struct Channel *chptr, struct membership *msptr, int parc, const char *parv[]);
-extern int chmode_flags[256];
-
extern struct ChannelMode chmode_table[256];
extern int add_id(struct Client *source_p, struct Channel *chptr, const char *banid,
extern int valid_extban(const char *banstr, struct Client *client_p, struct Channel *chptr, long mode_type);
const char * get_extban_string(void);
+extern struct Channel * check_forward(struct Client *source_p, struct Channel *chptr, char *key);
+extern void user_join(struct Client * client_p, struct Client * source_p, const char * channels, const char * keys);
+extern void do_join_0(struct Client *client_p, struct Client *source_p);
+extern int check_channel_name_loc(struct Client *source_p, const char *name);
#endif /* INCLUDED_channel_h */