sysconf_bsd.go 737 B

12345678910111213141516171819202122232425262728293031323334353637
  1. // Copyright 2018 Tobias Klauser. All rights reserved.
  2. // Use of this source code is governed by a BSD-style
  3. // license that can be found in the LICENSE file.
  4. //go:build darwin || dragonfly || freebsd || netbsd || openbsd
  5. package sysconf
  6. import "golang.org/x/sys/unix"
  7. func pathconf(path string, name int) int64 {
  8. if val, err := unix.Pathconf(path, name); err == nil {
  9. return int64(val)
  10. }
  11. return -1
  12. }
  13. func sysctl32(name string) int64 {
  14. if val, err := unix.SysctlUint32(name); err == nil {
  15. return int64(val)
  16. }
  17. return -1
  18. }
  19. func sysctl64(name string) int64 {
  20. if val, err := unix.SysctlUint64(name); err == nil {
  21. return int64(val)
  22. }
  23. return -1
  24. }
  25. func yesno(val int64) int64 {
  26. if val == 0 {
  27. return -1
  28. }
  29. return val
  30. }