syscallcompat: add Darwin version of unix2syscall

The "Atim" field is called "Atimespec" on Darwin,
same for Mtim and Ctim.
This commit is contained in:
Jakob Unterwurzacher 2017-12-06 00:18:38 +01:00
parent a3bdc2bf2b
commit 6beb45e5b7
2 changed files with 26 additions and 0 deletions

View File

@ -0,0 +1,26 @@
package syscallcompat
import (
"syscall"
"golang.org/x/sys/unix"
)
// Unix2syscall converts a unix.Stat_t struct to a syscall.Stat_t struct.
func Unix2syscall(u unix.Stat_t) syscall.Stat_t {
return syscall.Stat_t{
Dev: u.Dev,
Ino: u.Ino,
Nlink: u.Nlink,
Mode: u.Mode,
Uid: u.Uid,
Gid: u.Gid,
Rdev: u.Rdev,
Size: u.Size,
Blksize: u.Blksize,
Blocks: u.Blocks,
Atimespec: syscall.Timespec(u.Atimespec),
Mtimespec: syscall.Timespec(u.Mtimespec),
Ctimespec: syscall.Timespec(u.Ctimespec),
}
}