66#if !defined (PLIBSYS_H_INSIDE) && !defined (PLIBSYS_COMPILATION)
67# error "Header files shouldn't be included directly, consider using <plibsys.h> instead."
70#ifndef PLIBSYS_HEADER_PRWLOCK_H
71#define PLIBSYS_HEADER_PRWLOCK_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 pboolean p_rwlock_writer_trylock(PRWLock *lock)
Tries to lock a read-write lock immediately.
P_LIB_API pboolean p_rwlock_writer_lock(PRWLock *lock)
Locks a read-write lock for writing.
P_LIB_API pboolean p_rwlock_writer_unlock(PRWLock *lock)
Releases a locked for writing read-write lock.
P_LIB_API pboolean p_rwlock_reader_trylock(PRWLock *lock)
Tries to lock a read-write lock for reading immediately.
P_LIB_API pboolean p_rwlock_reader_lock(PRWLock *lock)
Locks a read-write lock for reading.
P_LIB_API void p_rwlock_free(PRWLock *lock)
Frees a PRWLock object.
P_LIB_API PRWLock * p_rwlock_new(void)
Creates a new PRWLock object.
P_LIB_API pboolean p_rwlock_reader_unlock(PRWLock *lock)
Releases a locked for reading read-write lock.
struct PRWLock_ PRWLock
Read-write lock opaque data structure.
signed int pboolean
Type for a bool.