child-create: Update CHILD_SA IP addresses before installation
[strongswan.git] / src / swanctl / swanctl.h
1 /*
2 * Copyright (C) 2016-2018 Tobias Brunner
3 * Copyright (C) 2015 Andreas Steffen
4 * HSR Hochschule fuer Technik Rapperswil
5 *
6 * Copyright (C) 2014 Martin Willi
7 * Copyright (C) 2014 revosec AG
8 *
9 * This program is free software; you can redistribute it and/or modify it
10 * under the terms of the GNU General Public License as published by the
11 * Free Software Foundation; either version 2 of the License, or (at your
12 * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
13 *
14 * This program is distributed in the hope that it will be useful, but
15 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
17 * for more details.
18 */
19
20 /**
21 * @defgroup swanctl swanctl
22 * @{
23 */
24
25 #ifndef SWANCTL_H_
26 #define SWANCTL_H_
27
28 #include <settings/settings.h>
29
30 /**
31 * Base directory for credentials and config
32 */
33 extern char *swanctl_dir;
34
35 /**
36 * Configuration file for connections, etc.
37 */
38 #define SWANCTL_CONF "swanctl.conf"
39
40 /**
41 * Directory for X.509 end entity certs
42 */
43 #define SWANCTL_X509DIR "x509"
44
45 /**
46 * Directory for X.509 CA certs
47 */
48 #define SWANCTL_X509CADIR "x509ca"
49
50 /**
51 * Directory for X.509 Attribute Authority certs
52 */
53 #define SWANCTL_X509AADIR "x509aa"
54
55 /**
56 * Directory for X.509 OCSP Signer certs
57 */
58 #define SWANCTL_X509OCSPDIR "x509ocsp"
59
60 /**
61 * Directory for X.509 CRLs
62 */
63 #define SWANCTL_X509CRLDIR "x509crl"
64
65 /**
66 * Directory for X.509 Attribute certificates
67 */
68 #define SWANCTL_X509ACDIR "x509ac"
69
70 /**
71 * Directory for raw public keys
72 */
73 #define SWANCTL_PUBKEYDIR "pubkey"
74
75 /**
76 * Directory for private keys
77 */
78 #define SWANCTL_PRIVATEDIR "private"
79
80 /**
81 * Directory for RSA private keys
82 */
83 #define SWANCTL_RSADIR "rsa"
84
85 /**
86 * Directory for ECDSA private keys
87 */
88 #define SWANCTL_ECDSADIR "ecdsa"
89
90 /**
91 * Directory for BLISS private keys
92 */
93 #define SWANCTL_BLISSDIR "bliss"
94
95 /**
96 * Directory for PKCS#8 encoded private keys
97 */
98 #define SWANCTL_PKCS8DIR "pkcs8"
99
100 /**
101 * Directory for PKCS#12 containers
102 */
103 #define SWANCTL_PKCS12DIR "pkcs12"
104
105 /**
106 * Load swanctl.conf, optionally from a custom path. Sets the base dir relative
107 * to that file.
108 *
109 * @param file optional custom path to swanctl.conf, NULL to use default
110 * @return settings, or NULL if loading failed
111 */
112 settings_t *load_swanctl_conf(char *file);
113
114 #endif /** SWANCTL_H_ @}*/