CCCPaste

file.go untuk OpenBSD

// +build openbsd

package file

import (
    "syscall"
)

// FreeSpace mengembalikan jumlah byte ruang bebas pada path di OpenBSD
func FreeSpace(path string) (uint64, error) {
    var fs syscall.Statfs_t
    err := syscall.Statfs(path, &fs)
    if err != nil {
        return 0, err
    }
    // Ganti ke field yang benar di OpenBSD:
    return uint64(fs.F_bfree) * uint64(fs.F_bsize), nil
}