/* DO NOT EDIT THIS FILE - it is machine generated */
#include <native.h>

#ifndef _Included_java_lang_Thread
#define _Included_java_lang_Thread

#ifdef __cplusplus
extern "C" {
#endif

/* Header for class java_lang_Thread */

typedef struct Hjava_lang_Thread {
  Hjava_lang_Object base;
#define java_lang_Thread_MIN_PRIORITY 1
#define java_lang_Thread_NORM_PRIORITY 5
#define java_lang_Thread_MAX_PRIORITY 10
  HArrayOfChar* name;
  jint priority;
  struct Hjava_lang_Thread* threadQ;
  struct Hkaffe_util_Ptr* PrivateInfo;
  jboolean daemon;
  jboolean interrupting;
  struct Hjava_lang_Runnable* target;
  struct Hjava_lang_ThreadGroup* group;
  struct Hkaffe_util_Ptr* exceptPtr;
  struct Hjava_lang_Throwable* exceptObj;
  struct Hkaffe_util_Ptr* jnireferences;
  struct Hjava_lang_Throwable* stackOverflowError;
  struct Hjava_lang_Throwable* outOfMemoryError;
  jboolean started;
  jboolean dying;
  struct Hjava_util_HashMap* threadLocals;
  struct Hjava_lang_Object* suspendResume;
  struct Hjava_lang_Object* sleeper;
  struct Hjava_lang_Object* holder;
  struct Hkaffe_util_Ptr* sem;
  struct Hjava_lang_Thread* nextlk;
  struct Hjava_lang_Throwable* death;
  jint needOnStack;
  struct Hjava_lang_ClassLoader* context;
} Hjava_lang_Thread;

extern jint java_lang_Thread_countStackFrames(struct Hjava_lang_Thread*);
extern struct Hjava_lang_Thread* java_lang_Thread_currentThread(void);
extern void java_lang_Thread_destroy0(struct Hjava_lang_Thread*);
extern void java_lang_Thread_finalize0(struct Hjava_lang_Thread*);
extern void java_lang_Thread_interrupt0(struct Hjava_lang_Thread*);
extern void java_lang_Thread_setPriority0(struct Hjava_lang_Thread*, jint);
extern void java_lang_Thread_start0(struct Hjava_lang_Thread*);
extern void java_lang_Thread_stop0(struct Hjava_lang_Thread*, struct Hjava_lang_Object*);
extern void java_lang_Thread_yield0(void);

#ifdef __cplusplus
}
#endif

#endif
