/************************************************************************
* IRC - Internet Relay Chat, include/chanmode.h
*
* Copyright (C) 2000-2003 TR-IRCD Development
*
* Copyright (C) 1990 Jarkko Oikarinen and
* University of Oulu, Co Center
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/
#ifndef CHANMODE_H
#define CHANMODE_H 1
#include "tools.h"
struct ChanMode {
/* char letter; - Is not used, will be taken from the index of the table */
int type;
int in_use;
int flags;
int cmtype;
int (*cmode_handler_user) ();
int (*cmode_handler_oper) ();
int (*cmode_handler_ulined) ();
int (*cmode_handler_server) ();
int (*cmode_handler_service) ();
};
extern char *make_nick_user_host(char *, char *, char *);
extern void send_mode_burst(aClient *, aChannel *, char);
extern void remove_matching_nuhs(aChannel *, aClient *, aClient *, dlink_list *, char);
extern void remove_nuh_list(aClient *, aChannel *, dlink_list *, char);
extern void send_nuh_list(aClient *, aChannel *, dlink_list *, char, char *, char *);
extern aNUH *nick_is_nuhed(aChannel *, char *, aClient *, dlink_list *);
extern aNUH *is_nuhed(aClient *, dlink_list *);
extern int add_id(aClient *, aChannel *, char *, int, dlink_list *);
extern int del_id(char *, dlink_list *);
extern void link_add_server_to_channel(aClient *cptr, aChannel *chptr);
extern void link_remove_users_from_channel(aChannel *chptr);
extern void link_set_modes_in_channel(aChannel *chptr);
extern int find_cmode(int , unsigned char *, int);
#ifdef CMODE_MODULAR
#ifndef STATIC_MODULES
#include "cmodetab.h"
#else
extern struct ChanMode modetab[];
#endif
#endif
#endif
syntax highlighted by Code2HTML, v. 0.9.1