Added member fields for reserved bits and bytes in all payloads
[strongswan.git] / src / libcharon / daemon.h
index eb97a16..04f1fc2 100644 (file)
  * @defgroup config config
  * @ingroup libcharon
  *
- * @defgroup attributes attributes
- * @ingroup config
- *
  * @defgroup control control
  * @ingroup libcharon
  *
- * @defgroup ccredentials credentials
- * @ingroup libcharon
- *
- * @defgroup sets sets
- * @ingroup ccredentials
- *
  * @defgroup encoding encoding
  * @ingroup libcharon
  *
  * @defgroup payloads payloads
  * @ingroup encoding
  *
- * @defgroup kernel kernel
+ * @defgroup ckernel kernel
  * @ingroup libcharon
  *
  * @defgroup network network
  * @defgroup cplugins plugins
  * @ingroup libcharon
  *
- * @defgroup processing processing
+ * @defgroup cprocessing processing
  * @ingroup libcharon
  *
- * @defgroup jobs jobs
- * @ingroup processing
+ * @defgroup cjobs jobs
+ * @ingroup cprocessing
  *
  * @defgroup sa sa
  * @ingroup libcharon
@@ -149,9 +140,6 @@ typedef struct daemon_t daemon_t;
 #include <network/sender.h>
 #include <network/receiver.h>
 #include <network/socket_manager.h>
-#include <processing/scheduler.h>
-#include <processing/processor.h>
-#include <kernel/kernel_interface.h>
 #include <control/controller.h>
 #include <bus/bus.h>
 #include <bus/listeners/file_logger.h>
@@ -159,9 +147,11 @@ typedef struct daemon_t daemon_t;
 #include <sa/ike_sa_manager.h>
 #include <sa/trap_manager.h>
 #include <config/backend_manager.h>
-#include <credentials/credential_manager.h>
 #include <sa/authenticators/eap/eap_manager.h>
 #include <sa/authenticators/eap/sim_manager.h>
+#include <tnc/imc/imc_manager.h>
+#include <tnc/imv/imv_manager.h>
+#include <tnc/tnccs/tnccs_manager.h>
 
 #ifdef ME
 #include <sa/connect_manager.h>
@@ -209,11 +199,6 @@ struct daemon_t {
        backend_manager_t *backends;
 
        /**
-        * Manager for the credential backends
-        */
-       credential_manager_t *credentials;
-
-       /**
         * The Sender-Thread.
         */
        sender_t *sender;
@@ -224,16 +209,6 @@ struct daemon_t {
        receiver_t *receiver;
 
        /**
-        * The Scheduler-Thread.
-        */
-       scheduler_t *scheduler;
-
-       /**
-        * Job processing using a thread pool.
-        */
-       processor_t *processor;
-
-       /**
         * The signaling bus.
         */
        bus_t *bus;
@@ -249,11 +224,6 @@ struct daemon_t {
        linked_list_t *sys_loggers;
 
        /**
-        * Kernel Interface to communicate with kernel
-        */
-       kernel_interface_t *kernel_interface;
-
-       /**
         * Controller to control the daemon
         */
        controller_t *controller;
@@ -268,6 +238,21 @@ struct daemon_t {
         */
        sim_manager_t *sim;
 
+       /**
+        * TNC IMC manager controlling Integrity Measurement Collectors
+        */
+       imc_manager_t *imcs;
+
+       /**
+        * TNC IMV manager controlling Integrity Measurement Verifiers
+        */
+       imv_manager_t *imvs;
+
+       /**
+        * TNCCS manager to maintain registered TNCCS protocols
+        */
+       tnccs_manager_t *tnccs;
+
 #ifdef ME
        /**
         * Connect manager
@@ -300,9 +285,9 @@ struct daemon_t {
        void (*keep_cap)(daemon_t *this, u_int cap);
 
        /**
-        * Drop all capabilities of the current process, but keep those that have
-        * been set with a call to keep_cap.
+        * Drop all capabilities of the current process.
         *
+        * Drops all capabalities, excect those exlcuded using keep_cap().
         * This should be called after the initialization of the daemon because
         * some plugins require the process to keep additional capabilities.
         *
@@ -313,7 +298,7 @@ struct daemon_t {
        /**
         * Initialize the daemon.
         */
-       bool (*initialize)(daemon_t *this, bool syslog, level_t levels[]);
+       bool (*initialize)(daemon_t *this);
 
        /**
         * Starts the daemon, i.e. spawns the threads of the thread pool.
@@ -323,13 +308,18 @@ struct daemon_t {
 };
 
 /**
- * The one and only instance of the daemon. Set between libcharon_init() and
- * libcharon_deinit() calls.
+ * The one and only instance of the daemon.
+ *
+ * Set between libcharon_init() and libcharon_deinit() calls.
  */
 extern daemon_t *charon;
 
 /**
  * Initialize libcharon and create the "charon" instance of daemon_t.
+ *
+ * This function initializes the bus, listeners can be registered before
+ * calling initialize().
+ *
  * @return             FALSE if integrity check failed
  */
 bool libcharon_init();