00001
00002
00003
00004
00005 #ifndef __SSLGEN_H
00006 #define __SSLGEN_H
00007
00008 bool Curl_ssl_config_matches(struct ssl_config_data* data,
00009 struct ssl_config_data* needle);
00010 bool Curl_clone_ssl_config(struct ssl_config_data* source,
00011 struct ssl_config_data* dest);
00012 void Curl_free_ssl_config(struct ssl_config_data* sslc);
00013
00014 int Curl_ssl_init(void);
00015 void Curl_ssl_cleanup(void);
00016 CURLcode Curl_ssl_connect(struct connectdata *conn, int sockindex);
00017 CURLcode Curl_ssl_connect_nonblocking(struct connectdata *conn,
00018 int sockindex,
00019 bool *done);
00020 void Curl_ssl_close(struct connectdata *conn);
00021
00022 void Curl_ssl_close_all(struct SessionHandle *data);
00023 CURLcode Curl_ssl_set_engine(struct SessionHandle *data, const char *engine);
00024
00025 CURLcode Curl_ssl_set_engine_default(struct SessionHandle *data);
00026 ssize_t Curl_ssl_send(struct connectdata *conn,
00027 int sockindex,
00028 void *mem,
00029 size_t len);
00030 ssize_t Curl_ssl_recv(struct connectdata *conn,
00031 int sockindex,
00032 char *mem,
00033 size_t len);
00034
00035 CURLcode Curl_ssl_initsessions(struct SessionHandle *, long);
00036
00037 int Curl_ssl_getsessionid(struct connectdata *conn,
00038 void **ssl_sessionid,
00039 size_t *idsize) ;
00040
00041 CURLcode Curl_ssl_addsessionid(struct connectdata *conn,
00042 void *ssl_sessionid,
00043 size_t idsize);
00044
00045 struct curl_slist *Curl_ssl_engines_list(struct SessionHandle *data);
00046
00047 size_t Curl_ssl_version(char *buffer, size_t size);
00048
00049 int Curl_ssl_check_cxn(struct connectdata *conn);
00050
00051 CURLcode Curl_ssl_shutdown(struct connectdata *conn, int sockindex);
00052
00053 bool Curl_ssl_data_pending(struct connectdata *conn,
00054 int connindex);
00055
00056 #if !defined(USE_SSL) && !defined(SSLGEN_C)
00057
00058 #define Curl_ssl_close_all(x)
00059 #endif
00060
00061 #define SSL_SHUTDOWN_TIMEOUT 10000
00062
00063 #endif