gtsocial-umbx

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

fcntl_netbsd_arm.go (71973B)


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