// Code generated by gobind. DO NOT EDIT.

// JNI function headers for the Go <=> Java bridge.
//
//   autogenerated by gobind -lang=java doc

#ifndef __Doc_H__
#define __Doc_H__

#include <jni.h>

extern jclass proxy_class_doc_I;
extern jmethodID proxy_class_doc_I_cons;

void cproxydoc_I_IM(int32_t refnum);

extern jclass proxy_class_doc_NoDoc;
extern jmethodID proxy_class_doc_NoDoc_cons;
extern jclass proxy_class_doc_S;
extern jmethodID proxy_class_doc_S_cons;
extern jclass proxy_class_doc_S2;
extern jmethodID proxy_class_doc_S2_cons;
#endif
