RTEMS
ratemondata.h
Go to the documentation of this file.
1 
9 /* COPYRIGHT (c) 1989-2009, 2016.
10  * On-Line Applications Research Corporation (OAR).
11  * COPYRIGHT (c) 2016-2017 Kuan-Hsun Chen.
12  *
13  * The license and distribution terms for this file may be
14  * found in the file LICENSE in this distribution or at
15  * http://www.rtems.org/license/LICENSE.
16  */
17 
18 #ifndef _RTEMS_RTEMS_RATEMONDATA_H
19 #define _RTEMS_RTEMS_RATEMONDATA_H
20 
21 #include <rtems/rtems/ratemon.h>
22 #include <rtems/score/timestamp.h>
23 #include <rtems/score/thread.h>
24 #include <rtems/score/watchdog.h>
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
40 typedef struct {
42  uint32_t count;
44  uint32_t missed_count;
45 
52 
60 
69 typedef struct {
72 
76  ISR_LOCK_MEMBER( Lock )
77 
78 
80 
83 
88  Priority_Node Priority;
89 
94  uint32_t next_length;
95 
101 
107  Timestamp_Control cpu_usage_period_initiated;
108 
113  Timestamp_Control time_period_initiated;
114 
119 
124  uint32_t postponed_jobs;
125 
130  uint64_t latest_deadline;
132 
137 
147 #define RATE_MONOTONIC_INFORMATION_DEFINE( max ) \
148  OBJECTS_INFORMATION_DEFINE( \
149  _Rate_monotonic, \
150  OBJECTS_CLASSIC_API, \
151  OBJECTS_RTEMS_PERIODS, \
152  Rate_monotonic_Control, \
153  max, \
154  OBJECTS_NO_STRING_NAME, \
155  NULL \
156  )
157 
160 #ifdef __cplusplus
161 }
162 #endif
163 
164 #endif
165 /* end of include file */
Timestamp_Control max_wall_time
Definition: ratemondata.h:56
int64_t Timestamp_Control
Definition: timestamp.h:57
Objects_Control Object
Definition: ratemondata.h:71
Timestamp_Control min_cpu_time
Definition: ratemondata.h:47
The priority node to build up a priority aggregation.
Definition: priority.h:98
Objects_Information _Rate_monotonic_Information
The Classic Rate Monotonic objects information.
Definition: ratemon.c:47
The control block used to manage each watchdog timer.
Definition: watchdog.h:90
Helpers for Manipulating Timestamps.
Constants and Structures Associated with Watchdog Timers.
This header file defines the Rate-Monotonic Manager API.
Timestamp_Control total_wall_time
Definition: ratemondata.h:58
#define ISR_LOCK_MEMBER(_designator)
Defines an ISR lock member.
Definition: isrlock.h:87
Timestamp_Control min_wall_time
Definition: ratemondata.h:54
The information structure used to manage each API class of objects.
Definition: objectdata.h:176
Timestamp_Control total_cpu_time
Definition: ratemondata.h:51
The following structure defines the control block used to manage each period.
Definition: ratemondata.h:69
rtems_rate_monotonic_period_states
%
Definition: ratemon.h:87
Timestamp_Control max_cpu_time
Definition: ratemondata.h:49
Constants and Structures Related with the Thread Control Block.