summaryrefslogtreecommitdiffstats
path: root/cpukit/libcsupport/include/rtc.h
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-05-27 14:23:23 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-05-27 14:23:23 +0000
commit22ed4172f7998db711f72f973fa75a469ed817e4 (patch)
tree61d390aaa96c5a92a2ffdac02325973c939e1e0e /cpukit/libcsupport/include/rtc.h
parent2009-05-27 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff)
downloadrtems-22ed4172f7998db711f72f973fa75a469ed817e4.tar.bz2
2009-05-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libcsupport/include/rtc.h: New RTC driver interface. * libmisc/Makefile.am, libmisc/shell/shellconfig.h: Added RTC command. * libmisc/shell/main_rtc.c: New file.
Diffstat (limited to 'cpukit/libcsupport/include/rtc.h')
-rw-r--r--cpukit/libcsupport/include/rtc.h87
1 files changed, 81 insertions, 6 deletions
diff --git a/cpukit/libcsupport/include/rtc.h b/cpukit/libcsupport/include/rtc.h
index 1339e32c8c..68258c5362 100644
--- a/cpukit/libcsupport/include/rtc.h
+++ b/cpukit/libcsupport/include/rtc.h
@@ -1,9 +1,7 @@
/**
- * @file rtems/rtc.h
+ * @file
*
- * This file describes the Real-Time Clock driver for all boards.
- * This driver provides support for the standard RTEMS routines
- * that set the tod based on an RTC.
+ * Real-time clock driver interface.
*/
/*
@@ -20,22 +18,99 @@
#ifndef _RTEMS_RTC_H
#define _RTEMS_RTC_H
+#include <rtems.h>
+
#ifdef __cplusplus
extern "C" {
#endif
+/**
+ * @defgroup rtems_rtc Real-Time Clock Driver Interface
+ *
+ * This driver interface provides support to read and set the real-time clock
+ * and to initialize the time of day for the system.
+ *
+ * @{
+ */
+
+/**
+ * Device file name path.
+ */
+#define RTC_DEVICE_NAME "/dev/rtc"
+
+/**
+ * Device driver table entry.
+ */
#define RTC_DRIVER_TABLE_ENTRY \
- { rtc_initialize, NULL, NULL, NULL, NULL, NULL }
+ { rtc_initialize, rtc_open, rtc_close, \
+ rtc_read, rtc_write, rtc_control }
+/**
+ * Initializes the real-time clock device and sets the time of day for the
+ * system.
+ *
+ * If the real-time clock provides an invalid time of day value the system time
+ * of day must remain untouched.
+ */
rtems_device_driver rtc_initialize(
rtems_device_major_number,
rtems_device_minor_number,
void *
);
+/**
+ * Opens the real-time clock device.
+ */
+rtems_device_driver rtc_open(
+ rtems_device_major_number,
+ rtems_device_minor_number,
+ void *
+);
+
+/**
+ * Closes the real-time clock device.
+ */
+rtems_device_driver rtc_close(
+ rtems_device_major_number,
+ rtems_device_minor_number,
+ void *
+);
+
+/**
+ * Reads the real-time clock value.
+ *
+ * The value will be returned in a @ref rtems_time_of_day structure.
+ */
+rtems_device_driver rtc_read(
+ rtems_device_major_number,
+ rtems_device_minor_number,
+ void *
+);
+
+/**
+ * Sets the real-time clock value.
+ *
+ * The value will be set from a @ref rtems_time_of_day structure.
+ */
+rtems_device_driver rtc_write(
+ rtems_device_major_number,
+ rtems_device_minor_number,
+ void *
+);
+
+/**
+ * Controls the real-time clock.
+ */
+rtems_device_driver rtc_control(
+ rtems_device_major_number,
+ rtems_device_minor_number,
+ void *
+);
+
+/** @} */
+
#ifdef __cplusplus
}
#endif
#endif
-/* end of include file */