conf.h revision 221304ee937bc0910948a8be1320cb8cc4eb6d36
1656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* crypto/conf/conf.h */ 2656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 3656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * All rights reserved. 4656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 5656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * This package is an SSL implementation written 6656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * by Eric Young (eay@cryptsoft.com). 7656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * The implementation was written so as to conform with Netscapes SSL. 8656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 9656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * This library is free for commercial and non-commercial use as long as 10656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * the following conditions are aheared to. The following conditions 11656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * apply to all code found in this distribution, be it the RC4, RSA, 12656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * lhash, DES, etc., code; not just the SSL code. The SSL documentation 13656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * included with this distribution is covered by the same copyright terms 14656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * except that the holder is Tim Hudson (tjh@cryptsoft.com). 15656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 16656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * Copyright remains Eric Young's, and as such any Copyright notices in 17656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * the code are not to be removed. 18656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * If this package is used in a product, Eric Young should be given attribution 19656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * as the author of the parts of the library used. 20656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * This can be in the form of a textual message at program startup or 21656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * in documentation (online or textual) provided with the package. 22656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 23656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * Redistribution and use in source and binary forms, with or without 24656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * modification, are permitted provided that the following conditions 25656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * are met: 26656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 1. Redistributions of source code must retain the copyright 27656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * notice, this list of conditions and the following disclaimer. 28656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright 29656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * notice, this list of conditions and the following disclaimer in the 30656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * documentation and/or other materials provided with the distribution. 31656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 3. All advertising materials mentioning features or use of this software 32656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * must display the following acknowledgement: 33656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * "This product includes cryptographic software written by 34656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * Eric Young (eay@cryptsoft.com)" 35656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * The word 'cryptographic' can be left out if the rouines from the library 36656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * being used are not cryptographic related :-). 37656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 4. If you include any Windows specific code (or a derivative thereof) from 38656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * the apps directory (application code) you must include an acknowledgement: 39656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 40656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 41656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 42656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 43656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 44656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 45656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 46656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 47656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 49656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 50656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * SUCH DAMAGE. 52656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 53656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * The licence and distribution terms for any publically available version or 54656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * derivative of this code cannot be changed. i.e. this code cannot simply be 55656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * copied and put under another distribution licence 56656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * [including the GNU Public Licence.] 57656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project */ 58656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 59656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef HEADER_CONF_H 60656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define HEADER_CONF_H 61656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 62656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <openssl/bio.h> 63656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <openssl/lhash.h> 64656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <openssl/stack.h> 65656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <openssl/safestack.h> 66656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <openssl/e_os2.h> 67656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 68656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <openssl/ossl_typ.h> 69656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 70656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifdef __cplusplus 71656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectextern "C" { 72656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 73656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 74656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projecttypedef struct 75656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project { 76656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project char *section; 77656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project char *name; 78656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project char *value; 79656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project } CONF_VALUE; 80656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 81656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectDECLARE_STACK_OF(CONF_VALUE) 82221304ee937bc0910948a8be1320cb8cc4eb6d36Brian CarlstromDECLARE_LHASH_OF(CONF_VALUE); 83656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 84656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectstruct conf_st; 85656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectstruct conf_method_st; 86656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projecttypedef struct conf_method_st CONF_METHOD; 87656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 88656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectstruct conf_method_st 89656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project { 90656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project const char *name; 91656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project CONF *(*create)(CONF_METHOD *meth); 92656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int (*init)(CONF *conf); 93656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int (*destroy)(CONF *conf); 94656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int (*destroy_data)(CONF *conf); 95656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int (*load_bio)(CONF *conf, BIO *bp, long *eline); 96656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int (*dump)(const CONF *conf, BIO *bp); 97656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int (*is_number)(const CONF *conf, char c); 98656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int (*to_int)(const CONF *conf, char c); 99656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int (*load)(CONF *conf, const char *name, long *eline); 100656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project }; 101656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 102656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Module definitions */ 103656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 104656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projecttypedef struct conf_imodule_st CONF_IMODULE; 105656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projecttypedef struct conf_module_st CONF_MODULE; 106656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 107221304ee937bc0910948a8be1320cb8cc4eb6d36Brian CarlstromDECLARE_STACK_OF(CONF_MODULE) 108221304ee937bc0910948a8be1320cb8cc4eb6d36Brian CarlstromDECLARE_STACK_OF(CONF_IMODULE) 109221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom 110656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* DSO module function typedefs */ 111656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projecttypedef int conf_init_func(CONF_IMODULE *md, const CONF *cnf); 112656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projecttypedef void conf_finish_func(CONF_IMODULE *md); 113656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 114656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_MFLAGS_IGNORE_ERRORS 0x1 115656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_MFLAGS_IGNORE_RETURN_CODES 0x2 116656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_MFLAGS_SILENT 0x4 117656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_MFLAGS_NO_DSO 0x8 118656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_MFLAGS_IGNORE_MISSING_FILE 0x10 119656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_MFLAGS_DEFAULT_SECTION 0x20 120656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 121656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectint CONF_set_default_method(CONF_METHOD *meth); 122221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstromvoid CONF_set_nconf(CONF *conf,LHASH_OF(CONF_VALUE) *hash); 123221304ee937bc0910948a8be1320cb8cc4eb6d36Brian CarlstromLHASH_OF(CONF_VALUE) *CONF_load(LHASH_OF(CONF_VALUE) *conf,const char *file, 124221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom long *eline); 125656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef OPENSSL_NO_FP_API 126221304ee937bc0910948a8be1320cb8cc4eb6d36Brian CarlstromLHASH_OF(CONF_VALUE) *CONF_load_fp(LHASH_OF(CONF_VALUE) *conf, FILE *fp, 127221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom long *eline); 128656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 129221304ee937bc0910948a8be1320cb8cc4eb6d36Brian CarlstromLHASH_OF(CONF_VALUE) *CONF_load_bio(LHASH_OF(CONF_VALUE) *conf, BIO *bp,long *eline); 130221304ee937bc0910948a8be1320cb8cc4eb6d36Brian CarlstromSTACK_OF(CONF_VALUE) *CONF_get_section(LHASH_OF(CONF_VALUE) *conf, 131221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom const char *section); 132221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstromchar *CONF_get_string(LHASH_OF(CONF_VALUE) *conf,const char *group, 133221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom const char *name); 134221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstromlong CONF_get_number(LHASH_OF(CONF_VALUE) *conf,const char *group, 135221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom const char *name); 136221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstromvoid CONF_free(LHASH_OF(CONF_VALUE) *conf); 137221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstromint CONF_dump_fp(LHASH_OF(CONF_VALUE) *conf, FILE *out); 138221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstromint CONF_dump_bio(LHASH_OF(CONF_VALUE) *conf, BIO *out); 139656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 140656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid OPENSSL_config(const char *config_name); 141656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid OPENSSL_no_config(void); 142656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 143656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* New conf code. The semantics are different from the functions above. 144656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project If that wasn't the case, the above functions would have been replaced */ 145656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 146656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectstruct conf_st 147656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project { 148656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project CONF_METHOD *meth; 149656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project void *meth_data; 150221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom LHASH_OF(CONF_VALUE) *data; 151656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project }; 152656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 153656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectCONF *NCONF_new(CONF_METHOD *meth); 154656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectCONF_METHOD *NCONF_default(void); 155656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectCONF_METHOD *NCONF_WIN32(void); 156656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if 0 /* Just to give you an idea of what I have in mind */ 157656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectCONF_METHOD *NCONF_XML(void); 158656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 159656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid NCONF_free(CONF *conf); 160656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid NCONF_free_data(CONF *conf); 161656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 162656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectint NCONF_load(CONF *conf,const char *file,long *eline); 163656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef OPENSSL_NO_FP_API 164656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectint NCONF_load_fp(CONF *conf, FILE *fp,long *eline); 165656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 166656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectint NCONF_load_bio(CONF *conf, BIO *bp,long *eline); 167656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectSTACK_OF(CONF_VALUE) *NCONF_get_section(const CONF *conf,const char *section); 168656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectchar *NCONF_get_string(const CONF *conf,const char *group,const char *name); 169656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectint NCONF_get_number_e(const CONF *conf,const char *group,const char *name, 170656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project long *result); 171656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectint NCONF_dump_fp(const CONF *conf, FILE *out); 172656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectint NCONF_dump_bio(const CONF *conf, BIO *out); 173656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 174656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#if 0 /* The following function has no error checking, 175656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project and should therefore be avoided */ 176656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectlong NCONF_get_number(CONF *conf,char *group,char *name); 177656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#else 178656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define NCONF_get_number(c,g,n,r) NCONF_get_number_e(c,g,n,r) 179656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 180656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 181656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Module functions */ 182656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 183656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectint CONF_modules_load(const CONF *cnf, const char *appname, 184656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project unsigned long flags); 185656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectint CONF_modules_load_file(const char *filename, const char *appname, 186656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project unsigned long flags); 187656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid CONF_modules_unload(int all); 188656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid CONF_modules_finish(void); 189656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid CONF_modules_free(void); 190656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectint CONF_module_add(const char *name, conf_init_func *ifunc, 191656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project conf_finish_func *ffunc); 192656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 193656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectconst char *CONF_imodule_get_name(const CONF_IMODULE *md); 194656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectconst char *CONF_imodule_get_value(const CONF_IMODULE *md); 195656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid *CONF_imodule_get_usr_data(const CONF_IMODULE *md); 196656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid CONF_imodule_set_usr_data(CONF_IMODULE *md, void *usr_data); 197656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectCONF_MODULE *CONF_imodule_get_module(const CONF_IMODULE *md); 198656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectunsigned long CONF_imodule_get_flags(const CONF_IMODULE *md); 199656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid CONF_imodule_set_flags(CONF_IMODULE *md, unsigned long flags); 200656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid *CONF_module_get_usr_data(CONF_MODULE *pmod); 201656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid CONF_module_set_usr_data(CONF_MODULE *pmod, void *usr_data); 202656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 203656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectchar *CONF_get1_default_config_file(void); 204656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 205656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectint CONF_parse_list(const char *list, int sep, int nospc, 206656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int (*list_cb)(const char *elem, int len, void *usr), void *arg); 207656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 208656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid OPENSSL_load_builtin_modules(void); 209656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 210656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* BEGIN ERROR CODES */ 211656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* The following lines are auto generated by the script mkerr.pl. Any changes 212656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * made after this point may be overwritten when the script is next run. 213656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project */ 214656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid ERR_load_CONF_strings(void); 215656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 216656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Error codes for the CONF functions. */ 217656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 218656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Function codes. */ 219656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_F_CONF_DUMP_FP 104 220656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_F_CONF_LOAD 100 221656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_F_CONF_LOAD_BIO 102 222656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_F_CONF_LOAD_FP 103 223656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_F_CONF_MODULES_LOAD 116 224221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom#define CONF_F_CONF_PARSE_LIST 119 225656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_F_DEF_LOAD 120 226656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_F_DEF_LOAD_BIO 121 227656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_F_MODULE_INIT 115 228656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_F_MODULE_LOAD_DSO 117 229656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_F_MODULE_RUN 118 230656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_F_NCONF_DUMP_BIO 105 231656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_F_NCONF_DUMP_FP 106 232656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_F_NCONF_GET_NUMBER 107 233656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_F_NCONF_GET_NUMBER_E 112 234656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_F_NCONF_GET_SECTION 108 235656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_F_NCONF_GET_STRING 109 236656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_F_NCONF_LOAD 113 237656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_F_NCONF_LOAD_BIO 110 238656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_F_NCONF_LOAD_FP 114 239656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_F_NCONF_NEW 111 240656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_F_STR_COPY 101 241656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 242656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Reason codes. */ 243656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_R_ERROR_LOADING_DSO 110 244221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom#define CONF_R_LIST_CANNOT_BE_NULL 115 245656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_R_MISSING_CLOSE_SQUARE_BRACKET 100 246656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_R_MISSING_EQUAL_SIGN 101 247656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_R_MISSING_FINISH_FUNCTION 111 248656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_R_MISSING_INIT_FUNCTION 112 249656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_R_MODULE_INITIALIZATION_ERROR 109 250656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_R_NO_CLOSE_BRACE 102 251656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_R_NO_CONF 105 252656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_R_NO_CONF_OR_ENVIRONMENT_VARIABLE 106 253656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_R_NO_SECTION 107 254656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_R_NO_SUCH_FILE 114 255656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_R_NO_VALUE 108 256656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_R_UNABLE_TO_CREATE_NEW_SECTION 103 257656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_R_UNKNOWN_MODULE_NAME 113 258656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONF_R_VARIABLE_HAS_NO_VALUE 104 259656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 260656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifdef __cplusplus 261656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project} 262656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 263656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 264