updates.
[silc.git] / apps / silcd / server.h
index 7df7c010e6fc15be36fe90ec36fc5aa7cfec4173..3a041fc63712446b7fefef3ef5bc7cb23d70b380 100644 (file)
@@ -4,7 +4,7 @@
 
   Author: Pekka Riikonen <priikone@poseidon.pspt.fi>
 
-  Copyright (C) 1997 - 2000 Pekka Riikonen
+  Copyright (C) 1997 - 2001 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
@@ -55,10 +55,12 @@ typedef struct {
   unsigned long retry_interval_min;
   unsigned long retry_interval_min_usec;
   unsigned long retry_interval_max;
-  unsigned int retry_keep_trying;
+  char retry_keep_trying;
 
   unsigned long protocol_timeout;
   unsigned long protocol_timeout_usec;
+
+  char require_reverse_mapping;
 } *SilcServerParams;
 
 /* Macros */
@@ -77,6 +79,7 @@ do {                                                                      \
 int silc_server_alloc(SilcServer *new_server);
 void silc_server_free(SilcServer server);
 int silc_server_init(SilcServer server);
+void silc_server_daemonise(SilcServer server);
 void silc_server_run(SilcServer server);
 void silc_server_stop(SilcServer server);
 void silc_server_packet_parse(SilcPacketParserContext *parser_context);
@@ -87,6 +90,10 @@ void silc_server_close_connection(SilcServer server,
                                  SilcSocketConnection sock);
 void silc_server_free_sock_user_data(SilcServer server, 
                                     SilcSocketConnection sock);
+int silc_server_channel_has_global(SilcChannelEntry channel);
+int silc_server_channel_has_local(SilcChannelEntry channel);
+int silc_server_remove_clients_by_server(SilcServer server, 
+                                        SilcServerEntry entry);
 void silc_server_remove_from_channels(SilcServer server, 
                                      SilcSocketConnection sock,
                                      SilcClientEntry client);
@@ -104,5 +111,13 @@ SilcChannelEntry silc_server_create_new_channel(SilcServer server,
                                                SilcServerID *router_id,
                                                char *cipher, 
                                                char *channel_name);
+void silc_server_create_channel_key(SilcServer server, 
+                                   SilcChannelEntry channel,
+                                   unsigned int key_len);
+SilcChannelEntry silc_server_save_channel_key(SilcServer server,
+                                             SilcBuffer key_payload,
+                                             SilcChannelEntry channel);
+void silc_server_perform_heartbeat(SilcSocketConnection sock,
+                                  void *hb_context);
 
 #endif