1df6ad731Slogwang /* 2*2317ada5Sfengbojiang * Copyright (C) 2017-2021 THL A29 Limited, a Tencent company. 3df6ad731Slogwang * All rights reserved. 4df6ad731Slogwang * 5df6ad731Slogwang * Redistribution and use in source and binary forms, with or without 6df6ad731Slogwang * modification, are permitted provided that the following conditions are met: 7df6ad731Slogwang * 8df6ad731Slogwang * 1. Redistributions of source code must retain the above copyright notice, this 9df6ad731Slogwang * list of conditions and the following disclaimer. 10df6ad731Slogwang * 2. Redistributions in binary form must reproduce the above copyright notice, 11df6ad731Slogwang * this list of conditions and the following disclaimer in the documentation 12df6ad731Slogwang * and/or other materials provided with the distribution. 13df6ad731Slogwang * 14df6ad731Slogwang * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 15df6ad731Slogwang * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 16df6ad731Slogwang * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 17df6ad731Slogwang * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 18df6ad731Slogwang * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 19df6ad731Slogwang * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 20df6ad731Slogwang * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 21df6ad731Slogwang * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22df6ad731Slogwang * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 23df6ad731Slogwang * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24df6ad731Slogwang * 25df6ad731Slogwang * 26df6ad731Slogwang * Copied from FreeBSD's header files. 27df6ad731Slogwang */ 28df6ad731Slogwang 29df6ad731Slogwang #ifndef _COMPAT_SYS_SYSCTL_H 30df6ad731Slogwang #define _COMPAT_SYS_SYSCTL_H 31df6ad731Slogwang 321eaf0ac3Slogwang #include <sys/queue.h> 33df6ad731Slogwang #include <sys/types.h> 34df6ad731Slogwang #include <inttypes.h> 35df6ad731Slogwang 36df6ad731Slogwang /* 37df6ad731Slogwang * Definitions for sysctl call. The sysctl call uses a hierarchical name 38df6ad731Slogwang * for objects that can be examined or modified. The name is expressed as 39df6ad731Slogwang * a sequence of integers. Like a file path name, the meaning of each 40df6ad731Slogwang * component depends on its place in the hierarchy. The top-level and kern 41df6ad731Slogwang * identifiers are defined here, and other identifiers are defined in the 42df6ad731Slogwang * respective subsystem header files. 43df6ad731Slogwang */ 44df6ad731Slogwang 45df6ad731Slogwang #define CTL_MAXNAME 24 /* largest number of components supported */ 46df6ad731Slogwang 47df6ad731Slogwang /* 48df6ad731Slogwang * Each subsystem defined by sysctl defines a list of variables 49df6ad731Slogwang * for that subsystem. Each name is either a node with further 50df6ad731Slogwang * levels defined below it, or it is a leaf of some particular 51df6ad731Slogwang * type given below. Each sysctl level defines a set of name/type 52df6ad731Slogwang * pairs to be used by sysctl(8) in manipulating the subsystem. 53df6ad731Slogwang */ 54df6ad731Slogwang struct ctlname { 55df6ad731Slogwang char *ctl_name; /* subsystem name */ 56df6ad731Slogwang int ctl_type; /* type of name */ 57df6ad731Slogwang }; 58df6ad731Slogwang 59df6ad731Slogwang #define CTLTYPE 0xf /* mask for the type */ 60df6ad731Slogwang #define CTLTYPE_NODE 1 /* name is a node */ 61df6ad731Slogwang #define CTLTYPE_INT 2 /* name describes an integer */ 62df6ad731Slogwang #define CTLTYPE_STRING 3 /* name describes a string */ 63df6ad731Slogwang #define CTLTYPE_S64 4 /* name describes a signed 64-bit number */ 64df6ad731Slogwang #define CTLTYPE_OPAQUE 5 /* name describes a structure */ 65df6ad731Slogwang #define CTLTYPE_STRUCT CTLTYPE_OPAQUE /* name describes a structure */ 66df6ad731Slogwang #define CTLTYPE_UINT 6 /* name describes an unsigned integer */ 67df6ad731Slogwang #define CTLTYPE_LONG 7 /* name describes a long */ 68df6ad731Slogwang #define CTLTYPE_ULONG 8 /* name describes an unsigned long */ 69df6ad731Slogwang #define CTLTYPE_U64 9 /* name describes an unsigned 64-bit number */ 70df6ad731Slogwang #define CTLTYPE_U8 0xa /* name describes an unsigned 8-bit number */ 71df6ad731Slogwang #define CTLTYPE_U16 0xb /* name describes an unsigned 16-bit number */ 72df6ad731Slogwang #define CTLTYPE_S8 0xc /* name describes a signed 8-bit number */ 73df6ad731Slogwang #define CTLTYPE_S16 0xd /* name describes a signed 16-bit number */ 74df6ad731Slogwang #define CTLTYPE_S32 0xe /* name describes a signed 32-bit number */ 75df6ad731Slogwang #define CTLTYPE_U32 0xf /* name describes an unsigned 32-bit number */ 76df6ad731Slogwang 77df6ad731Slogwang #define CTLFLAG_RD 0x80000000 /* Allow reads of variable */ 78df6ad731Slogwang #define CTLFLAG_WR 0x40000000 /* Allow writes to the variable */ 79df6ad731Slogwang #define CTLFLAG_RW (CTLFLAG_RD|CTLFLAG_WR) 80df6ad731Slogwang #define CTLFLAG_ANYBODY 0x10000000 /* All users can set this var */ 81df6ad731Slogwang #define CTLFLAG_SECURE 0x08000000 /* Permit set only if securelevel<=0 */ 82df6ad731Slogwang #define CTLFLAG_PRISON 0x04000000 /* Prisoned roots can fiddle */ 83df6ad731Slogwang #define CTLFLAG_DYN 0x02000000 /* Dynamic oid - can be freed */ 84df6ad731Slogwang #define CTLFLAG_SKIP 0x01000000 /* Skip this sysctl when listing */ 85df6ad731Slogwang #define CTLMASK_SECURE 0x00F00000 /* Secure level */ 86df6ad731Slogwang #define CTLFLAG_TUN 0x00080000 /* Default value is loaded from getenv() */ 87df6ad731Slogwang #define CTLFLAG_RDTUN (CTLFLAG_RD|CTLFLAG_TUN) 88df6ad731Slogwang #define CTLFLAG_RWTUN (CTLFLAG_RW|CTLFLAG_TUN) 89df6ad731Slogwang #define CTLFLAG_MPSAFE 0x00040000 /* Handler is MP safe */ 90df6ad731Slogwang #define CTLFLAG_VNET 0x00020000 /* Prisons with vnet can fiddle */ 91df6ad731Slogwang #define CTLFLAG_DYING 0x00010000 /* Oid is being removed */ 92df6ad731Slogwang #define CTLFLAG_CAPRD 0x00008000 /* Can be read in capability mode */ 93df6ad731Slogwang #define CTLFLAG_CAPWR 0x00004000 /* Can be written in capability mode */ 94df6ad731Slogwang #define CTLFLAG_STATS 0x00002000 /* Statistics, not a tuneable */ 95df6ad731Slogwang #define CTLFLAG_NOFETCH 0x00001000 /* Don't fetch tunable from getenv() */ 96df6ad731Slogwang #define CTLFLAG_CAPRW (CTLFLAG_CAPRD|CTLFLAG_CAPWR) 97df6ad731Slogwang 98df6ad731Slogwang /* 99df6ad731Slogwang * Secure level. Note that CTLFLAG_SECURE == CTLFLAG_SECURE1. 100df6ad731Slogwang * 101df6ad731Slogwang * Secure when the securelevel is raised to at least N. 102df6ad731Slogwang */ 103df6ad731Slogwang #define CTLSHIFT_SECURE 20 104df6ad731Slogwang #define CTLFLAG_SECURE1 (CTLFLAG_SECURE | (0 << CTLSHIFT_SECURE)) 105df6ad731Slogwang #define CTLFLAG_SECURE2 (CTLFLAG_SECURE | (1 << CTLSHIFT_SECURE)) 106df6ad731Slogwang #define CTLFLAG_SECURE3 (CTLFLAG_SECURE | (2 << CTLSHIFT_SECURE)) 107df6ad731Slogwang 108df6ad731Slogwang /* 109df6ad731Slogwang * USE THIS instead of a hardwired number from the categories below 110df6ad731Slogwang * to get dynamically assigned sysctl entries using the linker-set 111df6ad731Slogwang * technology. This is the way nearly all new sysctl variables should 112df6ad731Slogwang * be implemented. 113df6ad731Slogwang * e.g. SYSCTL_INT(_parent, OID_AUTO, name, CTLFLAG_RW, &variable, 0, ""); 114df6ad731Slogwang */ 115df6ad731Slogwang #define OID_AUTO (-1) 116df6ad731Slogwang 117df6ad731Slogwang /* 118df6ad731Slogwang * The starting number for dynamically-assigned entries. WARNING! 119df6ad731Slogwang * ALL static sysctl entries should have numbers LESS than this! 120df6ad731Slogwang */ 121df6ad731Slogwang #define CTL_AUTO_START 0x100 122df6ad731Slogwang 123df6ad731Slogwang /* 124df6ad731Slogwang * Top-level identifiers 125df6ad731Slogwang */ 126df6ad731Slogwang #define CTL_UNSPEC 0 /* unused */ 127df6ad731Slogwang #define CTL_KERN 1 /* "high kernel": proc, limits */ 128df6ad731Slogwang #define CTL_VM 2 /* virtual memory */ 129df6ad731Slogwang #define CTL_VFS 3 /* filesystem, mount type is next */ 130df6ad731Slogwang #define CTL_NET 4 /* network, see socket.h */ 131df6ad731Slogwang #define CTL_DEBUG 5 /* debugging parameters */ 132df6ad731Slogwang #define CTL_HW 6 /* generic cpu/io */ 133df6ad731Slogwang #define CTL_MACHDEP 7 /* machine dependent */ 134df6ad731Slogwang #define CTL_USER 8 /* user-level */ 135df6ad731Slogwang #define CTL_P1003_1B 9 /* POSIX 1003.1B */ 136df6ad731Slogwang 137df6ad731Slogwang /* 138df6ad731Slogwang * CTL_KERN identifiers 139df6ad731Slogwang */ 140df6ad731Slogwang #define KERN_OSTYPE 1 /* string: system version */ 141df6ad731Slogwang #define KERN_OSRELEASE 2 /* string: system release */ 142df6ad731Slogwang #define KERN_OSREV 3 /* int: system revision */ 143df6ad731Slogwang #define KERN_VERSION 4 /* string: compile time info */ 144df6ad731Slogwang #define KERN_MAXVNODES 5 /* int: max vnodes */ 145df6ad731Slogwang #define KERN_MAXPROC 6 /* int: max processes */ 146df6ad731Slogwang #define KERN_MAXFILES 7 /* int: max open files */ 147df6ad731Slogwang #define KERN_ARGMAX 8 /* int: max arguments to exec */ 148df6ad731Slogwang #define KERN_SECURELVL 9 /* int: system security level */ 149df6ad731Slogwang #define KERN_HOSTNAME 10 /* string: hostname */ 150df6ad731Slogwang #define KERN_HOSTID 11 /* int: host identifier */ 151df6ad731Slogwang #define KERN_CLOCKRATE 12 /* struct: struct clockrate */ 152df6ad731Slogwang #define KERN_VNODE 13 /* struct: vnode structures */ 153df6ad731Slogwang #define KERN_PROC 14 /* struct: process entries */ 154df6ad731Slogwang #define KERN_FILE 15 /* struct: file entries */ 155df6ad731Slogwang #define KERN_PROF 16 /* node: kernel profiling info */ 156df6ad731Slogwang #define KERN_POSIX1 17 /* int: POSIX.1 version */ 157df6ad731Slogwang #define KERN_NGROUPS 18 /* int: # of supplemental group ids */ 158df6ad731Slogwang #define KERN_JOB_CONTROL 19 /* int: is job control available */ 159df6ad731Slogwang #define KERN_SAVED_IDS 20 /* int: saved set-user/group-ID */ 160df6ad731Slogwang #define KERN_BOOTTIME 21 /* struct: time kernel was booted */ 161df6ad731Slogwang #define KERN_NISDOMAINNAME 22 /* string: YP domain name */ 162df6ad731Slogwang #define KERN_UPDATEINTERVAL 23 /* int: update process sleep time */ 163df6ad731Slogwang #define KERN_OSRELDATE 24 /* int: kernel release date */ 164df6ad731Slogwang #define KERN_NTP_PLL 25 /* node: NTP PLL control */ 165df6ad731Slogwang #define KERN_BOOTFILE 26 /* string: name of booted kernel */ 166df6ad731Slogwang #define KERN_MAXFILESPERPROC 27 /* int: max open files per proc */ 167df6ad731Slogwang #define KERN_MAXPROCPERUID 28 /* int: max processes per uid */ 168df6ad731Slogwang #define KERN_DUMPDEV 29 /* struct cdev *: device to dump on */ 169df6ad731Slogwang #define KERN_IPC 30 /* node: anything related to IPC */ 170df6ad731Slogwang #define KERN_DUMMY 31 /* unused */ 171df6ad731Slogwang #define KERN_PS_STRINGS 32 /* int: address of PS_STRINGS */ 172df6ad731Slogwang #define KERN_USRSTACK 33 /* int: address of USRSTACK */ 173df6ad731Slogwang #define KERN_LOGSIGEXIT 34 /* int: do we log sigexit procs? */ 174df6ad731Slogwang #define KERN_IOV_MAX 35 /* int: value of UIO_MAXIOV */ 175df6ad731Slogwang #define KERN_HOSTUUID 36 /* string: host UUID identifier */ 176df6ad731Slogwang #define KERN_ARND 37 /* int: from arc4rand() */ 177df6ad731Slogwang /* 178df6ad731Slogwang * KERN_PROC subtypes 179df6ad731Slogwang */ 180df6ad731Slogwang #define KERN_PROC_ALL 0 /* everything */ 181df6ad731Slogwang #define KERN_PROC_PID 1 /* by process id */ 182df6ad731Slogwang #define KERN_PROC_PGRP 2 /* by process group id */ 183df6ad731Slogwang #define KERN_PROC_SESSION 3 /* by session of pid */ 184df6ad731Slogwang #define KERN_PROC_TTY 4 /* by controlling tty */ 185df6ad731Slogwang #define KERN_PROC_UID 5 /* by effective uid */ 186df6ad731Slogwang #define KERN_PROC_RUID 6 /* by real uid */ 187df6ad731Slogwang #define KERN_PROC_ARGS 7 /* get/set arguments/proctitle */ 188df6ad731Slogwang #define KERN_PROC_PROC 8 /* only return procs */ 189df6ad731Slogwang #define KERN_PROC_SV_NAME 9 /* get syscall vector name */ 190df6ad731Slogwang #define KERN_PROC_RGID 10 /* by real group id */ 191df6ad731Slogwang #define KERN_PROC_GID 11 /* by effective group id */ 192df6ad731Slogwang #define KERN_PROC_PATHNAME 12 /* path to executable */ 193df6ad731Slogwang #define KERN_PROC_OVMMAP 13 /* Old VM map entries for process */ 194df6ad731Slogwang #define KERN_PROC_OFILEDESC 14 /* Old file descriptors for process */ 195df6ad731Slogwang #define KERN_PROC_KSTACK 15 /* Kernel stacks for process */ 196df6ad731Slogwang #define KERN_PROC_INC_THREAD 0x10 /* 197df6ad731Slogwang * modifier for pid, pgrp, tty, 198df6ad731Slogwang * uid, ruid, gid, rgid and proc 199df6ad731Slogwang * This effectively uses 16-31 200df6ad731Slogwang */ 201df6ad731Slogwang #define KERN_PROC_VMMAP 32 /* VM map entries for process */ 202df6ad731Slogwang #define KERN_PROC_FILEDESC 33 /* File descriptors for process */ 203df6ad731Slogwang #define KERN_PROC_GROUPS 34 /* process groups */ 204df6ad731Slogwang #define KERN_PROC_ENV 35 /* get environment */ 205df6ad731Slogwang #define KERN_PROC_AUXV 36 /* get ELF auxiliary vector */ 206df6ad731Slogwang #define KERN_PROC_RLIMIT 37 /* process resource limits */ 207df6ad731Slogwang #define KERN_PROC_PS_STRINGS 38 /* get ps_strings location */ 208df6ad731Slogwang #define KERN_PROC_UMASK 39 /* process umask */ 209df6ad731Slogwang #define KERN_PROC_OSREL 40 /* osreldate for process binary */ 210df6ad731Slogwang #define KERN_PROC_SIGTRAMP 41 /* signal trampoline location */ 211df6ad731Slogwang #define KERN_PROC_CWD 42 /* process current working directory */ 212df6ad731Slogwang #define KERN_PROC_NFDS 43 /* number of open file descriptors */ 213df6ad731Slogwang 214df6ad731Slogwang /* 215df6ad731Slogwang * KERN_IPC identifiers 216df6ad731Slogwang */ 217df6ad731Slogwang #define KIPC_MAXSOCKBUF 1 /* int: max size of a socket buffer */ 218df6ad731Slogwang #define KIPC_SOCKBUF_WASTE 2 /* int: wastage factor in sockbuf */ 219df6ad731Slogwang #define KIPC_SOMAXCONN 3 /* int: max length of connection q */ 220df6ad731Slogwang #define KIPC_MAX_LINKHDR 4 /* int: max length of link header */ 221df6ad731Slogwang #define KIPC_MAX_PROTOHDR 5 /* int: max length of network header */ 222df6ad731Slogwang #define KIPC_MAX_HDR 6 /* int: max total length of headers */ 223df6ad731Slogwang #define KIPC_MAX_DATALEN 7 /* int: max length of data? */ 224df6ad731Slogwang 225df6ad731Slogwang /* 226df6ad731Slogwang * CTL_HW identifiers 227df6ad731Slogwang */ 228df6ad731Slogwang #define HW_MACHINE 1 /* string: machine class */ 229df6ad731Slogwang #define HW_MODEL 2 /* string: specific machine model */ 230df6ad731Slogwang #define HW_NCPU 3 /* int: number of cpus */ 231df6ad731Slogwang #define HW_BYTEORDER 4 /* int: machine byte order */ 232df6ad731Slogwang #define HW_PHYSMEM 5 /* int: total memory */ 233df6ad731Slogwang #define HW_USERMEM 6 /* int: non-kernel memory */ 234df6ad731Slogwang #define HW_PAGESIZE 7 /* int: software page size */ 235df6ad731Slogwang #define HW_DISKNAMES 8 /* strings: disk drive names */ 236df6ad731Slogwang #define HW_DISKSTATS 9 /* struct: diskstats[] */ 237df6ad731Slogwang #define HW_FLOATINGPT 10 /* int: has HW floating point? */ 238df6ad731Slogwang #define HW_MACHINE_ARCH 11 /* string: machine architecture */ 239df6ad731Slogwang #define HW_REALMEM 12 /* int: 'real' memory */ 240df6ad731Slogwang 241df6ad731Slogwang /* 242df6ad731Slogwang * CTL_USER definitions 243df6ad731Slogwang */ 244df6ad731Slogwang #define USER_CS_PATH 1 /* string: _CS_PATH */ 245df6ad731Slogwang #define USER_BC_BASE_MAX 2 /* int: BC_BASE_MAX */ 246df6ad731Slogwang #define USER_BC_DIM_MAX 3 /* int: BC_DIM_MAX */ 247df6ad731Slogwang #define USER_BC_SCALE_MAX 4 /* int: BC_SCALE_MAX */ 248df6ad731Slogwang #define USER_BC_STRING_MAX 5 /* int: BC_STRING_MAX */ 249df6ad731Slogwang #define USER_COLL_WEIGHTS_MAX 6 /* int: COLL_WEIGHTS_MAX */ 250df6ad731Slogwang #define USER_EXPR_NEST_MAX 7 /* int: EXPR_NEST_MAX */ 251df6ad731Slogwang #define USER_LINE_MAX 8 /* int: LINE_MAX */ 252df6ad731Slogwang #define USER_RE_DUP_MAX 9 /* int: RE_DUP_MAX */ 253df6ad731Slogwang #define USER_POSIX2_VERSION 10 /* int: POSIX2_VERSION */ 254df6ad731Slogwang #define USER_POSIX2_C_BIND 11 /* int: POSIX2_C_BIND */ 255df6ad731Slogwang #define USER_POSIX2_C_DEV 12 /* int: POSIX2_C_DEV */ 256df6ad731Slogwang #define USER_POSIX2_CHAR_TERM 13 /* int: POSIX2_CHAR_TERM */ 257df6ad731Slogwang #define USER_POSIX2_FORT_DEV 14 /* int: POSIX2_FORT_DEV */ 258df6ad731Slogwang #define USER_POSIX2_FORT_RUN 15 /* int: POSIX2_FORT_RUN */ 259df6ad731Slogwang #define USER_POSIX2_LOCALEDEF 16 /* int: POSIX2_LOCALEDEF */ 260df6ad731Slogwang #define USER_POSIX2_SW_DEV 17 /* int: POSIX2_SW_DEV */ 261df6ad731Slogwang #define USER_POSIX2_UPE 18 /* int: POSIX2_UPE */ 262df6ad731Slogwang #define USER_STREAM_MAX 19 /* int: POSIX2_STREAM_MAX */ 263df6ad731Slogwang #define USER_TZNAME_MAX 20 /* int: POSIX2_TZNAME_MAX */ 264df6ad731Slogwang 265df6ad731Slogwang #define CTL_P1003_1B_ASYNCHRONOUS_IO 1 /* boolean */ 266df6ad731Slogwang #define CTL_P1003_1B_MAPPED_FILES 2 /* boolean */ 267df6ad731Slogwang #define CTL_P1003_1B_MEMLOCK 3 /* boolean */ 268df6ad731Slogwang #define CTL_P1003_1B_MEMLOCK_RANGE 4 /* boolean */ 269df6ad731Slogwang #define CTL_P1003_1B_MEMORY_PROTECTION 5 /* boolean */ 270df6ad731Slogwang #define CTL_P1003_1B_MESSAGE_PASSING 6 /* boolean */ 271df6ad731Slogwang #define CTL_P1003_1B_PRIORITIZED_IO 7 /* boolean */ 272df6ad731Slogwang #define CTL_P1003_1B_PRIORITY_SCHEDULING 8 /* boolean */ 273df6ad731Slogwang #define CTL_P1003_1B_REALTIME_SIGNALS 9 /* boolean */ 274df6ad731Slogwang #define CTL_P1003_1B_SEMAPHORES 10 /* boolean */ 275df6ad731Slogwang #define CTL_P1003_1B_FSYNC 11 /* boolean */ 276df6ad731Slogwang #define CTL_P1003_1B_SHARED_MEMORY_OBJECTS 12 /* boolean */ 277df6ad731Slogwang #define CTL_P1003_1B_SYNCHRONIZED_IO 13 /* boolean */ 278df6ad731Slogwang #define CTL_P1003_1B_TIMERS 14 /* boolean */ 279df6ad731Slogwang #define CTL_P1003_1B_AIO_LISTIO_MAX 15 /* int */ 280df6ad731Slogwang #define CTL_P1003_1B_AIO_MAX 16 /* int */ 281df6ad731Slogwang #define CTL_P1003_1B_AIO_PRIO_DELTA_MAX 17 /* int */ 282df6ad731Slogwang #define CTL_P1003_1B_DELAYTIMER_MAX 18 /* int */ 283df6ad731Slogwang #define CTL_P1003_1B_MQ_OPEN_MAX 19 /* int */ 284df6ad731Slogwang #define CTL_P1003_1B_PAGESIZE 20 /* int */ 285df6ad731Slogwang #define CTL_P1003_1B_RTSIG_MAX 21 /* int */ 286df6ad731Slogwang #define CTL_P1003_1B_SEM_NSEMS_MAX 22 /* int */ 287df6ad731Slogwang #define CTL_P1003_1B_SEM_VALUE_MAX 23 /* int */ 288df6ad731Slogwang #define CTL_P1003_1B_SIGQUEUE_MAX 24 /* int */ 289df6ad731Slogwang #define CTL_P1003_1B_TIMER_MAX 25 /* int */ 290df6ad731Slogwang 291df6ad731Slogwang #define CTL_P1003_1B_MAXID 26 292df6ad731Slogwang 293df6ad731Slogwang int sysctl(const int *, u_int, void *, size_t *, const void *, size_t); 294df6ad731Slogwang int sysctlbyname(const char *, void *, size_t *, const void *, size_t); 295df6ad731Slogwang int sysctlnametomib(const char *, int *, size_t *); 296df6ad731Slogwang 297df6ad731Slogwang #endif 298