![]() |
|
|||
File indexing completed on 2025-05-11 08:24:14
0001 /* SPDX-License-Identifier: BSD-2-Clause */ 0002 0003 /** 0004 * @file 0005 * 0006 * @brief Real-Time Clock Driver Interface 0007 * 0008 * Real-time clock driver interface. 0009 */ 0010 0011 /* 0012 * COPYRIGHT (c) 1989-2001. 0013 * On-Line Applications Research Corporation (OAR). 0014 * 0015 * Redistribution and use in source and binary forms, with or without 0016 * modification, are permitted provided that the following conditions 0017 * are met: 0018 * 1. Redistributions of source code must retain the above copyright 0019 * notice, this list of conditions and the following disclaimer. 0020 * 2. Redistributions in binary form must reproduce the above copyright 0021 * notice, this list of conditions and the following disclaimer in the 0022 * documentation and/or other materials provided with the distribution. 0023 * 0024 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 0025 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 0026 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 0027 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 0028 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 0029 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 0030 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 0031 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 0032 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 0033 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 0034 * POSSIBILITY OF SUCH DAMAGE. 0035 */ 0036 0037 #ifndef _RTEMS_RTC_H 0038 #define _RTEMS_RTC_H 0039 0040 #include <rtems.h> 0041 0042 #ifdef __cplusplus 0043 extern "C" { 0044 #endif 0045 0046 /** 0047 * @defgroup rtems_rtc Real-Time Clock Driver Interface 0048 * 0049 * @ingroup RTEMSDeviceDrivers 0050 * 0051 * This driver interface provides support to read and set the real-time clock 0052 * and to initialize the time of day for the system. 0053 */ 0054 /**@{**/ 0055 0056 /** 0057 * Device file name path. 0058 */ 0059 #define RTC_DEVICE_NAME "/dev/rtc" 0060 0061 /** 0062 * Device driver table entry. 0063 */ 0064 #define RTC_DRIVER_TABLE_ENTRY \ 0065 { rtc_initialize, rtc_open, rtc_close, \ 0066 rtc_read, rtc_write, rtc_control } 0067 0068 /** 0069 * Initializes the real-time clock device and sets the time of day for the 0070 * system. 0071 * 0072 * If the real-time clock provides an invalid time of day value the system time 0073 * of day must remain untouched. 0074 */ 0075 rtems_device_driver rtc_initialize( 0076 rtems_device_major_number, 0077 rtems_device_minor_number, 0078 void * 0079 ); 0080 0081 /** 0082 * Opens the real-time clock device. 0083 */ 0084 rtems_device_driver rtc_open( 0085 rtems_device_major_number, 0086 rtems_device_minor_number, 0087 void * 0088 ); 0089 0090 /** 0091 * Closes the real-time clock device. 0092 */ 0093 rtems_device_driver rtc_close( 0094 rtems_device_major_number, 0095 rtems_device_minor_number, 0096 void * 0097 ); 0098 0099 /** 0100 * Reads the real-time clock value. 0101 * 0102 * The value will be returned in a @ref rtems_time_of_day structure. 0103 */ 0104 rtems_device_driver rtc_read( 0105 rtems_device_major_number, 0106 rtems_device_minor_number, 0107 void * 0108 ); 0109 0110 /** 0111 * Sets the real-time clock value. 0112 * 0113 * The value will be set from a @ref rtems_time_of_day structure. 0114 */ 0115 rtems_device_driver rtc_write( 0116 rtems_device_major_number, 0117 rtems_device_minor_number, 0118 void * 0119 ); 0120 0121 /** 0122 * Controls the real-time clock. 0123 */ 0124 rtems_device_driver rtc_control( 0125 rtems_device_major_number, 0126 rtems_device_minor_number, 0127 void * 0128 ); 0129 0130 /** @} */ 0131 0132 #ifdef __cplusplus 0133 } 0134 #endif 0135 0136 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |