5 Author: Pekka Riikonen <priikone@silcnet.org>
7 Copyright (C) 1997 - 2004, 2007 Pekka Riikonen
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; version 2 of the License.
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.
25 SilcBool silc_server_packet_send(SilcServer server,
26 SilcPacketStream sock,
28 SilcPacketFlags flags,
31 SilcBool silc_server_packet_send_dest(SilcServer server,
32 SilcPacketStream sock,
34 SilcPacketFlags flags,
36 SilcIdType dst_id_type,
39 SilcBool silc_server_packet_send_srcdest(SilcServer server,
40 SilcPacketStream sock,
42 SilcPacketFlags flags,
44 SilcIdType src_id_type,
46 SilcIdType dst_id_type,
49 SilcBool silc_server_packet_broadcast(SilcServer server,
50 SilcPacketStream sock,
52 SilcBool silc_server_packet_route(SilcServer server,
53 SilcPacketStream sock,
55 void silc_server_packet_send_clients(SilcServer server,
56 SilcHashTable clients,
58 SilcPacketFlags flags,
62 void silc_server_packet_send_to_channel(SilcServer server,
63 SilcPacketStream sender,
64 SilcChannelEntry channel,
67 SilcBool send_to_clients,
70 void silc_server_packet_relay_to_channel(SilcServer server,
71 SilcPacketStream sender_sock,
72 SilcChannelEntry channel,
74 SilcIdType sender_type,
75 SilcClientEntry sender_entry,
78 void silc_server_packet_send_local_channel(SilcServer server,
79 SilcChannelEntry channel,
81 SilcPacketFlags flags,
84 void silc_server_send_motd(SilcServer server,
85 SilcPacketStream sock);
86 void silc_server_send_error(SilcServer server,
87 SilcPacketStream sock,
88 const char *fmt, ...);
89 void silc_server_send_notify(SilcServer server,
90 SilcPacketStream sock,
93 SilcUInt32 argc, ...);
94 void silc_server_send_notify_args(SilcServer server,
95 SilcPacketStream sock,
100 void silc_server_send_notify_channel_change(SilcServer server,
101 SilcPacketStream sock,
103 SilcChannelID *old_id,
104 SilcChannelID *new_id);
105 void silc_server_send_notify_nick_change(SilcServer server,
106 SilcPacketStream sock,
108 SilcClientID *old_id,
109 SilcClientID *new_id,
110 const char *nickname);
111 void silc_server_send_notify_join(SilcServer server,
112 SilcPacketStream sock,
114 SilcChannelEntry channel,
115 SilcClientID *client_id);
116 void silc_server_send_notify_leave(SilcServer server,
117 SilcPacketStream sock,
119 SilcChannelEntry channel,
120 SilcClientID *client_id);
121 void silc_server_send_notify_cmode(SilcServer server,
122 SilcPacketStream sock,
124 SilcChannelEntry channel,
125 SilcUInt32 mode_mask,
126 void *id, SilcIdType id_type,
127 const char *cipher, const char *hmac,
128 const char *passphrase,
129 SilcPublicKey founder_key,
130 SilcBuffer channel_pubkeys);
131 void silc_server_send_notify_cumode(SilcServer server,
132 SilcPacketStream sock,
134 SilcChannelEntry channel,
135 SilcUInt32 mode_mask,
136 void *id, SilcIdType id_type,
137 SilcClientID *target,
138 SilcPublicKey founder_key);
139 void silc_server_send_notify_signoff(SilcServer server,
140 SilcPacketStream sock,
142 SilcClientID *client_id,
143 const char *message);
144 void silc_server_send_notify_topic_set(SilcServer server,
145 SilcPacketStream sock,
147 SilcChannelEntry channel,
148 void *id, SilcIdType id_type,
150 void silc_server_send_notify_kicked(SilcServer server,
151 SilcPacketStream sock,
153 SilcChannelEntry channel,
154 SilcClientID *client_id,
155 SilcClientID *kicker,
157 void silc_server_send_notify_killed(SilcServer server,
158 SilcPacketStream sock,
160 SilcClientID *client_id,
162 void *killer, SilcIdType killer_type);
163 void silc_server_send_notify_umode(SilcServer server,
164 SilcPacketStream sock,
166 SilcClientID *client_id,
167 SilcUInt32 mode_mask);
168 void silc_server_send_notify_ban(SilcServer server,
169 SilcPacketStream sock,
171 SilcChannelEntry channel,
172 unsigned char *action,
174 void silc_server_send_notify_invite(SilcServer server,
175 SilcPacketStream sock,
177 SilcChannelEntry channel,
178 SilcClientID *client_id,
179 unsigned char *action,
181 void silc_server_send_notify_watch(SilcServer server,
182 SilcPacketStream sock,
183 SilcClientEntry watcher,
184 SilcClientEntry client,
185 const char *nickname,
187 SilcPublicKey public_key);
188 void silc_server_send_notify_dest(SilcServer server,
189 SilcPacketStream sock,
192 SilcIdType dest_id_type,
194 SilcUInt32 argc, ...);
195 void silc_server_send_notify_to_channel(SilcServer server,
196 SilcPacketStream sender,
197 SilcChannelEntry channel,
198 SilcBool route_notify,
199 SilcBool send_to_clients,
201 SilcUInt32 argc, ...);
202 void silc_server_send_notify_on_channels(SilcServer server,
203 SilcClientEntry sender,
204 SilcClientEntry client,
206 SilcUInt32 argc, ...);
207 void silc_server_send_new_id(SilcServer server,
208 SilcPacketStream sock,
210 void *id, SilcIdType id_type,
212 void silc_server_send_new_channel(SilcServer server,
213 SilcPacketStream sock,
217 SilcUInt32 channel_id_len,
219 void silc_server_send_channel_key(SilcServer server,
220 SilcPacketStream sender,
221 SilcChannelEntry channel,
222 unsigned char route);
223 void silc_server_send_command(SilcServer server,
224 SilcPacketStream sock,
227 SilcUInt32 argc, ...);
228 void silc_server_send_command_reply(SilcServer server,
229 SilcPacketStream sock,
234 SilcUInt32 argc, ...);
235 void silc_server_send_dest_command_reply(SilcServer server,
236 SilcPacketStream sock,
238 SilcIdType dst_id_type,
243 SilcUInt32 argc, ...);
244 void silc_server_relay_packet(SilcServer server,
245 SilcPacketStream dst_sock,
250 void silc_server_send_connection_auth_request(SilcServer server,
251 SilcPacketStream sock,
252 SilcUInt16 conn_type,
253 SilcAuthMethod auth_meth);
254 void silc_server_send_opers(SilcServer server,
256 SilcPacketFlags flags,
257 SilcBool route, bool local,
259 SilcUInt32 data_len);
260 void silc_server_send_opers_notify(SilcServer server,
264 SilcUInt32 argc, ...);
266 #endif /* PACKET_SEND_H */