tree: 38b5ae8c5175af8d6279842e2b3cf37604929f4c
  1. .cirrus.yml
  2. .gitignore
  3. LICENSE
  4. README.md
  5. sysconf.go
  6. sysconf_bsd.go
  7. sysconf_darwin.go
  8. sysconf_dragonfly.go
  9. sysconf_freebsd.go
  10. sysconf_generic.go
  11. sysconf_linux.go
  12. sysconf_netbsd.go
  13. sysconf_openbsd.go
  14. sysconf_posix.go
  15. sysconf_solaris.go
  16. sysconf_unsupported.go
  17. zsysconf_defs_darwin.go
  18. zsysconf_defs_dragonfly.go
  19. zsysconf_defs_freebsd.go
  20. zsysconf_defs_linux.go
  21. zsysconf_defs_netbsd.go
  22. zsysconf_defs_openbsd.go
  23. zsysconf_defs_solaris.go
  24. zsysconf_values_freebsd_386.go
  25. zsysconf_values_freebsd_amd64.go
  26. zsysconf_values_freebsd_arm.go
  27. zsysconf_values_freebsd_arm64.go
  28. zsysconf_values_freebsd_riscv64.go
  29. zsysconf_values_linux_386.go
  30. zsysconf_values_linux_amd64.go
  31. zsysconf_values_linux_arm.go
  32. zsysconf_values_linux_arm64.go
  33. zsysconf_values_linux_loong64.go
  34. zsysconf_values_linux_mips.go
  35. zsysconf_values_linux_mips64.go
  36. zsysconf_values_linux_mips64le.go
  37. zsysconf_values_linux_mipsle.go
  38. zsysconf_values_linux_ppc64.go
  39. zsysconf_values_linux_ppc64le.go
  40. zsysconf_values_linux_riscv64.go
  41. zsysconf_values_linux_s390x.go
  42. zsysconf_values_netbsd_386.go
  43. zsysconf_values_netbsd_amd64.go
  44. zsysconf_values_netbsd_arm.go
  45. zsysconf_values_netbsd_arm64.go
vendor/github.com/tklauser/go-sysconf/README.md

go-sysconf

Go Reference GitHub Action Status

sysconf for Go, without using cgo or external binaries (e.g. getconf).

Supported operating systems: Linux, macOS, DragonflyBSD, FreeBSD, NetBSD, OpenBSD, Solaris/Illumos.

All POSIX.1 and POSIX.2 variables are supported, see References for a complete list.

Additionally, the following non-standard variables are supported on some operating systems:

VariableSupported on
SC_PHYS_PAGESLinux, macOS, FreeBSD, NetBSD, OpenBSD, Solaris/Illumos
SC_AVPHYS_PAGESLinux, OpenBSD, Solaris/Illumos
SC_NPROCESSORS_CONFLinux, macOS, FreeBSD, NetBSD, OpenBSD, Solaris/Illumos
SC_NPROCESSORS_ONLNLinux, macOS, FreeBSD, NetBSD, OpenBSD, Solaris/Illumos
SC_UIO_MAXIOVLinux

Usage

package main

import (
	"fmt"

	"github.com/tklauser/go-sysconf"
)

func main() {
	// get clock ticks, this will return the same as C.sysconf(C._SC_CLK_TCK)
	clktck, err := sysconf.Sysconf(sysconf.SC_CLK_TCK)
	if err == nil {
		fmt.Printf("SC_CLK_TCK: %v\n", clktck)
	}
}

References