RTEMS
ratemon.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-2-Clause */
2 
11 /*
12  * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
13  * Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
14  *
15  * Redistribution and use in source and binary forms, with or without
16  * modification, are permitted provided that the following conditions
17  * are met:
18  * 1. Redistributions of source code must retain the above copyright
19  * notice, this list of conditions and the following disclaimer.
20  * 2. Redistributions in binary form must reproduce the above copyright
21  * notice, this list of conditions and the following disclaimer in the
22  * documentation and/or other materials provided with the distribution.
23  *
24  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
28  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34  * POSSIBILITY OF SUCH DAMAGE.
35  */
36 
37 /*
38  * Do not manually edit this file. It is part of the RTEMS quality process
39  * and was automatically generated.
40  *
41  * If you find something that needs to be fixed or worded better please
42  * post a report to an RTEMS mailing list or raise a bug report:
43  *
44  * https://docs.rtems.org/branches/master/user/support/bugs.html
45  *
46  * For information on updating and regenerating please refer to:
47  *
48  * https://docs.rtems.org/branches/master/eng/req/howto.html
49  */
50 
51 /* Generated from spec:/rtems/ratemon/if/header */
52 
53 #ifndef _RTEMS_RTEMS_RATEMON_H
54 #define _RTEMS_RTEMS_RATEMON_H
55 
56 #include <stdint.h>
57 #include <sys/_timespec.h>
58 #include <rtems/rtems/status.h>
59 #include <rtems/rtems/types.h>
61 
62 #ifdef __cplusplus
63 extern "C" {
64 #endif
65 
66 /* Generated from spec:/rtems/ratemon/if/group */
67 
80 /* Generated from spec:/rtems/ratemon/if/period-states */
81 
87 typedef enum {
92 
97 
103 
104 /* Generated from spec:/rtems/ratemon/if/period-statistics */
105 
111 typedef struct {
117  uint32_t count;
118 
124  uint32_t missed_count;
125 
131  struct timespec min_cpu_time;
132 
138  struct timespec max_cpu_time;
139 
145  struct timespec total_cpu_time;
146 
152  struct timespec min_wall_time;
153 
159  struct timespec max_wall_time;
160 
166  struct timespec total_wall_time;
168 
169 /* Generated from spec:/rtems/ratemon/if/period-status */
170 
176 typedef struct {
183 
190 
196  struct timespec since_last_period;
197 
203  struct timespec executed_since_last_period;
204 
212 
213 /* Generated from spec:/rtems/ratemon/if/printer */
214 
215 /* Forward declaration */
216 struct rtems_printer;
217 
218 /* Generated from spec:/rtems/ratemon/if/cancel */
219 
228 
229 /* Generated from spec:/rtems/ratemon/if/create */
230 
241 
242 /* Generated from spec:/rtems/ratemon/if/delete */
243 
252 
253 /* Generated from spec:/rtems/ratemon/if/get-statistics */
254 
265  rtems_id id,
267 );
268 
269 /* Generated from spec:/rtems/ratemon/if/get-status */
270 
281  rtems_id id,
283 );
284 
285 /* Generated from spec:/rtems/ratemon/if/ident */
286 
320 
321 /* Generated from spec:/rtems/ratemon/if/period */
322 
333  rtems_id id,
334  rtems_interval length
335 );
336 
337 /* Generated from spec:/rtems/ratemon/if/period-status-define */
338 
345 #define RTEMS_PERIOD_STATUS WATCHDOG_NO_TIMEOUT
346 
347 /* Generated from spec:/rtems/ratemon/if/report-statistics */
348 
355 
356 /* Generated from spec:/rtems/ratemon/if/report-statistics-with-plugin */
357 
366  const struct rtems_printer *printer
367 );
368 
369 /* Generated from spec:/rtems/ratemon/if/reset-all-statistics */
370 
377 
378 /* Generated from spec:/rtems/ratemon/if/reset-statistics */
379 
388 
389 #ifdef __cplusplus
390 }
391 #endif
392 
393 #endif /* _RTEMS_RTEMS_RATEMON_H */
This header file defines types provided by the Classic API.
uint32_t rtems_name
This type is used to represent a Classic API object name.
Definition: types.h:227
uint32_t postponed_jobs_count
This member is.
Definition: ratemon.h:210
rtems_status_code rtems_rate_monotonic_reset_statistics(rtems_id id)
%
rtems_status_code rtems_rate_monotonic_delete(rtems_id id)
%
Definition: ratemondelete.c:24
rtems_status_code rtems_rate_monotonic_get_statistics(rtems_id id, rtems_rate_monotonic_period_statistics *statistics)
%
This header file defines the status codes and support functions of the Classic API.
rtems_status_code rtems_rate_monotonic_period(rtems_id id, rtems_interval length)
%
rtems_status_code rtems_rate_monotonic_create(rtems_name name, rtems_id *id)
%
Definition: ratemoncreate.c:30
rtems_status_code
This enumeration provides status codes for directives of the Classic API.
Definition: status.h:82
void rtems_rate_monotonic_report_statistics_with_plugin(const struct rtems_printer *printer)
%
uint32_t missed_count
This member is.
Definition: ratemon.h:124
rtems_status_code rtems_rate_monotonic_cancel(rtems_id id)
%
Definition: ratemoncancel.c:49
uint32_t count
This member is.
Definition: ratemon.h:117
rtems_id owner
This member is.
Definition: ratemon.h:182
void rtems_rate_monotonic_reset_all_statistics(void)
%
Watchdog_Interval rtems_interval
This type is used to represent clock tick intervals.
Definition: types.h:90
Objects_Id rtems_id
Values of this type identify an RTEMS object.
Definition: types.h:99
Constants for the watchdog ticks.
rtems_rate_monotonic_period_states
%
Definition: ratemon.h:87
void rtems_rate_monotonic_report_statistics(void)
%
rtems_rate_monotonic_period_states state
This member is.
Definition: ratemon.h:189
rtems_status_code rtems_rate_monotonic_get_status(rtems_id id, rtems_rate_monotonic_period_status *status)
%
rtems_status_code rtems_rate_monotonic_ident(rtems_name name, rtems_id *id)
Identifies a period object by the specified object name.
Definition: ratemonident.c:44