/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_wolfssl_WolfSSL */

#ifndef _Included_com_wolfssl_WolfSSL
#define _Included_com_wolfssl_WolfSSL
#ifdef __cplusplus
extern "C" {
#endif
#undef com_wolfssl_WolfSSL_JNI_SESSION_UNAVAILABLE
#define com_wolfssl_WolfSSL_JNI_SESSION_UNAVAILABLE -10001L
#undef com_wolfssl_WolfSSL_WOLFJNI_IO_EVENT_FAIL
#define com_wolfssl_WolfSSL_WOLFJNI_IO_EVENT_FAIL -10L
#undef com_wolfssl_WolfSSL_WOLFJNI_IO_EVENT_TIMEOUT
#define com_wolfssl_WolfSSL_WOLFJNI_IO_EVENT_TIMEOUT -11L
#undef com_wolfssl_WolfSSL_WOLFJNI_IO_EVENT_ERROR
#define com_wolfssl_WolfSSL_WOLFJNI_IO_EVENT_ERROR -14L
#undef com_wolfssl_WolfSSL_WOLFJNI_IO_EVENT_FD_CLOSED
#define com_wolfssl_WolfSSL_WOLFJNI_IO_EVENT_FD_CLOSED -15L
#undef com_wolfssl_WolfSSL_WOLFJNI_IO_EVENT_POLLHUP
#define com_wolfssl_WolfSSL_WOLFJNI_IO_EVENT_POLLHUP -16L
#undef com_wolfssl_WolfSSL_WOLFJNI_IO_EVENT_INVALID_TIMEOUT
#define com_wolfssl_WolfSSL_WOLFJNI_IO_EVENT_INVALID_TIMEOUT -17L
#undef com_wolfssl_WolfSSL_SSL_ERROR_NONE
#define com_wolfssl_WolfSSL_SSL_ERROR_NONE 0L
#undef com_wolfssl_WolfSSL_SSL_FAILURE
#define com_wolfssl_WolfSSL_SSL_FAILURE 0L
#undef com_wolfssl_WolfSSL_SSL_SUCCESS
#define com_wolfssl_WolfSSL_SSL_SUCCESS 1L
#undef com_wolfssl_WolfSSL_SSL_SHUTDOWN_NOT_DONE
#define com_wolfssl_WolfSSL_SSL_SHUTDOWN_NOT_DONE 2L
#undef com_wolfssl_WolfSSL_SSL_BAD_CERTTYPE
#define com_wolfssl_WolfSSL_SSL_BAD_CERTTYPE -8L
#undef com_wolfssl_WolfSSL_SSL_BAD_STAT
#define com_wolfssl_WolfSSL_SSL_BAD_STAT -7L
#undef com_wolfssl_WolfSSL_SSL_BAD_PATH
#define com_wolfssl_WolfSSL_SSL_BAD_PATH -6L
#undef com_wolfssl_WolfSSL_SSL_BAD_FILETYPE
#define com_wolfssl_WolfSSL_SSL_BAD_FILETYPE -5L
#undef com_wolfssl_WolfSSL_SSL_BAD_FILE
#define com_wolfssl_WolfSSL_SSL_BAD_FILE -4L
#undef com_wolfssl_WolfSSL_SSL_NOT_IMPLEMENTED
#define com_wolfssl_WolfSSL_SSL_NOT_IMPLEMENTED -3L
#undef com_wolfssl_WolfSSL_SSL_UNKNOWN
#define com_wolfssl_WolfSSL_SSL_UNKNOWN -2L
#undef com_wolfssl_WolfSSL_SSL_FATAL_ERROR
#define com_wolfssl_WolfSSL_SSL_FATAL_ERROR -1L
#undef com_wolfssl_WolfSSL_SSL_FILETYPE_ASN1
#define com_wolfssl_WolfSSL_SSL_FILETYPE_ASN1 2L
#undef com_wolfssl_WolfSSL_SSL_FILETYPE_PEM
#define com_wolfssl_WolfSSL_SSL_FILETYPE_PEM 1L
#undef com_wolfssl_WolfSSL_SSL_FILETYPE_DEFAULT
#define com_wolfssl_WolfSSL_SSL_FILETYPE_DEFAULT 2L
#undef com_wolfssl_WolfSSL_SSL_FILETYPE_RAW
#define com_wolfssl_WolfSSL_SSL_FILETYPE_RAW 3L
#undef com_wolfssl_WolfSSL_SSL_VERIFY_NONE
#define com_wolfssl_WolfSSL_SSL_VERIFY_NONE 0L
#undef com_wolfssl_WolfSSL_SSL_VERIFY_PEER
#define com_wolfssl_WolfSSL_SSL_VERIFY_PEER 1L
#undef com_wolfssl_WolfSSL_SSL_VERIFY_FAIL_IF_NO_PEER_CERT
#define com_wolfssl_WolfSSL_SSL_VERIFY_FAIL_IF_NO_PEER_CERT 2L
#undef com_wolfssl_WolfSSL_SSL_VERIFY_CLIENT_ONCE
#define com_wolfssl_WolfSSL_SSL_VERIFY_CLIENT_ONCE 4L
#undef com_wolfssl_WolfSSL_SSL_SESS_CACHE_OFF
#define com_wolfssl_WolfSSL_SSL_SESS_CACHE_OFF 30L
#undef com_wolfssl_WolfSSL_SSL_SESS_CACHE_CLIENT
#define com_wolfssl_WolfSSL_SSL_SESS_CACHE_CLIENT 31L
#undef com_wolfssl_WolfSSL_SSL_SESS_CACHE_SERVER
#define com_wolfssl_WolfSSL_SSL_SESS_CACHE_SERVER 32L
#undef com_wolfssl_WolfSSL_SSL_SESS_CACHE_BOTH
#define com_wolfssl_WolfSSL_SSL_SESS_CACHE_BOTH 33L
#undef com_wolfssl_WolfSSL_SSL_SESS_CACHE_NO_AUTO_CLEAR
#define com_wolfssl_WolfSSL_SSL_SESS_CACHE_NO_AUTO_CLEAR 34L
#undef com_wolfssl_WolfSSL_SSL_SESS_CACHE_NO_INTERNAL_LOOKUP
#define com_wolfssl_WolfSSL_SSL_SESS_CACHE_NO_INTERNAL_LOOKUP 35L
#undef com_wolfssl_WolfSSL_SSL_ERROR_WANT_READ
#define com_wolfssl_WolfSSL_SSL_ERROR_WANT_READ 2L
#undef com_wolfssl_WolfSSL_SSL_ERROR_WANT_WRITE
#define com_wolfssl_WolfSSL_SSL_ERROR_WANT_WRITE 3L
#undef com_wolfssl_WolfSSL_SSL_ERROR_WANT_CONNECT
#define com_wolfssl_WolfSSL_SSL_ERROR_WANT_CONNECT 7L
#undef com_wolfssl_WolfSSL_SSL_ERROR_WANT_ACCEPT
#define com_wolfssl_WolfSSL_SSL_ERROR_WANT_ACCEPT 8L
#undef com_wolfssl_WolfSSL_SSL_ERROR_SYSCALL
#define com_wolfssl_WolfSSL_SSL_ERROR_SYSCALL 5L
#undef com_wolfssl_WolfSSL_SSL_ERROR_WANT_X509_LOOKUP
#define com_wolfssl_WolfSSL_SSL_ERROR_WANT_X509_LOOKUP 83L
#undef com_wolfssl_WolfSSL_SSL_ERROR_ZERO_RETURN
#define com_wolfssl_WolfSSL_SSL_ERROR_ZERO_RETURN 6L
#undef com_wolfssl_WolfSSL_SSL_ERROR_SSL
#define com_wolfssl_WolfSSL_SSL_ERROR_SSL 85L
#undef com_wolfssl_WolfSSL_SOCKET_ERROR_E
#define com_wolfssl_WolfSSL_SOCKET_ERROR_E -308L
#undef com_wolfssl_WolfSSL_FATAL_ERROR
#define com_wolfssl_WolfSSL_FATAL_ERROR -313L
#undef com_wolfssl_WolfSSL_OUT_OF_ORDER_E
#define com_wolfssl_WolfSSL_OUT_OF_ORDER_E -373L
#undef com_wolfssl_WolfSSL_SSL_ERROR_SOCKET_PEER_CLOSED
#define com_wolfssl_WolfSSL_SSL_ERROR_SOCKET_PEER_CLOSED -397L
#undef com_wolfssl_WolfSSL_UNKNOWN_ALPN_PROTOCOL_NAME_E
#define com_wolfssl_WolfSSL_UNKNOWN_ALPN_PROTOCOL_NAME_E -405L
#undef com_wolfssl_WolfSSL_APP_DATA_READY
#define com_wolfssl_WolfSSL_APP_DATA_READY -441L
#undef com_wolfssl_WolfSSL_WOLFSSL_CRL_CHECKALL
#define com_wolfssl_WolfSSL_WOLFSSL_CRL_CHECKALL 1L
#undef com_wolfssl_WolfSSL_WOLFSSL_OCSP_URL_OVERRIDE
#define com_wolfssl_WolfSSL_WOLFSSL_OCSP_URL_OVERRIDE 1L
#undef com_wolfssl_WolfSSL_WOLFSSL_OCSP_NO_NONCE
#define com_wolfssl_WolfSSL_WOLFSSL_OCSP_NO_NONCE 2L
#undef com_wolfssl_WolfSSL_WOLFSSL_ALPN_NO_MATCH
#define com_wolfssl_WolfSSL_WOLFSSL_ALPN_NO_MATCH 0L
#undef com_wolfssl_WolfSSL_WOLFSSL_ALPN_MATCH
#define com_wolfssl_WolfSSL_WOLFSSL_ALPN_MATCH 1L
#undef com_wolfssl_WolfSSL_WOLFSSL_ALPN_CONTINUE_ON_MISMATCH
#define com_wolfssl_WolfSSL_WOLFSSL_ALPN_CONTINUE_ON_MISMATCH 2L
#undef com_wolfssl_WolfSSL_WOLFSSL_ALPN_FAILED_ON_MISMATCH
#define com_wolfssl_WolfSSL_WOLFSSL_ALPN_FAILED_ON_MISMATCH 4L
#undef com_wolfssl_WolfSSL_WOLFSSL_CBIO_ERR_GENERAL
#define com_wolfssl_WolfSSL_WOLFSSL_CBIO_ERR_GENERAL -1L
#undef com_wolfssl_WolfSSL_WOLFSSL_CBIO_ERR_WANT_READ
#define com_wolfssl_WolfSSL_WOLFSSL_CBIO_ERR_WANT_READ -2L
#undef com_wolfssl_WolfSSL_WOLFSSL_CBIO_ERR_WANT_WRITE
#define com_wolfssl_WolfSSL_WOLFSSL_CBIO_ERR_WANT_WRITE -2L
#undef com_wolfssl_WolfSSL_WOLFSSL_CBIO_ERR_CONN_RST
#define com_wolfssl_WolfSSL_WOLFSSL_CBIO_ERR_CONN_RST -3L
#undef com_wolfssl_WolfSSL_WOLFSSL_CBIO_ERR_ISR
#define com_wolfssl_WolfSSL_WOLFSSL_CBIO_ERR_ISR -4L
#undef com_wolfssl_WolfSSL_WOLFSSL_CBIO_ERR_CONN_CLOSE
#define com_wolfssl_WolfSSL_WOLFSSL_CBIO_ERR_CONN_CLOSE -5L
#undef com_wolfssl_WolfSSL_WOLFSSL_CBIO_ERR_TIMEOUT
#define com_wolfssl_WolfSSL_WOLFSSL_CBIO_ERR_TIMEOUT -6L
#undef com_wolfssl_WolfSSL_WOLFSSL_SERVER_END
#define com_wolfssl_WolfSSL_WOLFSSL_SERVER_END 0L
#undef com_wolfssl_WolfSSL_WOLFSSL_CLIENT_END
#define com_wolfssl_WolfSSL_WOLFSSL_CLIENT_END 1L
#undef com_wolfssl_WolfSSL_WOLFSSL_BLOCK_TYPE
#define com_wolfssl_WolfSSL_WOLFSSL_BLOCK_TYPE 2L
#undef com_wolfssl_WolfSSL_WOLFSSL_STREAM_TYPE
#define com_wolfssl_WolfSSL_WOLFSSL_STREAM_TYPE 3L
#undef com_wolfssl_WolfSSL_WOLFSSL_AEAD_TYPE
#define com_wolfssl_WolfSSL_WOLFSSL_AEAD_TYPE 4L
#undef com_wolfssl_WolfSSL_WOLFSSL_TLS_HMAC_INNER_SZ
#define com_wolfssl_WolfSSL_WOLFSSL_TLS_HMAC_INNER_SZ 13L
#undef com_wolfssl_WolfSSL_GEN_COOKIE_E
#define com_wolfssl_WolfSSL_GEN_COOKIE_E -277L
#undef com_wolfssl_WolfSSL_SSL_SENT_SHUTDOWN
#define com_wolfssl_WolfSSL_SSL_SENT_SHUTDOWN 1L
#undef com_wolfssl_WolfSSL_SSL_RECEIVED_SHUTDOWN
#define com_wolfssl_WolfSSL_SSL_RECEIVED_SHUTDOWN 2L
#undef com_wolfssl_WolfSSL_SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER
#define com_wolfssl_WolfSSL_SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER 4L
#undef com_wolfssl_WolfSSL_SSL_OP_NO_SSLv2
#define com_wolfssl_WolfSSL_SSL_OP_NO_SSLv2 8L
#undef com_wolfssl_WolfSSL_SSL_OP_NO_SSLv3
#define com_wolfssl_WolfSSL_SSL_OP_NO_SSLv3 4096L
#undef com_wolfssl_WolfSSL_SSL_OP_NO_TLSv1
#define com_wolfssl_WolfSSL_SSL_OP_NO_TLSv1 8192L
#undef com_wolfssl_WolfSSL_SSL_OP_NO_TLSv1_1
#define com_wolfssl_WolfSSL_SSL_OP_NO_TLSv1_1 67108864L
#undef com_wolfssl_WolfSSL_SSL_OP_NO_TLSv1_2
#define com_wolfssl_WolfSSL_SSL_OP_NO_TLSv1_2 134217728L
#undef com_wolfssl_WolfSSL_SSL_OP_NO_COMPRESSION
#define com_wolfssl_WolfSSL_SSL_OP_NO_COMPRESSION 268435456L
#undef com_wolfssl_WolfSSL_SSL_OP_NO_TLSv1_3
#define com_wolfssl_WolfSSL_SSL_OP_NO_TLSv1_3 536870912L
#undef com_wolfssl_WolfSSL_SSL_HANDSHAKE_FAILURE
#define com_wolfssl_WolfSSL_SSL_HANDSHAKE_FAILURE 101L
#undef com_wolfssl_WolfSSL_SSL_R_TLSV1_ALERT_UNKNOWN_CA
#define com_wolfssl_WolfSSL_SSL_R_TLSV1_ALERT_UNKNOWN_CA 102L
#undef com_wolfssl_WolfSSL_SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN
#define com_wolfssl_WolfSSL_SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN 103L
#undef com_wolfssl_WolfSSL_SSL_R_SSLV3_ALERT_BAD_CERTIFICATE
#define com_wolfssl_WolfSSL_SSL_R_SSLV3_ALERT_BAD_CERTIFICATE 104L
#undef com_wolfssl_WolfSSL_WOLFSSL_CRL_MONITOR
#define com_wolfssl_WolfSSL_WOLFSSL_CRL_MONITOR 1L
#undef com_wolfssl_WolfSSL_WOLFSSL_CRL_START_MON
#define com_wolfssl_WolfSSL_WOLFSSL_CRL_START_MON 2L
#undef com_wolfssl_WolfSSL_BAD_MUTEX_ERROR
#define com_wolfssl_WolfSSL_BAD_MUTEX_ERROR -256L
#undef com_wolfssl_WolfSSL_BAD_PATH_ERROR
#define com_wolfssl_WolfSSL_BAD_PATH_ERROR -258L
#undef com_wolfssl_WolfSSL_MONITOR_RUNNING_E
#define com_wolfssl_WolfSSL_MONITOR_RUNNING_E -263L
#undef com_wolfssl_WolfSSL_THREAD_CREATE_E
#define com_wolfssl_WolfSSL_THREAD_CREATE_E -264L
#undef com_wolfssl_WolfSSL_CACHE_MATCH_ERROR
#define com_wolfssl_WolfSSL_CACHE_MATCH_ERROR -280L
#undef com_wolfssl_WolfSSL_WOLFSSL_SNI_HOST_NAME
#define com_wolfssl_WolfSSL_WOLFSSL_SNI_HOST_NAME 0L
#undef com_wolfssl_WolfSSL_SSL_TLSEXT_ERR_OK
#define com_wolfssl_WolfSSL_SSL_TLSEXT_ERR_OK 0L
#undef com_wolfssl_WolfSSL_SSL_TLSEXT_ERR_NOACK
#define com_wolfssl_WolfSSL_SSL_TLSEXT_ERR_NOACK 3L
#undef com_wolfssl_WolfSSL_SSL_TLSEXT_ERR_ALERT_FATAL
#define com_wolfssl_WolfSSL_SSL_TLSEXT_ERR_ALERT_FATAL 2L
#undef com_wolfssl_WolfSSL_MEMORY_E
#define com_wolfssl_WolfSSL_MEMORY_E -125L
#undef com_wolfssl_WolfSSL_BUFFER_E
#define com_wolfssl_WolfSSL_BUFFER_E -132L
#undef com_wolfssl_WolfSSL_ASN_INPUT_E
#define com_wolfssl_WolfSSL_ASN_INPUT_E -154L
#undef com_wolfssl_WolfSSL_BAD_FUNC_ARG
#define com_wolfssl_WolfSSL_BAD_FUNC_ARG -173L
#undef com_wolfssl_WolfSSL_NOT_COMPILED_IN
#define com_wolfssl_WolfSSL_NOT_COMPILED_IN -174L
#undef com_wolfssl_WolfSSL_NO_PASSWORD
#define com_wolfssl_WolfSSL_NO_PASSWORD -176L
#undef com_wolfssl_WolfSSL_TLS13_SECRET_CB_E
#define com_wolfssl_WolfSSL_TLS13_SECRET_CB_E -438L
#undef com_wolfssl_WolfSSL_ASN_OTHER_TYPE
#define com_wolfssl_WolfSSL_ASN_OTHER_TYPE 0L
#undef com_wolfssl_WolfSSL_ASN_RFC822_TYPE
#define com_wolfssl_WolfSSL_ASN_RFC822_TYPE 1L
#undef com_wolfssl_WolfSSL_ASN_DNS_TYPE
#define com_wolfssl_WolfSSL_ASN_DNS_TYPE 2L
#undef com_wolfssl_WolfSSL_ASN_DIR_TYPE
#define com_wolfssl_WolfSSL_ASN_DIR_TYPE 4L
#undef com_wolfssl_WolfSSL_ASN_URI_TYPE
#define com_wolfssl_WolfSSL_ASN_URI_TYPE 6L
#undef com_wolfssl_WolfSSL_ASN_IP_TYPE
#define com_wolfssl_WolfSSL_ASN_IP_TYPE 7L
#undef com_wolfssl_WolfSSL_WOLFSSL_NAMED_GROUP_INVALID
#define com_wolfssl_WolfSSL_WOLFSSL_NAMED_GROUP_INVALID 0L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT163K1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT163K1 1L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT163R1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT163R1 2L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT163R2
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT163R2 3L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT193R1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT193R1 4L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT193R2
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT193R2 5L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT233K1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT233K1 6L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT233R1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT233R1 7L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT239K1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT239K1 8L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT283K1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT283K1 9L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT283R1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT283R1 10L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT409K1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT409K1 11L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT409R1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT409R1 12L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT571K1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT571K1 13L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT571R1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECT571R1 14L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECP160K1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECP160K1 15L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECP160R1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECP160R1 16L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECP160R2
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECP160R2 17L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECP192K1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECP192K1 18L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECP192R1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECP192R1 19L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECP224K1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECP224K1 20L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECP224R1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECP224R1 21L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECP256K1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECP256K1 22L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECP256R1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECP256R1 23L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECP384R1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECP384R1 24L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SECP521R1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SECP521R1 25L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_BRAINPOOLP256R1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_BRAINPOOLP256R1 26L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_BRAINPOOLP384R1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_BRAINPOOLP384R1 27L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_BRAINPOOLP512R1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_BRAINPOOLP512R1 28L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_X25519
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_X25519 29L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_X448
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_X448 30L
#undef com_wolfssl_WolfSSL_WOLFSSL_ECC_SM2P256V1
#define com_wolfssl_WolfSSL_WOLFSSL_ECC_SM2P256V1 41L
#undef com_wolfssl_WolfSSL_WOLFSSL_FFDHE_2048
#define com_wolfssl_WolfSSL_WOLFSSL_FFDHE_2048 256L
#undef com_wolfssl_WolfSSL_WOLFSSL_FFDHE_3072
#define com_wolfssl_WolfSSL_WOLFSSL_FFDHE_3072 257L
#undef com_wolfssl_WolfSSL_WOLFSSL_FFDHE_4096
#define com_wolfssl_WolfSSL_WOLFSSL_FFDHE_4096 258L
#undef com_wolfssl_WolfSSL_WOLFSSL_FFDHE_6144
#define com_wolfssl_WolfSSL_WOLFSSL_FFDHE_6144 259L
#undef com_wolfssl_WolfSSL_WOLFSSL_FFDHE_8192
#define com_wolfssl_WolfSSL_WOLFSSL_FFDHE_8192 260L
#undef com_wolfssl_WolfSSL_INVALID_DEVID
#define com_wolfssl_WolfSSL_INVALID_DEVID -2L
/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    init
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_init
  (JNIEnv *, jobject);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    nativeFree
 * Signature: (J)V
 */
JNIEXPORT void JNICALL Java_com_wolfssl_WolfSSL_nativeFree
  (JNIEnv *, jclass, jlong);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getNID_surname
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getNID_1surname
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getNID_serialNumber
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getNID_1serialNumber
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getNID_pkcs9_unstructuredName
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getNID_1pkcs9_1unstructuredName
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getNID_pkcs9_contentType
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getNID_1pkcs9_1contentType
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getNID_pkcs9_challengePassword
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getNID_1pkcs9_1challengePassword
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getNID_givenName
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getNID_1givenName
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getNID_initials
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getNID_1initials
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getNID_key_usage
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getNID_1key_1usage
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getNID_subject_alt_name
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getNID_1subject_1alt_1name
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getNID_basic_constraints
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getNID_1basic_1constraints
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getNID_ext_key_usage
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getNID_1ext_1key_1usage
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getNID_dnQualifier
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getNID_1dnQualifier
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getBulkCipherAlgorithmEnumNULL
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getBulkCipherAlgorithmEnumNULL
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getBulkCipherAlgorithmEnumRC4
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getBulkCipherAlgorithmEnumRC4
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getBulkCipherAlgorithmEnumRC2
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getBulkCipherAlgorithmEnumRC2
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getBulkCipherAlgorithmEnumDES
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getBulkCipherAlgorithmEnumDES
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getBulkCipherAlgorithmEnum3DES
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getBulkCipherAlgorithmEnum3DES
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getBulkCipherAlgorithmEnumDES40
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getBulkCipherAlgorithmEnumDES40
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getBulkCipherAlgorithmEnumAES
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getBulkCipherAlgorithmEnumAES
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getBulkCipherAlgorithmEnumAESGCM
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getBulkCipherAlgorithmEnumAESGCM
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getBulkCipherAlgorithmEnumAESCCM
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getBulkCipherAlgorithmEnumAESCCM
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getBulkCipherAlgorithmEnumCHACHA
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getBulkCipherAlgorithmEnumCHACHA
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getBulkCipherAlgorithmEnumCAMELLIA
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getBulkCipherAlgorithmEnumCAMELLIA
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getHmacEnumMD5
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getHmacEnumMD5
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getHmacEnumSHA1
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getHmacEnumSHA1
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getHmacEnumSHA256
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getHmacEnumSHA256
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getHmacEnumSHA384
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getHmacEnumSHA384
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getHmacEnumSHA512
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getHmacEnumSHA512
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getKeyTypeEnumDSA
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getKeyTypeEnumDSA
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getKeyTypeEnumRSA
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getKeyTypeEnumRSA
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getKeyTypeEnumECDSA
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getKeyTypeEnumECDSA
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getKeyTypeEnumED25519
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getKeyTypeEnumED25519
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getTls13SecretEnum_CLIENT_EARLY_TRAFFIC_SECRET
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getTls13SecretEnum_1CLIENT_1EARLY_1TRAFFIC_1SECRET
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getTls13SecretEnum_CLIENT_HANDSHAKE_TRAFFIC_SECRET
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getTls13SecretEnum_1CLIENT_1HANDSHAKE_1TRAFFIC_1SECRET
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getTls13SecretEnum_SERVER_HANDSHAKE_TRAFFIC_SECRET
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getTls13SecretEnum_1SERVER_1HANDSHAKE_1TRAFFIC_1SECRET
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getTls13SecretEnum_CLIENT_TRAFFIC_SECRET
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getTls13SecretEnum_1CLIENT_1TRAFFIC_1SECRET
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getTls13SecretEnum_SERVER_TRAFFIC_SECRET
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getTls13SecretEnum_1SERVER_1TRAFFIC_1SECRET
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getTls13SecretEnum_EARLY_EXPORTER_SECRET
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getTls13SecretEnum_1EARLY_1EXPORTER_1SECRET
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getTls13SecretEnum_EXPORTER_SECRET
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getTls13SecretEnum_1EXPORTER_1SECRET
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getEnabledCipherSuites
 * Signature: ()Ljava/lang/String;
 */
JNIEXPORT jstring JNICALL Java_com_wolfssl_WolfSSL_getEnabledCipherSuites
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getEnabledCipherSuitesIana
 * Signature: ()Ljava/lang/String;
 */
JNIEXPORT jstring JNICALL Java_com_wolfssl_WolfSSL_getEnabledCipherSuitesIana
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getAvailableCipherSuitesIana
 * Signature: (I)Ljava/lang/String;
 */
JNIEXPORT jstring JNICALL Java_com_wolfssl_WolfSSL_getAvailableCipherSuitesIana
  (JNIEnv *, jclass, jint);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    wc_CryptoCb_RegisterDevice
 * Signature: (I)I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_wc_1CryptoCb_1RegisterDevice
  (JNIEnv *, jclass, jint);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    wc_CryptoCb_UnRegisterDevice
 * Signature: (I)V
 */
JNIEXPORT void JNICALL Java_com_wolfssl_WolfSSL_wc_1CryptoCb_1UnRegisterDevice
  (JNIEnv *, jclass, jint);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    TLSv1Enabled
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_TLSv1Enabled
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    TLSv11Enabled
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_TLSv11Enabled
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    TLSv12Enabled
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_TLSv12Enabled
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    TLSv13Enabled
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_TLSv13Enabled
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    DTLSv13Enabled
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_DTLSv13Enabled
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    ShaEnabled
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_ShaEnabled
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    Sha224Enabled
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_Sha224Enabled
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    Sha256Enabled
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_Sha256Enabled
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    Sha384Enabled
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_Sha384Enabled
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    Sha512Enabled
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_Sha512Enabled
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    EccEnabled
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_EccEnabled
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    RsaEnabled
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_RsaEnabled
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    RsaPssEnabled
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_RsaPssEnabled
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    Curve25519Enabled
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_Curve25519Enabled
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    Curve448Enabled
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_Curve448Enabled
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    FileSystemEnabled
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_FileSystemEnabled
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    certReqEnabled
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_certReqEnabled
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    trustPeerCertEnabled
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_trustPeerCertEnabled
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    sessionTicketEnabled
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_sessionTicketEnabled
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    secretCallbackEnabled
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_secretCallbackEnabled
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    encryptThenMacEnabled
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL Java_com_wolfssl_WolfSSL_encryptThenMacEnabled
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    SSLv3_ServerMethod
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_SSLv3_1ServerMethod
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    SSLv3_ClientMethod
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_SSLv3_1ClientMethod
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    TLSv1_Method
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_TLSv1_1Method
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    TLSv1_ServerMethod
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_TLSv1_1ServerMethod
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    TLSv1_ClientMethod
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_TLSv1_1ClientMethod
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    TLSv1_1_Method
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_TLSv1_11_1Method
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    TLSv1_1_ServerMethod
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_TLSv1_11_1ServerMethod
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    TLSv1_1_ClientMethod
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_TLSv1_11_1ClientMethod
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    TLSv1_2_Method
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_TLSv1_12_1Method
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    TLSv1_2_ServerMethod
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_TLSv1_12_1ServerMethod
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    TLSv1_2_ClientMethod
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_TLSv1_12_1ClientMethod
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    TLSv1_3_Method
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_TLSv1_13_1Method
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    TLSv1_3_ServerMethod
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_TLSv1_13_1ServerMethod
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    TLSv1_3_ClientMethod
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_TLSv1_13_1ClientMethod
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    DTLSv1_Method
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_DTLSv1_1Method
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    DTLSv1_ServerMethod
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_DTLSv1_1ServerMethod
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    DTLSv1_ClientMethod
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_DTLSv1_1ClientMethod
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    DTLSv1_2_Method
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_DTLSv1_12_1Method
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    DTLSv1_2_ServerMethod
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_DTLSv1_12_1ServerMethod
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    DTLSv1_2_ClientMethod
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_DTLSv1_12_1ClientMethod
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    DTLSv1_3_Method
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_DTLSv1_13_1Method
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    DTLSv1_3_ServerMethod
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_DTLSv1_13_1ServerMethod
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    DTLSv1_3_ClientMethod
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_DTLSv1_13_1ClientMethod
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    SSLv23_Method
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_SSLv23_1Method
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    SSLv23_ServerMethod
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_SSLv23_1ServerMethod
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    SSLv23_ClientMethod
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_SSLv23_1ClientMethod
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getErrorString
 * Signature: (J)Ljava/lang/String;
 */
JNIEXPORT jstring JNICALL Java_com_wolfssl_WolfSSL_getErrorString
  (JNIEnv *, jclass, jlong);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    cleanup
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_cleanup
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    debuggingON
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_debuggingON
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    debuggingOFF
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_com_wolfssl_WolfSSL_debuggingOFF
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    setLoggingCb
 * Signature: (Lcom/wolfssl/WolfSSLLoggingCallback;)I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_setLoggingCb
  (JNIEnv *, jclass, jobject);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    setFIPSCb
 * Signature: (Lcom/wolfssl/WolfSSLFIPSErrorCallback;)I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_setFIPSCb
  (JNIEnv *, jclass, jobject);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getWolfCryptFIPSCoreHash
 * Signature: ()Ljava/lang/String;
 */
JNIEXPORT jstring JNICALL Java_com_wolfssl_WolfSSL_getWolfCryptFIPSCoreHash
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    memsaveSessionCache
 * Signature: ([BI)I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_memsaveSessionCache
  (JNIEnv *, jclass, jbyteArray, jint);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    memrestoreSessionCache
 * Signature: ([BI)I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_memrestoreSessionCache
  (JNIEnv *, jclass, jbyteArray, jint);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getSessionCacheMemsize
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getSessionCacheMemsize
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getPkcs8TraditionalOffset
 * Signature: ([BJJ)I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getPkcs8TraditionalOffset
  (JNIEnv *, jclass, jbyteArray, jlong, jlong);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    x509_getDer
 * Signature: (J)[B
 */
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_WolfSSL_x509_1getDer
  (JNIEnv *, jclass, jlong);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getHmacMaxSize
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getHmacMaxSize
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getLibVersionHex
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_WolfSSL_getLibVersionHex
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    isEnabledCRL
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_isEnabledCRL
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    isEnabledCRLMonitor
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_isEnabledCRLMonitor
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    isEnabledOCSP
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_isEnabledOCSP
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    isEnabledPSK
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_isEnabledPSK
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    isEnabledDTLS
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_isEnabledDTLS
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    isEnabledSendHrrCookie
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_isEnabledSendHrrCookie
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    isEnabledAtomicUser
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_isEnabledAtomicUser
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    isEnabledPKCallbacks
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_isEnabledPKCallbacks
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    isEnabledTLSExtendedMasterSecret
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_isEnabledTLSExtendedMasterSecret
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getProtocols
 * Signature: ()[Ljava/lang/String;
 */
JNIEXPORT jobjectArray JNICALL Java_com_wolfssl_WolfSSL_getProtocols
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getProtocolsMask
 * Signature: (J)[Ljava/lang/String;
 */
JNIEXPORT jobjectArray JNICALL Java_com_wolfssl_WolfSSL_getProtocolsMask
  (JNIEnv *, jclass, jlong);

/*
 * Class:     com_wolfssl_WolfSSL
 * Method:    getErrno
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_WolfSSL_getErrno
  (JNIEnv *, jclass);

#ifdef __cplusplus
}
#endif
#endif
