RTEMS CPU Kit with SuperCore  4.11.2
watchdog.h
Go to the documentation of this file.
1 
11 /*
12  * COPYRIGHT (c) 1989-2009.
13  * On-Line Applications Research Corporation (OAR).
14  *
15  * The license and distribution terms for this file may be
16  * found in the file LICENSE in this distribution or at
17  * http://www.rtems.org/license/LICENSE.
18  */
19 
20 #ifndef _RTEMS_SCORE_WATCHDOG_H
21 #define _RTEMS_SCORE_WATCHDOG_H
22 
23 #include <rtems/score/object.h>
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
47 typedef uint32_t Watchdog_Interval;
48 
55 
62  Objects_Id,
63  void *
64  );
65 
72 #define WATCHDOG_NO_TIMEOUT 0
73 
81 typedef enum {
91 
98 typedef struct {
104  Watchdog_States state;
106  Watchdog_Interval initial;
108  Watchdog_Interval delta_interval;
110  Watchdog_Interval start_time;
112  Watchdog_Interval stop_time;
116  Objects_Id id;
120  void *user_data;
122 
128 extern volatile Watchdog_Interval _Watchdog_Ticks_since_boot;
129 
132 #ifdef __cplusplus
133 }
134 #endif
135 
136 #endif
137 /* end of include file */
Constants and Structures Associated with the Object Handler.
This is used to manage each element (node) which is placed on a chain.
Definition: chain.h:65
The control block used to manage each watchdog timer.
Definition: watchdog.h:98
void Watchdog_Service_routine
Return type from a Watchdog Service Routine.
Definition: watchdog.h:54
Watchdog_Service_routine_entry routine
This field is the function to invoke.
Definition: watchdog.h:114
Watchdog_Interval initial
This field is the initially requested interval.
Definition: watchdog.h:106
Watchdog_States
Set of the states which a watchdog timer may be at any given time.
Definition: watchdog.h:81
Chain_Node Node
This field is a Chain Node structure and allows this to be placed on chains for set management...
Definition: watchdog.h:102
Watchdog_States state
This field is the state of the watchdog.
Definition: watchdog.h:104
This is the state when the watchdog is off all chains.
Definition: watchdog.h:83
This is the state when the watchdog is on a chain, and allowed to fire.
Definition: watchdog.h:89
Watchdog_Interval stop_time
This field is the number of system clock ticks when this was suspended.
Definition: watchdog.h:112
uint32_t Watchdog_Interval
Type is used to specify the length of intervals.
Definition: watchdog.h:47
Watchdog_Interval start_time
This field is the number of system clock ticks when this was scheduled.
Definition: watchdog.h:110
Watchdog_Interval delta_interval
This field is the remaining portion of the interval.
Definition: watchdog.h:108
Watchdog_Service_routine(* Watchdog_Service_routine_entry)(Objects_Id, void *)
Pointer to a watchdog service routine.
Definition: watchdog.h:61
This is the state when the watchdog is off all chains, but we are currently searching for the inserti...
Definition: watchdog.h:87
void * user_data
This field is an untyped pointer to user data that is passed to the watchdog handler routine...
Definition: watchdog.h:120
uint32_t Objects_Id
The following type defines the control block used to manage object IDs.
Definition: object.h:122
Objects_Id id
This field is the Id to pass as an argument to the routine.
Definition: watchdog.h:116
volatile Watchdog_Interval _Watchdog_Ticks_since_boot
The watchdog ticks counter.
Definition: watchdogtickssinceboot.c:29