Jack2 1.9.6

thread.h

Go to the documentation of this file.
00001 /*
00002    Copyright (C) 2004 Paul Davis
00003 
00004    This program is free software; you can redistribute it and/or modify
00005    it under the terms of the GNU Lesser General Public License as published by
00006    the Free Software Foundation; either version 2.1 of the License, or
00007    (at your option) any later version.
00008 
00009    This program is distributed in the hope that it will be useful,
00010    but WITHOUT ANY WARRANTY; without even the implied warranty of
00011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012    GNU Lesser General Public License for more details.
00013 
00014    You should have received a copy of the GNU Lesser General Public License
00015    along with this program; if not, write to the Free Software
00016    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
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 #include <jack/weakmacros.h>
00030 
00049 int jack_client_real_time_priority (jack_client_t*) JACK_OPTIONAL_WEAK_EXPORT;
00050 
00057 int jack_client_max_real_time_priority (jack_client_t*) JACK_OPTIONAL_WEAK_EXPORT;
00058 
00069 int jack_acquire_real_time_scheduling (pthread_t thread, int priority) JACK_OPTIONAL_WEAK_EXPORT;
00070 
00087 int jack_client_create_thread (jack_client_t* client,
00088                                pthread_t *thread,
00089                                int priority,
00090                                int realtime,    /* boolean */
00091                                void *(*start_routine)(void*),
00092                                void *arg) JACK_OPTIONAL_WEAK_EXPORT;
00093 
00101 int jack_drop_real_time_scheduling (pthread_t thread) JACK_OPTIONAL_WEAK_EXPORT;
00102 
00110 int jack_client_stop_thread(jack_client_t* client, pthread_t thread) JACK_OPTIONAL_WEAK_EXPORT;
00111 
00119  int jack_client_kill_thread(jack_client_t* client, pthread_t thread) JACK_OPTIONAL_WEAK_EXPORT;
00120 
00121 #ifndef WIN32
00122 
00123  typedef int (*jack_thread_creator_t)(pthread_t*,
00124                                      const pthread_attr_t*,
00125                                      void* (*function)(void*),
00126                                      void* arg);
00146 void jack_set_thread_creator (jack_thread_creator_t creator) JACK_OPTIONAL_WEAK_EXPORT;
00147 
00148 #endif
00149 
00150 /* @} */
00151 
00152 #ifdef __cplusplus
00153 }
00154 #endif
00155 
00156 #endif /* __jack_thread_h__ */