#ifndef MARS_MATRIXSSL_OPENSSL_BIO_H #define MARS_MATRIXSSL_OPENSSL_BIO_H #include #ifdef __cplusplus extern "C" { #endif const BIO_METHOD *BIO_s_mem(void); BIO *BIO_new(const BIO_METHOD *method); BIO *BIO_new_ssl_connect(SSL_CTX *ctx); void BIO_free(BIO *bio); void BIO_free_all(BIO *bio); int BIO_get_ssl(BIO *bio, SSL **ssl); void BIO_set_conn_hostname(BIO *bio, const char *name); void BIO_set_conn_port(BIO *bio, const char *port); int BIO_do_connect(BIO *bio); int BIO_read(BIO *bio, void *buf, int len); int BIO_write(BIO *bio, const void *buf, int len); int BIO_should_retry(BIO *bio); long BIO_get_mem_data(BIO *bio, const char **data); int PEM_write_bio_X509(BIO *bio, X509 *cert); #ifdef __cplusplus } #endif #endif