Search, inspect, stream, and download torrents from the terminal. Replaces the entire *arr stack with a single binary.
17 lines
479 B
Go
17 lines
479 B
Go
//go:build !windows
|
|
|
|
package agent
|
|
|
|
import "syscall"
|
|
|
|
// DiskInfo returns free and total bytes for the filesystem containing path.
|
|
func DiskInfo(path string) (freeBytes, totalBytes int64, err error) {
|
|
var stat syscall.Statfs_t
|
|
if err := syscall.Statfs(path, &stat); err != nil {
|
|
return 0, 0, err
|
|
}
|
|
// Available blocks * block size
|
|
freeBytes = int64(stat.Bavail) * int64(stat.Bsize)
|
|
totalBytes = int64(stat.Blocks) * int64(stat.Bsize)
|
|
return freeBytes, totalBytes, nil
|
|
}
|