RTEMS  5.0.0
watchdog.h
Go to the documentation of this file.
1 
13 /*
14  * COPYRIGHT (c) 1989-2009.
15  * On-Line Applications Research Corporation (OAR).
16  *
17  * The license and distribution terms for this file may be
18  * found in the file LICENSE in this distribution or at
19  * http://www.rtems.org/license/LICENSE.
20  */
21 
22 #ifndef _RTEMS_SCORE_WATCHDOG_H
23 #define _RTEMS_SCORE_WATCHDOG_H
24 
25 #include <rtems/score/basedefs.h>
26 #include <rtems/score/chain.h>
27 #include <rtems/score/rbtree.h>
28 
29 struct Per_CPU_Control;
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
48 typedef struct Watchdog_Control Watchdog_Control;
49 
56 
64 
68 typedef struct {
72  RBTree_Control Watchdogs;
73 
80 
91  union {
97 
103  } Node;
104 
105 #if defined(RTEMS_SMP)
106 
107  struct Per_CPU_Control *cpu;
108 #endif
109 
112 
114  uint64_t expire;
115 };
116 
119 #ifdef __cplusplus
120 }
121 #endif
122 
123 #endif
124 /* end of include file */
Definition: chain.h:65
RBTree_Node * first
The scheduled watchdog with the earliest expiration time or NULL in case no watchdog is scheduled...
Definition: watchdog.h:78
uint64_t expire
This field is the expiration time point.
Definition: watchdog.h:114
The control block used to manage each watchdog timer.
Definition: watchdog.h:87
void Watchdog_Service_routine
Return type from a Watchdog Service Routine.
Definition: watchdog.h:55
Red-black tree node.
Definition: rbtree.h:50
Chain_Node Chain
this field is a chain node structure and allows this to be placed on a chain used to manage pending w...
Definition: watchdog.h:102
Watchdog_Service_routine_entry routine
This field is the function to invoke.
Definition: watchdog.h:111
RBTree_Control Watchdogs
Red-black tree of scheduled watchdogs sorted by expiration time.
Definition: watchdog.h:72
RBTree_Node RBTree
this field is a red-black tree node structure and allows this to be placed on a red-black tree used t...
Definition: watchdog.h:96
Per CPU Core Structure.
Definition: percpu.h:290
Constants and Structures Associated with the Red-Black Tree Handler.
The watchdog header to manage scheduled watchdogs.
Definition: watchdog.h:68
Chain Handler API.
Basic Definitions.
union Watchdog_Control::@3983 Node
Nodes for the watchdog.
Watchdog_Service_routine(* Watchdog_Service_routine_entry)(Watchdog_Control *)
Pointer to a watchdog service routine.
Definition: watchdog.h:63