xref: /aosp_15_r20/external/ltp/include/tst_rtctime.h (revision 49cdfc7efb34551c7342be41a7384b9c40d7cab7)
1*49cdfc7eSAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0-or-later */
2*49cdfc7eSAndroid Build Coastguard Worker /*
3*49cdfc7eSAndroid Build Coastguard Worker  * Copyright (C) 2020 Unisoc Inc.
4*49cdfc7eSAndroid Build Coastguard Worker  */
5*49cdfc7eSAndroid Build Coastguard Worker 
6*49cdfc7eSAndroid Build Coastguard Worker #ifndef TST_RTCTIME
7*49cdfc7eSAndroid Build Coastguard Worker #define TST_RTCTIME
8*49cdfc7eSAndroid Build Coastguard Worker 
9*49cdfc7eSAndroid Build Coastguard Worker #include <sys/ioctl.h>
10*49cdfc7eSAndroid Build Coastguard Worker #include <linux/rtc.h>
11*49cdfc7eSAndroid Build Coastguard Worker 
12*49cdfc7eSAndroid Build Coastguard Worker int tst_rtc_ioctl(const char *rtc_dev, unsigned long request,
13*49cdfc7eSAndroid Build Coastguard Worker                   struct rtc_time *rtc_tm);
14*49cdfc7eSAndroid Build Coastguard Worker 
tst_rtc_gettime(const char * rtc_dev,struct rtc_time * rtc_tm)15*49cdfc7eSAndroid Build Coastguard Worker static inline int tst_rtc_gettime(const char *rtc_dev, struct rtc_time *rtc_tm)
16*49cdfc7eSAndroid Build Coastguard Worker {
17*49cdfc7eSAndroid Build Coastguard Worker 	return tst_rtc_ioctl(rtc_dev, RTC_RD_TIME, rtc_tm);
18*49cdfc7eSAndroid Build Coastguard Worker }
19*49cdfc7eSAndroid Build Coastguard Worker 
tst_rtc_settime(const char * rtc_dev,struct rtc_time * rtc_tm)20*49cdfc7eSAndroid Build Coastguard Worker static inline int tst_rtc_settime(const char *rtc_dev, struct rtc_time *rtc_tm)
21*49cdfc7eSAndroid Build Coastguard Worker {
22*49cdfc7eSAndroid Build Coastguard Worker 	return tst_rtc_ioctl(rtc_dev, RTC_SET_TIME, rtc_tm);
23*49cdfc7eSAndroid Build Coastguard Worker }
24*49cdfc7eSAndroid Build Coastguard Worker 
25*49cdfc7eSAndroid Build Coastguard Worker void tst_rtc_time_to_tm(long long time, struct rtc_time *tm);
26*49cdfc7eSAndroid Build Coastguard Worker 
27*49cdfc7eSAndroid Build Coastguard Worker long long tst_rtc_tm_to_time(struct rtc_time *tm);
28*49cdfc7eSAndroid Build Coastguard Worker 
29*49cdfc7eSAndroid Build Coastguard Worker #endif /* TST_RTCTIME */
30