| VLC
    3.0.18
    | 

| Data Structures | |
| struct | vlc_thread | 
| struct | vlc_threadvar | 
| Macros | |
| #define | IS_INTERRUPTIBLE (!VLC_WINSTORE_APP || _WIN32_WINNT >= 0x0A00) | 
| #define | ABOVE_NORMAL_PRIORITY_CLASS 0x00008000 | 
| #define | LOOKUP(s) (((s##_) = (void *)GetProcAddress(h, #s)) != NULL) | 
| Functions | |
| void | vlc_mutex_init (vlc_mutex_t *p_mutex) | 
| Initializes a fast mutex.  More... | |
| void | vlc_mutex_init_recursive (vlc_mutex_t *p_mutex) | 
| Initializes a recursive mutex.  More... | |
| void | vlc_mutex_destroy (vlc_mutex_t *p_mutex) | 
| Deinitializes a mutex.  More... | |
| void | vlc_mutex_lock (vlc_mutex_t *p_mutex) | 
| Acquires a mutex.  More... | |
| int | vlc_mutex_trylock (vlc_mutex_t *p_mutex) | 
| Tries to acquire a mutex.  More... | |
| void | vlc_mutex_unlock (vlc_mutex_t *p_mutex) | 
| Releases a mutex.  More... | |
| int | vlc_threadvar_create (vlc_threadvar_t *p_tls, void(*destr)(void *)) | 
| Allocates a thread-specific variable.  More... | |
| void | vlc_threadvar_delete (vlc_threadvar_t *p_tls) | 
| Deallocates a thread-specific variable.  More... | |
| int | vlc_threadvar_set (vlc_threadvar_t key, void *value) | 
| Sets a thread-specific variable.  More... | |
| void * | vlc_threadvar_get (vlc_threadvar_t key) | 
| Gets the value of a thread-local variable for the calling thread.  More... | |
| static void | vlc_threadvars_cleanup (void) | 
| void | vlc_addr_wait (void *addr, unsigned val) | 
| Waits on an address.  More... | |
| bool | vlc_addr_timedwait (void *addr, unsigned val, mtime_t delay) | 
| Waits on an address with a time-out.  More... | |
| void | vlc_addr_signal (void *addr) | 
| Wakes up one thread on an address.  More... | |
| void | vlc_addr_broadcast (void *addr) | 
| Wakes up all thread on an address.  More... | |
| static void | vlc_thread_destroy (vlc_thread_t th) | 
| static unsigned __stdcall | vlc_entry (void *p) | 
| static int | vlc_clone_attr (vlc_thread_t *p_handle, bool detached, void *(*entry)(void *), void *data, int priority) | 
| int | vlc_clone (vlc_thread_t *p_handle, void *(*entry)(void *), void *data, int priority) | 
| Creates and starts a new thread.  More... | |
| void | vlc_join (vlc_thread_t th, void **result) | 
| Waits for a thread to complete (if needed), then destroys it.  More... | |
| int | vlc_clone_detach (vlc_thread_t *p_handle, void *(*entry)(void *), void *data, int priority) | 
| vlc_thread_t | vlc_thread_self (void) | 
| Thread handle.  More... | |
| unsigned long | vlc_thread_id (void) | 
| Thread identifier.  More... | |
| int | vlc_set_priority (vlc_thread_t th, int priority) | 
| static void CALLBACK | vlc_cancel_self (ULONG_PTR self) | 
| void | vlc_cancel (vlc_thread_t th) | 
| Marks a thread as cancelled.  More... | |
| int | vlc_savecancel (void) | 
| Disables thread cancellation.  More... | |
| void | vlc_restorecancel (int state) | 
| Restores the cancellation state.  More... | |
| void | vlc_testcancel (void) | 
| Issues an explicit deferred cancellation point.  More... | |
| void | vlc_control_cancel (int cmd,...) | 
| Internal handler for thread cancellation.  More... | |
| static mtime_t | mdate_interrupt (void) | 
| static mtime_t | mdate_tick (void) | 
| static mtime_t | mdate_multimedia (void) | 
| static mtime_t | mdate_perf (void) | 
| static mtime_t | mdate_wall (void) | 
| static mtime_t | mdate_default (void) | 
| mtime_t | mdate (void) | 
| Precision monotonic clock.  More... | |
| static BOOL | SelectClockSource (void *data) | 
| size_t | EnumClockSource (vlc_object_t *obj, const char *var, char ***vp, char ***np) | 
| unsigned | vlc_GetCPUCount (void) | 
| Count CPUs.  More... | |
| void | vlc_threads_setup (libvlc_int_t *vlc) | 
| BOOL WINAPI | DllMain (HINSTANCE, DWORD, LPVOID) | 
| Variables | |
| static CRITICAL_SECTION | super_mutex | 
| static CONDITION_VARIABLE | super_variable | 
| static DWORD | thread_key | 
| struct vlc_threadvar * | vlc_threadvar_last = NULL | 
| union { | |
| struct { | |
| LARGE_INTEGER freq | |
| } perf | |
| struct { | |
| UINT cbtc | |
| } multimedia | |
| } | clk | 
| static mtime_t(* | mdate_selected )(void) = mdate_default | 
| static CRITICAL_SECTION | setup_lock | 
| vlc_rwlock_t | config_lock | 
| #define ABOVE_NORMAL_PRIORITY_CLASS 0x00008000 | 
| #define IS_INTERRUPTIBLE (!VLC_WINSTORE_APP || _WIN32_WINNT >= 0x0A00) | 
| #define LOOKUP | ( | s | ) | (((s##_) = (void *)GetProcAddress(h, #s)) != NULL) | 
| BOOL WINAPI DllMain | ( | HINSTANCE | hinstDll, | 
| DWORD | fdwReason, | ||
| LPVOID | lpvReserved | ||
| ) | 
| size_t EnumClockSource | ( | vlc_object_t * | obj, | 
| const char * | var, | ||
| char *** | vp, | ||
| char *** | np | ||
| ) | 
| 
 | static | 
