sysctl.ha (12614B)
1 // SPDX-License-Identifier: MPL-2.0 2 // (c) Hare authors <https://harelang.org> 3 4 // Taken from NetBSD's sys/sysctl.h 5 6 export def CTL_KERN: u32 = 1; // "high kernel": proc, limits 7 export def CTL_VM: u32 = 2; // virtual memory 8 export def CTL_VFS: u32 = 3; // file system, mount type is next 9 export def CTL_NET: u32 = 4; // network, see socket.h 10 export def CTL_DEBUG: u32 = 5; // debugging parameters 11 export def CTL_HW: u32 = 6; // generic CPU/io 12 export def CTL_MACHDEP: u32 = 7; // machine dependent 13 export def CTL_USER: u32 = 8; // user-level 14 export def CTL_DDB: u32 = 9; // in-kernel debugger 15 export def CTL_PROC: u32 = 10; // per-proc attr 16 export def CTL_VENDOR: u32 = 11; // vendor-specific data 17 export def CTL_EMUL: u32 = 12; // emulation-specific data 18 export def CTL_SECURITY: u32 = 13; // security 19 20 export def KERN_OSTYPE: u32 = 1; // string: system version 21 export def KERN_OSRELEASE: u32 = 2; // string: system release 22 export def KERN_OSREV: u32 = 3; // int: system revision 23 export def KERN_VERSION: u32 = 4; // string: compile time info 24 export def KERN_MAXVNODES: u32 = 5; // int: max vnodes 25 export def KERN_MAXPROC: u32 = 6; // int: max processes 26 export def KERN_MAXFILES: u32 = 7; // int: max open files 27 export def KERN_ARGMAX: u32 = 8; // int: max arguments to exec 28 export def KERN_SECURELVL: u32 = 9; // int: system security level 29 export def KERN_HOSTNAME: u32 = 10; // string: hostname 30 export def KERN_HOSTID: u32 = 11; // int: host identifier 31 export def KERN_CLOCKRATE: u32 = 12; // struct: struct clockinfo 32 export def KERN_VNODE: u32 = 13; // struct: vnode structures 33 export def KERN_PROC: u32 = 14; // struct: process entries 34 export def KERN_FILE: u32 = 15; // struct: file entries 35 export def KERN_PROF: u32 = 16; // node: kernel profiling info 36 export def KERN_POSIX1: u32 = 17; // int: POSIX.1 version 37 export def KERN_NGROUPS: u32 = 18; // int: # of supplemental group ids 38 export def KERN_JOB_CONTROL: u32 = 19; // int: is job control available 39 export def KERN_SAVED_IDS: u32 = 20; // int: saved set-user/group-ID 40 export def KERN_OBOOTTIME: u32 = 21; // struct: time kernel was booted 41 export def KERN_DOMAINNAME: u32 = 22; // string: (YP) domainname 42 export def KERN_MAXPARTITIONS: u32 = 23; // int: number of partitions/disk 43 export def KERN_RAWPARTITION: u32 = 24; // int: raw partition number 44 export def KERN_NTPTIME: u32 = 25; // struct: extended-precision time 45 export def KERN_TIMEX: u32 = 26; // struct: ntp timekeeping state 46 export def KERN_AUTONICETIME: u32 = 27; // int: proc time before autonice 47 export def KERN_AUTONICEVAL: u32 = 28; // int: auto nice value 48 export def KERN_RTC_OFFSET: u32 = 29; // int: offset of rtc from gmt 49 export def KERN_ROOT_DEVICE: u32 = 30; // string: root device 50 export def KERN_MSGBUFSIZE: u32 = 31; // int: max # of chars in msg buffer 51 export def KERN_FSYNC: u32 = 32; // int: file synchronization support 52 export def KERN_OLDSYSVMSG: u32 = 33; // old: SysV message queue support 53 export def KERN_OLDSYSVSEM: u32 = 34; // old: SysV semaphore support 54 export def KERN_OLDSYSVSHM: u32 = 35; // old: SysV shared memory support 55 export def KERN_OLDSHORTCORENAME: u32 = 36; // old, unimplemented 56 export def KERN_SYNCHRONIZED_IO: u32 = 37; // int: POSIX synchronized I/O 57 export def KERN_IOV_MAX: u32 = 38; // int: max iovec's for readv(2) etc. 58 export def KERN_MBUF: u32 = 39; // node: mbuf parameters 59 export def KERN_MAPPED_FILES: u32 = 40; // int: POSIX memory mapped files 60 export def KERN_MEMLOCK: u32 = 41; // int: POSIX memory locking 61 export def KERN_MEMLOCK_RANGE: u32 = 42; // int: POSIX memory range locking 62 export def KERN_MEMORY_PROTECTION: u32 = 43; // int: POSIX memory protections 63 export def KERN_LOGIN_NAME_MAX: u32 = 44; // int: max length login name + NUL 64 export def KERN_DEFCORENAME: u32 = 45; // old: sort core name format 65 export def KERN_LOGSIGEXIT: u32 = 46; // int: log signaled processes 66 export def KERN_PROC2: u32 = 47; // struct: process entries 67 export def KERN_PROC_ARGS: u32 = 48; // struct: process argv/env 68 export def KERN_FSCALE: u32 = 49; // int: fixpt FSCALE 69 export def KERN_CCPU: u32 = 50; // old: fixpt ccpu 70 export def KERN_CP_TIME: u32 = 51; // struct: CPU time counters 71 export def KERN_OLDSYSVIPC_INFO: u32 = 52; // old: number of valid kern ids 72 export def KERN_MSGBUF: u32 = 53; // kernel message buffer 73 export def KERN_CONSDEV: u32 = 54; // dev_t: console terminal device 74 export def KERN_MAXPTYS: u32 = 55; // int: maximum number of ptys 75 export def KERN_PIPE: u32 = 56; // node: pipe limits 76 export def KERN_MAXPHYS: u32 = 57; // int: kernel value of MAXPHYS 77 export def KERN_SBMAX: u32 = 58; // int: max socket buffer size 78 export def KERN_TKSTAT: u32 = 59; // tty in/out counters 79 export def KERN_MONOTONIC_CLOCK: u32 = 60; // int: POSIX monotonic clock 80 export def KERN_URND: u32 = 61; // int: random integer from urandom 81 export def KERN_LABELSECTOR: u32 = 62; // int: disklabel sector 82 export def KERN_LABELOFFSET: u32 = 63; // int: offset of label within sector 83 export def KERN_LWP: u32 = 64; // struct: lwp entries 84 export def KERN_FORKFSLEEP: u32 = 65; // int: sleep length on failed fork 85 export def KERN_POSIX_THREADS: u32 = 66; // int: POSIX Threads option 86 export def KERN_POSIX_SEMAPHORES: u32 = 67; // int: POSIX Semaphores option 87 export def KERN_POSIX_BARRIERS: u32 = 68; // int: POSIX Barriers option 88 export def KERN_POSIX_TIMERS: u32 = 69; // int: POSIX Timers option 89 export def KERN_POSIX_SPIN_LOCKS: u32 = 70; // int: POSIX Spin Locks option 90 export def KERN_POSIX_READER_WRITER_LOCKS: u32 = 71; // int: POSIX R/W Locks option 91 export def KERN_DUMP_ON_PANIC: u32 = 72; // int: dump on panic 92 export def KERN_SOMAXKVA: u32 = 73; // int: max socket kernel virtual mem 93 export def KERN_ROOT_PARTITION: u32 = 74; // int: root partition 94 export def KERN_DRIVERS: u32 = 75; // struct: driver names and majors #s 95 export def KERN_BUF: u32 = 76; // struct: buffers 96 export def KERN_FILE2: u32 = 77; // struct: file entries 97 export def KERN_VERIEXEC: u32 = 78; // node: verified exec 98 export def KERN_CP_ID: u32 = 79; // struct: cpu id numbers 99 export def KERN_HARDCLOCK_TICKS: u32 = 80; // int: number of hardclock ticks 100 export def KERN_ARND: u32 = 81; // void *buf, size_t siz random 101 export def KERN_SYSVIPC: u32 = 82; // node: SysV IPC parameters 102 export def KERN_BOOTTIME: u32 = 83; // struct: time kernel was booted 103 export def KERN_EVCNT: u32 = 84; // struct: evcnts 104 export def KERN_SOFIXEDBUF: u32 = 85; // bool: fixed socket buffer sizes 105 export def KERN_PROC_ALL: u32 = 0; // everything 106 export def KERN_PROC_PID: u32 = 1; // by process id 107 export def KERN_PROC_PGRP: u32 = 2; // by process group id 108 export def KERN_PROC_SESSION: u32 = 3; // by session of pid 109 export def KERN_PROC_TTY: u32 = 4; // by controlling tty 110 export def KERN_PROC_UID: u32 = 5; // by effective uid 111 export def KERN_PROC_RUID: u32 = 6; // by real uid 112 export def KERN_PROC_GID: u32 = 7; // by effective gid 113 export def KERN_PROC_RGID: u32 = 8; // by real gid 114 export def KERN_PROC_TTY_NODEV: u32 = NODEV: u32; // no controlling tty 115 export def KERN_PROC_TTY_REVOKE: u32 = -2; // revoked tty 116 export def KERN_PROC_ARGV: u32 = 1; // argv 117 export def KERN_PROC_NARGV: u32 = 2; // number of strings in above 118 export def KERN_PROC_ENV: u32 = 3; // environ 119 export def KERN_PROC_NENV: u32 = 4; // number of strings in above 120 export def KERN_PROC_PATHNAME: u32 = 5; // path to executable 121 export def KERN_PROC_CWD: u32 = 6; // current working dir 122 export def KERN_SYSVIPC_INFO: u32 = 1; // struct: number of valid kern ids 123 export def KERN_SYSVIPC_MSG: u32 = 2; // int: SysV message queue support 124 export def KERN_SYSVIPC_SEM: u32 = 3; // int: SysV semaphore support 125 export def KERN_SYSVIPC_SHM: u32 = 4; // int: SysV shared memory support 126 export def KERN_SYSVIPC_SHMMAX: u32 = 5; // int: max shared memory segment size (bytes) 127 export def KERN_SYSVIPC_SHMMNI: u32 = 6; // int: max number of shared memory identifiers 128 export def KERN_SYSVIPC_SHMSEG: u32 = 7; // int: max shared memory segments per process 129 export def KERN_SYSVIPC_SHMMAXPGS: u32 = 8; // int: max amount of shared memory (pages) 130 export def KERN_SYSVIPC_SHMUSEPHYS: u32 = 9; // int: physical memory usage 131 export def KERN_SYSVIPC_MSG_INFO: u32 = 4; // msginfo and msgid_ds 132 export def KERN_SYSVIPC_SEM_INFO: u32 = 5; // seminfo and semid_ds 133 export def KERN_SYSVIPC_SHM_INFO: u32 = 6; // shminfo and shmid_ds 134 export def KERN_TKSTAT_NIN: u32 = 1; // total input character 135 export def KERN_TKSTAT_NOUT: u32 = 2; // total output character 136 export def KERN_TKSTAT_CANCC: u32 = 3; // canonical input character 137 export def KERN_TKSTAT_RAWCC: u32 = 4; // raw input character 138 export def KERN_BUF_ALL: u32 = 0; // all buffers 139 export def KERN_BUFSLOP: u32 = 20; 140 export def KERN_FILE_BYFILE: u32 = 1; 141 export def KERN_FILE_BYPID: u32 = 2; 142 export def KERN_FILESLOP: u32 = 10; 143 export def KERN_EVCNT_COUNT_ANY: u32 = 0; 144 export def KERN_EVCNT_COUNT_NONZERO: u32 = 1; 145 146 export def HW_MACHINE: u32 = 1; // string: machine class 147 export def HW_MODEL: u32 = 2; // string: specific machine model 148 export def HW_NCPU: u32 = 3; // int: number of cpus 149 export def HW_BYTEORDER: u32 = 4; // int: machine byte order 150 export def HW_PHYSMEM: u32 = 5; // int: total memory (bytes) 151 export def HW_USERMEM: u32 = 6; // int: non-kernel memory (bytes) 152 export def HW_PAGESIZE: u32 = 7; // int: software page size 153 export def HW_DISKNAMES: u32 = 8; // string: disk drive names 154 export def HW_IOSTATS: u32 = 9; // struct: iostats[] 155 export def HW_MACHINE_ARCH: u32 = 10; // string: machine architecture 156 export def HW_ALIGNBYTES: u32 = 11; // int: ALIGNBYTES for the kernel 157 export def HW_CNMAGIC: u32 = 12; // string: console magic sequence(s) 158 export def HW_PHYSMEM64: u32 = 13; // quad: total memory (bytes) 159 export def HW_USERMEM64: u32 = 14; // quad: non-kernel memory (bytes) 160 export def HW_IOSTATNAMES: u32 = 15; // string: iostat names 161 export def HW_NCPUONLINE: u32 = 16; // number CPUs online 162 163 export def USER_CS_PATH: u32 = 1; // string: _CS_PATH 164 export def USER_BC_BASE_MAX: u32 = 2; // int: BC_BASE_MAX 165 export def USER_BC_DIM_MAX: u32 = 3; // int: BC_DIM_MAX 166 export def USER_BC_SCALE_MAX: u32 = 4; // int: BC_SCALE_MAX 167 export def USER_BC_STRING_MAX: u32 = 5; // int: BC_STRING_MAX 168 export def USER_COLL_WEIGHTS_MAX: u32 = 6; // int: COLL_WEIGHTS_MAX 169 export def USER_EXPR_NEST_MAX: u32 = 7; // int: EXPR_NEST_MAX 170 export def USER_LINE_MAX: u32 = 8; // int: LINE_MAX 171 export def USER_RE_DUP_MAX: u32 = 9; // int: RE_DUP_MAX 172 export def USER_POSIX2_VERSION: u32 = 10; // int: POSIX2_VERSION 173 export def USER_POSIX2_C_BIND: u32 = 11; // int: POSIX2_C_BIND 174 export def USER_POSIX2_C_DEV: u32 = 12; // int: POSIX2_C_DEV 175 export def USER_POSIX2_CHAR_TERM: u32 = 13; // int: POSIX2_CHAR_TERM 176 export def USER_POSIX2_FORT_DEV: u32 = 14; // int: POSIX2_FORT_DEV 177 export def USER_POSIX2_FORT_RUN: u32 = 15; // int: POSIX2_FORT_RUN 178 export def USER_POSIX2_LOCALEDEF: u32 = 16; // int: POSIX2_LOCALEDEF 179 export def USER_POSIX2_SW_DEV: u32 = 17; // int: POSIX2_SW_DEV 180 export def USER_POSIX2_UPE: u32 = 18; // int: POSIX2_UPE 181 export def USER_STREAM_MAX: u32 = 19; // int: POSIX2_STREAM_MAX 182 export def USER_TZNAME_MAX: u32 = 20; // int: _POSIX_TZNAME_MAX 183 export def USER_ATEXIT_MAX: u32 = 21; // int: {ATEXIT_MAX} 184 185 export def PROC_CURPROC: u32 = ~(1 << 31); 186 export def PROC_PID_CORENAME: u32 = 1; 187 export def PROC_PID_LIMIT: u32 = 2; 188 export def PROC_PID_STOPFORK: u32 = 3; 189 export def PROC_PID_STOPEXEC: u32 = 4; 190 export def PROC_PID_STOPEXIT: u32 = 5; 191 export def PROC_PID_PAXFLAGS: u32 = 6; 192 export def PROC_PID_LIMIT_CPU: u32 = (RLIMIT_CPU+1): u32; 193 export def PROC_PID_LIMIT_FSIZE: u32 = (RLIMIT_FSIZE+1): u32; 194 export def PROC_PID_LIMIT_DATA: u32 = (RLIMIT_DATA+1): u32; 195 export def PROC_PID_LIMIT_STACK: u32 = (RLIMIT_STACK+1): u32; 196 export def PROC_PID_LIMIT_CORE: u32 = (RLIMIT_CORE+1): u32; 197 export def PROC_PID_LIMIT_RSS: u32 = (RLIMIT_RSS+1): u32; 198 export def PROC_PID_LIMIT_MEMLOCK: u32 = (RLIMIT_MEMLOCK+1): u32; 199 export def PROC_PID_LIMIT_NPROC: u32 = (RLIMIT_NPROC+1): u32; 200 export def PROC_PID_LIMIT_NOFILE: u32 = (RLIMIT_NOFILE+1): u32; 201 export def PROC_PID_LIMIT_SBSIZE: u32 = (RLIMIT_SBSIZE+1): u32; 202 export def PROC_PID_LIMIT_AS: u32 = (RLIMIT_AS+1): u32; 203 export def PROC_PID_LIMIT_NTHR: u32 = (RLIMIT_NTHR+1): u32; 204 export def PROC_PID_LIMIT_TYPE_SOFT: u32 = 1; 205 export def PROC_PID_LIMIT_TYPE_HARD: u32 = 2; 206 207 export def EMUL_LINUX: u32 = 1; 208 export def EMUL_LINUX32: u32 = 5;