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

#ifndef _Included_jtux_UClock
#define _Included_jtux_UClock
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     jtux_UClock
 * Method:    alarm
 * Signature: (I)I
 */
JNIEXPORT jint JNICALL Java_jtux_UClock_alarm
  (JNIEnv *, jclass, jint);

/*
 * Class:     jtux_UClock
 * Method:    nanosleep
 * Signature: (Ljtux/UProcess$s_timespec;Ljtux/UProcess$s_timespec;)V
 */
JNIEXPORT void JNICALL Java_jtux_UClock_nanosleep
  (JNIEnv *, jclass, jobject, jobject);

/*
 * Class:     jtux_UClock
 * Method:    sleep
 * Signature: (I)I
 */
JNIEXPORT jint JNICALL Java_jtux_UClock_sleep
  (JNIEnv *, jclass, jint);

/*
 * Class:     jtux_UClock
 * Method:    usleep
 * Signature: (I)V
 */
JNIEXPORT void JNICALL Java_jtux_UClock_usleep
  (JNIEnv *, jclass, jint);

#ifdef __cplusplus
}
#endif
#endif
