source: rtems/cpukit/posix/macros/rtems/posix/semaphore.inl @ 2b2bda4

4.104.114.84.95
Last change on this file since 2b2bda4 was 2b2bda4, checked in by Joel Sherrill <joel.sherrill@…>, on 12/01/00 at 18:57:36

2000-12-01 Joel Sherrill <joel@…>

  • Added macro support to POSIX API. This is known to compile.
  • macros/rtems/posix/cond.inl, macros/rtems/posix/intr.inl, macros/rtems/posix/key.inl, macros/rtems/posix/mqueue.inl, macros/rtems/posix/mutex.inl, macros/rtems/posix/priority.inl, macros/rtems/posix/pthread.inl, macros/rtems/posix/semaphore.inl, macros/rtems/posix/timer.inl: New files.
  • configure.in: Removed error check for enabling macros.
  • rtems/posix/mutex.h: #if 0'ed out prototypes for inlined routines since you cannot have prototypes for macros.
  • macros/rtems/posix/Makefile.am: Added files.
  • Property mode set to 100644
File size: 1.4 KB
Line 
1/*  rtems/posix/semaphore.inl
2 *
3 *  This include file contains the macro implementation of the private
4 *  inlined routines for POSIX Semaphores.
5 *
6 *  COPYRIGHT (c) 1989-1999.
7 *  On-Line Applications Research Corporation (OAR).
8 *
9 *  The license and distribution terms for this file may be
10 *  found in the file LICENSE in this distribution or at
11 *  http://www.OARcorp.com/rtems/license.html.
12 *
13 *  $Id$
14 */
15 
16#ifndef __RTEMS_POSIX_SEMAPHORE_inl
17#define __RTEMS_POSIX_SEMAPHORE_inl
18 
19/*PAGE
20 *
21 *  _POSIX_Semaphore_Allocate
22 */
23 
24#define _POSIX_Semaphore_Allocate() \
25  (POSIX_Semaphore_Control *) \
26    _Objects_Allocate( &_POSIX_Semaphore_Information );
27 
28/*PAGE
29 *
30 *  _POSIX_Semaphore_Free
31 */
32 
33#define _POSIX_Semaphore_Free( _the_semaphore ) \
34  _Objects_Free( &_POSIX_Semaphore_Information, &(_the_semaphore)->Object )
35 
36/*PAGE
37 *
38 *  _POSIX_Semaphore_Namespace_remove
39 */
40 
41#define _POSIX_Semaphore_Namespace_remove( _the_semaphore ) \
42  _Objects_Namespace_remove( \
43    &_POSIX_Semaphore_Information, &(_the_semaphore)->Object )
44
45/*PAGE
46 *
47 *  _POSIX_Semaphore_Get
48 */
49 
50#define _POSIX_Semaphore_Get( _id, _location ) \
51  (POSIX_Semaphore_Control *) \
52    _Objects_Get( &_POSIX_Semaphore_Information, *(_id), (_location) )
53 
54/*PAGE
55 *
56 *  _POSIX_Semaphore_Is_null
57 */
58 
59#define _POSIX_Semaphore_Is_null( _the_semaphore ) \
60  (!(_the_semaphore))
61
62#endif
63/*  end of include file */
64
Note: See TracBrowser for help on using the repository browser.