References mdate_perf(), and vlc_threads_setup().
Referenced by vlc_threads_setup().
| 
 | static | 
References clk, CLOCK_FREQ, static_assert, and unlikely.
Referenced by SelectClockSource().
| 
 | static | 
References clk, CLOCK_FREQ, and static_assert.
Referenced by SelectClockSource().
| 
 | static | 
References clk, lldiv(), lldiv_t::quot, and lldiv_t::rem.
Referenced by mdate_default(), and SelectClockSource().
| 
 | static | 
References clk, CLOCK_FREQ, and static_assert.
Referenced by SelectClockSource().
| 
 | static | 
References CLOCK_FREQ, and static_assert.
Referenced by SelectClockSource().
| 
 | static | 
References clk, vlc_thread::data, mdate_interrupt(), mdate_multimedia(), mdate_perf(), mdate_selected, mdate_tick(), mdate_wall(), msg_Dbg, msg_Err, name, perf, unlikely, and var_InheritString.
Referenced by vlc_threads_setup().
| 
 | static | 
Referenced by vlc_cancel().
| 
 | static | 
References vlc_thread::addr, vlc_thread::cleaners, vlc_thread::data, vlc_thread::detached, vlc_thread::entry, vlc_thread::id, vlc_thread::killable, vlc_thread::killed, vlc_thread::lock, unlikely, vlc_entry(), and vlc_thread::wait.
Referenced by vlc_clone(), and vlc_clone_detach().
| int vlc_clone_detach | ( | vlc_thread_t * | p_handle, | 
| void *(*)(void *) | entry, | ||
| void * | data, | ||
| int | priority | ||
| ) | 
References vlc_thread::data, and vlc_clone_attr().
| 
 | static | 
References vlc_thread::data, vlc_thread::entry, vlc_thread::id, vlc_thread::killable, p, thread_key, and vlc_thread_destroy().
Referenced by vlc_clone_attr().
| int vlc_set_priority | ( | vlc_thread_t | th, | 
| int | priority | ||
| ) | 
| 
 | static | 
Referenced by vlc_entry(), vlc_join(), and vlc_testcancel().
| void vlc_threads_setup | ( | libvlc_int_t * | vlc | ) | 
References ABOVE_NORMAL_PRIORITY_CLASS, mdate_default(), mdate_selected, msg_Dbg, SelectClockSource(), setup_lock, var_InheritBool, and VLC_OBJECT.
| 
 | static | 
References vlc_threadvar::prev, super_mutex, vlc_threadvar_get(), vlc_threadvar_last, and vlc_threadvar_set().
Referenced by DllMain().
| UINT cbtc | 
| union { ... } clk | 
Referenced by mdate_interrupt(), mdate_multimedia(), mdate_perf(), mdate_tick(), and SelectClockSource().
| vlc_rwlock_t config_lock | 
Referenced by config_GetFloat(), config_GetInt(), config_GetPsz(), config_PutFloat(), config_PutInt(), and config_PutPsz().
| LARGE_INTEGER freq | 
Referenced by mdate().
| 
 | static | 
Referenced by mdate(), SelectClockSource(), and vlc_threads_setup().
| struct { ... } multimedia | 
| struct { ... } perf | 
Referenced by SelectClockSource().
| 
 | static | 
Referenced by DllMain(), and vlc_threads_setup().
| 
 | static | 
| 
 | static | 
Referenced by DllMain(), vlc_mutex_lock(), and vlc_mutex_unlock().
| 
 | static | 
Referenced by DllMain(), vlc_entry(), and vlc_thread_self().
| struct vlc_threadvar * vlc_threadvar_last = NULL | 
 1.8.16
 1.8.16