• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.github/workflows/H16-Mar-2021-10080

cgotest/H16-Mar-2021-1,179972

.cirrus.ymlH A D16-Mar-2021308 1311

.gitignoreH A D16-Mar-20216 21

LICENSEH A D16-Mar-20211.5 KiB3023

README.mdH A D16-Mar-20211.8 KiB4834

example_test.goH A D16-Mar-2021572 2817

go.modH A D16-Mar-2021149 96

go.sumH A D16-Mar-2021380 54

mksysconf.goH A D16-Mar-20211.3 KiB6450

sysconf.goH A D16-Mar-2021736 226

sysconf_bsd.goH A D16-Mar-2021787 3926

sysconf_darwin.goH A D16-Mar-20217 KiB268250

sysconf_defs_darwin.goH A D16-Mar-202111.8 KiB280230

sysconf_defs_dragonfly.goH A D16-Mar-202110.6 KiB253207

sysconf_defs_freebsd.goH A D16-Mar-202110.6 KiB254208

sysconf_defs_linux.goH A D16-Mar-20217.3 KiB175135

sysconf_defs_netbsd.goH A D16-Mar-20213.9 KiB11881

sysconf_defs_openbsd.goH A D16-Mar-202112.1 KiB292236

sysconf_defs_solaris.goH A D16-Mar-20216.5 KiB151128

sysconf_dragonfly.goH A D16-Mar-20216.1 KiB221195

sysconf_freebsd.goH A D16-Mar-20216.1 KiB227201

sysconf_generic.goH A D16-Mar-20211.1 KiB4734

sysconf_linux.goH A D16-Mar-20218.3 KiB358315

sysconf_linux_test.goH A D16-Mar-2021823 3422

sysconf_netbsd.goH A D16-Mar-20213.7 KiB155112

sysconf_openbsd.goH A D16-Mar-20216.9 KiB272257

sysconf_posix.goH A D16-Mar-20212.2 KiB8474

sysconf_solaris.goH A D16-Mar-2021320 158

sysconf_test.goH A D16-Mar-20212.1 KiB8866

sysconf_unsupported.goH A D16-Mar-2021469 188

sysconf_values_freebsd.goH A D16-Mar-2021309 196

sysconf_values_linux.goH A D16-Mar-20216.3 KiB170101

zsysconf_defs_darwin.goH A D16-Mar-20218.1 KiB252229

zsysconf_defs_dragonfly.goH A D16-Mar-20217.2 KiB226206

zsysconf_defs_freebsd.goH A D16-Mar-20217.3 KiB227207

zsysconf_defs_linux.goH A D16-Mar-20214.7 KiB145134

zsysconf_defs_netbsd.goH A D16-Mar-20212.6 KiB9580

zsysconf_defs_openbsd.goH A D16-Mar-20218.2 KiB261235

zsysconf_defs_solaris.goH A D16-Mar-20214.6 KiB137127

zsysconf_values_freebsd_386.goH A D16-Mar-2021164 105

zsysconf_values_freebsd_amd64.goH A D16-Mar-2021172 105

zsysconf_values_freebsd_arm.goH A D16-Mar-2021164 105

zsysconf_values_freebsd_arm64.goH A D16-Mar-2021172 105

zsysconf_values_linux_386.goH A D16-Mar-20213.7 KiB112100

zsysconf_values_linux_amd64.goH A D16-Mar-20213.7 KiB112100

zsysconf_values_linux_arm.goH A D16-Mar-20213.7 KiB112100

zsysconf_values_linux_arm64.goH A D16-Mar-20213.7 KiB112100

zsysconf_values_linux_mips.goH A D16-Mar-20213.7 KiB112100

zsysconf_values_linux_mips64.goH A D16-Mar-20213.7 KiB112100

zsysconf_values_linux_mips64le.goH A D16-Mar-20213.7 KiB112100

zsysconf_values_linux_mipsle.goH A D16-Mar-20213.7 KiB112100

zsysconf_values_linux_ppc64.goH A D16-Mar-20213.7 KiB112100

zsysconf_values_linux_ppc64le.goH A D16-Mar-20213.7 KiB112100

zsysconf_values_linux_riscv64.goH A D16-Mar-20213.7 KiB112100

zsysconf_values_linux_s390x.goH A D16-Mar-20213.7 KiB112100

README.md

1# go-sysconf
2
3[![Go Reference](https://pkg.go.dev/badge/github.com/tklauser/go-sysconf.svg)](https://pkg.go.dev/github.com/tklauser/go-sysconf)
4[![GitHub Action Status](https://github.com/tklauser/go-sysconf/workflows/Tests/badge.svg)](https://github.com/tklauser/go-sysconf/actions?query=workflow%3ATests)
5[![Go Report Card](https://goreportcard.com/badge/github.com/tklauser/go-sysconf)](https://goreportcard.com/report/github.com/tklauser/go-sysconf)
6
7`sysconf` for Go, without using cgo or external binaries (e.g. getconf).
8
9Supported operating systems: Linux, Darwin, DragonflyBSD, FreeBSD, NetBSD, OpenBSD, Solaris.
10
11All POSIX.1 and POSIX.2 variables are supported, see [References](#references) for a complete list.
12
13Additionally, the following non-standard variables are supported on some operating systems:
14
15| Variable | Supported on |
16|---|---|
17| `SC_PHYS_PAGES`       | Linux, Darwin, FreeBSD, NetBSD, OpenBSD, Solaris |
18| `SC_AVPHYS_PAGES`     | Linux, OpenBSD, Solaris |
19| `SC_NPROCESSORS_CONF` | Linux, Darwin, FreeBSD, NetBSD, OpenBSD, Solaris |
20| `SC_NPROCESSORS_ONLN` | Linux, Darwin, FreeBSD, NetBSD, OpenBSD, Solaris |
21| `SC_UIO_MAXIOV`       | Linux |
22
23## Usage
24
25```Go
26package main
27
28import (
29	"fmt"
30
31	"github.com/tklauser/go-sysconf"
32)
33
34func main() {
35	// get clock ticks, this will return the same as C.sysconf(C._SC_CLK_TCK)
36	clktck, err := sysconf.Sysconf(sysconf.SC_CLK_TCK)
37	if err == nil {
38		fmt.Printf("SC_CLK_TCK: %v\n", clktck)
39	}
40}
41```
42
43## References
44
45* [POSIX documenation for `sysconf`](http://pubs.opengroup.org/onlinepubs/9699919799/functions/sysconf.html)
46* [Linux manpage for `sysconf(3)`](http://man7.org/linux/man-pages/man3/sysconf.3.html)
47* [glibc constants for `sysconf` parameters](https://www.gnu.org/software/libc/manual/html_node/Constants-for-Sysconf.html)
48