1// Copyright 2021 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 <linux/uio.h> 13#include <stdio.h> 14#include <unistd.h> 15 16#include <grp.h> // for NSS_BUFLEN_GROUP 17#include <pwd.h> // for NSS_BUFLEN_PASSWD 18 19// This comes from the Linux kernel header. 20#ifndef OPEN_MAX 21# define OPEN_MAX 256 22#endif 23// POSIX_STREAM_MAX is 8, but glibc returns FOPEN_MAX if STREAM_MAX is not 24// defined. 25#ifndef STREAM_MAX 26# define STREAM_MAX FOPEN_MAX 27#endif 28#ifndef SYMLOOP_MAX 29# define SYMLOOP_MAX -1 // undefined 30#endif 31 32// These are not defined in <bits/environments.h> on all platforms. 33#ifndef _POSIX_V6_ILP32_OFF32 34# define _POSIX_V6_ILP32_OFF32 -1 35#endif 36#ifndef _POSIX_V6_ILP32_OFFBIG 37# define _POSIX_V6_ILP32_OFFBIG -1 38#endif 39#ifndef _POSIX_V6_LP64_OFF64 40# define _POSIX_V6_LP64_OFF64 -1 41#endif 42#ifndef _POSIX_V6_LPBIG_OFFBIG 43# define _POSIX_V6_LPBIG_OFFBIG -1 44#endif 45#ifndef _POSIX_V6_LPBIG_OFFBIG 46# define _POSIX_V6_LPBIG_OFFBIG -1 47#endif 48#ifndef _POSIX_V7_ILP32_OFF32 49# define _POSIX_V7_ILP32_OFF32 -1 50#endif 51#ifndef _POSIX_V7_ILP32_OFFBIG 52# define _POSIX_V7_ILP32_OFFBIG -1 53#endif 54#ifndef _POSIX_V7_LP64_OFF64 55# define _POSIX_V7_LP64_OFF64 -1 56#endif 57#ifndef _POSIX_V7_LPBIG_OFFBIG 58# define _POSIX_V7_LPBIG_OFFBIG -1 59#endif 60*/ 61import "C" 62 63// sysconf values, some of these are GOARCH-dependent 64const ( 65 _AIO_PRIO_DELTA_MAX = C.AIO_PRIO_DELTA_MAX 66 _BC_BASE_MAX = C.BC_BASE_MAX 67 _BC_DIM_MAX = C.BC_DIM_MAX 68 _BC_SCALE_MAX = C.BC_SCALE_MAX 69 _BC_STRING_MAX = C.BC_STRING_MAX 70 _COLL_WEIGHTS_MAX = C.COLL_WEIGHTS_MAX 71 _DELAYTIMER_MAX = C.DELAYTIMER_MAX 72 _EXPR_NEST_MAX = C.EXPR_NEST_MAX 73 _HOST_NAME_MAX = C.HOST_NAME_MAX 74 _LINE_MAX = C.LINE_MAX 75 _LOGIN_NAME_MAX = C.LOGIN_NAME_MAX 76 _MQ_PRIO_MAX = C.MQ_PRIO_MAX 77 _NGROUPS_MAX = C.NGROUPS_MAX 78 _NSS_BUFLEN_GROUP = C.NSS_BUFLEN_GROUP 79 _NSS_BUFLEN_PASSWD = C.NSS_BUFLEN_PASSWD 80 _OPEN_MAX = C.OPEN_MAX 81 _PTHREAD_KEYS_MAX = C.PTHREAD_KEYS_MAX 82 _PTHREAD_STACK_MIN = C.PTHREAD_STACK_MIN 83 _RE_DUP_MAX = C.RE_DUP_MAX 84 _RTSIG_MAX = C.RTSIG_MAX 85 _SEM_VALUE_MAX = C.SEM_VALUE_MAX 86 _STREAM_MAX = C.STREAM_MAX 87 _SYMLOOP_MAX = C.SYMLOOP_MAX 88 _TTY_NAME_MAX = C.TTY_NAME_MAX 89 90 _UIO_MAXIOV = C.UIO_MAXIOV 91 92 _INT_MAX = C.INT_MAX 93 94 _POSIX_ADVISORY_INFO = C._POSIX_ADVISORY_INFO 95 _POSIX_ARG_MAX = C._POSIX_ARG_MAX 96 _POSIX_ASYNCHRONOUS_IO = C._POSIX_ASYNCHRONOUS_IO 97 _POSIX_BARRIERS = C._POSIX_BARRIERS 98 _POSIX_CHILD_MAX = C._POSIX_CHILD_MAX 99 _POSIX_CLOCK_SELECTION = C._POSIX_CLOCK_SELECTION 100 _POSIX_CPUTIME = C._POSIX_CPUTIME 101 _POSIX_FSYNC = C._POSIX_FSYNC 102 _POSIX_IPV6 = C._POSIX_IPV6 103 _POSIX_JOB_CONTROL = C._POSIX_JOB_CONTROL 104 _POSIX_MAPPED_FILES = C._POSIX_MAPPED_FILES 105 _POSIX_MEMLOCK = C._POSIX_MEMLOCK 106 _POSIX_MEMLOCK_RANGE = C._POSIX_MEMLOCK_RANGE 107 _POSIX_MEMORY_PROTECTION = C._POSIX_MEMORY_PROTECTION 108 _POSIX_MESSAGE_PASSING = C._POSIX_MESSAGE_PASSING 109 _POSIX_MONOTONIC_CLOCK = C._POSIX_MONOTONIC_CLOCK 110 _POSIX_PRIORITIZED_IO = C._POSIX_PRIORITIZED_IO 111 _POSIX_PRIORITY_SCHEDULING = C._POSIX_PRIORITY_SCHEDULING 112 _POSIX_RAW_SOCKETS = C._POSIX_RAW_SOCKETS 113 _POSIX_READER_WRITER_LOCKS = C._POSIX_READER_WRITER_LOCKS 114 _POSIX_REALTIME_SIGNALS = C._POSIX_REALTIME_SIGNALS 115 _POSIX_REGEXP = C._POSIX_REGEXP 116 _POSIX_SAVED_IDS = C._POSIX_SAVED_IDS 117 _POSIX_SEMAPHORES = C._POSIX_SEMAPHORES 118 _POSIX_SHARED_MEMORY_OBJECTS = C._POSIX_SHARED_MEMORY_OBJECTS 119 _POSIX_SHELL = C._POSIX_SHELL 120 _POSIX_SIGQUEUE_MAX = C._POSIX_SIGQUEUE_MAX 121 _POSIX_SPAWN = C._POSIX_SPAWN 122 _POSIX_SPIN_LOCKS = C._POSIX_SPIN_LOCKS 123 _POSIX_SPORADIC_SERVER = C._POSIX_SPORADIC_SERVER 124 _POSIX_SYNCHRONIZED_IO = C._POSIX_SYNCHRONIZED_IO 125 _POSIX_THREAD_ATTR_STACKADDR = C._POSIX_THREAD_ATTR_STACKADDR 126 _POSIX_THREAD_ATTR_STACKSIZE = C._POSIX_THREAD_ATTR_STACKSIZE 127 _POSIX_THREAD_DESTRUCTOR_ITERATIONS = C._POSIX_THREAD_DESTRUCTOR_ITERATIONS 128 _POSIX_THREAD_PRIO_INHERIT = C._POSIX_THREAD_PRIO_INHERIT 129 _POSIX_THREAD_PRIO_PROTECT = C._POSIX_THREAD_PRIO_PROTECT 130 _POSIX_THREAD_PRIORITY_SCHEDULING = C._POSIX_THREAD_PRIORITY_SCHEDULING 131 _POSIX_THREAD_PROCESS_SHARED = C._POSIX_THREAD_PROCESS_SHARED 132 _POSIX_THREAD_SAFE_FUNCTIONS = C._POSIX_THREAD_SAFE_FUNCTIONS 133 _POSIX_THREAD_SPORADIC_SERVER = C._POSIX_THREAD_SPORADIC_SERVER 134 _POSIX_THREADS = C._POSIX_THREADS 135 _POSIX_TIMEOUTS = C._POSIX_TIMEOUTS 136 _POSIX_TIMERS = C._POSIX_TIMERS 137 _POSIX_TRACE = C._POSIX_TRACE 138 _POSIX_TRACE_EVENT_FILTER = C._POSIX_TRACE_EVENT_FILTER 139 _POSIX_TRACE_INHERIT = C._POSIX_TRACE_INHERIT 140 _POSIX_TRACE_LOG = C._POSIX_TRACE_LOG 141 _POSIX_TYPED_MEMORY_OBJECTS = C._POSIX_TYPED_MEMORY_OBJECTS 142 _POSIX_VERSION = C._POSIX_VERSION 143 144 _POSIX_V7_ILP32_OFF32 = C._POSIX_V7_ILP32_OFF32 145 _POSIX_V7_ILP32_OFFBIG = C._POSIX_V7_ILP32_OFFBIG 146 _POSIX_V7_LP64_OFF64 = C._POSIX_V7_LP64_OFF64 147 _POSIX_V7_LPBIG_OFFBIG = C._POSIX_V7_LPBIG_OFFBIG 148 149 _POSIX_V6_ILP32_OFF32 = C._POSIX_V6_ILP32_OFF32 150 _POSIX_V6_ILP32_OFFBIG = C._POSIX_V6_ILP32_OFFBIG 151 _POSIX_V6_LP64_OFF64 = C._POSIX_V6_LP64_OFF64 152 _POSIX_V6_LPBIG_OFFBIG = C._POSIX_V6_LPBIG_OFFBIG 153 154 _POSIX2_C_BIND = C._POSIX2_C_BIND 155 _POSIX2_C_DEV = C._POSIX2_C_DEV 156 _POSIX2_C_VERSION = C._POSIX2_C_VERSION 157 _POSIX2_CHAR_TERM = C._POSIX2_CHAR_TERM 158 _POSIX2_LOCALEDEF = C._POSIX2_LOCALEDEF 159 _POSIX2_SW_DEV = C._POSIX2_SW_DEV 160 _POSIX2_VERSION = C._POSIX2_VERSION 161 162 _XOPEN_ENH_I18N = C._XOPEN_ENH_I18N 163 _XOPEN_REALTIME = C._XOPEN_REALTIME 164 _XOPEN_REALTIME_THREADS = C._XOPEN_REALTIME_THREADS 165 _XOPEN_SHM = C._XOPEN_SHM 166 _XOPEN_UNIX = C._XOPEN_UNIX 167 _XOPEN_VERSION = C._XOPEN_VERSION 168 _XOPEN_XCU_VERSION = C._XOPEN_XCU_VERSION 169) 170