API Mutex Handler


Data Structures

struct  API_Mutex_Control

Defines

#define _RTEMS_Lock_allocator()   _API_Mutex_Lock( _RTEMS_Allocator_Mutex )
#define _RTEMS_Unlock_allocator()   _API_Mutex_Unlock( _RTEMS_Allocator_Mutex )

Functions

void _API_Mutex_Initialization (uint32_t maximum_mutexes)
void _API_Mutex_Allocate (API_Mutex_Control **the_mutex)
void _API_Mutex_Lock (API_Mutex_Control *the_mutex)
void _API_Mutex_Unlock (API_Mutex_Control *the_mutex)

Variables

SCORE_EXTERN Objects_Information _API_Mutex_Information
SCORE_EXTERN API_Mutex_Control_RTEMS_Allocator_Mutex

Detailed Description

This handler encapsulates functionality which provides mutexes to be used in the implementation of API functionality.

Define Documentation

 
#define _RTEMS_Lock_allocator (  )     _API_Mutex_Lock( _RTEMS_Allocator_Mutex )

This macro locks the RTEMS Allocation Mutex.

See also:
_RTEMS_Allocator_Mutex

 
#define _RTEMS_Unlock_allocator (  )     _API_Mutex_Unlock( _RTEMS_Allocator_Mutex )

This macro unlocks the RTEMS Allocation Mutex.

See also:
_RTEMS_Allocator_Mutex


Function Documentation

void _API_Mutex_Allocate ( API_Mutex_Control **  the_mutex  ) 

This routine allocates an API mutex from the inactive set.

Parameters:
[out] the_mutex will contain the allocated mutex.

void _API_Mutex_Initialization ( uint32_t  maximum_mutexes  ) 

This routine performs the initialization necessary for this handler.

Parameters:
[in] maximum_mutexes is the maximum number of API mutexes that may exist at any time

void _API_Mutex_Lock ( API_Mutex_Control the_mutex  ) 

This routine acquires the specified API mutex.

Parameters:
[in] the_mutex is the mutex to acquire.

void _API_Mutex_Unlock ( API_Mutex_Control the_mutex  ) 

This routine releases the specified API mutex.

Parameters:
[in] the_mutex is the mutex to release.


Variable Documentation

The following variable is the information control block used to manage this class of objects.

This variable points to the API Mutex instance that is used to protect all memory allocation and deallocation in RTEMS.

Note:
When the APIs all use this for allocation and deallocation protection, then this possibly should be renamed and moved to a higher level in the hierarchy.


Generated on Fri Jul 4 00:21:26 2008 for RTEMSSuperCore by  doxygen 1.5.6