]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blobdiff - vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
Merge pull request #27 from terraform-providers/go-modules-2019-02-22
[github/fretlink/terraform-provider-statuscake.git] / vendor / golang.org / x / sys / unix / syscall_linux_arm64.go
similarity index 66%
rename from vendor/github.com/fsouza/go-dockerclient/external/golang.org/x/sys/unix/syscall_linux_arm64.go
rename to vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
index f3d72dfd3016fb8dca36158e1368074b7d1fe75d..fa5a9a6f64987d8c50d49c6a73afc57edaf1f128 100644 (file)
@@ -6,8 +6,17 @@
 
 package unix
 
-const _SYS_dup = SYS_DUP3
+import "unsafe"
 
+func EpollCreate(size int) (fd int, err error) {
+       if size <= 0 {
+               return -1, EINVAL
+       }
+       return EpollCreate1(0)
+}
+
+//sys  EpollWait(epfd int, events []EpollEvent, msec int) (n int, err error) = SYS_EPOLL_PWAIT
+//sys  Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_FADVISE64
 //sys  Fchown(fd int, uid int, gid int) (err error)
 //sys  Fstat(fd int, stat *Stat_t) (err error)
 //sys  Fstatat(fd int, path string, stat *Stat_t, flags int) (err error)
@@ -22,7 +31,15 @@ const _SYS_dup = SYS_DUP3
 //sys  Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
 //sys  Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
 //sys  Seek(fd int, offset int64, whence int) (off int64, err error) = SYS_LSEEK
-//sys  Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) = SYS_PSELECT6
+
+func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) {
+       var ts *Timespec
+       if timeout != nil {
+               ts = &Timespec{Sec: timeout.Sec, Nsec: timeout.Usec * 1000}
+       }
+       return Pselect(nfd, r, w, e, ts, nil)
+}
+
 //sys  sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
 //sys  Setfsgid(gid int) (err error)
 //sys  Setfsuid(uid int) (err error)
@@ -49,6 +66,11 @@ func Lstat(path string, stat *Stat_t) (err error) {
 //sys  Statfs(path string, buf *Statfs_t) (err error)
 //sys  SyncFileRange(fd int, off int64, n int64, flags int) (err error)
 //sys  Truncate(path string, length int64) (err error)
+
+func Ustat(dev int, ubuf *Ustat_t) (err error) {
+       return ENOSYS
+}
+
 //sys  accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
 //sys  accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
 //sys  bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
@@ -67,26 +89,58 @@ func Lstat(path string, stat *Stat_t) (err error) {
 //sys  sendmsg(s int, msg *Msghdr, flags int) (n int, err error)
 //sys  mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)
 
-func Getpagesize() int { return 65536 }
-
 //sysnb        Gettimeofday(tv *Timeval) (err error)
-//sysnb        Time(t *Time_t) (tt Time_t, err error)
 
-func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
+func setTimespec(sec, nsec int64) Timespec {
+       return Timespec{Sec: sec, Nsec: nsec}
+}
 
-func NsecToTimespec(nsec int64) (ts Timespec) {
-       ts.Sec = nsec / 1e9
-       ts.Nsec = nsec % 1e9
-       return
+func setTimeval(sec, usec int64) Timeval {
+       return Timeval{Sec: sec, Usec: usec}
 }
 
-func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
+func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) {
+       if tv == nil {
+               return utimensat(dirfd, path, nil, 0)
+       }
 
-func NsecToTimeval(nsec int64) (tv Timeval) {
-       nsec += 999 // round up to microsecond
-       tv.Sec = nsec / 1e9
-       tv.Usec = nsec % 1e9 / 1e3
-       return
+       ts := []Timespec{
+               NsecToTimespec(TimevalToNsec(tv[0])),
+               NsecToTimespec(TimevalToNsec(tv[1])),
+       }
+       return utimensat(dirfd, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
+}
+
+func Time(t *Time_t) (Time_t, error) {
+       var tv Timeval
+       err := Gettimeofday(&tv)
+       if err != nil {
+               return 0, err
+       }
+       if t != nil {
+               *t = Time_t(tv.Sec)
+       }
+       return Time_t(tv.Sec), nil
+}
+
+func Utime(path string, buf *Utimbuf) error {
+       tv := []Timeval{
+               {Sec: buf.Actime},
+               {Sec: buf.Modtime},
+       }
+       return Utimes(path, tv)
+}
+
+func utimes(path string, tv *[2]Timeval) (err error) {
+       if tv == nil {
+               return utimensat(AT_FDCWD, path, nil, 0)
+       }
+
+       ts := []Timespec{
+               NsecToTimespec(TimevalToNsec(tv[0])),
+               NsecToTimespec(TimevalToNsec(tv[1])),
+       }
+       return utimensat(AT_FDCWD, path, (*[2]Timespec)(unsafe.Pointer(&ts[0])), 0)
 }
 
 func Pipe(p []int) (err error) {
@@ -133,18 +187,23 @@ func InotifyInit() (fd int, err error) {
        return InotifyInit1(0)
 }
 
-// TODO(dfc): constants that should be in zsysnum_linux_arm64.go, remove
-// these when the deprecated syscalls that the syscall package relies on
-// are removed.
-const (
-       SYS_GETPGRP      = 1060
-       SYS_UTIMES       = 1037
-       SYS_FUTIMESAT    = 1066
-       SYS_PAUSE        = 1061
-       SYS_USTAT        = 1070
-       SYS_UTIME        = 1063
-       SYS_LCHOWN       = 1032
-       SYS_TIME         = 1062
-       SYS_EPOLL_CREATE = 1042
-       SYS_EPOLL_WAIT   = 1069
-)
+func Dup2(oldfd int, newfd int) (err error) {
+       return Dup3(oldfd, newfd, 0)
+}
+
+func Pause() error {
+       _, err := ppoll(nil, 0, nil, nil)
+       return err
+}
+
+func Poll(fds []PollFd, timeout int) (n int, err error) {
+       var ts *Timespec
+       if timeout >= 0 {
+               ts = new(Timespec)
+               *ts = NsecToTimespec(int64(timeout) * 1e6)
+       }
+       if len(fds) == 0 {
+               return ppoll(nil, 0, ts, nil)
+       }
+       return ppoll(&fds[0], len(fds), ts, nil)
+}