Watcher list support added.
[silc.git] / apps / silcd / server_util.h
index 1545c1fd72053cdc88080114a4fa76326ec02340..6b421f238d0e86b3f1c8a9f477981a62b4c99eb3 100644 (file)
@@ -134,4 +134,32 @@ bool silc_server_check_umode_rights(SilcServer server,
                                    SilcClientEntry client,
                                    SilcUInt32 mode);
 
+/* This function is used to send the notify packets and motd to the
+   incoming client connection. */
+void silc_server_send_connect_notifys(SilcServer server,
+                                     SilcSocketConnection sock,
+                                     SilcClientEntry client);
+
+/* Kill the client indicated by `remote_client' sending KILLED notify
+   to the client, to all channels client has joined and to primary
+   router if needed.  The killed client is also removed from all channels. */
+void silc_server_kill_client(SilcServer server,
+                            SilcClientEntry remote_client,
+                            const char *comment,
+                            void *killer_id,
+                            SilcIdType killer_id_type);
+
+/* This function checks whether the `client' nickname is being watched
+   by someone, and notifies the watcher of the notify change of notify
+   type indicated by `notify'. */
+bool silc_server_check_watcher_list(SilcServer server,
+                                   SilcClientEntry client,
+                                   const char *new_nick,
+                                   SilcNotifyType notify);
+
+/* Remove the `client' from watcher list. After calling this the `client'
+   is not watching any nicknames. */
+bool silc_server_del_from_watcher_list(SilcServer server,
+                                      SilcClientEntry client);
+
 #endif /* SERVER_UTIL_H */