github.com/afumu/libc@v0.0.6/signal/signal_netbsd_amd64.go (about)

     1  // Code generated by 'ccgo signal/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 signal/signal_netbsd_amd64.go -pkgname signal', DO NOT EDIT.
     2  
     3  package signal
     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  	BUS_ADRALN                    = 1                    // siginfo.h:239:1:
    20  	BUS_ADRERR                    = 2                    // siginfo.h:240:1:
    21  	BUS_OBJERR                    = 3                    // siginfo.h:241:1:
    22  	BYTE_ORDER                    = 1234                 // endian.h:103:1:
    23  	CLD_CONTINUED                 = 6                    // siginfo.h:261:1:
    24  	CLD_DUMPED                    = 3                    // siginfo.h:257:1:
    25  	CLD_EXITED                    = 1                    // siginfo.h:254:1:
    26  	CLD_KILLED                    = 2                    // siginfo.h:255:1:
    27  	CLD_STOPPED                   = 5                    // siginfo.h:260:1:
    28  	CLD_TRAPPED                   = 4                    // siginfo.h:259:1:
    29  	FD_SETSIZE                    = 256                  // fd_set.h:59:1:
    30  	FPE_FLTDIV                    = 3                    // siginfo.h:227:1:
    31  	FPE_FLTINV                    = 7                    // siginfo.h:231:1:
    32  	FPE_FLTOVF                    = 4                    // siginfo.h:228:1:
    33  	FPE_FLTRES                    = 6                    // siginfo.h:230:1:
    34  	FPE_FLTSUB                    = 8                    // siginfo.h:232:1:
    35  	FPE_FLTUND                    = 5                    // siginfo.h:229:1:
    36  	FPE_INTDIV                    = 1                    // siginfo.h:225:1:
    37  	FPE_INTOVF                    = 2                    // siginfo.h:226:1:
    38  	ILL_BADSTK                    = 8                    // siginfo.h:222:1:
    39  	ILL_COPROC                    = 7                    // siginfo.h:221:1:
    40  	ILL_ILLADR                    = 3                    // siginfo.h:217:1:
    41  	ILL_ILLOPC                    = 1                    // siginfo.h:215:1:
    42  	ILL_ILLOPN                    = 2                    // siginfo.h:216:1:
    43  	ILL_ILLTRP                    = 4                    // siginfo.h:218:1:
    44  	ILL_PRVOPC                    = 5                    // siginfo.h:219:1:
    45  	ILL_PRVREG                    = 6                    // siginfo.h:220:1:
    46  	INT16_MAX                     = 32767                // common_int_limits.h:53:1:
    47  	INT16_MIN                     = -32768               // common_int_limits.h:47:1:
    48  	INT32_MAX                     = 2147483647           // common_int_limits.h:54:1:
    49  	INT32_MIN                     = -2147483648          // common_int_limits.h:48:1:
    50  	INT64_MAX                     = 9223372036854775807  // common_int_limits.h:55:1:
    51  	INT64_MIN                     = -9223372036854775808 // common_int_limits.h:49:1:
    52  	INT8_MAX                      = 127                  // common_int_limits.h:52:1:
    53  	INT8_MIN                      = -128                 // common_int_limits.h:46:1:
    54  	INTMAX_MAX                    = 9223372036854775807  // common_int_limits.h:111:1:
    55  	INTMAX_MIN                    = -9223372036854775808 // common_int_limits.h:110:1:
    56  	INTPTR_MAX                    = 9223372036854775807  // common_int_limits.h:105:1:
    57  	INTPTR_MIN                    = -9223372036854775808 // common_int_limits.h:104:1:
    58  	INT_FAST16_MAX                = 2147483647           // common_int_limits.h:93:1:
    59  	INT_FAST16_MIN                = -2147483648          // common_int_limits.h:87:1:
    60  	INT_FAST32_MAX                = 2147483647           // common_int_limits.h:94:1:
    61  	INT_FAST32_MIN                = -2147483648          // common_int_limits.h:88:1:
    62  	INT_FAST64_MAX                = 9223372036854775807  // common_int_limits.h:95:1:
    63  	INT_FAST64_MIN                = -9223372036854775808 // common_int_limits.h:89:1:
    64  	INT_FAST8_MAX                 = 2147483647           // common_int_limits.h:92:1:
    65  	INT_FAST8_MIN                 = -2147483648          // common_int_limits.h:86:1:
    66  	INT_LEAST16_MAX               = 32767                // common_int_limits.h:73:1:
    67  	INT_LEAST16_MIN               = -32768               // common_int_limits.h:67:1:
    68  	INT_LEAST32_MAX               = 2147483647           // common_int_limits.h:74:1:
    69  	INT_LEAST32_MIN               = -2147483648          // common_int_limits.h:68:1:
    70  	INT_LEAST64_MAX               = 9223372036854775807  // common_int_limits.h:75:1:
    71  	INT_LEAST64_MIN               = -9223372036854775808 // common_int_limits.h:69:1:
    72  	INT_LEAST8_MAX                = 127                  // common_int_limits.h:72:1:
    73  	INT_LEAST8_MIN                = -128                 // common_int_limits.h:66:1:
    74  	LITTLE_ENDIAN                 = 1234                 // endian.h:100:1:
    75  	MINSIGSTKSZ                   = 8192                 // signal.h:189:1:
    76  	NBBY                          = 8                    // types.h:316:1:
    77  	NFDBITS                       = 32                   // fd_set.h:93:1:
    78  	NODEVMAJOR                    = -1                   // types.h:258:1:
    79  	NSIG                          = 64                   // signal.h:48:1:
    80  	PDP_ENDIAN                    = 3412                 // endian.h:102:1:
    81  	POLL_ERR                      = 4                    // siginfo.h:267:1:
    82  	POLL_HUP                      = 6                    // siginfo.h:269:1:
    83  	POLL_IN                       = 1                    // siginfo.h:264:1:
    84  	POLL_MSG                      = 3                    // siginfo.h:266:1:
    85  	POLL_OUT                      = 2                    // siginfo.h:265:1:
    86  	POLL_PRI                      = 5                    // siginfo.h:268:1:
    87  	PTRDIFF_MAX                   = 9223372036854775807  // common_int_limits.h:121:1:
    88  	PTRDIFF_MIN                   = -9223372036854775808 // common_int_limits.h:120:1:
    89  	SA_NOCLDSTOP                  = 0x0008               // signal.h:151:1:
    90  	SA_NOCLDWAIT                  = 0x0020               // signal.h:152:1:
    91  	SA_NODEFER                    = 0x0010               // signal.h:148:1:
    92  	SA_NOKERNINFO                 = 0x0080               // signal.h:158:1:
    93  	SA_ONSTACK                    = 0x0001               // signal.h:145:1:
    94  	SA_RESETHAND                  = 0x0004               // signal.h:147:1:
    95  	SA_RESTART                    = 0x0002               // signal.h:146:1:
    96  	SA_SIGINFO                    = 0x0040               // signal.h:155:1:
    97  	SEGV_ACCERR                   = 2                    // siginfo.h:236:1:
    98  	SEGV_MAPERR                   = 1                    // siginfo.h:235:1:
    99  	SIGABRT                       = 6                    // signal.h:57:1:
   100  	SIGALRM                       = 14                   // signal.h:66:1:
   101  	SIGBUS                        = 10                   // signal.h:62:1:
   102  	SIGCHLD                       = 20                   // signal.h:72:1:
   103  	SIGCONT                       = 19                   // signal.h:71:1:
   104  	SIGEMT                        = 7                    // signal.h:59:1:
   105  	SIGEV_NONE                    = 0                    // signal.h:224:1:
   106  	SIGEV_SA                      = 3                    // signal.h:228:1:
   107  	SIGEV_SIGNAL                  = 1                    // signal.h:225:1:
   108  	SIGEV_THREAD                  = 2                    // signal.h:226:1:
   109  	SIGFPE                        = 8                    // signal.h:60:1:
   110  	SIGHUP                        = 1                    // signal.h:52:1:
   111  	SIGILL                        = 4                    // signal.h:55:1:
   112  	SIGINFO                       = 29                   // signal.h:81:1:
   113  	SIGINT                        = 2                    // signal.h:53:1:
   114  	SIGIO                         = 23                   // signal.h:75:1:
   115  	SIGIOT                        = 6                    // signal.h:58:1:
   116  	SIGKILL                       = 9                    // signal.h:61:1:
   117  	SIGPIPE                       = 13                   // signal.h:65:1:
   118  	SIGPROF                       = 27                   // signal.h:79:1:
   119  	SIGPWR                        = 32                   // signal.h:84:1:
   120  	SIGQUIT                       = 3                    // signal.h:54:1:
   121  	SIGRTMAX                      = 63                   // signal.h:86:1:
   122  	SIGRTMIN                      = 33                   // signal.h:85:1:
   123  	SIGSEGV                       = 11                   // signal.h:63:1:
   124  	SIGSTKSZ                      = 40960                // signal.h:190:1:
   125  	SIGSTOP                       = 17                   // signal.h:69:1:
   126  	SIGSYS                        = 12                   // signal.h:64:1:
   127  	SIGTERM                       = 15                   // signal.h:67:1:
   128  	SIGTRAP                       = 5                    // signal.h:56:1:
   129  	SIGTSTP                       = 18                   // signal.h:70:1:
   130  	SIGTTIN                       = 21                   // signal.h:73:1:
   131  	SIGTTOU                       = 22                   // signal.h:74:1:
   132  	SIGURG                        = 16                   // signal.h:68:1:
   133  	SIGUSR1                       = 30                   // signal.h:82:1:
   134  	SIGUSR2                       = 31                   // signal.h:83:1:
   135  	SIGVTALRM                     = 26                   // signal.h:78:1:
   136  	SIGWINCH                      = 28                   // signal.h:80:1:
   137  	SIGXCPU                       = 24                   // signal.h:76:1:
   138  	SIGXFSZ                       = 25                   // signal.h:77:1:
   139  	SIG_ATOMIC_MAX                = 2147483647           // common_int_limits.h:125:1:
   140  	SIG_ATOMIC_MIN                = -2147483648          // common_int_limits.h:124:1:
   141  	SIG_BLOCK                     = 1                    // signal.h:167:1:
   142  	SIG_SETMASK                   = 3                    // signal.h:169:1:
   143  	SIG_UNBLOCK                   = 2                    // signal.h:168:1:
   144  	SIZE_MAX                      = 18446744073709551615 // common_int_limits.h:128:1:
   145  	SI_ASYNCIO                    = -3                   // siginfo.h:277:1:
   146  	SI_LWP                        = -5                   // siginfo.h:282:1:
   147  	SI_MESGQ                      = -4                   // siginfo.h:279:1:
   148  	SI_NOINFO                     = 32767                // siginfo.h:283:1:
   149  	SI_QUEUE                      = -1                   // siginfo.h:274:1:
   150  	SI_TIMER                      = -2                   // siginfo.h:275:1:
   151  	SI_USER                       = 0                    // siginfo.h:273:1:
   152  	SS_DISABLE                    = 0x0004               // signal.h:185:1:
   153  	SS_ONSTACK                    = 0x0001               // signal.h:184:1:
   154  	TC_FLAGMASK                   = 2147483648           // trap.h:70:1:
   155  	TC_TSS                        = 0x80000000           // trap.h:69:1:
   156  	TRAP_BRKPT                    = 1                    // siginfo.h:244:1:
   157  	TRAP_CHLD                     = 4                    // siginfo.h:247:1:
   158  	TRAP_DBREG                    = 6                    // siginfo.h:249:1:
   159  	TRAP_EXEC                     = 3                    // siginfo.h:246:1:
   160  	TRAP_LWP                      = 5                    // siginfo.h:248:1:
   161  	TRAP_SCE                      = 7                    // siginfo.h:250:1:
   162  	TRAP_SCX                      = 8                    // siginfo.h:251:1:
   163  	TRAP_TRACE                    = 2                    // siginfo.h:245:1:
   164  	T_ALIGNFLT                    = 7                    // trap.h:49:1:
   165  	T_ARITHTRAP                   = 2                    // trap.h:44:1:
   166  	T_ASTFLT                      = 3                    // trap.h:45:1:
   167  	T_BOUND                       = 11                   // trap.h:53:1:
   168  	T_BPTFLT                      = 1                    // trap.h:43:1:
   169  	T_DIVIDE                      = 8                    // trap.h:50:1:
   170  	T_DNA                         = 12                   // trap.h:54:1:
   171  	T_DOUBLEFLT                   = 13                   // trap.h:55:1:
   172  	T_FPOPFLT                     = 14                   // trap.h:56:1:
   173  	T_MCA                         = 18                   // trap.h:60:1:
   174  	T_NMI                         = 9                    // trap.h:51:1:
   175  	T_OFLOW                       = 10                   // trap.h:52:1:
   176  	T_PAGEFLT                     = 6                    // trap.h:48:1:
   177  	T_PRIVINFLT                   = 0                    // trap.h:42:1:
   178  	T_PROTFLT                     = 4                    // trap.h:46:1:
   179  	T_RESERVED                    = 20                   // trap.h:62:1:
   180  	T_SEGNPFLT                    = 16                   // trap.h:58:1:
   181  	T_STKFLT                      = 17                   // trap.h:59:1:
   182  	T_TRCTRAP                     = 5                    // trap.h:47:1:
   183  	T_TSSFLT                      = 15                   // trap.h:57:1:
   184  	T_USER                        = 0x100                // trap.h:65:1:
   185  	T_XMM                         = 19                   // trap.h:61:1:
   186  	UINT16_MAX                    = 65535                // common_int_limits.h:59:1:
   187  	UINT32_MAX                    = 4294967295           // common_int_limits.h:60:1:
   188  	UINT64_MAX                    = 18446744073709551615 // common_int_limits.h:61:1:
   189  	UINT8_MAX                     = 255                  // common_int_limits.h:58:1:
   190  	UINTMAX_MAX                   = 18446744073709551615 // common_int_limits.h:112:1:
   191  	UINTPTR_MAX                   = 18446744073709551615 // common_int_limits.h:106:1:
   192  	UINT_FAST16_MAX               = 4294967295           // common_int_limits.h:99:1:
   193  	UINT_FAST32_MAX               = 4294967295           // common_int_limits.h:100:1:
   194  	UINT_FAST64_MAX               = 18446744073709551615 // common_int_limits.h:101:1:
   195  	UINT_FAST8_MAX                = 4294967295           // common_int_limits.h:98:1:
   196  	UINT_LEAST16_MAX              = 65535                // common_int_limits.h:79:1:
   197  	UINT_LEAST32_MAX              = 4294967295           // common_int_limits.h:80:1:
   198  	UINT_LEAST64_MAX              = 18446744073709551615 // common_int_limits.h:81:1:
   199  	UINT_LEAST8_MAX               = 255                  // common_int_limits.h:78:1:
   200  	WCHAR_MAX                     = 0x7fffffff           // wchar_limits.h:41:1:
   201  	WCHAR_MIN                     = -2147483648          // wchar_limits.h:40:1:
   202  	WINT_MAX                      = 0x7fffffff           // wchar_limits.h:45:1:
   203  	WINT_MIN                      = -2147483648          // wchar_limits.h:44:1:
   204  	X_AMD64_BYTE_SWAP_H_          = 0                    // byte_swap.h:37:1:
   205  	X_AMD64_FRAME_REGS_H_         = 0                    // frame_regs.h:4:1:
   206  	X_AMD64_INT_CONST_H_          = 0                    // int_const.h:33:1:
   207  	X_AMD64_INT_LIMITS_H_         = 0                    // int_limits.h:33:1:
   208  	X_AMD64_INT_MWGWTYPES_H_      = 0                    // int_mwgwtypes.h:33:1:
   209  	X_AMD64_INT_TYPES_H_          = 0                    // int_types.h:35:1:
   210  	X_AMD64_MCONTEXT_H_           = 0                    // mcontext.h:33:1:
   211  	X_AMD64_SIGNAL_H_             = 0                    // signal.h:35:1:
   212  	X_AMD64_WCHAR_LIMITS_H_       = 0                    // wchar_limits.h:33:1:
   213  	X_BIG_ENDIAN                  = 4321                 // endian.h:44:1:
   214  	X_BSD_INT16_T_                = 0                    // types.h:65:1:
   215  	X_BSD_INT32_T_                = 0                    // types.h:75:1:
   216  	X_BSD_INT64_T_                = 0                    // types.h:85:1:
   217  	X_BSD_INT8_T_                 = 0                    // types.h:55:1:
   218  	X_BSD_INTPTR_T_               = 0                    // stdint.h:80:1:
   219  	X_BSD_UINT16_T_               = 0                    // types.h:70:1:
   220  	X_BSD_UINT32_T_               = 0                    // types.h:80:1:
   221  	X_BSD_UINT64_T_               = 0                    // types.h:90:1:
   222  	X_BSD_UINT8_T_                = 0                    // types.h:60:1:
   223  	X_BSD_UINTPTR_T_              = 0                    // stdint.h:85:1:
   224  	X_BYTE_ORDER                  = 1234                 // endian_machdep.h:3:1:
   225  	X_FILE_OFFSET_BITS            = 64                   // <builtin>:25:1:
   226  	X_LIB_PTHREAD_TYPES_H         = 0                    // pthread_types.h:33:1:
   227  	X_LITTLE_ENDIAN               = 1234                 // endian.h:43:1:
   228  	X_LP64                        = 1                    // <predefined>:268:1:
   229  	X_NETBSD_SOURCE               = 1                    // featuretest.h:70:1:
   230  	X_NSIG                        = 64                   // signal.h:45:1:
   231  	X_PDP_ENDIAN                  = 3412                 // endian.h:45:1:
   232  	X_PT_BARRIERATTR_DEAD         = 0xDEAD0808           // pthread_types.h:278:1:
   233  	X_PT_BARRIERATTR_MAGIC        = 0x88880808           // pthread_types.h:277:1:
   234  	X_PT_BARRIER_DEAD             = 0xDEAD0008           // pthread_types.h:270:1:
   235  	X_PT_BARRIER_MAGIC            = 0x88880008           // pthread_types.h:269:1:
   236  	X_PT_CONDATTR_DEAD            = 0xDEAD0006           // pthread_types.h:197:1:
   237  	X_PT_CONDATTR_MAGIC           = 0x66660006           // pthread_types.h:196:1:
   238  	X_PT_COND_DEAD                = 0xDEAD0005           // pthread_types.h:182:1:
   239  	X_PT_COND_MAGIC               = 0x55550005           // pthread_types.h:181:1:
   240  	X_PT_MUTEXATTR_DEAD           = 0xDEAD0004           // pthread_types.h:167:1:
   241  	X_PT_MUTEXATTR_MAGIC          = 0x44440004           // pthread_types.h:166:1:
   242  	X_PT_MUTEX_DEAD               = 0xDEAD0003           // pthread_types.h:139:1:
   243  	X_PT_MUTEX_MAGIC              = 0x33330003           // pthread_types.h:138:1:
   244  	X_PT_RWLOCKATTR_DEAD          = 0xDEAD0909           // pthread_types.h:253:1:
   245  	X_PT_RWLOCKATTR_MAGIC         = 0x99990909           // pthread_types.h:252:1:
   246  	X_PT_RWLOCK_DEAD              = 0xDEAD0009           // pthread_types.h:236:1:
   247  	X_PT_RWLOCK_MAGIC             = 0x99990009           // pthread_types.h:235:1:
   248  	X_PT_SPINLOCK_DEAD            = 0xDEAD0007           // pthread_types.h:213:1:
   249  	X_PT_SPINLOCK_MAGIC           = 0x77770007           // pthread_types.h:212:1:
   250  	X_PT_SPINLOCK_PSHARED         = 0x00000001           // pthread_types.h:214:1:
   251  	X_QUAD_HIGHWORD               = 1                    // endian.h:84:1:
   252  	X_QUAD_LOWWORD                = 0                    // endian.h:85:1:
   253  	X_SIGNAL_H_                   = 0                    // signal.h:35:1:
   254  	X_SIZE_T                      = 0                    // types.h:279:1:
   255  	X_SYS_ANSI_H_                 = 0                    // ansi.h:33:1:
   256  	X_SYS_BSWAP_H_                = 0                    // bswap.h:6:1:
   257  	X_SYS_CDEFS_ELF_H_            = 0                    // cdefs_elf.h:31:1:
   258  	X_SYS_CDEFS_H_                = 0                    // cdefs.h:37:1:
   259  	X_SYS_COMMON_ANSI_H_          = 0                    // common_ansi.h:33:1:
   260  	X_SYS_COMMON_INT_LIMITS_H_    = 0                    // common_int_limits.h:33:1:
   261  	X_SYS_COMMON_INT_MWGWTYPES_H_ = 0                    // common_int_mwgwtypes.h:33:1:
   262  	X_SYS_COMMON_INT_TYPES_H_     = 0                    // common_int_types.h:33:1:
   263  	X_SYS_ENDIAN_H_               = 0                    // endian.h:35:1:
   264  	X_SYS_FD_SET_H_               = 0                    // fd_set.h:35:1:
   265  	X_SYS_SIGINFO_H_              = 0                    // siginfo.h:33:1:
   266  	X_SYS_SIGNAL_H_               = 0                    // signal.h:40:1:
   267  	X_SYS_SIGTYPES_H_             = 0                    // sigtypes.h:40:1:
   268  	X_SYS_STDINT_H_               = 0                    // stdint.h:33:1:
   269  	X_SYS_TIMESPEC_H_             = 0                    // timespec.h:38:1:
   270  	X_SYS_TYPES_H_                = 0                    // types.h:40:1:
   271  	X_SYS_UCONTEXT_H_             = 0                    // ucontext.h:33:1:
   272  	X_UC_CLRSTACK                 = 0x00020000           // mcontext.h:83:1:
   273  	X_UC_CPU                      = 0x04                 // ucontext.h:58:1:
   274  	X_UC_FPU                      = 0x08                 // ucontext.h:59:1:
   275  	X_UC_MD                       = 0x400f0020           // ucontext.h:60:1:
   276  	X_UC_SETSTACK                 = 0x00010000           // mcontext.h:82:1:
   277  	X_UC_SIGMASK                  = 0x01                 // ucontext.h:56:1:
   278  	X_UC_STACK                    = 0x02                 // ucontext.h:57:1:
   279  	X_UC_TLSBASE                  = 0x00080000           // mcontext.h:77:1:
   280  	X_UC_UCONTEXT_ALIGN           = -16                  // mcontext.h:67:1:
   281  	X_X86_64_BSWAP_H_             = 0                    // bswap.h:6:1:
   282  	X_X86_64_CDEFS_H_             = 0                    // cdefs.h:4:1:
   283  	X_X86_64_TYPES_H_             = 0                    // types.h:35:1:
   284  )
   285  
   286  // Get the "code" values
   287  //	$NetBSD: trap.h,v 1.1 2003/04/26 18:39:48 fvdl Exp $
   288  
   289  //	$NetBSD: trap.h,v 1.2 2003/08/07 16:30:33 agc Exp $
   290  
   291  // -
   292  // Copyright (c) 1990 The Regents of the University of California.
   293  // All rights reserved.
   294  //
   295  // This code is derived from software contributed to Berkeley by
   296  // William Jolitz.
   297  //
   298  // Redistribution and use in source and binary forms, with or without
   299  // modification, are permitted provided that the following conditions
   300  // are met:
   301  // 1. Redistributions of source code must retain the above copyright
   302  //    notice, this list of conditions and the following disclaimer.
   303  // 2. Redistributions in binary form must reproduce the above copyright
   304  //    notice, this list of conditions and the following disclaimer in the
   305  //    documentation and/or other materials provided with the distribution.
   306  // 3. Neither the name of the University nor the names of its contributors
   307  //    may be used to endorse or promote products derived from this software
   308  //    without specific prior written permission.
   309  //
   310  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   311  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   312  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   313  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   314  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   315  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   316  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   317  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   318  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   319  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   320  // SUCH DAMAGE.
   321  //
   322  //	@(#)trap.h	5.4 (Berkeley) 5/9/91
   323  
   324  // Trap type values
   325  // also known in trap.c for name strings
   326  
   327  // Trap's coming from user mode
   328  
   329  // Flags kludged into the trap code
   330  
   331  //	$NetBSD: mcontext.h,v 1.19 2018/02/15 15:53:56 kamil Exp $
   332  
   333  // -
   334  // Copyright (c) 1999 The NetBSD Foundation, Inc.
   335  // All rights reserved.
   336  //
   337  // This code is derived from software contributed to The NetBSD Foundation
   338  // by Klaus Klein.
   339  //
   340  // Redistribution and use in source and binary forms, with or without
   341  // modification, are permitted provided that the following conditions
   342  // are met:
   343  // 1. Redistributions of source code must retain the above copyright
   344  //    notice, this list of conditions and the following disclaimer.
   345  // 2. Redistributions in binary form must reproduce the above copyright
   346  //    notice, this list of conditions and the following disclaimer in the
   347  //    documentation and/or other materials provided with the distribution.
   348  //
   349  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   350  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   351  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   352  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   353  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   354  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   355  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   356  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   357  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   358  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   359  // POSSIBILITY OF SUCH DAMAGE.
   360  
   361  //	$NetBSD: frame_regs.h,v 1.7 2015/04/26 18:49:39 mrg Exp $
   362  
   363  // amd64 registers (and friends) ordered as in a trap/interrupt/syscall frame.
   364  // Also the indexes into the 'general register state' (__greg_t) passed to
   365  // userland.
   366  // Historically they were in the same order, but the order in the frames
   367  // has been changed to improve syscall efficiency.
   368  //
   369  // Notes:
   370  // 1) gdb (amd64nbsd-tdep.c) has a lookup table that assumes the __greg_t
   371  //    ordering.
   372  // 2) src/lib/libc/arch/x86_64/gen/makecontext.c assumes that the first
   373  //    6 entries in the __greg_t array match the registers used to pass
   374  //    function arguments.
   375  // 3) The 'struct reg' from machine/reg.h has to match __greg_t.
   376  //    Since they are both arrays and indexed with the same tokens this
   377  //    shouldn't be a problem, but is rather confusing.
   378  //    This assumption is made in a lot of places!
   379  // 4) There might be other code out there that relies on the ordering.
   380  //
   381  // The first entries below match the registers used for syscall arguments
   382  // (%rcx is destroyed by the syscall instruction, the libc system call
   383  // stubs copy %rcx to %r10).
   384  // arg6-arg9 are copied from the user stack for system calls with more
   385  // than 6 args (SYS_MAXSYSARGS is 8, + 2 entries for SYS___SYSCALL).
   386  
   387  // General register state
   388  const ( /* mcontext.h:43:1: */
   389  	X_REG_RDI    = 0  /* tf_rdi */
   390  	X_REG_RSI    = 1  /* tf_rsi */
   391  	X_REG_RDX    = 2  /* tf_rdx */
   392  	X_REG_R10    = 6  /* tf_r10 */
   393  	X_REG_R8     = 4  /* tf_r8 */
   394  	X_REG_R9     = 5  /* tf_r9 */
   395  	X_REG_RCX    = 3  /* tf_rcx */
   396  	X_REG_R11    = 7  /* tf_r11 */
   397  	X_REG_R12    = 8  /* tf_r12 */
   398  	X_REG_R13    = 9  /* tf_r13 */
   399  	X_REG_R14    = 10 /* tf_r14 */
   400  	X_REG_R15    = 11 /* tf_r15 */
   401  	X_REG_RBP    = 12 /* tf_rbp */
   402  	X_REG_RBX    = 13 /* tf_rbx */
   403  	X_REG_RAX    = 14 /* tf_rax */
   404  	X_REG_GS     = 15 /* tf_gs */
   405  	X_REG_FS     = 16 /* tf_fs */
   406  	X_REG_ES     = 17 /* tf_es */
   407  	X_REG_DS     = 18 /* tf_ds */
   408  	X_REG_TRAPNO = 19 /* Below portion defined in hardware */
   409  	X_REG_ERR    = 20 /* tf_err: Dummy inserted if not defined */
   410  	X_REG_RIP    = 21 /* tf_rip */
   411  	X_REG_CS     = 22 /* tf_cs */
   412  	X_REG_RFLAGS = 23 /* These are pushed unconditionally on the x86-64 */
   413  	X_REG_RSP    = 24 /* tf_rsp */
   414  	X_REG_SS     = 25
   415  	X_NGREG      = 26
   416  )
   417  
   418  type Ptrdiff_t = int64 /* <builtin>:3:26 */
   419  
   420  type Size_t = uint64 /* <builtin>:9:23 */
   421  
   422  type Wchar_t = int32 /* <builtin>:15:24 */
   423  
   424  type X__int128_t = struct {
   425  	Flo int64
   426  	Fhi int64
   427  } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
   428  type X__uint128_t = struct {
   429  	Flo uint64
   430  	Fhi uint64
   431  } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
   432  
   433  type X__builtin_va_list = uintptr /* <builtin>:46:14 */
   434  type X__float128 = float64        /* <builtin>:47:21 */
   435  
   436  // return true if value 'a' fits in type 't'
   437  
   438  //	$NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
   439  
   440  // Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
   441  // Public domain.
   442  //
   443  // NOTE: Do not protect this header against multiple inclusion.  Doing
   444  // so can have subtle side-effects due to header file inclusion order
   445  // and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE.  Instead,
   446  // protect each CPP macro that we want to supply.
   447  
   448  // Feature-test macros are defined by several standards, and allow an
   449  // application to specify what symbols they want the system headers to
   450  // expose, and hence what standard they want them to conform to.
   451  // There are two classes of feature-test macros.  The first class
   452  // specify complete standards, and if one of these is defined, header
   453  // files will try to conform to the relevant standard.  They are:
   454  //
   455  // ANSI macros:
   456  // _ANSI_SOURCE			ANSI C89
   457  //
   458  // POSIX macros:
   459  // _POSIX_SOURCE == 1		IEEE Std 1003.1 (version?)
   460  // _POSIX_C_SOURCE == 1		IEEE Std 1003.1-1990
   461  // _POSIX_C_SOURCE == 2		IEEE Std 1003.2-1992
   462  // _POSIX_C_SOURCE == 199309L	IEEE Std 1003.1b-1993
   463  // _POSIX_C_SOURCE == 199506L	ISO/IEC 9945-1:1996
   464  // _POSIX_C_SOURCE == 200112L	IEEE Std 1003.1-2001
   465  // _POSIX_C_SOURCE == 200809L   IEEE Std 1003.1-2008
   466  //
   467  // X/Open macros:
   468  // _XOPEN_SOURCE		System Interfaces and Headers, Issue 4, Ver 2
   469  // _XOPEN_SOURCE_EXTENDED == 1	XSH4.2 UNIX extensions
   470  // _XOPEN_SOURCE == 500		System Interfaces and Headers, Issue 5
   471  // _XOPEN_SOURCE == 520		Networking Services (XNS), Issue 5.2
   472  // _XOPEN_SOURCE == 600		IEEE Std 1003.1-2001, XSI option
   473  // _XOPEN_SOURCE == 700		IEEE Std 1003.1-2008, XSI option
   474  //
   475  // NetBSD macros:
   476  // _NETBSD_SOURCE == 1		Make all NetBSD features available.
   477  //
   478  // If more than one of these "major" feature-test macros is defined,
   479  // then the set of facilities provided (and namespace used) is the
   480  // union of that specified by the relevant standards, and in case of
   481  // conflict, the earlier standard in the above list has precedence (so
   482  // if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
   483  // of rename() that's used is the POSIX one).  If none of the "major"
   484  // feature-test macros is defined, _NETBSD_SOURCE is assumed.
   485  //
   486  // There are also "minor" feature-test macros, which enable extra
   487  // functionality in addition to some base standard.  They should be
   488  // defined along with one of the "major" macros.  The "minor" macros
   489  // are:
   490  //
   491  // _REENTRANT
   492  // _ISOC99_SOURCE
   493  // _ISOC11_SOURCE
   494  // _LARGEFILE_SOURCE		Large File Support
   495  //		<http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
   496  
   497  //	$NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
   498  
   499  // -
   500  // Copyright (c) 1982, 1986, 1991, 1993, 1994
   501  //	The Regents of the University of California.  All rights reserved.
   502  // (c) UNIX System Laboratories, Inc.
   503  // All or some portions of this file are derived from material licensed
   504  // to the University of California by American Telephone and Telegraph
   505  // Co. or Unix System Laboratories, Inc. and are reproduced herein with
   506  // the permission of UNIX System Laboratories, Inc.
   507  //
   508  // Redistribution and use in source and binary forms, with or without
   509  // modification, are permitted provided that the following conditions
   510  // are met:
   511  // 1. Redistributions of source code must retain the above copyright
   512  //    notice, this list of conditions and the following disclaimer.
   513  // 2. Redistributions in binary form must reproduce the above copyright
   514  //    notice, this list of conditions and the following disclaimer in the
   515  //    documentation and/or other materials provided with the distribution.
   516  // 3. Neither the name of the University nor the names of its contributors
   517  //    may be used to endorse or promote products derived from this software
   518  //    without specific prior written permission.
   519  //
   520  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   521  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   522  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   523  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   524  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   525  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   526  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   527  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   528  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   529  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   530  // SUCH DAMAGE.
   531  //
   532  //	@(#)types.h	8.4 (Berkeley) 1/21/94
   533  
   534  //	$NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
   535  
   536  // Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
   537  // Public domain.
   538  //
   539  // NOTE: Do not protect this header against multiple inclusion.  Doing
   540  // so can have subtle side-effects due to header file inclusion order
   541  // and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE.  Instead,
   542  // protect each CPP macro that we want to supply.
   543  
   544  // Feature-test macros are defined by several standards, and allow an
   545  // application to specify what symbols they want the system headers to
   546  // expose, and hence what standard they want them to conform to.
   547  // There are two classes of feature-test macros.  The first class
   548  // specify complete standards, and if one of these is defined, header
   549  // files will try to conform to the relevant standard.  They are:
   550  //
   551  // ANSI macros:
   552  // _ANSI_SOURCE			ANSI C89
   553  //
   554  // POSIX macros:
   555  // _POSIX_SOURCE == 1		IEEE Std 1003.1 (version?)
   556  // _POSIX_C_SOURCE == 1		IEEE Std 1003.1-1990
   557  // _POSIX_C_SOURCE == 2		IEEE Std 1003.2-1992
   558  // _POSIX_C_SOURCE == 199309L	IEEE Std 1003.1b-1993
   559  // _POSIX_C_SOURCE == 199506L	ISO/IEC 9945-1:1996
   560  // _POSIX_C_SOURCE == 200112L	IEEE Std 1003.1-2001
   561  // _POSIX_C_SOURCE == 200809L   IEEE Std 1003.1-2008
   562  //
   563  // X/Open macros:
   564  // _XOPEN_SOURCE		System Interfaces and Headers, Issue 4, Ver 2
   565  // _XOPEN_SOURCE_EXTENDED == 1	XSH4.2 UNIX extensions
   566  // _XOPEN_SOURCE == 500		System Interfaces and Headers, Issue 5
   567  // _XOPEN_SOURCE == 520		Networking Services (XNS), Issue 5.2
   568  // _XOPEN_SOURCE == 600		IEEE Std 1003.1-2001, XSI option
   569  // _XOPEN_SOURCE == 700		IEEE Std 1003.1-2008, XSI option
   570  //
   571  // NetBSD macros:
   572  // _NETBSD_SOURCE == 1		Make all NetBSD features available.
   573  //
   574  // If more than one of these "major" feature-test macros is defined,
   575  // then the set of facilities provided (and namespace used) is the
   576  // union of that specified by the relevant standards, and in case of
   577  // conflict, the earlier standard in the above list has precedence (so
   578  // if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
   579  // of rename() that's used is the POSIX one).  If none of the "major"
   580  // feature-test macros is defined, _NETBSD_SOURCE is assumed.
   581  //
   582  // There are also "minor" feature-test macros, which enable extra
   583  // functionality in addition to some base standard.  They should be
   584  // defined along with one of the "major" macros.  The "minor" macros
   585  // are:
   586  //
   587  // _REENTRANT
   588  // _ISOC99_SOURCE
   589  // _ISOC11_SOURCE
   590  // _LARGEFILE_SOURCE		Large File Support
   591  //		<http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
   592  
   593  // Machine type dependent parameters.
   594  //	$NetBSD: types.h,v 1.60 2019/04/06 03:06:24 thorpej Exp $
   595  
   596  // -
   597  // Copyright (c) 1990 The Regents of the University of California.
   598  // All rights reserved.
   599  //
   600  // Redistribution and use in source and binary forms, with or without
   601  // modification, are permitted provided that the following conditions
   602  // are met:
   603  // 1. Redistributions of source code must retain the above copyright
   604  //    notice, this list of conditions and the following disclaimer.
   605  // 2. Redistributions in binary form must reproduce the above copyright
   606  //    notice, this list of conditions and the following disclaimer in the
   607  //    documentation and/or other materials provided with the distribution.
   608  // 3. Neither the name of the University nor the names of its contributors
   609  //    may be used to endorse or promote products derived from this software
   610  //    without specific prior written permission.
   611  //
   612  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   613  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   614  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   615  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   616  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   617  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   618  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   619  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   620  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   621  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   622  // SUCH DAMAGE.
   623  //
   624  //	@(#)types.h	7.5 (Berkeley) 3/9/91
   625  
   626  //	$NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
   627  
   628  // * Copyright (c) 1991, 1993
   629  //	The Regents of the University of California.  All rights reserved.
   630  //
   631  // This code is derived from software contributed to Berkeley by
   632  // Berkeley Software Design, Inc.
   633  //
   634  // Redistribution and use in source and binary forms, with or without
   635  // modification, are permitted provided that the following conditions
   636  // are met:
   637  // 1. Redistributions of source code must retain the above copyright
   638  //    notice, this list of conditions and the following disclaimer.
   639  // 2. Redistributions in binary form must reproduce the above copyright
   640  //    notice, this list of conditions and the following disclaimer in the
   641  //    documentation and/or other materials provided with the distribution.
   642  // 3. Neither the name of the University nor the names of its contributors
   643  //    may be used to endorse or promote products derived from this software
   644  //    without specific prior written permission.
   645  //
   646  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   647  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   648  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   649  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   650  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   651  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   652  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   653  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   654  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   655  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   656  // SUCH DAMAGE.
   657  //
   658  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
   659  
   660  //	$NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
   661  
   662  // Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
   663  // Public domain.
   664  //
   665  // NOTE: Do not protect this header against multiple inclusion.  Doing
   666  // so can have subtle side-effects due to header file inclusion order
   667  // and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE.  Instead,
   668  // protect each CPP macro that we want to supply.
   669  
   670  // Feature-test macros are defined by several standards, and allow an
   671  // application to specify what symbols they want the system headers to
   672  // expose, and hence what standard they want them to conform to.
   673  // There are two classes of feature-test macros.  The first class
   674  // specify complete standards, and if one of these is defined, header
   675  // files will try to conform to the relevant standard.  They are:
   676  //
   677  // ANSI macros:
   678  // _ANSI_SOURCE			ANSI C89
   679  //
   680  // POSIX macros:
   681  // _POSIX_SOURCE == 1		IEEE Std 1003.1 (version?)
   682  // _POSIX_C_SOURCE == 1		IEEE Std 1003.1-1990
   683  // _POSIX_C_SOURCE == 2		IEEE Std 1003.2-1992
   684  // _POSIX_C_SOURCE == 199309L	IEEE Std 1003.1b-1993
   685  // _POSIX_C_SOURCE == 199506L	ISO/IEC 9945-1:1996
   686  // _POSIX_C_SOURCE == 200112L	IEEE Std 1003.1-2001
   687  // _POSIX_C_SOURCE == 200809L   IEEE Std 1003.1-2008
   688  //
   689  // X/Open macros:
   690  // _XOPEN_SOURCE		System Interfaces and Headers, Issue 4, Ver 2
   691  // _XOPEN_SOURCE_EXTENDED == 1	XSH4.2 UNIX extensions
   692  // _XOPEN_SOURCE == 500		System Interfaces and Headers, Issue 5
   693  // _XOPEN_SOURCE == 520		Networking Services (XNS), Issue 5.2
   694  // _XOPEN_SOURCE == 600		IEEE Std 1003.1-2001, XSI option
   695  // _XOPEN_SOURCE == 700		IEEE Std 1003.1-2008, XSI option
   696  //
   697  // NetBSD macros:
   698  // _NETBSD_SOURCE == 1		Make all NetBSD features available.
   699  //
   700  // If more than one of these "major" feature-test macros is defined,
   701  // then the set of facilities provided (and namespace used) is the
   702  // union of that specified by the relevant standards, and in case of
   703  // conflict, the earlier standard in the above list has precedence (so
   704  // if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
   705  // of rename() that's used is the POSIX one).  If none of the "major"
   706  // feature-test macros is defined, _NETBSD_SOURCE is assumed.
   707  //
   708  // There are also "minor" feature-test macros, which enable extra
   709  // functionality in addition to some base standard.  They should be
   710  // defined along with one of the "major" macros.  The "minor" macros
   711  // are:
   712  //
   713  // _REENTRANT
   714  // _ISOC99_SOURCE
   715  // _ISOC11_SOURCE
   716  // _LARGEFILE_SOURCE		Large File Support
   717  //		<http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
   718  
   719  //	$NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
   720  
   721  // -
   722  // Copyright (c) 1990 The Regents of the University of California.
   723  // All rights reserved.
   724  //
   725  // Redistribution and use in source and binary forms, with or without
   726  // modification, are permitted provided that the following conditions
   727  // are met:
   728  // 1. Redistributions of source code must retain the above copyright
   729  //    notice, this list of conditions and the following disclaimer.
   730  // 2. Redistributions in binary form must reproduce the above copyright
   731  //    notice, this list of conditions and the following disclaimer in the
   732  //    documentation and/or other materials provided with the distribution.
   733  // 3. Neither the name of the University nor the names of its contributors
   734  //    may be used to endorse or promote products derived from this software
   735  //    without specific prior written permission.
   736  //
   737  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   738  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   739  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   740  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   741  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   742  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   743  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   744  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   745  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   746  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   747  // SUCH DAMAGE.
   748  //
   749  //	from: @(#)types.h	7.5 (Berkeley) 3/9/91
   750  
   751  //	$NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
   752  
   753  // -
   754  // Copyright (c) 2014 The NetBSD Foundation, Inc.
   755  // All rights reserved.
   756  //
   757  // This code is derived from software contributed to The NetBSD Foundation
   758  // by Joerg Sonnenberger.
   759  //
   760  // Redistribution and use in source and binary forms, with or without
   761  // modification, are permitted provided that the following conditions
   762  // are met:
   763  // 1. Redistributions of source code must retain the above copyright
   764  //    notice, this list of conditions and the following disclaimer.
   765  // 2. Redistributions in binary form must reproduce the above copyright
   766  //    notice, this list of conditions and the following disclaimer in the
   767  //    documentation and/or other materials provided with the distribution.
   768  //
   769  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   770  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   771  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   772  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   773  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   774  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   775  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   776  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   777  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   778  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   779  // POSSIBILITY OF SUCH DAMAGE.
   780  
   781  // 7.18.1 Integer types
   782  
   783  // 7.18.1.1 Exact-width integer types
   784  
   785  type X__int8_t = int8     /* common_int_types.h:45:27 */
   786  type X__uint8_t = uint8   /* common_int_types.h:46:27 */
   787  type X__int16_t = int16   /* common_int_types.h:47:27 */
   788  type X__uint16_t = uint16 /* common_int_types.h:48:27 */
   789  type X__int32_t = int32   /* common_int_types.h:49:27 */
   790  type X__uint32_t = uint32 /* common_int_types.h:50:27 */
   791  type X__int64_t = int64   /* common_int_types.h:51:27 */
   792  type X__uint64_t = uint64 /* common_int_types.h:52:27 */
   793  
   794  // 7.18.1.4 Integer types capable of holding object pointers
   795  
   796  type X__intptr_t = int64   /* common_int_types.h:58:27 */
   797  type X__uintptr_t = uint64 /* common_int_types.h:59:26 */
   798  
   799  type X__register_t = int64           /* types.h:68:19 */
   800  type X__cpu_simple_lock_nv_t = uint8 /* types.h:69:24 */
   801  
   802  // __cpu_simple_lock_t used to be a full word.
   803  
   804  // The amd64 does not have strict alignment requirements.
   805  
   806  //	$NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
   807  
   808  //	$NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
   809  
   810  // -
   811  // Copyright (c) 2014 The NetBSD Foundation, Inc.
   812  // All rights reserved.
   813  //
   814  // This code is derived from software contributed to The NetBSD Foundation
   815  // by Matt Thomas of 3am Software Foundry.
   816  //
   817  // Redistribution and use in source and binary forms, with or without
   818  // modification, are permitted provided that the following conditions
   819  // are met:
   820  // 1. Redistributions of source code must retain the above copyright
   821  //    notice, this list of conditions and the following disclaimer.
   822  // 2. Redistributions in binary form must reproduce the above copyright
   823  //    notice, this list of conditions and the following disclaimer in the
   824  //    documentation and/or other materials provided with the distribution.
   825  //
   826  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   827  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   828  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   829  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   830  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   831  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   832  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   833  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   834  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   835  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   836  // POSSIBILITY OF SUCH DAMAGE.
   837  
   838  //	$NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
   839  
   840  // * Copyright (c) 1991, 1993
   841  //	The Regents of the University of California.  All rights reserved.
   842  //
   843  // This code is derived from software contributed to Berkeley by
   844  // Berkeley Software Design, Inc.
   845  //
   846  // Redistribution and use in source and binary forms, with or without
   847  // modification, are permitted provided that the following conditions
   848  // are met:
   849  // 1. Redistributions of source code must retain the above copyright
   850  //    notice, this list of conditions and the following disclaimer.
   851  // 2. Redistributions in binary form must reproduce the above copyright
   852  //    notice, this list of conditions and the following disclaimer in the
   853  //    documentation and/or other materials provided with the distribution.
   854  // 3. Neither the name of the University nor the names of its contributors
   855  //    may be used to endorse or promote products derived from this software
   856  //    without specific prior written permission.
   857  //
   858  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   859  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   860  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   861  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   862  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   863  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   864  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   865  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   866  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   867  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   868  // SUCH DAMAGE.
   869  //
   870  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
   871  
   872  //	$NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
   873  
   874  // -
   875  // Copyright (c) 1990 The Regents of the University of California.
   876  // All rights reserved.
   877  //
   878  // Redistribution and use in source and binary forms, with or without
   879  // modification, are permitted provided that the following conditions
   880  // are met:
   881  // 1. Redistributions of source code must retain the above copyright
   882  //    notice, this list of conditions and the following disclaimer.
   883  // 2. Redistributions in binary form must reproduce the above copyright
   884  //    notice, this list of conditions and the following disclaimer in the
   885  //    documentation and/or other materials provided with the distribution.
   886  // 3. Neither the name of the University nor the names of its contributors
   887  //    may be used to endorse or promote products derived from this software
   888  //    without specific prior written permission.
   889  //
   890  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   891  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   892  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   893  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   894  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   895  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   896  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   897  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   898  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   899  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   900  // SUCH DAMAGE.
   901  //
   902  //	from: @(#)types.h	7.5 (Berkeley) 3/9/91
   903  
   904  // Types which are fundamental to the implementation and may appear in
   905  // more than one standard header are defined here.  Standard headers
   906  // then use:
   907  //	#ifdef	_BSD_SIZE_T_
   908  //	typedef	_BSD_SIZE_T_ size_t;
   909  //	#undef	_BSD_SIZE_T_
   910  //	#endif
   911  
   912  //	$NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
   913  
   914  // -
   915  // Copyright (c) 1990 The Regents of the University of California.
   916  // All rights reserved.
   917  //
   918  // Redistribution and use in source and binary forms, with or without
   919  // modification, are permitted provided that the following conditions
   920  // are met:
   921  // 1. Redistributions of source code must retain the above copyright
   922  //    notice, this list of conditions and the following disclaimer.
   923  // 2. Redistributions in binary form must reproduce the above copyright
   924  //    notice, this list of conditions and the following disclaimer in the
   925  //    documentation and/or other materials provided with the distribution.
   926  // 3. Neither the name of the University nor the names of its contributors
   927  //    may be used to endorse or promote products derived from this software
   928  //    without specific prior written permission.
   929  //
   930  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   931  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   932  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   933  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   934  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   935  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   936  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   937  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   938  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   939  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   940  // SUCH DAMAGE.
   941  //
   942  //	from: @(#)types.h	7.5 (Berkeley) 3/9/91
   943  
   944  //	$NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
   945  
   946  // -
   947  // Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
   948  // All rights reserved.
   949  //
   950  // This code is derived from software contributed to The NetBSD Foundation
   951  // by Jun-ichiro itojun Hagino and by Klaus Klein.
   952  //
   953  // Redistribution and use in source and binary forms, with or without
   954  // modification, are permitted provided that the following conditions
   955  // are met:
   956  // 1. Redistributions of source code must retain the above copyright
   957  //    notice, this list of conditions and the following disclaimer.
   958  // 2. Redistributions in binary form must reproduce the above copyright
   959  //    notice, this list of conditions and the following disclaimer in the
   960  //    documentation and/or other materials provided with the distribution.
   961  //
   962  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   963  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   964  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   965  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   966  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   967  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   968  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   969  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   970  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   971  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   972  // POSSIBILITY OF SUCH DAMAGE.
   973  
   974  //	$NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
   975  
   976  //	$NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
   977  
   978  // -
   979  // Copyright (c) 2014 The NetBSD Foundation, Inc.
   980  // All rights reserved.
   981  //
   982  // This code is derived from software contributed to The NetBSD Foundation
   983  // by Matt Thomas of 3am Software Foundry.
   984  //
   985  // Redistribution and use in source and binary forms, with or without
   986  // modification, are permitted provided that the following conditions
   987  // are met:
   988  // 1. Redistributions of source code must retain the above copyright
   989  //    notice, this list of conditions and the following disclaimer.
   990  // 2. Redistributions in binary form must reproduce the above copyright
   991  //    notice, this list of conditions and the following disclaimer in the
   992  //    documentation and/or other materials provided with the distribution.
   993  //
   994  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   995  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   996  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   997  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   998  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   999  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  1000  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  1001  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  1002  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  1003  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  1004  // POSSIBILITY OF SUCH DAMAGE.
  1005  
  1006  type X__caddr_t = uintptr        /* ansi.h:37:14 */ // core address
  1007  type X__gid_t = X__uint32_t      /* ansi.h:38:20 */ // group id
  1008  type X__in_addr_t = X__uint32_t  /* ansi.h:39:20 */ // IP(v4) address
  1009  type X__in_port_t = X__uint16_t  /* ansi.h:40:20 */ // "Internet" port number
  1010  type X__mode_t = X__uint32_t     /* ansi.h:41:20 */ // file permissions
  1011  type X__off_t = X__int64_t       /* ansi.h:42:19 */ // file offset
  1012  type X__pid_t = X__int32_t       /* ansi.h:43:19 */ // process id
  1013  type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
  1014  type X__socklen_t = uint32       /* ansi.h:45:22 */ // socket-related datum length
  1015  type X__uid_t = X__uint32_t      /* ansi.h:46:20 */ // user id
  1016  type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
  1017  type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
  1018  type X__wctrans_t = uintptr      /* ansi.h:51:32 */
  1019  type X__wctype_t = uintptr       /* ansi.h:54:31 */
  1020  
  1021  // mbstate_t is an opaque object to keep conversion state, during multibyte
  1022  // stream conversions.  The content must not be referenced by user programs.
  1023  type X__mbstate_t = struct {
  1024  	F__mbstateL  X__int64_t
  1025  	F__ccgo_pad1 [120]byte
  1026  } /* ansi.h:63:3 */
  1027  
  1028  type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
  1029  
  1030  type Int8_t = X__int8_t /* types.h:54:18 */
  1031  
  1032  type Uint8_t = X__uint8_t /* types.h:59:19 */
  1033  
  1034  type Int16_t = X__int16_t /* types.h:64:19 */
  1035  
  1036  type Uint16_t = X__uint16_t /* types.h:69:20 */
  1037  
  1038  type Int32_t = X__int32_t /* types.h:74:19 */
  1039  
  1040  type Uint32_t = X__uint32_t /* types.h:79:20 */
  1041  
  1042  type Int64_t = X__int64_t /* types.h:84:19 */
  1043  
  1044  type Uint64_t = X__uint64_t /* types.h:89:20 */
  1045  
  1046  type U_int8_t = Uint8_t   /* types.h:93:18 */
  1047  type U_int16_t = Uint16_t /* types.h:94:18 */
  1048  type U_int32_t = Uint32_t /* types.h:95:18 */
  1049  type U_int64_t = Uint64_t /* types.h:96:18 */
  1050  
  1051  //	$NetBSD: endian.h,v 1.1 2003/04/26 18:39:40 fvdl Exp $
  1052  
  1053  //	$NetBSD: endian.h,v 1.30 2016/02/27 21:37:35 christos Exp $
  1054  
  1055  // Copyright (c) 1987, 1991, 1993
  1056  //	The Regents of the University of California.  All rights reserved.
  1057  //
  1058  // Redistribution and use in source and binary forms, with or without
  1059  // modification, are permitted provided that the following conditions
  1060  // are met:
  1061  // 1. Redistributions of source code must retain the above copyright
  1062  //    notice, this list of conditions and the following disclaimer.
  1063  // 2. Redistributions in binary form must reproduce the above copyright
  1064  //    notice, this list of conditions and the following disclaimer in the
  1065  //    documentation and/or other materials provided with the distribution.
  1066  // 3. Neither the name of the University nor the names of its contributors
  1067  //    may be used to endorse or promote products derived from this software
  1068  //    without specific prior written permission.
  1069  //
  1070  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1071  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1072  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1073  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1074  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1075  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1076  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1077  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1078  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1079  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1080  // SUCH DAMAGE.
  1081  //
  1082  //	@(#)endian.h	8.1 (Berkeley) 6/11/93
  1083  
  1084  //	$NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
  1085  
  1086  // Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
  1087  // Public domain.
  1088  //
  1089  // NOTE: Do not protect this header against multiple inclusion.  Doing
  1090  // so can have subtle side-effects due to header file inclusion order
  1091  // and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE.  Instead,
  1092  // protect each CPP macro that we want to supply.
  1093  
  1094  // Feature-test macros are defined by several standards, and allow an
  1095  // application to specify what symbols they want the system headers to
  1096  // expose, and hence what standard they want them to conform to.
  1097  // There are two classes of feature-test macros.  The first class
  1098  // specify complete standards, and if one of these is defined, header
  1099  // files will try to conform to the relevant standard.  They are:
  1100  //
  1101  // ANSI macros:
  1102  // _ANSI_SOURCE			ANSI C89
  1103  //
  1104  // POSIX macros:
  1105  // _POSIX_SOURCE == 1		IEEE Std 1003.1 (version?)
  1106  // _POSIX_C_SOURCE == 1		IEEE Std 1003.1-1990
  1107  // _POSIX_C_SOURCE == 2		IEEE Std 1003.2-1992
  1108  // _POSIX_C_SOURCE == 199309L	IEEE Std 1003.1b-1993
  1109  // _POSIX_C_SOURCE == 199506L	ISO/IEC 9945-1:1996
  1110  // _POSIX_C_SOURCE == 200112L	IEEE Std 1003.1-2001
  1111  // _POSIX_C_SOURCE == 200809L   IEEE Std 1003.1-2008
  1112  //
  1113  // X/Open macros:
  1114  // _XOPEN_SOURCE		System Interfaces and Headers, Issue 4, Ver 2
  1115  // _XOPEN_SOURCE_EXTENDED == 1	XSH4.2 UNIX extensions
  1116  // _XOPEN_SOURCE == 500		System Interfaces and Headers, Issue 5
  1117  // _XOPEN_SOURCE == 520		Networking Services (XNS), Issue 5.2
  1118  // _XOPEN_SOURCE == 600		IEEE Std 1003.1-2001, XSI option
  1119  // _XOPEN_SOURCE == 700		IEEE Std 1003.1-2008, XSI option
  1120  //
  1121  // NetBSD macros:
  1122  // _NETBSD_SOURCE == 1		Make all NetBSD features available.
  1123  //
  1124  // If more than one of these "major" feature-test macros is defined,
  1125  // then the set of facilities provided (and namespace used) is the
  1126  // union of that specified by the relevant standards, and in case of
  1127  // conflict, the earlier standard in the above list has precedence (so
  1128  // if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
  1129  // of rename() that's used is the POSIX one).  If none of the "major"
  1130  // feature-test macros is defined, _NETBSD_SOURCE is assumed.
  1131  //
  1132  // There are also "minor" feature-test macros, which enable extra
  1133  // functionality in addition to some base standard.  They should be
  1134  // defined along with one of the "major" macros.  The "minor" macros
  1135  // are:
  1136  //
  1137  // _REENTRANT
  1138  // _ISOC99_SOURCE
  1139  // _ISOC11_SOURCE
  1140  // _LARGEFILE_SOURCE		Large File Support
  1141  //		<http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
  1142  
  1143  // Definitions for byte order, according to byte significance from low
  1144  // address to high.
  1145  
  1146  // C-family endian-ness definitions
  1147  
  1148  //	$NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
  1149  
  1150  // -
  1151  // Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
  1152  // All rights reserved.
  1153  //
  1154  // This code is derived from software contributed to The NetBSD Foundation
  1155  // by Jun-ichiro itojun Hagino and by Klaus Klein.
  1156  //
  1157  // Redistribution and use in source and binary forms, with or without
  1158  // modification, are permitted provided that the following conditions
  1159  // are met:
  1160  // 1. Redistributions of source code must retain the above copyright
  1161  //    notice, this list of conditions and the following disclaimer.
  1162  // 2. Redistributions in binary form must reproduce the above copyright
  1163  //    notice, this list of conditions and the following disclaimer in the
  1164  //    documentation and/or other materials provided with the distribution.
  1165  //
  1166  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  1167  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  1168  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  1169  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
  1170  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  1171  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  1172  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  1173  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  1174  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  1175  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  1176  // POSSIBILITY OF SUCH DAMAGE.
  1177  
  1178  //	$NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
  1179  
  1180  // * Copyright (c) 1991, 1993
  1181  //	The Regents of the University of California.  All rights reserved.
  1182  //
  1183  // This code is derived from software contributed to Berkeley by
  1184  // Berkeley Software Design, Inc.
  1185  //
  1186  // Redistribution and use in source and binary forms, with or without
  1187  // modification, are permitted provided that the following conditions
  1188  // are met:
  1189  // 1. Redistributions of source code must retain the above copyright
  1190  //    notice, this list of conditions and the following disclaimer.
  1191  // 2. Redistributions in binary form must reproduce the above copyright
  1192  //    notice, this list of conditions and the following disclaimer in the
  1193  //    documentation and/or other materials provided with the distribution.
  1194  // 3. Neither the name of the University nor the names of its contributors
  1195  //    may be used to endorse or promote products derived from this software
  1196  //    without specific prior written permission.
  1197  //
  1198  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1199  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1200  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1201  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1202  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1203  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1204  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1205  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1206  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1207  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1208  // SUCH DAMAGE.
  1209  //
  1210  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  1211  
  1212  //	$NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $
  1213  
  1214  // -
  1215  // Copyright (c) 1982, 1986, 1991, 1993, 1994
  1216  //	The Regents of the University of California.  All rights reserved.
  1217  // (c) UNIX System Laboratories, Inc.
  1218  // All or some portions of this file are derived from material licensed
  1219  // to the University of California by American Telephone and Telegraph
  1220  // Co. or Unix System Laboratories, Inc. and are reproduced herein with
  1221  // the permission of UNIX System Laboratories, Inc.
  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  // 3. Neither the name of the University nor the names of its contributors
  1232  //    may be used to endorse or promote products derived from this software
  1233  //    without specific prior written permission.
  1234  //
  1235  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1236  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1237  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1238  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1239  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1240  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1241  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1242  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1243  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1244  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1245  // SUCH DAMAGE.
  1246  //
  1247  //	@(#)types.h	8.4 (Berkeley) 1/21/94
  1248  
  1249  type In_addr_t = X__in_addr_t /* endian.h:58:21 */
  1250  
  1251  type In_port_t = X__in_port_t /* endian.h:63:21 */
  1252  
  1253  //      $NetBSD: bswap.h,v 1.19 2015/03/12 15:28:16 christos Exp $
  1254  
  1255  // Written by Manuel Bouyer. Public domain
  1256  
  1257  //	$NetBSD: stdint.h,v 1.8 2018/11/06 16:26:44 maya Exp $
  1258  
  1259  // -
  1260  // Copyright (c) 2001, 2004 The NetBSD Foundation, Inc.
  1261  // All rights reserved.
  1262  //
  1263  // This code is derived from software contributed to The NetBSD Foundation
  1264  // by Klaus Klein.
  1265  //
  1266  // Redistribution and use in source and binary forms, with or without
  1267  // modification, are permitted provided that the following conditions
  1268  // are met:
  1269  // 1. Redistributions of source code must retain the above copyright
  1270  //    notice, this list of conditions and the following disclaimer.
  1271  // 2. Redistributions in binary form must reproduce the above copyright
  1272  //    notice, this list of conditions and the following disclaimer in the
  1273  //    documentation and/or other materials provided with the distribution.
  1274  //
  1275  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  1276  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  1277  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  1278  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
  1279  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  1280  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  1281  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  1282  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  1283  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  1284  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  1285  // POSSIBILITY OF SUCH DAMAGE.
  1286  
  1287  //	$NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
  1288  
  1289  // * Copyright (c) 1991, 1993
  1290  //	The Regents of the University of California.  All rights reserved.
  1291  //
  1292  // This code is derived from software contributed to Berkeley by
  1293  // Berkeley Software Design, Inc.
  1294  //
  1295  // Redistribution and use in source and binary forms, with or without
  1296  // modification, are permitted provided that the following conditions
  1297  // are met:
  1298  // 1. Redistributions of source code must retain the above copyright
  1299  //    notice, this list of conditions and the following disclaimer.
  1300  // 2. Redistributions in binary form must reproduce the above copyright
  1301  //    notice, this list of conditions and the following disclaimer in the
  1302  //    documentation and/or other materials provided with the distribution.
  1303  // 3. Neither the name of the University nor the names of its contributors
  1304  //    may be used to endorse or promote products derived from this software
  1305  //    without specific prior written permission.
  1306  //
  1307  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1308  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1309  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1310  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1311  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1312  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1313  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1314  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1315  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1316  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1317  // SUCH DAMAGE.
  1318  //
  1319  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  1320  
  1321  //	$NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
  1322  
  1323  // -
  1324  // Copyright (c) 1990 The Regents of the University of California.
  1325  // All rights reserved.
  1326  //
  1327  // Redistribution and use in source and binary forms, with or without
  1328  // modification, are permitted provided that the following conditions
  1329  // are met:
  1330  // 1. Redistributions of source code must retain the above copyright
  1331  //    notice, this list of conditions and the following disclaimer.
  1332  // 2. Redistributions in binary form must reproduce the above copyright
  1333  //    notice, this list of conditions and the following disclaimer in the
  1334  //    documentation and/or other materials provided with the distribution.
  1335  // 3. Neither the name of the University nor the names of its contributors
  1336  //    may be used to endorse or promote products derived from this software
  1337  //    without specific prior written permission.
  1338  //
  1339  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1340  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1341  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1342  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1343  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1344  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1345  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1346  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1347  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1348  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1349  // SUCH DAMAGE.
  1350  //
  1351  //	from: @(#)types.h	7.5 (Berkeley) 3/9/91
  1352  
  1353  type Intptr_t = X__intptr_t /* stdint.h:79:20 */
  1354  
  1355  type Uintptr_t = X__uintptr_t /* stdint.h:84:21 */
  1356  
  1357  //	$NetBSD: int_mwgwtypes.h,v 1.8 2014/07/25 21:43:13 joerg Exp $
  1358  
  1359  // -
  1360  // Copyright (c) 2001 The NetBSD Foundation, Inc.
  1361  // All rights reserved.
  1362  //
  1363  // This code is derived from software contributed to The NetBSD Foundation
  1364  // by Klaus Klein.
  1365  //
  1366  // Redistribution and use in source and binary forms, with or without
  1367  // modification, are permitted provided that the following conditions
  1368  // are met:
  1369  // 1. Redistributions of source code must retain the above copyright
  1370  //    notice, this list of conditions and the following disclaimer.
  1371  // 2. Redistributions in binary form must reproduce the above copyright
  1372  //    notice, this list of conditions and the following disclaimer in the
  1373  //    documentation and/or other materials provided with the distribution.
  1374  //
  1375  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  1376  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  1377  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  1378  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
  1379  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  1380  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  1381  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  1382  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  1383  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  1384  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  1385  // POSSIBILITY OF SUCH DAMAGE.
  1386  
  1387  //	$NetBSD: common_int_mwgwtypes.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
  1388  
  1389  // -
  1390  // Copyright (c) 2014 The NetBSD Foundation, Inc.
  1391  // All rights reserved.
  1392  //
  1393  // This code is derived from software contributed to The NetBSD Foundation
  1394  // by Joerg Sonnenberger.
  1395  //
  1396  // Redistribution and use in source and binary forms, with or without
  1397  // modification, are permitted provided that the following conditions
  1398  // are met:
  1399  // 1. Redistributions of source code must retain the above copyright
  1400  //    notice, this list of conditions and the following disclaimer.
  1401  // 2. Redistributions in binary form must reproduce the above copyright
  1402  //    notice, this list of conditions and the following disclaimer in the
  1403  //    documentation and/or other materials provided with the distribution.
  1404  //
  1405  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  1406  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  1407  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  1408  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
  1409  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  1410  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  1411  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  1412  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  1413  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  1414  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  1415  // POSSIBILITY OF SUCH DAMAGE.
  1416  
  1417  // 7.18.1 Integer types
  1418  
  1419  // 7.18.1.2 Minimum-width integer types
  1420  
  1421  type Int_least8_t = int8     /* common_int_mwgwtypes.h:45:32 */
  1422  type Uint_least8_t = uint8   /* common_int_mwgwtypes.h:46:32 */
  1423  type Int_least16_t = int16   /* common_int_mwgwtypes.h:47:32 */
  1424  type Uint_least16_t = uint16 /* common_int_mwgwtypes.h:48:32 */
  1425  type Int_least32_t = int32   /* common_int_mwgwtypes.h:49:32 */
  1426  type Uint_least32_t = uint32 /* common_int_mwgwtypes.h:50:32 */
  1427  type Int_least64_t = int64   /* common_int_mwgwtypes.h:51:32 */
  1428  type Uint_least64_t = uint64 /* common_int_mwgwtypes.h:52:32 */
  1429  
  1430  // 7.18.1.3 Fastest minimum-width integer types
  1431  type Int_fast8_t = int32    /* common_int_mwgwtypes.h:55:32 */
  1432  type Uint_fast8_t = uint32  /* common_int_mwgwtypes.h:56:32 */
  1433  type Int_fast16_t = int32   /* common_int_mwgwtypes.h:57:32 */
  1434  type Uint_fast16_t = uint32 /* common_int_mwgwtypes.h:58:32 */
  1435  type Int_fast32_t = int32   /* common_int_mwgwtypes.h:59:32 */
  1436  type Uint_fast32_t = uint32 /* common_int_mwgwtypes.h:60:32 */
  1437  type Int_fast64_t = int64   /* common_int_mwgwtypes.h:61:32 */
  1438  type Uint_fast64_t = uint64 /* common_int_mwgwtypes.h:62:32 */
  1439  
  1440  // 7.18.1.5 Greatest-width integer types
  1441  
  1442  type Intmax_t = int64   /* common_int_mwgwtypes.h:66:33 */
  1443  type Uintmax_t = uint64 /* common_int_mwgwtypes.h:67:32 */
  1444  
  1445  type U_char = uint8   /* types.h:101:23 */
  1446  type U_short = uint16 /* types.h:102:24 */
  1447  type U_int = uint32   /* types.h:103:22 */
  1448  type U_long = uint64  /* types.h:104:23 */
  1449  
  1450  type Unchar = uint8  /* types.h:106:23 */ // Sys V compatibility
  1451  type Ushort = uint16 /* types.h:107:24 */ // Sys V compatibility
  1452  type Uint = uint32   /* types.h:108:22 */ // Sys V compatibility
  1453  type Ulong = uint64  /* types.h:109:23 */ // Sys V compatibility
  1454  
  1455  type U_quad_t = Uint64_t /* types.h:112:18 */ // quads
  1456  type Quad_t = Int64_t    /* types.h:113:18 */
  1457  type Qaddr_t = uintptr   /* types.h:114:16 */
  1458  
  1459  // The types longlong_t and u_longlong_t exist for use with the
  1460  // Sun-derived XDR routines involving these types, and their usage
  1461  // in other contexts is discouraged.  Further note that these types
  1462  // may not be equivalent to "long long" and "unsigned long long",
  1463  // they are only guaranteed to be signed and unsigned 64-bit types
  1464  // respectively.  Portable programs that need 64-bit types should use
  1465  // the C99 types int64_t and uint64_t instead.
  1466  
  1467  type Longlong_t = Int64_t    /* types.h:126:18 */ // for XDR
  1468  type U_longlong_t = Uint64_t /* types.h:127:18 */ // for XDR
  1469  
  1470  type Blkcnt_t = Int64_t  /* types.h:129:18 */ // fs block count
  1471  type Blksize_t = Int32_t /* types.h:130:18 */ // fs optimal block size
  1472  
  1473  type Fsblkcnt_t = X__fsblkcnt_t /* types.h:133:22 */ // fs block count (statvfs)
  1474  
  1475  type Fsfilcnt_t = X__fsfilcnt_t /* types.h:138:22 */ // fs file count
  1476  
  1477  // We don't and shouldn't use caddr_t in the kernel anymore
  1478  type Caddr_t = X__caddr_t /* types.h:145:19 */ // core address
  1479  
  1480  type Daddr_t = Int64_t /* types.h:154:18 */ // disk address
  1481  
  1482  type Dev_t = Uint64_t   /* types.h:157:18 */ // device number
  1483  type Fixpt_t = Uint32_t /* types.h:158:18 */ // fixed point number
  1484  
  1485  type Gid_t = X__gid_t /* types.h:161:18 */ // group id
  1486  
  1487  type Id_t = Uint32_t  /* types.h:165:18 */ // group id, process id or user id
  1488  type Ino_t = Uint64_t /* types.h:166:18 */ // inode number
  1489  type Key_t = int64    /* types.h:167:15 */ // IPC key (for Sys V IPC)
  1490  
  1491  type Mode_t = X__mode_t /* types.h:170:18 */ // permissions
  1492  
  1493  type Nlink_t = Uint32_t /* types.h:174:18 */ // link count
  1494  
  1495  type Off_t = X__off_t /* types.h:177:18 */ // file offset
  1496  
  1497  type Pid_t = X__pid_t  /* types.h:182:18 */ // process id
  1498  type Lwpid_t = Int32_t /* types.h:185:18 */ // LWP id
  1499  type Rlim_t = Uint64_t /* types.h:186:18 */ // resource limit
  1500  type Segsz_t = Int32_t /* types.h:187:18 */ // segment size
  1501  type Swblk_t = Int32_t /* types.h:188:18 */ // swap offset
  1502  
  1503  type Uid_t = X__uid_t /* types.h:191:18 */ // user id
  1504  
  1505  type Mqd_t = int32 /* types.h:195:14 */
  1506  
  1507  type Cpuid_t = uint64 /* types.h:197:23 */
  1508  
  1509  type Psetid_t = int32 /* types.h:199:14 */
  1510  
  1511  type X__cpu_simple_lock_t = X__cpu_simple_lock_nv_t /* types.h:201:41 */
  1512  
  1513  // Major, minor numbers, dev_t's.
  1514  type X__devmajor_t = Int32_t /* types.h:255:17 */
  1515  type X__devminor_t = Int32_t /* types.h:255:31 */
  1516  
  1517  type Clock_t = uint32 /* types.h:268:24 */
  1518  
  1519  type Ssize_t = int64 /* types.h:284:24 */
  1520  
  1521  type Time_t = X__int64_t /* types.h:289:23 */
  1522  
  1523  type Clockid_t = int32 /* types.h:294:26 */
  1524  
  1525  type Timer_t = int32 /* types.h:299:24 */
  1526  
  1527  type Suseconds_t = int32 /* types.h:304:27 */
  1528  
  1529  type Useconds_t = uint32 /* types.h:309:26 */
  1530  
  1531  //	$NetBSD: fd_set.h,v 1.7 2018/06/24 12:05:40 kamil Exp $
  1532  
  1533  // -
  1534  // Copyright (c) 1992, 1993
  1535  //	The Regents of the University of California.  All rights reserved.
  1536  //
  1537  // Redistribution and use in source and binary forms, with or without
  1538  // modification, are permitted provided that the following conditions
  1539  // are met:
  1540  // 1. Redistributions of source code must retain the above copyright
  1541  //    notice, this list of conditions and the following disclaimer.
  1542  // 2. Redistributions in binary form must reproduce the above copyright
  1543  //    notice, this list of conditions and the following disclaimer in the
  1544  //    documentation and/or other materials provided with the distribution.
  1545  // 3. Neither the name of the University nor the names of its contributors
  1546  //    may be used to endorse or promote products derived from this software
  1547  //    without specific prior written permission.
  1548  //
  1549  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1550  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1551  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1552  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1553  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1554  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1555  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1556  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1557  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1558  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1559  // SUCH DAMAGE.
  1560  //
  1561  //	from: @(#)types.h	8.4 (Berkeley) 1/21/94
  1562  
  1563  //	$NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
  1564  
  1565  // * Copyright (c) 1991, 1993
  1566  //	The Regents of the University of California.  All rights reserved.
  1567  //
  1568  // This code is derived from software contributed to Berkeley by
  1569  // Berkeley Software Design, Inc.
  1570  //
  1571  // Redistribution and use in source and binary forms, with or without
  1572  // modification, are permitted provided that the following conditions
  1573  // are met:
  1574  // 1. Redistributions of source code must retain the above copyright
  1575  //    notice, this list of conditions and the following disclaimer.
  1576  // 2. Redistributions in binary form must reproduce the above copyright
  1577  //    notice, this list of conditions and the following disclaimer in the
  1578  //    documentation and/or other materials provided with the distribution.
  1579  // 3. Neither the name of the University nor the names of its contributors
  1580  //    may be used to endorse or promote products derived from this software
  1581  //    without specific prior written permission.
  1582  //
  1583  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1584  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1585  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1586  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1587  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1588  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1589  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1590  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1591  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1592  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1593  // SUCH DAMAGE.
  1594  //
  1595  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  1596  
  1597  //	$NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
  1598  
  1599  // Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
  1600  // Public domain.
  1601  //
  1602  // NOTE: Do not protect this header against multiple inclusion.  Doing
  1603  // so can have subtle side-effects due to header file inclusion order
  1604  // and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE.  Instead,
  1605  // protect each CPP macro that we want to supply.
  1606  
  1607  // Feature-test macros are defined by several standards, and allow an
  1608  // application to specify what symbols they want the system headers to
  1609  // expose, and hence what standard they want them to conform to.
  1610  // There are two classes of feature-test macros.  The first class
  1611  // specify complete standards, and if one of these is defined, header
  1612  // files will try to conform to the relevant standard.  They are:
  1613  //
  1614  // ANSI macros:
  1615  // _ANSI_SOURCE			ANSI C89
  1616  //
  1617  // POSIX macros:
  1618  // _POSIX_SOURCE == 1		IEEE Std 1003.1 (version?)
  1619  // _POSIX_C_SOURCE == 1		IEEE Std 1003.1-1990
  1620  // _POSIX_C_SOURCE == 2		IEEE Std 1003.2-1992
  1621  // _POSIX_C_SOURCE == 199309L	IEEE Std 1003.1b-1993
  1622  // _POSIX_C_SOURCE == 199506L	ISO/IEC 9945-1:1996
  1623  // _POSIX_C_SOURCE == 200112L	IEEE Std 1003.1-2001
  1624  // _POSIX_C_SOURCE == 200809L   IEEE Std 1003.1-2008
  1625  //
  1626  // X/Open macros:
  1627  // _XOPEN_SOURCE		System Interfaces and Headers, Issue 4, Ver 2
  1628  // _XOPEN_SOURCE_EXTENDED == 1	XSH4.2 UNIX extensions
  1629  // _XOPEN_SOURCE == 500		System Interfaces and Headers, Issue 5
  1630  // _XOPEN_SOURCE == 520		Networking Services (XNS), Issue 5.2
  1631  // _XOPEN_SOURCE == 600		IEEE Std 1003.1-2001, XSI option
  1632  // _XOPEN_SOURCE == 700		IEEE Std 1003.1-2008, XSI option
  1633  //
  1634  // NetBSD macros:
  1635  // _NETBSD_SOURCE == 1		Make all NetBSD features available.
  1636  //
  1637  // If more than one of these "major" feature-test macros is defined,
  1638  // then the set of facilities provided (and namespace used) is the
  1639  // union of that specified by the relevant standards, and in case of
  1640  // conflict, the earlier standard in the above list has precedence (so
  1641  // if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
  1642  // of rename() that's used is the POSIX one).  If none of the "major"
  1643  // feature-test macros is defined, _NETBSD_SOURCE is assumed.
  1644  //
  1645  // There are also "minor" feature-test macros, which enable extra
  1646  // functionality in addition to some base standard.  They should be
  1647  // defined along with one of the "major" macros.  The "minor" macros
  1648  // are:
  1649  //
  1650  // _REENTRANT
  1651  // _ISOC99_SOURCE
  1652  // _ISOC11_SOURCE
  1653  // _LARGEFILE_SOURCE		Large File Support
  1654  //		<http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
  1655  
  1656  //	$NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
  1657  
  1658  // -
  1659  // Copyright (c) 1990 The Regents of the University of California.
  1660  // All rights reserved.
  1661  //
  1662  // Redistribution and use in source and binary forms, with or without
  1663  // modification, are permitted provided that the following conditions
  1664  // are met:
  1665  // 1. Redistributions of source code must retain the above copyright
  1666  //    notice, this list of conditions and the following disclaimer.
  1667  // 2. Redistributions in binary form must reproduce the above copyright
  1668  //    notice, this list of conditions and the following disclaimer in the
  1669  //    documentation and/or other materials provided with the distribution.
  1670  // 3. Neither the name of the University nor the names of its contributors
  1671  //    may be used to endorse or promote products derived from this software
  1672  //    without specific prior written permission.
  1673  //
  1674  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1675  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1676  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1677  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1678  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1679  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1680  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1681  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1682  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1683  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1684  // SUCH DAMAGE.
  1685  //
  1686  //	from: @(#)types.h	7.5 (Berkeley) 3/9/91
  1687  
  1688  // Implementation dependent defines, hidden from user space.
  1689  // POSIX does not specify them.
  1690  
  1691  type X__fd_mask = X__uint32_t /* fd_set.h:46:20 */
  1692  
  1693  // 32 = 2 ^ 5
  1694  
  1695  // Select uses bit fields of file descriptors.  These macros manipulate
  1696  // such bit fields.  Note: FD_SETSIZE may be defined by the user.
  1697  
  1698  type Fd_set1 = struct{ Ffds_bits [8]X__fd_mask } /* fd_set.h:66:9 */
  1699  
  1700  // 32 = 2 ^ 5
  1701  
  1702  // Select uses bit fields of file descriptors.  These macros manipulate
  1703  // such bit fields.  Note: FD_SETSIZE may be defined by the user.
  1704  
  1705  type Fd_set = Fd_set1 /* fd_set.h:68:3 */
  1706  
  1707  // Expose our internals if we are not required to hide them.
  1708  
  1709  type Kauth_cred_t = uintptr /* types.h:318:27 */
  1710  
  1711  type Pri_t = int32 /* types.h:320:13 */
  1712  
  1713  //	$NetBSD: pthread_types.h,v 1.23 2017/09/09 23:21:45 kamil Exp $
  1714  
  1715  // -
  1716  // Copyright (c) 2001, 2008 The NetBSD Foundation, Inc.
  1717  // All rights reserved.
  1718  //
  1719  // This code is derived from software contributed to The NetBSD Foundation
  1720  // by Nathan J. Williams.
  1721  //
  1722  // Redistribution and use in source and binary forms, with or without
  1723  // modification, are permitted provided that the following conditions
  1724  // are met:
  1725  // 1. Redistributions of source code must retain the above copyright
  1726  //    notice, this list of conditions and the following disclaimer.
  1727  // 2. Redistributions in binary form must reproduce the above copyright
  1728  //    notice, this list of conditions and the following disclaimer in the
  1729  //    documentation and/or other materials provided with the distribution.
  1730  //
  1731  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  1732  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  1733  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  1734  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
  1735  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  1736  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  1737  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  1738  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  1739  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  1740  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  1741  // POSSIBILITY OF SUCH DAMAGE.
  1742  
  1743  // We use the "pthread_spin_t" name internally; "pthread_spinlock_t" is the
  1744  // POSIX spinlock object.
  1745  //
  1746  // C++ expects to be using PTHREAD_FOO_INITIALIZER as a member initializer.
  1747  // This does not work for volatile types.  Since C++ does not touch the guts
  1748  // of those types, we do not include volatile in the C++ definitions.
  1749  type Pthread_spin_t = X__cpu_simple_lock_t /* pthread_types.h:43:29 */
  1750  type X__pthread_spin_t = Pthread_spin_t    /* pthread_types.h:48:24 */
  1751  
  1752  // Copied from PTQ_HEAD in pthread_queue.h
  1753  
  1754  type Pthread_queue_struct_t = struct {
  1755  	Fptqh_first uintptr
  1756  	Fptqh_last  uintptr
  1757  } /* pthread_types.h:61:1 */
  1758  
  1759  type Pthread_queue_t = Pthread_queue_struct_t /* pthread_types.h:62:39 */
  1760  type X__pthread_attr_st = struct {
  1761  	Fpta_magic   uint32
  1762  	Fpta_flags   int32
  1763  	Fpta_private uintptr
  1764  } /* pthread_types.h:65:1 */
  1765  
  1766  type X__pthread_mutex_st = struct {
  1767  	Fptm_magic      uint32
  1768  	Fptm_errorcheck X__pthread_spin_t
  1769  	Fptm_pad1       [3]Uint8_t
  1770  	F__8            struct{ Fptm_ceiling uint8 }
  1771  	Fptm_pad2       [3]Uint8_t
  1772  	F__ccgo_pad1    [4]byte
  1773  	Fptm_owner      Pthread_t
  1774  	Fptm_waiters    uintptr
  1775  	Fptm_recursed   uint32
  1776  	F__ccgo_pad2    [4]byte
  1777  	Fptm_spare2     uintptr
  1778  } /* pthread_types.h:66:1 */
  1779  
  1780  type X__pthread_mutexattr_st = struct {
  1781  	Fptma_magic   uint32
  1782  	F__ccgo_pad1  [4]byte
  1783  	Fptma_private uintptr
  1784  } /* pthread_types.h:67:1 */
  1785  
  1786  type X__pthread_cond_st = struct {
  1787  	Fptc_magic   uint32
  1788  	Fptc_lock    X__pthread_spin_t
  1789  	F__ccgo_pad1 [3]byte
  1790  	Fptc_waiters Pthread_queue_t
  1791  	Fptc_mutex   uintptr
  1792  	Fptc_private uintptr
  1793  } /* pthread_types.h:68:1 */
  1794  
  1795  type X__pthread_condattr_st = struct {
  1796  	Fptca_magic   uint32
  1797  	F__ccgo_pad1  [4]byte
  1798  	Fptca_private uintptr
  1799  } /* pthread_types.h:69:1 */
  1800  
  1801  type X__pthread_rwlock_st = struct {
  1802  	Fptr_magic     uint32
  1803  	Fptr_interlock X__pthread_spin_t
  1804  	F__ccgo_pad1   [3]byte
  1805  	Fptr_rblocked  Pthread_queue_t
  1806  	Fptr_wblocked  Pthread_queue_t
  1807  	Fptr_nreaders  uint32
  1808  	F__ccgo_pad2   [4]byte
  1809  	Fptr_owner     Pthread_t
  1810  	Fptr_private   uintptr
  1811  } /* pthread_types.h:71:1 */
  1812  
  1813  type X__pthread_rwlockattr_st = struct {
  1814  	Fptra_magic   uint32
  1815  	F__ccgo_pad1  [4]byte
  1816  	Fptra_private uintptr
  1817  } /* pthread_types.h:72:1 */
  1818  
  1819  type X__pthread_barrier_st = struct {
  1820  	Fptb_magic      uint32
  1821  	Fptb_lock       Pthread_spin_t
  1822  	F__ccgo_pad1    [3]byte
  1823  	Fptb_waiters    Pthread_queue_t
  1824  	Fptb_initcount  uint32
  1825  	Fptb_curcount   uint32
  1826  	Fptb_generation uint32
  1827  	F__ccgo_pad2    [4]byte
  1828  	Fptb_private    uintptr
  1829  } /* pthread_types.h:73:1 */
  1830  
  1831  type X__pthread_barrierattr_st = struct {
  1832  	Fptba_magic   uint32
  1833  	F__ccgo_pad1  [4]byte
  1834  	Fptba_private uintptr
  1835  } /* pthread_types.h:74:1 */
  1836  
  1837  type Pthread_t = uintptr                           /* pthread_types.h:76:29 */
  1838  type Pthread_attr_t = X__pthread_attr_st           /* pthread_types.h:77:34 */
  1839  type Pthread_mutex_t = X__pthread_mutex_st         /* pthread_types.h:78:35 */
  1840  type Pthread_mutexattr_t = X__pthread_mutexattr_st /* pthread_types.h:79:39 */
  1841  type Pthread_cond_t = X__pthread_cond_st           /* pthread_types.h:80:34 */
  1842  type Pthread_condattr_t = X__pthread_condattr_st   /* pthread_types.h:81:38 */
  1843  type X__pthread_once_st = struct {
  1844  	Fpto_mutex   Pthread_mutex_t
  1845  	Fpto_done    int32
  1846  	F__ccgo_pad1 [4]byte
  1847  } /* pthread_types.h:82:9 */
  1848  
  1849  type Pthread_once_t = X__pthread_once_st /* pthread_types.h:82:34 */
  1850  type X__pthread_spinlock_st = struct {
  1851  	Fpts_magic   uint32
  1852  	Fpts_spin    X__pthread_spin_t
  1853  	F__ccgo_pad1 [3]byte
  1854  	Fpts_flags   int32
  1855  } /* pthread_types.h:83:9 */
  1856  
  1857  type Pthread_spinlock_t = X__pthread_spinlock_st       /* pthread_types.h:83:38 */
  1858  type Pthread_rwlock_t = X__pthread_rwlock_st           /* pthread_types.h:84:36 */
  1859  type Pthread_rwlockattr_t = X__pthread_rwlockattr_st   /* pthread_types.h:85:40 */
  1860  type Pthread_barrier_t = X__pthread_barrier_st         /* pthread_types.h:86:37 */
  1861  type Pthread_barrierattr_t = X__pthread_barrierattr_st /* pthread_types.h:87:41 */
  1862  type Pthread_key_t = int32                             /* pthread_types.h:88:13 */
  1863  
  1864  //	$NetBSD: signal.h,v 1.72 2017/04/21 15:10:35 christos Exp $
  1865  
  1866  // Copyright (c) 1982, 1986, 1989, 1991, 1993
  1867  //	The Regents of the University of California.  All rights reserved.
  1868  // (c) UNIX System Laboratories, Inc.
  1869  // All or some portions of this file are derived from material licensed
  1870  // to the University of California by American Telephone and Telegraph
  1871  // Co. or Unix System Laboratories, Inc. and are reproduced herein with
  1872  // the permission of UNIX System Laboratories, Inc.
  1873  //
  1874  // Redistribution and use in source and binary forms, with or without
  1875  // modification, are permitted provided that the following conditions
  1876  // are met:
  1877  // 1. Redistributions of source code must retain the above copyright
  1878  //    notice, this list of conditions and the following disclaimer.
  1879  // 2. Redistributions in binary form must reproduce the above copyright
  1880  //    notice, this list of conditions and the following disclaimer in the
  1881  //    documentation and/or other materials provided with the distribution.
  1882  // 3. Neither the name of the University nor the names of its contributors
  1883  //    may be used to endorse or promote products derived from this software
  1884  //    without specific prior written permission.
  1885  //
  1886  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1887  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1888  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1889  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1890  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1891  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1892  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1893  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1894  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1895  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1896  // SUCH DAMAGE.
  1897  //
  1898  //	@(#)signal.h	8.4 (Berkeley) 5/4/95
  1899  
  1900  //	$NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
  1901  
  1902  // Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
  1903  // Public domain.
  1904  //
  1905  // NOTE: Do not protect this header against multiple inclusion.  Doing
  1906  // so can have subtle side-effects due to header file inclusion order
  1907  // and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE.  Instead,
  1908  // protect each CPP macro that we want to supply.
  1909  
  1910  // Feature-test macros are defined by several standards, and allow an
  1911  // application to specify what symbols they want the system headers to
  1912  // expose, and hence what standard they want them to conform to.
  1913  // There are two classes of feature-test macros.  The first class
  1914  // specify complete standards, and if one of these is defined, header
  1915  // files will try to conform to the relevant standard.  They are:
  1916  //
  1917  // ANSI macros:
  1918  // _ANSI_SOURCE			ANSI C89
  1919  //
  1920  // POSIX macros:
  1921  // _POSIX_SOURCE == 1		IEEE Std 1003.1 (version?)
  1922  // _POSIX_C_SOURCE == 1		IEEE Std 1003.1-1990
  1923  // _POSIX_C_SOURCE == 2		IEEE Std 1003.2-1992
  1924  // _POSIX_C_SOURCE == 199309L	IEEE Std 1003.1b-1993
  1925  // _POSIX_C_SOURCE == 199506L	ISO/IEC 9945-1:1996
  1926  // _POSIX_C_SOURCE == 200112L	IEEE Std 1003.1-2001
  1927  // _POSIX_C_SOURCE == 200809L   IEEE Std 1003.1-2008
  1928  //
  1929  // X/Open macros:
  1930  // _XOPEN_SOURCE		System Interfaces and Headers, Issue 4, Ver 2
  1931  // _XOPEN_SOURCE_EXTENDED == 1	XSH4.2 UNIX extensions
  1932  // _XOPEN_SOURCE == 500		System Interfaces and Headers, Issue 5
  1933  // _XOPEN_SOURCE == 520		Networking Services (XNS), Issue 5.2
  1934  // _XOPEN_SOURCE == 600		IEEE Std 1003.1-2001, XSI option
  1935  // _XOPEN_SOURCE == 700		IEEE Std 1003.1-2008, XSI option
  1936  //
  1937  // NetBSD macros:
  1938  // _NETBSD_SOURCE == 1		Make all NetBSD features available.
  1939  //
  1940  // If more than one of these "major" feature-test macros is defined,
  1941  // then the set of facilities provided (and namespace used) is the
  1942  // union of that specified by the relevant standards, and in case of
  1943  // conflict, the earlier standard in the above list has precedence (so
  1944  // if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
  1945  // of rename() that's used is the POSIX one).  If none of the "major"
  1946  // feature-test macros is defined, _NETBSD_SOURCE is assumed.
  1947  //
  1948  // There are also "minor" feature-test macros, which enable extra
  1949  // functionality in addition to some base standard.  They should be
  1950  // defined along with one of the "major" macros.  The "minor" macros
  1951  // are:
  1952  //
  1953  // _REENTRANT
  1954  // _ISOC99_SOURCE
  1955  // _ISOC11_SOURCE
  1956  // _LARGEFILE_SOURCE		Large File Support
  1957  //		<http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
  1958  
  1959  //	$NetBSD: sigtypes.h,v 1.11 2017/01/12 18:29:14 christos Exp $
  1960  
  1961  // Copyright (c) 1982, 1986, 1989, 1991, 1993
  1962  //	The Regents of the University of California.  All rights reserved.
  1963  // (c) UNIX System Laboratories, Inc.
  1964  // All or some portions of this file are derived from material licensed
  1965  // to the University of California by American Telephone and Telegraph
  1966  // Co. or Unix System Laboratories, Inc. and are reproduced herein with
  1967  // the permission of UNIX System Laboratories, Inc.
  1968  //
  1969  // Redistribution and use in source and binary forms, with or without
  1970  // modification, are permitted provided that the following conditions
  1971  // are met:
  1972  // 1. Redistributions of source code must retain the above copyright
  1973  //    notice, this list of conditions and the following disclaimer.
  1974  // 2. Redistributions in binary form must reproduce the above copyright
  1975  //    notice, this list of conditions and the following disclaimer in the
  1976  //    documentation and/or other materials provided with the distribution.
  1977  // 3. Neither the name of the University nor the names of its contributors
  1978  //    may be used to endorse or promote products derived from this software
  1979  //    without specific prior written permission.
  1980  //
  1981  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1982  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1983  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1984  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1985  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1986  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1987  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1988  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1989  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1990  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1991  // SUCH DAMAGE.
  1992  //
  1993  //	@(#)signal.h	8.4 (Berkeley) 5/4/95
  1994  
  1995  // This header file defines various signal-related types.  We also keep
  1996  // the macros to manipulate sigset_t here, to encapsulate knowledge of
  1997  // its internals.
  1998  
  1999  //	$NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
  2000  
  2001  // Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
  2002  // Public domain.
  2003  //
  2004  // NOTE: Do not protect this header against multiple inclusion.  Doing
  2005  // so can have subtle side-effects due to header file inclusion order
  2006  // and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE.  Instead,
  2007  // protect each CPP macro that we want to supply.
  2008  
  2009  // Feature-test macros are defined by several standards, and allow an
  2010  // application to specify what symbols they want the system headers to
  2011  // expose, and hence what standard they want them to conform to.
  2012  // There are two classes of feature-test macros.  The first class
  2013  // specify complete standards, and if one of these is defined, header
  2014  // files will try to conform to the relevant standard.  They are:
  2015  //
  2016  // ANSI macros:
  2017  // _ANSI_SOURCE			ANSI C89
  2018  //
  2019  // POSIX macros:
  2020  // _POSIX_SOURCE == 1		IEEE Std 1003.1 (version?)
  2021  // _POSIX_C_SOURCE == 1		IEEE Std 1003.1-1990
  2022  // _POSIX_C_SOURCE == 2		IEEE Std 1003.2-1992
  2023  // _POSIX_C_SOURCE == 199309L	IEEE Std 1003.1b-1993
  2024  // _POSIX_C_SOURCE == 199506L	ISO/IEC 9945-1:1996
  2025  // _POSIX_C_SOURCE == 200112L	IEEE Std 1003.1-2001
  2026  // _POSIX_C_SOURCE == 200809L   IEEE Std 1003.1-2008
  2027  //
  2028  // X/Open macros:
  2029  // _XOPEN_SOURCE		System Interfaces and Headers, Issue 4, Ver 2
  2030  // _XOPEN_SOURCE_EXTENDED == 1	XSH4.2 UNIX extensions
  2031  // _XOPEN_SOURCE == 500		System Interfaces and Headers, Issue 5
  2032  // _XOPEN_SOURCE == 520		Networking Services (XNS), Issue 5.2
  2033  // _XOPEN_SOURCE == 600		IEEE Std 1003.1-2001, XSI option
  2034  // _XOPEN_SOURCE == 700		IEEE Std 1003.1-2008, XSI option
  2035  //
  2036  // NetBSD macros:
  2037  // _NETBSD_SOURCE == 1		Make all NetBSD features available.
  2038  //
  2039  // If more than one of these "major" feature-test macros is defined,
  2040  // then the set of facilities provided (and namespace used) is the
  2041  // union of that specified by the relevant standards, and in case of
  2042  // conflict, the earlier standard in the above list has precedence (so
  2043  // if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
  2044  // of rename() that's used is the POSIX one).  If none of the "major"
  2045  // feature-test macros is defined, _NETBSD_SOURCE is assumed.
  2046  //
  2047  // There are also "minor" feature-test macros, which enable extra
  2048  // functionality in addition to some base standard.  They should be
  2049  // defined along with one of the "major" macros.  The "minor" macros
  2050  // are:
  2051  //
  2052  // _REENTRANT
  2053  // _ISOC99_SOURCE
  2054  // _ISOC11_SOURCE
  2055  // _LARGEFILE_SOURCE		Large File Support
  2056  //		<http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
  2057  
  2058  //	$NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $
  2059  
  2060  // -
  2061  // Copyright (c) 1990 The Regents of the University of California.
  2062  // All rights reserved.
  2063  //
  2064  // Redistribution and use in source and binary forms, with or without
  2065  // modification, are permitted provided that the following conditions
  2066  // are met:
  2067  // 1. Redistributions of source code must retain the above copyright
  2068  //    notice, this list of conditions and the following disclaimer.
  2069  // 2. Redistributions in binary form must reproduce the above copyright
  2070  //    notice, this list of conditions and the following disclaimer in the
  2071  //    documentation and/or other materials provided with the distribution.
  2072  // 3. Neither the name of the University nor the names of its contributors
  2073  //    may be used to endorse or promote products derived from this software
  2074  //    without specific prior written permission.
  2075  //
  2076  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  2077  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  2078  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  2079  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  2080  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  2081  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  2082  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  2083  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  2084  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  2085  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  2086  // SUCH DAMAGE.
  2087  //
  2088  //	from: @(#)types.h	7.5 (Berkeley) 3/9/91
  2089  
  2090  //	$NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $
  2091  
  2092  //	$NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
  2093  
  2094  // -
  2095  // Copyright (c) 2014 The NetBSD Foundation, Inc.
  2096  // All rights reserved.
  2097  //
  2098  // This code is derived from software contributed to The NetBSD Foundation
  2099  // by Matt Thomas of 3am Software Foundry.
  2100  //
  2101  // Redistribution and use in source and binary forms, with or without
  2102  // modification, are permitted provided that the following conditions
  2103  // are met:
  2104  // 1. Redistributions of source code must retain the above copyright
  2105  //    notice, this list of conditions and the following disclaimer.
  2106  // 2. Redistributions in binary form must reproduce the above copyright
  2107  //    notice, this list of conditions and the following disclaimer in the
  2108  //    documentation and/or other materials provided with the distribution.
  2109  //
  2110  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  2111  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  2112  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  2113  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
  2114  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  2115  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  2116  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  2117  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  2118  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  2119  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  2120  // POSSIBILITY OF SUCH DAMAGE.
  2121  
  2122  type Sigset_t = struct{ F__bits [4]X__uint32_t } /* sigtypes.h:62:3 */
  2123  
  2124  // Macro for manipulating signal masks.
  2125  
  2126  type Sigaltstack = struct {
  2127  	Fss_sp       uintptr
  2128  	Fss_size     Size_t
  2129  	Fss_flags    int32
  2130  	F__ccgo_pad1 [4]byte
  2131  } /* sigtypes.h:108:9 */
  2132  
  2133  // Macro for manipulating signal masks.
  2134  
  2135  type Stack_t = Sigaltstack /* sigtypes.h:116:3 */
  2136  
  2137  //	$NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
  2138  
  2139  // * Copyright (c) 1991, 1993
  2140  //	The Regents of the University of California.  All rights reserved.
  2141  //
  2142  // This code is derived from software contributed to Berkeley by
  2143  // Berkeley Software Design, Inc.
  2144  //
  2145  // Redistribution and use in source and binary forms, with or without
  2146  // modification, are permitted provided that the following conditions
  2147  // are met:
  2148  // 1. Redistributions of source code must retain the above copyright
  2149  //    notice, this list of conditions and the following disclaimer.
  2150  // 2. Redistributions in binary form must reproduce the above copyright
  2151  //    notice, this list of conditions and the following disclaimer in the
  2152  //    documentation and/or other materials provided with the distribution.
  2153  // 3. Neither the name of the University nor the names of its contributors
  2154  //    may be used to endorse or promote products derived from this software
  2155  //    without specific prior written permission.
  2156  //
  2157  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  2158  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  2159  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  2160  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  2161  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  2162  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  2163  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  2164  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  2165  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  2166  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  2167  // SUCH DAMAGE.
  2168  //
  2169  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  2170  
  2171  //	$NetBSD: siginfo.h,v 1.33.2.1 2019/10/15 18:32:13 martin Exp $
  2172  
  2173  // -
  2174  // Copyright (c) 2002 The NetBSD Foundation, Inc.
  2175  // All rights reserved.
  2176  //
  2177  // This code is derived from software contributed to The NetBSD Foundation
  2178  // by Christos Zoulas.
  2179  //
  2180  // Redistribution and use in source and binary forms, with or without
  2181  // modification, are permitted provided that the following conditions
  2182  // are met:
  2183  // 1. Redistributions of source code must retain the above copyright
  2184  //    notice, this list of conditions and the following disclaimer.
  2185  // 2. Redistributions in binary form must reproduce the above copyright
  2186  //    notice, this list of conditions and the following disclaimer in the
  2187  //    documentation and/or other materials provided with the distribution.
  2188  //
  2189  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  2190  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  2191  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  2192  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
  2193  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  2194  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  2195  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  2196  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  2197  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  2198  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  2199  // POSSIBILITY OF SUCH DAMAGE.
  2200  
  2201  //	$NetBSD: signal.h,v 1.12 2013/01/02 19:40:23 dsl Exp $
  2202  
  2203  // Copyright (c) 1982, 1986, 1989, 1991 Regents of the University of California.
  2204  // All rights reserved.
  2205  //
  2206  // Redistribution and use in source and binary forms, with or without
  2207  // modification, are permitted provided that the following conditions
  2208  // are met:
  2209  // 1. Redistributions of source code must retain the above copyright
  2210  //    notice, this list of conditions and the following disclaimer.
  2211  // 2. Redistributions in binary form must reproduce the above copyright
  2212  //    notice, this list of conditions and the following disclaimer in the
  2213  //    documentation and/or other materials provided with the distribution.
  2214  // 3. Neither the name of the University nor the names of its contributors
  2215  //    may be used to endorse or promote products derived from this software
  2216  //    without specific prior written permission.
  2217  //
  2218  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  2219  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  2220  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  2221  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  2222  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  2223  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  2224  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  2225  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  2226  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  2227  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  2228  // SUCH DAMAGE.
  2229  //
  2230  //	@(#)signal.h	7.16 (Berkeley) 3/17/91
  2231  
  2232  //	$NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
  2233  
  2234  // Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
  2235  // Public domain.
  2236  //
  2237  // NOTE: Do not protect this header against multiple inclusion.  Doing
  2238  // so can have subtle side-effects due to header file inclusion order
  2239  // and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE.  Instead,
  2240  // protect each CPP macro that we want to supply.
  2241  
  2242  // Feature-test macros are defined by several standards, and allow an
  2243  // application to specify what symbols they want the system headers to
  2244  // expose, and hence what standard they want them to conform to.
  2245  // There are two classes of feature-test macros.  The first class
  2246  // specify complete standards, and if one of these is defined, header
  2247  // files will try to conform to the relevant standard.  They are:
  2248  //
  2249  // ANSI macros:
  2250  // _ANSI_SOURCE			ANSI C89
  2251  //
  2252  // POSIX macros:
  2253  // _POSIX_SOURCE == 1		IEEE Std 1003.1 (version?)
  2254  // _POSIX_C_SOURCE == 1		IEEE Std 1003.1-1990
  2255  // _POSIX_C_SOURCE == 2		IEEE Std 1003.2-1992
  2256  // _POSIX_C_SOURCE == 199309L	IEEE Std 1003.1b-1993
  2257  // _POSIX_C_SOURCE == 199506L	ISO/IEC 9945-1:1996
  2258  // _POSIX_C_SOURCE == 200112L	IEEE Std 1003.1-2001
  2259  // _POSIX_C_SOURCE == 200809L   IEEE Std 1003.1-2008
  2260  //
  2261  // X/Open macros:
  2262  // _XOPEN_SOURCE		System Interfaces and Headers, Issue 4, Ver 2
  2263  // _XOPEN_SOURCE_EXTENDED == 1	XSH4.2 UNIX extensions
  2264  // _XOPEN_SOURCE == 500		System Interfaces and Headers, Issue 5
  2265  // _XOPEN_SOURCE == 520		Networking Services (XNS), Issue 5.2
  2266  // _XOPEN_SOURCE == 600		IEEE Std 1003.1-2001, XSI option
  2267  // _XOPEN_SOURCE == 700		IEEE Std 1003.1-2008, XSI option
  2268  //
  2269  // NetBSD macros:
  2270  // _NETBSD_SOURCE == 1		Make all NetBSD features available.
  2271  //
  2272  // If more than one of these "major" feature-test macros is defined,
  2273  // then the set of facilities provided (and namespace used) is the
  2274  // union of that specified by the relevant standards, and in case of
  2275  // conflict, the earlier standard in the above list has precedence (so
  2276  // if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
  2277  // of rename() that's used is the POSIX one).  If none of the "major"
  2278  // feature-test macros is defined, _NETBSD_SOURCE is assumed.
  2279  //
  2280  // There are also "minor" feature-test macros, which enable extra
  2281  // functionality in addition to some base standard.  They should be
  2282  // defined along with one of the "major" macros.  The "minor" macros
  2283  // are:
  2284  //
  2285  // _REENTRANT
  2286  // _ISOC99_SOURCE
  2287  // _ISOC11_SOURCE
  2288  // _LARGEFILE_SOURCE		Large File Support
  2289  //		<http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
  2290  
  2291  type Sig_atomic_t = int32 /* signal.h:41:13 */
  2292  
  2293  type X__greg_t = uint64           /* mcontext.h:46:23 */
  2294  type X__gregset_t = [26]X__greg_t /* mcontext.h:47:18 */
  2295  
  2296  // These names are for compatibility
  2297  
  2298  // Floating point register state
  2299  // The format of __fpregset_t is that of the fxsave instruction
  2300  // which requires 16 byte alignment. However the mcontext version
  2301  // is never directly accessed.
  2302  type X__fpregset_t = [512]int8 /* mcontext.h:59:14 */
  2303  
  2304  type Mcontext_t = struct {
  2305  	F__gregs     X__gregset_t
  2306  	F_mc_tlsbase X__greg_t
  2307  	F__fpregs    X__fpregset_t
  2308  } /* mcontext.h:65:3 */
  2309  
  2310  //	$NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
  2311  
  2312  // Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
  2313  // Public domain.
  2314  //
  2315  // NOTE: Do not protect this header against multiple inclusion.  Doing
  2316  // so can have subtle side-effects due to header file inclusion order
  2317  // and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE.  Instead,
  2318  // protect each CPP macro that we want to supply.
  2319  
  2320  // Feature-test macros are defined by several standards, and allow an
  2321  // application to specify what symbols they want the system headers to
  2322  // expose, and hence what standard they want them to conform to.
  2323  // There are two classes of feature-test macros.  The first class
  2324  // specify complete standards, and if one of these is defined, header
  2325  // files will try to conform to the relevant standard.  They are:
  2326  //
  2327  // ANSI macros:
  2328  // _ANSI_SOURCE			ANSI C89
  2329  //
  2330  // POSIX macros:
  2331  // _POSIX_SOURCE == 1		IEEE Std 1003.1 (version?)
  2332  // _POSIX_C_SOURCE == 1		IEEE Std 1003.1-1990
  2333  // _POSIX_C_SOURCE == 2		IEEE Std 1003.2-1992
  2334  // _POSIX_C_SOURCE == 199309L	IEEE Std 1003.1b-1993
  2335  // _POSIX_C_SOURCE == 199506L	ISO/IEC 9945-1:1996
  2336  // _POSIX_C_SOURCE == 200112L	IEEE Std 1003.1-2001
  2337  // _POSIX_C_SOURCE == 200809L   IEEE Std 1003.1-2008
  2338  //
  2339  // X/Open macros:
  2340  // _XOPEN_SOURCE		System Interfaces and Headers, Issue 4, Ver 2
  2341  // _XOPEN_SOURCE_EXTENDED == 1	XSH4.2 UNIX extensions
  2342  // _XOPEN_SOURCE == 500		System Interfaces and Headers, Issue 5
  2343  // _XOPEN_SOURCE == 520		Networking Services (XNS), Issue 5.2
  2344  // _XOPEN_SOURCE == 600		IEEE Std 1003.1-2001, XSI option
  2345  // _XOPEN_SOURCE == 700		IEEE Std 1003.1-2008, XSI option
  2346  //
  2347  // NetBSD macros:
  2348  // _NETBSD_SOURCE == 1		Make all NetBSD features available.
  2349  //
  2350  // If more than one of these "major" feature-test macros is defined,
  2351  // then the set of facilities provided (and namespace used) is the
  2352  // union of that specified by the relevant standards, and in case of
  2353  // conflict, the earlier standard in the above list has precedence (so
  2354  // if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
  2355  // of rename() that's used is the POSIX one).  If none of the "major"
  2356  // feature-test macros is defined, _NETBSD_SOURCE is assumed.
  2357  //
  2358  // There are also "minor" feature-test macros, which enable extra
  2359  // functionality in addition to some base standard.  They should be
  2360  // defined along with one of the "major" macros.  The "minor" macros
  2361  // are:
  2362  //
  2363  // _REENTRANT
  2364  // _ISOC99_SOURCE
  2365  // _ISOC11_SOURCE
  2366  // _LARGEFILE_SOURCE		Large File Support
  2367  //		<http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
  2368  
  2369  type Sigval = struct {
  2370  	F__ccgo_pad1 [0]uint64
  2371  	Fsival_int   int32
  2372  	F__ccgo_pad2 [4]byte
  2373  } /* siginfo.h:41:9 */
  2374  
  2375  //	$NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
  2376  
  2377  // Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
  2378  // Public domain.
  2379  //
  2380  // NOTE: Do not protect this header against multiple inclusion.  Doing
  2381  // so can have subtle side-effects due to header file inclusion order
  2382  // and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE.  Instead,
  2383  // protect each CPP macro that we want to supply.
  2384  
  2385  // Feature-test macros are defined by several standards, and allow an
  2386  // application to specify what symbols they want the system headers to
  2387  // expose, and hence what standard they want them to conform to.
  2388  // There are two classes of feature-test macros.  The first class
  2389  // specify complete standards, and if one of these is defined, header
  2390  // files will try to conform to the relevant standard.  They are:
  2391  //
  2392  // ANSI macros:
  2393  // _ANSI_SOURCE			ANSI C89
  2394  //
  2395  // POSIX macros:
  2396  // _POSIX_SOURCE == 1		IEEE Std 1003.1 (version?)
  2397  // _POSIX_C_SOURCE == 1		IEEE Std 1003.1-1990
  2398  // _POSIX_C_SOURCE == 2		IEEE Std 1003.2-1992
  2399  // _POSIX_C_SOURCE == 199309L	IEEE Std 1003.1b-1993
  2400  // _POSIX_C_SOURCE == 199506L	ISO/IEC 9945-1:1996
  2401  // _POSIX_C_SOURCE == 200112L	IEEE Std 1003.1-2001
  2402  // _POSIX_C_SOURCE == 200809L   IEEE Std 1003.1-2008
  2403  //
  2404  // X/Open macros:
  2405  // _XOPEN_SOURCE		System Interfaces and Headers, Issue 4, Ver 2
  2406  // _XOPEN_SOURCE_EXTENDED == 1	XSH4.2 UNIX extensions
  2407  // _XOPEN_SOURCE == 500		System Interfaces and Headers, Issue 5
  2408  // _XOPEN_SOURCE == 520		Networking Services (XNS), Issue 5.2
  2409  // _XOPEN_SOURCE == 600		IEEE Std 1003.1-2001, XSI option
  2410  // _XOPEN_SOURCE == 700		IEEE Std 1003.1-2008, XSI option
  2411  //
  2412  // NetBSD macros:
  2413  // _NETBSD_SOURCE == 1		Make all NetBSD features available.
  2414  //
  2415  // If more than one of these "major" feature-test macros is defined,
  2416  // then the set of facilities provided (and namespace used) is the
  2417  // union of that specified by the relevant standards, and in case of
  2418  // conflict, the earlier standard in the above list has precedence (so
  2419  // if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
  2420  // of rename() that's used is the POSIX one).  If none of the "major"
  2421  // feature-test macros is defined, _NETBSD_SOURCE is assumed.
  2422  //
  2423  // There are also "minor" feature-test macros, which enable extra
  2424  // functionality in addition to some base standard.  They should be
  2425  // defined along with one of the "major" macros.  The "minor" macros
  2426  // are:
  2427  //
  2428  // _REENTRANT
  2429  // _ISOC99_SOURCE
  2430  // _ISOC11_SOURCE
  2431  // _LARGEFILE_SOURCE		Large File Support
  2432  //		<http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
  2433  
  2434  type Sigval_t = Sigval /* siginfo.h:44:3 */
  2435  
  2436  type X_ksiginfo = struct {
  2437  	F_signo  int32
  2438  	F_code   int32
  2439  	F_errno  int32
  2440  	F_pad    int32
  2441  	F_reason struct {
  2442  		F_rt struct {
  2443  			F_pid   X__pid_t
  2444  			F_uid   X__uid_t
  2445  			F_value Sigval_t
  2446  		}
  2447  		F__ccgo_pad1 [64]byte
  2448  	}
  2449  } /* siginfo.h:46:1 */
  2450  
  2451  type Siginfo = struct {
  2452  	F__ccgo_pad1 [0]uint64
  2453  	Fsi_pad      [128]int8
  2454  } /* siginfo.h:148:9 */
  2455  
  2456  type Siginfo_t = Siginfo /* siginfo.h:151:3 */
  2457  
  2458  //* Field access macros
  2459  
  2460  //* si_code
  2461  // SIGILL
  2462  
  2463  // SIGFPE
  2464  
  2465  // SIGSEGV
  2466  
  2467  // SIGBUS
  2468  
  2469  // SIGTRAP
  2470  
  2471  // SIGCHLD
  2472  // did not create a core file
  2473  // created a core file
  2474  
  2475  // SIGIO
  2476  
  2477  //* si_code
  2478  // set by timer_settime(2)
  2479  // asynchronous I/O signal
  2480  // an empty message queue
  2481  
  2482  //	$NetBSD: ucontext.h,v 1.19 2018/02/27 23:09:02 uwe Exp $
  2483  
  2484  // -
  2485  // Copyright (c) 1999, 2003 The NetBSD Foundation, Inc.
  2486  // All rights reserved.
  2487  //
  2488  // This code is derived from software contributed to The NetBSD Foundation
  2489  // by Klaus Klein, and by Jason R. Thorpe.
  2490  //
  2491  // Redistribution and use in source and binary forms, with or without
  2492  // modification, are permitted provided that the following conditions
  2493  // are met:
  2494  // 1. Redistributions of source code must retain the above copyright
  2495  //    notice, this list of conditions and the following disclaimer.
  2496  // 2. Redistributions in binary form must reproduce the above copyright
  2497  //    notice, this list of conditions and the following disclaimer in the
  2498  //    documentation and/or other materials provided with the distribution.
  2499  //
  2500  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  2501  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  2502  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  2503  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
  2504  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  2505  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  2506  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  2507  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  2508  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  2509  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  2510  // POSSIBILITY OF SUCH DAMAGE.
  2511  
  2512  //	$NetBSD: sigtypes.h,v 1.11 2017/01/12 18:29:14 christos Exp $
  2513  
  2514  // Copyright (c) 1982, 1986, 1989, 1991, 1993
  2515  //	The Regents of the University of California.  All rights reserved.
  2516  // (c) UNIX System Laboratories, Inc.
  2517  // All or some portions of this file are derived from material licensed
  2518  // to the University of California by American Telephone and Telegraph
  2519  // Co. or Unix System Laboratories, Inc. and are reproduced herein with
  2520  // the permission of UNIX System Laboratories, Inc.
  2521  //
  2522  // Redistribution and use in source and binary forms, with or without
  2523  // modification, are permitted provided that the following conditions
  2524  // are met:
  2525  // 1. Redistributions of source code must retain the above copyright
  2526  //    notice, this list of conditions and the following disclaimer.
  2527  // 2. Redistributions in binary form must reproduce the above copyright
  2528  //    notice, this list of conditions and the following disclaimer in the
  2529  //    documentation and/or other materials provided with the distribution.
  2530  // 3. Neither the name of the University nor the names of its contributors
  2531  //    may be used to endorse or promote products derived from this software
  2532  //    without specific prior written permission.
  2533  //
  2534  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  2535  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  2536  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  2537  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  2538  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  2539  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  2540  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  2541  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  2542  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  2543  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  2544  // SUCH DAMAGE.
  2545  //
  2546  //	@(#)signal.h	8.4 (Berkeley) 5/4/95
  2547  
  2548  //	$NetBSD: mcontext.h,v 1.19 2018/02/15 15:53:56 kamil Exp $
  2549  
  2550  // -
  2551  // Copyright (c) 1999 The NetBSD Foundation, Inc.
  2552  // All rights reserved.
  2553  //
  2554  // This code is derived from software contributed to The NetBSD Foundation
  2555  // by Klaus Klein.
  2556  //
  2557  // Redistribution and use in source and binary forms, with or without
  2558  // modification, are permitted provided that the following conditions
  2559  // are met:
  2560  // 1. Redistributions of source code must retain the above copyright
  2561  //    notice, this list of conditions and the following disclaimer.
  2562  // 2. Redistributions in binary form must reproduce the above copyright
  2563  //    notice, this list of conditions and the following disclaimer in the
  2564  //    documentation and/or other materials provided with the distribution.
  2565  //
  2566  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  2567  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  2568  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  2569  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
  2570  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  2571  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  2572  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  2573  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  2574  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  2575  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  2576  // POSSIBILITY OF SUCH DAMAGE.
  2577  
  2578  type X__ucontext = struct {
  2579  	Fuc_flags    uint32
  2580  	F__ccgo_pad1 [4]byte
  2581  	Fuc_link     uintptr
  2582  	Fuc_sigmask  Sigset_t
  2583  	Fuc_stack    Stack_t
  2584  	Fuc_mcontext Mcontext_t
  2585  } /* ucontext.h:38:9 */
  2586  
  2587  //* Field access macros
  2588  
  2589  //* si_code
  2590  // SIGILL
  2591  
  2592  // SIGFPE
  2593  
  2594  // SIGSEGV
  2595  
  2596  // SIGBUS
  2597  
  2598  // SIGTRAP
  2599  
  2600  // SIGCHLD
  2601  // did not create a core file
  2602  // created a core file
  2603  
  2604  // SIGIO
  2605  
  2606  //* si_code
  2607  // set by timer_settime(2)
  2608  // asynchronous I/O signal
  2609  // an empty message queue
  2610  
  2611  //	$NetBSD: ucontext.h,v 1.19 2018/02/27 23:09:02 uwe Exp $
  2612  
  2613  // -
  2614  // Copyright (c) 1999, 2003 The NetBSD Foundation, Inc.
  2615  // All rights reserved.
  2616  //
  2617  // This code is derived from software contributed to The NetBSD Foundation
  2618  // by Klaus Klein, and by Jason R. Thorpe.
  2619  //
  2620  // Redistribution and use in source and binary forms, with or without
  2621  // modification, are permitted provided that the following conditions
  2622  // are met:
  2623  // 1. Redistributions of source code must retain the above copyright
  2624  //    notice, this list of conditions and the following disclaimer.
  2625  // 2. Redistributions in binary form must reproduce the above copyright
  2626  //    notice, this list of conditions and the following disclaimer in the
  2627  //    documentation and/or other materials provided with the distribution.
  2628  //
  2629  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  2630  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  2631  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  2632  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
  2633  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  2634  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  2635  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  2636  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  2637  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  2638  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  2639  // POSSIBILITY OF SUCH DAMAGE.
  2640  
  2641  //	$NetBSD: sigtypes.h,v 1.11 2017/01/12 18:29:14 christos Exp $
  2642  
  2643  // Copyright (c) 1982, 1986, 1989, 1991, 1993
  2644  //	The Regents of the University of California.  All rights reserved.
  2645  // (c) UNIX System Laboratories, Inc.
  2646  // All or some portions of this file are derived from material licensed
  2647  // to the University of California by American Telephone and Telegraph
  2648  // Co. or Unix System Laboratories, Inc. and are reproduced herein with
  2649  // the permission of UNIX System Laboratories, Inc.
  2650  //
  2651  // Redistribution and use in source and binary forms, with or without
  2652  // modification, are permitted provided that the following conditions
  2653  // are met:
  2654  // 1. Redistributions of source code must retain the above copyright
  2655  //    notice, this list of conditions and the following disclaimer.
  2656  // 2. Redistributions in binary form must reproduce the above copyright
  2657  //    notice, this list of conditions and the following disclaimer in the
  2658  //    documentation and/or other materials provided with the distribution.
  2659  // 3. Neither the name of the University nor the names of its contributors
  2660  //    may be used to endorse or promote products derived from this software
  2661  //    without specific prior written permission.
  2662  //
  2663  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  2664  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  2665  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  2666  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  2667  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  2668  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  2669  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  2670  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  2671  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  2672  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  2673  // SUCH DAMAGE.
  2674  //
  2675  //	@(#)signal.h	8.4 (Berkeley) 5/4/95
  2676  
  2677  //	$NetBSD: mcontext.h,v 1.19 2018/02/15 15:53:56 kamil Exp $
  2678  
  2679  // -
  2680  // Copyright (c) 1999 The NetBSD Foundation, Inc.
  2681  // All rights reserved.
  2682  //
  2683  // This code is derived from software contributed to The NetBSD Foundation
  2684  // by Klaus Klein.
  2685  //
  2686  // Redistribution and use in source and binary forms, with or without
  2687  // modification, are permitted provided that the following conditions
  2688  // are met:
  2689  // 1. Redistributions of source code must retain the above copyright
  2690  //    notice, this list of conditions and the following disclaimer.
  2691  // 2. Redistributions in binary form must reproduce the above copyright
  2692  //    notice, this list of conditions and the following disclaimer in the
  2693  //    documentation and/or other materials provided with the distribution.
  2694  //
  2695  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  2696  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  2697  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  2698  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
  2699  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  2700  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  2701  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  2702  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  2703  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  2704  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  2705  // POSSIBILITY OF SUCH DAMAGE.
  2706  
  2707  type Ucontext_t = X__ucontext /* ucontext.h:38:27 */
  2708  
  2709  // uc_flags
  2710  
  2711  // if your port needs more MD bits, please try to choose bits from _UC_MD
  2712  // first, rather than picking random unused bits.
  2713  //
  2714  // _UC_MD details
  2715  //
  2716  // 	_UC_TLSBASE	Context contains valid pthread private pointer
  2717  //			All ports must define this MD flag
  2718  // 			0x00040000	hppa, mips
  2719  // 			0x00000020	alpha
  2720  //			0x00080000	all other ports
  2721  //
  2722  //	_UC_SETSTACK	Context uses signal stack
  2723  //			0x00020000	arm
  2724  //			[undefined]	alpha, powerpc and vax
  2725  //			0x00010000	other ports
  2726  //
  2727  //	_UC_CLRSTACK	Context does not use signal stack
  2728  //			0x00040000	arm
  2729  //			[undefined]	alpha, powerpc and vax
  2730  //			0x00020000	other ports
  2731  //
  2732  //	_UC_POWERPC_VEC Context contains valid AltiVec context
  2733  //			0x00010000	powerpc only
  2734  //
  2735  //	_UC_POWERPC_SPE	Context contains valid SPE context
  2736  //			0x00020000	powerpc only
  2737  //
  2738  //	_UC_M68K_UC_USER Used by m68k machdep code, but undocumented
  2739  //			0x40000000	m68k only
  2740  //
  2741  //	_UC_ARM_VFP	Unused
  2742  //			0x00010000	arm only
  2743  //
  2744  //	_UC_VM		Context contains valid virtual 8086 context
  2745  //			0x00040000	i386, amd64 only
  2746  //
  2747  //	_UC_FXSAVE	Context contains FPU context in that
  2748  //			is in FXSAVE format in XMM space
  2749  //			0x00000020	i386, amd64 only
  2750  
  2751  // Signal vector "template" used in sigaction call.
  2752  type Sigaction = struct {
  2753  	F_sa_u       struct{ F_sa_handler uintptr }
  2754  	Fsa_mask     Sigset_t
  2755  	Fsa_flags    int32
  2756  	F__ccgo_pad1 [4]byte
  2757  } /* signal.h:123:1 */
  2758  
  2759  //	$NetBSD: signal.h,v 1.12 2013/01/02 19:40:23 dsl Exp $
  2760  
  2761  // Copyright (c) 1982, 1986, 1989, 1991 Regents of the University of California.
  2762  // All rights reserved.
  2763  //
  2764  // Redistribution and use in source and binary forms, with or without
  2765  // modification, are permitted provided that the following conditions
  2766  // are met:
  2767  // 1. Redistributions of source code must retain the above copyright
  2768  //    notice, this list of conditions and the following disclaimer.
  2769  // 2. Redistributions in binary form must reproduce the above copyright
  2770  //    notice, this list of conditions and the following disclaimer in the
  2771  //    documentation and/or other materials provided with the distribution.
  2772  // 3. Neither the name of the University nor the names of its contributors
  2773  //    may be used to endorse or promote products derived from this software
  2774  //    without specific prior written permission.
  2775  //
  2776  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  2777  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  2778  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  2779  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  2780  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  2781  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  2782  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  2783  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  2784  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  2785  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  2786  // SUCH DAMAGE.
  2787  //
  2788  //	@(#)signal.h	7.16 (Berkeley) 3/17/91
  2789  
  2790  // Only valid for SIGCHLD.
  2791  
  2792  // Flags for sigprocmask():
  2793  
  2794  type Sig_t = uintptr /* signal.h:172:14 */ // type of signal function
  2795  
  2796  // Flags used with stack_t/struct sigaltstack.
  2797  
  2798  // Structure used in sigstack call.
  2799  type Sigstack = struct {
  2800  	Fss_sp       uintptr
  2801  	Fss_onstack  int32
  2802  	F__ccgo_pad1 [4]byte
  2803  } /* signal.h:198:1 */
  2804  
  2805  // Macro for converting signal number to a mask suitable for
  2806  // sigblock().
  2807  
  2808  type Sigevent = struct {
  2809  	Fsigev_notify int32
  2810  	Fsigev_signo  int32
  2811  	Fsigev_value  struct {
  2812  		F__ccgo_pad1 [0]uint64
  2813  		Fsival_int   int32
  2814  		F__ccgo_pad2 [4]byte
  2815  	}
  2816  	Fsigev_notify_function   uintptr
  2817  	Fsigev_notify_attributes uintptr
  2818  } /* signal.h:216:1 */
  2819  
  2820  //	$NetBSD: timespec.h,v 1.1 2015/07/31 12:51:32 kamil Exp $
  2821  
  2822  // Copyright (c) 1982, 1986, 1993
  2823  //	The Regents of the University of California.  All rights reserved.
  2824  //
  2825  // Redistribution and use in source and binary forms, with or without
  2826  // modification, are permitted provided that the following conditions
  2827  // are met:
  2828  // 1. Redistributions of source code must retain the above copyright
  2829  //    notice, this list of conditions and the following disclaimer.
  2830  // 2. Redistributions in binary form must reproduce the above copyright
  2831  //    notice, this list of conditions and the following disclaimer in the
  2832  //    documentation and/or other materials provided with the distribution.
  2833  // 3. Neither the name of the University nor the names of its contributors
  2834  //    may be used to endorse or promote products derived from this software
  2835  //    without specific prior written permission.
  2836  //
  2837  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  2838  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  2839  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  2840  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  2841  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  2842  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  2843  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  2844  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  2845  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  2846  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  2847  // SUCH DAMAGE.
  2848  //
  2849  //	@(#)time.h	8.5 (Berkeley) 5/4/95
  2850  //
  2851  // Extracted by Kamil Rytarowski from:
  2852  // NetBSD: src/sys/sys/time.h,v 1.69 2015/05/19 23:35:11 riastradh Exp
  2853  
  2854  //	$NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
  2855  
  2856  // -
  2857  // Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
  2858  // All rights reserved.
  2859  //
  2860  // This code is derived from software contributed to The NetBSD Foundation
  2861  // by Jun-ichiro itojun Hagino and by Klaus Klein.
  2862  //
  2863  // Redistribution and use in source and binary forms, with or without
  2864  // modification, are permitted provided that the following conditions
  2865  // are met:
  2866  // 1. Redistributions of source code must retain the above copyright
  2867  //    notice, this list of conditions and the following disclaimer.
  2868  // 2. Redistributions in binary form must reproduce the above copyright
  2869  //    notice, this list of conditions and the following disclaimer in the
  2870  //    documentation and/or other materials provided with the distribution.
  2871  //
  2872  // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  2873  // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  2874  // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  2875  // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
  2876  // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  2877  // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  2878  // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  2879  // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  2880  // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  2881  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  2882  // POSSIBILITY OF SUCH DAMAGE.
  2883  
  2884  type Timespec = struct {
  2885  	Ftv_sec  Time_t
  2886  	Ftv_nsec int64
  2887  } /* timespec.h:47:1 */
  2888  
  2889  var _ int8 /* gen.c:2:13: */