OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /or1k/trunk/rtems-20020807/cpukit/posix/macros/rtems
    from Rev 1028 to Rev 1765
    Reverse comparison

Rev 1028 → Rev 1765

/posix/timer.inl
0,0 → 1,53
/* timer.inl
*
* This file contains the macro implementation of the inlined routines
* from the POSIX Timer Manager.
*
* 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.
*
* timer.inl,v 1.1 2000/12/01 18:57:36 joel Exp
*/
 
#ifndef __POSIX_TIMER_inl
#define __POSIX_TIMER_inl
 
/*PAGE
*
* _POSIX_Timer_Allocate
*/
 
#define _POSIX_Timer_Allocate() \
(POSIX_Timer_Control *) _Objects_Allocate( &_POSIX_Timer_Information )
 
/*PAGE
*
* _POSIX_Timer_Free
*/
 
#define _POSIX_Timer_Free( _the_timer ) \
_Objects_Free( &_POSIX_Timer_Information, &(_the_timer)->Object );
 
/*PAGE
*
* _POSIX_Timer_Get
*/
 
#define _POSIX_Timer_Get( _the_timer ) \
(POSIX_Timer_Control *) \
_Objects_Get( &_POSIX_Timer_Information, (_id), (_location) )
 
/*PAGE
*
* _POSIX_Timer_Is_null
*/
 
#define _POSIX_Timer_Is_null( _the_timer ) \
(!(_the_timer))
 
#endif
/* end of include file */
/posix/mqueue.inl
0,0 → 1,101
/* rtems/posix/mqueue.inl
*
* This include file contains the macro implementation of the private
* inlined routines for POSIX Message Queue.
*
* 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.
*
* mqueue.inl,v 1.3 2002/05/17 17:59:21 joel Exp
*/
#ifndef __RTEMS_POSIX_MESSAGE_QUEUE_inl
#define __RTEMS_POSIX_MESSAGE_QUEUE_inl
/*
* _POSIX_Message_queue_Allocate
*/
#define _POSIX_Message_queue_Allocate() \
(POSIX_Message_queue_Control *) \
_Objects_Allocate( &_POSIX_Message_queue_Information )
 
/*
* _POSIX_Message_queue_Allocate_fd
*/
#define _POSIX_Message_queue_Allocate_fd() \
(POSIX_Message_queue_Control_fd *) \
_Objects_Allocate( &_POSIX_Message_queue_Information_fds )
/*
* _POSIX_Message_queue_Free
*/
#define _POSIX_Message_queue_Free( _the_mq ) \
_Objects_Free( &_POSIX_Message_queue_Information, &(_the_mq)->Object )
 
/*
* _POSIX_Message_queue_Free_fd
*/
#define _POSIX_Message_queue_Free_fd( _the_mq_fd ) \
_Objects_Free( &_POSIX_Message_queue_Information_fds, &(_the_mq_fd)->Object )
 
/*
* _POSIX_Message_queue_Namespace_remove
*/
#define _POSIX_Message_queue_Namespace_remove( _the_mq ) \
_Objects_Namespace_remove( \
&_POSIX_Message_queue_Information, &(_the_mq)->Object )
/*
* _POSIX_Message_queue_Get
*/
#define _POSIX_Message_queue_Get( _id, _location ) \
(POSIX_Message_queue_Control *) \
_Objects_Get( &_POSIX_Message_queue_Information, (_id), (_location) )
/*
* _POSIX_Message_queue_Get_fd
*/
#define _POSIX_Message_queue_Get_fd( _id, _location ) \
(POSIX_Message_queue_Control_fd *) \
_Objects_Get( &_POSIX_Message_queue_Information_fds, (_id), (_location) )
/*
*
* _POSIX_Message_queue_Is_null
*/
#define _POSIX_Message_queue_Is_null( _the_mq ) \
(!(_the_mq))
 
/*
*
* _POSIX_Message_queue_Priority_to_core
*/
#define _POSIX_Message_queue_Priority_to_core( _priority ) \
((_priority) * -1)
 
/*
* _POSIX_Message_queue_Priority_from_core
*/
/* absolute value without a library dependency */
#define _POSIX_Message_queue_Priority_from_core( _priority ) \
((((CORE_message_queue_Submit_types)(_priority)) >= 0) ? \
(_priority) : \
-((CORE_message_queue_Submit_types)(_priority)))
 
#endif
/* end of include file */
 
/posix/priority.inl
0,0 → 1,25
/*
* priority.inl,v 1.1 2000/12/01 18:57:36 joel Exp
*/
 
#ifndef __RTEMS_POSIX_PRIORITY_inl
#define __RTEMS_POSIX_PRIORITY_inl
 
