server.h
- Author: Pekka Riikonen <priikone@poseidon.pspt.fi>
+ Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 1997 - 2001 Pekka Riikonen
+ Copyright (C) 1997 - 2002 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
#define SILC_SERVER_CONNAUTH_TIMEOUT 60 /* CONN_AUTH timeout */
#define SILC_SERVER_MAX_CONNECTIONS 1000 /* Max connections */
#define SILC_SERVER_MAX_CONNECTIONS_SINGLE 1000 /* Max connections per host */
+#define SILC_SERVER_LOG_FLUSH_DELAY 300 /* Default log flush delay */
/* Macros */
background. */
#define SILC_SERVER_LOG_ERROR(fmt) silc_server_stderr(silc_format fmt)
-
-
/* Prototypes */
int silc_server_alloc(SilcServer *new_server);
void silc_server_free(SilcServer server);
bool silc_server_init(SilcServer server);
bool silc_server_rehash(SilcServer server);
-void silc_server_drop(SilcServer server);
-void silc_server_daemonise(SilcServer server);
void silc_server_run(SilcServer server);
void silc_server_stop(SilcServer server);
-void silc_server_stderr(char *message);
void silc_server_start_key_exchange(SilcServer server,
SilcServerConnection sconn,
int sock);
int notify);
void silc_server_disconnect_remote(SilcServer server,
SilcSocketConnection sock,
- const char *fmt, ...);
+ SilcStatus status, ...);
SilcChannelEntry silc_server_create_new_channel(SilcServer server,
SilcServerID *router_id,
char *cipher,
SilcBuffer user_list,
SilcBuffer mode_list,
SilcUInt32 user_count);
-SilcSocketConnection silc_server_get_client_route(SilcServer server,
- unsigned char *id_data,
- SilcUInt32 id_len,
- SilcClientID *client_id,
- SilcIDListData *idata);
+void silc_server_save_user_channels(SilcServer server,
+ SilcSocketConnection sock,
+ SilcClientEntry client,
+ SilcBuffer channels,
+ SilcBuffer channels_user_modes);
+SilcSocketConnection
+silc_server_get_client_route(SilcServer server,
+ unsigned char *id_data,
+ SilcUInt32 id_len,
+ SilcClientID *client_id,
+ SilcIDListData *idata,
+ SilcClientEntry *client_entry);
SilcBuffer silc_server_get_client_channel_list(SilcServer server,
- SilcClientEntry client);
+ SilcClientEntry client,
+ bool get_private,
+ bool get_secret,
+ SilcBuffer *user_mode_list);
SilcClientEntry silc_server_get_client_resolve(SilcServer server,
SilcClientID *client_id,
+ bool always_resolve,
bool *resolved);
+void silc_server_stderr(char *message);
#endif