RTEMS  5.1
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 
51 typedef struct Watchdog_Control Watchdog_Control;
52 
59 
67 
71 typedef struct {
75  RBTree_Control Watchdogs;
76 
83 
94  union {
100 
106  } Node;
107 
108 #if defined(RTEMS_SMP)
109 
110  struct Per_CPU_Control *cpu;
111 #endif
112 
115 
117  uint64_t expire;
118 };
119 
122 #ifdef __cplusplus
123 }
124 #endif
125 
126 #endif
127 /* end of include file */
Definition: chain.h:68
Watchdog_Service_routine(* Watchdog_Service_routine_entry)(Watchdog_Control *)
Pointer to a watchdog service routine.
Definition: watchdog.h:66
RBTree_Node * first
The scheduled watchdog with the earliest expiration time or NULL in case no watchdog is scheduled.
Definition: watchdog.h:81
uint64_t expire
This field is the expiration time point.
Definition: watchdog.h:117
The control block used to manage each watchdog timer.
Definition: watchdog.h:90
Red-black tree node.
Definition: rbtree.h:55
union Watchdog_Control::@3987 Node
Nodes for the watchdog.
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:105
Watchdog_Service_routine_entry routine
This field is the function to invoke.
Definition: watchdog.h:114
RBTree_Control Watchdogs
Red-black tree of scheduled watchdogs sorted by expiration time.
Definition: watchdog.h:75
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:99
Per CPU Core Structure.
Definition: percpu.h:347
Constants and Structures Associated with the Red-Black Tree Handler.
void Watchdog_Service_routine
Return type from a Watchdog Service Routine.
Definition: watchdog.h:58
The watchdog header to manage scheduled watchdogs.
Definition: watchdog.h:71
Chain Handler API.
Basic Definitions.