RTEMS CPU Kit with SuperCore  4.11.2
Macros | Typedefs | Enumerations | Functions
corerwlockimpl.h File Reference

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

#include <rtems/score/corerwlock.h>
#include <rtems/score/thread.h>
#include <rtems/score/threadqimpl.h>
#include <rtems/score/watchdog.h>
Include dependency graph for corerwlockimpl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define CORE_RWLOCK_STATUS_LAST   CORE_RWLOCK_TIMEOUT
 This is the last status value.
 
#define CORE_RWLOCK_THREAD_WAITING_FOR_READ   0
 This is used to denote that a thread is blocking waiting for read-only access to the RWLock.
 
#define CORE_RWLOCK_THREAD_WAITING_FOR_WRITE   1
 This is used to denote that a thread is blocking waiting for write-exclusive access to the RWLock.
 
#define _CORE_RWLock_Flush(_the_rwlock, _remote_extract_callout, _status)
 This routine assists in the deletion of a RWLock by flushing the associated wait queue. More...
 

Typedefs

typedef void(* CORE_RWLock_API_mp_support_callout) (Thread_Control *, Objects_Id)
 The following type defines the callout which the API provides to support global/multiprocessor operations on RWLocks.
 

Enumerations

enum  CORE_RWLock_Status { CORE_RWLOCK_SUCCESSFUL, CORE_RWLOCK_WAS_DELETED, CORE_RWLOCK_UNAVAILABLE, CORE_RWLOCK_TIMEOUT }
 Core RWLock handler return statuses. More...
 

Functions

void _CORE_RWLock_Initialize (CORE_RWLock_Control *the_rwlock, CORE_RWLock_Attributes *the_rwlock_attributes)
 Initialize a RWlock. More...
 
RTEMS_INLINE_ROUTINE void _CORE_RWLock_Destroy (CORE_RWLock_Control *the_rwlock)
 
void _CORE_RWLock_Obtain_for_reading (CORE_RWLock_Control *the_rwlock, Thread_Control *executing, Objects_Id id, bool wait, Watchdog_Interval timeout, CORE_RWLock_API_mp_support_callout api_rwlock_mp_support)
 Obtain RWLock for reading. More...
 
void _CORE_RWLock_Obtain_for_writing (CORE_RWLock_Control *the_rwlock, Thread_Control *executing, Objects_Id id, bool wait, Watchdog_Interval timeout, CORE_RWLock_API_mp_support_callout api_rwlock_mp_support)
 Obtain RWLock for writing. More...
 
CORE_RWLock_Status _CORE_RWLock_Release (CORE_RWLock_Control *the_rwlock, Thread_Control *executing)
 Release the RWLock. More...
 
RTEMS_INLINE_ROUTINE void _CORE_RWLock_Initialize_attributes (CORE_RWLock_Attributes *the_attributes)
 This method is used to initialize core rwlock attributes. More...
 

Detailed Description

Inlined Routines Associated with the SuperCore RWLock.

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