-#include "openssl/bio.h"
-#include "openssl/ssl.h"
-#include "openssl/err.h"
+#include <openssl/ossl_typ.h>
+
+/* SSL_METHOD is defined in <openssl/ssl.h>, which #includes system
+ headers that ml-nlffigen can't parse. */
+
+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_pop(BIO *b);
BIO *OpenSSL_SML_next(BIO *b);
+
+int OpenSSL_SML_puts(BIO *b, const char *buf);