 C-TYPE: X509_STORE
 FUNCTION: X509_STORE* X509_STORE_new ( )
 
+CONSTANT: X509_R_CERT_ALREADY_IN_HASH_TABLE 101
+FUNCTION: int X509_STORE_add_cert ( X509_STORE* ctx, X509* x )
+
+! X509_NAME_oneline could return c-string but needs to be freed with OPENSSL_free
+FUNCTION: char* X509_NAME_oneline ( X509_NAME* a, char* buf, int size )
+
 FUNCTION: X509* d2i_X509 ( X509** px, uchar** in, int len )
 FUNCTION: int i2d_X509 ( X509* x, uchar** out )
 ! FUNCTION: X509* d2i_X509_bio ( BIO* bp, X509** x )

CONSTANT: NID_issuer_alt_name   86

! ===============================================
! On Windows, some of the functions making up libssl are placed in the
! libeay32.dll and not in the similarily named ssleay32.dll file.
! ===============================================

<< os windows? [
    "libssl-windows"
    [ "libeay32.dll" cdecl add-library ] [ current-library set ] bi
] when >>

! x509.h

FUNCTION: int SSL_CTX_use_certificate_chain_file ( SSL_CTX* ctx,
                                                   c-string file ) ! PEM type

FUNCTION: int SSL_CTX_use_certificate ( SSL_CTX* ctx, X509* x )

FUNCTION: SSL* SSL_new ( SSL_CTX* ctx )

FUNCTION: int SSL_set_fd ( SSL* ssl, int fd )
