source: rtems/c/src/exec/rtems/macros/eventset.inl @ 7e4938c

4.104.114.84.95
Last change on this file since 7e4938c was 7e4938c, checked in by Joel Sherrill <joel.sherrill@…>, on Oct 6, 1997 at 9:28:40 PM

Make Post an atomic operation.

  • Property mode set to 100644
File size: 1.2 KB
Line 
1/*  eventset.inl
2 *
3 *  This include file contains the macro implementation of inlined
4 *  routines in the event set object.
5 *
6 *  COPYRIGHT (c) 1989-1997.
7 *  On-Line Applications Research Corporation (OAR).
8 *  Copyright assigned to U.S. Government, 1994.
9 *
10 *  The license and distribution terms for this file may in
11 *  the file LICENSE in this distribution or at
12 *  http://www.OARcorp.com/rtems/license.html.
13 *
14 *  $Id$
15 */
16
17#ifndef __EVENT_SET_inl
18#define __EVENT_SET_inl
19
20/*PAGE
21 *
22 *  _Event_sets_Is_empty
23 */
24
25#define _Event_sets_Is_empty( _the_event_set )  \
26  ((_the_event_set) == 0 )
27
28/*PAGE
29 *
30 *  _Event_sets_Is_empty
31 */
32
33#define _Event_sets_Post( _the_new_events, _the_event_set ) \
34   do { \
35     ISR_Level level; \
36     \
37     _ISR_Disable( level ); \
38       *(_the_event_set) |= (_the_new_events); \
39     _ISR_Enable( level ); \
40   } while (0);
41
42/*PAGE
43 *
44 *  _Event_sets_Is_empty
45 */
46
47#define _Event_sets_Get( _the_event_set, _the_event_condition ) \
48   ((_the_event_set) & (_the_event_condition))
49
50/*PAGE
51 *
52 *  _Event_sets_Clear
53 */
54
55#define _Event_sets_Clear( _the_event_set, _the_mask ) \
56   ((_the_event_set) & ~(_the_mask))
57
58#endif
59/* end of include file */
Note: See TracBrowser for help on using the repository browser.