/*
* 1003.1b-1993,2.2.2.80 definition of priority, p. 19
*
* "Numericallly higher values represent higher priorities."
*
* Thus, RTEMS Core has priorities run in the opposite sense of the POSIX API.
*/
 
#define _POSIX_Priority_Is_valid( _priority ) \
((boolean) ((_priority) >= 1 && (_priority) <= 254))
 
#define _POSIX_Priority_To_core( _priority ) \
((Priority_Control) (255 - (_priority)))
 
#define _POSIX_Priority_From_core( _priority ) \
(255 - (_priority))
 
#endif
/posix/mutex.inl
0,0 → 1,100
/* rtems/posix/mutex.inl
*
* This include file contains the macro implementation of the private
* inlined routines for POSIX mutex's.
*
* 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.
*
* mutex.inl,v 1.1 2000/12/01 18:57:36 joel Exp
*/
#ifndef __RTEMS_POSIX_MUTEX_inl
#define __RTEMS_POSIX_MUTEX_inl
/*PAGE
*
* _POSIX_Mutex_Allocate
*/
#define _POSIX_Mutex_Allocate() \
(POSIX_Mutex_Control *) _Objects_Allocate( &_POSIX_Mutex_Information )
/*PAGE
*
* _POSIX_Mutex_Free
*/
#define _POSIX_Mutex_Free( _the_mutex ) \
_Objects_Free( &_POSIX_Mutex_Information, &(_the_mutex)->Object )
/*PAGE
*
* _POSIX_Mutex_Get
*
* NOTE: The support macro makes it possible for both to use exactly
* the same code to check for NULL id pointer and
* PTHREAD_MUTEX_INITIALIZER without adding overhead.
*/
 
#define ___POSIX_Mutex_Get_support( _id, _location ) \
do { \
int _status; \
\
if ( !_id ) { \
*_location = OBJECTS_ERROR; \
return (POSIX_Mutex_Control *) 0; \
} \
\
if ( *_id == PTHREAD_MUTEX_INITIALIZER ) { \
/* \
* Do an "auto-create" here. \
*/ \
\
_status = pthread_mutex_init( _id, 0 ); \
if ( _status ) { \
*_location = OBJECTS_ERROR; \
return (POSIX_Mutex_Control *) 0; \
} \
} \
} while (0)
static POSIX_Mutex_Control * _POSIX_Mutex_Get(
Objects_Id *id,
Objects_Locations *location
)
{
___POSIX_Mutex_Get_support( id, location );
 
return (POSIX_Mutex_Control *)
_Objects_Get( &_POSIX_Mutex_Information, *id, location );
}
 
static POSIX_Mutex_Control *_POSIX_Mutex_Get_interrupt_disable(
Objects_Id *id,
Objects_Locations *location,
ISR_Level *level
)
{
___POSIX_Mutex_Get_support( id, location );
 
return (POSIX_Mutex_Control *)
_Objects_Get_isr_disable( &_POSIX_Mutex_Information, *id, location, level );
}
 
/*PAGE
*
* _POSIX_Mutex_Is_null
*/
#define _POSIX_Mutex_Is_null( _the_mutex ) \
(!(_the_mutex))
 
#endif
/* end of include file */
 
/posix/cond.inl
0,0 → 1,66
/* 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.
*
* cond.inl,v 1.1 2000/12/01 18:57:36 joel Exp
*/
#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 */
/posix/semaphore.inl
0,0 → 1,64
/* rtems/posix/semaphore.inl
*
* This include file contains the macro implementation of the private
* inlined routines for POSIX Semaphores.
*
* 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.
*
* semaphore.inl,v 1.1 2000/12/01 18:57:36 joel Exp
*/
#ifndef __RTEMS_POSIX_SEMAPHORE_inl
#define __RTEMS_POSIX_SEMAPHORE_inl
/*PAGE
*
* _POSIX_Semaphore_Allocate
*/
#define _POSIX_Semaphore_Allocate() \
(POSIX_Semaphore_Control *) \
_Objects_Allocate( &_POSIX_Semaphore_Information );
/*PAGE
*
* _POSIX_Semaphore_Free
*/
#define _POSIX_Semaphore_Free( _the_semaphore ) \
_Objects_Free( &_POSIX_Semaphore_Information, &(_the_semaphore)->Object )
/*PAGE
*
* _POSIX_Semaphore_Namespace_remove
*/
#define _POSIX_Semaphore_Namespace_remove( _the_semaphore ) \
_Objects_Namespace_remove( \
&_POSIX_Semaphore_Information, &(_the_semaphore)->Object )
 
