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

#ifndef _Included_org_apache_hadoop_io_erasurecode_rawcoder_NativeRSRawDecoder
#define _Included_org_apache_hadoop_io_erasurecode_rawcoder_NativeRSRawDecoder
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     org_apache_hadoop_io_erasurecode_rawcoder_NativeRSRawDecoder
 * Method:    initImpl
 * Signature: (II[I)V
 */
JNIEXPORT void JNICALL Java_org_apache_hadoop_io_erasurecode_rawcoder_NativeRSRawDecoder_initImpl
  (JNIEnv *, jobject, jint, jint);

/*
 * Class:     org_apache_hadoop_io_erasurecode_rawcoder_NativeRSRawDecoder
 * Method:    decodeImpl
 * Signature: ([Ljava/nio/ByteBuffer;[II[I[Ljava/nio/ByteBuffer;[I)V
 */
JNIEXPORT void JNICALL Java_org_apache_hadoop_io_erasurecode_rawcoder_NativeRSRawDecoder_decodeImpl
  (JNIEnv *, jobject, jobjectArray, jintArray, jint, jintArray, jobjectArray, jintArray);

/*
 * Class:     org_apache_hadoop_io_erasurecode_rawcoder_NativeRSRawDecoder
 * Method:    destroyImpl
 * Signature: ()V
 */
JNIEXPORT void JNICALL Java_org_apache_hadoop_io_erasurecode_rawcoder_NativeRSRawDecoder_destroyImpl
  (JNIEnv *, jobject);

#ifdef __cplusplus
}
#endif
#endif
