| 123456789101112131415161718192021222324252627282930 |
- //go:build darwin || linux
- // +build darwin linux
- // fill in statvfs structure with OS specific values
- // Statfs_t is different per-kernel, and only exists on some unixes (not Solaris for instance)
- package sftp
- import (
- "syscall"
- )
- func (p *sshFxpExtendedPacketStatVFS) respond(svr *Server) responsePacket {
- retPkt, err := getStatVFSForPath(p.Path)
- if err != nil {
- return statusFromError(p.ID, err)
- }
- retPkt.ID = p.ID
- return retPkt
- }
- func getStatVFSForPath(name string) (*StatVFS, error) {
- var stat syscall.Statfs_t
- if err := syscall.Statfs(name, &stat); err != nil {
- return nil, err
- }
- return statvfsFromStatfst(&stat)
- }
|