ls_unix.go 528 B

123456789101112131415161718192021222324
  1. //go:build aix || darwin || dragonfly || freebsd || (!android && linux) || netbsd || openbsd || solaris || js
  2. // +build aix darwin dragonfly freebsd !android,linux netbsd openbsd solaris js
  3. package sftp
  4. import (
  5. "os"
  6. "syscall"
  7. )
  8. func lsLinksUIDGID(fi os.FileInfo) (numLinks uint64, uid, gid string) {
  9. numLinks = 1
  10. uid, gid = "0", "0"
  11. switch sys := fi.Sys().(type) {
  12. case *syscall.Stat_t:
  13. numLinks = uint64(sys.Nlink)
  14. uid = lsFormatID(sys.Uid)
  15. gid = lsFormatID(sys.Gid)
  16. default:
  17. }
  18. return numLinks, uid, gid
  19. }