/*PAGE
*
* _POSIX_Semaphore_Get
*/
#define _POSIX_Semaphore_Get( _id, _location ) \
(POSIX_Semaphore_Control *) \
_Objects_Get( &_POSIX_Semaphore_Information, *(_id), (_location) )
/*PAGE
*
* _POSIX_Semaphore_Is_null
*/
#define _POSIX_Semaphore_Is_null( _the_semaphore ) \
(!(_the_semaphore))
 
#endif
/* end of include file */
 
/posix/pthread.inl
0,0 → 1,54
/* rtems/posix/pthread.inl
*
* This include file contains the macro implementation of the private
* inlined routines for POSIX threads.
*
* 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.
*
* pthread.inl,v 1.1 2000/12/01 18:57:36 joel Exp
*/
#ifndef __RTEMS_POSIX_THREADS_inl
#define __RTEMS_POSIX_THREADS_inl
/*PAGE
*
* _POSIX_Threads_Allocate
*/
#define _POSIX_Threads_Allocate() \
(Thread_Control *) _Objects_Allocate( &_POSIX_Threads_Information )
/*PAGE
*
* _POSIX_Threads_Free
*/
#define _POSIX_Threads_Free( _the_pthread ) \
_Objects_Free( &_POSIX_Threads_Information, &(_the_pthread)->Object )
/*PAGE
*
* _POSIX_Threads_Get
*/
#define _POSIX_Threads_Get( _id, _location ) \
(Thread_Control *) \
_Objects_Get( &_POSIX_Threads_Information, (Objects_Id)(_id), (_location) )
/*PAGE
*
* _POSIX_Threads_Is_null
*/
#define _POSIX_Threads_Is_null( _the_pthread ) \
(!(_the_pthread))
 
#endif
/* end of include file */
 
/posix/key.inl
0,0 → 1,54
/* rtems/posix/key.inl
*
* This include file contains the macro implementation of the private
* inlined routines for POSIX key's.
*
* 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.
*
* key.inl,v 1.1 2000/12/01 18:57:36 joel Exp
*/
#ifndef __RTEMS_POSIX_KEY_inl
#define __RTEMS_POSIX_KEY_inl
/*PAGE
*
* _POSIX_Keys_Allocate
*/
#define _POSIX_Keys_Allocate() \
(POSIX_Keys_Control *) _Objects_Allocate( &_POSIX_Keys_Information )
/*PAGE
*
* _POSIX_Keys_Free
*/
#define _POSIX_Keys_Free( _the_key ) \
_Objects_Free( &_POSIX_Keys_Information, &(_the_key)->Object );
/*PAGE
*
* _POSIX_Keys_Get
*/
#define _POSIX_Keys_Get( _id, _location ) \
(POSIX_Keys_Control *) \
_Objects_Get( &_POSIX_Keys_Information, (_id), (_location) )
/*PAGE
*
* _POSIX_Keys_Is_null
*/
#define _POSIX_Keys_Is_null( _the_key ) \
(!(_the_key))
 
#endif
/* end of include file */
 
/posix/intr.inl
0,0 → 1,55
/* rtems/posix/intr.inl
*
* This include file contains the macro implementation of the private
* inlined routines for POSIX Interrupt Manager
*
* 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.
*
* intr.inl,v 1.1 2000/12/01 18:57:36 joel Exp
*/
#ifndef __RTEMS_POSIX_INTERRUPT_inl
#define __RTEMS_POSIX_INTERRUPT_inl
 
/*PAGE
*
* _POSIX_Interrupt_Allocate
*/
#define _POSIX_Interrupt_Allocate() \
(POSIX_Interrupt_Handler_control *) \
_Objects_Allocate( &_POSIX_Interrupt_Handlers_Information )
/*PAGE
*
* _POSIX_Interrupt_Free
*/
#define _POSIX_Interrupt_Free( _the_intr ) \
_Objects_Free( &_POSIX_Interrupt_Handlers_Information, &(_the_intr)->Object )
/*PAGE
*
* _POSIX_Interrupt_Get
*/
#define _POSIX_Interrupt_Get( _id, _location ) \
(POSIX_Interrupt_Control *) \
_Objects_Get( &_POSIX_Interrupt_Handlers_Information, (_id), (_location) )
/*PAGE
*
* _POSIX_Interrupt_Is_null
*/
#define _POSIX_Interrupt_Is_null( _the_intr ) \
(!(_the_intr))
 
#endif
/* end of include file */
 
posix Property changes : Added: svn:ignore ## -0,0 +1,2 ## +Makefile +Makefile.in Index: . =================================================================== --- . (nonexistent) +++ . (revision 1765)
. Property changes : Added: svn:ignore ## -0,0 +1,2 ## +Makefile +Makefile.in

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.