aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/dev_rtc.txt
diff options
context:
space:
mode:
Diffstat (limited to 'sys/linux/dev_rtc.txt')
-rw-r--r--sys/linux/dev_rtc.txt61
1 files changed, 61 insertions, 0 deletions
diff --git a/sys/linux/dev_rtc.txt b/sys/linux/dev_rtc.txt
new file mode 100644
index 000000000..c537d84a6
--- /dev/null
+++ b/sys/linux/dev_rtc.txt
@@ -0,0 +1,61 @@
+# Copyright 2018 syzkaller project authors. All rights reserved.
+# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
+
+include <linux/rtc.h>
+
+resource fd_rtc[fd]
+
+syz_open_dev$rtc(dev ptr[in, string["/dev/rtc#"]], id intptr, flags flags[open_flags]) fd_rtc
+
+ioctl$RTC_AIE_OFF(fd fd_rtc, cmd const[RTC_AIE_OFF])
+ioctl$RTC_AIE_ON(fd fd_rtc, cmd const[RTC_AIE_ON])
+ioctl$RTC_PIE_OFF(fd fd_rtc, cmd const[RTC_PIE_OFF])
+ioctl$RTC_PIE_ON(fd fd_rtc, cmd const[RTC_PIE_ON])
+ioctl$RTC_UIE_OFF(fd fd_rtc, cmd const[RTC_UIE_OFF])
+ioctl$RTC_UIE_ON(fd fd_rtc, cmd const[RTC_UIE_ON])
+ioctl$RTC_WIE_ON(fd fd_rtc, cmd const[RTC_WIE_ON])
+ioctl$RTC_WIE_OFF(fd fd_rtc, cmd const[RTC_WIE_OFF])
+ioctl$RTC_ALM_READ(fd fd_rtc, cmd const[RTC_ALM_READ], arg ptr[out, rtc_time])
+ioctl$RTC_ALM_SET(fd fd_rtc, cmd const[RTC_ALM_SET], arg ptr[in, rtc_time])
+ioctl$RTC_RD_TIME(fd fd_rtc, cmd const[RTC_RD_TIME], arg ptr[out, rtc_time])
+ioctl$RTC_SET_TIME(fd fd_rtc, cmd const[RTC_SET_TIME], arg ptr[in, rtc_time])
+ioctl$RTC_IRQP_READ(fd fd_rtc, cmd const[RTC_IRQP_READ], arg ptr[out, intptr])
+ioctl$RTC_IRQP_SET(fd fd_rtc, cmd const[RTC_IRQP_SET], arg intptr[1:RTC_MAX_FREQ])
+ioctl$RTC_EPOCH_READ(fd fd_rtc, cmd const[RTC_EPOCH_READ], arg ptr[out, intptr])
+ioctl$RTC_EPOCH_SET(fd fd_rtc, cmd const[RTC_EPOCH_SET], arg intptr)
+ioctl$RTC_WKALM_RD(fd fd_rtc, cmd const[RTC_WKALM_RD], arg ptr[out, rtc_wkalrm])
+ioctl$RTC_WKALM_SET(fd fd_rtc, cmd const[RTC_WKALM_SET], arg ptr[in, rtc_wkalrm])
+ioctl$RTC_PLL_GET(fd fd_rtc, cmd const[RTC_PLL_GET], arg ptr[out, rtc_pll_info])
+ioctl$RTC_PLL_SET(fd fd_rtc, cmd const[RTC_PLL_SET], arg ptr[in, rtc_pll_info])
+ioctl$RTC_VL_READ(fd fd_rtc, cmd const[RTC_VL_READ], arg ptr[out, int32])
+ioctl$RTC_VL_CLR(fd fd_rtc, cmd const[RTC_VL_CLR])
+
+rtc_time {
+ tm_sec int32[0:60]
+ tm_min int32[0:59]
+ tm_hour int32[0:23]
+ tm_mday int32[1:31]
+ tm_mon int32[0:11]
+ tm_year int32
+ tm_wday int32[0:6]
+ tm_yday int32[0:365]
+ tm_isdst flags[rtc_isdst, int32]
+}
+
+rtc_wkalrm {
+ enabled bool8
+ pending bool8
+ time rtc_time
+}
+
+rtc_pll_info {
+ pll_ctrl int32
+ pll_value int32
+ pll_max int32
+ pll_min int32
+ pll_posmult int32
+ pll_negmult int32
+ pll_clock intptr
+}
+
+rtc_isdst = 0, 1, -1