+#ifndef _NATIVE_H
+#define _NATIVE_H
+
+#if !defined(STATIC_CLASSPATH)
+# include "libltdl/ltdl.h"
+#endif
+
+#include "vm/class.h"
+#include "vm/global.h"
+#include "vm/method.h"
+#include "vm/utf8.h"
+#include "native/jni.h"
+#include "native/include/java_lang_String.h"
+#include "native/include/java_lang_ClassLoader.h"
+#include "native/include/java_lang_Throwable.h"
+
+
+/* table for locating native methods */
+
+typedef struct nativeref nativeref;
+typedef struct nativecompref nativecompref;
+
+
+#if !defined(STATIC_CLASSPATH)
+typedef struct library_hash_loader_entry library_hash_loader_entry;
+typedef struct library_hash_name_entry library_hash_name_entry;
+
+/* library_hash_loader_entry **************************************************/
+
+struct library_hash_loader_entry {
+ java_objectheader *loader; /* class loader */
+ library_hash_name_entry *namelink;/* libraries loaded by this loader */
+ library_hash_loader_entry *hashlink;/* link for external chaining */
+};