gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

uuid_freebsd_arm64.go (72174B)


      1 // Code generated by 'ccgo uuid/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 uuid/uuid_freebsd_amd64.go -pkgname uuid', DO NOT EDIT.
      2 
      3 package uuid
      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 	BIG_ENDIAN                 = 4321 // _endian.h:70:1:
     19 	BYTE_ORDER                 = 1234 // _endian.h:72:1:
     20 	FD_SETSIZE                 = 1024 // select.h:61:1:
     21 	LITTLE_ENDIAN              = 1234 // _endian.h:69:1:
     22 	PDP_ENDIAN                 = 3412 // _endian.h:71:1:
     23 	X_ACCMODE_T_DECLARED       = 0    // types.h:166:1:
     24 	X_BIG_ENDIAN               = 4321 // _endian.h:47:1:
     25 	X_BLKCNT_T_DECLARED        = 0    // types.h:90:1:
     26 	X_BLKSIZE_T_DECLARED       = 0    // types.h:81:1:
     27 	X_BYTE_ORDER               = 1234 // _endian.h:40:1:
     28 	X_CAP_IOCTL_T_DECLARED     = 0    // types.h:243:1:
     29 	X_CAP_RIGHTS_T_DECLARED    = 0    // types.h:248:1:
     30 	X_CLOCKID_T_DECLARED       = 0    // types.h:100:1:
     31 	X_CLOCK_T_DECLARED         = 0    // types.h:95:1:
     32 	X_DEV_T_DECLARED           = 0    // types.h:108:1:
     33 	X_FFLAGS_T_DECLARED        = 0    // types.h:113:1:
     34 	X_FILE_OFFSET_BITS         = 64   // <builtin>:25:1:
     35 	X_FSBLKCNT_T_DECLARED      = 0    // types.h:121:1:
     36 	X_FTRUNCATE_DECLARED       = 0    // types.h:417:1:
     37 	X_GID_T_DECLARED           = 0    // types.h:126:1:
     38 	X_ID_T_DECLARED            = 0    // types.h:141:1:
     39 	X_INO_T_DECLARED           = 0    // types.h:146:1:
     40 	X_INT16_T_DECLARED         = 0    // _stdint.h:42:1:
     41 	X_INT32_T_DECLARED         = 0    // _stdint.h:47:1:
     42 	X_INT64_T_DECLARED         = 0    // _stdint.h:52:1:
     43 	X_INT8_T_DECLARED          = 0    // _stdint.h:37:1:
     44 	X_INTMAX_T_DECLARED        = 0    // _stdint.h:85:1:
     45 	X_INTPTR_T_DECLARED        = 0    // _stdint.h:77:1:
     46 	X_IN_ADDR_T_DECLARED       = 0    // types.h:131:1:
     47 	X_IN_PORT_T_DECLARED       = 0    // types.h:136:1:
     48 	X_KEY_T_DECLARED           = 0    // types.h:151:1:
     49 	X_LITTLE_ENDIAN            = 1234 // _endian.h:46:1:
     50 	X_LP64                     = 1    // <predefined>:1:1:
     51 	X_LSEEK_DECLARED           = 0    // types.h:421:1:
     52 	X_LWPID_T_DECLARED         = 0    // types.h:156:1:
     53 	X_MACHINE_ENDIAN_H_        = 0    // endian.h:36:1:
     54 	X_MACHINE__LIMITS_H_       = 0    // _limits.h:36:1:
     55 	X_MACHINE__TYPES_H_        = 0    // _types.h:42:1:
     56 	X_MMAP_DECLARED            = 0    // types.h:425:1:
     57 	X_MODE_T_DECLARED          = 0    // types.h:161:1:
     58 	X_MQD_T_DECLARED           = 0    // types.h:227:1:
     59 	X_NLINK_T_DECLARED         = 0    // types.h:171:1:
     60 	X_Nonnull                  = 0    // cdefs.h:790:1:
     61 	X_Null_unspecified         = 0    // cdefs.h:792:1:
     62 	X_Nullable                 = 0    // cdefs.h:791:1:
     63 	X_OFF64_T_DECLARED         = 0    // types.h:181:1:
     64 	X_OFF_T_DECLARED           = 0    // types.h:176:1:
     65 	X_PDP_ENDIAN               = 3412 // _endian.h:48:1:
     66 	X_PID_T_DECLARED           = 0    // types.h:186:1:
     67 	X_PTHREAD_T_DECLARED       = 0    // _pthreadtypes.h:68:1:
     68 	X_QUAD_HIGHWORD            = 1    // _endian.h:55:1:
     69 	X_QUAD_LOWWORD             = 0    // _endian.h:56:1:
     70 	X_RLIM_T_DECLARED          = 0    // types.h:193:1:
     71 	X_SELECT_DECLARED          = 0    // select.h:103:1:
     72 	X_SIGSET_T_DECLARED        = 0    // select.h:50:1:
     73 	X_SIG_MAXSIG               = 128  // _sigset.h:47:1:
     74 	X_SIG_WORDS                = 4    // _sigset.h:46:1:
     75 	X_SIZE_T_DECLARED          = 0    // types.h:202:1:
     76 	X_SSIZE_T_DECLARED         = 0    // types.h:207:1:
     77 	X_SUSECONDS_T_DECLARED     = 0    // types.h:212:1:
     78 	X_SYS_CDEFS_H_             = 0    // cdefs.h:39:1:
     79 	X_SYS_SELECT_H_            = 0    // select.h:35:1:
     80 	X_SYS_TIMESPEC_H_          = 0    // timespec.h:37:1:
     81 	X_SYS_TYPES_H_             = 0    // types.h:41:1:
     82 	X_SYS_UUID_H_              = 0    // uuid.h:32:1:
     83 	X_SYS__ENDIAN_H_           = 0    // _endian.h:33:1:
     84 	X_SYS__PTHREADTYPES_H_     = 0    // _pthreadtypes.h:39:1:
     85 	X_SYS__SIGSET_H_           = 0    // _sigset.h:41:1:
     86 	X_SYS__STDINT_H_           = 0    // _stdint.h:33:1:
     87 	X_SYS__TIMESPEC_H_         = 0    // _timespec.h:37:1:
     88 	X_SYS__TIMEVAL_H_          = 0    // _timeval.h:32:1:
     89 	X_SYS__TYPES_H_            = 0    // _types.h:32:1:
     90 	X_TIMER_T_DECLARED         = 0    // types.h:222:1:
     91 	X_TIME_T_DECLARED          = 0    // types.h:217:1:
     92 	X_TRUNCATE_DECLARED        = 0    // types.h:429:1:
     93 	X_UID_T_DECLARED           = 0    // types.h:234:1:
     94 	X_UINT16_T_DECLARED        = 0    // _stdint.h:62:1:
     95 	X_UINT32_T_DECLARED        = 0    // _stdint.h:67:1:
     96 	X_UINT64_T_DECLARED        = 0    // _stdint.h:72:1:
     97 	X_UINT8_T_DECLARED         = 0    // _stdint.h:57:1:
     98 	X_UINTMAX_T_DECLARED       = 0    // _stdint.h:89:1:
     99 	X_UINTPTR_T_DECLARED       = 0    // _stdint.h:81:1:
    100 	X_USECONDS_T_DECLARED      = 0    // types.h:239:1:
    101 	X_UUID_H_                  = 0    // uuid.h:33:1:
    102 	X_UUID_NODE_LEN            = 6    // uuid.h:37:1:
    103 	Unix                       = 1    // <predefined>:340:1:
    104 	Uuid_s_bad_version         = 1    // uuid.h:46:1:
    105 	Uuid_s_invalid_string_uuid = 2    // uuid.h:47:1:
    106 	Uuid_s_no_memory           = 3    // uuid.h:48:1:
    107 	Uuid_s_ok                  = 0    // uuid.h:45:1:
    108 )
    109 
    110 type Ptrdiff_t = int64 /* <builtin>:3:26 */
    111 
    112 type Size_t = uint64 /* <builtin>:9:23 */
    113 
    114 type Wchar_t = int32 /* <builtin>:15:24 */
    115 
    116 type X__int128_t = struct {
    117 	Flo int64
    118 	Fhi int64
    119 } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
    120 type X__uint128_t = struct {
    121 	Flo uint64
    122 	Fhi uint64
    123 } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
    124 
    125 type X__builtin_va_list = uintptr /* <builtin>:46:14 */
    126 type X__float128 = float64        /* <builtin>:47:21 */
    127 
    128 // -
    129 // SPDX-License-Identifier: BSD-2-Clause-FreeBSD
    130 //
    131 // Copyright (c) 2002,2005 Marcel Moolenaar
    132 // Copyright (c) 2002 Hiten Mahesh Pandya
    133 // All rights reserved.
    134 //
    135 // Redistribution and use in source and binary forms, with or without
    136 // modification, are permitted provided that the following conditions
    137 // are met:
    138 // 1. Redistributions of source code must retain the above copyright
    139 //    notice, this list of conditions and the following disclaimer.
    140 // 2. Redistributions in binary form must reproduce the above copyright
    141 //    notice, this list of conditions and the following disclaimer in the
    142 //    documentation and/or other materials provided with the distribution.
    143 //
    144 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
    145 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    146 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    147 // ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
    148 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    149 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    150 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    151 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    152 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    153 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    154 // SUCH DAMAGE.
    155 //
    156 // $FreeBSD$
    157 
    158 // -
    159 // SPDX-License-Identifier: BSD-3-Clause
    160 //
    161 // Copyright (c) 1982, 1986, 1991, 1993, 1994
    162 //	The Regents of the University of California.  All rights reserved.
    163 // (c) UNIX System Laboratories, Inc.
    164 // All or some portions of this file are derived from material licensed
    165 // to the University of California by American Telephone and Telegraph
    166 // Co. or Unix System Laboratories, Inc. and are reproduced herein with
    167 // the permission of UNIX System Laboratories, Inc.
    168 //
    169 // Redistribution and use in source and binary forms, with or without
    170 // modification, are permitted provided that the following conditions
    171 // are met:
    172 // 1. Redistributions of source code must retain the above copyright
    173 //    notice, this list of conditions and the following disclaimer.
    174 // 2. Redistributions in binary form must reproduce the above copyright
    175 //    notice, this list of conditions and the following disclaimer in the
    176 //    documentation and/or other materials provided with the distribution.
    177 // 3. Neither the name of the University nor the names of its contributors
    178 //    may be used to endorse or promote products derived from this software
    179 //    without specific prior written permission.
    180 //
    181 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    182 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    183 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    184 // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    185 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    186 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    187 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    188 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    189 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    190 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    191 // SUCH DAMAGE.
    192 //
    193 //	@(#)types.h	8.6 (Berkeley) 2/19/95
    194 // $FreeBSD$
    195 
    196 // -
    197 // SPDX-License-Identifier: BSD-3-Clause
    198 //
    199 // Copyright (c) 1991, 1993
    200 //	The Regents of the University of California.  All rights reserved.
    201 //
    202 // This code is derived from software contributed to Berkeley by
    203 // Berkeley Software Design, Inc.
    204 //
    205 // Redistribution and use in source and binary forms, with or without
    206 // modification, are permitted provided that the following conditions
    207 // are met:
    208 // 1. Redistributions of source code must retain the above copyright
    209 //    notice, this list of conditions and the following disclaimer.
    210 // 2. Redistributions in binary form must reproduce the above copyright
    211 //    notice, this list of conditions and the following disclaimer in the
    212 //    documentation and/or other materials provided with the distribution.
    213 // 3. Neither the name of the University nor the names of its contributors
    214 //    may be used to endorse or promote products derived from this software
    215 //    without specific prior written permission.
    216 //
    217 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    218 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    219 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    220 // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    221 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    222 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    223 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    224 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    225 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    226 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    227 // SUCH DAMAGE.
    228 //
    229 //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
    230 // $FreeBSD$
    231 
    232 // Testing against Clang-specific extensions.
    233 
    234 // This code has been put in place to help reduce the addition of
    235 // compiler specific defines in FreeBSD code.  It helps to aid in
    236 // having a compiler-agnostic source tree.
    237 
    238 // Compiler memory barriers, specific to gcc and clang.
    239 
    240 // XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced
    241 
    242 // Macro to test if we're using a specific version of gcc or later.
    243 
    244 // The __CONCAT macro is used to concatenate parts of symbol names, e.g.
    245 // with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
    246 // The __CONCAT macro is a bit tricky to use if it must work in non-ANSI
    247 // mode -- there must be no spaces between its arguments, and for nested
    248 // __CONCAT's, all the __CONCAT's must be at the left.  __CONCAT can also
    249 // concatenate double-quoted strings produced by the __STRING macro, but
    250 // this only works with ANSI C.
    251 //
    252 // __XSTRING is like __STRING, but it expands any macros in its argument
    253 // first.  It is only available with ANSI C.
    254 
    255 // Compiler-dependent macros to help declare dead (non-returning) and
    256 // pure (no side effects) functions, and unused variables.  They are
    257 // null except for versions of gcc that are known to support the features
    258 // properly (old versions of gcc-2 supported the dead and pure features
    259 // in a different (wrong) way).  If we do not provide an implementation
    260 // for a given compiler, let the compile fail if it is told to use
    261 // a feature that we cannot live without.
    262 
    263 // Keywords added in C11.
    264 
    265 // Emulation of C11 _Generic().  Unlike the previously defined C11
    266 // keywords, it is not possible to implement this using exactly the same
    267 // syntax.  Therefore implement something similar under the name
    268 // __generic().  Unlike _Generic(), this macro can only distinguish
    269 // between a single type, so it requires nested invocations to
    270 // distinguish multiple cases.
    271 
    272 // C99 Static array indices in function parameter declarations.  Syntax such as:
    273 // void bar(int myArray[static 10]);
    274 // is allowed in C99 but not in C++.  Define __min_size appropriately so
    275 // headers using it can be compiled in either language.  Use like this:
    276 // void bar(int myArray[__min_size(10)]);
    277 
    278 // XXX: should use `#if __STDC_VERSION__ < 199901'.
    279 
    280 // C++11 exposes a load of C99 stuff
    281 
    282 // GCC 2.95 provides `__restrict' as an extension to C90 to support the
    283 // C99-specific `restrict' type qualifier.  We happen to use `__restrict' as
    284 // a way to define the `restrict' type qualifier without disturbing older
    285 // software that is unaware of C99 keywords.
    286 
    287 // GNU C version 2.96 adds explicit branch prediction so that
    288 // the CPU back-end can hint the processor and also so that
    289 // code blocks can be reordered such that the predicted path
    290 // sees a more linear flow, thus improving cache behavior, etc.
    291 //
    292 // The following two macros provide us with a way to utilize this
    293 // compiler feature.  Use __predict_true() if you expect the expression
    294 // to evaluate to true, and __predict_false() if you expect the
    295 // expression to evaluate to false.
    296 //
    297 // A few notes about usage:
    298 //
    299 //	* Generally, __predict_false() error condition checks (unless
    300 //	  you have some _strong_ reason to do otherwise, in which case
    301 //	  document it), and/or __predict_true() `no-error' condition
    302 //	  checks, assuming you want to optimize for the no-error case.
    303 //
    304 //	* Other than that, if you don't know the likelihood of a test
    305 //	  succeeding from empirical or other `hard' evidence, don't
    306 //	  make predictions.
    307 //
    308 //	* These are meant to be used in places that are run `a lot'.
    309 //	  It is wasteful to make predictions in code that is run
    310 //	  seldomly (e.g. at subsystem initialization time) as the
    311 //	  basic block reordering that this affects can often generate
    312 //	  larger code.
    313 
    314 // We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h>
    315 // require it.
    316 
    317 // Given the pointer x to the member m of the struct s, return
    318 // a pointer to the containing structure.  When using GCC, we first
    319 // assign pointer x to a local variable, to check that its type is
    320 // compatible with member m.
    321 
    322 // Compiler-dependent macros to declare that functions take printf-like
    323 // or scanf-like arguments.  They are null except for versions of gcc
    324 // that are known to support the features properly (old versions of gcc-2
    325 // didn't permit keeping the keywords out of the application namespace).
    326 
    327 // Compiler-dependent macros that rely on FreeBSD-specific extensions.
    328 
    329 // Embed the rcs id of a source file in the resulting library.  Note that in
    330 // more recent ELF binutils, we use .ident allowing the ID to be stripped.
    331 // Usage:
    332 //	__FBSDID("$FreeBSD$");
    333 
    334 // -
    335 // The following definitions are an extension of the behavior originally
    336 // implemented in <sys/_posix.h>, but with a different level of granularity.
    337 // POSIX.1 requires that the macros we test be defined before any standard
    338 // header file is included.
    339 //
    340 // Here's a quick run-down of the versions:
    341 //  defined(_POSIX_SOURCE)		1003.1-1988
    342 //  _POSIX_C_SOURCE == 1		1003.1-1990
    343 //  _POSIX_C_SOURCE == 2		1003.2-1992 C Language Binding Option
    344 //  _POSIX_C_SOURCE == 199309		1003.1b-1993
    345 //  _POSIX_C_SOURCE == 199506		1003.1c-1995, 1003.1i-1995,
    346 //					and the omnibus ISO/IEC 9945-1: 1996
    347 //  _POSIX_C_SOURCE == 200112		1003.1-2001
    348 //  _POSIX_C_SOURCE == 200809		1003.1-2008
    349 //
    350 // In addition, the X/Open Portability Guide, which is now the Single UNIX
    351 // Specification, defines a feature-test macro which indicates the version of
    352 // that specification, and which subsumes _POSIX_C_SOURCE.
    353 //
    354 // Our macros begin with two underscores to avoid namespace screwage.
    355 
    356 // Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1.
    357 
    358 // Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2.
    359 
    360 // Deal with various X/Open Portability Guides and Single UNIX Spec.
    361 
    362 // Deal with all versions of POSIX.  The ordering relative to the tests above is
    363 // important.
    364 // -
    365 // Deal with _ANSI_SOURCE:
    366 // If it is defined, and no other compilation environment is explicitly
    367 // requested, then define our internal feature-test macros to zero.  This
    368 // makes no difference to the preprocessor (undefined symbols in preprocessing
    369 // expressions are defined to have value zero), but makes it more convenient for
    370 // a test program to print out the values.
    371 //
    372 // If a program mistakenly defines _ANSI_SOURCE and some other macro such as
    373 // _POSIX_C_SOURCE, we will assume that it wants the broader compilation
    374 // environment (and in fact we will never get here).
    375 
    376 // User override __EXT1_VISIBLE
    377 
    378 // Old versions of GCC use non-standard ARM arch symbols; acle-compat.h
    379 // translates them to __ARM_ARCH and the modern feature symbols defined by ARM.
    380 
    381 // Nullability qualifiers: currently only supported by Clang.
    382 
    383 // Type Safety Checking
    384 //
    385 // Clang provides additional attributes to enable checking type safety
    386 // properties that cannot be enforced by the C type system.
    387 
    388 // Lock annotations.
    389 //
    390 // Clang provides support for doing basic thread-safety tests at
    391 // compile-time, by marking which locks will/should be held when
    392 // entering/leaving a functions.
    393 //
    394 // Furthermore, it is also possible to annotate variables and structure
    395 // members to enforce that they are only accessed when certain locks are
    396 // held.
    397 
    398 // Structure implements a lock.
    399 
    400 // Function acquires an exclusive or shared lock.
    401 
    402 // Function attempts to acquire an exclusive or shared lock.
    403 
    404 // Function releases a lock.
    405 
    406 // Function asserts that an exclusive or shared lock is held.
    407 
    408 // Function requires that an exclusive or shared lock is or is not held.
    409 
    410 // Function should not be analyzed.
    411 
    412 // Function or variable should not be sanitized, e.g., by AddressSanitizer.
    413 // GCC has the nosanitize attribute, but as a function attribute only, and
    414 // warns on use as a variable attribute.
    415 
    416 // Guard variables and structure members by lock.
    417 
    418 // Alignment builtins for better type checking and improved code generation.
    419 // Provide fallback versions for other compilers (GCC/Clang < 10):
    420 
    421 // Machine type dependent parameters.
    422 // -
    423 // This file is in the public domain.
    424 // $FreeBSD$
    425 
    426 // -
    427 // SPDX-License-Identifier: BSD-3-Clause
    428 //
    429 // Copyright (c) 1987, 1991 Regents of the University of California.
    430 // All rights reserved.
    431 //
    432 // Redistribution and use in source and binary forms, with or without
    433 // modification, are permitted provided that the following conditions
    434 // are met:
    435 // 1. Redistributions of source code must retain the above copyright
    436 //    notice, this list of conditions and the following disclaimer.
    437 // 2. Redistributions in binary form must reproduce the above copyright
    438 //    notice, this list of conditions and the following disclaimer in the
    439 //    documentation and/or other materials provided with the distribution.
    440 // 3. Neither the name of the University nor the names of its contributors
    441 //    may be used to endorse or promote products derived from this software
    442 //    without specific prior written permission.
    443 //
    444 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    445 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    446 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    447 // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    448 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    449 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    450 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    451 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    452 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    453 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    454 // SUCH DAMAGE.
    455 //
    456 //	@(#)endian.h	7.8 (Berkeley) 4/3/91
    457 // $FreeBSD$
    458 
    459 // -
    460 // SPDX-License-Identifier: BSD-2-Clause-FreeBSD
    461 //
    462 // Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
    463 // All rights reserved.
    464 //
    465 // Redistribution and use in source and binary forms, with or without
    466 // modification, are permitted provided that the following conditions
    467 // are met:
    468 // 1. Redistributions of source code must retain the above copyright
    469 //    notice, this list of conditions and the following disclaimer.
    470 // 2. Redistributions in binary form must reproduce the above copyright
    471 //    notice, this list of conditions and the following disclaimer in the
    472 //    documentation and/or other materials provided with the distribution.
    473 //
    474 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
    475 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    476 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    477 // ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
    478 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    479 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    480 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    481 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    482 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    483 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    484 // SUCH DAMAGE.
    485 //
    486 // $FreeBSD$
    487 
    488 // -
    489 // SPDX-License-Identifier: BSD-3-Clause
    490 //
    491 // Copyright (c) 1991, 1993
    492 //	The Regents of the University of California.  All rights reserved.
    493 //
    494 // This code is derived from software contributed to Berkeley by
    495 // Berkeley Software Design, Inc.
    496 //
    497 // Redistribution and use in source and binary forms, with or without
    498 // modification, are permitted provided that the following conditions
    499 // are met:
    500 // 1. Redistributions of source code must retain the above copyright
    501 //    notice, this list of conditions and the following disclaimer.
    502 // 2. Redistributions in binary form must reproduce the above copyright
    503 //    notice, this list of conditions and the following disclaimer in the
    504 //    documentation and/or other materials provided with the distribution.
    505 // 3. Neither the name of the University nor the names of its contributors
    506 //    may be used to endorse or promote products derived from this software
    507 //    without specific prior written permission.
    508 //
    509 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    510 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    511 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    512 // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    513 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    514 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    515 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    516 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    517 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    518 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    519 // SUCH DAMAGE.
    520 //
    521 //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
    522 // $FreeBSD$
    523 
    524 // -
    525 // This file is in the public domain.
    526 // $FreeBSD$
    527 
    528 // -
    529 // SPDX-License-Identifier: BSD-4-Clause
    530 //
    531 // Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
    532 // Copyright (c) 1990, 1993
    533 //	The Regents of the University of California.  All rights reserved.
    534 //
    535 // Redistribution and use in source and binary forms, with or without
    536 // modification, are permitted provided that the following conditions
    537 // are met:
    538 // 1. Redistributions of source code must retain the above copyright
    539 //    notice, this list of conditions and the following disclaimer.
    540 // 2. Redistributions in binary form must reproduce the above copyright
    541 //    notice, this list of conditions and the following disclaimer in the
    542 //    documentation and/or other materials provided with the distribution.
    543 // 3. All advertising materials mentioning features or use of this software
    544 //    must display the following acknowledgement:
    545 //	This product includes software developed by the University of
    546 //	California, Berkeley and its contributors.
    547 // 4. 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 //	From: @(#)ansi.h	8.2 (Berkeley) 1/4/94
    564 //	From: @(#)types.h	8.3 (Berkeley) 1/5/94
    565 // $FreeBSD$
    566 
    567 // -
    568 // This file is in the public domain.
    569 // $FreeBSD$
    570 
    571 // -
    572 // SPDX-License-Identifier: BSD-3-Clause
    573 //
    574 // Copyright (c) 1988, 1993
    575 //	The Regents of the University of California.  All rights reserved.
    576 //
    577 // Redistribution and use in source and binary forms, with or without
    578 // modification, are permitted provided that the following conditions
    579 // are met:
    580 // 1. Redistributions of source code must retain the above copyright
    581 //    notice, this list of conditions and the following disclaimer.
    582 // 2. Redistributions in binary form must reproduce the above copyright
    583 //    notice, this list of conditions and the following disclaimer in the
    584 //    documentation and/or other materials provided with the distribution.
    585 // 3. Neither the name of the University nor the names of its contributors
    586 //    may be used to endorse or promote products derived from this software
    587 //    without specific prior written permission.
    588 //
    589 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    590 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    591 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    592 // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    593 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    594 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    595 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    596 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    597 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    598 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    599 // SUCH DAMAGE.
    600 //
    601 //	@(#)limits.h	8.3 (Berkeley) 1/4/94
    602 // $FreeBSD$
    603 
    604 // According to ANSI (section 2.2.4.2), the values below must be usable by
    605 // #if preprocessing directives.  Additionally, the expression must have the
    606 // same type as would an expression that is an object of the corresponding
    607 // type converted according to the integral promotions.  The subtraction for
    608 // INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an
    609 // unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2).
    610 
    611 // max value for an unsigned long long
    612 
    613 // Quads and longs are the same on the amd64.  Ensure they stay in sync.
    614 
    615 // Minimum signal stack size.
    616 
    617 // Basic types upon which most other types are built.
    618 type X__int8_t = int8     /* _types.h:55:22 */
    619 type X__uint8_t = uint8   /* _types.h:56:24 */
    620 type X__int16_t = int16   /* _types.h:57:17 */
    621 type X__uint16_t = uint16 /* _types.h:58:25 */
    622 type X__int32_t = int32   /* _types.h:59:15 */
    623 type X__uint32_t = uint32 /* _types.h:60:23 */
    624 type X__int64_t = int64   /* _types.h:62:16 */
    625 type X__uint64_t = uint64 /* _types.h:63:24 */
    626 
    627 // Standard type definitions.
    628 type X__clock_t = X__int32_t         /* _types.h:75:19 */ // clock()...
    629 type X__critical_t = X__int64_t      /* _types.h:76:19 */
    630 type X__double_t = float64           /* _types.h:78:17 */
    631 type X__float_t = float32            /* _types.h:79:16 */
    632 type X__intfptr_t = X__int64_t       /* _types.h:81:19 */
    633 type X__intptr_t = X__int64_t        /* _types.h:82:19 */
    634 type X__intmax_t = X__int64_t        /* _types.h:93:19 */
    635 type X__int_fast8_t = X__int32_t     /* _types.h:94:19 */
    636 type X__int_fast16_t = X__int32_t    /* _types.h:95:19 */
    637 type X__int_fast32_t = X__int32_t    /* _types.h:96:19 */
    638 type X__int_fast64_t = X__int64_t    /* _types.h:97:19 */
    639 type X__int_least8_t = X__int8_t     /* _types.h:98:18 */
    640 type X__int_least16_t = X__int16_t   /* _types.h:99:19 */
    641 type X__int_least32_t = X__int32_t   /* _types.h:100:19 */
    642 type X__int_least64_t = X__int64_t   /* _types.h:101:19 */
    643 type X__ptrdiff_t = X__int64_t       /* _types.h:103:19 */ // ptr1 - ptr2
    644 type X__register_t = X__int64_t      /* _types.h:104:19 */
    645 type X__segsz_t = X__int64_t         /* _types.h:105:19 */ // segment size (in pages)
    646 type X__size_t = X__uint64_t         /* _types.h:106:20 */ // sizeof()
    647 type X__ssize_t = X__int64_t         /* _types.h:107:19 */ // byte count or error
    648 type X__time_t = X__int64_t          /* _types.h:108:19 */ // time()...
    649 type X__uintfptr_t = X__uint64_t     /* _types.h:109:20 */
    650 type X__uintptr_t = X__uint64_t      /* _types.h:110:20 */
    651 type X__uintmax_t = X__uint64_t      /* _types.h:121:20 */
    652 type X__uint_fast8_t = X__uint32_t   /* _types.h:122:20 */
    653 type X__uint_fast16_t = X__uint32_t  /* _types.h:123:20 */
    654 type X__uint_fast32_t = X__uint32_t  /* _types.h:124:20 */
    655 type X__uint_fast64_t = X__uint64_t  /* _types.h:125:20 */
    656 type X__uint_least8_t = X__uint8_t   /* _types.h:126:19 */
    657 type X__uint_least16_t = X__uint16_t /* _types.h:127:20 */
    658 type X__uint_least32_t = X__uint32_t /* _types.h:128:20 */
    659 type X__uint_least64_t = X__uint64_t /* _types.h:129:20 */
    660 type X__u_register_t = X__uint64_t   /* _types.h:131:20 */
    661 type X__vm_offset_t = X__uint64_t    /* _types.h:132:20 */
    662 type X__vm_paddr_t = X__uint64_t     /* _types.h:133:20 */
    663 type X__vm_size_t = X__uint64_t      /* _types.h:134:20 */
    664 type X___wchar_t = int32             /* _types.h:141:14 */
    665 
    666 // Standard type definitions.
    667 type X__blksize_t = X__int32_t   /* _types.h:40:19 */ // file block size
    668 type X__blkcnt_t = X__int64_t    /* _types.h:41:19 */ // file block count
    669 type X__clockid_t = X__int32_t   /* _types.h:42:19 */ // clock_gettime()...
    670 type X__fflags_t = X__uint32_t   /* _types.h:43:20 */ // file flags
    671 type X__fsblkcnt_t = X__uint64_t /* _types.h:44:20 */
    672 type X__fsfilcnt_t = X__uint64_t /* _types.h:45:20 */
    673 type X__gid_t = X__uint32_t      /* _types.h:46:20 */
    674 type X__id_t = X__int64_t        /* _types.h:47:19 */ // can hold a gid_t, pid_t, or uid_t
    675 type X__ino_t = X__uint64_t      /* _types.h:48:20 */ // inode number
    676 type X__key_t = int64            /* _types.h:49:15 */ // IPC key (for Sys V IPC)
    677 type X__lwpid_t = X__int32_t     /* _types.h:50:19 */ // Thread ID (a.k.a. LWP)
    678 type X__mode_t = X__uint16_t     /* _types.h:51:20 */ // permissions
    679 type X__accmode_t = int32        /* _types.h:52:14 */ // access permissions
    680 type X__nl_item = int32          /* _types.h:53:14 */
    681 type X__nlink_t = X__uint64_t    /* _types.h:54:20 */ // link count
    682 type X__off_t = X__int64_t       /* _types.h:55:19 */ // file offset
    683 type X__off64_t = X__int64_t     /* _types.h:56:19 */ // file offset (alias)
    684 type X__pid_t = X__int32_t       /* _types.h:57:19 */ // process [group]
    685 type X__rlim_t = X__int64_t      /* _types.h:58:19 */ // resource limit - intentionally
    686 // signed, because of legacy code
    687 // that uses -1 for RLIM_INFINITY
    688 type X__sa_family_t = X__uint8_t /* _types.h:61:19 */
    689 type X__socklen_t = X__uint32_t  /* _types.h:62:20 */
    690 type X__suseconds_t = int64      /* _types.h:63:15 */ // microseconds (signed)
    691 type X__timer_t = uintptr        /* _types.h:64:24 */ // timer_gettime()...
    692 type X__mqd_t = uintptr          /* _types.h:65:21 */ // mq_open()...
    693 type X__uid_t = X__uint32_t      /* _types.h:66:20 */
    694 type X__useconds_t = uint32      /* _types.h:67:22 */ // microseconds (unsigned)
    695 type X__cpuwhich_t = int32       /* _types.h:68:14 */ // which parameter for cpuset.
    696 type X__cpulevel_t = int32       /* _types.h:69:14 */ // level parameter for cpuset.
    697 type X__cpusetid_t = int32       /* _types.h:70:14 */ // cpuset identifier.
    698 type X__daddr_t = X__int64_t     /* _types.h:71:19 */ // bwrite(3), FIOBMAP2, etc
    699 
    700 // Unusual type definitions.
    701 // rune_t is declared to be an “int” instead of the more natural
    702 // “unsigned long” or “long”.  Two things are happening here.  It is not
    703 // unsigned so that EOF (-1) can be naturally assigned to it and used.  Also,
    704 // it looks like 10646 will be a 31 bit standard.  This means that if your
    705 // ints cannot hold 32 bits, you will be in trouble.  The reason an int was
    706 // chosen over a long is that the is*() and to*() routines take ints (says
    707 // ANSI C), but they use __ct_rune_t instead of int.
    708 //
    709 // NOTE: rune_t is not covered by ANSI nor other standards, and should not
    710 // be instantiated outside of lib/libc/locale.  Use wchar_t.  wint_t and
    711 // rune_t must be the same type.  Also, wint_t should be able to hold all
    712 // members of the largest character set plus one extra value (WEOF), and
    713 // must be at least 16 bits.
    714 type X__ct_rune_t = int32     /* _types.h:91:14 */ // arg type for ctype funcs
    715 type X__rune_t = X__ct_rune_t /* _types.h:92:21 */ // rune_t (see above)
    716 type X__wint_t = X__ct_rune_t /* _types.h:93:21 */ // wint_t (see above)
    717 
    718 // Clang already provides these types as built-ins, but only in C++ mode.
    719 type X__char16_t = X__uint_least16_t /* _types.h:97:26 */
    720 type X__char32_t = X__uint_least32_t /* _types.h:98:26 */
    721 // In C++11, char16_t and char32_t are built-in types.
    722 
    723 type X__max_align_t = struct {
    724 	F__max_align1 int64
    725 	F__max_align2 float64
    726 } /* _types.h:111:3 */
    727 
    728 type X__dev_t = X__uint64_t /* _types.h:113:20 */ // device number
    729 
    730 type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number
    731 
    732 // mbstate_t is an opaque object to keep conversion state during multibyte
    733 // stream conversions.
    734 type X__mbstate_t = struct {
    735 	F__ccgo_pad1 [0]uint64
    736 	F__mbstate8  [128]int8
    737 } /* _types.h:124:3 */
    738 
    739 type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */
    740 
    741 // Types for varargs. These are all provided by builtin types these
    742 // days, so centralize their definition.
    743 type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc
    744 type X__gnuc_va_list = X__va_list    /* _types.h:140:20 */
    745 type Pthread_once = struct {
    746 	Fstate       int32
    747 	F__ccgo_pad1 [4]byte
    748 	Fmutex       Pthread_mutex_t
    749 } /* _pthreadtypes.h:52:1 */
    750 
    751 // Primitive system data type definitions required by P1003.1c.
    752 //
    753 // Note that P1003.1c specifies that there are no defined comparison
    754 // or assignment operators for the types pthread_attr_t, pthread_cond_t,
    755 // pthread_condattr_t, pthread_mutex_t, pthread_mutexattr_t.
    756 type Pthread_t = uintptr             /* _pthreadtypes.h:67:26 */
    757 type Pthread_attr_t = uintptr        /* _pthreadtypes.h:70:30 */
    758 type Pthread_mutex_t = uintptr       /* _pthreadtypes.h:71:31 */
    759 type Pthread_mutexattr_t = uintptr   /* _pthreadtypes.h:72:35 */
    760 type Pthread_cond_t = uintptr        /* _pthreadtypes.h:73:30 */
    761 type Pthread_condattr_t = uintptr    /* _pthreadtypes.h:74:34 */
    762 type Pthread_key_t = int32           /* _pthreadtypes.h:75:20 */
    763 type Pthread_once_t = Pthread_once   /* _pthreadtypes.h:76:30 */
    764 type Pthread_rwlock_t = uintptr      /* _pthreadtypes.h:77:32 */
    765 type Pthread_rwlockattr_t = uintptr  /* _pthreadtypes.h:78:35 */
    766 type Pthread_barrier_t = uintptr     /* _pthreadtypes.h:79:33 */
    767 type Pthread_barrierattr_t = uintptr /* _pthreadtypes.h:80:36 */
    768 type Pthread_spinlock_t = uintptr    /* _pthreadtypes.h:81:33 */
    769 
    770 // Additional type definitions:
    771 //
    772 // Note that P1003.1c reserves the prefixes pthread_ and PTHREAD_ for
    773 // use in header symbols.
    774 type Pthread_addr_t = uintptr         /* _pthreadtypes.h:89:14 */
    775 type Pthread_startroutine_t = uintptr /* _pthreadtypes.h:90:14 */
    776 
    777 type U_char = uint8   /* types.h:52:23 */
    778 type U_short = uint16 /* types.h:53:24 */
    779 type U_int = uint32   /* types.h:54:22 */
    780 type U_long = uint64  /* types.h:55:23 */
    781 type Ushort = uint16  /* types.h:57:24 */ // Sys V compatibility
    782 type Uint = uint32    /* types.h:58:22 */ // Sys V compatibility
    783 
    784 // XXX POSIX sized integrals that should appear only in <sys/stdint.h>.
    785 // -
    786 // SPDX-License-Identifier: BSD-2-Clause-FreeBSD
    787 //
    788 // Copyright (c) 2011 David E. O'Brien <obrien@FreeBSD.org>
    789 // Copyright (c) 2001 Mike Barcroft <mike@FreeBSD.org>
    790 // All rights reserved.
    791 //
    792 // Redistribution and use in source and binary forms, with or without
    793 // modification, are permitted provided that the following conditions
    794 // are met:
    795 // 1. Redistributions of source code must retain the above copyright
    796 //    notice, this list of conditions and the following disclaimer.
    797 // 2. Redistributions in binary form must reproduce the above copyright
    798 //    notice, this list of conditions and the following disclaimer in the
    799 //    documentation and/or other materials provided with the distribution.
    800 //
    801 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
    802 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    803 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    804 // ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
    805 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    806 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    807 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    808 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    809 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    810 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    811 // SUCH DAMAGE.
    812 //
    813 // $FreeBSD$
    814 
    815 type Int8_t = X__int8_t /* _stdint.h:36:19 */
    816 
    817 type Int16_t = X__int16_t /* _stdint.h:41:20 */
    818 
    819 type Int32_t = X__int32_t /* _stdint.h:46:20 */
    820 
    821 type Int64_t = X__int64_t /* _stdint.h:51:20 */
    822 
    823 type Uint8_t = X__uint8_t /* _stdint.h:56:20 */
    824 
    825 type Uint16_t = X__uint16_t /* _stdint.h:61:21 */
    826 
    827 type Uint32_t = X__uint32_t /* _stdint.h:66:21 */
    828 
    829 type Uint64_t = X__uint64_t /* _stdint.h:71:21 */
    830 
    831 type Intptr_t = X__intptr_t   /* _stdint.h:76:21 */
    832 type Uintptr_t = X__uintptr_t /* _stdint.h:80:22 */
    833 type Intmax_t = X__intmax_t   /* _stdint.h:84:21 */
    834 type Uintmax_t = X__uintmax_t /* _stdint.h:88:22 */
    835 
    836 type U_int8_t = X__uint8_t   /* types.h:67:19 */ // unsigned integrals (deprecated)
    837 type U_int16_t = X__uint16_t /* types.h:68:20 */
    838 type U_int32_t = X__uint32_t /* types.h:69:20 */
    839 type U_int64_t = X__uint64_t /* types.h:70:20 */
    840 
    841 type U_quad_t = X__uint64_t /* types.h:72:20 */ // quads (deprecated)
    842 type Quad_t = X__int64_t    /* types.h:73:19 */
    843 type Qaddr_t = uintptr      /* types.h:74:16 */
    844 
    845 type Caddr_t = uintptr   /* types.h:76:14 */ // core address
    846 type C_caddr_t = uintptr /* types.h:77:20 */ // core address, pointer to const
    847 
    848 type Blksize_t = X__blksize_t /* types.h:80:21 */
    849 
    850 type Cpuwhich_t = X__cpuwhich_t /* types.h:84:22 */
    851 type Cpulevel_t = X__cpulevel_t /* types.h:85:22 */
    852 type Cpusetid_t = X__cpusetid_t /* types.h:86:22 */
    853 
    854 type Blkcnt_t = X__blkcnt_t /* types.h:89:20 */
    855 
    856 type Clock_t = X__clock_t /* types.h:94:19 */
    857 
    858 type Clockid_t = X__clockid_t /* types.h:99:21 */
    859 
    860 type Critical_t = X__critical_t /* types.h:103:22 */ // Critical section value
    861 type Daddr_t = X__daddr_t       /* types.h:104:19 */ // disk address
    862 
    863 type Dev_t = X__dev_t /* types.h:107:18 */ // device number or struct cdev
    864 
    865 type Fflags_t = X__fflags_t /* types.h:112:20 */ // file flags
    866 
    867 type Fixpt_t = X__fixpt_t /* types.h:116:19 */ // fixed point number
    868 
    869 type Fsblkcnt_t = X__fsblkcnt_t /* types.h:119:22 */
    870 type Fsfilcnt_t = X__fsfilcnt_t /* types.h:120:22 */
    871 
    872 type Gid_t = X__gid_t /* types.h:125:18 */ // group id
    873 
    874 type In_addr_t = X__uint32_t /* types.h:130:20 */ // base type for internet address
    875 
    876 type In_port_t = X__uint16_t /* types.h:135:20 */
    877 
    878 type Id_t = X__id_t /* types.h:140:17 */ // can hold a uid_t or pid_t
    879 
    880 type Ino_t = X__ino_t /* types.h:145:18 */ // inode number
    881 
    882 type Key_t = X__key_t /* types.h:150:18 */ // IPC key (for Sys V IPC)
    883 
    884 type Lwpid_t = X__lwpid_t /* types.h:155:19 */ // Thread ID (a.k.a. LWP)
    885 
    886 type Mode_t = X__mode_t /* types.h:160:18 */ // permissions
    887 
    888 type Accmode_t = X__accmode_t /* types.h:165:21 */ // access permissions
    889 
    890 type Nlink_t = X__nlink_t /* types.h:170:19 */ // link count
    891 
    892 type Off_t = X__off_t /* types.h:175:18 */ // file offset
    893 
    894 type Off64_t = X__off64_t /* types.h:180:19 */ // file offset (alias)
    895 
    896 type Pid_t = X__pid_t /* types.h:185:18 */ // process id
    897 
    898 type Register_t = X__register_t /* types.h:189:22 */
    899 
    900 type Rlim_t = X__rlim_t /* types.h:192:18 */ // resource limit
    901 
    902 type Sbintime_t = X__int64_t /* types.h:196:19 */
    903 
    904 type Segsz_t = X__segsz_t /* types.h:198:19 */
    905 
    906 type Ssize_t = X__ssize_t /* types.h:206:19 */
    907 
    908 type Suseconds_t = X__suseconds_t /* types.h:211:23 */ // microseconds (signed)
    909 
    910 type Time_t = X__time_t /* types.h:216:18 */
    911 
    912 type Timer_t = X__timer_t /* types.h:221:19 */
    913 
    914 type Mqd_t = X__mqd_t /* types.h:226:17 */
    915 
    916 type U_register_t = X__u_register_t /* types.h:230:24 */
    917 
    918 type Uid_t = X__uid_t /* types.h:233:18 */ // user id
    919 
    920 type Useconds_t = X__useconds_t /* types.h:238:22 */ // microseconds (unsigned)
    921 
    922 type Cap_ioctl_t = uint64 /* types.h:244:23 */
    923 
    924 // Types suitable for exporting physical addresses, virtual addresses
    925 // (pointers), and memory object sizes from the kernel independent of native
    926 // word size.  These should be used in place of vm_paddr_t, (u)intptr_t, and
    927 // size_t in structs which contain such types that are shared with userspace.
    928 type Kpaddr_t = X__uint64_t /* types.h:260:20 */
    929 type Kvaddr_t = X__uint64_t /* types.h:261:20 */
    930 type Ksize_t = X__uint64_t  /* types.h:262:20 */
    931 type Kssize_t = X__int64_t  /* types.h:263:19 */
    932 
    933 type Vm_offset_t = X__vm_offset_t /* types.h:265:23 */
    934 type Vm_ooffset_t = X__uint64_t   /* types.h:266:20 */
    935 type Vm_paddr_t = X__vm_paddr_t   /* types.h:267:22 */
    936 type Vm_pindex_t = X__uint64_t    /* types.h:268:20 */
    937 type Vm_size_t = X__vm_size_t     /* types.h:269:21 */
    938 
    939 type Rman_res_t = X__rman_res_t /* types.h:271:25 */
    940 
    941 // -
    942 // SPDX-License-Identifier: BSD-3-Clause
    943 //
    944 // Copyright (c) 1992, 1993
    945 //	The Regents of the University of California.  All rights reserved.
    946 //
    947 // Redistribution and use in source and binary forms, with or without
    948 // modification, are permitted provided that the following conditions
    949 // are met:
    950 // 1. Redistributions of source code must retain the above copyright
    951 //    notice, this list of conditions and the following disclaimer.
    952 // 2. Redistributions in binary form must reproduce the above copyright
    953 //    notice, this list of conditions and the following disclaimer in the
    954 //    documentation and/or other materials provided with the distribution.
    955 // 3. Neither the name of the University nor the names of its contributors
    956 //    may be used to endorse or promote products derived from this software
    957 //    without specific prior written permission.
    958 //
    959 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    960 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    961 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    962 // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    963 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    964 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    965 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    966 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    967 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    968 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    969 // SUCH DAMAGE.
    970 //
    971 // $FreeBSD$
    972 
    973 // -
    974 // SPDX-License-Identifier: BSD-3-Clause
    975 //
    976 // Copyright (c) 1991, 1993
    977 //	The Regents of the University of California.  All rights reserved.
    978 //
    979 // This code is derived from software contributed to Berkeley by
    980 // Berkeley Software Design, Inc.
    981 //
    982 // Redistribution and use in source and binary forms, with or without
    983 // modification, are permitted provided that the following conditions
    984 // are met:
    985 // 1. Redistributions of source code must retain the above copyright
    986 //    notice, this list of conditions and the following disclaimer.
    987 // 2. Redistributions in binary form must reproduce the above copyright
    988 //    notice, this list of conditions and the following disclaimer in the
    989 //    documentation and/or other materials provided with the distribution.
    990 // 3. Neither the name of the University nor the names of its contributors
    991 //    may be used to endorse or promote products derived from this software
    992 //    without specific prior written permission.
    993 //
    994 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    995 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    996 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    997 // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    998 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    999 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   1000 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   1001 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   1002 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   1003 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   1004 // SUCH DAMAGE.
   1005 //
   1006 //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
   1007 // $FreeBSD$
   1008 
   1009 // -
   1010 // SPDX-License-Identifier: BSD-2-Clause-FreeBSD
   1011 //
   1012 // Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
   1013 // All rights reserved.
   1014 //
   1015 // Redistribution and use in source and binary forms, with or without
   1016 // modification, are permitted provided that the following conditions
   1017 // are met:
   1018 // 1. Redistributions of source code must retain the above copyright
   1019 //    notice, this list of conditions and the following disclaimer.
   1020 // 2. Redistributions in binary form must reproduce the above copyright
   1021 //    notice, this list of conditions and the following disclaimer in the
   1022 //    documentation and/or other materials provided with the distribution.
   1023 //
   1024 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
   1025 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   1026 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   1027 // ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
   1028 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   1029 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   1030 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   1031 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   1032 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   1033 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   1034 // SUCH DAMAGE.
   1035 //
   1036 // $FreeBSD$
   1037 
   1038 // -
   1039 // SPDX-License-Identifier: BSD-3-Clause
   1040 //
   1041 // Copyright (c) 1982, 1986, 1989, 1991, 1993
   1042 //	The Regents of the University of California.  All rights reserved.
   1043 // (c) UNIX System Laboratories, Inc.
   1044 // All or some portions of this file are derived from material licensed
   1045 // to the University of California by American Telephone and Telegraph
   1046 // Co. or Unix System Laboratories, Inc. and are reproduced herein with
   1047 // the permission of UNIX System Laboratories, Inc.
   1048 //
   1049 // Redistribution and use in source and binary forms, with or without
   1050 // modification, are permitted provided that the following conditions
   1051 // are met:
   1052 // 1. Redistributions of source code must retain the above copyright
   1053 //    notice, this list of conditions and the following disclaimer.
   1054 // 2. Redistributions in binary form must reproduce the above copyright
   1055 //    notice, this list of conditions and the following disclaimer in the
   1056 //    documentation and/or other materials provided with the distribution.
   1057 // 3. Neither the name of the University nor the names of its contributors
   1058 //    may be used to endorse or promote products derived from this software
   1059 //    without specific prior written permission.
   1060 //
   1061 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   1062 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   1063 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   1064 // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   1065 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   1066 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   1067 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   1068 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   1069 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   1070 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   1071 // SUCH DAMAGE.
   1072 //
   1073 //	@(#)signal.h	8.4 (Berkeley) 5/4/95
   1074 // $FreeBSD$
   1075 
   1076 // sigset_t macros.
   1077 
   1078 type X__sigset = struct{ F__bits [4]X__uint32_t } /* _sigset.h:53:9 */
   1079 
   1080 // -
   1081 // SPDX-License-Identifier: BSD-3-Clause
   1082 //
   1083 // Copyright (c) 1992, 1993
   1084 //	The Regents of the University of California.  All rights reserved.
   1085 //
   1086 // Redistribution and use in source and binary forms, with or without
   1087 // modification, are permitted provided that the following conditions
   1088 // are met:
   1089 // 1. Redistributions of source code must retain the above copyright
   1090 //    notice, this list of conditions and the following disclaimer.
   1091 // 2. Redistributions in binary form must reproduce the above copyright
   1092 //    notice, this list of conditions and the following disclaimer in the
   1093 //    documentation and/or other materials provided with the distribution.
   1094 // 3. Neither the name of the University nor the names of its contributors
   1095 //    may be used to endorse or promote products derived from this software
   1096 //    without specific prior written permission.
   1097 //
   1098 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   1099 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   1100 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   1101 // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   1102 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   1103 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   1104 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   1105 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   1106 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   1107 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   1108 // SUCH DAMAGE.
   1109 //
   1110 // $FreeBSD$
   1111 
   1112 // -
   1113 // SPDX-License-Identifier: BSD-3-Clause
   1114 //
   1115 // Copyright (c) 1991, 1993
   1116 //	The Regents of the University of California.  All rights reserved.
   1117 //
   1118 // This code is derived from software contributed to Berkeley by
   1119 // Berkeley Software Design, Inc.
   1120 //
   1121 // Redistribution and use in source and binary forms, with or without
   1122 // modification, are permitted provided that the following conditions
   1123 // are met:
   1124 // 1. Redistributions of source code must retain the above copyright
   1125 //    notice, this list of conditions and the following disclaimer.
   1126 // 2. Redistributions in binary form must reproduce the above copyright
   1127 //    notice, this list of conditions and the following disclaimer in the
   1128 //    documentation and/or other materials provided with the distribution.
   1129 // 3. Neither the name of the University nor the names of its contributors
   1130 //    may be used to endorse or promote products derived from this software
   1131 //    without specific prior written permission.
   1132 //
   1133 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   1134 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   1135 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   1136 // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   1137 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   1138 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   1139 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   1140 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   1141 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   1142 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   1143 // SUCH DAMAGE.
   1144 //
   1145 //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
   1146 // $FreeBSD$
   1147 
   1148 // -
   1149 // SPDX-License-Identifier: BSD-2-Clause-FreeBSD
   1150 //
   1151 // Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
   1152 // All rights reserved.
   1153 //
   1154 // Redistribution and use in source and binary forms, with or without
   1155 // modification, are permitted provided that the following conditions
   1156 // are met:
   1157 // 1. Redistributions of source code must retain the above copyright
   1158 //    notice, this list of conditions and the following disclaimer.
   1159 // 2. Redistributions in binary form must reproduce the above copyright
   1160 //    notice, this list of conditions and the following disclaimer in the
   1161 //    documentation and/or other materials provided with the distribution.
   1162 //
   1163 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
   1164 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   1165 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   1166 // ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
   1167 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   1168 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   1169 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   1170 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   1171 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   1172 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   1173 // SUCH DAMAGE.
   1174 //
   1175 // $FreeBSD$
   1176 
   1177 // -
   1178 // SPDX-License-Identifier: BSD-3-Clause
   1179 //
   1180 // Copyright (c) 1982, 1986, 1989, 1991, 1993
   1181 //	The Regents of the University of California.  All rights reserved.
   1182 // (c) UNIX System Laboratories, Inc.
   1183 // All or some portions of this file are derived from material licensed
   1184 // to the University of California by American Telephone and Telegraph
   1185 // Co. or Unix System Laboratories, Inc. and are reproduced herein with
   1186 // the permission of UNIX System Laboratories, Inc.
   1187 //
   1188 // Redistribution and use in source and binary forms, with or without
   1189 // modification, are permitted provided that the following conditions
   1190 // are met:
   1191 // 1. Redistributions of source code must retain the above copyright
   1192 //    notice, this list of conditions and the following disclaimer.
   1193 // 2. Redistributions in binary form must reproduce the above copyright
   1194 //    notice, this list of conditions and the following disclaimer in the
   1195 //    documentation and/or other materials provided with the distribution.
   1196 // 3. Neither the name of the University nor the names of its contributors
   1197 //    may be used to endorse or promote products derived from this software
   1198 //    without specific prior written permission.
   1199 //
   1200 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   1201 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   1202 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   1203 // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   1204 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   1205 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   1206 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   1207 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   1208 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   1209 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   1210 // SUCH DAMAGE.
   1211 //
   1212 //	@(#)signal.h	8.4 (Berkeley) 5/4/95
   1213 // $FreeBSD$
   1214 
   1215 // sigset_t macros.
   1216 
   1217 type X__sigset_t = X__sigset /* _sigset.h:55:3 */
   1218 
   1219 // -
   1220 // SPDX-License-Identifier: BSD-2-Clause-FreeBSD
   1221 //
   1222 // Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
   1223 // All rights reserved.
   1224 //
   1225 // Redistribution and use in source and binary forms, with or without
   1226 // modification, are permitted provided that the following conditions
   1227 // are met:
   1228 // 1. Redistributions of source code must retain the above copyright
   1229 //    notice, this list of conditions and the following disclaimer.
   1230 // 2. Redistributions in binary form must reproduce the above copyright
   1231 //    notice, this list of conditions and the following disclaimer in the
   1232 //    documentation and/or other materials provided with the distribution.
   1233 //
   1234 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
   1235 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   1236 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   1237 // ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
   1238 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   1239 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   1240 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   1241 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   1242 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   1243 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   1244 // SUCH DAMAGE.
   1245 //
   1246 // $FreeBSD$
   1247 
   1248 // -
   1249 // SPDX-License-Identifier: BSD-2-Clause-FreeBSD
   1250 //
   1251 // Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
   1252 // All rights reserved.
   1253 //
   1254 // Redistribution and use in source and binary forms, with or without
   1255 // modification, are permitted provided that the following conditions
   1256 // are met:
   1257 // 1. Redistributions of source code must retain the above copyright
   1258 //    notice, this list of conditions and the following disclaimer.
   1259 // 2. Redistributions in binary form must reproduce the above copyright
   1260 //    notice, this list of conditions and the following disclaimer in the
   1261 //    documentation and/or other materials provided with the distribution.
   1262 //
   1263 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
   1264 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   1265 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   1266 // ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
   1267 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   1268 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   1269 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   1270 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   1271 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   1272 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   1273 // SUCH DAMAGE.
   1274 //
   1275 // $FreeBSD$
   1276 
   1277 // Structure returned by gettimeofday(2) system call, and used in other calls.
   1278 type Timeval = struct {
   1279 	Ftv_sec  Time_t
   1280 	Ftv_usec Suseconds_t
   1281 } /* _timeval.h:49:1 */
   1282 
   1283 // -
   1284 // SPDX-License-Identifier: BSD-3-Clause
   1285 //
   1286 // Copyright (c) 1982, 1986, 1993
   1287 //	The Regents of the University of California.  All rights reserved.
   1288 //
   1289 // Redistribution and use in source and binary forms, with or without
   1290 // modification, are permitted provided that the following conditions
   1291 // are met:
   1292 // 1. Redistributions of source code must retain the above copyright
   1293 //    notice, this list of conditions and the following disclaimer.
   1294 // 2. Redistributions in binary form must reproduce the above copyright
   1295 //    notice, this list of conditions and the following disclaimer in the
   1296 //    documentation and/or other materials provided with the distribution.
   1297 // 3. Neither the name of the University nor the names of its contributors
   1298 //    may be used to endorse or promote products derived from this software
   1299 //    without specific prior written permission.
   1300 //
   1301 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   1302 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   1303 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   1304 // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   1305 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   1306 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   1307 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   1308 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   1309 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   1310 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   1311 // SUCH DAMAGE.
   1312 //
   1313 //	@(#)time.h	8.5 (Berkeley) 5/4/95
   1314 // from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp
   1315 //	$FreeBSD$
   1316 
   1317 // -
   1318 // SPDX-License-Identifier: BSD-3-Clause
   1319 //
   1320 // Copyright (c) 1991, 1993
   1321 //	The Regents of the University of California.  All rights reserved.
   1322 //
   1323 // This code is derived from software contributed to Berkeley by
   1324 // Berkeley Software Design, Inc.
   1325 //
   1326 // Redistribution and use in source and binary forms, with or without
   1327 // modification, are permitted provided that the following conditions
   1328 // are met:
   1329 // 1. Redistributions of source code must retain the above copyright
   1330 //    notice, this list of conditions and the following disclaimer.
   1331 // 2. Redistributions in binary form must reproduce the above copyright
   1332 //    notice, this list of conditions and the following disclaimer in the
   1333 //    documentation and/or other materials provided with the distribution.
   1334 // 3. Neither the name of the University nor the names of its contributors
   1335 //    may be used to endorse or promote products derived from this software
   1336 //    without specific prior written permission.
   1337 //
   1338 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   1339 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   1340 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   1341 // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   1342 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   1343 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   1344 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   1345 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   1346 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   1347 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   1348 // SUCH DAMAGE.
   1349 //
   1350 //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
   1351 // $FreeBSD$
   1352 
   1353 // -
   1354 // SPDX-License-Identifier: BSD-3-Clause
   1355 //
   1356 // Copyright (c) 1982, 1986, 1993
   1357 //	The Regents of the University of California.  All rights reserved.
   1358 //
   1359 // Redistribution and use in source and binary forms, with or without
   1360 // modification, are permitted provided that the following conditions
   1361 // are met:
   1362 // 1. Redistributions of source code must retain the above copyright
   1363 //    notice, this list of conditions and the following disclaimer.
   1364 // 2. Redistributions in binary form must reproduce the above copyright
   1365 //    notice, this list of conditions and the following disclaimer in the
   1366 //    documentation and/or other materials provided with the distribution.
   1367 // 3. Neither the name of the University nor the names of its contributors
   1368 //    may be used to endorse or promote products derived from this software
   1369 //    without specific prior written permission.
   1370 //
   1371 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   1372 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   1373 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   1374 // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   1375 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   1376 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   1377 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   1378 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   1379 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   1380 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   1381 // SUCH DAMAGE.
   1382 //
   1383 //	@(#)time.h	8.5 (Berkeley) 5/4/95
   1384 // from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp
   1385 //	$FreeBSD$
   1386 
   1387 // -
   1388 // SPDX-License-Identifier: BSD-2-Clause-FreeBSD
   1389 //
   1390 // Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
   1391 // All rights reserved.
   1392 //
   1393 // Redistribution and use in source and binary forms, with or without
   1394 // modification, are permitted provided that the following conditions
   1395 // are met:
   1396 // 1. Redistributions of source code must retain the above copyright
   1397 //    notice, this list of conditions and the following disclaimer.
   1398 // 2. Redistributions in binary form must reproduce the above copyright
   1399 //    notice, this list of conditions and the following disclaimer in the
   1400 //    documentation and/or other materials provided with the distribution.
   1401 //
   1402 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
   1403 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   1404 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   1405 // ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
   1406 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   1407 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   1408 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   1409 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   1410 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   1411 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   1412 // SUCH DAMAGE.
   1413 //
   1414 // $FreeBSD$
   1415 
   1416 type Timespec = struct {
   1417 	Ftv_sec  Time_t
   1418 	Ftv_nsec int64
   1419 } /* _timespec.h:46:1 */
   1420 
   1421 // Structure defined by POSIX.1b to be like a itimerval, but with
   1422 // timespecs. Used in the timer_*() system calls.
   1423 type Itimerspec = struct {
   1424 	Fit_interval struct {
   1425 		Ftv_sec  Time_t
   1426 		Ftv_nsec int64
   1427 	}
   1428 	Fit_value struct {
   1429 		Ftv_sec  Time_t
   1430 		Ftv_nsec int64
   1431 	}
   1432 } /* timespec.h:60:1 */
   1433 
   1434 type X__fd_mask = uint64  /* select.h:44:23 */
   1435 type Fd_mask = X__fd_mask /* select.h:46:19 */
   1436 
   1437 type Sigset_t = X__sigset_t /* select.h:51:20 */
   1438 
   1439 // Select uses bit masks of file descriptors in longs.  These macros
   1440 // manipulate such bit fields (the filesystem macros use chars).
   1441 // FD_SETSIZE may be defined by the user, but the default here should
   1442 // be enough for most uses.
   1443 
   1444 type Fd_set1 = struct{ F__fds_bits [16]X__fd_mask } /* select.h:73:9 */
   1445 
   1446 // Select uses bit masks of file descriptors in longs.  These macros
   1447 // manipulate such bit fields (the filesystem macros use chars).
   1448 // FD_SETSIZE may be defined by the user, but the default here should
   1449 // be enough for most uses.
   1450 
   1451 type Fd_set = Fd_set1 /* select.h:75:3 */
   1452 
   1453 // -
   1454 // SPDX-License-Identifier: BSD-2-Clause-FreeBSD
   1455 //
   1456 // Copyright (c) 2002 Marcel Moolenaar
   1457 // All rights reserved.
   1458 //
   1459 // Redistribution and use in source and binary forms, with or without
   1460 // modification, are permitted provided that the following conditions
   1461 // are met:
   1462 //
   1463 // 1. Redistributions of source code must retain the above copyright
   1464 //    notice, this list of conditions and the following disclaimer.
   1465 // 2. Redistributions in binary form must reproduce the above copyright
   1466 //    notice, this list of conditions and the following disclaimer in the
   1467 //    documentation and/or other materials provided with the distribution.
   1468 //
   1469 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
   1470 // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   1471 // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
   1472 // IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
   1473 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   1474 // NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
   1475 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
   1476 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   1477 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
   1478 // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   1479 //
   1480 // $FreeBSD$
   1481 
   1482 // -
   1483 // SPDX-License-Identifier: BSD-3-Clause
   1484 //
   1485 // Copyright (c) 1982, 1986, 1991, 1993, 1994
   1486 //	The Regents of the University of California.  All rights reserved.
   1487 // (c) UNIX System Laboratories, Inc.
   1488 // All or some portions of this file are derived from material licensed
   1489 // to the University of California by American Telephone and Telegraph
   1490 // Co. or Unix System Laboratories, Inc. and are reproduced herein with
   1491 // the permission of UNIX System Laboratories, Inc.
   1492 //
   1493 // Redistribution and use in source and binary forms, with or without
   1494 // modification, are permitted provided that the following conditions
   1495 // are met:
   1496 // 1. Redistributions of source code must retain the above copyright
   1497 //    notice, this list of conditions and the following disclaimer.
   1498 // 2. Redistributions in binary form must reproduce the above copyright
   1499 //    notice, this list of conditions and the following disclaimer in the
   1500 //    documentation and/or other materials provided with the distribution.
   1501 // 3. Neither the name of the University nor the names of its contributors
   1502 //    may be used to endorse or promote products derived from this software
   1503 //    without specific prior written permission.
   1504 //
   1505 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   1506 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   1507 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   1508 // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   1509 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   1510 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   1511 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   1512 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   1513 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   1514 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   1515 // SUCH DAMAGE.
   1516 //
   1517 //	@(#)types.h	8.6 (Berkeley) 2/19/95
   1518 // $FreeBSD$
   1519 
   1520 // Length of a node address (an IEEE 802 address).
   1521 
   1522 // See also:
   1523 //
   1524 //	http://www.opengroup.org/dce/info/draft-leach-uuids-guids-01.txt
   1525 //	http://www.opengroup.org/onlinepubs/009629399/apdxa.htm
   1526 //
   1527 // A DCE 1.1 compatible source representation of UUIDs.
   1528 type Uuid = struct {
   1529 	Ftime_low                  Uint32_t
   1530 	Ftime_mid                  Uint16_t
   1531 	Ftime_hi_and_version       Uint16_t
   1532 	Fclock_seq_hi_and_reserved Uint8_t
   1533 	Fclock_seq_low             Uint8_t
   1534 	Fnode                      [6]Uint8_t
   1535 } /* uuid.h:46:1 */
   1536 
   1537 // XXX namespace pollution?
   1538 type Uuid_t = Uuid /* uuid.h:93:21 */
   1539 
   1540 var _ int8 /* gen.c:2:13: */