c5_labsci/zciyon/sys_linux.go
2026-01-27 00:52:00 +08:00

22 lines
414 B
Go

//go:build !windows
// +build !windows
package zciyon
import (
"syscall"
)
func Ciy_sys_getdisk(drive string) map[string]int {
sf := syscall.Statfs_t{}
err := syscall.Statfs(drive, &sf)
if err != nil {
return nil
}
ret := map[string]int{}
ret["all"] = int(sf.Blocks * uint64(sf.Bsize))
ret["free"] = int(sf.Bfree * uint64(sf.Bsize))
ret["available"] = int(sf.Bavail * uint64(sf.Bsize))
return ret
}