RTEMS  5.0.0
Data Structures | Macros | Enumerations | Functions
corerwlockimpl.h File Reference

Inlined Routines Associated with the SuperCore RWLock. More...

#include <rtems/score/percpu.h>
#include <rtems/score/status.h>
#include <rtems/score/thread.h>
#include <rtems/score/threadqimpl.h>
#include <rtems/score/watchdog.h>

Go to the source code of this file.

Data Structures

struct  CORE_RWLock_Control
 

Macros

#define CORE_RWLOCK_TQ_OPERATIONS   &_Thread_queue_Operations_FIFO
 
#define CORE_RWLOCK_THREAD_WAITING_FOR_READ   0
 
#define CORE_RWLOCK_THREAD_WAITING_FOR_WRITE   1
 

Enumerations

enum  CORE_RWLock_States { CORE_RWLOCK_UNLOCKED, CORE_RWLOCK_LOCKED_FOR_READING, CORE_RWLOCK_LOCKED_FOR_WRITING }
 

Functions

void _CORE_RWLock_Initialize (CORE_RWLock_Control *the_rwlock)
 Initialize a RWlock. More...
 
RTEMS_INLINE_ROUTINE void _CORE_RWLock_Destroy (CORE_RWLock_Control *the_rwlock)
 
RTEMS_INLINE_ROUTINE Thread_Control_CORE_RWLock_Acquire (CORE_RWLock_Control *the_rwlock, Thread_queue_Context *queue_context)
 
RTEMS_INLINE_ROUTINE void _CORE_RWLock_Release (CORE_RWLock_Control *the_rwlock, Thread_queue_Context *queue_context)
 
Status_Control _CORE_RWLock_Seize_for_reading (CORE_RWLock_Control *the_rwlock, bool wait, Thread_queue_Context *queue_context)
 Obtain RWLock for reading. More...
 
Status_Control _CORE_RWLock_Seize_for_writing (CORE_RWLock_Control *the_rwlock, bool wait, Thread_queue_Context *queue_context)
 Obtain RWLock for writing. More...
 
Status_Control _CORE_RWLock_Surrender (CORE_RWLock_Control *the_rwlock)
 Release the RWLock. More...
 

Detailed Description

Inlined Routines Associated with the SuperCore RWLock.

This include file contains all of the inlined routines associated with the SuperCore RWLock.