unix: add ioctl wrappers for RTC wake alarm on Linux

Add wrappers to set and get RTC wake alarm on Linux via the
RTC_WKALM_SET and RTC_WKALM_RD ioctls.

Change-Id: I98c36b2252b2fe65cfaba5dde879f6019ff1ae91
GitHub-Last-Rev: a78d0f41932c6f400784b65b1fff10eb6f1a802c
GitHub-Pull-Request: golang/sys#71
Reviewed-on: https://go-review.googlesource.com/c/sys/+/236140
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
Ingo Gottwald
2020-06-02 22:51:09 +00:00
committed by Ian Lance Taylor
parent 8d3cce7afc
commit 6fdc65e7d9
2 changed files with 28 additions and 0 deletions
+16
View File
@@ -73,6 +73,22 @@ func TestIoctlGetRTCTime(t *testing.T) {
t.Logf("RTC time: %04d-%02d-%02d %02d:%02d:%02d", v.Year+1900, v.Mon+1, v.Mday, v.Hour, v.Min, v.Sec)
}
func TestIoctlGetRTCWkAlrm(t *testing.T) {
f, err := os.Open("/dev/rtc0")
if err != nil {
t.Skipf("skipping test, %v", err)
}
defer f.Close()
v, err := unix.IoctlGetRTCWkAlrm(int(f.Fd()))
if err != nil {
t.Fatalf("failed to perform ioctl: %v", err)
}
t.Logf("RTC wake alarm enabled '%d'; time: %04d-%02d-%02d %02d:%02d:%02d",
v.Enabled, v.Time.Year+1900, v.Time.Mon+1, v.Time.Mday, v.Time.Hour, v.Time.Min, v.Time.Sec)
}
func TestPpoll(t *testing.T) {
if runtime.GOOS == "android" {
t.Skip("mkfifo syscall is not available on android, skipping test")