Skip to content

Commit

Permalink
Merge pull request #582 from rgooch/master
Browse files Browse the repository at this point in the history
Make lib/wsyscall compile for Windoze.
  • Loading branch information
rgooch committed Apr 4, 2019
2 parents 9719541 + f44b2c1 commit feb4dc0
Show file tree
Hide file tree
Showing 4 changed files with 78 additions and 12 deletions.
14 changes: 2 additions & 12 deletions lib/wsyscall/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,12 +59,7 @@ func Ioctl(fd int, request, argp uintptr) error {
}

func Lstat(path string, statbuf *Stat_t) error {
var rawStatbuf syscall.Stat_t
if err := syscall.Lstat(path, &rawStatbuf); err != nil {
return err
}
convertStat(statbuf, &rawStatbuf)
return nil
return lstat(path, statbuf)
}

func Mount(source string, target string, fstype string, flags uintptr,
Expand All @@ -89,12 +84,7 @@ func SetNetNamespace(fd int) error {
}

func Stat(path string, statbuf *Stat_t) error {
var rawStatbuf syscall.Stat_t
if err := syscall.Stat(path, &rawStatbuf); err != nil {
return err
}
convertStat(statbuf, &rawStatbuf)
return nil
return stat(path, statbuf)
}

func UnshareMountNamespace() error {
Expand Down
18 changes: 18 additions & 0 deletions lib/wsyscall/wrappers_darwin.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,15 @@ func fallocate(fd int, mode uint32, off int64, len int64) error {
return syscall.ENOTSUP
}

func lstat(path string, statbuf *Stat_t) error {
var rawStatbuf syscall.Stat_t
if err := syscall.Lstat(path, &rawStatbuf); err != nil {
return err
}
convertStat(statbuf, &rawStatbuf)
return nil
}

func mount(source string, target string, fstype string, flags uintptr,
data string) error {
return syscall.ENOTSUP
Expand Down Expand Up @@ -72,6 +81,15 @@ func setNetNamespace(namespaceFd int) error {
return syscall.ENOTSUP
}

func stat(path string, statbuf *Stat_t) error {
var rawStatbuf syscall.Stat_t
if err := syscall.Stat(path, &rawStatbuf); err != nil {
return err
}
convertStat(statbuf, &rawStatbuf)
return nil
}

func unshareNetNamespace() (int, int, error) {
return -1, -1, syscall.ENOTSUP
}
Expand Down
18 changes: 18 additions & 0 deletions lib/wsyscall/wrappers_linux.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,15 @@ func fallocate(fd int, mode uint32, off int64, len int64) error {
return syscall.Fallocate(fd, mode, off, len)
}

func lstat(path string, statbuf *Stat_t) error {
var rawStatbuf syscall.Stat_t
if err := syscall.Lstat(path, &rawStatbuf); err != nil {
return err
}
convertStat(statbuf, &rawStatbuf)
return nil
}

func mount(source string, target string, fstype string, flags uintptr,
data string) error {
var linuxFlags uintptr
Expand Down Expand Up @@ -93,6 +102,15 @@ func setNetNamespace(namespaceFd int) error {

}

func stat(path string, statbuf *Stat_t) error {
var rawStatbuf syscall.Stat_t
if err := syscall.Stat(path, &rawStatbuf); err != nil {
return err
}
convertStat(statbuf, &rawStatbuf)
return nil
}

func unshareMountNamespace() error {
// Pin goroutine to OS thread. This hack is required because
// syscall.Unshare() operates on only one thread in the process, and Go
Expand Down
40 changes: 40 additions & 0 deletions lib/wsyscall/wrappers_windows.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package wsyscall

import "syscall"

func fallocate(fd int, mode uint32, off int64, len int64) error {
return syscall.ENOTSUP
}

func lstat(path string, statbuf *Stat_t) error {
return syscall.ENOTSUP
}

func mount(source string, target string, fstype string, flags uintptr,
data string) error {
return syscall.ENOTSUP
}

func getrusage(who int, rusage *Rusage) error {
return syscall.ENOTSUP
}

func setAllGid(gid int) error {
return syscall.ENOTSUP
}

func setAllUid(uid int) error {
return syscall.ENOTSUP
}

func setNetNamespace(namespaceFd int) error {
return syscall.ENOTSUP
}

func unshareNetNamespace() (int, int, error) {
return -1, -1, syscall.ENOTSUP
}

func unshareMountNamespace() error {
return syscall.ENOTSUP
}

0 comments on commit feb4dc0

Please sign in to comment.