|
|
@@ -14,6 +14,7 @@ package unix
|
|
|
import (
|
|
|
"encoding/binary"
|
|
|
"net"
|
|
|
+ "runtime"
|
|
|
"syscall"
|
|
|
"unsafe"
|
|
|
)
|
|
|
@@ -80,6 +81,12 @@ func ioctlSetTermios(fd int, req uint, value *Termios) error {
|
|
|
return ioctl(fd, req, uintptr(unsafe.Pointer(value)))
|
|
|
}
|
|
|
|
|
|
+func IoctlSetRTCTime(fd int, value *RTCTime) error {
|
|
|
+ err := ioctl(fd, RTC_SET_TIME, uintptr(unsafe.Pointer(value)))
|
|
|
+ runtime.KeepAlive(value)
|
|
|
+ return err
|
|
|
+}
|
|
|
+
|
|
|
// IoctlGetInt performs an ioctl operation which gets an integer value
|
|
|
// from fd, using the specified request number.
|
|
|
func IoctlGetInt(fd int, req uint) (int, error) {
|
|
|
@@ -100,6 +107,12 @@ func IoctlGetTermios(fd int, req uint) (*Termios, error) {
|
|
|
return &value, err
|
|
|
}
|
|
|
|
|
|
+func IoctlGetRTCTime(fd int) (*RTCTime, error) {
|
|
|
+ var value RTCTime
|
|
|
+ err := ioctl(fd, RTC_RD_TIME, uintptr(unsafe.Pointer(&value)))
|
|
|
+ return &value, err
|
|
|
+}
|
|
|
+
|
|
|
//sys Linkat(olddirfd int, oldpath string, newdirfd int, newpath string, flags int) (err error)
|
|
|
|
|
|
func Link(oldpath string, newpath string) (err error) {
|