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