]> git.sesse.net Git - vlc/blobdiff - include/vlc_threads.h
Added missing const qualifier to vod_MediaControl.
[vlc] / include / vlc_threads.h
index 6036ac43ba41b3891fa47b864a86a648e0812430..20a5e78c157111df2f88bd659d1e0bf61e5c87c5 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
+#if !defined( __LIBVLC__ )
+  #error You are not libvlc or one of its plugins. You cannot include this file
+#endif
+
+#ifndef _VLC_THREADS_H_
+#define _VLC_THREADS_H_
+
 #include <stdio.h>
 
 #if defined(DEBUG) && defined(HAVE_SYS_TIME_H)
@@ -48,6 +55,8 @@
 #   include <byteorder.h>
 
 #elif defined( PTHREAD_COND_T_IN_PTHREAD_H )  /* pthreads (like Linux & BSD) */
+#   define LIBVLC_USE_PTHREAD 1
+
 #   include <pthread.h>
 #   ifdef DEBUG
         /* Needed for pthread_cond_timedwait */
@@ -69,7 +78,7 @@
  *****************************************************************************/
 
 /* Thread priorities */
-#ifdef SYS_DARWIN
+#ifdef __APPLE__
 #   define VLC_THREAD_PRIORITY_LOW (-47)
 #   define VLC_THREAD_PRIORITY_INPUT 37
 #   define VLC_THREAD_PRIORITY_AUDIO 37
@@ -133,6 +142,10 @@ typedef struct
     pth_cond_t cond;
     vlc_object_t * p_this;
 } vlc_cond_t;
+typedef struct
+{
+    int handle;
+} vlc_threadvar_t;
 
 #elif defined( ST_INIT_IN_ST_H )
 typedef st_thread_t      vlc_thread_t;
@@ -146,6 +159,10 @@ typedef struct
     st_cond_t cond;
     vlc_object_t * p_this;
 } vlc_cond_t;
+typedef struct
+{
+    int handle;
+} vlc_threadvar_t;
 
 #elif defined( WIN32 ) || defined( UNDER_CE )
 typedef HANDLE vlc_thread_t;
@@ -176,6 +193,11 @@ typedef struct
     vlc_object_t * p_this;
 } vlc_cond_t;
 
+typedef struct
+{
+    DWORD   handle;
+} vlc_threadvar_t;
+
 #elif defined( HAVE_KERNEL_SCHEDULER_H )
 /* This is the BeOS implementation of the vlc threads, note that the mutex is
  * not a real mutex and the cond_var is not like a pthread cond_var but it is
@@ -199,6 +221,11 @@ typedef struct
     vlc_object_t * p_this;
 } vlc_cond_t;
 
+typedef struct
+{
+} vlc_threadvar_t;
+
+
 #elif defined( PTHREAD_COND_T_IN_PTHREAD_H )
 typedef pthread_t       vlc_thread_t;
 typedef struct
@@ -212,6 +239,11 @@ typedef struct
     vlc_object_t * p_this;
 } vlc_cond_t;
 
+typedef struct
+{
+    pthread_key_t handle;
+} vlc_threadvar_t;
+
 #elif defined( HAVE_CTHREADS_H )
 typedef cthread_t       vlc_thread_t;
 
@@ -238,5 +270,11 @@ typedef struct
     vlc_object_t * p_this;
 } vlc_cond_t;
 
+typedef struct
+{
+    cthread_key_t handle;
+} vlc_threadvar_t;
+
 #endif
 
+#endif