libimcv: Add missing Doxgen group for SWIMA-related classes
[strongswan.git] / src / libimcv / imcv.h
1 /*
2 * Copyright (C) 2011 Andreas Steffen, HSR Hochschule fuer Technik Rapperswil
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
8 *
9 * This program is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
11 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * for more details.
13 */
14
15 /**
16 * @defgroup libimcv libimcv
17 *
18 * @defgroup generic_attr generic_attr
19 * @ingroup libimcv
20 *
21 * @defgroup libimcv_imc imc
22 * @ingroup libimcv
23 *
24 * @defgroup libimcv_imv imv
25 * @ingroup libimcv
26 *
27 * @defgroup pa_tnc pa_tnc
28 * @ingroup libimcv
29 *
30 * @defgroup libimcv_plugins plugins
31 * @ingroup libimcv
32 *
33 * @defgroup libimcv_seg seg
34 * @ingroup libimcv
35 *
36 * @defgroup libimcv_swid swid
37 * @ingroup libimcv
38 *
39 * @defgroup libimcv_swima swima
40 * @ingroup libimcv
41 *
42 * @addtogroup libimcv
43 * @{
44 */
45
46 #ifndef IMCV_H_
47 #define IMCV_H_
48
49 #include "pa_tnc/pa_tnc_attr_manager.h"
50 #include "imv/imv_database.h"
51 #include "imv/imv_session_manager.h"
52 #include "pts/components/pts_component_manager.h"
53
54 #include <library.h>
55
56 /**
57 * Initialize libimcv.
58 *
59 * @param is_imv TRUE if called by IMV, FALSE if by IMC
60 * @return FALSE if initialization failed
61 */
62 bool libimcv_init(bool is_imv);
63
64 /**
65 * Deinitialize libimcv.
66 */
67 void libimcv_deinit(void);
68
69 /**
70 * PA-TNC attribute manager
71 */
72 extern pa_tnc_attr_manager_t* imcv_pa_tnc_attributes;
73
74 /**
75 * Global IMV database object
76 */
77 extern imv_database_t* imcv_db;
78
79 /**
80 * Global IMV session manager
81 */
82 extern imv_session_manager_t* imcv_sessions;
83
84 /**
85 * PTS Functional Component manager
86 */
87 extern pts_component_manager_t* imcv_pts_components;
88
89 #endif /** IMCV_H_ @}*/