ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid-7.2/include/send.h
Revision: 885
Committed: Wed Oct 31 18:09:24 2007 UTC (17 years, 9 months ago) by michael
Content type: text/x-chdr
File size: 4164 byte(s)
Log Message:
- Removed LazyLinks in 7.2 to stop people from asking why we keep
  broken code for half a decade. LL will be implemented in a smarter
  fashion in due time

File Contents

# Content
1 /*
2 * ircd-hybrid: an advanced Internet Relay Chat Daemon(ircd).
3 * send.h: A header for the message sending functions.
4 *
5 * Copyright (C) 2002 by the past and present ircd coders, and others.
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20 * USA
21 *
22 * $Id$
23 */
24
25 #ifndef INCLUDED_send_h
26 #define INCLUDED_send_h
27
28 #include "fdlist.h"
29
30 /* For those unfamiliar with GNU format attributes, a is the 1 based
31 * argument number of the format string, and b is the 1 based argument
32 * number of the variadic ... */
33 #if 0 /* __GNUC__ */
34 #define AFP(a,b) __attribute__((format (printf, a, b)))
35 #else
36 #define AFP(a,b)
37 #endif
38
39 /*
40 * struct decls
41 */
42 struct Callback;
43 struct Channel;
44 struct Client;
45 struct dlink_list;
46
47 extern void *iosend_default(va_list);
48 extern struct Callback *iosend_cb;
49 extern struct Callback *iosendctrl_cb;
50
51 /* send.c prototypes */
52
53 extern void sendq_unblocked(fde_t *, struct Client *);
54 extern void send_queued_write(struct Client *);
55 extern void send_queued_slink_write(struct Client *);
56 extern void send_queued_all(void);
57 extern void sendto_one(struct Client *, const char *, ...) AFP(2, 3);
58 extern void sendto_channel_butone(struct Client *, struct Client *,
59 struct Channel *, const char *,
60 const char *, ...) AFP(5, 6);
61 extern void sendto_common_channels_local(struct Client *, int,
62 const char *, ...) AFP(3, 4);
63 extern void sendto_channel_local(int, int, struct Channel *,
64 const char *, ...) AFP(4, 5);
65 extern void sendto_channel_local_butone(struct Client *, int, struct Channel *,
66 const char *, ...) AFP(4, 5);
67 extern void sendto_channel_remote(struct Client *, struct Client *, int,
68 int, int, struct Channel *,
69 const char *, ...) AFP(7, 8);
70 extern void sendto_server(struct Client *,
71 struct Channel *, unsigned long,
72 unsigned long,
73 const char *, ...) AFP(5, 6);
74 extern void sendto_match_butone(struct Client *, struct Client *,
75 char *, int, const char *, ...) AFP(5, 6);
76 extern void sendto_match_servs(struct Client *, const char *, int,
77 const char *, ...) AFP(4, 5);
78 extern void sendto_realops_flags(unsigned int, int,
79 const char *, ...) AFP(3, 4);
80 extern void sendto_wallops_flags(unsigned int, struct Client *,
81 const char *, ...) AFP(3, 4);
82 extern void ts_warn(const char *, ...) AFP(1, 2);
83
84 extern void sendto_anywhere(struct Client *, struct Client *,
85 const char *, ...) AFP(3, 4);
86 extern void kill_client(struct Client *, struct Client *,
87 const char *, ... ) AFP(3, 4);
88 extern void kill_client_ll_serv_butone(struct Client *, struct Client *,
89 const char *, ...) AFP(3, 4);
90
91
92 #define ALL_MEMBERS 0
93 #define NON_CHANOPS 1
94 #define ONLY_CHANOPS_VOICED 2
95 #define ONLY_CHANOPS 3
96 #define ONLY_SERVERS 4 /* for channel_mode.c */
97
98 #define L_ALL 0
99 #define L_OPER 1
100 #define L_ADMIN 2
101
102 #define NOCAPS 0 /* no caps */
103 #define NOFLAGS 0 /* no flags */
104
105 /* used when sending to #mask or $mask */
106 #define MATCH_SERVER 1
107 #define MATCH_HOST 2
108
109 #endif /* INCLUDED_send_h */

Properties

Name Value
svn:eol-style native
svn:keywords Id Revision