| #ifndef _THREAD_H_included | 
 | #define _THREAD_H_included | 
 |  | 
 | #if defined(__STDC__) || defined(__cplusplus) | 
 | #define _P(args)	args | 
 | #else | 
 | #define _P(args)	() | 
 | #endif | 
 |  | 
 | typedef void *type_lock; | 
 | typedef void *type_sema; | 
 |  | 
 | #ifdef __cplusplus | 
 | extern "C" { | 
 | #endif | 
 |  | 
 | void init_thread _P((void)); | 
 | int start_new_thread _P((void (*)(void *), void *)); | 
 | void exit_thread _P((void)); | 
 | void _exit_thread _P((void)); | 
 |  | 
 | type_lock allocate_lock _P((void)); | 
 | void free_lock _P((type_lock)); | 
 | int acquire_lock _P((type_lock, int)); | 
 | #define WAIT_LOCK	1 | 
 | #define NOWAIT_LOCK	0 | 
 | void release_lock _P((type_lock)); | 
 |  | 
 | type_sema allocate_sema _P((int)); | 
 | void free_sema _P((type_sema)); | 
 | void down_sema _P((type_sema)); | 
 | void up_sema _P((type_sema)); | 
 |  | 
 | void exit_prog _P((int)); | 
 | void _exit_prog _P((int)); | 
 |  | 
 | #ifdef __cplusplus | 
 | } | 
 | #endif | 
 |  | 
 | #undef _P | 
 |  | 
 | #endif |