RTEMS
ratemongetstatistics.c
Go to the documentation of this file.
1 
8 /*
9  * COPYRIGHT (c) 1989-2009.
10  * On-Line Applications Research Corporation (OAR).
11  * Copyright (c) 2016 embedded brains GmbH.
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 #ifdef HAVE_CONFIG_H
19 #include "config.h"
20 #endif
21 
23 
25  rtems_id id,
27 )
28 {
29  Rate_monotonic_Control *the_period;
30  ISR_lock_Context lock_context;
31  const Rate_monotonic_Statistics *src;
32 
33  if ( dst == NULL ) {
34  return RTEMS_INVALID_ADDRESS;
35  }
36 
37  the_period = _Rate_monotonic_Get( id, &lock_context );
38  if ( the_period == NULL ) {
39  return RTEMS_INVALID_ID;
40  }
41 
42  _Rate_monotonic_Acquire_critical( the_period, &lock_context );
43 
44  src = &the_period->Statistics;
45  dst->count = src->count;
46  dst->missed_count = src->missed_count;
53 
54  _Rate_monotonic_Release( the_period, &lock_context );
55  return RTEMS_SUCCESSFUL;
56 }
Timestamp_Control max_wall_time
Definition: ratemondata.h:56
Timestamp_Control min_cpu_time
Definition: ratemondata.h:47
struct timespec total_cpu_time
This member is.
Definition: ratemon.h:145
struct timespec max_cpu_time
This member is.
Definition: ratemon.h:138
rtems_status_code rtems_rate_monotonic_get_statistics(rtems_id id, rtems_rate_monotonic_period_statistics *dst)
%
This status code indicates successful completion.
Definition: status.h:86
Timestamp_Control total_wall_time
Definition: ratemondata.h:58
rtems_status_code
This enumeration provides status codes for directives of the Classic API.
Definition: status.h:82
Timestamp_Control min_wall_time
Definition: ratemondata.h:54
uint32_t missed_count
This member is.
Definition: ratemon.h:124
uint32_t count
This member is.
Definition: ratemon.h:117
Rate_monotonic_Statistics Statistics
Definition: ratemondata.h:118
Timestamp_Control total_cpu_time
Definition: ratemondata.h:51
This status code indicates that a specified address was invalid.
Definition: status.h:133
The following structure defines the control block used to manage each period.
Definition: ratemondata.h:69
struct timespec min_cpu_time
This member is.
Definition: ratemon.h:131
This status code indicates that an object identifier was invalid.
Definition: status.h:106
Objects_Id rtems_id
Values of this type identify an RTEMS object.
Definition: types.h:99
struct timespec min_wall_time
This member is.
Definition: ratemon.h:152
static __inline__ void _Timestamp_To_timespec(const Timestamp_Control *_timestamp, struct timespec *_timespec)
Converts timestamp to struct timespec.
Classic Rate Monotonic Scheduler Implementation.
Local ISR lock context for acquire and release pairs.
Definition: isrlock.h:65
struct timespec max_wall_time
This member is.
Definition: ratemon.h:159
Timestamp_Control max_cpu_time
Definition: ratemondata.h:49
struct timespec total_wall_time
This member is.
Definition: ratemon.h:166