Merged silc_1_0_branch to trunk.
[silc.git] / apps / silcd / server.h
index f7520b79543946e9e89014e6261d0f517d962a5f..55e5f1fc0f0e6e708d08b1c97f4a3faaaf9b7c78 100644 (file)
@@ -4,12 +4,11 @@
 
   Author: Pekka Riikonen <priikone@silcnet.org>
 
-  Copyright (C) 1997 - 2002 Pekka Riikonen
+  Copyright (C) 1997 - 2005 Pekka Riikonen
 
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
-  the Free Software Foundation; either version 2 of the License, or
-  (at your option) any later version.
+  the Free Software Foundation; version 2 of the License.
 
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -120,9 +119,16 @@ do {                                                                       \
   (sock->protocol && sock->protocol->protocol &&                       \
    sock->protocol->protocol->type == SILC_PROTOCOL_SERVER_BACKUP)
 
-/* Output an error message wether to stderr or LOG_ERROR if we are in the
-   background. */
-#define SILC_SERVER_LOG_ERROR(fmt) silc_server_stderr(silc_format fmt)
+/* Output a message to stderr or to the appropriate log facility wether
+   we are in the background or not. */
+#define SILC_SERVER_LOG_INFO(fmt)                                      \
+  silc_server_stderr(SILC_LOG_INFO, silc_format fmt)
+#define SILC_SERVER_LOG_WARNING(fmt)                                   \
+  silc_server_stderr(SILC_LOG_WARNING, silc_format fmt)
+#define SILC_SERVER_LOG_ERROR(fmt)                                     \
+  silc_server_stderr(SILC_LOG_ERROR, silc_format fmt)
+#define SILC_SERVER_LOG_FATAL(fmt)                                     \
+  silc_server_stderr(SILC_LOG_WARNING, silc_format fmt)
 
 /* Prototypes */
 int silc_server_alloc(SilcServer *new_server);
@@ -156,7 +162,7 @@ void silc_server_remove_from_channels(SilcServer server,
                                      SilcClientEntry client,
                                      bool notify,
                                      const char *signoff_message,
-                                     bool keygen);
+                                     bool keygen, bool killed);
 bool silc_server_remove_from_one_channel(SilcServer server,
                                         SilcSocketConnection sock,
                                         SilcChannelEntry channel,
@@ -202,6 +208,8 @@ void silc_server_announce_get_channels(SilcServer server,
                                       SilcBuffer **channel_users_modes,
                                       SilcUInt32 *channel_users_modes_c,
                                       SilcBuffer **channel_topics,
+                                      SilcBuffer **channel_invites,
+                                      SilcBuffer **channel_bans,
                                       SilcChannelID ***channel_ids,
                                       unsigned long creation_time);
 void silc_server_announce_servers(SilcServer server, bool global,
@@ -213,6 +221,8 @@ void silc_server_announce_clients(SilcServer server,
 void silc_server_announce_channels(SilcServer server,
                                   unsigned long creation_time,
                                   SilcSocketConnection remote);
+void silc_server_announce_watches(SilcServer server,
+                                 SilcSocketConnection remote);
 bool silc_server_get_users_on_channel(SilcServer server,
                                      SilcChannelEntry channel,
                                      SilcBuffer *user_list,
@@ -242,6 +252,6 @@ SilcBuffer silc_server_get_client_channel_list(SilcServer server,
                                               bool get_private,
                                               bool get_secret,
                                               SilcBuffer *user_mode_list);
-void silc_server_stderr(char *message);
+void silc_server_stderr(SilcLogType type, char *message);
 
 #endif