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_to_channel(SilcServer server,
63 SilcSocketConnection sender,
64 SilcChannelEntry channel,
70 void silc_server_packet_relay_to_channel(SilcServer server,
71 SilcSocketConnection sender_sock,
72 SilcChannelEntry channel,
74 SilcIdType sender_type,
79 void silc_server_packet_send_local_channel(SilcServer server,
80 SilcChannelEntry channel,
82 SilcPacketFlags flags,
86 void silc_server_send_private_message(SilcServer server,
87 SilcSocketConnection dst_sock,
91 SilcPacketContext *packet);
92 void silc_server_send_motd(SilcServer server,
93 SilcSocketConnection sock);
94 void silc_server_send_error(SilcServer server,
95 SilcSocketConnection sock,
96 const char *fmt, ...);
97 void silc_server_send_notify(SilcServer server,
98 SilcSocketConnection sock,
102 void silc_server_send_notify_args(SilcServer server,
103 SilcSocketConnection sock,
108 void silc_server_send_notify_channel_change(SilcServer server,
109 SilcSocketConnection sock,
111 SilcChannelID *old_id,
112 SilcChannelID *new_id);
113 void silc_server_send_notify_nick_change(SilcServer server,
114 SilcSocketConnection sock,
116 SilcClientID *old_id,
117 SilcClientID *new_id);
118 void silc_server_send_notify_join(SilcServer server,
119 SilcSocketConnection sock,
121 SilcChannelEntry channel,
122 SilcClientID *client_id);
123 void silc_server_send_notify_leave(SilcServer server,
124 SilcSocketConnection sock,
126 SilcChannelEntry channel,
127 SilcClientID *client_id);
128 void silc_server_send_notify_cmode(SilcServer server,
129 SilcSocketConnection sock,
131 SilcChannelEntry channel,
133 void *id, SilcIdType id_type,
134 char *cipher, char *hmac);
135 void silc_server_send_notify_cumode(SilcServer server,
136 SilcSocketConnection sock,
138 SilcChannelEntry channel,
140 void *id, SilcIdType id_type,
141 SilcClientID *target);
142 void silc_server_send_notify_signoff(SilcServer server,
143 SilcSocketConnection sock,
145 SilcClientID *client_id,
147 void silc_server_send_notify_topic_set(SilcServer server,
148 SilcSocketConnection sock,
150 SilcChannelEntry channel,
151 SilcClientID *client_id,
153 void silc_server_send_notify_kicked(SilcServer server,
154 SilcSocketConnection sock,
156 SilcChannelEntry channel,
157 SilcClientID *client_id,
159 void silc_server_send_notify_killed(SilcServer server,
160 SilcSocketConnection sock,
162 SilcClientID *client_id,
164 void silc_server_send_notify_umode(SilcServer server,
165 SilcSocketConnection sock,
167 SilcClientID *client_id,
169 void silc_server_send_notify_ban(SilcServer server,
170 SilcSocketConnection sock,
172 SilcChannelEntry channel,
173 char *add, char *del);
174 void silc_server_send_notify_invite(SilcServer server,
175 SilcSocketConnection sock,
177 SilcChannelEntry channel,
178 SilcClientID *client_id,
179 char *add, char *del);
180 void silc_server_send_notify_dest(SilcServer server,
181 SilcSocketConnection sock,
184 SilcIdType dest_id_type,
187 void silc_server_send_notify_to_channel(SilcServer server,
188 SilcSocketConnection sender,
189 SilcChannelEntry channel,
190 unsigned char route_notify,
193 void silc_server_send_notify_on_channels(SilcServer server,
194 SilcClientEntry sender,
195 SilcClientEntry client,
198 void silc_server_send_new_id(SilcServer server,
199 SilcSocketConnection sock,
201 void *id, SilcIdType id_type,
203 void silc_server_send_new_channel(SilcServer server,
204 SilcSocketConnection sock,
208 uint32 channel_id_len,
210 void silc_server_send_channel_key(SilcServer server,
211 SilcSocketConnection sender,
212 SilcChannelEntry channel,
213 unsigned char route);
214 void silc_server_send_command(SilcServer server,
215 SilcSocketConnection sock,
219 void silc_server_send_heartbeat(SilcServer server,
220 SilcSocketConnection sock);
221 void silc_server_relay_packet(SilcServer server,
222 SilcSocketConnection dst_sock,
226 SilcPacketContext *packet,
228 void silc_server_send_connection_auth_request(SilcServer server,
229 SilcSocketConnection sock,
231 SilcAuthMethod auth_meth);
232 void silc_server_packet_queue_purge(SilcServer server,
233 SilcSocketConnection sock);