-
Notifications
You must be signed in to change notification settings - Fork 310
/
php_unix.go
34 lines (28 loc) · 632 Bytes
/
php_unix.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// php2go functions
// +build linux darwin
package php2go
import (
"syscall"
)
// Umask umask()
func Umask(mask int) int {
return syscall.Umask(mask)
}
// DiskFreeSpace disk_free_space()
func DiskFreeSpace(directory string) (uint64, error) {
fs := syscall.Statfs_t{}
err := syscall.Statfs(directory, &fs)
if err != nil {
return 0, err
}
return fs.Bfree * uint64(fs.Bsize), nil
}
// DiskTotalSpace disk_total_space()
func DiskTotalSpace(directory string) (uint64, error) {
fs := syscall.Statfs_t{}
err := syscall.Statfs(directory, &fs)
if err != nil {
return 0, err
}
return fs.Blocks * uint64(fs.Bsize), nil
}