typedef pthread_cond_t vlc_cond_t;
typedef pthread_rwlock_t vlc_rwlock_t;
typedef pthread_key_t vlc_threadvar_t;
-typedef struct vlc_timer_t vlc_timer_t;
-
-#ifndef __APPLE__
-/* There is no POSIX timer on Mac OS X. Move that to configure eventually. */
-#define HAVE_POSIX_TIMER 1
-#endif
-
-struct vlc_timer_t
-{
-#ifdef HAVE_POSIX_TIMER
- timer_t handle;
-#endif
- void (*func) (void *);
- void *data;
-};
+typedef struct vlc_timer *vlc_timer_t;
#elif defined( WIN32 )
+#if !defined( UNDER_CE )
+typedef HANDLE vlc_thread_t;
+#else
typedef struct
{
HANDLE handle;
- void *(*entry) (void *);
- void *data;
-#if defined( UNDER_CE )
HANDLE cancel_event;
-#endif
} *vlc_thread_t;
+#endif
typedef struct
{
} vlc_rwlock_t;
typedef DWORD vlc_threadvar_t;
-typedef struct vlc_timer_t vlc_timer_t;
-struct vlc_timer_t
-{
- HANDLE handle;
- void (*func) (void *);
- void *data;
- unsigned overrun;
- CRITICAL_SECTION serializer;
- LONG volatile counter;
-};
-
+typedef struct vlc_timer *vlc_timer_t;
#endif
#if defined( WIN32 ) && !defined ETIMEDOUT
VLC_EXPORT (void, vlc_control_cancel, (int cmd, ...));
VLC_EXPORT( int, vlc_timer_create, (vlc_timer_t *, void (*) (void *), void *) LIBVLC_USED );
-VLC_EXPORT( void, vlc_timer_destroy, (vlc_timer_t *) );
-VLC_EXPORT( void, vlc_timer_schedule, (vlc_timer_t *, bool, mtime_t, mtime_t) );
-VLC_EXPORT( unsigned, vlc_timer_getoverrun, (const vlc_timer_t *) LIBVLC_USED );
+VLC_EXPORT( void, vlc_timer_destroy, (vlc_timer_t) );
+VLC_EXPORT( void, vlc_timer_schedule, (vlc_timer_t, bool, mtime_t, mtime_t) );
+VLC_EXPORT( unsigned, vlc_timer_getoverrun, (vlc_timer_t) LIBVLC_USED );
#ifndef LIBVLC_USE_PTHREAD_CANCEL
enum {