blob: 2a8709d72eb13f61a8eeb4ff7f78ac3a9f76d901 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
/*
* Copyright (C) 2010 Tobias Brunner
* Hochschule fuer Technik Rapperswil
*
* 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; either version 2 of the License, or (at your
* option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
*
* 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.
*/
/**
* @defgroup libhydra libhydra
*
* @defgroup attributes attributes
* @ingroup libhydra
*
* @defgroup hkernel kernel
* @ingroup libhydra
*
* @defgroup hplugins plugins
* @ingroup libhydra
*
* @addtogroup libhydra
* @{
*/
#ifndef HYDRA_H_
#define HYDRA_H_
typedef struct hydra_t hydra_t;
#include <attributes/attribute_manager.h>
#include <kernel/kernel_interface.h>
#include <library.h>
/**
* IKE Daemon support object.
*/
struct hydra_t {
/**
* manager for payload attributes
*/
attribute_manager_t *attributes;
/**
* kernel interface to communicate with kernel
*/
kernel_interface_t *kernel_interface;
/**
* name of the daemon that initialized the library
*/
const char *daemon;
};
/**
* The single instance of hydra_t.
*
* Set between calls to libhydra_init() and libhydra_deinit() calls.
*/
extern hydra_t *hydra;
/**
* Initialize libhydra.
*
* The daemon's name is used to load daemon-specific settings.
*
* libhydra_init() may be called multiple times in a single process, but each
* caller should call libhydra_deinit() for each call to libhydra_init().
*
* @param daemon name of the daemon that initializes the library
* @return FALSE if integrity check failed
*/
bool libhydra_init(const char *daemon);
/**
* Deinitialize libhydra.
*/
void libhydra_deinit();
#endif /** HYDRA_H_ @}*/
|