36 lines
796 B
Go
36 lines
796 B
Go
// Copyright 2014 The Go Authors. All rights reserved.
|
||
// Use of this source code is governed by a BSD-style
|
||
// license that can be found in the LICENSE file.
|
||
|
||
// +build darwin
|
||
|
||
package interp
|
||
|
||
import "syscall"
|
||
|
||
func init() {
|
||
externals["syscall.Sysctl"] = ext۰syscall۰Sysctl
|
||
|
||
fillStat = func(st *syscall.Stat_t, stat structure) {
|
||
stat[0] = st.Dev
|
||
stat[1] = st.Mode
|
||
stat[2] = st.Nlink
|
||
stat[3] = st.Ino
|
||
stat[4] = st.Uid
|
||
stat[5] = st.Gid
|
||
stat[6] = st.Rdev
|
||
// TODO(adonovan): fix: copy Timespecs.
|
||
// stat[8] = st.Atim
|
||
// stat[9] = st.Mtim
|
||
// stat[10] = st.Ctim
|
||
stat[12] = st.Size
|
||
stat[13] = st.Blocks
|
||
stat[14] = st.Blksize
|
||
}
|
||
}
|
||
|
||
func ext۰syscall۰Sysctl(fr *frame, args []value) value {
|
||
r, err := syscall.Sysctl(args[0].(string))
|
||
return tuple{r, wrapError(err)}
|
||
}
|