-#include "openssl/bio.h"
-#include "openssl/ssl.h"
-#include "openssl/err.h"
+/* OpenSSL header files include system headers that ml-nlffigen can't
+ parse, include any needed typedefs or forward declarations here.
+ */
+typedef struct bio_st BIO;
+typedef struct ssl_st SSL;
+typedef struct ssl_ctx_st SSL_CTX;
+typedef struct ssl_method_st SSL_METHOD;
void OpenSSL_SML_init(void);
void OpenSSL_SML_load_error_strings(void);
void OpenSSL_SML_load_BIO_strings(void);
int OpenSSL_SML_get_error(void);
+int OpenSSL_SML_should_retry(BIO *b);
const char *OpenSSL_SML_lib_error_string(int err);
const char *OpenSSL_SML_func_error_string(int err);
const char *OpenSSL_SML_reason_error_string(int err);
BIO *OpenSSL_SML_new_accept(SSL_CTX *ctx, char *port);
BIO *OpenSSL_SML_pop(BIO *b);
+BIO *OpenSSL_SML_next(BIO *b);
+
+int OpenSSL_SML_puts(BIO *b, const char *buf);