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 */ 29 30 #ifndef _SYS_SYSCONFIG_H 31 #define _SYS_SYSCONFIG_H 32 33 #ifdef __cplusplus 34 extern "C" { 35 #endif 36 37 #ifdef _KERNEL 38 extern int mach_sysconfig(int); 39 #endif /* KERNEL */ 40 41 /* 42 * cmd values for _sysconfig system call. 43 * WARNING: This is an undocumented system call, 44 * therefore future compatibility can not 45 * guaranteed. 46 */ 47 48 #define UNUSED 1 49 #define _CONFIG_NGROUPS 2 /* # configured supplemental groups */ 50 #define _CONFIG_CHILD_MAX 3 /* max # of processes per uid session */ 51 #define _CONFIG_OPEN_FILES 4 /* max # of open files per process */ 52 #define _CONFIG_POSIX_VER 5 /* POSIX version */ 53 #define _CONFIG_PAGESIZE 6 /* system page size */ 54 #define _CONFIG_CLK_TCK 7 /* ticks per second */ 55 #define _CONFIG_XOPEN_VER 8 56 57 /* 58 * NOTE: XOPEN VERSION. This is process dependent. The kernel will return 59 * the default value, currently 3. 60 */ 61 62 #define _CONFIG_PROF_TCK 10 /* profiling ticks per second */ 63 #define _CONFIG_NPROC_CONF 11 /* processors configured */ 64 #define _CONFIG_NPROC_ONLN 12 /* processors online */ 65 66 /* posix dot4 names */ 67 #define _CONFIG_AIO_LISTIO_MAX 13 /* # of operation in a list I/O call */ 68 #define _CONFIG_AIO_MAX 14 /* # of outstanding async I/O op. */ 69 #define _CONFIG_AIO_PRIO_DELTA_MAX 15 /* amount I/O priority decrease */ 70 #define _CONFIG_DELAYTIMER_MAX 16 /* timer timer expiration overruns */ 71 #define _CONFIG_MQ_OPEN_MAX 17 /* # message queues open per process */ 72 #define _CONFIG_MQ_PRIO_MAX 18 /* # of message priorities supported */ 73 #define _CONFIG_RTSIG_MAX 19 /* # of realtime signal numbers */ 74 #define _CONFIG_SEM_NSEMS_MAX 20 /* No. of semaphore per process */ 75 #define _CONFIG_SEM_VALUE_MAX 21 /* max. value a semaphore may have */ 76 #define _CONFIG_SIGQUEUE_MAX 22 /* # of pending queued signal */ 77 #define _CONFIG_SIGRT_MIN 23 /* first highest-pri realtime signal */ 78 #define _CONFIG_SIGRT_MAX 24 /* last realtime signal */ 79 #define _CONFIG_TIMER_MAX 25 /* # of timers per process */ 80 81 #define _CONFIG_PHYS_PAGES 26 /* phys mem installed in pages */ 82 #define _CONFIG_AVPHYS_PAGES 27 /* available phys mem in pages */ 83 #define _CONFIG_COHERENCY 28 /* # bytes coherency */ 84 #define _CONFIG_SPLIT_CACHE 29 /* split i and d or not */ 85 #define _CONFIG_ICACHESZ 30 /* icache size in bytes */ 86 #define _CONFIG_DCACHESZ 31 /* dcache size in bytes */ 87 #define _CONFIG_ICACHELINESZ 32 /* linesize bytes */ 88 #define _CONFIG_DCACHELINESZ 33 /* linesize bytes */ 89 #define _CONFIG_ICACHEBLKSZ 34 /* block size bytes */ 90 #define _CONFIG_DCACHEBLKSZ 35 /* block size bytes */ 91 #define _CONFIG_DCACHETBLKSZ 36 /* block size bytes when touched */ 92 #define _CONFIG_ICACHE_ASSOC 37 /* associativity 1, 2, 3 whatever */ 93 #define _CONFIG_DCACHE_ASSOC 38 /* associativity 1, 2, 3 whatever */ 94 #define _CONFIG_MAXPID 42 /* highest PID available */ 95 #define _CONFIG_STACK_PROT 43 /* default stack protection */ 96 #define _CONFIG_NPROC_MAX 44 /* maximum # of processors possible */ 97 #define _CONFIG_CPUID_MAX 45 /* maximum CPU id */ 98 99 /* UNIX 03 names */ 100 #define _CONFIG_SYMLOOP_MAX 46 /* maximum # of symlinks in pathname */ 101 102 #define _CONFIG_EPHID_MAX 47 /* maximum ephemeral uid */ 103 104 #ifdef __cplusplus 105 } 106 #endif 107 108 #endif /* _SYS_SYSCONFIG_H */ 109