55#if !defined (PLIBSYS_H_INSIDE) && !defined (PLIBSYS_COMPILATION)
56# error "Header files shouldn't be included directly, consider using <plibsys.h> instead."
59#ifndef PLIBSYS_HEADER_PSPINLOCK_H
60#define PLIBSYS_HEADER_PSPINLOCK_H
#define P_BEGIN_DECLS
Starts .h file declarations to be exported as C functions.
#define P_END_DECLS
Closes .h file declarations to be exported as C functions, should be always used after P_BEGIN_DECLS.
#define P_LIB_API
Exports a symbol from a shared library.
P_LIB_API PSpinLock * p_spinlock_new(void)
Creates a new PSpinLock object.
P_LIB_API pboolean p_spinlock_unlock(PSpinLock *spinlock)
Releases a locked spinlock.
P_LIB_API pboolean p_spinlock_lock(PSpinLock *spinlock)
Locks a spinlock.
struct PSpinLock_ PSpinLock
Spinlock opaque data structure.
P_LIB_API pboolean p_spinlock_trylock(PSpinLock *spinlock)
Tries to lock a spinlock immediately.
P_LIB_API void p_spinlock_free(PSpinLock *spinlock)
Frees PSpinLock object.
signed int pboolean
Type for a bool.