]> jfr.im git - solanum.git/blame - include/chmode.h
Rework channel mode handling
[solanum.git] / include / chmode.h
CommitLineData
c84557ac 1/*
a6f63a82 2 * Solanum: a slightly advanced ircd
c84557ac
VY
3 * chmode.h: The ircd channel header.
4 *
5 * Copyright (C) 1990 Jarkko Oikarinen and University of Oulu, Co Center
6 * Copyright (C) 1996-2002 Hybrid Development Team
7 * Copyright (C) 2002-2004 ircd-ratbox development team
8 * Copyright (C) 2008 charybdis development team
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
23 * USA
c84557ac
VY
24 */
25
26#ifndef INCLUDED_chmode_h
27#define INCLUDED_chmode_h
28
acdf71d9
VY
29/* something not included in messages.tab
30 * to change some hooks behaviour when needed
31 * -- dwr
32 */
33#define ERR_CUSTOM 1000
34
392ae75c
VY
35extern int chmode_flags[256];
36
c84557ac 37extern void chm_nosuch(struct Client *source_p, struct Channel *chptr,
04952c32 38 int alevel, const char *arg, int *errors, int dir, char c, long mode_type);
33599ae7 39extern void chm_orphaned(struct Client *source_p, struct Channel *chptr,
04952c32 40 int alevel, const char *arg, int *errors, int dir, char c, long mode_type);
c84557ac 41extern void chm_simple(struct Client *source_p, struct Channel *chptr,
04952c32 42 int alevel, const char *arg, int *errors, int dir, char c, long mode_type);
c84557ac 43extern void chm_ban(struct Client *source_p, struct Channel *chptr,
04952c32 44 int alevel, const char *arg, int *errors, int dir, char c, long mode_type);
be29ec79 45extern void chm_hidden(struct Client *source_p, struct Channel *chptr,
04952c32 46 int alevel, const char *arg, int *errors, int dir, char c, long mode_type);
c84557ac 47extern void chm_staff(struct Client *source_p, struct Channel *chptr,
04952c32 48 int alevel, const char *arg, int *errors, int dir, char c, long mode_type);
c84557ac 49extern void chm_forward(struct Client *source_p, struct Channel *chptr,
04952c32 50 int alevel, const char *arg, int *errors, int dir, char c, long mode_type);
c84557ac 51extern void chm_throttle(struct Client *source_p, struct Channel *chptr,
04952c32 52 int alevel, const char *arg, int *errors, int dir, char c, long mode_type);
c84557ac 53extern void chm_key(struct Client *source_p, struct Channel *chptr,
04952c32 54 int alevel, const char *arg, int *errors, int dir, char c, long mode_type);
c84557ac 55extern void chm_limit(struct Client *source_p, struct Channel *chptr,
04952c32 56 int alevel, const char *arg, int *errors, int dir, char c, long mode_type);
c84557ac 57extern void chm_op(struct Client *source_p, struct Channel *chptr,
04952c32 58 int alevel, const char *arg, int *errors, int dir, char c, long mode_type);
c84557ac 59extern void chm_voice(struct Client *source_p, struct Channel *chptr,
04952c32 60 int alevel, const char *arg, int *errors, int dir, char c, long mode_type);
c84557ac 61
19716b9f
JT
62extern unsigned int cflag_add(char c, ChannelModeFunc function);
63extern void cflag_orphan(char c);
64extern void construct_cflags_strings(void);
c18cb68b
VY
65extern char cflagsbuf[256];
66extern char cflagsmyinfo[256];
efccc22c 67
c84557ac 68#endif