1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 22 /* All Rights Reserved */ 23 24 25 /* 26 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 27 * Use is subject to license terms. 28 * Copyright 2016 Joyent, Inc. 29 */ 30 31 #ifndef _SYS_SYSCONFIG_H 32 #define _SYS_SYSCONFIG_H 33 34 #ifdef __cplusplus 35 extern "C" { 36 #endif 37 38 #ifdef _KERNEL 39 extern int mach_sysconfig(int); 40 #endif /* KERNEL */ 41 42 /* 43 * cmd values for _sysconfig system call. 44 * WARNING: This is an undocumented system call, 45 * therefore future compatibility can not 46 * guaranteed. 47 */ 48 49 #define UNUSED 1 50 #define _CONFIG_NGROUPS 2 /* # configured supplemental groups */ 51 #define _CONFIG_CHILD_MAX 3 /* max # of processes per uid session */ 52 #define _CONFIG_OPEN_FILES 4 /* max # of open files per process */ 53 #define _CONFIG_POSIX_VER 5 /* POSIX version */ 54 #define _CONFIG_PAGESIZE 6 /* system page size */ 55 #define _CONFIG_CLK_TCK 7 /* ticks per second */ 56 #define _CONFIG_XOPEN_VER 8 57 58 /* 59 * NOTE: XOPEN VERSION. This is process dependent. The kernel will return 60 * the default value, currently 3. 61 */ 62 63 #define _CONFIG_PROF_TCK 10 /* profiling ticks per second */ 64 #define _CONFIG_NPROC_CONF 11 /* processors configured */ 65 #define _CONFIG_NPROC_ONLN 12 /* processors online */ 66 67 /* posix dot4 names */ 68 #define _CONFIG_AIO_LISTIO_MAX 13 /* # of operation in a list I/O call */ 69 #define _CONFIG_AIO_MAX 14 /* # of outstanding async I/O op. */ 70 #define _CONFIG_AIO_PRIO_DELTA_MAX 15 /* amount I/O priority decrease */ 71 #define _CONFIG_DELAYTIMER_MAX 16 /* timer timer expiration overruns */ 72 #define _CONFIG_MQ_OPEN_MAX 17 /* # message queues open per process */ 73 #define _CONFIG_MQ_PRIO_MAX 18 /* # of message priorities supported */ 74 #define _CONFIG_RTSIG_MAX 19 /* # of realtime signal numbers */ 75 #define _CONFIG_SEM_NSEMS_MAX 20 /* No. of semaphore per process */ 76 #define _CONFIG_SEM_VALUE_MAX 21 /* max. value a semaphore may have */ 77 #define _CONFIG_SIGQUEUE_MAX 22 /* # of pending queued signal */ 78 #define _CONFIG_SIGRT_MIN 23 /* first highest-pri realtime signal */ 79 #define _CONFIG_SIGRT_MAX 24 /* last realtime signal */ 80 #define _CONFIG_TIMER_MAX 25 /* # of timers per process */ 81 82 #define _CONFIG_PHYS_PAGES 26 /* phys mem installed in pages */ 83 #define _CONFIG_AVPHYS_PAGES 27 /* available phys mem in pages */ 84 #define _CONFIG_COHERENCY 28 /* # bytes coherency */ 85 #define _CONFIG_SPLIT_CACHE 29 /* split i and d or not */ 86 #define _CONFIG_ICACHESZ 30 /* icache size in bytes */ 87 #define _CONFIG_DCACHESZ 31 /* dcache size in bytes */ 88 #define _CONFIG_ICACHELINESZ 32 /* linesize bytes */ 89 #define _CONFIG_DCACHELINESZ 33 /* linesize bytes */ 90 #define _CONFIG_ICACHEBLKSZ 34 /* block size bytes */ 91 #define _CONFIG_DCACHEBLKSZ 35 /* block size bytes */ 92 #define _CONFIG_DCACHETBLKSZ 36 /* block size bytes when touched */ 93 #define _CONFIG_ICACHE_ASSOC 37 /* associativity 1, 2, 3 whatever */ 94 #define _CONFIG_DCACHE_ASSOC 38 /* associativity 1, 2, 3 whatever */ 95 #define _CONFIG_MAXPID 42 /* highest PID available */ 96 #define _CONFIG_STACK_PROT 43 /* default stack protection */ 97 #define _CONFIG_NPROC_MAX 44 /* maximum # of processors possible */ 98 #define _CONFIG_CPUID_MAX 45 /* maximum CPU id */ 99 100 /* UNIX 03 names */ 101 #define _CONFIG_SYMLOOP_MAX 46 /* maximum # of symlinks in pathname */ 102 103 #define _CONFIG_EPHID_MAX 47 /* maximum ephemeral uid */ 104 #define _CONFIG_UADDR_MAX 48 /* maximum user address */ 105 106 #define _CONFIG_NPROC_NCPU 49 /* NCPU (sometimes > NPROC_MAX) */ 107 108 #ifdef __cplusplus 109 } 110 #endif 111 112 #endif /* _SYS_SYSCONFIG_H */ 113