| 1 | /* | 
| 2 |  * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved. | 
| 3 |  * | 
| 4 |  * Licensed under the Apache License 2.0 (the "License").  You may not use | 
| 5 |  * this file except in compliance with the License.  You can obtain a copy | 
| 6 |  * in the file LICENSE in the source distribution or at | 
| 7 |  * https://www.openssl.org/source/license.html | 
| 8 |  */ | 
| 9 |  | 
| 10 | #ifndef  OPENSSL_CONFTYPES_H | 
| 11 | # define OPENSSL_CONFTYPES_H | 
| 12 | # pragma once | 
| 13 |  | 
| 14 | #ifndef  OPENSSL_CONF_H | 
| 15 | # include <openssl/conf.h> | 
| 16 | #endif | 
| 17 |  | 
| 18 | /* | 
| 19 |  * The contents of this file are deprecated and will be made opaque | 
| 20 |  */ | 
| 21 | struct conf_method_st { | 
| 22 |     const char *name; | 
| 23 |     CONF *(*create) (CONF_METHOD *meth); | 
| 24 |     int (*init) (CONF *conf); | 
| 25 |     int (*destroy) (CONF *conf); | 
| 26 |     int (*destroy_data) (CONF *conf); | 
| 27 |     int (*load_bio) (CONF *conf, BIO *bp, long *eline); | 
| 28 |     int (*dump) (const CONF *conf, BIO *bp); | 
| 29 |     int (*is_number) (const CONF *conf, char c); | 
| 30 |     int (*to_int) (const CONF *conf, char c); | 
| 31 |     int (*load) (CONF *conf, const char *name, long *eline); | 
| 32 | }; | 
| 33 |  | 
| 34 | struct conf_st { | 
| 35 |     CONF_METHOD *meth; | 
| 36 |     void *meth_data; | 
| 37 |     LHASH_OF(CONF_VALUE) *data; | 
| 38 |     int flag_dollarid; | 
| 39 |     int flag_abspath; | 
| 40 |     char *includedir; | 
| 41 |     OSSL_LIB_CTX *libctx; | 
| 42 | }; | 
| 43 |  | 
| 44 | #endif | 
| 45 |  |