source: rtems/cpukit/rtems/macros/rtems/rtems/timer.inl @ c55df85

4.104.114.84.95
Last change on this file since c55df85 was c55df85, checked in by Joel Sherrill <joel.sherrill@…>, on 01/16/02 at 22:09:50

2001-01-16 Joel Sherrill <joel@…>

  • Added task-based timers to the Timer Manager. This added three new directives:
    • rtems_timer_initiate_server
    • rtems_timer_server_fire_after
    • rtems_timer_server_fire_when

In the process of doing this, a number of cleanups were made.

  • src/timerserver.c, src/timerserverfireafter.c, src/timerserverfirewhen.c: New files.
  • include/timer/timer.h: Added new prototypes and supporting types.
  • inline/rtems/rtems/timer.h, macros/rtems/rtems/timer.h: Enhanced _Timer_Is_interval_class() to cover the class TIMER_INTERVAL_ON_TASK.
  • src/Makefile.am: Accounted for new files.
  • src/rtemstimer.c: Added initialization of _Timer_Server variable.
  • src/timercancel.c, src/timerreset.c: Account for addition of timer classes. Also corrected the headers.
  • src/timercreate.c, src/timerdelete.c, src/timerfireafter.c, src/timerfireafter.c, src/timerident.c: Corrected header.
  • Property mode set to 100644
File size: 1.4 KB
Line 
1/*  timer.inl
2 *
3 *  This file contains the macro implementation of the inlined routines
4 *  from the Timer 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 __TIMER_inl
17#define __TIMER_inl
18
19/*PAGE
20 *
21 *  _Timer_Allocate
22 *
23 */
24
25#define _Timer_Allocate() \
26  (Timer_Control *) _Objects_Allocate( &_Timer_Information )
27
28/*PAGE
29 *
30 *  _Timer_Free
31 *
32 */
33
34#define _Timer_Free( _the_timer ) \
35  _Objects_Free( &_Timer_Information, &(_the_timer)->Object )
36
37/*PAGE
38 *
39 *  _Timer_Get
40 *
41 */
42
43#define _Timer_Get( _id, _location ) \
44  (Timer_Control *) \
45    _Objects_Get( &_Timer_Information, (_id), (_location) )
46
47/*PAGE
48 *
49 *  _Timer_Is_interval_class
50 *
51 */
52
53#define _Timer_Is_interval_class( _the_class ) \
54  ( ((_the_class) == TIMER_INTERVAL) ||
55    ((_the_class) == TIMER_INTERVAL_ON_TASK) )
56
57/*PAGE
58 *
59 *  _Timer_Is_time_of_day_class
60 *
61 */
62
63#define _Timer_Is_time_of_day_class( _the_class ) \
64  ( (_the_class) == TIMER_TIME_OF_DAY )
65
66/*PAGE
67 *
68 *  _Timer_Is_dormant_class
69 *
70 */
71
72#define _Timer_Is_dormant_class( _the_class ) \
73  ( (_the_class) == TIMER_DORMANT )
74
75/*PAGE
76 *
77 *  _Timer_Is_null
78 *
79 */
80
81#define _Timer_Is_null( _the_timer ) \
82  ( (_the_timer) == NULL )
83
84#endif
85/* end of include file */
Note: See TracBrowser for help on using the repository browser.