1 | /* conf.h
|
---|
2 | *
|
---|
3 | * Copyright (C) 2006-2020 wolfSSL Inc.
|
---|
4 | *
|
---|
5 | * This file is part of wolfSSL.
|
---|
6 | *
|
---|
7 | * wolfSSL is free software; you can redistribute it and/or modify
|
---|
8 | * it under the terms of the GNU General Public License as published by
|
---|
9 | * the Free Software Foundation; either version 2 of the License, or
|
---|
10 | * (at your option) any later version.
|
---|
11 | *
|
---|
12 | * wolfSSL is distributed in the hope that it will be useful,
|
---|
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
---|
15 | * GNU General Public License for more details.
|
---|
16 | *
|
---|
17 | * You should have received a copy of the GNU General Public License
|
---|
18 | * along with this program; if not, write to the Free Software
|
---|
19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
---|
20 | */
|
---|
21 |
|
---|
22 | /* conf.h for openSSL */
|
---|
23 |
|
---|
24 | #ifndef WOLFSSL_conf_H_
|
---|
25 | #define WOLFSSL_conf_H_
|
---|
26 |
|
---|
27 | #ifdef __cplusplus
|
---|
28 | extern "C" {
|
---|
29 | #endif
|
---|
30 |
|
---|
31 | #include <wolfssl/wolfcrypt/settings.h>
|
---|
32 | #include <wolfssl/version.h>
|
---|
33 |
|
---|
34 | typedef struct WOLFSSL_CONF_VALUE {
|
---|
35 | char *section;
|
---|
36 | char *name;
|
---|
37 | char *value;
|
---|
38 | } WOLFSSL_CONF_VALUE;
|
---|
39 |
|
---|
40 | /* ssl.h requires WOLFSSL_CONF_VALUE */
|
---|
41 | #include <wolfssl/ssl.h>
|
---|
42 |
|
---|
43 | typedef struct WOLFSSL_CONF {
|
---|
44 | void *meth_data;
|
---|
45 | WOLF_LHASH_OF(WOLFSSL_CONF_VALUE) *data;
|
---|
46 | } WOLFSSL_CONF;
|
---|
47 |
|
---|
48 | typedef WOLFSSL_CONF CONF;
|
---|
49 | typedef WOLFSSL_CONF_VALUE CONF_VALUE;
|
---|
50 |
|
---|
51 | #ifdef OPENSSL_EXTRA
|
---|
52 |
|
---|
53 | WOLFSSL_API WOLFSSL_CONF_VALUE *wolfSSL_CONF_VALUE_new(void);
|
---|
54 | WOLFSSL_API int wolfSSL_CONF_add_string(WOLFSSL_CONF *conf,
|
---|
55 | WOLFSSL_CONF_VALUE *section, WOLFSSL_CONF_VALUE *value);
|
---|
56 | WOLFSSL_API void wolfSSL_X509V3_conf_free(WOLFSSL_CONF_VALUE *val);
|
---|
57 |
|
---|
58 | WOLFSSL_API WOLFSSL_CONF *wolfSSL_NCONF_new(void *meth);
|
---|
59 | WOLFSSL_API char *wolfSSL_NCONF_get_string(const WOLFSSL_CONF *conf,
|
---|
60 | const char *group, const char *name);
|
---|
61 | WOLFSSL_API int wolfSSL_NCONF_get_number(const CONF *conf, const char *group,
|
---|
62 | const char *name, long *result);
|
---|
63 | WOLFSSL_API WOLFSSL_STACK *wolfSSL_NCONF_get_section(
|
---|
64 | const WOLFSSL_CONF *conf, const char *section);
|
---|
65 | WOLFSSL_API int wolfSSL_NCONF_load(WOLFSSL_CONF *conf, const char *file, long *eline);
|
---|
66 | WOLFSSL_API void wolfSSL_NCONF_free(WOLFSSL_CONF *conf);
|
---|
67 |
|
---|
68 | WOLFSSL_API WOLFSSL_CONF_VALUE *wolfSSL_lh_WOLFSSL_CONF_VALUE_retrieve(
|
---|
69 | WOLF_LHASH_OF(WOLFSSL_CONF_VALUE) *sk, WOLFSSL_CONF_VALUE *data);
|
---|
70 |
|
---|
71 | WOLFSSL_API int wolfSSL_CONF_modules_load(const WOLFSSL_CONF *cnf, const char *appname,
|
---|
72 | unsigned long flags);
|
---|
73 | WOLFSSL_API WOLFSSL_CONF_VALUE *wolfSSL_CONF_new_section(WOLFSSL_CONF *conf,
|
---|
74 | const char *section);
|
---|
75 | WOLFSSL_API WOLFSSL_CONF_VALUE *wolfSSL_CONF_get_section(WOLFSSL_CONF *conf,
|
---|
76 | const char *section);
|
---|
77 |
|
---|
78 | #define sk_CONF_VALUE_new wolfSSL_sk_CONF_VALUE_new
|
---|
79 | #define sk_CONF_VALUE_free wolfSSL_sk_CONF_VALUE_free
|
---|
80 | #define sk_CONF_VALUE_pop_free(a,b) wolfSSL_sk_CONF_VALUE_free(a)
|
---|
81 | #define sk_CONF_VALUE_num wolfSSL_sk_CONF_VALUE_num
|
---|
82 | #define sk_CONF_VALUE_value wolfSSL_sk_CONF_VALUE_value
|
---|
83 |
|
---|
84 | #define lh_CONF_VALUE_retrieve wolfSSL_lh_WOLFSSL_CONF_VALUE_retrieve
|
---|
85 | #define lh_CONF_VALUE_insert wolfSSL_sk_CONF_VALUE_push
|
---|
86 |
|
---|
87 | #define NCONF_new wolfSSL_NCONF_new
|
---|
88 | #define NCONF_free wolfSSL_NCONF_free
|
---|
89 | #define NCONF_get_string wolfSSL_NCONF_get_string
|
---|
90 | #define NCONF_get_section wolfSSL_NCONF_get_section
|
---|
91 | #define NCONF_get_number wolfSSL_NCONF_get_number
|
---|
92 | #define NCONF_load wolfSSL_NCONF_load
|
---|
93 |
|
---|
94 | #define CONF_modules_load wolfSSL_CONF_modules_load
|
---|
95 | #define _CONF_new_section wolfSSL_CONF_new_section
|
---|
96 | #define _CONF_get_section wolfSSL_CONF_get_section
|
---|
97 |
|
---|
98 | #define X509V3_conf_free wolfSSL_X509V3_conf_free
|
---|
99 |
|
---|
100 | #endif /* OPENSSL_EXTRA */
|
---|
101 |
|
---|
102 | #ifdef __cplusplus
|
---|
103 | } /* extern "C" */
|
---|
104 | #endif
|
---|
105 |
|
---|
106 | #endif /* WOLFSSL_conf_H_ */
|
---|