summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/include/rtems/rtems/ratemon.h
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-04-18 15:02:20 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-04-18 15:02:20 +0000
commit067a96ad0c3b0818d71d9aaadaee4b520d940de1 (patch)
treed04eed432a0534ebfb0830d6f7e49ce78ff098a4 /cpukit/rtems/include/rtems/rtems/ratemon.h
parent2008-04-18 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-067a96ad0c3b0818d71d9aaadaee4b520d940de1.tar.bz2
2008-04-18 Joel Sherrill <joel.sherrill@oarcorp.com>
* rtems/include/rtems.h, rtems/include/rtems/rtems/asr.h, rtems/include/rtems/rtems/attr.h, rtems/include/rtems/rtems/barrier.h, rtems/include/rtems/rtems/barriermp.h, rtems/include/rtems/rtems/cache.h, rtems/include/rtems/rtems/clock.h, rtems/include/rtems/rtems/config.h, rtems/include/rtems/rtems/dpmem.h, rtems/include/rtems/rtems/event.h, rtems/include/rtems/rtems/eventmp.h, rtems/include/rtems/rtems/eventset.h, rtems/include/rtems/rtems/intr.h, rtems/include/rtems/rtems/message.h, rtems/include/rtems/rtems/modes.h, rtems/include/rtems/rtems/mp.h, rtems/include/rtems/rtems/msgmp.h, rtems/include/rtems/rtems/object.h, rtems/include/rtems/rtems/options.h, rtems/include/rtems/rtems/part.h, rtems/include/rtems/rtems/partmp.h, rtems/include/rtems/rtems/ratemon.h, rtems/include/rtems/rtems/region.h, rtems/include/rtems/rtems/regionmp.h, rtems/include/rtems/rtems/rtemsapi.h, rtems/include/rtems/rtems/sem.h, rtems/include/rtems/rtems/semmp.h, rtems/include/rtems/rtems/signal.h, rtems/include/rtems/rtems/signalmp.h, rtems/include/rtems/rtems/status.h, rtems/include/rtems/rtems/support.h, rtems/include/rtems/rtems/taskmp.h, rtems/include/rtems/rtems/tasks.h, rtems/include/rtems/rtems/timer.h, rtems/include/rtems/rtems/types.h, rtems/inline/rtems/rtems/asr.inl, rtems/inline/rtems/rtems/attr.inl, rtems/inline/rtems/rtems/barrier.inl, rtems/inline/rtems/rtems/dpmem.inl, rtems/inline/rtems/rtems/event.inl, rtems/inline/rtems/rtems/eventset.inl, rtems/inline/rtems/rtems/message.inl, rtems/inline/rtems/rtems/modes.inl, rtems/inline/rtems/rtems/options.inl, rtems/inline/rtems/rtems/part.inl, rtems/inline/rtems/rtems/ratemon.inl, rtems/inline/rtems/rtems/region.inl, rtems/inline/rtems/rtems/sem.inl, rtems/inline/rtems/rtems/status.inl, rtems/inline/rtems/rtems/support.inl, rtems/inline/rtems/rtems/tasks.inl, rtems/inline/rtems/rtems/timer.inl: Initial conversion of Classic API header files to Doxygen. * rtems/Doxyfile: New file.
Diffstat (limited to 'cpukit/rtems/include/rtems/rtems/ratemon.h')
-rw-r--r--cpukit/rtems/include/rtems/rtems/ratemon.h137
1 files changed, 51 insertions, 86 deletions
diff --git a/cpukit/rtems/include/rtems/rtems/ratemon.h b/cpukit/rtems/include/rtems/rtems/ratemon.h
index 8645dec4a9..622b1c3e1a 100644
--- a/cpukit/rtems/include/rtems/rtems/ratemon.h
+++ b/cpukit/rtems/include/rtems/rtems/ratemon.h
@@ -1,21 +1,20 @@
/**
* @file rtems/rtems/ratemon.h
- */
-
-/*
+ *
* This include file contains all the constants, structures, and
* prototypes associated with the Rate Monotonic Manager. This manager
* provides facilities to implement tasks which execute in a periodic fashion.
*
* Directives provided are:
*
- * + create a rate monotonic timer
- * + cancel a period
- * + delete a rate monotonic timer
- * + conclude current and start the next period
- * + obtain status information on a period
- *
- * COPYRIGHT (c) 1989-2007.
+ * - create a rate monotonic timer
+ * - cancel a period
+ * - delete a rate monotonic timer
+ * - conclude current and start the next period
+ * - obtain status information on a period
+ */
+
+/* COPYRIGHT (c) 1989-2007.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -34,6 +33,13 @@
#include <rtems/bspIo.h>
+/**
+ * @defgroup ClassicRateMon Classic API Rate Monotonic
+ *
+ * This encapsulates functionality which XXX
+ */
+/**@{*/
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -43,7 +49,7 @@ extern "C" {
* resolution.
*/
#ifndef __RTEMS_USE_TICKS_RATE_MONOTONIC_STATISTICS__
- /*
+ /**
* Enable the nanosecond accurate statistics
*
* When not defined, the older style tick accurate granularity
@@ -60,11 +66,10 @@ extern "C" {
#include <string.h>
-/*
+/**
* The following enumerated type defines the states in which a
* period may be.
*/
-
typedef enum {
RATE_MONOTONIC_INACTIVE, /* off chain, never initialized */
RATE_MONOTONIC_OWNER_IS_BLOCKING, /* on chain, owner is blocking on it */
@@ -75,17 +80,15 @@ typedef enum {
/* rtems_rate_monotonic_period */
} rtems_rate_monotonic_period_states;
-/*
+/**
* The following constant is the interval passed to the rate_monontonic_period
* directive to obtain status information.
*/
-
#define RTEMS_PERIOD_STATUS WATCHDOG_NO_TIMEOUT
-/*
+/**
* The following defines the statistics kept on each period instance.
*/
-
typedef struct {
uint32_t count;
uint32_t missed_count;
@@ -109,10 +112,9 @@ typedef struct {
#endif
} rtems_rate_monotonic_period_statistics;
-/*
+/**
* The following defines the period status structure.
*/
-
typedef struct {
Objects_Id owner;
rtems_rate_monotonic_period_states state;
@@ -128,11 +130,10 @@ typedef struct {
#endif
} rtems_rate_monotonic_period_status;
-/*
+/**
* The following structure defines the control block used to manage
* each period.
*/
-
typedef struct {
Objects_Control Object;
Watchdog_Control Timer;
@@ -154,109 +155,86 @@ typedef struct {
RTEMS_RATEMON_EXTERN Objects_Information _Rate_monotonic_Information;
-/*
+/**
* _Rate_monotonic_Manager_initialization
*
- * DESCRIPTION:
- *
* This routine performs the initialization necessary for this manager.
*/
-
void _Rate_monotonic_Manager_initialization(
uint32_t maximum_periods
);
-/*
- * rtems_rate_monotonic_create
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_rate_monotonic_create
*
* This routine implements the rate_monotonic_create directive. The
* period will have the name name. It returns the id of the
* created period in ID.
*/
-
rtems_status_code rtems_rate_monotonic_create(
rtems_name name,
Objects_Id *id
);
-/*
- * rtems_rate_monotonic_ident
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_rate_monotonic_ident
*
* This routine implements the rtems_rate_monotonic_ident directive.
* This directive returns the period ID associated with name.
* If more than one period is named name, then the period
* to which the ID belongs is arbitrary.
*/
-
rtems_status_code rtems_rate_monotonic_ident(
rtems_name name,
Objects_Id *id
);
-/*
- * rtems_rate_monotonic_cancel
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_rate_monotonic_cancel
*
* This routine implements the rtems_rate_monotonic_cancel directive. This
* directive stops the period associated with ID from continuing to
* run.
*/
-
rtems_status_code rtems_rate_monotonic_cancel(
Objects_Id id
);
-/*
- * rtems_rate_monotonic_delete
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_rate_monotonic_delete
*
* This routine implements the rtems_rate_monotonic_delete directive. The
* period indicated by ID is deleted.
*/
-
rtems_status_code rtems_rate_monotonic_delete(
Objects_Id id
);
-/*
- * rtems_rate_monotonic_get_status
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_rate_monotonic_get_status
*
* This routine implements the rtems_rate_monotonic_get_status directive.
* Information about the period indicated by ID is returned.
*
*/
-
rtems_status_code rtems_rate_monotonic_get_status(
Objects_Id id,
rtems_rate_monotonic_period_status *status
);
-/*
- * rtems_rate_monotonic_get_statistics
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_rate_monotonic_get_statistics
*
* This routine implements the rtems_rate_monotonic_get_statistics directive.
* Statistics gathered from the use of this period are returned.
*/
-
rtems_status_code rtems_rate_monotonic_get_statistics(
Objects_Id id,
rtems_rate_monotonic_period_statistics *statistics
);
-/*
- * rtems_rate_monotonic_reset_statistics
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_rate_monotonic_reset_statistics
*
* This directive allows a thread to reset the statistics information
* on a specific period instance.
@@ -265,20 +243,16 @@ rtems_status_code rtems_rate_monotonic_reset_statistics(
Objects_Id id
);
-/*
- * rtems_rate_monotonic_reset_all_statistics
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_rate_monotonic_reset_all_statistics
*
* This directive allows a thread to reset the statistics information
* on ALL period instances.
*/
void rtems_rate_monotonic_reset_all_statistics( void );
-/*
- * rtems_rate_monotonic_report_statistics
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_rate_monotonic_report_statistics
*
* This directive allows a thread to print the statistics information
* on ALL period instances which have non-zero counts using printk.
@@ -288,36 +262,29 @@ void rtems_rate_monotonic_report_statistics_with_plugin(
rtems_printk_plugin_t print
);
-/*
- * rtems_rate_monotonic_report_statistics
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_rate_monotonic_report_statistics
*
* This directive allows a thread to print the statistics information
* on ALL period instances which have non-zero counts using printk.
*/
void rtems_rate_monotonic_report_statistics( void );
-/*
- * rtems_rate_monotonic_period
- *
- * DESCRIPTION:
+/**
+ * @brief rtems_rate_monotonic_period
*
* This routine implements the rtems_rate_monotonic_period directive. When
* length is non-zero, this directive initiates the period associated with
* ID from continuing for a period of length. If length is zero, then
* result is set to indicate the current state of the period.
*/
-
rtems_status_code rtems_rate_monotonic_period(
Objects_Id id,
rtems_interval length
);
-/*
- * _Rate_monotonic_Timeout
- *
- * DESCRIPTION:
+/**
+ * @brief _Rate_monotonic_Timeout
*
* This routine is invoked when the period represented
* by ID expires. If the task which owns this period is blocked
@@ -326,20 +293,16 @@ rtems_status_code rtems_rate_monotonic_period(
* period to expire, then the period is placed in the EXPIRED
* state and not restarted.
*/
-
void _Rate_monotonic_Timeout(
Objects_Id id,
void *ignored
);
-/*
- * _Rate_monotonic_Reset_statistics
- *
- * DESCRIPTION:
+/**
+ * @brief _Rate_monotonic_Reset_statistics
*
* This method resets the statistics information for a period instance.
*/
-
#ifdef RTEMS_ENABLE_NANOSECOND_RATE_MONOTONIC_STATISTICS
#define _Rate_monotonic_Reset_wall_time_statistics( _the_period ) \
do { \
@@ -381,5 +344,7 @@ void _Rate_monotonic_Timeout(
}
#endif
+/**@}*/
+
#endif
/* end of include file */