github.com/pkg/sftp@v1.13.6/server_statvfs_darwin.go (about) 1 package sftp 2 3 import ( 4 "syscall" 5 ) 6 7 func statvfsFromStatfst(stat *syscall.Statfs_t) (*StatVFS, error) { 8 return &StatVFS{ 9 Bsize: uint64(stat.Bsize), 10 Frsize: uint64(stat.Bsize), // fragment size is a linux thing; use block size here 11 Blocks: stat.Blocks, 12 Bfree: stat.Bfree, 13 Bavail: stat.Bavail, 14 Files: stat.Files, 15 Ffree: stat.Ffree, 16 Favail: stat.Ffree, // not sure how to calculate Favail 17 Fsid: uint64(uint64(stat.Fsid.Val[1])<<32 | uint64(stat.Fsid.Val[0])), // endianness? 18 Flag: uint64(stat.Flags), // assuming POSIX? 19 Namemax: 1024, // man 2 statfs shows: #define MAXPATHLEN 1024 20 }, nil 21 }