62 #include <openssl/bio.h>
63 #include <openssl/lhash.h>
64 #include <openssl/stack.h>
65 #include <openssl/safestack.h>
66 #include <openssl/e_os2.h>
68 #include <openssl/ossl_typ.h>
91 CONF *(*create)(CONF_METHOD *meth);
92 int (*init)(
CONF *conf);
93 int (*destroy)(
CONF *conf);
94 int (*destroy_data)(
CONF *conf);
95 int (*load_bio)(
CONF *conf,
BIO *bp,
long *eline);
96 int (*dump)(
const CONF *conf,
BIO *bp);
97 int (*is_number)(
const CONF *conf,
char c);
98 int (*to_int)(
const CONF *conf,
char c);
99 int (*load)(
CONF *conf,
const char *name,
long *eline);
104 typedef struct conf_imodule_st CONF_IMODULE;
105 typedef struct conf_module_st CONF_MODULE;
107 DECLARE_STACK_OF(CONF_MODULE)
108 DECLARE_STACK_OF(CONF_IMODULE)
111 typedef
int conf_init_func(CONF_IMODULE *md, const
CONF *cnf);
112 typedef
void conf_finish_func(CONF_IMODULE *md);
114 #define CONF_MFLAGS_IGNORE_ERRORS 0x1
115 #define CONF_MFLAGS_IGNORE_RETURN_CODES 0x2
116 #define CONF_MFLAGS_SILENT 0x4
117 #define CONF_MFLAGS_NO_DSO 0x8
118 #define CONF_MFLAGS_IGNORE_MISSING_FILE 0x10
119 #define CONF_MFLAGS_DEFAULT_SECTION 0x20
125 #ifndef OPENSSL_NO_FP_API
131 const char *section);
132 char *CONF_get_string(LHASH_OF(
CONF_VALUE) *conf,
const char *group,
134 long CONF_get_number(LHASH_OF(
CONF_VALUE) *conf,
const char *group,
137 int CONF_dump_fp(LHASH_OF(
CONF_VALUE) *conf, FILE *out);
140 void OPENSSL_config(
const char *config_name);
141 void OPENSSL_no_config(
void);
159 void NCONF_free(
CONF *conf);
160 void NCONF_free_data(
CONF *conf);
162 int NCONF_load(
CONF *conf,
const char *file,
long *eline);
163 #ifndef OPENSSL_NO_FP_API
164 int NCONF_load_fp(
CONF *conf, FILE *fp,
long *eline);
166 int NCONF_load_bio(
CONF *conf,
BIO *bp,
long *eline);
167 STACK_OF(
CONF_VALUE) *NCONF_get_section(
const CONF *conf,
const char *section);
168 char *NCONF_get_string(
const CONF *conf,
const char *group,
const char *name);
169 int NCONF_get_number_e(
const CONF *conf,
const char *group,
const char *name,
171 int NCONF_dump_fp(
const CONF *conf, FILE *out);
172 int NCONF_dump_bio(
const CONF *conf,
BIO *out);
176 long NCONF_get_number(
CONF *conf,
char *group,
char *name);
178 #define NCONF_get_number(c,g,n,r) NCONF_get_number_e(c,g,n,r)
183 int CONF_modules_load(
const CONF *cnf,
const char *appname,
184 unsigned long flags);
185 int CONF_modules_load_file(
const char *filename,
const char *appname,
186 unsigned long flags);
187 void CONF_modules_unload(
int all);
188 void CONF_modules_finish(
void);
189 void CONF_modules_free(
void);
190 int CONF_module_add(
const char *name, conf_init_func *ifunc,
191 conf_finish_func *ffunc);
193 const char *CONF_imodule_get_name(
const CONF_IMODULE *md);
194 const char *CONF_imodule_get_value(
const CONF_IMODULE *md);
195 void *CONF_imodule_get_usr_data(
const CONF_IMODULE *md);
196 void CONF_imodule_set_usr_data(CONF_IMODULE *md,
void *usr_data);
197 CONF_MODULE *CONF_imodule_get_module(
const CONF_IMODULE *md);
198 unsigned long CONF_imodule_get_flags(
const CONF_IMODULE *md);
199 void CONF_imodule_set_flags(CONF_IMODULE *md,
unsigned long flags);
200 void *CONF_module_get_usr_data(CONF_MODULE *pmod);
201 void CONF_module_set_usr_data(CONF_MODULE *pmod,
void *usr_data);
203 char *CONF_get1_default_config_file(
void);
205 int CONF_parse_list(
const char *list,
int sep,
int nospc,
206 int (*list_cb)(
const char *elem,
int len,
void *usr),
void *arg);
208 void OPENSSL_load_builtin_modules(
void);
214 void ERR_load_CONF_strings(
void);
219 #define CONF_F_CONF_DUMP_FP 104
220 #define CONF_F_CONF_LOAD 100
221 #define CONF_F_CONF_LOAD_BIO 102
222 #define CONF_F_CONF_LOAD_FP 103
223 #define CONF_F_CONF_MODULES_LOAD 116
224 #define CONF_F_CONF_PARSE_LIST 119
225 #define CONF_F_DEF_LOAD 120
226 #define CONF_F_DEF_LOAD_BIO 121
227 #define CONF_F_MODULE_INIT 115
228 #define CONF_F_MODULE_LOAD_DSO 117
229 #define CONF_F_MODULE_RUN 118
230 #define CONF_F_NCONF_DUMP_BIO 105
231 #define CONF_F_NCONF_DUMP_FP 106
232 #define CONF_F_NCONF_GET_NUMBER 107
233 #define CONF_F_NCONF_GET_NUMBER_E 112
234 #define CONF_F_NCONF_GET_SECTION 108
235 #define CONF_F_NCONF_GET_STRING 109
236 #define CONF_F_NCONF_LOAD 113
237 #define CONF_F_NCONF_LOAD_BIO 110
238 #define CONF_F_NCONF_LOAD_FP 114
239 #define CONF_F_NCONF_NEW 111
240 #define CONF_F_STR_COPY 101
243 #define CONF_R_ERROR_LOADING_DSO 110
244 #define CONF_R_LIST_CANNOT_BE_NULL 115
245 #define CONF_R_MISSING_CLOSE_SQUARE_BRACKET 100
246 #define CONF_R_MISSING_EQUAL_SIGN 101
247 #define CONF_R_MISSING_FINISH_FUNCTION 111
248 #define CONF_R_MISSING_INIT_FUNCTION 112
249 #define CONF_R_MODULE_INITIALIZATION_ERROR 109
250 #define CONF_R_NO_CLOSE_BRACE 102
251 #define CONF_R_NO_CONF 105
252 #define CONF_R_NO_CONF_OR_ENVIRONMENT_VARIABLE 106
253 #define CONF_R_NO_SECTION 107
254 #define CONF_R_NO_SUCH_FILE 114
255 #define CONF_R_NO_VALUE 108
256 #define CONF_R_UNABLE_TO_CREATE_NEW_SECTION 103
257 #define CONF_R_UNKNOWN_MODULE_NAME 113
258 #define CONF_R_VARIABLE_HAS_NO_VALUE 104