stdlib_netbsd_arm.go 75 KB

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