diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-05-27 14:23:23 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2009-05-27 14:23:23 +0000 |
commit | 22ed4172f7998db711f72f973fa75a469ed817e4 (patch) | |
tree | 61d390aaa96c5a92a2ffdac02325973c939e1e0e /cpukit/libcsupport/include/rtc.h | |
parent | 2009-05-27 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff) | |
download | rtems-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.h | 87 |
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 */ |