00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __jack_thread_h__
00021 #define __jack_thread_h__
00022
00023 #ifdef __cplusplus
00024 extern "C"
00025 {
00026 #endif
00027
00028 #include <jack/systemdeps.h>
00029
00048 int jack_client_real_time_priority (jack_client_t*);
00049
00056 int jack_client_max_real_time_priority (jack_client_t*);
00057
00068 int jack_acquire_real_time_scheduling (pthread_t thread, int priority);
00069
00086 int jack_client_create_thread (jack_client_t* client,
00087 pthread_t *thread,
00088 int priority,
00089 int realtime,
00090 void *(*start_routine)(void*),
00091 void *arg);
00092
00100 int jack_drop_real_time_scheduling (pthread_t thread);
00101
00109 int jack_client_stop_thread(jack_client_t* client, pthread_t thread);
00110
00118 int jack_client_kill_thread(jack_client_t* client, pthread_t thread);
00119
00120 #ifndef WIN32
00121
00122 typedef int (*jack_thread_creator_t)(pthread_t*,
00123 const pthread_attr_t*,
00124 void* (*function)(void*),
00125 void* arg);
00145 void jack_set_thread_creator (jack_thread_creator_t creator);
00146
00147 #endif
00148
00149
00150
00151 #ifdef __cplusplus
00152 }
00153 #endif
00154
00155 #endif