blob: 96557a36e1a28e0388ac188c60daf094cf030be1 (
plain) (
tree)
|
|
/* rtems/posix/cond.inl
*
* This include file contains the macro implementation of the private
* inlined routines for POSIX condition variables.
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html.
*
* $Id$
*/
#ifndef __RTEMS_POSIX_CONDITION_VARIABLES_inl
#define __RTEMS_POSIX_CONDITION_VARIABLES_inl
/*PAGE
*
* _POSIX_Condition_variables_Allocate
*/
#define _POSIX_Condition_variables_Allocate() \
(POSIX_Condition_variables_Control *) \
_Objects_Allocate( &_POSIX_Condition_variables_Information )
/*PAGE
*
* _POSIX_Condition_variables_Free
*/
#define _POSIX_Condition_variables_Free( _the_condition_variable ) \
_Objects_Free( &_POSIX_Condition_variables_Information, \
&(_the_condition_variable)->Object)
/*PAGE
*
* _POSIX_Condition_variables_Get
*/
/* XXX how to write this as a macro */
static POSIX_Condition_variables_Control *_POSIX_Condition_variables_Get (
Objects_Id *id,
Objects_Locations *location
)
{
/* XXX should support COND_INITIALIZER */
if ( id )
return (POSIX_Condition_variables_Control *)
_Objects_Get( &_POSIX_Condition_variables_Information, *id, location );
*location = OBJECTS_ERROR;
return NULL;
}
/*PAGE
*
* _POSIX_Condition_variables_Is_null
*/
#define _POSIX_Condition_variables_Is_null( _the_condition_variable ) \
(!(_the_condition_variable))
#endif
/* end of include file */
|