in sigar_common_darwin.go [174:201]
func (self *FileSystemList) Get() error {
num, err := syscall.Getfsstat(nil, C.MNT_NOWAIT)
if err != nil {
return err
}
buf := make([]syscall.Statfs_t, num)
_, err = syscall.Getfsstat(buf, C.MNT_NOWAIT)
if err != nil {
return err
}
fslist := make([]FileSystem, 0, num)
for i := 0; i < num; i++ {
fs := FileSystem{}
fs.DirName = byteListToString(buf[i].Mntonname[:])
fs.DevName = byteListToString(buf[i].Mntfromname[:])
fs.SysTypeName = byteListToString(buf[i].Fstypename[:])
fslist = append(fslist, fs)
}
self.List = fslist
return err
}