github.com/afumu/libc@v0.0.6/sys/types/types_netbsd_arm.go (about)

     1  // Code generated by 'ccgo sys/types/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 sys/types/types_netbsd_arm.go -pkgname types', DO NOT EDIT.
     2  
     3  package types
     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:101:1:
    19  	BYTE_ORDER                    = 1234                 // endian.h:103:1:
    20  	FD_SETSIZE                    = 256                  // fd_set.h:59:1:
    21  	INT16_MAX                     = 32767                // common_int_limits.h:53:1:
    22  	INT16_MIN                     = -32768               // common_int_limits.h:47:1:
    23  	INT32_MAX                     = 2147483647           // common_int_limits.h:54:1:
    24  	INT32_MIN                     = -2147483648          // common_int_limits.h:48:1:
    25  	INT64_MAX                     = 9223372036854775807  // common_int_limits.h:55:1:
    26  	INT64_MIN                     = -9223372036854775808 // common_int_limits.h:49:1:
    27  	INT8_MAX                      = 127                  // common_int_limits.h:52:1:
    28  	INT8_MIN                      = -128                 // common_int_limits.h:46:1:
    29  	INTMAX_MAX                    = 9223372036854775807  // common_int_limits.h:111:1:
    30  	INTMAX_MIN                    = -9223372036854775808 // common_int_limits.h:110:1:
    31  	INTPTR_MAX                    = 2147483647           // common_int_limits.h:105:1:
    32  	INTPTR_MIN                    = -2147483648          // common_int_limits.h:104:1:
    33  	INT_FAST16_MAX                = 2147483647           // common_int_limits.h:93:1:
    34  	INT_FAST16_MIN                = -2147483648          // common_int_limits.h:87:1:
    35  	INT_FAST32_MAX                = 2147483647           // common_int_limits.h:94:1:
    36  	INT_FAST32_MIN                = -2147483648          // common_int_limits.h:88:1:
    37  	INT_FAST64_MAX                = 9223372036854775807  // common_int_limits.h:95:1:
    38  	INT_FAST64_MIN                = -9223372036854775808 // common_int_limits.h:89:1:
    39  	INT_FAST8_MAX                 = 2147483647           // common_int_limits.h:92:1:
    40  	INT_FAST8_MIN                 = -2147483648          // common_int_limits.h:86:1:
    41  	INT_LEAST16_MAX               = 32767                // common_int_limits.h:73:1:
    42  	INT_LEAST16_MIN               = -32768               // common_int_limits.h:67:1:
    43  	INT_LEAST32_MAX               = 2147483647           // common_int_limits.h:74:1:
    44  	INT_LEAST32_MIN               = -2147483648          // common_int_limits.h:68:1:
    45  	INT_LEAST64_MAX               = 9223372036854775807  // common_int_limits.h:75:1:
    46  	INT_LEAST64_MIN               = -9223372036854775808 // common_int_limits.h:69:1:
    47  	INT_LEAST8_MAX                = 127                  // common_int_limits.h:72:1:
    48  	INT_LEAST8_MIN                = -128                 // common_int_limits.h:66:1:
    49  	LITTLE_ENDIAN                 = 1234                 // endian.h:100:1:
    50  	NBBY                          = 8                    // types.h:316:1:
    51  	NFDBITS                       = 32                   // fd_set.h:93:1:
    52  	NODEVMAJOR                    = -1                   // types.h:258:1:
    53  	PDP_ENDIAN                    = 3412                 // endian.h:102:1:
    54  	PTRDIFF_MAX                   = 2147483647           // common_int_limits.h:121:1:
    55  	PTRDIFF_MIN                   = -2147483648          // common_int_limits.h:120:1:
    56  	SIG_ATOMIC_MAX                = 2147483647           // common_int_limits.h:125:1:
    57  	SIG_ATOMIC_MIN                = -2147483648          // common_int_limits.h:124:1:
    58  	SIZE_MAX                      = 4294967295           // common_int_limits.h:128:1:
    59  	UINT16_MAX                    = 65535                // common_int_limits.h:59:1:
    60  	UINT32_MAX                    = 4294967295           // common_int_limits.h:60:1:
    61  	UINT64_MAX                    = 18446744073709551615 // common_int_limits.h:61:1:
    62  	UINT8_MAX                     = 255                  // common_int_limits.h:58:1:
    63  	UINTMAX_MAX                   = 18446744073709551615 // common_int_limits.h:112:1:
    64  	UINTPTR_MAX                   = 4294967295           // common_int_limits.h:106:1:
    65  	UINT_FAST16_MAX               = 4294967295           // common_int_limits.h:99:1:
    66  	UINT_FAST32_MAX               = 4294967295           // common_int_limits.h:100:1:
    67  	UINT_FAST64_MAX               = 18446744073709551615 // common_int_limits.h:101:1:
    68  	UINT_FAST8_MAX                = 4294967295           // common_int_limits.h:98:1:
    69  	UINT_LEAST16_MAX              = 65535                // common_int_limits.h:79:1:
    70  	UINT_LEAST32_MAX              = 4294967295           // common_int_limits.h:80:1:
    71  	UINT_LEAST64_MAX              = 18446744073709551615 // common_int_limits.h:81:1:
    72  	UINT_LEAST8_MAX               = 255                  // common_int_limits.h:78:1:
    73  	WCHAR_MAX                     = 2147483647           // wchar_limits.h:50:1:
    74  	WCHAR_MIN                     = -2147483648          // wchar_limits.h:42:1:
    75  	WINT_MAX                      = 2147483647           // wchar_limits.h:68:1:
    76  	WINT_MIN                      = -2147483648          // wchar_limits.h:60:1:
    77  	X_ARM_ARCH_4T                 = 0                    // cdefs.h:44:1:
    78  	X_ARM_ARCH_5                  = 0                    // cdefs.h:40:1:
    79  	X_ARM_ARCH_5T                 = 0                    // cdefs.h:36:1:
    80  	X_ARM_ARCH_6                  = 0                    // cdefs.h:31:1:
    81  	X_ARM_ARCH_7                  = 0                    // cdefs.h:20:1:
    82  	X_ARM_ARCH_DWORD_OK           = 0                    // cdefs.h:51:1:
    83  	X_ARM_ARCH_T2                 = 0                    // cdefs.h:24:1:
    84  	X_ARM_BSWAP_H_                = 0                    // bswap.h:4:1:
    85  	X_ARM_BYTE_SWAP_H_            = 0                    // byte_swap.h:33:1:
    86  	X_ARM_CDEFS_H_                = 0                    // cdefs.h:4:1:
    87  	X_ARM_INT_CONST_H_            = 0                    // int_const.h:33:1:
    88  	X_ARM_INT_LIMITS_H_           = 0                    // int_limits.h:33:1:
    89  	X_ARM_INT_MWGWTYPES_H_        = 0                    // int_mwgwtypes.h:33:1:
    90  	X_ARM_INT_TYPES_H_            = 0                    // int_types.h:33:1:
    91  	X_ARM_TYPES_H_                = 0                    // types.h:35:1:
    92  	X_ARM_WCHAR_LIMITS_H_         = 0                    // wchar_limits.h:33:1:
    93  	X_BIG_ENDIAN                  = 4321                 // endian.h:44:1:
    94  	X_BSD_INT16_T_                = 0                    // types.h:65:1:
    95  	X_BSD_INT32_T_                = 0                    // types.h:75:1:
    96  	X_BSD_INT64_T_                = 0                    // types.h:85:1:
    97  	X_BSD_INT8_T_                 = 0                    // types.h:55:1:
    98  	X_BSD_INTPTR_T_               = 0                    // stdint.h:80:1:
    99  	X_BSD_UINT16_T_               = 0                    // types.h:70:1:
   100  	X_BSD_UINT32_T_               = 0                    // types.h:80:1:
   101  	X_BSD_UINT64_T_               = 0                    // types.h:90:1:
   102  	X_BSD_UINT8_T_                = 0                    // types.h:60:1:
   103  	X_BSD_UINTPTR_T_              = 0                    // stdint.h:85:1:
   104  	X_BYTE_ORDER                  = 1234                 // endian_machdep.h:7:1:
   105  	X_FILE_OFFSET_BITS            = 64                   // <builtin>:25:1:
   106  	X_LIB_PTHREAD_TYPES_H         = 0                    // pthread_types.h:33:1:
   107  	X_LITTLE_ENDIAN               = 1234                 // endian.h:43:1:
   108  	X_NETBSD_SOURCE               = 1                    // featuretest.h:70:1:
   109  	X_PDP_ENDIAN                  = 3412                 // endian.h:45:1:
   110  	X_PT_BARRIERATTR_DEAD         = 0xDEAD0808           // pthread_types.h:278:1:
   111  	X_PT_BARRIERATTR_MAGIC        = 0x88880808           // pthread_types.h:277:1:
   112  	X_PT_BARRIER_DEAD             = 0xDEAD0008           // pthread_types.h:270:1:
   113  	X_PT_BARRIER_MAGIC            = 0x88880008           // pthread_types.h:269:1:
   114  	X_PT_CONDATTR_DEAD            = 0xDEAD0006           // pthread_types.h:197:1:
   115  	X_PT_CONDATTR_MAGIC           = 0x66660006           // pthread_types.h:196:1:
   116  	X_PT_COND_DEAD                = 0xDEAD0005           // pthread_types.h:182:1:
   117  	X_PT_COND_MAGIC               = 0x55550005           // pthread_types.h:181:1:
   118  	X_PT_MUTEXATTR_DEAD           = 0xDEAD0004           // pthread_types.h:167:1:
   119  	X_PT_MUTEXATTR_MAGIC          = 0x44440004           // pthread_types.h:166:1:
   120  	X_PT_MUTEX_DEAD               = 0xDEAD0003           // pthread_types.h:139:1:
   121  	X_PT_MUTEX_MAGIC              = 0x33330003           // pthread_types.h:138:1:
   122  	X_PT_RWLOCKATTR_DEAD          = 0xDEAD0909           // pthread_types.h:253:1:
   123  	X_PT_RWLOCKATTR_MAGIC         = 0x99990909           // pthread_types.h:252:1:
   124  	X_PT_RWLOCK_DEAD              = 0xDEAD0009           // pthread_types.h:236:1:
   125  	X_PT_RWLOCK_MAGIC             = 0x99990009           // pthread_types.h:235:1:
   126  	X_PT_SPINLOCK_DEAD            = 0xDEAD0007           // pthread_types.h:213:1:
   127  	X_PT_SPINLOCK_MAGIC           = 0x77770007           // pthread_types.h:212:1:
   128  	X_PT_SPINLOCK_PSHARED         = 0x00000001           // pthread_types.h:214:1:
   129  	X_QUAD_HIGHWORD               = 1                    // endian.h:84:1:
   130  	X_QUAD_LOWWORD                = 0                    // endian.h:85:1:
   131  	X_SIZE_T                      = 0                    // types.h:279:1:
   132  	X_SYS_ANSI_H_                 = 0                    // ansi.h:33:1:
   133  	X_SYS_BSWAP_H_                = 0                    // bswap.h:6:1:
   134  	X_SYS_CDEFS_ELF_H_            = 0                    // cdefs_elf.h:31:1:
   135  	X_SYS_CDEFS_H_                = 0                    // cdefs.h:37:1:
   136  	X_SYS_COMMON_ANSI_H_          = 0                    // common_ansi.h:33:1:
   137  	X_SYS_COMMON_INT_LIMITS_H_    = 0                    // common_int_limits.h:33:1:
   138  	X_SYS_COMMON_INT_MWGWTYPES_H_ = 0                    // common_int_mwgwtypes.h:33:1:
   139  	X_SYS_COMMON_INT_TYPES_H_     = 0                    // common_int_types.h:33:1:
   140  	X_SYS_ENDIAN_H_               = 0                    // endian.h:35:1:
   141  	X_SYS_FD_SET_H_               = 0                    // fd_set.h:35:1:
   142  	X_SYS_STDINT_H_               = 0                    // stdint.h:33:1:
   143  	X_SYS_TYPES_H_                = 0                    // types.h:40:1:
   144  )
   145  
   146  type Ptrdiff_t = int32 /* <builtin>:3:26 */
   147  
   148  type Size_t = uint32 /* <builtin>:9:23 */
   149  
   150  type Wchar_t = int32 /* <builtin>:15:24 */
   151  
   152  type X__builtin_va_list = uintptr /* <builtin>:46:14 */
   153  type X__float128 = float64        /* <builtin>:47:21 */
   154  
   155  // return true if value 'a' fits in type 't'
   156  
   157  //	$NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
   158  
   159  // Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
   160  // Public domain.
   161  //
   162  // NOTE: Do not protect this header against multiple inclusion.  Doing
   163  // so can have subtle side-effects due to header file inclusion order
   164  // and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE.  Instead,
   165  // protect each CPP macro that we want to supply.
   166  
   167  // Feature-test macros are defined by several standards, and allow an
   168  // application to specify what symbols they want the system headers to
   169  // expose, and hence what standard they want them to conform to.
   170  // There are two classes of feature-test macros.  The first class
   171  // specify complete standards, and if one of these is defined, header
   172  // files will try to conform to the relevant standard.  They are:
   173  //
   174  // ANSI macros:
   175  // _ANSI_SOURCE			ANSI C89
   176  //
   177  // POSIX macros:
   178  // _POSIX_SOURCE == 1		IEEE Std 1003.1 (version?)
   179  // _POSIX_C_SOURCE == 1		IEEE Std 1003.1-1990
   180  // _POSIX_C_SOURCE == 2		IEEE Std 1003.2-1992
   181  // _POSIX_C_SOURCE == 199309L	IEEE Std 1003.1b-1993
   182  // _POSIX_C_SOURCE == 199506L	ISO/IEC 9945-1:1996
   183  // _POSIX_C_SOURCE == 200112L	IEEE Std 1003.1-2001
   184  // _POSIX_C_SOURCE == 200809L   IEEE Std 1003.1-2008
   185  //
   186  // X/Open macros:
   187  // _XOPEN_SOURCE		System Interfaces and Headers, Issue 4, Ver 2
   188  // _XOPEN_SOURCE_EXTENDED == 1	XSH4.2 UNIX extensions
   189  // _XOPEN_SOURCE == 500		System Interfaces and Headers, Issue 5
   190  // _XOPEN_SOURCE == 520		Networking Services (XNS), Issue 5.2
   191  // _XOPEN_SOURCE == 600		IEEE Std 1003.1-2001, XSI option
   192  // _XOPEN_SOURCE == 700		IEEE Std 1003.1-2008, XSI option
   193  //
   194  // NetBSD macros:
   195  // _NETBSD_SOURCE == 1		Make all NetBSD features available.
   196  //
   197  // If more than one of these "major" feature-test macros is defined,
   198  // then the set of facilities provided (and namespace used) is the
   199  // union of that specified by the relevant standards, and in case of
   200  // conflict, the earlier standard in the above list has precedence (so
   201  // if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
   202  // of rename() that's used is the POSIX one).  If none of the "major"
   203  // feature-test macros is defined, _NETBSD_SOURCE is assumed.
   204  //
   205  // There are also "minor" feature-test macros, which enable extra
   206  // functionality in addition to some base standard.  They should be
   207  // defined along with one of the "major" macros.  The "minor" macros
   208  // are:
   209  //
   210  // _REENTRANT
   211  // _ISOC99_SOURCE
   212  // _ISOC11_SOURCE
   213  // _LARGEFILE_SOURCE		Large File Support
   214  //		<http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
   215  
   216  //	$NetBSD: int_types.h,v 1.17 2014/07/25 21:43:13 joerg Exp $
   217  
   218  // -
   219  // Copyright (c) 2014 The NetBSD Foundation, Inc.
   220  // All rights reserved.
   221  //
   222  // This code is derived from software contributed to The NetBSD Foundation
   223  // by Matt Thomas of 3am Software Foundry.
   224  //
   225  // Redistribution and use in source and binary forms, with or without
   226  // modification, are permitted provided that the following conditions
   227  // are met:
   228  // 1. Redistributions of source code must retain the above copyright
   229  //    notice, this list of conditions and the following disclaimer.
   230  // 2. Redistributions in binary form must reproduce the above copyright
   231  //    notice, this list of conditions and the following disclaimer in the
   232  //    documentation and/or other materials provided with the distribution.
   233  //
   234  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   235  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   236  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   237  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   238  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   239  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   240  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   241  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   242  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   243  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   244  // POSSIBILITY OF SUCH DAMAGE.
   245  
   246  //	$NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
   247  
   248  // -
   249  // Copyright (c) 2014 The NetBSD Foundation, Inc.
   250  // All rights reserved.
   251  //
   252  // This code is derived from software contributed to The NetBSD Foundation
   253  // by Joerg Sonnenberger.
   254  //
   255  // Redistribution and use in source and binary forms, with or without
   256  // modification, are permitted provided that the following conditions
   257  // are met:
   258  // 1. Redistributions of source code must retain the above copyright
   259  //    notice, this list of conditions and the following disclaimer.
   260  // 2. Redistributions in binary form must reproduce the above copyright
   261  //    notice, this list of conditions and the following disclaimer in the
   262  //    documentation and/or other materials provided with the distribution.
   263  //
   264  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   265  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   266  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   267  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   268  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   269  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   270  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   271  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   272  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   273  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   274  // POSSIBILITY OF SUCH DAMAGE.
   275  
   276  // 7.18.1 Integer types
   277  
   278  // 7.18.1.1 Exact-width integer types
   279  
   280  type X__int8_t = int8     /* common_int_types.h:45:27 */
   281  type X__uint8_t = uint8   /* common_int_types.h:46:27 */
   282  type X__int16_t = int16   /* common_int_types.h:47:27 */
   283  type X__uint16_t = uint16 /* common_int_types.h:48:27 */
   284  type X__int32_t = int32   /* common_int_types.h:49:27 */
   285  type X__uint32_t = uint32 /* common_int_types.h:50:27 */
   286  type X__int64_t = int64   /* common_int_types.h:51:27 */
   287  type X__uint64_t = uint64 /* common_int_types.h:52:27 */
   288  
   289  // 7.18.1.4 Integer types capable of holding object pointers
   290  
   291  type X__intptr_t = int32   /* common_int_types.h:58:27 */
   292  type X__uintptr_t = uint32 /* common_int_types.h:59:26 */
   293  
   294  // This should have always been an 8-bit type, but since it's been exposed
   295  // to user-space, we don't want ABI breakage there.
   296  type X__cpu_simple_lock_nv_t = int32 /* types.h:75:14 */
   297  type X__register_t = int32           /* types.h:77:14 */
   298  
   299  //	$NetBSD: ansi.h,v 1.18 2019/05/07 03:49:26 kamil Exp $
   300  
   301  //	$NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
   302  
   303  // -
   304  // Copyright (c) 2014 The NetBSD Foundation, Inc.
   305  // All rights reserved.
   306  //
   307  // This code is derived from software contributed to The NetBSD Foundation
   308  // by Matt Thomas of 3am Software Foundry.
   309  //
   310  // Redistribution and use in source and binary forms, with or without
   311  // modification, are permitted provided that the following conditions
   312  // are met:
   313  // 1. Redistributions of source code must retain the above copyright
   314  //    notice, this list of conditions and the following disclaimer.
   315  // 2. Redistributions in binary form must reproduce the above copyright
   316  //    notice, this list of conditions and the following disclaimer in the
   317  //    documentation and/or other materials provided with the distribution.
   318  //
   319  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   320  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   321  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   322  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   323  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   324  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   325  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   326  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   327  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   328  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   329  // POSSIBILITY OF SUCH DAMAGE.
   330  
   331  //	$NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
   332  
   333  // * Copyright (c) 1991, 1993
   334  //	The Regents of the University of California.  All rights reserved.
   335  //
   336  // This code is derived from software contributed to Berkeley by
   337  // Berkeley Software Design, Inc.
   338  //
   339  // Redistribution and use in source and binary forms, with or without
   340  // modification, are permitted provided that the following conditions
   341  // are met:
   342  // 1. Redistributions of source code must retain the above copyright
   343  //    notice, this list of conditions and the following disclaimer.
   344  // 2. Redistributions in binary form must reproduce the above copyright
   345  //    notice, this list of conditions and the following disclaimer in the
   346  //    documentation and/or other materials provided with the distribution.
   347  // 3. Neither the name of the University nor the names of its contributors
   348  //    may be used to endorse or promote products derived from this software
   349  //    without specific prior written permission.
   350  //
   351  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   352  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   353  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   354  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   355  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   356  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   357  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   358  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   359  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   360  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   361  // SUCH DAMAGE.
   362  //
   363  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
   364  
   365  //	$NetBSD: int_types.h,v 1.17 2014/07/25 21:43:13 joerg Exp $
   366  
   367  // -
   368  // Copyright (c) 2014 The NetBSD Foundation, Inc.
   369  // All rights reserved.
   370  //
   371  // This code is derived from software contributed to The NetBSD Foundation
   372  // by Matt Thomas of 3am Software Foundry.
   373  //
   374  // Redistribution and use in source and binary forms, with or without
   375  // modification, are permitted provided that the following conditions
   376  // are met:
   377  // 1. Redistributions of source code must retain the above copyright
   378  //    notice, this list of conditions and the following disclaimer.
   379  // 2. Redistributions in binary form must reproduce the above copyright
   380  //    notice, this list of conditions and the following disclaimer in the
   381  //    documentation and/or other materials provided with the distribution.
   382  //
   383  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   384  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   385  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   386  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   387  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   388  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   389  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   390  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   391  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   392  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   393  // POSSIBILITY OF SUCH DAMAGE.
   394  
   395  // Types which are fundamental to the implementation and may appear in
   396  // more than one standard header are defined here.  Standard headers
   397  // then use:
   398  //	#ifdef	_BSD_SIZE_T_
   399  //	typedef	_BSD_SIZE_T_ size_t;
   400  //	#undef	_BSD_SIZE_T_
   401  //	#endif
   402  
   403  //	$NetBSD: int_types.h,v 1.17 2014/07/25 21:43:13 joerg Exp $
   404  
   405  // -
   406  // Copyright (c) 2014 The NetBSD Foundation, Inc.
   407  // All rights reserved.
   408  //
   409  // This code is derived from software contributed to The NetBSD Foundation
   410  // by Matt Thomas of 3am Software Foundry.
   411  //
   412  // Redistribution and use in source and binary forms, with or without
   413  // modification, are permitted provided that the following conditions
   414  // are met:
   415  // 1. Redistributions of source code must retain the above copyright
   416  //    notice, this list of conditions and the following disclaimer.
   417  // 2. Redistributions in binary form must reproduce the above copyright
   418  //    notice, this list of conditions and the following disclaimer in the
   419  //    documentation and/or other materials provided with the distribution.
   420  //
   421  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   422  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   423  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   424  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   425  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   426  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   427  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   428  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   429  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   430  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   431  // POSSIBILITY OF SUCH DAMAGE.
   432  
   433  //	$NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
   434  
   435  // -
   436  // Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
   437  // All rights reserved.
   438  //
   439  // This code is derived from software contributed to The NetBSD Foundation
   440  // by Jun-ichiro itojun Hagino and by Klaus Klein.
   441  //
   442  // Redistribution and use in source and binary forms, with or without
   443  // modification, are permitted provided that the following conditions
   444  // are met:
   445  // 1. Redistributions of source code must retain the above copyright
   446  //    notice, this list of conditions and the following disclaimer.
   447  // 2. Redistributions in binary form must reproduce the above copyright
   448  //    notice, this list of conditions and the following disclaimer in the
   449  //    documentation and/or other materials provided with the distribution.
   450  //
   451  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   452  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   453  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   454  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   455  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   456  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   457  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   458  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   459  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   460  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   461  // POSSIBILITY OF SUCH DAMAGE.
   462  
   463  //	$NetBSD: ansi.h,v 1.18 2019/05/07 03:49:26 kamil Exp $
   464  
   465  //	$NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
   466  
   467  // -
   468  // Copyright (c) 2014 The NetBSD Foundation, Inc.
   469  // All rights reserved.
   470  //
   471  // This code is derived from software contributed to The NetBSD Foundation
   472  // by Matt Thomas of 3am Software Foundry.
   473  //
   474  // Redistribution and use in source and binary forms, with or without
   475  // modification, are permitted provided that the following conditions
   476  // are met:
   477  // 1. Redistributions of source code must retain the above copyright
   478  //    notice, this list of conditions and the following disclaimer.
   479  // 2. Redistributions in binary form must reproduce the above copyright
   480  //    notice, this list of conditions and the following disclaimer in the
   481  //    documentation and/or other materials provided with the distribution.
   482  //
   483  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   484  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   485  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   486  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   487  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   488  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   489  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   490  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   491  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   492  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   493  // POSSIBILITY OF SUCH DAMAGE.
   494  
   495  type X__caddr_t = uintptr        /* ansi.h:37:14 */ // core address
   496  type X__gid_t = X__uint32_t      /* ansi.h:38:20 */ // group id
   497  type X__in_addr_t = X__uint32_t  /* ansi.h:39:20 */ // IP(v4) address
   498  type X__in_port_t = X__uint16_t  /* ansi.h:40:20 */ // "Internet" port number
   499  type X__mode_t = X__uint32_t     /* ansi.h:41:20 */ // file permissions
   500  type X__off_t = X__int64_t       /* ansi.h:42:19 */ // file offset
   501  type X__pid_t = X__int32_t       /* ansi.h:43:19 */ // process id
   502  type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
   503  type X__socklen_t = uint32       /* ansi.h:45:22 */ // socket-related datum length
   504  type X__uid_t = X__uint32_t      /* ansi.h:46:20 */ // user id
   505  type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
   506  type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
   507  type X__wctrans_t = uintptr      /* ansi.h:51:32 */
   508  type X__wctype_t = uintptr       /* ansi.h:54:31 */
   509  
   510  // mbstate_t is an opaque object to keep conversion state, during multibyte
   511  // stream conversions.  The content must not be referenced by user programs.
   512  type X__mbstate_t = struct {
   513  	F__mbstateL  X__int64_t
   514  	F__ccgo_pad1 [120]byte
   515  } /* ansi.h:63:3 */
   516  
   517  type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
   518  
   519  type Int8_t = X__int8_t /* types.h:54:18 */
   520  
   521  type Uint8_t = X__uint8_t /* types.h:59:19 */
   522  
   523  type Int16_t = X__int16_t /* types.h:64:19 */
   524  
   525  type Uint16_t = X__uint16_t /* types.h:69:20 */
   526  
   527  type Int32_t = X__int32_t /* types.h:74:19 */
   528  
   529  type Uint32_t = X__uint32_t /* types.h:79:20 */
   530  
   531  type Int64_t = X__int64_t /* types.h:84:19 */
   532  
   533  type Uint64_t = X__uint64_t /* types.h:89:20 */
   534  
   535  type U_int8_t = Uint8_t   /* types.h:93:18 */
   536  type U_int16_t = Uint16_t /* types.h:94:18 */
   537  type U_int32_t = Uint32_t /* types.h:95:18 */
   538  type U_int64_t = Uint64_t /* types.h:96:18 */
   539  
   540  //	$NetBSD: endian.h,v 1.3 2001/06/23 12:20:27 bjh21 Exp $
   541  
   542  //	$NetBSD: endian.h,v 1.30 2016/02/27 21:37:35 christos Exp $
   543  
   544  // Copyright (c) 1987, 1991, 1993
   545  //	The Regents of the University of California.  All rights reserved.
   546  //
   547  // Redistribution and use in source and binary forms, with or without
   548  // modification, are permitted provided that the following conditions
   549  // are met:
   550  // 1. Redistributions of source code must retain the above copyright
   551  //    notice, this list of conditions and the following disclaimer.
   552  // 2. Redistributions in binary form must reproduce the above copyright
   553  //    notice, this list of conditions and the following disclaimer in the
   554  //    documentation and/or other materials provided with the distribution.
   555  // 3. Neither the name of the University nor the names of its contributors
   556  //    may be used to endorse or promote products derived from this software
   557  //    without specific prior written permission.
   558  //
   559  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   560  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   561  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   562  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   563  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   564  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   565  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   566  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   567  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   568  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   569  // SUCH DAMAGE.
   570  //
   571  //	@(#)endian.h	8.1 (Berkeley) 6/11/93
   572  
   573  //	$NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
   574  
   575  // Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
   576  // Public domain.
   577  //
   578  // NOTE: Do not protect this header against multiple inclusion.  Doing
   579  // so can have subtle side-effects due to header file inclusion order
   580  // and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE.  Instead,
   581  // protect each CPP macro that we want to supply.
   582  
   583  // Feature-test macros are defined by several standards, and allow an
   584  // application to specify what symbols they want the system headers to
   585  // expose, and hence what standard they want them to conform to.
   586  // There are two classes of feature-test macros.  The first class
   587  // specify complete standards, and if one of these is defined, header
   588  // files will try to conform to the relevant standard.  They are:
   589  //
   590  // ANSI macros:
   591  // _ANSI_SOURCE			ANSI C89
   592  //
   593  // POSIX macros:
   594  // _POSIX_SOURCE == 1		IEEE Std 1003.1 (version?)
   595  // _POSIX_C_SOURCE == 1		IEEE Std 1003.1-1990
   596  // _POSIX_C_SOURCE == 2		IEEE Std 1003.2-1992
   597  // _POSIX_C_SOURCE == 199309L	IEEE Std 1003.1b-1993
   598  // _POSIX_C_SOURCE == 199506L	ISO/IEC 9945-1:1996
   599  // _POSIX_C_SOURCE == 200112L	IEEE Std 1003.1-2001
   600  // _POSIX_C_SOURCE == 200809L   IEEE Std 1003.1-2008
   601  //
   602  // X/Open macros:
   603  // _XOPEN_SOURCE		System Interfaces and Headers, Issue 4, Ver 2
   604  // _XOPEN_SOURCE_EXTENDED == 1	XSH4.2 UNIX extensions
   605  // _XOPEN_SOURCE == 500		System Interfaces and Headers, Issue 5
   606  // _XOPEN_SOURCE == 520		Networking Services (XNS), Issue 5.2
   607  // _XOPEN_SOURCE == 600		IEEE Std 1003.1-2001, XSI option
   608  // _XOPEN_SOURCE == 700		IEEE Std 1003.1-2008, XSI option
   609  //
   610  // NetBSD macros:
   611  // _NETBSD_SOURCE == 1		Make all NetBSD features available.
   612  //
   613  // If more than one of these "major" feature-test macros is defined,
   614  // then the set of facilities provided (and namespace used) is the
   615  // union of that specified by the relevant standards, and in case of
   616  // conflict, the earlier standard in the above list has precedence (so
   617  // if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
   618  // of rename() that's used is the POSIX one).  If none of the "major"
   619  // feature-test macros is defined, _NETBSD_SOURCE is assumed.
   620  //
   621  // There are also "minor" feature-test macros, which enable extra
   622  // functionality in addition to some base standard.  They should be
   623  // defined along with one of the "major" macros.  The "minor" macros
   624  // are:
   625  //
   626  // _REENTRANT
   627  // _ISOC99_SOURCE
   628  // _ISOC11_SOURCE
   629  // _LARGEFILE_SOURCE		Large File Support
   630  //		<http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
   631  
   632  // Definitions for byte order, according to byte significance from low
   633  // address to high.
   634  
   635  // C-family endian-ness definitions
   636  
   637  //	$NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
   638  
   639  // -
   640  // Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
   641  // All rights reserved.
   642  //
   643  // This code is derived from software contributed to The NetBSD Foundation
   644  // by Jun-ichiro itojun Hagino and by Klaus Klein.
   645  //
   646  // Redistribution and use in source and binary forms, with or without
   647  // modification, are permitted provided that the following conditions
   648  // are met:
   649  // 1. Redistributions of source code must retain the above copyright
   650  //    notice, this list of conditions and the following disclaimer.
   651  // 2. Redistributions in binary form must reproduce the above copyright
   652  //    notice, this list of conditions and the following disclaimer in the
   653  //    documentation and/or other materials provided with the distribution.
   654  //
   655  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   656  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   657  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   658  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   659  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   660  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   661  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   662  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   663  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   664  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   665  // POSSIBILITY OF SUCH DAMAGE.
   666  
   667  //	$NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
   668  
   669  // * Copyright (c) 1991, 1993
   670  //	The Regents of the University of California.  All rights reserved.
   671  //
   672  // This code is derived from software contributed to Berkeley by
   673  // Berkeley Software Design, Inc.
   674  //
   675  // Redistribution and use in source and binary forms, with or without
   676  // modification, are permitted provided that the following conditions
   677  // are met:
   678  // 1. Redistributions of source code must retain the above copyright
   679  //    notice, this list of conditions and the following disclaimer.
   680  // 2. Redistributions in binary form must reproduce the above copyright
   681  //    notice, this list of conditions and the following disclaimer in the
   682  //    documentation and/or other materials provided with the distribution.
   683  // 3. Neither the name of the University nor the names of its contributors
   684  //    may be used to endorse or promote products derived from this software
   685  //    without specific prior written permission.
   686  //
   687  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   688  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   689  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   690  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   691  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   692  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   693  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   694  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   695  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   696  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   697  // SUCH DAMAGE.
   698  //
   699  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
   700  
   701  //	$NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
   702  
   703  // -
   704  // Copyright (c) 1982, 1986, 1991, 1993, 1994
   705  //	The Regents of the University of California.  All rights reserved.
   706  // (c) UNIX System Laboratories, Inc.
   707  // All or some portions of this file are derived from material licensed
   708  // to the University of California by American Telephone and Telegraph
   709  // Co. or Unix System Laboratories, Inc. and are reproduced herein with
   710  // the permission of UNIX System Laboratories, Inc.
   711  //
   712  // Redistribution and use in source and binary forms, with or without
   713  // modification, are permitted provided that the following conditions
   714  // are met:
   715  // 1. Redistributions of source code must retain the above copyright
   716  //    notice, this list of conditions and the following disclaimer.
   717  // 2. Redistributions in binary form must reproduce the above copyright
   718  //    notice, this list of conditions and the following disclaimer in the
   719  //    documentation and/or other materials provided with the distribution.
   720  // 3. Neither the name of the University nor the names of its contributors
   721  //    may be used to endorse or promote products derived from this software
   722  //    without specific prior written permission.
   723  //
   724  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   725  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   726  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   727  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   728  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   729  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   730  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   731  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   732  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   733  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   734  // SUCH DAMAGE.
   735  //
   736  //	@(#)types.h	8.4 (Berkeley) 1/21/94
   737  
   738  type In_addr_t = X__in_addr_t /* endian.h:58:21 */
   739  
   740  type In_port_t = X__in_port_t /* endian.h:63:21 */
   741  
   742  //      $NetBSD: bswap.h,v 1.19 2015/03/12 15:28:16 christos Exp $
   743  
   744  // Written by Manuel Bouyer. Public domain
   745  
   746  //	$NetBSD: stdint.h,v 1.8 2018/11/06 16:26:44 maya Exp $
   747  
   748  // -
   749  // Copyright (c) 2001, 2004 The NetBSD Foundation, Inc.
   750  // All rights reserved.
   751  //
   752  // This code is derived from software contributed to The NetBSD Foundation
   753  // by Klaus Klein.
   754  //
   755  // Redistribution and use in source and binary forms, with or without
   756  // modification, are permitted provided that the following conditions
   757  // are met:
   758  // 1. Redistributions of source code must retain the above copyright
   759  //    notice, this list of conditions and the following disclaimer.
   760  // 2. Redistributions in binary form must reproduce the above copyright
   761  //    notice, this list of conditions and the following disclaimer in the
   762  //    documentation and/or other materials provided with the distribution.
   763  //
   764  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   765  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   766  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   767  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   768  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   769  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   770  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   771  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   772  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   773  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   774  // POSSIBILITY OF SUCH DAMAGE.
   775  
   776  //	$NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
   777  
   778  // * Copyright (c) 1991, 1993
   779  //	The Regents of the University of California.  All rights reserved.
   780  //
   781  // This code is derived from software contributed to Berkeley by
   782  // Berkeley Software Design, Inc.
   783  //
   784  // Redistribution and use in source and binary forms, with or without
   785  // modification, are permitted provided that the following conditions
   786  // are met:
   787  // 1. Redistributions of source code must retain the above copyright
   788  //    notice, this list of conditions and the following disclaimer.
   789  // 2. Redistributions in binary form must reproduce the above copyright
   790  //    notice, this list of conditions and the following disclaimer in the
   791  //    documentation and/or other materials provided with the distribution.
   792  // 3. Neither the name of the University nor the names of its contributors
   793  //    may be used to endorse or promote products derived from this software
   794  //    without specific prior written permission.
   795  //
   796  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   797  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   798  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   799  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   800  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   801  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   802  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   803  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   804  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   805  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   806  // SUCH DAMAGE.
   807  //
   808  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
   809  
   810  //	$NetBSD: int_types.h,v 1.17 2014/07/25 21:43:13 joerg Exp $
   811  
   812  // -
   813  // Copyright (c) 2014 The NetBSD Foundation, Inc.
   814  // All rights reserved.
   815  //
   816  // This code is derived from software contributed to The NetBSD Foundation
   817  // by Matt Thomas of 3am Software Foundry.
   818  //
   819  // Redistribution and use in source and binary forms, with or without
   820  // modification, are permitted provided that the following conditions
   821  // are met:
   822  // 1. Redistributions of source code must retain the above copyright
   823  //    notice, this list of conditions and the following disclaimer.
   824  // 2. Redistributions in binary form must reproduce the above copyright
   825  //    notice, this list of conditions and the following disclaimer in the
   826  //    documentation and/or other materials provided with the distribution.
   827  //
   828  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   829  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   830  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   831  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   832  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   833  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   834  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   835  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   836  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   837  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   838  // POSSIBILITY OF SUCH DAMAGE.
   839  
   840  type Intptr_t = X__intptr_t /* stdint.h:79:20 */
   841  
   842  type Uintptr_t = X__uintptr_t /* stdint.h:84:21 */
   843  
   844  // $NetBSD: int_mwgwtypes.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
   845  
   846  // -
   847  // Copyright (c) 2014 The NetBSD Foundation, Inc.
   848  // All rights reserved.
   849  //
   850  // This code is derived from software contributed to The NetBSD Foundation
   851  // by Matt Thomas of 3am Software Foundry.
   852  //
   853  // Redistribution and use in source and binary forms, with or without
   854  // modification, are permitted provided that the following conditions
   855  // are met:
   856  // 1. Redistributions of source code must retain the above copyright
   857  //    notice, this list of conditions and the following disclaimer.
   858  // 2. Redistributions in binary form must reproduce the above copyright
   859  //    notice, this list of conditions and the following disclaimer in the
   860  //    documentation and/or other materials provided with the distribution.
   861  //
   862  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   863  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   864  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   865  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   866  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   867  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   868  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   869  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   870  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   871  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   872  // POSSIBILITY OF SUCH DAMAGE.
   873  
   874  //	$NetBSD: common_int_mwgwtypes.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
   875  
   876  // -
   877  // Copyright (c) 2014 The NetBSD Foundation, Inc.
   878  // All rights reserved.
   879  //
   880  // This code is derived from software contributed to The NetBSD Foundation
   881  // by Joerg Sonnenberger.
   882  //
   883  // Redistribution and use in source and binary forms, with or without
   884  // modification, are permitted provided that the following conditions
   885  // are met:
   886  // 1. Redistributions of source code must retain the above copyright
   887  //    notice, this list of conditions and the following disclaimer.
   888  // 2. Redistributions in binary form must reproduce the above copyright
   889  //    notice, this list of conditions and the following disclaimer in the
   890  //    documentation and/or other materials provided with the distribution.
   891  //
   892  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   893  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   894  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   895  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   896  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   897  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   898  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   899  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   900  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   901  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   902  // POSSIBILITY OF SUCH DAMAGE.
   903  
   904  // 7.18.1 Integer types
   905  
   906  // 7.18.1.2 Minimum-width integer types
   907  
   908  type Int_least8_t = int8     /* common_int_mwgwtypes.h:45:32 */
   909  type Uint_least8_t = uint8   /* common_int_mwgwtypes.h:46:32 */
   910  type Int_least16_t = int16   /* common_int_mwgwtypes.h:47:32 */
   911  type Uint_least16_t = uint16 /* common_int_mwgwtypes.h:48:32 */
   912  type Int_least32_t = int32   /* common_int_mwgwtypes.h:49:32 */
   913  type Uint_least32_t = uint32 /* common_int_mwgwtypes.h:50:32 */
   914  type Int_least64_t = int64   /* common_int_mwgwtypes.h:51:32 */
   915  type Uint_least64_t = uint64 /* common_int_mwgwtypes.h:52:32 */
   916  
   917  // 7.18.1.3 Fastest minimum-width integer types
   918  type Int_fast8_t = int32    /* common_int_mwgwtypes.h:55:32 */
   919  type Uint_fast8_t = uint32  /* common_int_mwgwtypes.h:56:32 */
   920  type Int_fast16_t = int32   /* common_int_mwgwtypes.h:57:32 */
   921  type Uint_fast16_t = uint32 /* common_int_mwgwtypes.h:58:32 */
   922  type Int_fast32_t = int32   /* common_int_mwgwtypes.h:59:32 */
   923  type Uint_fast32_t = uint32 /* common_int_mwgwtypes.h:60:32 */
   924  type Int_fast64_t = int64   /* common_int_mwgwtypes.h:61:32 */
   925  type Uint_fast64_t = uint64 /* common_int_mwgwtypes.h:62:32 */
   926  
   927  // 7.18.1.5 Greatest-width integer types
   928  
   929  type Intmax_t = int64   /* common_int_mwgwtypes.h:66:33 */
   930  type Uintmax_t = uint64 /* common_int_mwgwtypes.h:67:32 */
   931  
   932  type U_char = uint8   /* types.h:101:23 */
   933  type U_short = uint16 /* types.h:102:24 */
   934  type U_int = uint32   /* types.h:103:22 */
   935  type U_long = uint32  /* types.h:104:23 */
   936  
   937  type Unchar = uint8  /* types.h:106:23 */ // Sys V compatibility
   938  type Ushort = uint16 /* types.h:107:24 */ // Sys V compatibility
   939  type Uint = uint32   /* types.h:108:22 */ // Sys V compatibility
   940  type Ulong = uint32  /* types.h:109:23 */ // Sys V compatibility
   941  
   942  type U_quad_t = Uint64_t /* types.h:112:18 */ // quads
   943  type Quad_t = Int64_t    /* types.h:113:18 */
   944  type Qaddr_t = uintptr   /* types.h:114:16 */
   945  
   946  // The types longlong_t and u_longlong_t exist for use with the
   947  // Sun-derived XDR routines involving these types, and their usage
   948  // in other contexts is discouraged.  Further note that these types
   949  // may not be equivalent to "long long" and "unsigned long long",
   950  // they are only guaranteed to be signed and unsigned 64-bit types
   951  // respectively.  Portable programs that need 64-bit types should use
   952  // the C99 types int64_t and uint64_t instead.
   953  
   954  type Longlong_t = Int64_t    /* types.h:126:18 */ // for XDR
   955  type U_longlong_t = Uint64_t /* types.h:127:18 */ // for XDR
   956  
   957  type Blkcnt_t = Int64_t  /* types.h:129:18 */ // fs block count
   958  type Blksize_t = Int32_t /* types.h:130:18 */ // fs optimal block size
   959  
   960  type Fsblkcnt_t = X__fsblkcnt_t /* types.h:133:22 */ // fs block count (statvfs)
   961  
   962  type Fsfilcnt_t = X__fsfilcnt_t /* types.h:138:22 */ // fs file count
   963  
   964  // We don't and shouldn't use caddr_t in the kernel anymore
   965  type Caddr_t = X__caddr_t /* types.h:145:19 */ // core address
   966  
   967  type Daddr_t = Int64_t /* types.h:154:18 */ // disk address
   968  
   969  type Dev_t = Uint64_t   /* types.h:157:18 */ // device number
   970  type Fixpt_t = Uint32_t /* types.h:158:18 */ // fixed point number
   971  
   972  type Gid_t = X__gid_t /* types.h:161:18 */ // group id
   973  
   974  type Id_t = Uint32_t  /* types.h:165:18 */ // group id, process id or user id
   975  type Ino_t = Uint64_t /* types.h:166:18 */ // inode number
   976  type Key_t = int32    /* types.h:167:15 */ // IPC key (for Sys V IPC)
   977  
   978  type Mode_t = X__mode_t /* types.h:170:18 */ // permissions
   979  
   980  type Nlink_t = Uint32_t /* types.h:174:18 */ // link count
   981  
   982  type Off_t = X__off_t /* types.h:177:18 */ // file offset
   983  
   984  type Pid_t = X__pid_t  /* types.h:182:18 */ // process id
   985  type Lwpid_t = Int32_t /* types.h:185:18 */ // LWP id
   986  type Rlim_t = Uint64_t /* types.h:186:18 */ // resource limit
   987  type Segsz_t = Int32_t /* types.h:187:18 */ // segment size
   988  type Swblk_t = Int32_t /* types.h:188:18 */ // swap offset
   989  
   990  type Uid_t = X__uid_t /* types.h:191:18 */ // user id
   991  
   992  type Mqd_t = int32 /* types.h:195:14 */
   993  
   994  type Cpuid_t = uint32 /* types.h:197:23 */
   995  
   996  type Psetid_t = int32 /* types.h:199:14 */
   997  
   998  type X__cpu_simple_lock_t = X__cpu_simple_lock_nv_t /* types.h:201:41 */
   999  
  1000  // Major, minor numbers, dev_t's.
  1001  type X__devmajor_t = Int32_t /* types.h:255:17 */
  1002  type X__devminor_t = Int32_t /* types.h:255:31 */
  1003  
  1004  type Clock_t = uint32 /* types.h:268:24 */
  1005  
  1006  type Ssize_t = int32 /* types.h:284:24 */
  1007  
  1008  type Time_t = X__int64_t /* types.h:289:23 */
  1009  
  1010  type Clockid_t = int32 /* types.h:294:26 */
  1011  
  1012  type Timer_t = int32 /* types.h:299:24 */
  1013  
  1014  type Suseconds_t = int32 /* types.h:304:27 */
  1015  
  1016  type Useconds_t = uint32 /* types.h:309:26 */
  1017  
  1018  //	$NetBSD: fd_set.h,v 1.7 2018/06/24 12:05:40 kamil Exp $
  1019  
  1020  // -
  1021  // Copyright (c) 1992, 1993
  1022  //	The Regents of the University of California.  All rights reserved.
  1023  //
  1024  // Redistribution and use in source and binary forms, with or without
  1025  // modification, are permitted provided that the following conditions
  1026  // are met:
  1027  // 1. Redistributions of source code must retain the above copyright
  1028  //    notice, this list of conditions and the following disclaimer.
  1029  // 2. Redistributions in binary form must reproduce the above copyright
  1030  //    notice, this list of conditions and the following disclaimer in the
  1031  //    documentation and/or other materials provided with the distribution.
  1032  // 3. Neither the name of the University nor the names of its contributors
  1033  //    may be used to endorse or promote products derived from this software
  1034  //    without specific prior written permission.
  1035  //
  1036  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1037  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1038  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1039  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1040  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1041  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1042  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1043  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1044  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1045  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1046  // SUCH DAMAGE.
  1047  //
  1048  //	from: @(#)types.h	8.4 (Berkeley) 1/21/94
  1049  
  1050  //	$NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
  1051  
  1052  // * Copyright (c) 1991, 1993
  1053  //	The Regents of the University of California.  All rights reserved.
  1054  //
  1055  // This code is derived from software contributed to Berkeley by
  1056  // Berkeley Software Design, Inc.
  1057  //
  1058  // Redistribution and use in source and binary forms, with or without
  1059  // modification, are permitted provided that the following conditions
  1060  // are met:
  1061  // 1. Redistributions of source code must retain the above copyright
  1062  //    notice, this list of conditions and the following disclaimer.
  1063  // 2. Redistributions in binary form must reproduce the above copyright
  1064  //    notice, this list of conditions and the following disclaimer in the
  1065  //    documentation and/or other materials provided with the distribution.
  1066  // 3. Neither the name of the University nor the names of its contributors
  1067  //    may be used to endorse or promote products derived from this software
  1068  //    without specific prior written permission.
  1069  //
  1070  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1071  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1072  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1073  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1074  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1075  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1076  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1077  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1078  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1079  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1080  // SUCH DAMAGE.
  1081  //
  1082  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  1083  
  1084  //	$NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
  1085  
  1086  // Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
  1087  // Public domain.
  1088  //
  1089  // NOTE: Do not protect this header against multiple inclusion.  Doing
  1090  // so can have subtle side-effects due to header file inclusion order
  1091  // and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE.  Instead,
  1092  // protect each CPP macro that we want to supply.
  1093  
  1094  // Feature-test macros are defined by several standards, and allow an
  1095  // application to specify what symbols they want the system headers to
  1096  // expose, and hence what standard they want them to conform to.
  1097  // There are two classes of feature-test macros.  The first class
  1098  // specify complete standards, and if one of these is defined, header
  1099  // files will try to conform to the relevant standard.  They are:
  1100  //
  1101  // ANSI macros:
  1102  // _ANSI_SOURCE			ANSI C89
  1103  //
  1104  // POSIX macros:
  1105  // _POSIX_SOURCE == 1		IEEE Std 1003.1 (version?)
  1106  // _POSIX_C_SOURCE == 1		IEEE Std 1003.1-1990
  1107  // _POSIX_C_SOURCE == 2		IEEE Std 1003.2-1992
  1108  // _POSIX_C_SOURCE == 199309L	IEEE Std 1003.1b-1993
  1109  // _POSIX_C_SOURCE == 199506L	ISO/IEC 9945-1:1996
  1110  // _POSIX_C_SOURCE == 200112L	IEEE Std 1003.1-2001
  1111  // _POSIX_C_SOURCE == 200809L   IEEE Std 1003.1-2008
  1112  //
  1113  // X/Open macros:
  1114  // _XOPEN_SOURCE		System Interfaces and Headers, Issue 4, Ver 2
  1115  // _XOPEN_SOURCE_EXTENDED == 1	XSH4.2 UNIX extensions
  1116  // _XOPEN_SOURCE == 500		System Interfaces and Headers, Issue 5
  1117  // _XOPEN_SOURCE == 520		Networking Services (XNS), Issue 5.2
  1118  // _XOPEN_SOURCE == 600		IEEE Std 1003.1-2001, XSI option
  1119  // _XOPEN_SOURCE == 700		IEEE Std 1003.1-2008, XSI option
  1120  //
  1121  // NetBSD macros:
  1122  // _NETBSD_SOURCE == 1		Make all NetBSD features available.
  1123  //
  1124  // If more than one of these "major" feature-test macros is defined,
  1125  // then the set of facilities provided (and namespace used) is the
  1126  // union of that specified by the relevant standards, and in case of
  1127  // conflict, the earlier standard in the above list has precedence (so
  1128  // if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
  1129  // of rename() that's used is the POSIX one).  If none of the "major"
  1130  // feature-test macros is defined, _NETBSD_SOURCE is assumed.
  1131  //
  1132  // There are also "minor" feature-test macros, which enable extra
  1133  // functionality in addition to some base standard.  They should be
  1134  // defined along with one of the "major" macros.  The "minor" macros
  1135  // are:
  1136  //
  1137  // _REENTRANT
  1138  // _ISOC99_SOURCE
  1139  // _ISOC11_SOURCE
  1140  // _LARGEFILE_SOURCE		Large File Support
  1141  //		<http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
  1142  
  1143  //	$NetBSD: int_types.h,v 1.17 2014/07/25 21:43:13 joerg Exp $
  1144  
  1145  // -
  1146  // Copyright (c) 2014 The NetBSD Foundation, Inc.
  1147  // All rights reserved.
  1148  //
  1149  // This code is derived from software contributed to The NetBSD Foundation
  1150  // by Matt Thomas of 3am Software Foundry.
  1151  //
  1152  // Redistribution and use in source and binary forms, with or without
  1153  // modification, are permitted provided that the following conditions
  1154  // are met:
  1155  // 1. Redistributions of source code must retain the above copyright
  1156  //    notice, this list of conditions and the following disclaimer.
  1157  // 2. Redistributions in binary form must reproduce the above copyright
  1158  //    notice, this list of conditions and the following disclaimer in the
  1159  //    documentation and/or other materials provided with the distribution.
  1160  //
  1161  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  1162  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  1163  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  1164  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
  1165  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  1166  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  1167  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  1168  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  1169  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  1170  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  1171  // POSSIBILITY OF SUCH DAMAGE.
  1172  
  1173  // Implementation dependent defines, hidden from user space.
  1174  // POSIX does not specify them.
  1175  
  1176  type X__fd_mask = X__uint32_t /* fd_set.h:46:20 */
  1177  
  1178  // 32 = 2 ^ 5
  1179  
  1180  // Select uses bit fields of file descriptors.  These macros manipulate
  1181  // such bit fields.  Note: FD_SETSIZE may be defined by the user.
  1182  
  1183  type Fd_set1 = struct{ Ffds_bits [8]X__fd_mask } /* fd_set.h:66:9 */
  1184  
  1185  // 32 = 2 ^ 5
  1186  
  1187  // Select uses bit fields of file descriptors.  These macros manipulate
  1188  // such bit fields.  Note: FD_SETSIZE may be defined by the user.
  1189  
  1190  type Fd_set = Fd_set1 /* fd_set.h:68:3 */
  1191  
  1192  // Expose our internals if we are not required to hide them.
  1193  
  1194  type Kauth_cred_t = uintptr /* types.h:318:27 */
  1195  
  1196  type Pri_t = int32 /* types.h:320:13 */
  1197  
  1198  //	$NetBSD: pthread_types.h,v 1.23 2017/09/09 23:21:45 kamil Exp $
  1199  
  1200  // -
  1201  // Copyright (c) 2001, 2008 The NetBSD Foundation, Inc.
  1202  // All rights reserved.
  1203  //
  1204  // This code is derived from software contributed to The NetBSD Foundation
  1205  // by Nathan J. Williams.
  1206  //
  1207  // Redistribution and use in source and binary forms, with or without
  1208  // modification, are permitted provided that the following conditions
  1209  // are met:
  1210  // 1. Redistributions of source code must retain the above copyright
  1211  //    notice, this list of conditions and the following disclaimer.
  1212  // 2. Redistributions in binary form must reproduce the above copyright
  1213  //    notice, this list of conditions and the following disclaimer in the
  1214  //    documentation and/or other materials provided with the distribution.
  1215  //
  1216  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  1217  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  1218  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  1219  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
  1220  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  1221  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  1222  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  1223  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  1224  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  1225  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  1226  // POSSIBILITY OF SUCH DAMAGE.
  1227  
  1228  // We use the "pthread_spin_t" name internally; "pthread_spinlock_t" is the
  1229  // POSIX spinlock object.
  1230  //
  1231  // C++ expects to be using PTHREAD_FOO_INITIALIZER as a member initializer.
  1232  // This does not work for volatile types.  Since C++ does not touch the guts
  1233  // of those types, we do not include volatile in the C++ definitions.
  1234  type Pthread_spin_t = X__cpu_simple_lock_t /* pthread_types.h:43:29 */
  1235  type X__pthread_spin_t = Pthread_spin_t    /* pthread_types.h:48:24 */
  1236  
  1237  // Copied from PTQ_HEAD in pthread_queue.h
  1238  
  1239  type Pthread_queue_struct_t = struct {
  1240  	Fptqh_first uintptr
  1241  	Fptqh_last  uintptr
  1242  } /* pthread_types.h:61:1 */
  1243  
  1244  type Pthread_queue_t = Pthread_queue_struct_t /* pthread_types.h:62:39 */
  1245  type X__pthread_attr_st = struct {
  1246  	Fpta_magic   uint32
  1247  	Fpta_flags   int32
  1248  	Fpta_private uintptr
  1249  } /* pthread_types.h:65:1 */
  1250  
  1251  type X__pthread_mutex_st = struct {
  1252  	Fptm_magic      uint32
  1253  	Fptm_errorcheck X__pthread_spin_t
  1254  	F__8            struct {
  1255  		F__ccgo_pad1 [0]uint32
  1256  		Fptm_ceiling uint8
  1257  		F__ccgo_pad2 [3]byte
  1258  	}
  1259  	Fptm_owner    Pthread_t
  1260  	Fptm_waiters  uintptr
  1261  	Fptm_recursed uint32
  1262  	Fptm_spare2   uintptr
  1263  } /* pthread_types.h:66:1 */
  1264  
  1265  type X__pthread_mutexattr_st = struct {
  1266  	Fptma_magic   uint32
  1267  	Fptma_private uintptr
  1268  } /* pthread_types.h:67:1 */
  1269  
  1270  type X__pthread_cond_st = struct {
  1271  	Fptc_magic   uint32
  1272  	Fptc_lock    X__pthread_spin_t
  1273  	Fptc_waiters Pthread_queue_t
  1274  	Fptc_mutex   uintptr
  1275  	Fptc_private uintptr
  1276  } /* pthread_types.h:68:1 */
  1277  
  1278  type X__pthread_condattr_st = struct {
  1279  	Fptca_magic   uint32
  1280  	Fptca_private uintptr
  1281  } /* pthread_types.h:69:1 */
  1282  
  1283  type X__pthread_rwlock_st = struct {
  1284  	Fptr_magic     uint32
  1285  	Fptr_interlock X__pthread_spin_t
  1286  	Fptr_rblocked  Pthread_queue_t
  1287  	Fptr_wblocked  Pthread_queue_t
  1288  	Fptr_nreaders  uint32
  1289  	Fptr_owner     Pthread_t
  1290  	Fptr_private   uintptr
  1291  } /* pthread_types.h:71:1 */
  1292  
  1293  type X__pthread_rwlockattr_st = struct {
  1294  	Fptra_magic   uint32
  1295  	Fptra_private uintptr
  1296  } /* pthread_types.h:72:1 */
  1297  
  1298  type X__pthread_barrier_st = struct {
  1299  	Fptb_magic      uint32
  1300  	Fptb_lock       Pthread_spin_t
  1301  	Fptb_waiters    Pthread_queue_t
  1302  	Fptb_initcount  uint32
  1303  	Fptb_curcount   uint32
  1304  	Fptb_generation uint32
  1305  	Fptb_private    uintptr
  1306  } /* pthread_types.h:73:1 */
  1307  
  1308  type X__pthread_barrierattr_st = struct {
  1309  	Fptba_magic   uint32
  1310  	Fptba_private uintptr
  1311  } /* pthread_types.h:74:1 */
  1312  
  1313  type Pthread_t = uintptr                           /* pthread_types.h:76:29 */
  1314  type Pthread_attr_t = X__pthread_attr_st           /* pthread_types.h:77:34 */
  1315  type Pthread_mutex_t = X__pthread_mutex_st         /* pthread_types.h:78:35 */
  1316  type Pthread_mutexattr_t = X__pthread_mutexattr_st /* pthread_types.h:79:39 */
  1317  type Pthread_cond_t = X__pthread_cond_st           /* pthread_types.h:80:34 */
  1318  type Pthread_condattr_t = X__pthread_condattr_st   /* pthread_types.h:81:38 */
  1319  type X__pthread_once_st = struct {
  1320  	Fpto_mutex Pthread_mutex_t
  1321  	Fpto_done  int32
  1322  } /* pthread_types.h:82:9 */
  1323  
  1324  type Pthread_once_t = X__pthread_once_st /* pthread_types.h:82:34 */
  1325  type X__pthread_spinlock_st = struct {
  1326  	Fpts_magic uint32
  1327  	Fpts_spin  X__pthread_spin_t
  1328  	Fpts_flags int32
  1329  } /* pthread_types.h:83:9 */
  1330  
  1331  type Pthread_spinlock_t = X__pthread_spinlock_st       /* pthread_types.h:83:38 */
  1332  type Pthread_rwlock_t = X__pthread_rwlock_st           /* pthread_types.h:84:36 */
  1333  type Pthread_rwlockattr_t = X__pthread_rwlockattr_st   /* pthread_types.h:85:40 */
  1334  type Pthread_barrier_t = X__pthread_barrier_st         /* pthread_types.h:86:37 */
  1335  type Pthread_barrierattr_t = X__pthread_barrierattr_st /* pthread_types.h:87:41 */
  1336  type Pthread_key_t = int32                             /* pthread_types.h:88:13 */
  1337  
  1338  var _ uint8 /* gen.c:2:13: */