OLD | NEW |
1 /* crypto/crypto.h */ | 1 /* crypto/crypto.h */ |
2 /* ==================================================================== | 2 /* ==================================================================== |
3 * Copyright (c) 1998-2003 The OpenSSL Project. All rights reserved. | 3 * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * | 8 * |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
11 * | 11 * |
12 * 2. Redistributions in binary form must reproduce the above copyright | 12 * 2. Redistributions in binary form must reproduce the above copyright |
13 * notice, this list of conditions and the following disclaimer in | 13 * notice, this list of conditions and the following disclaimer in |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
212 #define CRYPTO_LOCK_DYNLOCK 29 | 212 #define CRYPTO_LOCK_DYNLOCK 29 |
213 #define CRYPTO_LOCK_ENGINE 30 | 213 #define CRYPTO_LOCK_ENGINE 30 |
214 #define CRYPTO_LOCK_UI 31 | 214 #define CRYPTO_LOCK_UI 31 |
215 #define CRYPTO_LOCK_ECDSA 32 | 215 #define CRYPTO_LOCK_ECDSA 32 |
216 #define CRYPTO_LOCK_EC 33 | 216 #define CRYPTO_LOCK_EC 33 |
217 #define CRYPTO_LOCK_ECDH 34 | 217 #define CRYPTO_LOCK_ECDH 34 |
218 #define CRYPTO_LOCK_BN 35 | 218 #define CRYPTO_LOCK_BN 35 |
219 #define CRYPTO_LOCK_EC_PRE_COMP 36 | 219 #define CRYPTO_LOCK_EC_PRE_COMP 36 |
220 #define CRYPTO_LOCK_STORE 37 | 220 #define CRYPTO_LOCK_STORE 37 |
221 #define CRYPTO_LOCK_COMP 38 | 221 #define CRYPTO_LOCK_COMP 38 |
222 #ifndef OPENSSL_FIPS | |
223 #define CRYPTO_NUM_LOCKS 39 | |
224 #else | |
225 #define CRYPTO_LOCK_FIPS 39 | 222 #define CRYPTO_LOCK_FIPS 39 |
226 #define CRYPTO_LOCK_FIPS2 40 | 223 #define CRYPTO_LOCK_FIPS2 40 |
227 #define CRYPTO_NUM_LOCKS 41 | 224 #define CRYPTO_NUM_LOCKS 41 |
228 #endif | |
229 | 225 |
230 #define CRYPTO_LOCK 1 | 226 #define CRYPTO_LOCK 1 |
231 #define CRYPTO_UNLOCK 2 | 227 #define CRYPTO_UNLOCK 2 |
232 #define CRYPTO_READ 4 | 228 #define CRYPTO_READ 4 |
233 #define CRYPTO_WRITE 8 | 229 #define CRYPTO_WRITE 8 |
234 | 230 |
235 #ifndef OPENSSL_NO_LOCKING | 231 #ifndef OPENSSL_NO_LOCKING |
236 #ifndef CRYPTO_w_lock | 232 #ifndef CRYPTO_w_lock |
237 #define CRYPTO_w_lock(type) \ | 233 #define CRYPTO_w_lock(type) \ |
238 CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE,type,__FILE__,__LINE__) | 234 CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE,type,__FILE__,__LINE__) |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
281 #define V_CRYPTO_MDEBUG_THREAD 0x2 /* a bit */ | 277 #define V_CRYPTO_MDEBUG_THREAD 0x2 /* a bit */ |
282 | 278 |
283 #define V_CRYPTO_MDEBUG_ALL (V_CRYPTO_MDEBUG_TIME | V_CRYPTO_MDEBUG_THREAD) | 279 #define V_CRYPTO_MDEBUG_ALL (V_CRYPTO_MDEBUG_TIME | V_CRYPTO_MDEBUG_THREAD) |
284 | 280 |
285 | 281 |
286 /* predec of the BIO type */ | 282 /* predec of the BIO type */ |
287 typedef struct bio_st BIO_dummy; | 283 typedef struct bio_st BIO_dummy; |
288 | 284 |
289 struct crypto_ex_data_st | 285 struct crypto_ex_data_st |
290 { | 286 { |
291 » STACK *sk; | 287 » STACK_OF(void) *sk; |
292 int dummy; /* gcc is screwing up this data structure :-( */ | 288 int dummy; /* gcc is screwing up this data structure :-( */ |
293 }; | 289 }; |
| 290 DECLARE_STACK_OF(void) |
294 | 291 |
295 /* This stuff is basically class callback functions | 292 /* This stuff is basically class callback functions |
296 * The current classes are SSL_CTX, SSL, SSL_SESSION, and a few more */ | 293 * The current classes are SSL_CTX, SSL, SSL_SESSION, and a few more */ |
297 | 294 |
298 typedef struct crypto_ex_data_func_st | 295 typedef struct crypto_ex_data_func_st |
299 { | 296 { |
300 long argl; /* Arbitary long */ | 297 long argl; /* Arbitary long */ |
301 void *argp; /* Arbitary void * */ | 298 void *argp; /* Arbitary void * */ |
302 CRYPTO_EX_new *new_func; | 299 CRYPTO_EX_new *new_func; |
303 CRYPTO_EX_free *free_func; | 300 CRYPTO_EX_free *free_func; |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
340 malloc, realloc, free) | 337 malloc, realloc, free) |
341 | 338 |
342 #if defined CRYPTO_MDEBUG_ALL || defined CRYPTO_MDEBUG_TIME || defined CRYPTO_MD
EBUG_THREAD | 339 #if defined CRYPTO_MDEBUG_ALL || defined CRYPTO_MDEBUG_TIME || defined CRYPTO_MD
EBUG_THREAD |
343 # ifndef CRYPTO_MDEBUG /* avoid duplicate #define */ | 340 # ifndef CRYPTO_MDEBUG /* avoid duplicate #define */ |
344 # define CRYPTO_MDEBUG | 341 # define CRYPTO_MDEBUG |
345 # endif | 342 # endif |
346 #endif | 343 #endif |
347 | 344 |
348 /* Set standard debugging functions (not done by default | 345 /* Set standard debugging functions (not done by default |
349 * unless CRYPTO_MDEBUG is defined) */ | 346 * unless CRYPTO_MDEBUG is defined) */ |
350 void CRYPTO_malloc_debug_init(void); | 347 #define CRYPTO_malloc_debug_init()» do {\ |
| 348 » CRYPTO_set_mem_debug_functions(\ |
| 349 » » CRYPTO_dbg_malloc,\ |
| 350 » » CRYPTO_dbg_realloc,\ |
| 351 » » CRYPTO_dbg_free,\ |
| 352 » » CRYPTO_dbg_set_options,\ |
| 353 » » CRYPTO_dbg_get_options);\ |
| 354 » } while(0) |
351 | 355 |
352 int CRYPTO_mem_ctrl(int mode); | 356 int CRYPTO_mem_ctrl(int mode); |
353 int CRYPTO_is_mem_check_on(void); | 357 int CRYPTO_is_mem_check_on(void); |
354 | 358 |
355 /* for applications */ | 359 /* for applications */ |
356 #define MemCheck_start() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON) | 360 #define MemCheck_start() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON) |
357 #define MemCheck_stop() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_OFF) | 361 #define MemCheck_stop() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_OFF) |
358 | 362 |
359 /* for library-internal use */ | 363 /* for library-internal use */ |
360 #define MemCheck_on() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ENABLE) | 364 #define MemCheck_on() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ENABLE) |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
413 int CRYPTO_num_locks(void); /* return CRYPTO_NUM_LOCKS (shared libs!) */ | 417 int CRYPTO_num_locks(void); /* return CRYPTO_NUM_LOCKS (shared libs!) */ |
414 void CRYPTO_lock(int mode, int type,const char *file,int line); | 418 void CRYPTO_lock(int mode, int type,const char *file,int line); |
415 void CRYPTO_set_locking_callback(void (*func)(int mode,int type, | 419 void CRYPTO_set_locking_callback(void (*func)(int mode,int type, |
416 const char *file,int line)); | 420 const char *file,int line)); |
417 void (*CRYPTO_get_locking_callback(void))(int mode,int type,const char *file, | 421 void (*CRYPTO_get_locking_callback(void))(int mode,int type,const char *file, |
418 int line); | 422 int line); |
419 void CRYPTO_set_add_lock_callback(int (*func)(int *num,int mount,int type, | 423 void CRYPTO_set_add_lock_callback(int (*func)(int *num,int mount,int type, |
420 const char *file, int line)); | 424 const char *file, int line)); |
421 int (*CRYPTO_get_add_lock_callback(void))(int *num,int mount,int type, | 425 int (*CRYPTO_get_add_lock_callback(void))(int *num,int mount,int type, |
422 const char *file,int line); | 426 const char *file,int line); |
| 427 |
| 428 /* Don't use this structure directly. */ |
| 429 typedef struct crypto_threadid_st |
| 430 { |
| 431 void *ptr; |
| 432 unsigned long val; |
| 433 } CRYPTO_THREADID; |
| 434 /* Only use CRYPTO_THREADID_set_[numeric|pointer]() within callbacks */ |
| 435 void CRYPTO_THREADID_set_numeric(CRYPTO_THREADID *id, unsigned long val); |
| 436 void CRYPTO_THREADID_set_pointer(CRYPTO_THREADID *id, void *ptr); |
| 437 int CRYPTO_THREADID_set_callback(void (*threadid_func)(CRYPTO_THREADID *)); |
| 438 void (*CRYPTO_THREADID_get_callback(void))(CRYPTO_THREADID *); |
| 439 void CRYPTO_THREADID_current(CRYPTO_THREADID *id); |
| 440 int CRYPTO_THREADID_cmp(const CRYPTO_THREADID *a, const CRYPTO_THREADID *b); |
| 441 void CRYPTO_THREADID_cpy(CRYPTO_THREADID *dest, const CRYPTO_THREADID *src); |
| 442 unsigned long CRYPTO_THREADID_hash(const CRYPTO_THREADID *id); |
| 443 #ifndef OPENSSL_NO_DEPRECATED |
423 void CRYPTO_set_id_callback(unsigned long (*func)(void)); | 444 void CRYPTO_set_id_callback(unsigned long (*func)(void)); |
424 unsigned long (*CRYPTO_get_id_callback(void))(void); | 445 unsigned long (*CRYPTO_get_id_callback(void))(void); |
425 unsigned long CRYPTO_thread_id(void); | 446 unsigned long CRYPTO_thread_id(void); |
| 447 #endif |
| 448 |
426 const char *CRYPTO_get_lock_name(int type); | 449 const char *CRYPTO_get_lock_name(int type); |
427 int CRYPTO_add_lock(int *pointer,int amount,int type, const char *file, | 450 int CRYPTO_add_lock(int *pointer,int amount,int type, const char *file, |
428 int line); | 451 int line); |
429 | 452 |
430 void int_CRYPTO_set_do_dynlock_callback( | |
431 void (*do_dynlock_cb)(int mode, int type, const char *file, int line)); | |
432 | |
433 int CRYPTO_get_new_dynlockid(void); | 453 int CRYPTO_get_new_dynlockid(void); |
434 void CRYPTO_destroy_dynlockid(int i); | 454 void CRYPTO_destroy_dynlockid(int i); |
435 struct CRYPTO_dynlock_value *CRYPTO_get_dynlock_value(int i); | 455 struct CRYPTO_dynlock_value *CRYPTO_get_dynlock_value(int i); |
436 void CRYPTO_set_dynlock_create_callback(struct CRYPTO_dynlock_value *(*dyn_creat
e_function)(const char *file, int line)); | 456 void CRYPTO_set_dynlock_create_callback(struct CRYPTO_dynlock_value *(*dyn_creat
e_function)(const char *file, int line)); |
437 void CRYPTO_set_dynlock_lock_callback(void (*dyn_lock_function)(int mode, struct
CRYPTO_dynlock_value *l, const char *file, int line)); | 457 void CRYPTO_set_dynlock_lock_callback(void (*dyn_lock_function)(int mode, struct
CRYPTO_dynlock_value *l, const char *file, int line)); |
438 void CRYPTO_set_dynlock_destroy_callback(void (*dyn_destroy_function)(struct CRY
PTO_dynlock_value *l, const char *file, int line)); | 458 void CRYPTO_set_dynlock_destroy_callback(void (*dyn_destroy_function)(struct CRY
PTO_dynlock_value *l, const char *file, int line)); |
439 struct CRYPTO_dynlock_value *(*CRYPTO_get_dynlock_create_callback(void))(const c
har *file,int line); | 459 struct CRYPTO_dynlock_value *(*CRYPTO_get_dynlock_create_callback(void))(const c
har *file,int line); |
440 void (*CRYPTO_get_dynlock_lock_callback(void))(int mode, struct CRYPTO_dynlock_v
alue *l, const char *file,int line); | 460 void (*CRYPTO_get_dynlock_lock_callback(void))(int mode, struct CRYPTO_dynlock_v
alue *l, const char *file,int line); |
441 void (*CRYPTO_get_dynlock_destroy_callback(void))(struct CRYPTO_dynlock_value *l
, const char *file,int line); | 461 void (*CRYPTO_get_dynlock_destroy_callback(void))(struct CRYPTO_dynlock_value *l
, const char *file,int line); |
442 | 462 |
443 /* CRYPTO_set_mem_functions includes CRYPTO_set_locked_mem_functions -- | 463 /* CRYPTO_set_mem_functions includes CRYPTO_set_locked_mem_functions -- |
444 * call the latter last if you need different functions */ | 464 * call the latter last if you need different functions */ |
445 int CRYPTO_set_mem_functions(void *(*m)(size_t),void *(*r)(void *,size_t), void
(*f)(void *)); | 465 int CRYPTO_set_mem_functions(void *(*m)(size_t),void *(*r)(void *,size_t), void
(*f)(void *)); |
446 int CRYPTO_set_locked_mem_functions(void *(*m)(size_t), void (*free_func)(void *
)); | 466 int CRYPTO_set_locked_mem_functions(void *(*m)(size_t), void (*free_func)(void *
)); |
447 int CRYPTO_set_mem_ex_functions(void *(*m)(size_t,const char *,int), | 467 int CRYPTO_set_mem_ex_functions(void *(*m)(size_t,const char *,int), |
448 void *(*r)(void *,size_t,const char *,int), | 468 void *(*r)(void *,size_t,const char *,int), |
449 void (*f)(void *)); | 469 void (*f)(void *)); |
450 int CRYPTO_set_locked_mem_ex_functions(void *(*m)(size_t,const char *,int), | 470 int CRYPTO_set_locked_mem_ex_functions(void *(*m)(size_t,const char *,int), |
451 void (*free_func)(void *)); | 471 void (*free_func)(void *)); |
452 int CRYPTO_set_mem_debug_functions(void (*m)(void *,int,const char *,int,int), | 472 int CRYPTO_set_mem_debug_functions(void (*m)(void *,int,const char *,int,int), |
453 void (*r)(void *,void *,int,const char *,int,
int), | 473 void (*r)(void *,void *,int,const char *,int,
int), |
454 void (*f)(void *,int), | 474 void (*f)(void *,int), |
455 void (*so)(long), | 475 void (*so)(long), |
456 long (*go)(void)); | 476 long (*go)(void)); |
457 void CRYPTO_set_mem_info_functions( | |
458 int (*push_info_fn)(const char *info, const char *file, int line), | |
459 int (*pop_info_fn)(void), | |
460 int (*remove_all_info_fn)(void)); | |
461 void CRYPTO_get_mem_functions(void *(**m)(size_t),void *(**r)(void *, size_t), v
oid (**f)(void *)); | 477 void CRYPTO_get_mem_functions(void *(**m)(size_t),void *(**r)(void *, size_t), v
oid (**f)(void *)); |
462 void CRYPTO_get_locked_mem_functions(void *(**m)(size_t), void (**f)(void *)); | 478 void CRYPTO_get_locked_mem_functions(void *(**m)(size_t), void (**f)(void *)); |
463 void CRYPTO_get_mem_ex_functions(void *(**m)(size_t,const char *,int), | 479 void CRYPTO_get_mem_ex_functions(void *(**m)(size_t,const char *,int), |
464 void *(**r)(void *, size_t,const char *,int), | 480 void *(**r)(void *, size_t,const char *,int), |
465 void (**f)(void *)); | 481 void (**f)(void *)); |
466 void CRYPTO_get_locked_mem_ex_functions(void *(**m)(size_t,const char *,int), | 482 void CRYPTO_get_locked_mem_ex_functions(void *(**m)(size_t,const char *,int), |
467 void (**f)(void *)); | 483 void (**f)(void *)); |
468 void CRYPTO_get_mem_debug_functions(void (**m)(void *,int,const char *,int,int), | 484 void CRYPTO_get_mem_debug_functions(void (**m)(void *,int,const char *,int,int), |
469 void (**r)(void *,void *,int,const char *,in
t,int), | 485 void (**r)(void *,void *,int,const char *,in
t,int), |
470 void (**f)(void *,int), | 486 void (**f)(void *,int), |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
507 * apply: | 523 * apply: |
508 * | 524 * |
509 * 0: Clear all options. | 525 * 0: Clear all options. |
510 * V_CRYPTO_MDEBUG_TIME (1): Set the "Show Time" option. | 526 * V_CRYPTO_MDEBUG_TIME (1): Set the "Show Time" option. |
511 * V_CRYPTO_MDEBUG_THREAD (2): Set the "Show Thread Number" option. | 527 * V_CRYPTO_MDEBUG_THREAD (2): Set the "Show Thread Number" option. |
512 * V_CRYPTO_MDEBUG_ALL (3): 1 + 2 | 528 * V_CRYPTO_MDEBUG_ALL (3): 1 + 2 |
513 */ | 529 */ |
514 void CRYPTO_dbg_set_options(long bits); | 530 void CRYPTO_dbg_set_options(long bits); |
515 long CRYPTO_dbg_get_options(void); | 531 long CRYPTO_dbg_get_options(void); |
516 | 532 |
517 int CRYPTO_dbg_push_info(const char *info, const char *file, int line); | |
518 int CRYPTO_dbg_pop_info(void); | |
519 int CRYPTO_dbg_remove_all_info(void); | |
520 | 533 |
521 #ifndef OPENSSL_NO_FP_API | 534 #ifndef OPENSSL_NO_FP_API |
522 void CRYPTO_mem_leaks_fp(FILE *); | 535 void CRYPTO_mem_leaks_fp(FILE *); |
523 #endif | 536 #endif |
524 void CRYPTO_mem_leaks(struct bio_st *bio); | 537 void CRYPTO_mem_leaks(struct bio_st *bio); |
525 /* unsigned long order, char *file, int line, int num_bytes, char *addr */ | 538 /* unsigned long order, char *file, int line, int num_bytes, char *addr */ |
526 typedef void *CRYPTO_MEM_LEAK_CB(unsigned long, const char *, int, int, void *); | 539 typedef void *CRYPTO_MEM_LEAK_CB(unsigned long, const char *, int, int, void *); |
527 void CRYPTO_mem_leaks_cb(CRYPTO_MEM_LEAK_CB *cb); | 540 void CRYPTO_mem_leaks_cb(CRYPTO_MEM_LEAK_CB *cb); |
528 | 541 |
529 /* die if we have to */ | 542 /* die if we have to */ |
530 void OpenSSLDie(const char *file,int line,const char *assertion); | 543 void OpenSSLDie(const char *file,int line,const char *assertion); |
531 #define OPENSSL_assert(e) (void)((e) ? 0 : (OpenSSLDie(__FILE__, __LINE__,
#e),1)) | 544 #define OPENSSL_assert(e) (void)((e) ? 0 : (OpenSSLDie(__FILE__, __LINE__,
#e),1)) |
532 | 545 |
533 unsigned long *OPENSSL_ia32cap_loc(void); | 546 unsigned long *OPENSSL_ia32cap_loc(void); |
534 #define OPENSSL_ia32cap (*(OPENSSL_ia32cap_loc())) | 547 #define OPENSSL_ia32cap (*(OPENSSL_ia32cap_loc())) |
535 int OPENSSL_isservice(void); | 548 int OPENSSL_isservice(void); |
536 | 549 |
537 #ifdef OPENSSL_FIPS | |
538 #define FIPS_ERROR_IGNORED(alg) OpenSSLDie(__FILE__, __LINE__, \ | |
539 alg " previous FIPS forbidden algorithm error ignored"); | |
540 | |
541 #define FIPS_BAD_ABORT(alg) OpenSSLDie(__FILE__, __LINE__, \ | |
542 #alg " Algorithm forbidden in FIPS mode"); | |
543 | |
544 #ifdef OPENSSL_FIPS_STRICT | |
545 #define FIPS_BAD_ALGORITHM(alg) FIPS_BAD_ABORT(alg) | |
546 #else | |
547 #define FIPS_BAD_ALGORITHM(alg) \ | |
548 { \ | |
549 FIPSerr(FIPS_F_HASH_FINAL,FIPS_R_NON_FIPS_METHOD); \ | |
550 ERR_add_error_data(2, "Algorithm=", #alg); \ | |
551 return 0; \ | |
552 } | |
553 #endif | |
554 | |
555 /* Low level digest API blocking macro */ | |
556 | |
557 #define FIPS_NON_FIPS_MD_Init(alg) \ | |
558 int alg##_Init(alg##_CTX *c) \ | |
559 { \ | |
560 if (FIPS_mode()) \ | |
561 FIPS_BAD_ALGORITHM(alg) \ | |
562 return private_##alg##_Init(c); \ | |
563 } \ | |
564 int private_##alg##_Init(alg##_CTX *c) | |
565 | |
566 /* For ciphers the API often varies from cipher to cipher and each needs to | |
567 * be treated as a special case. Variable key length ciphers (Blowfish, RC4, | |
568 * CAST) however are very similar and can use a blocking macro. | |
569 */ | |
570 | |
571 #define FIPS_NON_FIPS_VCIPHER_Init(alg) \ | |
572 void alg##_set_key(alg##_KEY *key, int len, const unsigned char *data) \ | |
573 { \ | |
574 if (FIPS_mode()) \ | |
575 FIPS_BAD_ABORT(alg) \ | |
576 private_##alg##_set_key(key, len, data); \ | |
577 } \ | |
578 void private_##alg##_set_key(alg##_KEY *key, int len, \ | |
579 const unsigned char *data) | |
580 | |
581 #else | |
582 | |
583 #define FIPS_NON_FIPS_VCIPHER_Init(alg) \ | |
584 void alg##_set_key(alg##_KEY *key, int len, const unsigned char *data) | |
585 | |
586 #define FIPS_NON_FIPS_MD_Init(alg) \ | |
587 int alg##_Init(alg##_CTX *c) | |
588 | |
589 #endif /* def OPENSSL_FIPS */ | |
590 | |
591 /* BEGIN ERROR CODES */ | 550 /* BEGIN ERROR CODES */ |
592 /* The following lines are auto generated by the script mkerr.pl. Any changes | 551 /* The following lines are auto generated by the script mkerr.pl. Any changes |
593 * made after this point may be overwritten when the script is next run. | 552 * made after this point may be overwritten when the script is next run. |
594 */ | 553 */ |
595 void ERR_load_CRYPTO_strings(void); | 554 void ERR_load_CRYPTO_strings(void); |
596 | 555 |
597 #define OPENSSL_HAVE_INIT 1 | |
598 void OPENSSL_init(void); | |
599 | |
600 /* Error codes for the CRYPTO functions. */ | 556 /* Error codes for the CRYPTO functions. */ |
601 | 557 |
602 /* Function codes. */ | 558 /* Function codes. */ |
603 #define CRYPTO_F_CRYPTO_GET_EX_NEW_INDEX 100 | 559 #define CRYPTO_F_CRYPTO_GET_EX_NEW_INDEX 100 |
604 #define CRYPTO_F_CRYPTO_GET_NEW_DYNLOCKID 103 | 560 #define CRYPTO_F_CRYPTO_GET_NEW_DYNLOCKID 103 |
605 #define CRYPTO_F_CRYPTO_GET_NEW_LOCKID 101 | 561 #define CRYPTO_F_CRYPTO_GET_NEW_LOCKID 101 |
606 #define CRYPTO_F_CRYPTO_SET_EX_DATA 102 | 562 #define CRYPTO_F_CRYPTO_SET_EX_DATA 102 |
607 #define CRYPTO_F_DEF_ADD_INDEX 104 | 563 #define CRYPTO_F_DEF_ADD_INDEX 104 |
608 #define CRYPTO_F_DEF_GET_CLASS 105 | 564 #define CRYPTO_F_DEF_GET_CLASS 105 |
609 #define CRYPTO_F_INT_DUP_EX_DATA 106 | 565 #define CRYPTO_F_INT_DUP_EX_DATA 106 |
610 #define CRYPTO_F_INT_FREE_EX_DATA 107 | 566 #define CRYPTO_F_INT_FREE_EX_DATA 107 |
611 #define CRYPTO_F_INT_NEW_EX_DATA 108 | 567 #define CRYPTO_F_INT_NEW_EX_DATA 108 |
612 | 568 |
613 /* Reason codes. */ | 569 /* Reason codes. */ |
614 #define CRYPTO_R_NO_DYNLOCK_CREATE_CALLBACK 100 | 570 #define CRYPTO_R_NO_DYNLOCK_CREATE_CALLBACK 100 |
615 | 571 |
616 #ifdef __cplusplus | 572 #ifdef __cplusplus |
617 } | 573 } |
618 #endif | 574 #endif |
619 #endif | 575 #endif |
OLD | NEW |