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

#ifndef _Included_com_wolfssl_wolfcrypt_Rsa
#define _Included_com_wolfssl_wolfcrypt_Rsa
#ifdef __cplusplus
extern "C" {
#endif
#undef com_wolfssl_wolfcrypt_Rsa_NULL
#define com_wolfssl_wolfcrypt_Rsa_NULL 0LL
/*
 * Class:     com_wolfssl_wolfcrypt_Rsa
 * Method:    mallocNativeStruct
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_wolfcrypt_Rsa_mallocNativeStruct
  (JNIEnv *, jobject);

/*
 * Class:     com_wolfssl_wolfcrypt_Rsa
 * Method:    wc_RsaPublicKeyDecodeRaw
 * Signature: (Ljava/nio/ByteBuffer;JLjava/nio/ByteBuffer;J)V
 */
JNIEXPORT void JNICALL Java_com_wolfssl_wolfcrypt_Rsa_wc_1RsaPublicKeyDecodeRaw__Ljava_nio_ByteBuffer_2JLjava_nio_ByteBuffer_2J
  (JNIEnv *, jobject, jobject, jlong, jobject, jlong);

/*
 * Class:     com_wolfssl_wolfcrypt_Rsa
 * Method:    wc_RsaPublicKeyDecodeRaw
 * Signature: ([BJ[BJ)V
 */
JNIEXPORT void JNICALL Java_com_wolfssl_wolfcrypt_Rsa_wc_1RsaPublicKeyDecodeRaw___3BJ_3BJ
  (JNIEnv *, jobject, jbyteArray, jlong, jbyteArray, jlong);

/*
 * Class:     com_wolfssl_wolfcrypt_Rsa
 * Method:    RsaFlattenPublicKey
 * Signature: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)V
 */
JNIEXPORT void JNICALL Java_com_wolfssl_wolfcrypt_Rsa_RsaFlattenPublicKey__Ljava_nio_ByteBuffer_2Ljava_nio_ByteBuffer_2
  (JNIEnv *, jobject, jobject, jobject);

/*
 * Class:     com_wolfssl_wolfcrypt_Rsa
 * Method:    RsaFlattenPublicKey
 * Signature: ([B[J[B[J)V
 */
JNIEXPORT void JNICALL Java_com_wolfssl_wolfcrypt_Rsa_RsaFlattenPublicKey___3B_3J_3B_3J
  (JNIEnv *, jobject, jbyteArray, jlongArray, jbyteArray, jlongArray);

/*
 * Class:     com_wolfssl_wolfcrypt_Rsa
 * Method:    MakeRsaKey
 * Signature: (IJLcom/wolfssl/wolfcrypt/Rng;)V
 */
JNIEXPORT void JNICALL Java_com_wolfssl_wolfcrypt_Rsa_MakeRsaKey
  (JNIEnv *, jobject, jint, jlong, jobject);

/*
 * Class:     com_wolfssl_wolfcrypt_Rsa
 * Method:    wc_RsaKeyToDer
 * Signature: ()[B
 */
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_wolfcrypt_Rsa_wc_1RsaKeyToDer
  (JNIEnv *, jobject);

/*
 * Class:     com_wolfssl_wolfcrypt_Rsa
 * Method:    wc_RsaKeyToPublicDer
 * Signature: ()[B
 */
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_wolfcrypt_Rsa_wc_1RsaKeyToPublicDer
  (JNIEnv *, jobject);

/*
 * Class:     com_wolfssl_wolfcrypt_Rsa
 * Method:    wc_RsaPrivateKeyToPkcs8
 * Signature: ()[B
 */
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_wolfcrypt_Rsa_wc_1RsaPrivateKeyToPkcs8
  (JNIEnv *, jobject);

/*
 * Class:     com_wolfssl_wolfcrypt_Rsa
 * Method:    wc_InitRsaKey
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_com_wolfssl_wolfcrypt_Rsa_wc_1InitRsaKey
  (JNIEnv *, jobject);

/*
 * Class:     com_wolfssl_wolfcrypt_Rsa
 * Method:    wc_FreeRsaKey
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_com_wolfssl_wolfcrypt_Rsa_wc_1FreeRsaKey
  (JNIEnv *, jobject);

/*
 * Class:     com_wolfssl_wolfcrypt_Rsa
 * Method:    wc_RsaSetRNG
 * Signature: (Lcom/wolfssl/wolfcrypt/Rng;)Z
 */
JNIEXPORT jboolean JNICALL Java_com_wolfssl_wolfcrypt_Rsa_wc_1RsaSetRNG
  (JNIEnv *, jobject, jobject);

/*
 * Class:     com_wolfssl_wolfcrypt_Rsa
 * Method:    wc_RsaPrivateKeyDecode
 * Signature: ([B)V
 */
JNIEXPORT void JNICALL Java_com_wolfssl_wolfcrypt_Rsa_wc_1RsaPrivateKeyDecode
  (JNIEnv *, jobject, jbyteArray);

/*
 * Class:     com_wolfssl_wolfcrypt_Rsa
 * Method:    wc_RsaPrivateKeyDecodePKCS8
 * Signature: ([B)V
 */
JNIEXPORT void JNICALL Java_com_wolfssl_wolfcrypt_Rsa_wc_1RsaPrivateKeyDecodePKCS8
  (JNIEnv *, jobject, jbyteArray);

/*
 * Class:     com_wolfssl_wolfcrypt_Rsa
 * Method:    wc_RsaPublicKeyDecode
 * Signature: ([B)V
 */
JNIEXPORT void JNICALL Java_com_wolfssl_wolfcrypt_Rsa_wc_1RsaPublicKeyDecode
  (JNIEnv *, jobject, jbyteArray);

/*
 * Class:     com_wolfssl_wolfcrypt_Rsa
 * Method:    wc_RsaEncryptSize
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Rsa_wc_1RsaEncryptSize
  (JNIEnv *, jobject);

/*
 * Class:     com_wolfssl_wolfcrypt_Rsa
 * Method:    wc_RsaPublicEncrypt
 * Signature: ([BLcom/wolfssl/wolfcrypt/Rng;)[B
 */
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_wolfcrypt_Rsa_wc_1RsaPublicEncrypt
  (JNIEnv *, jobject, jbyteArray, jobject);

/*
 * Class:     com_wolfssl_wolfcrypt_Rsa
 * Method:    wc_RsaPrivateDecrypt
 * Signature: ([B)[B
 */
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_wolfcrypt_Rsa_wc_1RsaPrivateDecrypt
  (JNIEnv *, jobject, jbyteArray);

/*
 * Class:     com_wolfssl_wolfcrypt_Rsa
 * Method:    wc_RsaSSL_Sign
 * Signature: ([BLcom/wolfssl/wolfcrypt/Rng;)[B
 */
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_wolfcrypt_Rsa_wc_1RsaSSL_1Sign
  (JNIEnv *, jobject, jbyteArray, jobject);

/*
 * Class:     com_wolfssl_wolfcrypt_Rsa
 * Method:    wc_RsaSSL_Verify
 * Signature: ([B)[B
 */
JNIEXPORT jbyteArray JNICALL Java_com_wolfssl_wolfcrypt_Rsa_wc_1RsaSSL_1Verify
  (JNIEnv *, jobject, jbyteArray);

/*
 * Class:     com_wolfssl_wolfcrypt_Rsa
 * Method:    rsaMinSize
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_com_wolfssl_wolfcrypt_Rsa_rsaMinSize
  (JNIEnv *, jclass);

/*
 * Class:     com_wolfssl_wolfcrypt_Rsa
 * Method:    getDefaultRsaExponent
 * Signature: ()J
 */
JNIEXPORT jlong JNICALL Java_com_wolfssl_wolfcrypt_Rsa_getDefaultRsaExponent
  (JNIEnv *, jclass);

#ifdef __cplusplus
}
#endif
#endif
