20 #ifndef _freetds_tls_h_ 
   21 #define _freetds_tls_h_ 
   24 #error tds.h must be included before tls.h 
   28 #  if defined(_THREAD_SAFE) && defined(TDS_HAVE_PTHREAD_MUTEX) 
   29 #    include <freetds/thread.h> 
   30 #    ifndef GNUTLS_USE_NETTLE 
   34 #  include <gnutls/gnutls.h> 
   35 #  include <gnutls/x509.h> 
   36 #elif defined(HAVE_OPENSSL) 
   37 #  include <openssl/ssl.h> 
   38 #  include <openssl/x509v3.h> 
   39 #  include <openssl/err.h> 
   42 #include <freetds/pushvis.h> 
   44 #if defined(HAVE_GNUTLS) || defined(HAVE_OPENSSL) 
   53     return gnutls_record_check_pending((gnutls_session_t) conn->tls_session);
 
   57 tds_ssl_read(
TDSCONNECTION *conn, 
unsigned char *buf, 
int buflen)
 
   59     return gnutls_record_recv((gnutls_session_t) conn->tls_session, buf, buflen);
 
   63 tds_ssl_write(
TDSCONNECTION *conn, 
const unsigned char *buf, 
int buflen)
 
   65     return gnutls_record_send((gnutls_session_t) conn->tls_session, buf, buflen);
 
   70 #ifdef LIBRESSL_VERSION_NUMBER 
   71 #define TLS_ST_OK SSL_ST_OK 
   77     return SSL_pending((SSL *) conn->tls_session);
 
   81 tds_ssl_read(
TDSCONNECTION *conn, 
unsigned char *buf, 
int buflen)
 
   83     return SSL_read((SSL *) conn->tls_session, buf, buflen);
 
   87 tds_ssl_write(
TDSCONNECTION *conn, 
const unsigned char *buf, 
int buflen)
 
   89     return SSL_write((SSL *) conn->tls_session, buf, buflen);
 
  111 tds_ssl_read(
TDSCONNECTION *conn, 
unsigned char *buf, 
int buflen)
 
  117 tds_ssl_write(
TDSCONNECTION *conn, 
const unsigned char *buf, 
int buflen)
 
  123 #include <freetds/popvis.h>