5 Author: Pekka Riikonen <priikone@poseidon.pspt.fi>
7 Copyright (C) 1997 - 2001 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; either version 2 of the License, or
12 (at your option) any later version.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
26 int silc_server_packet_send_real(SilcServer server,
27 SilcSocketConnection sock,
29 void silc_server_packet_send(SilcServer server,
30 SilcSocketConnection sock,
32 SilcPacketFlags flags,
36 void silc_server_packet_send_dest(SilcServer server,
37 SilcSocketConnection sock,
39 SilcPacketFlags flags,
41 SilcIdType dst_id_type,
45 void silc_server_packet_send_srcdest(SilcServer server,
46 SilcSocketConnection sock,
48 SilcPacketFlags flags,
50 SilcIdType src_id_type,
52 SilcIdType dst_id_type,
56 void silc_server_packet_broadcast(SilcServer server,
57 SilcSocketConnection sock,
58 SilcPacketContext *packet);
59 void silc_server_packet_route(SilcServer server,
60 SilcSocketConnection sock,
61 SilcPacketContext *packet);
62 void silc_server_packet_send_clients(SilcServer server,
63 SilcClientEntry *clients,
66 SilcPacketFlags flags,
71 void silc_server_packet_send_to_channel(SilcServer server,
72 SilcSocketConnection sender,
73 SilcChannelEntry channel,
79 void silc_server_packet_relay_to_channel(SilcServer server,
80 SilcSocketConnection sender_sock,
81 SilcChannelEntry channel,
83 SilcIdType sender_type,
88 void silc_server_packet_send_local_channel(SilcServer server,
89 SilcChannelEntry channel,
91 SilcPacketFlags flags,
95 void silc_server_send_private_message(SilcServer server,
96 SilcSocketConnection dst_sock,
100 SilcPacketContext *packet);
101 void silc_server_send_motd(SilcServer server,
102 SilcSocketConnection sock);
103 void silc_server_send_error(SilcServer server,
104 SilcSocketConnection sock,
105 const char *fmt, ...);
106 void silc_server_send_notify(SilcServer server,
107 SilcSocketConnection sock,
111 void silc_server_send_notify_args(SilcServer server,
112 SilcSocketConnection sock,
117 void silc_server_send_notify_channel_change(SilcServer server,
118 SilcSocketConnection sock,
120 SilcChannelID *old_id,
121 SilcChannelID *new_id);
122 void silc_server_send_notify_nick_change(SilcServer server,
123 SilcSocketConnection sock,
125 SilcClientID *old_id,
126 SilcClientID *new_id);
127 void silc_server_send_notify_join(SilcServer server,
128 SilcSocketConnection sock,
130 SilcChannelEntry channel,
131 SilcClientID *client_id);
132 void silc_server_send_notify_leave(SilcServer server,
133 SilcSocketConnection sock,
135 SilcChannelEntry channel,
136 SilcClientID *client_id);
137 void silc_server_send_notify_cmode(SilcServer server,
138 SilcSocketConnection sock,
140 SilcChannelEntry channel,
142 void *id, SilcIdType id_type,
143 char *cipher, char *hmac);
144 void silc_server_send_notify_cumode(SilcServer server,
145 SilcSocketConnection sock,
147 SilcChannelEntry channel,
149 void *id, SilcIdType id_type,
150 SilcClientID *target);
151 void silc_server_send_notify_signoff(SilcServer server,
152 SilcSocketConnection sock,
154 SilcClientID *client_id,
156 void silc_server_send_notify_topic_set(SilcServer server,
157 SilcSocketConnection sock,
159 SilcChannelEntry channel,
160 SilcClientID *client_id,
162 void silc_server_send_notify_kicked(SilcServer server,
163 SilcSocketConnection sock,
165 SilcChannelEntry channel,
166 SilcClientID *client_id,
168 void silc_server_send_notify_killed(SilcServer server,
169 SilcSocketConnection sock,
171 SilcClientID *client_id,
173 void silc_server_send_notify_umode(SilcServer server,
174 SilcSocketConnection sock,
176 SilcClientID *client_id,
178 void silc_server_send_notify_ban(SilcServer server,
179 SilcSocketConnection sock,
181 SilcChannelEntry channel,
182 char *add, char *del);
183 void silc_server_send_notify_invite(SilcServer server,
184 SilcSocketConnection sock,
186 SilcChannelEntry channel,
187 SilcClientID *client_id,
188 char *add, char *del);
189 void silc_server_send_notify_dest(SilcServer server,
190 SilcSocketConnection sock,
193 SilcIdType dest_id_type,
196 void silc_server_send_notify_to_channel(SilcServer server,
197 SilcSocketConnection sender,
198 SilcChannelEntry channel,
199 unsigned char route_notify,
202 void silc_server_send_notify_on_channels(SilcServer server,
203 SilcClientEntry sender,
204 SilcClientEntry client,
207 void silc_server_send_new_id(SilcServer server,
208 SilcSocketConnection sock,
210 void *id, SilcIdType id_type,
212 void silc_server_send_new_channel(SilcServer server,
213 SilcSocketConnection sock,
217 uint32 channel_id_len,
219 void silc_server_send_channel_key(SilcServer server,
220 SilcSocketConnection sender,
221 SilcChannelEntry channel,
222 unsigned char route);
223 void silc_server_send_command(SilcServer server,
224 SilcSocketConnection sock,
228 void silc_server_send_heartbeat(SilcServer server,
229 SilcSocketConnection sock);
230 void silc_server_relay_packet(SilcServer server,
231 SilcSocketConnection dst_sock,
235 SilcPacketContext *packet,
237 void silc_server_send_connection_auth_request(SilcServer server,
238 SilcSocketConnection sock,
240 SilcAuthMethod auth_meth);
241 void silc_server_packet_queue_purge(SilcServer server,
242 SilcSocketConnection sock);