github.com/afumu/libc@v0.0.6/stdlib/stdlib_netbsd_arm.go (about)

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