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,
34 unsigned int data_len,
36 void silc_server_packet_send_dest(SilcServer server,
37 SilcSocketConnection sock,
39 SilcPacketFlags flags,
41 SilcIdType dst_id_type,
43 unsigned int data_len,
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,
54 unsigned int data_len,
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,
68 unsigned int data_len,
70 void silc_server_packet_relay_to_channel(SilcServer server,
71 SilcSocketConnection sender_sock,
72 SilcChannelEntry channel,
74 SilcIdType sender_type,
76 unsigned int data_len,
78 void silc_server_packet_send_local_channel(SilcServer server,
79 SilcChannelEntry channel,
81 SilcPacketFlags flags,
83 unsigned int data_len,
85 void silc_server_send_private_message(SilcServer server,
86 SilcSocketConnection dst_sock,
89 SilcPacketContext *packet);
90 void silc_server_send_motd(SilcServer server,
91 SilcSocketConnection sock);
92 void silc_server_send_error(SilcServer server,
93 SilcSocketConnection sock,
94 const char *fmt, ...);
95 void silc_server_send_notify(SilcServer server,
96 SilcSocketConnection sock,
99 unsigned int argc, ...);
100 void silc_server_send_notify_args(SilcServer server,
101 SilcSocketConnection sock,
106 void silc_server_send_notify_channel_change(SilcServer server,
107 SilcSocketConnection sock,
109 SilcChannelID *old_id,
110 SilcChannelID *new_id,
111 unsigned int id_len);
112 void silc_server_send_notify_nick_change(SilcServer server,
113 SilcSocketConnection sock,
115 SilcClientID *old_id,
116 SilcClientID *new_id,
117 unsigned int id_len);
118 void silc_server_send_notify_join(SilcServer server,
119 SilcSocketConnection sock,
121 SilcChannelEntry channel,
122 SilcClientID *client_id,
123 unsigned int client_id_len);
124 void silc_server_send_notify_leave(SilcServer server,
125 SilcSocketConnection sock,
127 SilcChannelEntry channel,
128 SilcClientID *client_id,
129 unsigned int client_id_len);
130 void silc_server_send_notify_cmode(SilcServer server,
131 SilcSocketConnection sock,
133 SilcChannelEntry channel,
134 unsigned int mode_mask,
135 void *id, SilcIdType id_type,
137 char *cipher, char *hmac);
138 void silc_server_send_notify_cumode(SilcServer server,
139 SilcSocketConnection sock,
141 SilcChannelEntry channel,
142 unsigned int mode_mask,
143 SilcClientID *client_id,
144 unsigned int client_id_len,
145 SilcClientID *target,
146 unsigned int target_len);
147 void silc_server_send_notify_signoff(SilcServer server,
148 SilcSocketConnection sock,
150 SilcClientID *client_id,
151 unsigned int client_id_len,
153 void silc_server_send_notify_topic_set(SilcServer server,
154 SilcSocketConnection sock,
156 SilcChannelEntry channel,
157 SilcClientID *client_id,
158 unsigned int client_id_len,
160 void silc_server_send_notify_kicked(SilcServer server,
161 SilcSocketConnection sock,
163 SilcChannelEntry channel,
164 SilcClientID *client_id,
165 unsigned int client_id_len,
167 void silc_server_send_notify_killed(SilcServer server,
168 SilcSocketConnection sock,
170 SilcClientID *client_id,
171 unsigned int client_id_len,
173 void silc_server_send_notify_umode(SilcServer server,
174 SilcSocketConnection sock,
176 SilcClientID *client_id,
177 unsigned int client_id_len,
178 unsigned int mode_mask);
179 void silc_server_send_notify_ban(SilcServer server,
180 SilcSocketConnection sock,
182 SilcChannelEntry channel,
183 char *add, char *del);
184 void silc_server_send_notify_invite(SilcServer server,
185 SilcSocketConnection sock,
187 SilcChannelEntry channel,
188 SilcClientID *client_id,
189 unsigned int client_id_len,
190 char *add, char *del);
191 void silc_server_send_notify_dest(SilcServer server,
192 SilcSocketConnection sock,
195 SilcIdType dest_id_type,
197 unsigned int argc, ...);
198 void silc_server_send_notify_to_channel(SilcServer server,
199 SilcSocketConnection sender,
200 SilcChannelEntry channel,
201 unsigned char route_notify,
203 unsigned int argc, ...);
204 void silc_server_send_notify_on_channels(SilcServer server,
205 SilcClientEntry sender,
206 SilcClientEntry client,
208 unsigned int argc, ...);
209 void silc_server_send_new_id(SilcServer server,
210 SilcSocketConnection sock,
212 void *id, SilcIdType id_type,
213 unsigned int id_len);
214 void silc_server_send_new_channel(SilcServer server,
215 SilcSocketConnection sock,
219 unsigned int channel_id_len,
221 void silc_server_send_channel_key(SilcServer server,
222 SilcSocketConnection sender,
223 SilcChannelEntry channel,
224 unsigned char route);
225 void silc_server_send_command(SilcServer server,
226 SilcSocketConnection sock,
228 unsigned int argc, ...);
229 void silc_server_send_heartbeat(SilcServer server,
230 SilcSocketConnection sock);
231 void silc_server_relay_packet(SilcServer server,
232 SilcSocketConnection dst_sock,
235 SilcPacketContext *packet,
237 void silc_server_send_connection_auth_request(SilcServer server,
238 SilcSocketConnection sock,
239 unsigned short conn_type,
240 SilcAuthMethod auth_meth);