source: rtems/c/src/exec/rtems/macros/rtems/rtems/sem.inl @ eafa70b2

4.104.114.84.95
Last change on this file since eafa70b2 was eafa70b2, checked in by Joel Sherrill <joel.sherrill@…>, on 11/30/00 at 14:33:52

2000-11-30 Joel Sherrill <joel@…>

  • macros/rtems/rtems/sem.inl: Added macro implementation of _Semaphore_Get_interrupt_disable().
  • Property mode set to 100644
File size: 1.2 KB
Line 
1/*  sem.inl
2 *
3 *  This file contains the macro implementation of the inlined
4 *  routines from the Semaphore Manager.
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 __SEMAPHORE_inl
17#define __SEMAPHORE_inl
18
19/*PAGE
20 *
21 *  _Semaphore_Allocate
22 *
23 */
24
25#define _Semaphore_Allocate() \
26  (Semaphore_Control *) _Objects_Allocate( &_Semaphore_Information )
27
28/*PAGE
29 *
30 *  _Semaphore_Free
31 *
32 */
33
34#define _Semaphore_Free( _the_semaphore ) \
35  _Objects_Free( &_Semaphore_Information, &(_the_semaphore)->Object )
36
37/*PAGE
38 *
39 *  _Semaphore_Get
40 *
41 */
42
43#define _Semaphore_Get( _id, _location ) \
44  (Semaphore_Control *) \
45  _Objects_Get( &_Semaphore_Information, (_id), (_location) )
46
47#define _Semaphore_Get_interrupt_disable( _id, _location, _level ) \
48  (Semaphore_Control *) \
49  _Objects_Get_isr_disable( \
50    &_Semaphore_Information, (_id), (_location), (_level) )
51
52/*PAGE
53 *
54 *  _Semaphore_Is_null
55 *
56 */
57
58#define _Semaphore_Is_null( _the_semaphore ) \
59  ( (_the_semaphore) == NULL )
60
61#endif
62/*  end of include file */
Note: See TracBrowser for help on using the repository browser.