/* DO NOT EDIT THIS FILE - it is machine generated */
//#include <jni.h>
#include "jni.h" // include latest version header directly from Sun Java
/* Header for class nist_sun_java_NIST_library */



#ifndef _Included_nist_sun_java_NIST_library
#define _Included_nist_sun_java_NIST_library
#ifdef __cplusplus
extern "C" {
#endif




/*
 * Class:     nist_sun_java_NIST_library
 * Method:    GenerateNISTLibrarySerialNumber
 * Signature: ()V
 */
JNIEXPORT jstring JNICALL Java_nist_1sun_1java_NIST_1library_GenerateNISTLibrarySerialNumber
(JNIEnv *env, jclass);


/*
 * Class:     nist_sun_java_NIST_library
 * Method:    UnlockNISTLibrary
 * Signature: ()V
 */
JNIEXPORT jint JNICALL Java_nist_1sun_1java_NIST_1library_UnlockNISTLibrary
(JNIEnv * env, jclass,  jstring authorization_code);




/*
 * Class:     nist_sun_java_NIST_library
 * Method:    RegisterNIST
 * Signature: (I)V
 */
JNIEXPORT jint JNICALL Java_nist_1sun_1java_NIST_1library_RegisterNIST
  (JNIEnv *env, jclass);


/*
 * Class:     nist_sun_java_NIST_library
 * Method:    CreateNewNISTFile
 * Signature: (I)V
 */
JNIEXPORT jint JNICALL Java_nist_1sun_1java_NIST_1library_CreateNewNISTFile
  (JNIEnv *env, jclass);


/*
 * Class:     nist_sun_java_NIST_library
 * Method:    WriteNISTToFile
 * Signature: (I)V
 */
JNIEXPORT jint JNICALL Java_nist_1sun_1java_NIST_1library_WriteNISTToFile
  (JNIEnv *env, jclass, jstring filename);


/*
 * Class:     nist_sun_java_NIST_library
 * Method:    ReadNISTByteArray
 * Signature: (I)V
 */
JNIEXPORT jbyteArray JNICALL Java_nist_1sun_1java_NIST_1library_ReadNISTByteArray
  (JNIEnv *env, jclass);


/*
 * Class:     nist_sun_java_NIST_library
 * Method:    ReadSizeOfNISTByteArray
 * Signature: (I)V
 */
JNIEXPORT jint JNICALL Java_nist_1sun_1java_NIST_1library_ReadSizeOfNISTByteArray
  (JNIEnv *env, jclass);



/*
 * Class:     nist_sun_java_NIST_library
 * Method:    ReadNISTFromFile
 * Signature: (I)V
 */
JNIEXPORT jint JNICALL Java_nist_1sun_1java_NIST_1library_ReadNISTFromFile
  (JNIEnv *env, jclass, jstring);

  
/*
 * Class:     nist_sun_java_NIST_library
 * Method:    ReadNISTFromMemory
 * Signature: (I)V
 */
JNIEXPORT jint JNICALL Java_nist_1sun_1java_NIST_1library_ReadNISTFromMemory
  (JNIEnv *env, jclass, jbyteArray byte_array, jint size_of_byte_array);

  
/*
 * Class:     nist_sun_java_NIST_library
 * Method:    CheckIfRecordTypeExists
 * Signature: (I)V
 */
JNIEXPORT jint JNICALL Java_nist_1sun_1java_NIST_1library_CheckIfRecordTypeExists
(JNIEnv *env, jclass, jint record_type_number);


/*
 * Class:     nist_sun_java_NIST_library
 * Method:    ReadNumberOfRecords
 * Signature: (I)V
 */
JNIEXPORT jint JNICALL Java_nist_1sun_1java_NIST_1library_ReadNumberOfRecords
(JNIEnv *env, jclass, jint record_type_number);


/*
 * Class:     nist_sun_java_NIST_library
 * Method:    ReadIDCofRecord
 * Signature: (I)V
 */
JNIEXPORT jint JNICALL Java_nist_1sun_1java_NIST_1library_ReadIDCofRecord
(JNIEnv *env, jclass, jint record_type_number, jint record_number);


/*
 * Class:     nist_sun_java_NIST_library
 * Method:    ReadRecordTxtField
 * Signature: (I)V
 */
JNIEXPORT jstring JNICALL Java_nist_1sun_1java_NIST_1library_ReadRecordTxtField
(JNIEnv *env, jclass, jint record_type_number, jint idc, jint record_field_number, jstring record_field_name);


/*
 * Class:     nist_sun_java_NIST_library
 * Method:    ReadSizeOfRecordTxtField
 * Signature: (I)V
 */
JNIEXPORT jint JNICALL Java_nist_1sun_1java_NIST_1library_ReadSizeOfRecordTxtField
(JNIEnv *env, jclass, jint record_type_number, jint idc, jint record_field_number, jstring record_field_name);


/*
 * Class:     nist_sun_java_NIST_library
 * Method:    ReadRecordTxtFieldName
 * Signature: (I)V
 */
JNIEXPORT jstring JNICALL Java_nist_1sun_1java_NIST_1library_ReadRecordTxtFieldName
(JNIEnv *env, jclass, jint record_type_number, jint idc, jint record_field_number);


/*
 * Class:     nist_sun_java_NIST_library
 * Method:    ReadSizeOfRecordTxtFieldName
 * Signature: (I)V
 */
JNIEXPORT jint JNICALL Java_nist_1sun_1java_NIST_1library_ReadSizeOfRecordTxtFieldName
(JNIEnv *env, jclass, jint record_type_number, jint idc, jint record_field_number, jstring record_field_name);


/*
 * Class:     nist_sun_java_NIST_library
 * Method:    ReadRecordTxtFieldDescription
 * Signature: (I)V
 */
JNIEXPORT jstring JNICALL Java_nist_1sun_1java_NIST_1library_ReadRecordTxtFieldDescription
(JNIEnv *env, jclass, jint record_type_number, jint idc, jint record_field_number, jstring record_field_name);


/*
 * Class:     nist_sun_java_NIST_library
 * Method:    ReadSizeOfRecordTxtFieldDescription
 * Signature: (I)V
 */
JNIEXPORT jint JNICALL Java_nist_1sun_1java_NIST_1library_ReadSizeOfRecordTxtFieldDescription
(JNIEnv *env, jclass, jint record_type_number, jint idc, jint record_field_number, jstring record_field_name);


/*
 * Class:     nist_sun_java_NIST_library
 * Method:    ReadRecordExportedTxtFields
 * Signature: (I)V
 */
JNIEXPORT jstring JNICALL Java_nist_1sun_1java_NIST_1library_ReadRecordExportedTxtFields
(JNIEnv *env, jclass, jint record_type_number, jint idc);


/*
 * Class:     nist_sun_java_NIST_library
 * Method:    ReadSizeOfRecordExportedTxtFields
 * Signature: (I)V
 */
JNIEXPORT jint JNICALL Java_nist_1sun_1java_NIST_1library_ReadSizeOfRecordExportedTxtFields
(JNIEnv *env, jclass, jint record_type_number, jint idc);


/*
 * Class:     nist_sun_java_NIST_library
 * Method:    ReadRecordBinaryField
 * Signature: (I)V
 */
JNIEXPORT jbyteArray JNICALL Java_nist_1sun_1java_NIST_1library_ReadRecordBinaryField
(JNIEnv *env, jclass, jint record_type_number, jint idc);


/*
 * Class:     nist_sun_java_NIST_library
 * Method:    ReadSizeOfRecordBinaryField
 * Signature: (I)V
 */
JNIEXPORT jint JNICALL Java_nist_1sun_1java_NIST_1library_ReadSizeOfRecordBinaryField
(JNIEnv *env, jclass, jint record_type_number, jint idc);


/*
 * Class:     nist_sun_java_NIST_library
 * Method:    CreateHBITMAPfromRecordBinaryField
 * Signature: (I)V
 */
JNIEXPORT jintArray JNICALL Java_nist_1sun_1java_NIST_1library_CreateImageFromRecordBinaryField
(JNIEnv *env, jclass, jintArray imageDimension, jint record_type_number, jint idc);


/*
 * Class:     nist_sun_java_NIST_library
 * Method:    InsertRecordBinaryFieldFromFile
 * Signature: (I)V
 */
JNIEXPORT jint JNICALL Java_nist_1sun_1java_NIST_1library_InsertRecordBinaryFieldFromFile
  (JNIEnv *env, jclass, jint record_type_number, jint idc, jstring filename);


/*
 * Class:     nist_sun_java_NIST_library
 * Method:    InsertRecordBinaryFieldFromMemory
 * Signature: (I)V
 */
JNIEXPORT jint JNICALL Java_nist_1sun_1java_NIST_1library_InsertRecordBinaryFieldFromMemory
  (JNIEnv *env, jclass, jint record_type_number, jint idc, jbyteArray input_byte_array, jint size_of_input_byte_array, jstring CGA, jint CGA_int, jint HLL, jint VLL);


/*
 * Class:     nist_sun_java_NIST_library
 * Method:    InsertRecordTxtField
 * Signature: (I)V
 */
JNIEXPORT jint JNICALL Java_nist_1sun_1java_NIST_1library_InsertRecordTxtField
  (JNIEnv *env, jclass, jint record_type_number, jint idc, jint record_field_number, jstring record_field_name, jstring input_data);


/*
 * Class:     nist_sun_java_NIST_library
 * Method:    DeleteRecord
 * Signature: (I)V
 */
JNIEXPORT jint JNICALL Java_nist_1sun_1java_NIST_1library_DeleteRecord
(JNIEnv *env, jclass, jint record_type_number, jint idc);  


/*
 * Class:     nist_sun_java_NIST_library
 * Method:    SetNISTLibErrorReportMode
 * Signature: (I)V
 */
JNIEXPORT int JNICALL Java_nist_1sun_1java_NIST_1library_SetNISTLibErrorReportMode
  (JNIEnv *env, jclass, jint);


  /*
 * Class:     nist_sun_java_NIST_library
 * Method:    ReadNISTLibLastErrorMessage
 * Signature: (I)V
 */
JNIEXPORT jstring JNICALL Java_nist_1sun_1java_NIST_1library_ReadNISTLibLastErrorMessage
  (JNIEnv *env, jclass);



#ifdef __x86_64__
  char filename_with_full_path_of_NIST_library [4096] = "./libNIST_library_macOS_x86_64.dylib";
#else
  char filename_with_full_path_of_NIST_library [4096] = "./libNIST_library_macOS_i386.dylib";
#endif


int NIST_library_path_is_set = 0;


#ifdef __cplusplus
}
#endif
#endif
