1// Copyright 2018 Tobias Klauser. All rights reserved. 2// Use of this source code is governed by a BSD-style 3// license that can be found in the LICENSE file. 4 5//go:build ignore 6// +build ignore 7 8package sysconf 9 10/* 11#include <limits.h> 12#include <paths.h> 13#include <stdio.h> 14#include <sys/param.h> 15#include <time.h> 16#include <unistd.h> 17 18#ifndef _PATH_ZONEINFO 19# define _PATH_ZONEINFO "/usr/share/zoneinfo" // TZDATA from tzcode/stdtime/tzfile.h 20#endif 21 22// off_t always __int64_t on darwin, see /usr/include/_types.h 23enum { 24 sizeofOffT = sizeof(__int64_t) 25}; 26*/ 27import "C" 28 29// sysconf variables 30const ( 31 SC_AIO_LISTIO_MAX = C._SC_AIO_LISTIO_MAX 32 SC_AIO_MAX = C._SC_AIO_MAX 33 SC_AIO_PRIO_DELTA_MAX = C._SC_AIO_PRIO_DELTA_MAX 34 SC_ARG_MAX = C._SC_ARG_MAX 35 SC_ATEXIT_MAX = C._SC_ATEXIT_MAX 36 SC_BC_BASE_MAX = C._SC_BC_BASE_MAX 37 SC_BC_DIM_MAX = C._SC_BC_DIM_MAX 38 SC_BC_SCALE_MAX = C._SC_BC_SCALE_MAX 39 SC_BC_STRING_MAX = C._SC_BC_STRING_MAX 40 SC_CHILD_MAX = C._SC_CHILD_MAX 41 SC_CLK_TCK = C._SC_CLK_TCK 42 SC_COLL_WEIGHTS_MAX = C._SC_COLL_WEIGHTS_MAX 43 SC_DELAYTIMER_MAX = C._SC_DELAYTIMER_MAX 44 SC_EXPR_NEST_MAX = C._SC_EXPR_NEST_MAX 45 SC_GETGR_R_SIZE_MAX = C._SC_GETGR_R_SIZE_MAX 46 SC_GETPW_R_SIZE_MAX = C._SC_GETPW_R_SIZE_MAX 47 SC_HOST_NAME_MAX = C._SC_HOST_NAME_MAX 48 SC_IOV_MAX = C._SC_IOV_MAX 49 SC_LINE_MAX = C._SC_LINE_MAX 50 SC_LOGIN_NAME_MAX = C._SC_LOGIN_NAME_MAX 51 SC_MQ_OPEN_MAX = C._SC_MQ_OPEN_MAX 52 SC_MQ_PRIO_MAX = C._SC_MQ_PRIO_MAX 53 SC_NGROUPS_MAX = C._SC_NGROUPS_MAX 54 SC_OPEN_MAX = C._SC_OPEN_MAX 55 SC_PAGE_SIZE = C._SC_PAGE_SIZE 56 SC_PAGESIZE = C._SC_PAGESIZE 57 SC_THREAD_DESTRUCTOR_ITERATIONS = C._SC_THREAD_DESTRUCTOR_ITERATIONS 58 SC_THREAD_KEYS_MAX = C._SC_THREAD_KEYS_MAX 59 SC_THREAD_STACK_MIN = C._SC_THREAD_STACK_MIN 60 SC_THREAD_THREADS_MAX = C._SC_THREAD_THREADS_MAX 61 SC_RE_DUP_MAX = C._SC_RE_DUP_MAX 62 SC_RTSIG_MAX = C._SC_RTSIG_MAX 63 SC_SEM_NSEMS_MAX = C._SC_SEM_NSEMS_MAX 64 SC_SEM_VALUE_MAX = C._SC_SEM_VALUE_MAX 65 SC_SIGQUEUE_MAX = C._SC_SIGQUEUE_MAX 66 SC_STREAM_MAX = C._SC_STREAM_MAX 67 SC_SYMLOOP_MAX = C._SC_SYMLOOP_MAX 68 SC_TIMER_MAX = C._SC_TIMER_MAX 69 SC_TTY_NAME_MAX = C._SC_TTY_NAME_MAX 70 SC_TZNAME_MAX = C._SC_TZNAME_MAX 71 72 SC_ADVISORY_INFO = C._SC_ADVISORY_INFO 73 SC_ASYNCHRONOUS_IO = C._SC_ASYNCHRONOUS_IO 74 SC_BARRIERS = C._SC_BARRIERS 75 SC_CLOCK_SELECTION = C._SC_CLOCK_SELECTION 76 SC_CPUTIME = C._SC_CPUTIME 77 SC_FSYNC = C._SC_FSYNC 78 SC_IPV6 = C._SC_IPV6 79 SC_JOB_CONTROL = C._SC_JOB_CONTROL 80 SC_MAPPED_FILES = C._SC_MAPPED_FILES 81 SC_MEMLOCK = C._SC_MEMLOCK 82 SC_MEMLOCK_RANGE = C._SC_MEMLOCK_RANGE 83 SC_MEMORY_PROTECTION = C._SC_MEMORY_PROTECTION 84 SC_MESSAGE_PASSING = C._SC_MESSAGE_PASSING 85 SC_MONOTONIC_CLOCK = C._SC_MONOTONIC_CLOCK 86 SC_PRIORITIZED_IO = C._SC_PRIORITIZED_IO 87 SC_PRIORITY_SCHEDULING = C._SC_PRIORITY_SCHEDULING 88 SC_RAW_SOCKETS = C._SC_RAW_SOCKETS 89 SC_READER_WRITER_LOCKS = C._SC_READER_WRITER_LOCKS 90 SC_REALTIME_SIGNALS = C._SC_REALTIME_SIGNALS 91 SC_REGEXP = C._SC_REGEXP 92 SC_SAVED_IDS = C._SC_SAVED_IDS 93 SC_SEMAPHORES = C._SC_SEMAPHORES 94 SC_SHARED_MEMORY_OBJECTS = C._SC_SHARED_MEMORY_OBJECTS 95 SC_SHELL = C._SC_SHELL 96 SC_SPAWN = C._SC_SPAWN 97 SC_SPIN_LOCKS = C._SC_SPIN_LOCKS 98 SC_SPORADIC_SERVER = C._SC_SPORADIC_SERVER 99 SC_SS_REPL_MAX = C._SC_SS_REPL_MAX 100 SC_SYNCHRONIZED_IO = C._SC_SYNCHRONIZED_IO 101 SC_THREAD_ATTR_STACKADDR = C._SC_THREAD_ATTR_STACKADDR 102 SC_THREAD_ATTR_STACKSIZE = C._SC_THREAD_ATTR_STACKSIZE 103 SC_THREAD_CPUTIME = C._SC_THREAD_CPUTIME 104 SC_THREAD_PRIO_INHERIT = C._SC_THREAD_PRIO_INHERIT 105 SC_THREAD_PRIO_PROTECT = C._SC_THREAD_PRIO_PROTECT 106 SC_THREAD_PRIORITY_SCHEDULING = C._SC_THREAD_PRIORITY_SCHEDULING 107 SC_THREAD_PROCESS_SHARED = C._SC_THREAD_PROCESS_SHARED 108 SC_THREAD_SAFE_FUNCTIONS = C._SC_THREAD_SAFE_FUNCTIONS 109 SC_THREAD_SPORADIC_SERVER = C._SC_THREAD_SPORADIC_SERVER 110 SC_THREADS = C._SC_THREADS 111 SC_TIMEOUTS = C._SC_TIMEOUTS 112 SC_TIMERS = C._SC_TIMERS 113 SC_TRACE = C._SC_TRACE 114 SC_TRACE_EVENT_FILTER = C._SC_TRACE_EVENT_FILTER 115 SC_TRACE_EVENT_NAME_MAX = C._SC_TRACE_EVENT_NAME_MAX 116 SC_TRACE_INHERIT = C._SC_TRACE_INHERIT 117 SC_TRACE_LOG = C._SC_TRACE_LOG 118 SC_TRACE_NAME_MAX = C._SC_TRACE_NAME_MAX 119 SC_TRACE_SYS_MAX = C._SC_TRACE_SYS_MAX 120 SC_TRACE_USER_EVENT_MAX = C._SC_TRACE_USER_EVENT_MAX 121 SC_TYPED_MEMORY_OBJECTS = C._SC_TYPED_MEMORY_OBJECTS 122 SC_VERSION = C._SC_VERSION 123 124 SC_V6_ILP32_OFF32 = C._SC_V6_ILP32_OFF32 125 SC_V6_ILP32_OFFBIG = C._SC_V6_ILP32_OFFBIG 126 SC_V6_LP64_OFF64 = C._SC_V6_LP64_OFF64 127 SC_V6_LPBIG_OFFBIG = C._SC_V6_LPBIG_OFFBIG 128 129 SC_2_C_BIND = C._SC_2_C_BIND 130 SC_2_C_DEV = C._SC_2_C_DEV 131 SC_2_CHAR_TERM = C._SC_2_CHAR_TERM 132 SC_2_FORT_DEV = C._SC_2_FORT_DEV 133 SC_2_FORT_RUN = C._SC_2_FORT_RUN 134 SC_2_LOCALEDEF = C._SC_2_LOCALEDEF 135 SC_2_PBS = C._SC_2_PBS 136 SC_2_PBS_ACCOUNTING = C._SC_2_PBS_ACCOUNTING 137 SC_2_PBS_CHECKPOINT = C._SC_2_PBS_CHECKPOINT 138 SC_2_PBS_LOCATE = C._SC_2_PBS_LOCATE 139 SC_2_PBS_MESSAGE = C._SC_2_PBS_MESSAGE 140 SC_2_PBS_TRACK = C._SC_2_PBS_TRACK 141 SC_2_SW_DEV = C._SC_2_SW_DEV 142 SC_2_UPE = C._SC_2_UPE 143 SC_2_VERSION = C._SC_2_VERSION 144 145 SC_XOPEN_CRYPT = C._SC_XOPEN_CRYPT 146 SC_XOPEN_ENH_I18N = C._SC_XOPEN_ENH_I18N 147 SC_XOPEN_REALTIME = C._SC_XOPEN_REALTIME 148 SC_XOPEN_REALTIME_THREADS = C._SC_XOPEN_REALTIME_THREADS 149 SC_XOPEN_SHM = C._SC_XOPEN_SHM 150 SC_XOPEN_STREAMS = C._SC_XOPEN_STREAMS 151 SC_XOPEN_UNIX = C._SC_XOPEN_UNIX 152 SC_XOPEN_VERSION = C._SC_XOPEN_VERSION 153 SC_XOPEN_XCU_VERSION = C._SC_XOPEN_XCU_VERSION 154 155 // non-standard variables 156 SC_PHYS_PAGES = C._SC_PHYS_PAGES 157 SC_NPROCESSORS_CONF = C._SC_NPROCESSORS_CONF 158 SC_NPROCESSORS_ONLN = C._SC_NPROCESSORS_ONLN 159) 160 161// sysconf values 162const ( 163 _BC_BASE_MAX = C.BC_BASE_MAX 164 _BC_DIM_MAX = C.BC_DIM_MAX 165 _BC_SCALE_MAX = C.BC_SCALE_MAX 166 _BC_STRING_MAX = C.BC_STRING_MAX 167 _COLL_WEIGHTS_MAX = C.COLL_WEIGHTS_MAX 168 _EXPR_NEST_MAX = C.EXPR_NEST_MAX 169 _IOV_MAX = C.IOV_MAX 170 _LINE_MAX = C.LINE_MAX 171 _NAME_MAX = C.NAME_MAX 172 _RE_DUP_MAX = C.RE_DUP_MAX 173 174 _CLK_TCK = C.CLK_TCK 175 176 _MAXHOSTNAMELEN = C.MAXHOSTNAMELEN 177 _MAXLOGNAME = C.MAXLOGNAME 178 _MAXSYMLINKS = C.MAXSYMLINKS 179 180 _POSIX_ADVISORY_INFO = C._POSIX_ADVISORY_INFO 181 _POSIX_ARG_MAX = C._POSIX_ARG_MAX 182 _POSIX_ASYNCHRONOUS_IO = C._POSIX_ASYNCHRONOUS_IO 183 _POSIX_BARRIERS = C._POSIX_BARRIERS 184 _POSIX_CHILD_MAX = C._POSIX_CHILD_MAX 185 _POSIX_CLOCK_SELECTION = C._POSIX_CLOCK_SELECTION 186 _POSIX_CPUTIME = C._POSIX_CPUTIME 187 _POSIX_FSYNC = C._POSIX_FSYNC 188 _POSIX_IPV6 = C._POSIX_IPV6 189 _POSIX_JOB_CONTROL = C._POSIX_JOB_CONTROL 190 _POSIX_MAPPED_FILES = C._POSIX_MAPPED_FILES 191 _POSIX_MEMLOCK = C._POSIX_MEMLOCK 192 _POSIX_MEMLOCK_RANGE = C._POSIX_MEMLOCK_RANGE 193 _POSIX_MEMORY_PROTECTION = C._POSIX_MEMORY_PROTECTION 194 _POSIX_MESSAGE_PASSING = C._POSIX_MESSAGE_PASSING 195 _POSIX_MONOTONIC_CLOCK = C._POSIX_MONOTONIC_CLOCK 196 _POSIX_PRIORITIZED_IO = C._POSIX_PRIORITIZED_IO 197 _POSIX_PRIORITY_SCHEDULING = C._POSIX_PRIORITY_SCHEDULING 198 _POSIX_RAW_SOCKETS = C._POSIX_RAW_SOCKETS 199 _POSIX_READER_WRITER_LOCKS = C._POSIX_READER_WRITER_LOCKS 200 _POSIX_REALTIME_SIGNALS = C._POSIX_REALTIME_SIGNALS 201 _POSIX_REGEXP = C._POSIX_REGEXP 202 _POSIX_SEM_VALUE_MAX = C._POSIX_SEM_VALUE_MAX 203 _POSIX_SEMAPHORES = C._POSIX_SEMAPHORES 204 _POSIX_SHARED_MEMORY_OBJECTS = C._POSIX_SHARED_MEMORY_OBJECTS 205 _POSIX_SHELL = C._POSIX_SHELL 206 _POSIX_SIGQUEUE_MAX = C._POSIX_SIGQUEUE_MAX 207 _POSIX_SPAWN = C._POSIX_SPAWN 208 _POSIX_SPIN_LOCKS = C._POSIX_SPIN_LOCKS 209 _POSIX_SPORADIC_SERVER = C._POSIX_SPORADIC_SERVER 210 _POSIX_SS_REPL_MAX = C._POSIX_SS_REPL_MAX 211 _POSIX_SYNCHRONIZED_IO = C._POSIX_SYNCHRONIZED_IO 212 _POSIX_THREAD_ATTR_STACKADDR = C._POSIX_THREAD_ATTR_STACKADDR 213 _POSIX_THREAD_ATTR_STACKSIZE = C._POSIX_THREAD_ATTR_STACKSIZE 214 _POSIX_THREAD_CPUTIME = C._POSIX_THREAD_CPUTIME 215 _POSIX_THREAD_DESTRUCTOR_ITERATIONS = C._POSIX_THREAD_DESTRUCTOR_ITERATIONS 216 _POSIX_THREAD_KEYS_MAX = C._POSIX_THREAD_KEYS_MAX 217 _POSIX_THREAD_PRIO_INHERIT = C._POSIX_THREAD_PRIO_INHERIT 218 _POSIX_THREAD_PRIO_PROTECT = C._POSIX_THREAD_PRIO_PROTECT 219 _POSIX_THREAD_PRIORITY_SCHEDULING = C._POSIX_THREAD_PRIORITY_SCHEDULING 220 _POSIX_THREAD_PROCESS_SHARED = C._POSIX_THREAD_PROCESS_SHARED 221 _POSIX_THREAD_SAFE_FUNCTIONS = C._POSIX_THREAD_SAFE_FUNCTIONS 222 _POSIX_THREAD_SPORADIC_SERVER = C._POSIX_THREAD_SPORADIC_SERVER 223 _POSIX_THREADS = C._POSIX_THREADS 224 _POSIX_TIMEOUTS = C._POSIX_TIMEOUTS 225 _POSIX_TIMERS = C._POSIX_TIMERS 226 _POSIX_TRACE = C._POSIX_TRACE 227 _POSIX_TRACE_EVENT_FILTER = C._POSIX_TRACE_EVENT_FILTER 228 _POSIX_TRACE_EVENT_NAME_MAX = C._POSIX_TRACE_EVENT_NAME_MAX 229 _POSIX_TRACE_INHERIT = C._POSIX_TRACE_INHERIT 230 _POSIX_TRACE_LOG = C._POSIX_TRACE_LOG 231 _POSIX_TRACE_NAME_MAX = C._POSIX_TRACE_NAME_MAX 232 _POSIX_TRACE_SYS_MAX = C._POSIX_TRACE_SYS_MAX 233 _POSIX_TRACE_USER_EVENT_MAX = C._POSIX_TRACE_USER_EVENT_MAX 234 _POSIX_TYPED_MEMORY_OBJECTS = C._POSIX_TYPED_MEMORY_OBJECTS 235 _POSIX_VERSION = C._POSIX_VERSION 236 237 _V6_ILP32_OFF32 = C._V6_ILP32_OFF32 238 _V6_ILP32_OFFBIG = C._V6_ILP32_OFFBIG 239 _V6_LP64_OFF64 = C._V6_LP64_OFF64 240 _V6_LPBIG_OFFBIG = C._V6_LPBIG_OFFBIG 241 242 _POSIX2_C_BIND = C._POSIX2_C_BIND 243 _POSIX2_C_DEV = C._POSIX2_C_DEV 244 _POSIX2_CHAR_TERM = C._POSIX2_CHAR_TERM 245 _POSIX2_LOCALEDEF = C._POSIX2_LOCALEDEF 246 _POSIX2_PBS = C._POSIX2_PBS 247 _POSIX2_SW_DEV = C._POSIX2_SW_DEV 248 _POSIX2_UPE = C._POSIX2_UPE 249 _POSIX2_VERSION = C._POSIX2_VERSION 250 251 _XOPEN_CRYPT = C._XOPEN_CRYPT 252 _XOPEN_ENH_I18N = C._XOPEN_ENH_I18N 253 _XOPEN_REALTIME = C._XOPEN_REALTIME 254 _XOPEN_REALTIME_THREADS = C._XOPEN_REALTIME_THREADS 255 _XOPEN_SHM = C._XOPEN_SHM 256 _XOPEN_UNIX = C._XOPEN_UNIX 257 _XOPEN_VERSION = C._XOPEN_VERSION 258 _XOPEN_XCU_VERSION = C._XOPEN_XCU_VERSION 259 260 _PTHREAD_DESTRUCTOR_ITERATIONS = C.PTHREAD_DESTRUCTOR_ITERATIONS 261 _PTHREAD_KEYS_MAX = C.PTHREAD_KEYS_MAX 262 _PTHREAD_STACK_MIN = C.PTHREAD_STACK_MIN 263) 264 265// pathconf 266const ( 267 _PC_NAME_MAX = C._PC_NAME_MAX 268 269 _PATH_ZONEINFO = C._PATH_ZONEINFO 270) 271 272// integer sizes 273const ( 274 _CHAR_BIT = C.CHAR_BIT 275 276 _INT_MAX = C.INT_MAX 277 278 sizeofOffT = C.sizeofOffT 279) 280