From 0e96f7d8c3aefaa1717f4c30e66fdc459d3f2ecc Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Tue, 29 Nov 2005 10:25:07 +0000 Subject: - globals packed in a daemon --- Source/charon/daemon.h | 104 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 102 insertions(+), 2 deletions(-) (limited to 'Source/charon/daemon.h') diff --git a/Source/charon/daemon.h b/Source/charon/daemon.h index c7193bb94..872c7fa27 100644 --- a/Source/charon/daemon.h +++ b/Source/charon/daemon.h @@ -23,13 +23,113 @@ #ifndef DAEMON_H_ #define DAEMON_H_ -#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/** + * Name of the daemon + */ #define DAEMON_NAME "charon" +/** + * Number of threads in the thread pool + * + * There are several other threads, this defines + * only the number of threads in thread_pool_t. + */ #define NUMBER_OF_WORKING_THREADS 1 -#define IKEV2_UDP_PORT 4500 +/** + * Port on which the daemon will + * listen for incoming traffic + */ +#define IKEV2_UDP_PORT 500 +/** + * Default loglevel to use. This is the + * maximum allowed level for ever context, the definiton + * of the context may be less verbose. + */ +#define DEFAULT_LOGLEVEL FULL + +typedef struct daemon_t daemon_t; + +/** + * @brief Main class of daemon, contains some globals + */ +struct daemon_t { + /** + * socket_t instance + */ + socket_t *socket; + /** + * send_queue_t instance + */ + send_queue_t *send_queue; + /** + * job_queue_t instance + */ + job_queue_t *job_queue; + /** + * event_queue_t instance + */ + event_queue_t *event_queue; + /** + * logger_manager_t instance + */ + logger_manager_t *logger_manager; + /** + * ike_sa_manager_t instance + */ + ike_sa_manager_t *ike_sa_manager; + /** + * configuration_manager_t instance + */ + configuration_manager_t *configuration_manager; + + /** + * Sender-Thread + */ + sender_t *sender; + + /** + * Receiver-Thread + */ + receiver_t *receiver; + + /** + * Scheduler-Thread + */ + scheduler_t *scheduler; + + /** + * Thread pool holding the worker threads + */ + thread_pool_t *thread_pool; + + /** + * @brief shut down the daemon + * + * @param this the daemon to kill + * @param reason describition why it will be killed + */ + void (*destroy) (daemon_t *this, char *reason); +}; + +/** + * one and only instance of the daemon + */ +extern daemon_t *charon; #endif /*DAEMON_H_*/ -- cgit v1.2.3