+++ /dev/null
-/*
-
- silcserver.h
-
- Author: Pekka Riikonen <priikone@silcnet.org>
-
- 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; 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
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
-*/
-
-/****h* silcserver/Server Library Interface
- *
- * DESCRIPTION
- *
- *
- ***/
-
-#ifndef SILCSERVER_H
-#define SILCSERVER_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "silcserver_params.h"
-
-/****s* silcserver/SilcServerAPI/SilcServer
- *
- * NAME
- *
- * typedef struct SilcServerStruct *SilcServer;
- *
- * DESCRIPTION
- *
- * This context is the actual SILC Server context and is allocated
- * by silc_server_alloc and given as argument to all silc_server_*
- * functions. It is freed by the silc_server_free function.
- *
- ***/
-typedef struct SilcServerStruct *SilcServer;
-
-/****f* silcserver/SilcServerAPI/SilcServerRunning
- *
- * SYNOPSIS
- *
- * typedef void (*SilcServerRunning)(SilcServer server, SilcBool running,
- * void *context);
- *
- * DESCRIPTION
- *
- * Called to indicate that the server is up and running and ready to
- * accept new connection and create connections to remote router, if
- * any has been configured.
- *
- ***/
-typedef void (*SilcServerRunning)(SilcServer server, void *context);
-
-/****f* silcserver/SilcServerAPI/SilcServerStop
- *
- * SYNOPSIS
- *
- * typedef void (*SilcServerStop)(SilcServer server, void *context);
- *
- * DESCRIPTION
- *
- * Called to indicate that the server has stopped and can be freed now.
- *
- ***/
-typedef void (*SilcServerStop)(SilcServer server, void *context);
-
-/****f* silcserver/SilcServerAPI/silc_server_alloc
- *
- * SYNOPSIS
- *
- * SilcServer silc_server_alloc(void *app_context, SilcServerParams params,
- * SilcSchedule schedule);
- *
- * DESCRIPTION
- *
- * Allocates SILC server context and returns it. Returns NULL if case
- * of error. The `app_context' is application specific context and
- * can be retrieved from the server by using silc_server_get_context
- * function. The `params' context contains the SILC server parameters
- * that application has gathered most likely from a configuration file
- * or similar source. The `params' and everything inside are allocated
- * by the caller, but the server library will own it and free it. It
- * may also modify its content.
- *
- ***/
-SilcServer silc_server_alloc(void *app_context, SilcServerParams params,
- SilcSchedule schedule);
-
-/****f* silcserver/SilcServerAPI/silc_server_free
- *
- * SYNOPSIS
- *
- * void silc_server_free(SilcServer server);
- *
- * DESCRIPTION
- *
- * Free the server context and all allocated resources.
- *
- ***/
-void silc_server_free(SilcServer server);
-
-/****f* silcserver/SilcServerAPI/silc_server_run
- *
- * SYNOPSIS
- *
- * void silc_server_run(SilcServer server, SilcServerRunning running,
- * void *running_context);
- *
- * DESCRIPTION
- *
- * Starts the SILC server. This function returns immediately and the
- * SilcSchedule must be run after this functions returns or it must be
- * already running when this function is called. The `running' callback
- * will be called once the server is up and running.
- *
- ***/
-void silc_server_run(SilcServer server, SilcServerRunning running,
- void *running_context);
-
-/****f* silcserver/SilcServerAPI/silc_server_run
- *
- * SYNOPSIS
- *
- * void silc_server_stop(SilcServer server, SilcServerStop stop_callback,
- * void *stop_context);
- *
- * DESCRIPTION
- *
- * Stops the SILC server. Stopping of the server is asynchronous and
- * once it has stopped the `stopped' callback will be called with the
- * `stop_context'. Application should not exit without calling this
- * function.
- *
- ***/
-void silc_server_stop(SilcServer server, SilcServerStop stopped,
- void *stop_context);
-
-#include "server_internal.h"
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* SILCSERVER_H */