#ifdef DYNAMIC_LINK_LIBRARY extern void (*_ERR_print_errors_fp)(FILE *fp); extern SSL_CTX *(*_SSL_CTX_new)(SSL_METHOD *meth); extern SSL_METHOD *(*_SSLv23_method)(void); extern void (*_SSL_load_error_strings)(); extern void (*_SSLeay_add_ssl_algorithms)(); extern int (*_SSL_accept)(SSL *ssl); extern int (*_SSL_set_fd)(SSL *s, int fd); extern void (*_SSL_free)(SSL *ssl); extern int (*_SSL_use_certificate_file)(); extern int (*_SSL_use_RSAPrivateKey_file)(); extern SSL *(*_SSL_new)(SSL_CTX *ctx); extern int (*_SSL_connect)(SSL *ssl); extern int (*_SSL_write)(SSL *ssl,char *buf,int num); extern int (*_SSL_read)(SSL *ssl,char *buf,int num); extern X509 *(*_SSL_get_peer_certificate)(SSL *s); extern void (*_SSL_set_verify)(SSL *s, int mode, int (*callback) ()); extern void (*_SSL_CTX_set_verify)(SSL_CTX *ctx,int mode,int (*callback)()); extern void (*_SSL_CTX_free)(SSL_CTX *); extern void (*_SSL_CTX_set_client_CA_list)(SSL_CTX *ctx, STACK *list); extern STACK *(*_SSL_load_client_CA_file)(char *file); extern int (*_SSL_CTX_use_RSAPrivateKey_file)(SSL_CTX *ctx, char *file, int type); extern int (*_SSL_CTX_use_certificate_file)(SSL_CTX *ctx, char *file, int type); extern char *(*_X509_NAME_oneline)(X509_NAME *a,char *buf,int size); extern X509_NAME * (*_X509_get_subject_name)(); extern X509_NAME * (*_X509_get_issuer_name)(); extern char *(*_ERR_error_string)(unsigned long e,char *buf); extern char *(*_ERR_error_string)(); #else /* !DYNAMIC_LINK_LIBRARY */ #define _ERR_print_errors_fp ERR_print_errors_fp #define _SSL_CTX_new SSL_CTX_new #define _SSLv23_method SSLv23_method #define _SSL_load_error_strings SSL_load_error_strings #define _SSLeay_add_ssl_algorithms SSLeay_add_ssl_algorithms #define _SSL_accept SSL_accept #define _SSL_set_fd SSL_set_fd #define _SSL_free SSL_free #define _SSL_use_certificate_file SSL_use_certificate_file #define _SSL_use_RSAPrivateKey_file SSL_use_RSAPrivateKey_file #define _SSL_new SSL_new #define _SSL_connect SSL_connect #define _SSL_write SSL_write #define _SSL_read SSL_read #define _SSL_get_peer_certificate SSL_get_peer_certificate #define _SSL_set_verify SSL_set_verify #define _SSL_get_verify_result SSL_get_verify_result #define _SSL_CTX_set_verify SSL_CTX_set_verify #define _SSL_CTX_free SSL_CTX_free #define _SSL_CTX_set_client_CA_list SSL_CTX_set_client_CA_list #define _SSL_load_client_CA_file SSL_load_client_CA_file #define _SSL_CTX_use_RSAPrivateKey_file SSL_CTX_use_RSAPrivateKey_file #define _SSL_CTX_use_certificate_file SSL_CTX_use_certificate_file #define _X509_NAME_oneline X509_NAME_oneline #define _X509_get_subject_name X509_get_subject_name #define _X509_get_issuer_name X509_get_issuer_name #define _ERR_get_error ERR_get_error #define _ERR_error_string ERR_error_string #if SSLEAY_VERSION_NUMBER >= 0x0900 #define _RSA_generate_key(a,b,c) RSA_generate_key(a,b,c,0) #else #define _RSA_generate_key(a,b,c) RSA_generate_key(a,b,c) #endif #endif /* !DYNAMIC_LINK_LIBRARY */