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

#ifndef _Included_GmSSL
#define _Included_GmSSL
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     GmSSL
 * Method:    getVersions
 * Signature: ()[Ljava/lang/String;
 */
JNIEXPORT jobjectArray JNICALL Java_GmSSL_getVersions
  (JNIEnv *, jobject);

/*
 * Class:     GmSSL
 * Method:    getCiphers
 * Signature: ()[Ljava/lang/String;
 */
JNIEXPORT jobjectArray JNICALL Java_GmSSL_getCiphers
  (JNIEnv *, jobject);

/*
 * Class:     GmSSL
 * Method:    getDigests
 * Signature: ()[Ljava/lang/String;
 */
JNIEXPORT jobjectArray JNICALL Java_GmSSL_getDigests
  (JNIEnv *, jobject);

/*
 * Class:     GmSSL
 * Method:    getMacs
 * Signature: ()[Ljava/lang/String;
 */
JNIEXPORT jobjectArray JNICALL Java_GmSSL_getMacs
  (JNIEnv *, jobject);

/*
 * Class:     GmSSL
 * Method:    getSignAlgorithms
 * Signature: ()[Ljava/lang/String;
 */
JNIEXPORT jobjectArray JNICALL Java_GmSSL_getSignAlgorithms
  (JNIEnv *, jobject);

/*
 * Class:     GmSSL
 * Method:    getPublicKeyEncryptions
 * Signature: ()[Ljava/lang/String;
 */
JNIEXPORT jobjectArray JNICALL Java_GmSSL_getPublicKeyEncryptions
  (JNIEnv *, jobject);

/*
 * Class:     GmSSL
 * Method:    getDeriveKeyAlgorithms
 * Signature: ()[Ljava/lang/String;
 */
JNIEXPORT jobjectArray JNICALL Java_GmSSL_getDeriveKeyAlgorithms
  (JNIEnv *, jobject);

/*
 * Class:     GmSSL
 * Method:    generateRandom
 * Signature: (I)[B
 */
JNIEXPORT jbyteArray JNICALL Java_GmSSL_generateRandom
  (JNIEnv *, jobject, jint);

/*
 * Class:     GmSSL
 * Method:    getCipherIVLength
 * Signature: (Ljava/lang/String;)I
 */
JNIEXPORT jint JNICALL Java_GmSSL_getCipherIVLength
  (JNIEnv *, jobject, jstring);

/*
 * Class:     GmSSL
 * Method:    getCipherKeyLength
 * Signature: (Ljava/lang/String;)I
 */
JNIEXPORT jint JNICALL Java_GmSSL_getCipherKeyLength
  (JNIEnv *, jobject, jstring);

/*
 * Class:     GmSSL
 * Method:    getCipherBlockSize
 * Signature: (Ljava/lang/String;)I
 */
JNIEXPORT jint JNICALL Java_GmSSL_getCipherBlockSize
  (JNIEnv *, jobject, jstring);

/*
 * Class:     GmSSL
 * Method:    symmetricEncrypt
 * Signature: (Ljava/lang/String;[B[B[B)[B
 */
JNIEXPORT jbyteArray JNICALL Java_GmSSL_symmetricEncrypt
  (JNIEnv *, jobject, jstring, jbyteArray, jbyteArray, jbyteArray);

/*
 * Class:     GmSSL
 * Method:    symmetricDecrypt
 * Signature: (Ljava/lang/String;[B[B[B)[B
 */
JNIEXPORT jbyteArray JNICALL Java_GmSSL_symmetricDecrypt
  (JNIEnv *, jobject, jstring, jbyteArray, jbyteArray, jbyteArray);

/*
 * Class:     GmSSL
 * Method:    getDigestLength
 * Signature: (Ljava/lang/String;)I
 */
JNIEXPORT jint JNICALL Java_GmSSL_getDigestLength
  (JNIEnv *, jobject, jstring);

/*
 * Class:     GmSSL
 * Method:    getDigestBlockSize
 * Signature: (Ljava/lang/String;)I
 */
JNIEXPORT jint JNICALL Java_GmSSL_getDigestBlockSize
  (JNIEnv *, jobject, jstring);

/*
 * Class:     GmSSL
 * Method:    digest
 * Signature: (Ljava/lang/String;[B)[B
 */
JNIEXPORT jbyteArray JNICALL Java_GmSSL_digest
  (JNIEnv *, jobject, jstring, jbyteArray);

/*
 * Class:     GmSSL
 * Method:    getMacLength
 * Signature: (Ljava/lang/String;)[Ljava/lang/String;
 */
JNIEXPORT jobjectArray JNICALL Java_GmSSL_getMacLength
  (JNIEnv *, jobject, jstring);

/*
 * Class:     GmSSL
 * Method:    mac
 * Signature: (Ljava/lang/String;[B[B)[B
 */
JNIEXPORT jbyteArray JNICALL Java_GmSSL_mac
  (JNIEnv *, jobject, jstring, jbyteArray, jbyteArray);

/*
 * Class:     GmSSL
 * Method:    sign
 * Signature: (Ljava/lang/String;[B[B)[B
 */
JNIEXPORT jbyteArray JNICALL Java_GmSSL_sign
  (JNIEnv *, jobject, jstring, jbyteArray, jbyteArray);

/*
 * Class:     GmSSL
 * Method:    verify
 * Signature: (Ljava/lang/String;[B[B[B)I
 */
JNIEXPORT jint JNICALL Java_GmSSL_verify
  (JNIEnv *, jobject, jstring, jbyteArray, jbyteArray, jbyteArray);

/*
 * Class:     GmSSL
 * Method:    publicKeyEncrypt
 * Signature: (Ljava/lang/String;[B[B)[B
 */
JNIEXPORT jbyteArray JNICALL Java_GmSSL_publicKeyEncrypt
  (JNIEnv *, jobject, jstring, jbyteArray, jbyteArray);

/*
 * Class:     GmSSL
 * Method:    publicKeyDecrypt
 * Signature: (Ljava/lang/String;[B[B)[B
 */
JNIEXPORT jbyteArray JNICALL Java_GmSSL_publicKeyDecrypt
  (JNIEnv *, jobject, jstring, jbyteArray, jbyteArray);

/*
 * Class:     GmSSL
 * Method:    deriveKey
 * Signature: (Ljava/lang/String;I[B[B)[B
 */
JNIEXPORT jbyteArray JNICALL Java_GmSSL_deriveKey
  (JNIEnv *, jobject, jstring, jint, jbyteArray, jbyteArray);

/*
 * Class:     GmSSL
 * Method:    getErrorStrings
 * Signature: ()[Ljava/lang/String;
 */
JNIEXPORT jobjectArray JNICALL Java_GmSSL_getErrorStrings
  (JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif
