3proxy/src/plugins/SSLPlugin/my_ssl.h

43 lines
887 B
C
Raw Normal View History

2014-04-08 17:03:21 +08:00
#ifndef __my_ssl_h__
#define __my_ssl_h__
//
// opaque connection structure
//
typedef void *SSL_CONN;
//
// opaque certificate structure
//
typedef void *SSL_CERT;
//
// Create copy of certificate signed by "other" CA
//
SSL_CERT ssl_copy_cert(SSL_CERT cert);
//
// SSL/TLS handshakes
//
2015-05-16 23:14:35 +08:00
SSL_CONN ssl_handshake_to_server(SOCKET s, char * hostname, SSL_CERT *server_cert, char **errSSL);
2014-04-08 17:03:21 +08:00
SSL_CONN ssl_handshake_to_client(SOCKET s, SSL_CERT server_cert, char **errSSL);
//
// SSL/TLS Read/Write
//
int ssl_read(SSL_CONN connection, void * buf, int bufsize);
int ssl_write(SSL_CONN connection, void * buf, int bufsize);
int ssl_pending(SSL_CONN connection);
//
// Release of opaque structures
//
void ssl_conn_free(SSL_CONN connection);
void _ssl_cert_free(SSL_CERT cert);
//
// Global (de)initialization
//
void ssl_init(void);
void ssl_release(void);
#endif // __my_ssl_h__