1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- //+build freebsd
- package unix
- import "base:intrinsics"
- sysctl :: proc(mib: []i32, val: ^$T) -> (ok: bool) {
- mib := mib
- result_size := u64(size_of(T))
- res: uintptr
- res, ok = intrinsics.syscall_bsd(SYS_sysctl,
- uintptr(raw_data(mib)), uintptr(len(mib)),
- uintptr(val), uintptr(&result_size),
- uintptr(0), uintptr(0),
- )
- return
- }
- // See /usr/include/sys/sysctl.h for details
- CTL_SYSCTL :: 0
- CTL_KERN :: 1
- KERN_OSTYPE :: 1
- KERN_OSRELEASE :: 2
- KERN_OSREV :: 3
- KERN_VERSION :: 4
- KERN_PROC :: 14
- KERN_PROC_PATHNAME :: 12
- CTL_VM :: 2
- CTL_VFS :: 3
- CTL_NET :: 4
- CTL_DEBUG :: 5
- CTL_HW :: 6
- HW_MACHINE :: 1
- HW_MODEL :: 2
- HW_NCPU :: 3
- HW_BYTEORDER :: 4
- HW_PHYSMEM :: 5
- HW_USERMEM :: 6
- HW_PAGESIZE :: 7
- HW_DISKNAMES :: 8
- HW_DISKSTATS :: 9
- HW_FLOATINGPT :: 10
- HW_MACHINE_ARCH :: 11
- HW_REALMEM :: 12
- CTL_MACHDEP :: 7
- CTL_USER :: 8
- CTL_P1003_1B :: 9
|