RTEMS CPU Kit with SuperCore  4.10.99.0
timer.h
Go to the documentation of this file.
1 
30 /*
31  * COPYRIGHT (c) 1989-2011.
32  * On-Line Applications Research Corporation (OAR).
33  *
34  * Copyright (c) 2009 embedded brains GmbH.
35  *
36  * The license and distribution terms for this file may be
37  * found in the file LICENSE in this distribution or at
38  * http://www.rtems.org/license/LICENSE.
39  */
40 
41 #ifndef _RTEMS_RTEMS_TIMER_H
42 #define _RTEMS_RTEMS_TIMER_H
43 
44 #include <rtems/rtems/attr.h>
45 #include <rtems/rtems/status.h>
46 #include <rtems/rtems/types.h>
47 
48 #ifdef __cplusplus
49 extern "C" {
50 #endif
51 
70 typedef enum {
76 
82 
88 
94 
100 
105 
112  rtems_id,
113  void *
114  );
115 
120 typedef struct {
127 } Timer_Control;
128 
142  rtems_name name,
143  rtems_id *id
144 );
145 
161  rtems_name name,
162  rtems_id *id
163 );
164 
172  rtems_id id
173 );
174 
188  rtems_id id
189 );
190 
210  rtems_id id,
211  rtems_interval ticks,
213  void *user_data
214 );
215 
235  rtems_id id,
236  rtems_interval ticks,
238  void *user_data
239 );
240 
260  rtems_id id,
261  rtems_time_of_day *wall_time,
263  void *user_data
264 );
265 
278  rtems_id id,
279  rtems_time_of_day *wall_time,
281  void *user_data
282 );
283 
295  rtems_id id
296 );
297 
306  uint32_t priority,
307  uint32_t stack_size,
308  rtems_attribute attribute_set
309 );
310 
316 #define RTEMS_TIMER_SERVER_DEFAULT_PRIORITY (uint32_t) -1
317 
322 typedef struct {
332 
346  rtems_id id,
347  rtems_timer_information *the_info
348 );
349 
352 #ifdef __cplusplus
353 }
354 #endif
355 
356 #endif
357 /* end of include file */
This value indicates the timer is currently in use as an time of day timer which will fire in the tim...
Definition: timer.h:93
Timer_Classes the_class
This indicates the current type of the timer.
Definition: timer.h:324
uint32_t rtems_attribute
This defines the type used to contain Classic API attributes.
Definition: attr.h:44
rtems_status_code rtems_timer_cancel(rtems_id id)
rtems_timer_cancel
The following defines the Object Control Block used to manage each object local to this node...
Definition: object.h:233
Objects_Id rtems_id
Used to manage and manipulate RTEMS object identifiers.
Definition: types.h:80
This value indicates the timer is currently in use as an interval timer which will fire in the clock ...
Definition: timer.h:75
rtems_status_code rtems_timer_fire_after(rtems_id id, rtems_interval ticks, rtems_timer_service_routine_entry routine, void *user_data)
RTEMS Timer Fire After.
Watchdog_Interval start_time
This indicates the time the timer was initially scheduled.
Definition: timer.h:328
The control block used to manage each watchdog timer.
Definition: watchdog.h:102
This value indicates the timer is currently not in use.
Definition: timer.h:98
rtems_status_code rtems_timer_delete(rtems_id id)
RTEMS Delete Timer.
Objects_Control Object
This field is the object management portion of a Timer instance.
Definition: timer.h:122
rtems_status_code rtems_timer_server_fire_when(rtems_id id, rtems_time_of_day *wall_time, rtems_timer_service_routine_entry routine, void *user_data)
RTEMS Timer Server Fire When Directive.
This value indicates the timer is currently in use as an interval timer which will fire in the timer ...
Definition: timer.h:81
Watchdog_Interval rtems_interval
Used to manage and manipulate intervals specified by clock ticks.
Definition: types.h:119
rtems_status_code rtems_timer_create(rtems_name name, rtems_id *id)
RTEMS Create Timer.
Data structure to manage and manipulate calendar time.
Definition: types.h:137
rtems_status_code
Classic API Status.
Definition: status.h:46
rtems_status_code rtems_timer_ident(rtems_name name, rtems_id *id)
RTEMS Timer Name to Id.
This is the structure filled in by the timer get information service.
Definition: timer.h:322
rtems_status_code rtems_timer_reset(rtems_id id)
RTEMS Timer Reset.
rtems_status_code rtems_timer_fire_when(rtems_id id, rtems_time_of_day *wall_time, rtems_timer_service_routine_entry routine, void *user_data)
RTEMS Timer Fire When.
uint32_t rtems_name
Classic API object name type.
Definition: types.h:74
Watchdog_Control Ticker
This field is the Watchdog instance which will be the scheduled.
Definition: timer.h:124
rtems_status_code rtems_timer_get_information(rtems_id id, rtems_timer_information *the_info)
RTEMS Get Timer Information.
rtems_status_code rtems_timer_initiate_server(uint32_t priority, uint32_t stack_size, rtems_attribute attribute_set)
rtems_timer_initiate_server
rtems_status_code rtems_timer_server_fire_after(rtems_id id, rtems_interval ticks, rtems_timer_service_routine_entry routine, void *user_data)
RTEMS Timer Server Fire After.
Timer_Classes
The following enumerated type details the classes to which a timer may belong.
Definition: timer.h:70
Watchdog_Interval initial
This indicates the initial requested interval.
Definition: timer.h:326
uint32_t Watchdog_Interval
Type is used to specify the length of intervals.
Definition: watchdog.h:47
This value indicates the timer is currently in use as an time of day timer which will fire in the clo...
Definition: timer.h:87
Watchdog_Interval stop_time
This indicates the time the timer is scheduled to fire.
Definition: timer.h:330
Timer_Classes the_class
This field indicates what type of timer this currently is.
Definition: timer.h:126
The following records define the control block used to manage each timer.
Definition: timer.h:120
rtems_timer_service_routine(* rtems_timer_service_routine_entry)(rtems_id, void *)
This type defines the type used to manage and indirectly invoke Timer Service Routines (TSRs)...
Definition: timer.h:111
void rtems_timer_service_routine
The following types define a pointer to a timer service routine.
Definition: timer.h:104