RTEMS
Classes | Macros | Functions
isrlock.h File Reference

ISR Locks. More...

#include <rtems/score/isrlevel.h>
#include <rtems/score/smplock.h>

Go to the source code of this file.

Classes

struct  ISR_lock_Control
 ISR lock control. More...
 
struct  ISR_lock_Context
 Local ISR lock context for acquire and release pairs. More...
 

Macros

#define ISR_LOCK_MEMBER(_designator)   ISR_lock_Control _designator;
 Defines an ISR lock member. More...
 
#define ISR_LOCK_DECLARE(_qualifier, _designator)   _qualifier ISR_lock_Control _designator;
 Declares an ISR lock variable. More...
 
#define ISR_LOCK_DEFINE(_qualifier, _designator, _name)   _qualifier ISR_lock_Control _designator = { SMP_LOCK_INITIALIZER( _name ) };
 Defines an ISR lock variable. More...
 
#define ISR_LOCK_REFERENCE(_designator, _target)   ISR_lock_Control *_designator = _target;
 Defines an ISR lock variable reference. More...
 
#define ISR_LOCK_INITIALIZER(_name)   { SMP_LOCK_INITIALIZER( _name ) }
 Initializer for static initialization of ISR locks. More...
 
#define _ISR_lock_Initialize(_lock, _name)   _SMP_lock_Initialize( &( _lock )->Lock, _name )
 Initializes an ISR lock. More...
 
#define _ISR_lock_Destroy(_lock)   _SMP_lock_Destroy( &( _lock )->Lock )
 Destroys an ISR lock. More...
 
#define _ISR_lock_Set_name(_lock, _name)   _SMP_lock_Set_name( &( _lock )->Lock, _name )
 Sets the name of an ISR lock. More...
 
#define _ISR_lock_ISR_disable_and_acquire(_lock, _context)
 Acquires an ISR lock. More...
 
#define _ISR_lock_Release_and_ISR_enable(_lock, _context)
 Releases an ISR lock. More...
 
#define _ISR_lock_Acquire(_lock, _context)
 Acquires an ISR lock inside an ISR disabled section. More...
 
#define _ISR_lock_Release(_lock, _context)
 Releases an ISR lock inside an ISR disabled section. More...
 
#define _ISR_lock_Acquire_inline(_lock, _context)
 Acquires an ISR lock inside an ISR disabled section (inline). More...
 
#define _ISR_lock_Release_inline(_lock, _context)
 Releases an ISR lock inside an ISR disabled section (inline). More...
 
#define _ISR_lock_ISR_disable_profile(_context)
 
#define _ISR_lock_ISR_disable(_context)
 Disables interrupts and saves the previous interrupt state in the ISR lock context. More...
 
#define _ISR_lock_ISR_enable(_context)   _ISR_Local_enable( ( _context )->Lock_context.isr_level )
 Restores the saved interrupt state of the ISR lock context. More...
 

Functions

static __inline__ void _ISR_lock_Context_set_level (ISR_lock_Context *context, ISR_Level level)
 Sets the ISR level in the ISR lock context. More...
 

Detailed Description

ISR Locks.

Definition in file isrlock.h.