OLD | NEW |
1 /* crypto/conf/conf.h */ | 1 /* crypto/conf/conf.h */ |
2 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 * All rights reserved. | 3 * All rights reserved. |
4 * | 4 * |
5 * This package is an SSL implementation written | 5 * This package is an SSL implementation written |
6 * by Eric Young (eay@cryptsoft.com). | 6 * by Eric Young (eay@cryptsoft.com). |
7 * The implementation was written so as to conform with Netscapes SSL. | 7 * The implementation was written so as to conform with Netscapes SSL. |
8 * | 8 * |
9 * This library is free for commercial and non-commercial use as long as | 9 * This library is free for commercial and non-commercial use as long as |
10 * the following conditions are aheared to. The following conditions | 10 * the following conditions are aheared to. The following conditions |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 #endif | 72 #endif |
73 | 73 |
74 typedef struct | 74 typedef struct |
75 { | 75 { |
76 char *section; | 76 char *section; |
77 char *name; | 77 char *name; |
78 char *value; | 78 char *value; |
79 } CONF_VALUE; | 79 } CONF_VALUE; |
80 | 80 |
81 DECLARE_STACK_OF(CONF_VALUE) | 81 DECLARE_STACK_OF(CONF_VALUE) |
82 DECLARE_STACK_OF(CONF_MODULE) | 82 DECLARE_LHASH_OF(CONF_VALUE); |
83 DECLARE_STACK_OF(CONF_IMODULE) | |
84 | 83 |
85 struct conf_st; | 84 struct conf_st; |
86 struct conf_method_st; | 85 struct conf_method_st; |
87 typedef struct conf_method_st CONF_METHOD; | 86 typedef struct conf_method_st CONF_METHOD; |
88 | 87 |
89 struct conf_method_st | 88 struct conf_method_st |
90 { | 89 { |
91 const char *name; | 90 const char *name; |
92 CONF *(*create)(CONF_METHOD *meth); | 91 CONF *(*create)(CONF_METHOD *meth); |
93 int (*init)(CONF *conf); | 92 int (*init)(CONF *conf); |
94 int (*destroy)(CONF *conf); | 93 int (*destroy)(CONF *conf); |
95 int (*destroy_data)(CONF *conf); | 94 int (*destroy_data)(CONF *conf); |
96 int (*load_bio)(CONF *conf, BIO *bp, long *eline); | 95 int (*load_bio)(CONF *conf, BIO *bp, long *eline); |
97 int (*dump)(const CONF *conf, BIO *bp); | 96 int (*dump)(const CONF *conf, BIO *bp); |
98 int (*is_number)(const CONF *conf, char c); | 97 int (*is_number)(const CONF *conf, char c); |
99 int (*to_int)(const CONF *conf, char c); | 98 int (*to_int)(const CONF *conf, char c); |
100 int (*load)(CONF *conf, const char *name, long *eline); | 99 int (*load)(CONF *conf, const char *name, long *eline); |
101 }; | 100 }; |
102 | 101 |
103 /* Module definitions */ | 102 /* Module definitions */ |
104 | 103 |
105 typedef struct conf_imodule_st CONF_IMODULE; | 104 typedef struct conf_imodule_st CONF_IMODULE; |
106 typedef struct conf_module_st CONF_MODULE; | 105 typedef struct conf_module_st CONF_MODULE; |
107 | 106 |
| 107 DECLARE_STACK_OF(CONF_MODULE) |
| 108 DECLARE_STACK_OF(CONF_IMODULE) |
| 109 |
108 /* DSO module function typedefs */ | 110 /* DSO module function typedefs */ |
109 typedef int conf_init_func(CONF_IMODULE *md, const CONF *cnf); | 111 typedef int conf_init_func(CONF_IMODULE *md, const CONF *cnf); |
110 typedef void conf_finish_func(CONF_IMODULE *md); | 112 typedef void conf_finish_func(CONF_IMODULE *md); |
111 | 113 |
112 #define CONF_MFLAGS_IGNORE_ERRORS 0x1 | 114 #define CONF_MFLAGS_IGNORE_ERRORS 0x1 |
113 #define CONF_MFLAGS_IGNORE_RETURN_CODES 0x2 | 115 #define CONF_MFLAGS_IGNORE_RETURN_CODES 0x2 |
114 #define CONF_MFLAGS_SILENT 0x4 | 116 #define CONF_MFLAGS_SILENT 0x4 |
115 #define CONF_MFLAGS_NO_DSO 0x8 | 117 #define CONF_MFLAGS_NO_DSO 0x8 |
116 #define CONF_MFLAGS_IGNORE_MISSING_FILE 0x10 | 118 #define CONF_MFLAGS_IGNORE_MISSING_FILE 0x10 |
117 #define CONF_MFLAGS_DEFAULT_SECTION 0x20 | 119 #define CONF_MFLAGS_DEFAULT_SECTION 0x20 |
118 | 120 |
119 int CONF_set_default_method(CONF_METHOD *meth); | 121 int CONF_set_default_method(CONF_METHOD *meth); |
120 void CONF_set_nconf(CONF *conf,LHASH *hash); | 122 void CONF_set_nconf(CONF *conf,LHASH_OF(CONF_VALUE) *hash); |
121 LHASH *CONF_load(LHASH *conf,const char *file,long *eline); | 123 LHASH_OF(CONF_VALUE) *CONF_load(LHASH_OF(CONF_VALUE) *conf,const char *file, |
| 124 » » » » long *eline); |
122 #ifndef OPENSSL_NO_FP_API | 125 #ifndef OPENSSL_NO_FP_API |
123 LHASH *CONF_load_fp(LHASH *conf, FILE *fp,long *eline); | 126 LHASH_OF(CONF_VALUE) *CONF_load_fp(LHASH_OF(CONF_VALUE) *conf, FILE *fp, |
| 127 » » » » long *eline); |
124 #endif | 128 #endif |
125 LHASH *CONF_load_bio(LHASH *conf, BIO *bp,long *eline); | 129 LHASH_OF(CONF_VALUE) *CONF_load_bio(LHASH_OF(CONF_VALUE) *conf, BIO *bp,long *el
ine); |
126 STACK_OF(CONF_VALUE) *CONF_get_section(LHASH *conf,const char *section); | 130 STACK_OF(CONF_VALUE) *CONF_get_section(LHASH_OF(CONF_VALUE) *conf, |
127 char *CONF_get_string(LHASH *conf,const char *group,const char *name); | 131 » » » » const char *section); |
128 long CONF_get_number(LHASH *conf,const char *group,const char *name); | 132 char *CONF_get_string(LHASH_OF(CONF_VALUE) *conf,const char *group, |
129 void CONF_free(LHASH *conf); | 133 » » const char *name); |
130 int CONF_dump_fp(LHASH *conf, FILE *out); | 134 long CONF_get_number(LHASH_OF(CONF_VALUE) *conf,const char *group, |
131 int CONF_dump_bio(LHASH *conf, BIO *out); | 135 » » const char *name); |
| 136 void CONF_free(LHASH_OF(CONF_VALUE) *conf); |
| 137 int CONF_dump_fp(LHASH_OF(CONF_VALUE) *conf, FILE *out); |
| 138 int CONF_dump_bio(LHASH_OF(CONF_VALUE) *conf, BIO *out); |
132 | 139 |
133 void OPENSSL_config(const char *config_name); | 140 void OPENSSL_config(const char *config_name); |
134 void OPENSSL_no_config(void); | 141 void OPENSSL_no_config(void); |
135 | 142 |
136 /* New conf code. The semantics are different from the functions above. | 143 /* New conf code. The semantics are different from the functions above. |
137 If that wasn't the case, the above functions would have been replaced */ | 144 If that wasn't the case, the above functions would have been replaced */ |
138 | 145 |
139 struct conf_st | 146 struct conf_st |
140 { | 147 { |
141 CONF_METHOD *meth; | 148 CONF_METHOD *meth; |
142 void *meth_data; | 149 void *meth_data; |
143 » LHASH *data; | 150 » LHASH_OF(CONF_VALUE) *data; |
144 }; | 151 }; |
145 | 152 |
146 CONF *NCONF_new(CONF_METHOD *meth); | 153 CONF *NCONF_new(CONF_METHOD *meth); |
147 CONF_METHOD *NCONF_default(void); | 154 CONF_METHOD *NCONF_default(void); |
148 CONF_METHOD *NCONF_WIN32(void); | 155 CONF_METHOD *NCONF_WIN32(void); |
149 #if 0 /* Just to give you an idea of what I have in mind */ | 156 #if 0 /* Just to give you an idea of what I have in mind */ |
150 CONF_METHOD *NCONF_XML(void); | 157 CONF_METHOD *NCONF_XML(void); |
151 #endif | 158 #endif |
152 void NCONF_free(CONF *conf); | 159 void NCONF_free(CONF *conf); |
153 void NCONF_free_data(CONF *conf); | 160 void NCONF_free_data(CONF *conf); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 void ERR_load_CONF_strings(void); | 214 void ERR_load_CONF_strings(void); |
208 | 215 |
209 /* Error codes for the CONF functions. */ | 216 /* Error codes for the CONF functions. */ |
210 | 217 |
211 /* Function codes. */ | 218 /* Function codes. */ |
212 #define CONF_F_CONF_DUMP_FP 104 | 219 #define CONF_F_CONF_DUMP_FP 104 |
213 #define CONF_F_CONF_LOAD 100 | 220 #define CONF_F_CONF_LOAD 100 |
214 #define CONF_F_CONF_LOAD_BIO 102 | 221 #define CONF_F_CONF_LOAD_BIO 102 |
215 #define CONF_F_CONF_LOAD_FP 103 | 222 #define CONF_F_CONF_LOAD_FP 103 |
216 #define CONF_F_CONF_MODULES_LOAD 116 | 223 #define CONF_F_CONF_MODULES_LOAD 116 |
| 224 #define CONF_F_CONF_PARSE_LIST 119 |
217 #define CONF_F_DEF_LOAD 120 | 225 #define CONF_F_DEF_LOAD 120 |
218 #define CONF_F_DEF_LOAD_BIO 121 | 226 #define CONF_F_DEF_LOAD_BIO 121 |
219 #define CONF_F_MODULE_INIT 115 | 227 #define CONF_F_MODULE_INIT 115 |
220 #define CONF_F_MODULE_LOAD_DSO 117 | 228 #define CONF_F_MODULE_LOAD_DSO 117 |
221 #define CONF_F_MODULE_RUN 118 | 229 #define CONF_F_MODULE_RUN 118 |
222 #define CONF_F_NCONF_DUMP_BIO 105 | 230 #define CONF_F_NCONF_DUMP_BIO 105 |
223 #define CONF_F_NCONF_DUMP_FP 106 | 231 #define CONF_F_NCONF_DUMP_FP 106 |
224 #define CONF_F_NCONF_GET_NUMBER 107 | 232 #define CONF_F_NCONF_GET_NUMBER 107 |
225 #define CONF_F_NCONF_GET_NUMBER_E 112 | 233 #define CONF_F_NCONF_GET_NUMBER_E 112 |
226 #define CONF_F_NCONF_GET_SECTION 108 | 234 #define CONF_F_NCONF_GET_SECTION 108 |
227 #define CONF_F_NCONF_GET_STRING 109 | 235 #define CONF_F_NCONF_GET_STRING 109 |
228 #define CONF_F_NCONF_LOAD 113 | 236 #define CONF_F_NCONF_LOAD 113 |
229 #define CONF_F_NCONF_LOAD_BIO 110 | 237 #define CONF_F_NCONF_LOAD_BIO 110 |
230 #define CONF_F_NCONF_LOAD_FP 114 | 238 #define CONF_F_NCONF_LOAD_FP 114 |
231 #define CONF_F_NCONF_NEW 111 | 239 #define CONF_F_NCONF_NEW 111 |
232 #define CONF_F_STR_COPY 101 | 240 #define CONF_F_STR_COPY 101 |
233 | 241 |
234 /* Reason codes. */ | 242 /* Reason codes. */ |
235 #define CONF_R_ERROR_LOADING_DSO 110 | 243 #define CONF_R_ERROR_LOADING_DSO 110 |
| 244 #define CONF_R_LIST_CANNOT_BE_NULL 115 |
236 #define CONF_R_MISSING_CLOSE_SQUARE_BRACKET 100 | 245 #define CONF_R_MISSING_CLOSE_SQUARE_BRACKET 100 |
237 #define CONF_R_MISSING_EQUAL_SIGN 101 | 246 #define CONF_R_MISSING_EQUAL_SIGN 101 |
238 #define CONF_R_MISSING_FINISH_FUNCTION 111 | 247 #define CONF_R_MISSING_FINISH_FUNCTION 111 |
239 #define CONF_R_MISSING_INIT_FUNCTION 112 | 248 #define CONF_R_MISSING_INIT_FUNCTION 112 |
240 #define CONF_R_MODULE_INITIALIZATION_ERROR 109 | 249 #define CONF_R_MODULE_INITIALIZATION_ERROR 109 |
241 #define CONF_R_NO_CLOSE_BRACE 102 | 250 #define CONF_R_NO_CLOSE_BRACE 102 |
242 #define CONF_R_NO_CONF 105 | 251 #define CONF_R_NO_CONF 105 |
243 #define CONF_R_NO_CONF_OR_ENVIRONMENT_VARIABLE 106 | 252 #define CONF_R_NO_CONF_OR_ENVIRONMENT_VARIABLE 106 |
244 #define CONF_R_NO_SECTION 107 | 253 #define CONF_R_NO_SECTION 107 |
245 #define CONF_R_NO_SUCH_FILE 114 | 254 #define CONF_R_NO_SUCH_FILE 114 |
246 #define CONF_R_NO_VALUE 108 | 255 #define CONF_R_NO_VALUE 108 |
247 #define CONF_R_UNABLE_TO_CREATE_NEW_SECTION 103 | 256 #define CONF_R_UNABLE_TO_CREATE_NEW_SECTION 103 |
248 #define CONF_R_UNKNOWN_MODULE_NAME 113 | 257 #define CONF_R_UNKNOWN_MODULE_NAME 113 |
249 #define CONF_R_VARIABLE_HAS_NO_VALUE 104 | 258 #define CONF_R_VARIABLE_HAS_NO_VALUE 104 |
250 | 259 |
251 #ifdef __cplusplus | 260 #ifdef __cplusplus |
252 } | 261 } |
253 #endif | 262 #endif |
254 #endif | 263 #endif |
OLD | NEW |