1 /************************************************************************
2  *   Unreal Internet Relay Chat Daemon, include/proto.h
3  *      (C) Dominick Meglio <codemastr@unrealircd.com> 2000
4  *
5  *   See file AUTHORS in IRC package for additional names of
6  *   the programmers.
7  *
8  *   This program is free software; you can redistribute it and/or modify
9  *   it under the terms of the GNU General Public License as published by
10  *   the Free Software Foundation; either version 1, or (at your option)
11  *   any later version.
12  *
13  *   This program is distributed in the hope that it will be useful,
14  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
15  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  *   GNU General Public License for more details.
17  *
18  *   You should have received a copy of the GNU General Public License
19  *   along with this program; if not, write to the Free Software
20  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21  */
22 
23 #ifndef proto_h
24 #define proto_h
25 /* channel.c */
26 int  sendmodeto_one(aClient *cptr, char *from, char *name, char *mode, char *param, TS creationtime);
27 void make_cmodestr(void);
28 
29 /* lusers.c */
30 void init_ircstats(void);
31 
32 /* match.c */
33 char *collapse(char *pattern);
34 
35 /* scache.c */
36 void clear_scache_hash_table(void);
37 
38 /* send.c */
39 void sendto_one(aClient *, char *, ...) __attribute__((format(printf,2,3)));
40 void sendto_chanops_butone(aClient *one, aChannel *chptr, char *pattern, ...) __attribute__((format(printf,3,4)));
41 void sendto_realops(char *pattern, ...) __attribute__((format(printf,1,2)));
42 void sendto_serv_butone_token(aClient *one, char *prefix, char *command,
43                               char *token, char *pattern, ...) __attribute__((format(printf,5,6)));
44 void sendto_serv_butone_token_opt(aClient *one, int opt, char *prefix,
45                                   char *command, char *token, char *pattern, ...) __attribute__((format(printf,6,7)));
46 void sendto_channel_ntadmins(aClient *from, aChannel *chptr, char *pattern, ...) __attribute__((format(printf,3,4)));
47 
48 /* fdlist.c */
49 EVENT(lcf_check);
50 EVENT(htm_calc);
51 /* ircd.c */
52 EVENT(e_check_fdlists);
53 EVENT(garbage_collect);
54 EVENT(loop_event);
55 EVENT(deprecated_notice);
56 /* support.c */
57 char *my_itoa(int i);
58 
59 /* s_serv.c */
60 void load_tunefile(void);
61 extern EVENT(save_tunefile);
62 extern void read_motd(const char *filename, aMotdFile *motd);
63 
64 /* s_user.c */
65 int  check_for_target_limit(aClient *sptr, void *target, const char *name);
66 void make_umodestr(void);
67 
68 /* webtv.c */
69 int  is_halfop(aClient *cptr, aChannel *chptr);
70 int  is_chanprot(aClient *cptr, aChannel *chptr);
71 char *convert_time(time_t ltime);
72 char *get_mode_str(aClient *acptr);
73 
74 /* whowas.c */
75 void initwhowas(void);
76 #endif /* proto_h */
77