[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