source: rtems/c/src/exec/score/macros/rtems/score/coremutex.inl @ 43b6f75

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

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

  • General effort to make things compile with macros not inlines
  • inline/rtems/score/coremutex.inl: Added comment indicating for macros there is another copy of _CORE_mutex_Seize_interrupt_trylock() in src/coremutexseize.c.
  • src/coremutexseize.c: Added body of _CORE_mutex_Seize_interrupt_trylock() for macro case.
  • macros/rtems/score/coremutex.inl: Added prototype for _CORE_mutex_Seize_interrupt_trylock() since there is a real body when macros are enabled.
  • macros/rtems/score/coresem.inl: Added macro implementation of _CORE_semaphore_Seize_isr_disable.
  • macros/score/Makefile.am: Fixed typos.
  • rtems/score/address.inl: Correct macro implementation of _Addresses_Is_aligned() so it would compile.
  • macros/rtems/score/coremsg.inl: Added closing parentheses.
  • Property mode set to 100644
File size: 1.7 KB
Line 
1/*  macros/coremutex.h
2 *
3 *  This include file contains all of the inlined routines associated
4 *  with core mutexes.
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 __MACROS_CORE_MUTEX_h
17#define __MACROS_CORE_MUTEX_h
18
19
20/*PAGE
21 *
22 *  _CORE_mutex_Is_locked
23 *
24 */
25 
26#define _CORE_mutex_Is_locked( _the_mutex ) \
27  ( (_the_mutex)->lock == CORE_MUTEX_LOCKED )
28 
29/*PAGE
30 *
31 *  _CORE_mutex_Is_fifo
32 *
33 */
34 
35#define _CORE_mutex_Is_fifo( _the_attribute ) \
36  ( (_the_attribute)->discipline == CORE_MUTEX_DISCIPLINES_FIFO )
37 
38/*PAGE
39 *
40 *  _CORE_mutex_Is_priority
41 *
42 */
43
44#define _CORE_mutex_Is_priority( _the_attribute ) \
45  ( (_the_attribute)->discipline == CORE_MUTEX_DISCIPLINES_PRIORITY )
46
47/*PAGE
48 *
49 *  _CORE_mutex_Is_inherit_priority
50 *
51 */
52 
53#define _CORE_mutex_Is_inherit_priority( _the_attribute ) \
54  ( (_the_attribute)->discipline == \
55                               CORE_MUTEX_DISCIPLINES_PRIORITY_INHERIT )
56 
57/*PAGE
58 *
59 *  _CORE_mutex_Is_priority_ceiling
60 *
61 */
62 
63#define _CORE_mutex_Is_priority_ceiling( _the_attribute )\
64  ( (_the_attribute)->discipline == CORE_MUTEX_DISCIPLINES_PRIORITY_CEILING )
65 
66/*PAGE
67 *
68 *  _CORE_mutex_Seize_interrupt_trylock
69 *
70 *  NOTE: This is not really a MACRO version of this routine.
71 *        A body is in coremutexseize.c that is duplicated
72 *        from the .inl by hand.
73 */
74
75int _CORE_mutex_Seize_interrupt_trylock(
76  CORE_mutex_Control  *the_mutex,
77  ISR_Level           *level_p
78);
79
80#endif
81/* end of include file */
Note: See TracBrowser for help on using the repository browser.