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