...

Source file src/github.com/tklauser/go-sysconf/sysconf_values_linux.go

Documentation: github.com/tklauser/go-sysconf

     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  
     8  package 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  */
    61  import "C"
    62  
    63  // sysconf values, some of these are GOARCH-dependent
    64  const (
    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  

View as plain text