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