[PATCH 12/21] rtems: Move internal structures to timerdata.h

Sebastian Huber sebastian.huber at embedded-brains.de
Thu Nov 8 12:52:05 UTC 2018


Update #3598.
---
 cpukit/headers.am                      |  1 +
 cpukit/include/rtems/confdefs.h        |  1 +
 cpukit/include/rtems/rtems/timer.h     | 54 +++------------------------
 cpukit/include/rtems/rtems/timerdata.h | 67 ++++++++++++++++++++++++++++++++++
 cpukit/include/rtems/rtems/timerimpl.h |  2 +-
 5 files changed, 75 insertions(+), 50 deletions(-)
 create mode 100644 cpukit/include/rtems/rtems/timerdata.h

diff --git a/cpukit/headers.am b/cpukit/headers.am
index 458c0ae75d..0ca35265b8 100644
--- a/cpukit/headers.am
+++ b/cpukit/headers.am
@@ -278,6 +278,7 @@ include_rtems_rtems_HEADERS += include/rtems/rtems/tasks.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/tasksdata.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/tasksimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/timer.h
+include_rtems_rtems_HEADERS += include/rtems/rtems/timerdata.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/timerimpl.h
 include_rtems_rtems_HEADERS += include/rtems/rtems/types.h
 include_rtems_rtl_HEADERS += include/rtems/rtl/dlfcn-shell.h
diff --git a/cpukit/include/rtems/confdefs.h b/cpukit/include/rtems/confdefs.h
index 5ba3caebca..d91b00a63e 100644
--- a/cpukit/include/rtems/confdefs.h
+++ b/cpukit/include/rtems/confdefs.h
@@ -40,6 +40,7 @@
 #include <rtems/rtems/regiondata.h>
 #include <rtems/rtems/semdata.h>
 #include <rtems/rtems/tasksdata.h>
+#include <rtems/rtems/timerdata.h>
 #include <rtems/posix/key.h>
 #include <rtems/posix/mqueue.h>
 #include <rtems/posix/pthread.h>
diff --git a/cpukit/include/rtems/rtems/timer.h b/cpukit/include/rtems/rtems/timer.h
index 032c49525a..cc21b2bcd9 100644
--- a/cpukit/include/rtems/rtems/timer.h
+++ b/cpukit/include/rtems/rtems/timer.h
@@ -1,30 +1,9 @@
 /**
- * @file rtems/rtems/timer.h
- *
- * @defgroup ClassicTimer Timers
- *
- * @ingroup ClassicRTEMS
- * @brief Instantiate RTEMS Timer Data
- *
- * This include file contains all the constants, structures, and
- * prototypes associated with the Timer Manager. This manager provides
- * facilities to configure, initiate, cancel, and delete timers which will
- * fire at specified intervals of time.
- *
- * Directives provided are:
- *
- * - create a timer
- * - get an ID of a timer
- * - delete a timer
- * - set timer to fire in context of clock tick
- * - after a number of ticks have passed
- * - when a specified date and time has been reached
- * - initiate the timer server task
- * - set timer to fire in context of the timer server task
- * - after a number of ticks have passed
- * - when a specified date and time has been reached
- * - reset a timer
- * - cancel a time
+ * @file
+ *
+ * @ingroup ClassicTimer
+ *
+ * @brief Classic Timer Manager API
  */
 
 /*
@@ -124,29 +103,6 @@ typedef rtems_timer_service_routine ( *rtems_timer_service_routine_entry )(
                  void *
              );
 
-/**
- *  The following records define the control block used to manage
- *  each timer.
- */
-typedef struct {
-  /** This field is the object management portion of a Timer instance. */
-  Objects_Control  Object;
-  /** This field is the Watchdog instance which will be the scheduled. */
-  Watchdog_Control Ticker;
-  /** This field indicates what type of timer this currently is. */
-  Timer_Classes    the_class;
-  /** This field is the timer service routine. */
-  rtems_timer_service_routine_entry routine;
-  /** This field is the timer service routine user data. */
-  void *user_data;
-  /** This field is the timer interval in ticks or seconds. */
-  Watchdog_Interval initial;
-  /** This field is the timer start time point in ticks. */
-  Watchdog_Interval start_time;
-  /** This field is the timer stop time point in ticks. */
-  Watchdog_Interval stop_time;
-}   Timer_Control;
-
 /**
  * @brief RTEMS Create Timer
  *
diff --git a/cpukit/include/rtems/rtems/timerdata.h b/cpukit/include/rtems/rtems/timerdata.h
new file mode 100644
index 0000000000..a3a13b774e
--- /dev/null
+++ b/cpukit/include/rtems/rtems/timerdata.h
@@ -0,0 +1,67 @@
+/**
+ * @file
+ *
+ * @ingroup ClassicTimerImpl
+ *
+ * @brief Classic Partition Manager Data Structures
+ */
+
+/*
+ * COPYRIGHT (c) 1989-2011.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * Copyright (c) 2009, 2016 embedded brains GmbH.
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.org/license/LICENSE.
+ */
+
+#ifndef _RTEMS_RTEMS_TIMERDATA_H
+#define _RTEMS_RTEMS_TIMERDATA_H
+
+#include <rtems/rtems/timer.h>
+#include <rtems/score/object.h>
+#include <rtems/score/watchdog.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @addtogroup ClassicTimerImpl
+ *
+ * @{
+ */
+
+/**
+ *  The following records define the control block used to manage
+ *  each timer.
+ */
+typedef struct {
+  /** This field is the object management portion of a Timer instance. */
+  Objects_Control  Object;
+  /** This field is the Watchdog instance which will be the scheduled. */
+  Watchdog_Control Ticker;
+  /** This field indicates what type of timer this currently is. */
+  Timer_Classes    the_class;
+  /** This field is the timer service routine. */
+  rtems_timer_service_routine_entry routine;
+  /** This field is the timer service routine user data. */
+  void *user_data;
+  /** This field is the timer interval in ticks or seconds. */
+  Watchdog_Interval initial;
+  /** This field is the timer start time point in ticks. */
+  Watchdog_Interval start_time;
+  /** This field is the timer stop time point in ticks. */
+  Watchdog_Interval stop_time;
+}   Timer_Control;
+
+/** @} */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
diff --git a/cpukit/include/rtems/rtems/timerimpl.h b/cpukit/include/rtems/rtems/timerimpl.h
index d8581bfcd8..d62db3b34a 100644
--- a/cpukit/include/rtems/rtems/timerimpl.h
+++ b/cpukit/include/rtems/rtems/timerimpl.h
@@ -20,7 +20,7 @@
 #ifndef _RTEMS_RTEMS_TIMER_INL
 #define _RTEMS_RTEMS_TIMER_INL
 
-#include <rtems/rtems/timer.h>
+#include <rtems/rtems/timerdata.h>
 #include <rtems/score/objectimpl.h>
 #include <rtems/score/thread.h>
 #include <rtems/score/watchdogimpl.h>
-- 
2.16.4



More information about the devel mailing list