github.com/afumu/libc@v0.0.6/limits/limits_freebsd_arm64.go (about)

     1  // Code generated by 'ccgo limits/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o limits/limits_freebsd_amd64.go -pkgname limits', DO NOT EDIT.
     2  
     3  package limits
     4  
     5  import (
     6  	"math"
     7  	"reflect"
     8  	"sync/atomic"
     9  	"unsafe"
    10  )
    11  
    12  var _ = math.Pi
    13  var _ reflect.Kind
    14  var _ atomic.Value
    15  var _ unsafe.Pointer
    16  
    17  const (
    18  	ARG_MAX                              = 524288               // syslimits.h:52:1:
    19  	BC_BASE_MAX                          = 99                   // limits.h:65:1:
    20  	BC_DIM_MAX                           = 2048                 // limits.h:66:1:
    21  	BC_SCALE_MAX                         = 99                   // limits.h:67:1:
    22  	BC_STRING_MAX                        = 1000                 // limits.h:68:1:
    23  	CHARCLASS_NAME_MAX                   = 14                   // limits.h:69:1:
    24  	CHAR_BIT                             = 8                    // limits.h:40:1:
    25  	CHAR_MAX                             = 127                  // limits.h:51:1:
    26  	CHAR_MIN                             = -128                 // limits.h:52:1:
    27  	CHILD_MAX                            = 40                   // syslimits.h:57:1:
    28  	COLL_WEIGHTS_MAX                     = 10                   // limits.h:70:1:
    29  	EXPR_NEST_MAX                        = 32                   // limits.h:71:1:
    30  	GID_MAX                              = 4294967295           // limits.h:85:1:
    31  	INT_MAX                              = 2147483647           // limits.h:60:1:
    32  	INT_MIN                              = -2147483648          // limits.h:61:1:
    33  	IOV_MAX                              = 1024                 // syslimits.h:70:1:
    34  	LINE_MAX                             = 2048                 // limits.h:72:1:
    35  	LLONG_MAX                            = 9223372036854775807  // limits.h:69:1:
    36  	LLONG_MIN                            = -9223372036854775808 // limits.h:70:1:
    37  	LONG_BIT                             = 64                   // limits.h:94:1:
    38  	LONG_MAX                             = 9223372036854775807  // limits.h:64:1:
    39  	LONG_MIN                             = -9223372036854775808 // limits.h:65:1:
    40  	MAX_CANON                            = 255                  // syslimits.h:59:1:
    41  	MAX_INPUT                            = 255                  // syslimits.h:60:1:
    42  	MB_LEN_MAX                           = 6                    // limits.h:141:1:
    43  	MQ_PRIO_MAX                          = 64                   // limits.h:99:1:
    44  	NAME_MAX                             = 255                  // syslimits.h:61:1:
    45  	NGROUPS_MAX                          = 1023                 // syslimits.h:63:1:
    46  	NL_ARGMAX                            = 4096                 // limits.h:125:1:
    47  	NL_LANGMAX                           = 31                   // limits.h:137:1:
    48  	NL_MSGMAX                            = 32767                // limits.h:126:1:
    49  	NL_NMAX                              = 1                    // limits.h:138:1:
    50  	NL_SETMAX                            = 255                  // limits.h:127:1:
    51  	NL_TEXTMAX                           = 2048                 // limits.h:128:1:
    52  	OFF_MAX                              = 9223372036854775807  // limits.h:80:1:
    53  	OFF_MIN                              = -9223372036854775808 // limits.h:81:1:
    54  	OPEN_MAX                             = 64                   // syslimits.h:66:1:
    55  	PASS_MAX                             = 128                  // limits.h:135:1:
    56  	PATH_MAX                             = 1024                 // syslimits.h:68:1:
    57  	PIPE_BUF                             = 512                  // syslimits.h:69:1:
    58  	QUAD_MAX                             = 9223372036854775807  // limits.h:89:1:
    59  	QUAD_MIN                             = -9223372036854775808 // limits.h:90:1:
    60  	RE_DUP_MAX                           = 255                  // limits.h:73:1:
    61  	SCHAR_MAX                            = 127                  // limits.h:42:1:
    62  	SCHAR_MIN                            = -128                 // limits.h:43:1:
    63  	SHRT_MAX                             = 32767                // limits.h:56:1:
    64  	SHRT_MIN                             = -32768               // limits.h:57:1:
    65  	SIZE_T_MAX                           = 18446744073709551615 // limits.h:78:1:
    66  	SSIZE_MAX                            = 9223372036854775807  // limits.h:74:1:
    67  	UCHAR_MAX                            = 255                  // limits.h:45:1:
    68  	UID_MAX                              = 4294967295           // limits.h:86:1:
    69  	UINT_MAX                             = 4294967295           // limits.h:59:1:
    70  	ULLONG_MAX                           = 18446744073709551615 // limits.h:68:1:
    71  	ULONG_MAX                            = 18446744073709551615 // limits.h:63:1:
    72  	UQUAD_MAX                            = 18446744073709551615 // limits.h:88:1:
    73  	USHRT_MAX                            = 65535                // limits.h:55:1:
    74  	WORD_BIT                             = 32                   // limits.h:95:1:
    75  	X_FILE_OFFSET_BITS                   = 64                   // <builtin>:25:1:
    76  	X_LIMITS_H_                          = 0                    // limits.h:36:1:
    77  	X_LP64                               = 1                    // <predefined>:1:1:
    78  	X_MACHINE__LIMITS_H_                 = 0                    // _limits.h:36:1:
    79  	X_Nonnull                            = 0                    // cdefs.h:790:1:
    80  	X_Null_unspecified                   = 0                    // cdefs.h:792:1:
    81  	X_Nullable                           = 0                    // cdefs.h:791:1:
    82  	X_POSIX2_BC_BASE_MAX                 = 99                   // limits.h:75:1:
    83  	X_POSIX2_BC_DIM_MAX                  = 2048                 // limits.h:76:1:
    84  	X_POSIX2_BC_SCALE_MAX                = 99                   // limits.h:77:1:
    85  	X_POSIX2_BC_STRING_MAX               = 1000                 // limits.h:78:1:
    86  	X_POSIX2_CHARCLASS_NAME_MAX          = 14                   // limits.h:79:1:
    87  	X_POSIX2_COLL_WEIGHTS_MAX            = 2                    // limits.h:80:1:
    88  	X_POSIX2_EQUIV_CLASS_MAX             = 2                    // limits.h:81:1:
    89  	X_POSIX2_EXPR_NEST_MAX               = 32                   // limits.h:82:1:
    90  	X_POSIX2_LINE_MAX                    = 2048                 // limits.h:83:1:
    91  	X_POSIX2_RE_DUP_MAX                  = 255                  // limits.h:84:1:
    92  	X_POSIX_AIO_LISTIO_MAX               = 2                    // limits.h:89:1:
    93  	X_POSIX_AIO_MAX                      = 1                    // limits.h:90:1:
    94  	X_POSIX_ARG_MAX                      = 4096                 // limits.h:41:1:
    95  	X_POSIX_CHILD_MAX                    = 25                   // limits.h:51:1:
    96  	X_POSIX_CLOCKRES_MIN                 = 20000000             // limits.h:100:1:
    97  	X_POSIX_DELAYTIMER_MAX               = 32                   // limits.h:91:1:
    98  	X_POSIX_HOST_NAME_MAX                = 255                  // limits.h:110:1:
    99  	X_POSIX_LINK_MAX                     = 8                    // limits.h:42:1:
   100  	X_POSIX_LOGIN_NAME_MAX               = 9                    // limits.h:111:1:
   101  	X_POSIX_MAX_CANON                    = 255                  // limits.h:43:1:
   102  	X_POSIX_MAX_INPUT                    = 255                  // limits.h:44:1:
   103  	X_POSIX_MQ_OPEN_MAX                  = 8                    // limits.h:92:1:
   104  	X_POSIX_MQ_PRIO_MAX                  = 32                   // limits.h:93:1:
   105  	X_POSIX_NAME_MAX                     = 14                   // limits.h:45:1:
   106  	X_POSIX_NGROUPS_MAX                  = 8                    // limits.h:52:1:
   107  	X_POSIX_OPEN_MAX                     = 20                   // limits.h:53:1:
   108  	X_POSIX_PATH_MAX                     = 256                  // limits.h:54:1:
   109  	X_POSIX_PIPE_BUF                     = 512                  // limits.h:46:1:
   110  	X_POSIX_RE_DUP_MAX                   = 255                  // limits.h:121:1:
   111  	X_POSIX_RTSIG_MAX                    = 8                    // limits.h:94:1:
   112  	X_POSIX_SEM_NSEMS_MAX                = 256                  // limits.h:95:1:
   113  	X_POSIX_SEM_VALUE_MAX                = 32767                // limits.h:96:1:
   114  	X_POSIX_SIGQUEUE_MAX                 = 32                   // limits.h:97:1:
   115  	X_POSIX_SSIZE_MAX                    = 32767                // limits.h:47:1:
   116  	X_POSIX_SS_REPL_MAX                  = 4                    // limits.h:112:1:
   117  	X_POSIX_STREAM_MAX                   = 8                    // limits.h:48:1:
   118  	X_POSIX_SYMLINK_MAX                  = 255                  // limits.h:113:1:
   119  	X_POSIX_SYMLOOP_MAX                  = 8                    // limits.h:114:1:
   120  	X_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 4                    // limits.h:104:1:
   121  	X_POSIX_THREAD_KEYS_MAX              = 128                  // limits.h:105:1:
   122  	X_POSIX_THREAD_THREADS_MAX           = 64                   // limits.h:106:1:
   123  	X_POSIX_TIMER_MAX                    = 32                   // limits.h:98:1:
   124  	X_POSIX_TRACE_EVENT_NAME_MAX         = 30                   // limits.h:115:1:
   125  	X_POSIX_TRACE_NAME_MAX               = 8                    // limits.h:116:1:
   126  	X_POSIX_TRACE_SYS_MAX                = 8                    // limits.h:117:1:
   127  	X_POSIX_TRACE_USER_EVENT_MAX         = 32                   // limits.h:118:1:
   128  	X_POSIX_TTY_NAME_MAX                 = 9                    // limits.h:119:1:
   129  	X_POSIX_TZNAME_MAX                   = 6                    // limits.h:55:1:
   130  	X_SYS_CDEFS_H_                       = 0                    // cdefs.h:39:1:
   131  	X_SYS_LIMITS_H_                      = 0                    // limits.h:35:1:
   132  	X_SYS_SYSLIMITS_H_                   = 0                    // syslimits.h:36:1:
   133  	X_XOPEN_IOV_MAX                      = 16                   // limits.h:132:1:
   134  	X_XOPEN_NAME_MAX                     = 255                  // limits.h:133:1:
   135  	X_XOPEN_PATH_MAX                     = 1024                 // limits.h:134:1:
   136  	Unix                                 = 1                    // <predefined>:340:1:
   137  )
   138  
   139  type Ptrdiff_t = int64 /* <builtin>:3:26 */
   140  
   141  type Size_t = uint64 /* <builtin>:9:23 */
   142  
   143  type Wchar_t = int32 /* <builtin>:15:24 */
   144  
   145  type X__int128_t = struct {
   146  	Flo int64
   147  	Fhi int64
   148  } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
   149  type X__uint128_t = struct {
   150  	Flo uint64
   151  	Fhi uint64
   152  } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
   153  
   154  type X__builtin_va_list = uintptr /* <builtin>:46:14 */
   155  type X__float128 = float64        /* <builtin>:47:21 */
   156  
   157  // -
   158  // SPDX-License-Identifier: BSD-3-Clause
   159  //
   160  // Copyright (c) 1988, 1993
   161  //	The Regents of the University of California.  All rights reserved.
   162  //
   163  // Redistribution and use in source and binary forms, with or without
   164  // modification, are permitted provided that the following conditions
   165  // are met:
   166  // 1. Redistributions of source code must retain the above copyright
   167  //    notice, this list of conditions and the following disclaimer.
   168  // 2. Redistributions in binary form must reproduce the above copyright
   169  //    notice, this list of conditions and the following disclaimer in the
   170  //    documentation and/or other materials provided with the distribution.
   171  // 3. Neither the name of the University nor the names of its contributors
   172  //    may be used to endorse or promote products derived from this software
   173  //    without specific prior written permission.
   174  //
   175  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   176  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   177  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   178  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   179  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   180  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   181  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   182  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   183  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   184  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   185  // SUCH DAMAGE.
   186  //
   187  //	@(#)limits.h	8.2 (Berkeley) 1/4/94
   188  // $FreeBSD$
   189  
   190  // -
   191  // SPDX-License-Identifier: BSD-3-Clause
   192  //
   193  // Copyright (c) 1991, 1993
   194  //	The Regents of the University of California.  All rights reserved.
   195  //
   196  // This code is derived from software contributed to Berkeley by
   197  // Berkeley Software Design, Inc.
   198  //
   199  // Redistribution and use in source and binary forms, with or without
   200  // modification, are permitted provided that the following conditions
   201  // are met:
   202  // 1. Redistributions of source code must retain the above copyright
   203  //    notice, this list of conditions and the following disclaimer.
   204  // 2. Redistributions in binary form must reproduce the above copyright
   205  //    notice, this list of conditions and the following disclaimer in the
   206  //    documentation and/or other materials provided with the distribution.
   207  // 3. Neither the name of the University nor the names of its contributors
   208  //    may be used to endorse or promote products derived from this software
   209  //    without specific prior written permission.
   210  //
   211  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   212  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   213  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   214  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   215  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   216  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   217  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   218  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   219  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   220  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   221  // SUCH DAMAGE.
   222  //
   223  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
   224  // $FreeBSD$
   225  
   226  // Testing against Clang-specific extensions.
   227  
   228  // This code has been put in place to help reduce the addition of
   229  // compiler specific defines in FreeBSD code.  It helps to aid in
   230  // having a compiler-agnostic source tree.
   231  
   232  // Compiler memory barriers, specific to gcc and clang.
   233  
   234  // XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced
   235  
   236  // Macro to test if we're using a specific version of gcc or later.
   237  
   238  // The __CONCAT macro is used to concatenate parts of symbol names, e.g.
   239  // with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
   240  // The __CONCAT macro is a bit tricky to use if it must work in non-ANSI
   241  // mode -- there must be no spaces between its arguments, and for nested
   242  // __CONCAT's, all the __CONCAT's must be at the left.  __CONCAT can also
   243  // concatenate double-quoted strings produced by the __STRING macro, but
   244  // this only works with ANSI C.
   245  //
   246  // __XSTRING is like __STRING, but it expands any macros in its argument
   247  // first.  It is only available with ANSI C.
   248  
   249  // Compiler-dependent macros to help declare dead (non-returning) and
   250  // pure (no side effects) functions, and unused variables.  They are
   251  // null except for versions of gcc that are known to support the features
   252  // properly (old versions of gcc-2 supported the dead and pure features
   253  // in a different (wrong) way).  If we do not provide an implementation
   254  // for a given compiler, let the compile fail if it is told to use
   255  // a feature that we cannot live without.
   256  
   257  // Keywords added in C11.
   258  
   259  // Emulation of C11 _Generic().  Unlike the previously defined C11
   260  // keywords, it is not possible to implement this using exactly the same
   261  // syntax.  Therefore implement something similar under the name
   262  // __generic().  Unlike _Generic(), this macro can only distinguish
   263  // between a single type, so it requires nested invocations to
   264  // distinguish multiple cases.
   265  
   266  // C99 Static array indices in function parameter declarations.  Syntax such as:
   267  // void bar(int myArray[static 10]);
   268  // is allowed in C99 but not in C++.  Define __min_size appropriately so
   269  // headers using it can be compiled in either language.  Use like this:
   270  // void bar(int myArray[__min_size(10)]);
   271  
   272  // XXX: should use `#if __STDC_VERSION__ < 199901'.
   273  
   274  // C++11 exposes a load of C99 stuff
   275  
   276  // GCC 2.95 provides `__restrict' as an extension to C90 to support the
   277  // C99-specific `restrict' type qualifier.  We happen to use `__restrict' as
   278  // a way to define the `restrict' type qualifier without disturbing older
   279  // software that is unaware of C99 keywords.
   280  
   281  // GNU C version 2.96 adds explicit branch prediction so that
   282  // the CPU back-end can hint the processor and also so that
   283  // code blocks can be reordered such that the predicted path
   284  // sees a more linear flow, thus improving cache behavior, etc.
   285  //
   286  // The following two macros provide us with a way to utilize this
   287  // compiler feature.  Use __predict_true() if you expect the expression
   288  // to evaluate to true, and __predict_false() if you expect the
   289  // expression to evaluate to false.
   290  //
   291  // A few notes about usage:
   292  //
   293  //	* Generally, __predict_false() error condition checks (unless
   294  //	  you have some _strong_ reason to do otherwise, in which case
   295  //	  document it), and/or __predict_true() `no-error' condition
   296  //	  checks, assuming you want to optimize for the no-error case.
   297  //
   298  //	* Other than that, if you don't know the likelihood of a test
   299  //	  succeeding from empirical or other `hard' evidence, don't
   300  //	  make predictions.
   301  //
   302  //	* These are meant to be used in places that are run `a lot'.
   303  //	  It is wasteful to make predictions in code that is run
   304  //	  seldomly (e.g. at subsystem initialization time) as the
   305  //	  basic block reordering that this affects can often generate
   306  //	  larger code.
   307  
   308  // We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h>
   309  // require it.
   310  
   311  // Given the pointer x to the member m of the struct s, return
   312  // a pointer to the containing structure.  When using GCC, we first
   313  // assign pointer x to a local variable, to check that its type is
   314  // compatible with member m.
   315  
   316  // Compiler-dependent macros to declare that functions take printf-like
   317  // or scanf-like arguments.  They are null except for versions of gcc
   318  // that are known to support the features properly (old versions of gcc-2
   319  // didn't permit keeping the keywords out of the application namespace).
   320  
   321  // Compiler-dependent macros that rely on FreeBSD-specific extensions.
   322  
   323  // Embed the rcs id of a source file in the resulting library.  Note that in
   324  // more recent ELF binutils, we use .ident allowing the ID to be stripped.
   325  // Usage:
   326  //	__FBSDID("$FreeBSD$");
   327  
   328  // -
   329  // The following definitions are an extension of the behavior originally
   330  // implemented in <sys/_posix.h>, but with a different level of granularity.
   331  // POSIX.1 requires that the macros we test be defined before any standard
   332  // header file is included.
   333  //
   334  // Here's a quick run-down of the versions:
   335  //  defined(_POSIX_SOURCE)		1003.1-1988
   336  //  _POSIX_C_SOURCE == 1		1003.1-1990
   337  //  _POSIX_C_SOURCE == 2		1003.2-1992 C Language Binding Option
   338  //  _POSIX_C_SOURCE == 199309		1003.1b-1993
   339  //  _POSIX_C_SOURCE == 199506		1003.1c-1995, 1003.1i-1995,
   340  //					and the omnibus ISO/IEC 9945-1: 1996
   341  //  _POSIX_C_SOURCE == 200112		1003.1-2001
   342  //  _POSIX_C_SOURCE == 200809		1003.1-2008
   343  //
   344  // In addition, the X/Open Portability Guide, which is now the Single UNIX
   345  // Specification, defines a feature-test macro which indicates the version of
   346  // that specification, and which subsumes _POSIX_C_SOURCE.
   347  //
   348  // Our macros begin with two underscores to avoid namespace screwage.
   349  
   350  // Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1.
   351  
   352  // Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2.
   353  
   354  // Deal with various X/Open Portability Guides and Single UNIX Spec.
   355  
   356  // Deal with all versions of POSIX.  The ordering relative to the tests above is
   357  // important.
   358  // -
   359  // Deal with _ANSI_SOURCE:
   360  // If it is defined, and no other compilation environment is explicitly
   361  // requested, then define our internal feature-test macros to zero.  This
   362  // makes no difference to the preprocessor (undefined symbols in preprocessing
   363  // expressions are defined to have value zero), but makes it more convenient for
   364  // a test program to print out the values.
   365  //
   366  // If a program mistakenly defines _ANSI_SOURCE and some other macro such as
   367  // _POSIX_C_SOURCE, we will assume that it wants the broader compilation
   368  // environment (and in fact we will never get here).
   369  
   370  // User override __EXT1_VISIBLE
   371  
   372  // Old versions of GCC use non-standard ARM arch symbols; acle-compat.h
   373  // translates them to __ARM_ARCH and the modern feature symbols defined by ARM.
   374  
   375  // Nullability qualifiers: currently only supported by Clang.
   376  
   377  // Type Safety Checking
   378  //
   379  // Clang provides additional attributes to enable checking type safety
   380  // properties that cannot be enforced by the C type system.
   381  
   382  // Lock annotations.
   383  //
   384  // Clang provides support for doing basic thread-safety tests at
   385  // compile-time, by marking which locks will/should be held when
   386  // entering/leaving a functions.
   387  //
   388  // Furthermore, it is also possible to annotate variables and structure
   389  // members to enforce that they are only accessed when certain locks are
   390  // held.
   391  
   392  // Structure implements a lock.
   393  
   394  // Function acquires an exclusive or shared lock.
   395  
   396  // Function attempts to acquire an exclusive or shared lock.
   397  
   398  // Function releases a lock.
   399  
   400  // Function asserts that an exclusive or shared lock is held.
   401  
   402  // Function requires that an exclusive or shared lock is or is not held.
   403  
   404  // Function should not be analyzed.
   405  
   406  // Function or variable should not be sanitized, e.g., by AddressSanitizer.
   407  // GCC has the nosanitize attribute, but as a function attribute only, and
   408  // warns on use as a variable attribute.
   409  
   410  // Guard variables and structure members by lock.
   411  
   412  // Alignment builtins for better type checking and improved code generation.
   413  // Provide fallback versions for other compilers (GCC/Clang < 10):
   414  
   415  // -
   416  // SPDX-License-Identifier: BSD-3-Clause
   417  //
   418  // Copyright (c) 1988, 1993
   419  //	The Regents of the University of California.  All rights reserved.
   420  //
   421  // Redistribution and use in source and binary forms, with or without
   422  // modification, are permitted provided that the following conditions
   423  // are met:
   424  // 1. Redistributions of source code must retain the above copyright
   425  //    notice, this list of conditions and the following disclaimer.
   426  // 2. Redistributions in binary form must reproduce the above copyright
   427  //    notice, this list of conditions and the following disclaimer in the
   428  //    documentation and/or other materials provided with the distribution.
   429  // 3. Neither the name of the University nor the names of its contributors
   430  //    may be used to endorse or promote products derived from this software
   431  //    without specific prior written permission.
   432  //
   433  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   434  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   435  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   436  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   437  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   438  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   439  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   440  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   441  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   442  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   443  // SUCH DAMAGE.
   444  //
   445  // $FreeBSD$
   446  
   447  // -
   448  // SPDX-License-Identifier: BSD-3-Clause
   449  //
   450  // Copyright (c) 1991, 1993
   451  //	The Regents of the University of California.  All rights reserved.
   452  //
   453  // This code is derived from software contributed to Berkeley by
   454  // Berkeley Software Design, Inc.
   455  //
   456  // Redistribution and use in source and binary forms, with or without
   457  // modification, are permitted provided that the following conditions
   458  // are met:
   459  // 1. Redistributions of source code must retain the above copyright
   460  //    notice, this list of conditions and the following disclaimer.
   461  // 2. Redistributions in binary form must reproduce the above copyright
   462  //    notice, this list of conditions and the following disclaimer in the
   463  //    documentation and/or other materials provided with the distribution.
   464  // 3. Neither the name of the University nor the names of its contributors
   465  //    may be used to endorse or promote products derived from this software
   466  //    without specific prior written permission.
   467  //
   468  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   469  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   470  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   471  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   472  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   473  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   474  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   475  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   476  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   477  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   478  // SUCH DAMAGE.
   479  //
   480  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
   481  // $FreeBSD$
   482  
   483  // -
   484  // This file is in the public domain.
   485  // $FreeBSD$
   486  
   487  // -
   488  // SPDX-License-Identifier: BSD-3-Clause
   489  //
   490  // Copyright (c) 1988, 1993
   491  //	The Regents of the University of California.  All rights reserved.
   492  //
   493  // Redistribution and use in source and binary forms, with or without
   494  // modification, are permitted provided that the following conditions
   495  // are met:
   496  // 1. Redistributions of source code must retain the above copyright
   497  //    notice, this list of conditions and the following disclaimer.
   498  // 2. Redistributions in binary form must reproduce the above copyright
   499  //    notice, this list of conditions and the following disclaimer in the
   500  //    documentation and/or other materials provided with the distribution.
   501  // 3. Neither the name of the University nor the names of its contributors
   502  //    may be used to endorse or promote products derived from this software
   503  //    without specific prior written permission.
   504  //
   505  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   506  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   507  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   508  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   509  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   510  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   511  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   512  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   513  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   514  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   515  // SUCH DAMAGE.
   516  //
   517  //	@(#)limits.h	8.3 (Berkeley) 1/4/94
   518  // $FreeBSD$
   519  
   520  // According to ANSI (section 2.2.4.2), the values below must be usable by
   521  // #if preprocessing directives.  Additionally, the expression must have the
   522  // same type as would an expression that is an object of the corresponding
   523  // type converted according to the integral promotions.  The subtraction for
   524  // INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an
   525  // unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
   526  
   527  // max value for an unsigned long long
   528  
   529  // Quads and longs are the same on the amd64.  Ensure they stay in sync.
   530  
   531  // Minimum signal stack size.
   532  
   533  // -
   534  // SPDX-License-Identifier: BSD-3-Clause
   535  //
   536  // Copyright (c) 1988, 1993
   537  //	The Regents of the University of California.  All rights reserved.
   538  //
   539  // Redistribution and use in source and binary forms, with or without
   540  // modification, are permitted provided that the following conditions
   541  // are met:
   542  // 1. Redistributions of source code must retain the above copyright
   543  //    notice, this list of conditions and the following disclaimer.
   544  // 2. Redistributions in binary form must reproduce the above copyright
   545  //    notice, this list of conditions and the following disclaimer in the
   546  //    documentation and/or other materials provided with the distribution.
   547  // 3. Neither the name of the University nor the names of its contributors
   548  //    may be used to endorse or promote products derived from this software
   549  //    without specific prior written permission.
   550  //
   551  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   552  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   553  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   554  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   555  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   556  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   557  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   558  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   559  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   560  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   561  // SUCH DAMAGE.
   562  //
   563  //	@(#)syslimits.h	8.1 (Berkeley) 6/2/93
   564  // $FreeBSD$
   565  
   566  // Do not add any new variables here.  (See the comment at the end of
   567  // the file for why.)
   568  
   569  // We leave the following values undefined to force applications to either
   570  // assume conservative values or call sysconf() to get the current value.
   571  //
   572  // HOST_NAME_MAX
   573  //
   574  // (We should do this for most of the values currently defined here,
   575  // but many programs are not prepared to deal with this yet.)
   576  
   577  var _ int8 /* gen.c:2:13: */