stdio_darwin_arm64.go 93 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944
  1. // Code generated by 'ccgo stdio/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 stdio/stdio_darwin_arm64.go -pkgname stdio', DO NOT EDIT.
  2. package stdio
  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. BUFSIZ = 1024 // stdio.h:103:1:
  15. EOF = -1 // stdio.h:104:1:
  16. FILENAME_MAX = 1024 // stdio.h:108:1:
  17. FOPEN_MAX = 20 // stdio.h:107:1:
  18. L_ctermid = 1024 // stdio.h:202:1:
  19. L_tmpnam = 1024 // stdio.h:114:1:
  20. MAC_OS_VERSION_11_0 = 110000 // AvailabilityVersions.h:238:1:
  21. MAC_OS_VERSION_12_0 = 120000 // AvailabilityVersions.h:239:1:
  22. MAC_OS_X_VERSION_10_0 = 1000 // AvailabilityVersions.h:206:1:
  23. MAC_OS_X_VERSION_10_1 = 1010 // AvailabilityVersions.h:207:1:
  24. MAC_OS_X_VERSION_10_10 = 101000 // AvailabilityVersions.h:216:1:
  25. MAC_OS_X_VERSION_10_10_2 = 101002 // AvailabilityVersions.h:217:1:
  26. MAC_OS_X_VERSION_10_10_3 = 101003 // AvailabilityVersions.h:218:1:
  27. MAC_OS_X_VERSION_10_11 = 101100 // AvailabilityVersions.h:219:1:
  28. MAC_OS_X_VERSION_10_11_2 = 101102 // AvailabilityVersions.h:220:1:
  29. MAC_OS_X_VERSION_10_11_3 = 101103 // AvailabilityVersions.h:221:1:
  30. MAC_OS_X_VERSION_10_11_4 = 101104 // AvailabilityVersions.h:222:1:
  31. MAC_OS_X_VERSION_10_12 = 101200 // AvailabilityVersions.h:223:1:
  32. MAC_OS_X_VERSION_10_12_1 = 101201 // AvailabilityVersions.h:224:1:
  33. MAC_OS_X_VERSION_10_12_2 = 101202 // AvailabilityVersions.h:225:1:
  34. MAC_OS_X_VERSION_10_12_4 = 101204 // AvailabilityVersions.h:226:1:
  35. MAC_OS_X_VERSION_10_13 = 101300 // AvailabilityVersions.h:227:1:
  36. MAC_OS_X_VERSION_10_13_1 = 101301 // AvailabilityVersions.h:228:1:
  37. MAC_OS_X_VERSION_10_13_2 = 101302 // AvailabilityVersions.h:229:1:
  38. MAC_OS_X_VERSION_10_13_4 = 101304 // AvailabilityVersions.h:230:1:
  39. MAC_OS_X_VERSION_10_14 = 101400 // AvailabilityVersions.h:231:1:
  40. MAC_OS_X_VERSION_10_14_1 = 101401 // AvailabilityVersions.h:232:1:
  41. MAC_OS_X_VERSION_10_14_4 = 101404 // AvailabilityVersions.h:233:1:
  42. MAC_OS_X_VERSION_10_14_6 = 101406 // AvailabilityVersions.h:234:1:
  43. MAC_OS_X_VERSION_10_15 = 101500 // AvailabilityVersions.h:235:1:
  44. MAC_OS_X_VERSION_10_15_1 = 101501 // AvailabilityVersions.h:236:1:
  45. MAC_OS_X_VERSION_10_16 = 101600 // AvailabilityVersions.h:237:1:
  46. MAC_OS_X_VERSION_10_2 = 1020 // AvailabilityVersions.h:208:1:
  47. MAC_OS_X_VERSION_10_3 = 1030 // AvailabilityVersions.h:209:1:
  48. MAC_OS_X_VERSION_10_4 = 1040 // AvailabilityVersions.h:210:1:
  49. MAC_OS_X_VERSION_10_5 = 1050 // AvailabilityVersions.h:211:1:
  50. MAC_OS_X_VERSION_10_6 = 1060 // AvailabilityVersions.h:212:1:
  51. MAC_OS_X_VERSION_10_7 = 1070 // AvailabilityVersions.h:213:1:
  52. MAC_OS_X_VERSION_10_8 = 1080 // AvailabilityVersions.h:214:1:
  53. MAC_OS_X_VERSION_10_9 = 1090 // AvailabilityVersions.h:215:1:
  54. P_tmpdir = "/var/tmp/" // stdio.h:112:1:
  55. RENAME_EXCL = 0x00000004 // stdio.h:37:1:
  56. RENAME_NOFOLLOW_ANY = 0x00000010 // stdio.h:39:1:
  57. RENAME_RESERVED1 = 0x00000008 // stdio.h:38:1:
  58. RENAME_SECLUDE = 0x00000001 // stdio.h:35:1:
  59. RENAME_SWAP = 0x00000002 // stdio.h:36:1:
  60. SEEK_CUR = 1 // stdio.h:121:1:
  61. SEEK_END = 2 // stdio.h:124:1:
  62. SEEK_SET = 0 // stdio.h:118:1:
  63. TMP_MAX = 308915776 // stdio.h:115:1:
  64. X_ARM_MACHTYPES_H_ = 0 // types.h:43:1:
  65. X_BSD_ARM__TYPES_H_ = 0 // _types.h:5:1:
  66. X_BSD_MACHINE_TYPES_H_ = 0 // types.h:32:1:
  67. X_BSD_MACHINE__TYPES_H_ = 0 // _types.h:29:1:
  68. X_CDEFS_H_ = 0 // cdefs.h:68:1:
  69. X_CTERMID_H_ = 0 // _ctermid.h:25:1:
  70. X_DARWIN_FEATURE_64_BIT_INODE = 1 // cdefs.h:774:1:
  71. X_DARWIN_FEATURE_ONLY_64_BIT_INODE = 1 // cdefs.h:784:1:
  72. X_DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 1 // cdefs.h:800:1:
  73. X_DARWIN_FEATURE_ONLY_VERS_1050 = 1 // cdefs.h:792:1:
  74. X_DARWIN_FEATURE_UNIX_CONFORMANCE = 3 // cdefs.h:808:1:
  75. X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
  76. X_FORTIFY_SOURCE = 2 // _types.h:65:1:
  77. X_FSTDIO = 0 // _stdio.h:83:1:
  78. X_INT16_T = 0 // _int16_t.h:29:1:
  79. X_INT32_T = 0 // _int32_t.h:29:1:
  80. X_INT64_T = 0 // _int64_t.h:29:1:
  81. X_INT8_T = 0 // _int8_t.h:29:1:
  82. X_INTPTR_T = 0 // _intptr_t.h:29:1:
  83. X_IOFBF = 0 // stdio.h:99:1:
  84. X_IOLBF = 1 // stdio.h:100:1:
  85. X_IONBF = 2 // stdio.h:101:1:
  86. X_LP64 = 1 // <predefined>:1:1:
  87. X_MACHTYPES_H_ = 0 // types.h:44:1:
  88. X_Nonnull = 0 // cdefs.h:268:1:
  89. X_Null_unspecified = 0 // cdefs.h:271:1:
  90. X_Nullable = 0 // cdefs.h:265:1:
  91. X_OFF_T = 0 // _off_t.h:29:1:
  92. X_SECURE__COMMON_H_ = 0 // _common.h:25:1:
  93. X_SECURE__STDIO_H_ = 0 // _stdio.h:29:1:
  94. X_SIZE_T = 0 // _size_t.h:29:1:
  95. X_SSIZE_T = 0 // _ssize_t.h:29:1:
  96. X_STDIO_H_ = 0 // stdio.h:62:1:
  97. X_SYS_STDIO_H_ = 0 // stdio.h:30:1:
  98. X_SYS__PTHREAD_TYPES_H_ = 0 // _pthread_types.h:30:1:
  99. X_SYS__TYPES_H_ = 0 // _types.h:30:1:
  100. X_UINTPTR_T = 0 // _uintptr_t.h:29:1:
  101. X_USE_FORTIFY_LEVEL = 2 // _common.h:30:1:
  102. X_U_INT16_T = 0 // _u_int16_t.h:29:1:
  103. X_U_INT32_T = 0 // _u_int32_t.h:29:1:
  104. X_U_INT64_T = 0 // _u_int64_t.h:29:1:
  105. X_U_INT8_T = 0 // _u_int8_t.h:29:1:
  106. X_VA_LIST_T = 0 // _va_list.h:30:1:
  107. )
  108. type Ptrdiff_t = int64 /* <builtin>:3:26 */
  109. type Size_t = uint64 /* <builtin>:9:23 */
  110. type Wchar_t = int32 /* <builtin>:15:24 */
  111. type X__int128_t = struct {
  112. Flo int64
  113. Fhi int64
  114. } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
  115. type X__uint128_t = struct {
  116. Flo uint64
  117. Fhi uint64
  118. } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
  119. type X__builtin_va_list = uintptr /* <builtin>:46:14 */
  120. type X__float128 = float64 /* <builtin>:47:21 */
  121. var X__darwin_check_fd_set_overflow uintptr /* <builtin>:146:5: */
  122. // Copyright (c) 2000, 2005, 2007, 2009, 2010 Apple Inc. All rights reserved.
  123. //
  124. // @APPLE_LICENSE_HEADER_START@
  125. //
  126. // This file contains Original Code and/or Modifications of Original Code
  127. // as defined in and that are subject to the Apple Public Source License
  128. // Version 2.0 (the 'License'). You may not use this file except in
  129. // compliance with the License. Please obtain a copy of the License at
  130. // http://www.opensource.apple.com/apsl/ and read it before using this
  131. // file.
  132. //
  133. // The Original Code and all software distributed under the License are
  134. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  135. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  136. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  137. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  138. // Please see the License for the specific language governing rights and
  139. // limitations under the License.
  140. //
  141. // @APPLE_LICENSE_HEADER_END@
  142. // -
  143. // Copyright (c) 1990, 1993
  144. // The Regents of the University of California. All rights reserved.
  145. //
  146. // This code is derived from software contributed to Berkeley by
  147. // Chris Torek.
  148. //
  149. // Redistribution and use in source and binary forms, with or without
  150. // modification, are permitted provided that the following conditions
  151. // are met:
  152. // 1. Redistributions of source code must retain the above copyright
  153. // notice, this list of conditions and the following disclaimer.
  154. // 2. Redistributions in binary form must reproduce the above copyright
  155. // notice, this list of conditions and the following disclaimer in the
  156. // documentation and/or other materials provided with the distribution.
  157. // 3. All advertising materials mentioning features or use of this software
  158. // must display the following acknowledgement:
  159. // This product includes software developed by the University of
  160. // California, Berkeley and its contributors.
  161. // 4. Neither the name of the University nor the names of its contributors
  162. // may be used to endorse or promote products derived from this software
  163. // without specific prior written permission.
  164. //
  165. // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  166. // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  167. // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  168. // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  169. // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  170. // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  171. // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  172. // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  173. // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  174. // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  175. // SUCH DAMAGE.
  176. //
  177. // @(#)stdio.h 8.5 (Berkeley) 4/29/95
  178. // Copyright (c) 2000, 2005, 2007, 2009, 2010 Apple Inc. All rights reserved.
  179. //
  180. // @APPLE_LICENSE_HEADER_START@
  181. //
  182. // This file contains Original Code and/or Modifications of Original Code
  183. // as defined in and that are subject to the Apple Public Source License
  184. // Version 2.0 (the 'License'). You may not use this file except in
  185. // compliance with the License. Please obtain a copy of the License at
  186. // http://www.opensource.apple.com/apsl/ and read it before using this
  187. // file.
  188. //
  189. // The Original Code and all software distributed under the License are
  190. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  191. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  192. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  193. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  194. // Please see the License for the specific language governing rights and
  195. // limitations under the License.
  196. //
  197. // @APPLE_LICENSE_HEADER_END@
  198. // -
  199. // Copyright (c) 1990, 1993
  200. // The Regents of the University of California. All rights reserved.
  201. //
  202. // This code is derived from software contributed to Berkeley by
  203. // Chris Torek.
  204. //
  205. // Redistribution and use in source and binary forms, with or without
  206. // modification, are permitted provided that the following conditions
  207. // are met:
  208. // 1. Redistributions of source code must retain the above copyright
  209. // notice, this list of conditions and the following disclaimer.
  210. // 2. Redistributions in binary form must reproduce the above copyright
  211. // notice, this list of conditions and the following disclaimer in the
  212. // documentation and/or other materials provided with the distribution.
  213. // 3. All advertising materials mentioning features or use of this software
  214. // must display the following acknowledgement:
  215. // This product includes software developed by the University of
  216. // California, Berkeley and its contributors.
  217. // 4. Neither the name of the University nor the names of its contributors
  218. // may be used to endorse or promote products derived from this software
  219. // without specific prior written permission.
  220. //
  221. // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  222. // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  223. // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  224. // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  225. // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  226. // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  227. // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  228. // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  229. // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  230. // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  231. // SUCH DAMAGE.
  232. //
  233. // @(#)stdio.h 8.5 (Berkeley) 4/29/95
  234. // Common header for stdio.h and xlocale/_stdio.h
  235. // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  236. //
  237. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  238. //
  239. // This file contains Original Code and/or Modifications of Original Code
  240. // as defined in and that are subject to the Apple Public Source License
  241. // Version 2.0 (the 'License'). You may not use this file except in
  242. // compliance with the License. The rights granted to you under the License
  243. // may not be used to create, or enable the creation or redistribution of,
  244. // unlawful or unlicensed copies of an Apple operating system, or to
  245. // circumvent, violate, or enable the circumvention or violation of, any
  246. // terms of an Apple operating system software license agreement.
  247. //
  248. // Please obtain a copy of the License at
  249. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  250. //
  251. // The Original Code and all software distributed under the License are
  252. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  253. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  254. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  255. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  256. // Please see the License for the specific language governing rights and
  257. // limitations under the License.
  258. //
  259. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  260. // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  261. // Copyright (c) 1991, 1993
  262. // The Regents of the University of California. All rights reserved.
  263. //
  264. // This code is derived from software contributed to Berkeley by
  265. // Berkeley Software Design, Inc.
  266. //
  267. // Redistribution and use in source and binary forms, with or without
  268. // modification, are permitted provided that the following conditions
  269. // are met:
  270. // 1. Redistributions of source code must retain the above copyright
  271. // notice, this list of conditions and the following disclaimer.
  272. // 2. Redistributions in binary form must reproduce the above copyright
  273. // notice, this list of conditions and the following disclaimer in the
  274. // documentation and/or other materials provided with the distribution.
  275. // 3. All advertising materials mentioning features or use of this software
  276. // must display the following acknowledgement:
  277. // This product includes software developed by the University of
  278. // California, Berkeley and its contributors.
  279. // 4. Neither the name of the University nor the names of its contributors
  280. // may be used to endorse or promote products derived from this software
  281. // without specific prior written permission.
  282. //
  283. // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  284. // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  285. // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  286. // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  287. // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  288. // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  289. // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  290. // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  291. // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  292. // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  293. // SUCH DAMAGE.
  294. //
  295. // @(#)cdefs.h 8.8 (Berkeley) 1/9/95
  296. // This SDK is designed to work with clang and specific versions of
  297. // gcc >= 4.0 with Apple's patch sets
  298. // Compatibility with compilers and environments that don't support compiler
  299. // feature checking function-like macros.
  300. // The __CONCAT macro is used to concatenate parts of symbol names, e.g.
  301. // with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
  302. // The __CONCAT macro is a bit tricky -- make sure you don't put spaces
  303. // in between its arguments. __CONCAT can also concatenate double-quoted
  304. // strings produced by the __STRING macro, but this only works with ANSI C.
  305. // In non-ANSI C environments, new programs will want ANSI-only C keywords
  306. // deleted from the program and old programs will want them left alone.
  307. // When using a compiler other than gcc, programs using the ANSI C keywords
  308. // const, inline etc. as normal identifiers should define -DNO_ANSI_KEYWORDS.
  309. // When using "gcc -traditional", we assume that this is the intent; if
  310. // __GNUC__ is defined but __STDC__ is not, we leave the new keywords alone.
  311. // __pure2 can be used for functions that are only a function of their scalar
  312. // arguments (meaning they can't dereference pointers).
  313. //
  314. // __stateful_pure can be used for functions that have no side effects,
  315. // but depend on the state of the memory.
  316. // __unused denotes variables and functions that may not be used, preventing
  317. // the compiler from warning about it if not used.
  318. // __used forces variables and functions to be included even if it appears
  319. // to the compiler that they are not used (and would thust be discarded).
  320. // __cold marks code used for debugging or that is rarely taken
  321. // and tells the compiler to optimize for size and outline code.
  322. // __exported denotes symbols that should be exported even when symbols
  323. // are hidden by default.
  324. // __exported_push/_exported_pop are pragmas used to delimit a range of
  325. // symbols that should be exported even when symbols are hidden by default.
  326. // __deprecated causes the compiler to produce a warning when encountering
  327. // code using the deprecated functionality.
  328. // __deprecated_msg() does the same, and compilers that support it will print
  329. // a message along with the deprecation warning.
  330. // This may require turning on such warning with the -Wdeprecated flag.
  331. // __deprecated_enum_msg() should be used on enums, and compilers that support
  332. // it will print the deprecation warning.
  333. // __kpi_deprecated() specifically indicates deprecation of kernel programming
  334. // interfaces in Kernel.framework used by KEXTs.
  335. // __unavailable causes the compiler to error out when encountering
  336. // code using the tagged function
  337. // Delete pseudo-keywords wherever they are not available or needed.
  338. // We use `__restrict' as a way to define the `restrict' type qualifier
  339. // without disturbing older software that is unaware of C99 keywords.
  340. // Compatibility with compilers and environments that don't support the
  341. // nullability feature.
  342. // __disable_tail_calls causes the compiler to not perform tail call
  343. // optimization inside the marked function.
  344. // __not_tail_called causes the compiler to prevent tail call optimization
  345. // on statically bound calls to the function. It has no effect on indirect
  346. // calls. Virtual functions, objective-c methods, and functions marked as
  347. // "always_inline" cannot be marked as __not_tail_called.
  348. // __result_use_check warns callers of a function that not using the function
  349. // return value is a bug, i.e. dismissing malloc() return value results in a
  350. // memory leak.
  351. // __swift_unavailable causes the compiler to mark a symbol as specifically
  352. // unavailable in Swift, regardless of any other availability in C.
  353. // __abortlike is the attribute to put on functions like abort() that are
  354. // typically used to mark assertions. These optimize the codegen
  355. // for outlining while still maintaining debugability.
  356. // Declaring inline functions within headers is error-prone due to differences
  357. // across various versions of the C language and extensions. __header_inline
  358. // can be used to declare inline functions within system headers. In cases
  359. // where you want to force inlining instead of letting the compiler make
  360. // the decision, you can use __header_always_inline.
  361. //
  362. // Be aware that using inline for functions which compilers may also provide
  363. // builtins can behave differently under various compilers. If you intend to
  364. // provide an inline version of such a function, you may want to use a macro
  365. // instead.
  366. //
  367. // The check for !__GNUC__ || __clang__ is because gcc doesn't correctly
  368. // support c99 inline in some cases:
  369. // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55965
  370. // Compiler-dependent macros that bracket portions of code where the
  371. // "-Wunreachable-code" warning should be ignored. Please use sparingly.
  372. // Compiler-dependent macros to declare that functions take printf-like
  373. // or scanf-like arguments. They are null except for versions of gcc
  374. // that are known to support the features properly. Functions declared
  375. // with these attributes will cause compilation warnings if there is a
  376. // mismatch between the format string and subsequent function parameter
  377. // types.
  378. // Source compatibility only, ID string not emitted in object file
  379. // __alloc_size can be used to label function arguments that represent the
  380. // size of memory that the function allocates and returns. The one-argument
  381. // form labels a single argument that gives the allocation size (where the
  382. // arguments are numbered from 1):
  383. //
  384. // void *malloc(size_t __size) __alloc_size(1);
  385. //
  386. // The two-argument form handles the case where the size is calculated as the
  387. // product of two arguments:
  388. //
  389. // void *calloc(size_t __count, size_t __size) __alloc_size(1,2);
  390. // COMPILATION ENVIRONMENTS -- see compat(5) for additional detail
  391. //
  392. // DEFAULT By default newly complied code will get POSIX APIs plus
  393. // Apple API extensions in scope.
  394. //
  395. // Most users will use this compilation environment to avoid
  396. // behavioral differences between 32 and 64 bit code.
  397. //
  398. // LEGACY Defining _NONSTD_SOURCE will get pre-POSIX APIs plus Apple
  399. // API extensions in scope.
  400. //
  401. // This is generally equivalent to the Tiger release compilation
  402. // environment, except that it cannot be applied to 64 bit code;
  403. // its use is discouraged.
  404. //
  405. // We expect this environment to be deprecated in the future.
  406. //
  407. // STRICT Defining _POSIX_C_SOURCE or _XOPEN_SOURCE restricts the
  408. // available APIs to exactly the set of APIs defined by the
  409. // corresponding standard, based on the value defined.
  410. //
  411. // A correct, portable definition for _POSIX_C_SOURCE is 200112L.
  412. // A correct, portable definition for _XOPEN_SOURCE is 600L.
  413. //
  414. // Apple API extensions are not visible in this environment,
  415. // which can cause Apple specific code to fail to compile,
  416. // or behave incorrectly if prototypes are not in scope or
  417. // warnings about missing prototypes are not enabled or ignored.
  418. //
  419. // In any compilation environment, for correct symbol resolution to occur,
  420. // function prototypes must be in scope. It is recommended that all Apple
  421. // tools users add either the "-Wall" or "-Wimplicit-function-declaration"
  422. // compiler flags to their projects to be warned when a function is being
  423. // used without a prototype in scope.
  424. // These settings are particular to each product.
  425. // Platform: MacOSX
  426. // The __DARWIN_ALIAS macros are used to do symbol renaming; they allow
  427. // legacy code to use the old symbol, thus maintaining binary compatibility
  428. // while new code can use a standards compliant version of the same function.
  429. //
  430. // __DARWIN_ALIAS is used by itself if the function signature has not
  431. // changed, it is used along with a #ifdef check for __DARWIN_UNIX03
  432. // if the signature has changed. Because the __LP64__ environment
  433. // only supports UNIX03 semantics it causes __DARWIN_UNIX03 to be
  434. // defined, but causes __DARWIN_ALIAS to do no symbol mangling.
  435. //
  436. // As a special case, when XCode is used to target a specific version of the
  437. // OS, the manifest constant __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
  438. // will be defined by the compiler, with the digits representing major version
  439. // time 100 + minor version times 10 (e.g. 10.5 := 1050). If we are targeting
  440. // pre-10.5, and it is the default compilation environment, revert the
  441. // compilation environment to pre-__DARWIN_UNIX03.
  442. // symbol suffixes used for symbol versioning
  443. // symbol versioning macros
  444. // symbol release macros
  445. // Copyright (c) 2010 Apple Inc. All rights reserved.
  446. //
  447. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  448. //
  449. // This file contains Original Code and/or Modifications of Original Code
  450. // as defined in and that are subject to the Apple Public Source License
  451. // Version 2.0 (the 'License'). You may not use this file except in
  452. // compliance with the License. The rights granted to you under the License
  453. // may not be used to create, or enable the creation or redistribution of,
  454. // unlawful or unlicensed copies of an Apple operating system, or to
  455. // circumvent, violate, or enable the circumvention or violation of, any
  456. // terms of an Apple operating system software license agreement.
  457. //
  458. // Please obtain a copy of the License at
  459. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  460. //
  461. // The Original Code and all software distributed under the License are
  462. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  463. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  464. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  465. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  466. // Please see the License for the specific language governing rights and
  467. // limitations under the License.
  468. //
  469. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  470. // POSIX.1 requires that the macros we test be defined before any standard
  471. // header file is included. This permits us to convert values for feature
  472. // testing, as necessary, using only _POSIX_C_SOURCE.
  473. //
  474. // Here's a quick run-down of the versions:
  475. // defined(_POSIX_SOURCE) 1003.1-1988
  476. // _POSIX_C_SOURCE == 1L 1003.1-1990
  477. // _POSIX_C_SOURCE == 2L 1003.2-1992 C Language Binding Option
  478. // _POSIX_C_SOURCE == 199309L 1003.1b-1993
  479. // _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995,
  480. // and the omnibus ISO/IEC 9945-1: 1996
  481. // _POSIX_C_SOURCE == 200112L 1003.1-2001
  482. // _POSIX_C_SOURCE == 200809L 1003.1-2008
  483. //
  484. // In addition, the X/Open Portability Guide, which is now the Single UNIX
  485. // Specification, defines a feature-test macro which indicates the version of
  486. // that specification, and which subsumes _POSIX_C_SOURCE.
  487. // Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1L.
  488. // Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2L.
  489. // Deal with various X/Open Portability Guides and Single UNIX Spec.
  490. // Deal with all versions of POSIX. The ordering relative to the tests above is
  491. // important.
  492. // POSIX C deprecation macros
  493. // Copyright (c) 2010 Apple Inc. All rights reserved.
  494. //
  495. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  496. //
  497. // This file contains Original Code and/or Modifications of Original Code
  498. // as defined in and that are subject to the Apple Public Source License
  499. // Version 2.0 (the 'License'). You may not use this file except in
  500. // compliance with the License. The rights granted to you under the License
  501. // may not be used to create, or enable the creation or redistribution of,
  502. // unlawful or unlicensed copies of an Apple operating system, or to
  503. // circumvent, violate, or enable the circumvention or violation of, any
  504. // terms of an Apple operating system software license agreement.
  505. //
  506. // Please obtain a copy of the License at
  507. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  508. //
  509. // The Original Code and all software distributed under the License are
  510. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  511. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  512. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  513. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  514. // Please see the License for the specific language governing rights and
  515. // limitations under the License.
  516. //
  517. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  518. // Set a single macro which will always be defined and can be used to determine
  519. // the appropriate namespace. For POSIX, these values will correspond to
  520. // _POSIX_C_SOURCE value. Currently there are two additional levels corresponding
  521. // to ANSI (_ANSI_SOURCE) and Darwin extensions (_DARWIN_C_SOURCE)
  522. // If the developer has neither requested a strict language mode nor a version
  523. // of POSIX, turn on functionality provided by __STDC_WANT_LIB_EXT1__ as part
  524. // of __DARWIN_C_FULL.
  525. // long long is not supported in c89 (__STRICT_ANSI__), but g++ -ansi and
  526. // c99 still want long longs. While not perfect, we allow long longs for
  527. // g++.
  528. // ****************************************
  529. //
  530. // Public darwin-specific feature macros
  531. //
  532. // _DARWIN_FEATURE_64_BIT_INODE indicates that the ino_t type is 64-bit, and
  533. // structures modified for 64-bit inodes (like struct stat) will be used.
  534. // _DARWIN_FEATURE_64_ONLY_BIT_INODE indicates that the ino_t type may only
  535. // be 64-bit; there is no support for 32-bit ino_t when this macro is defined
  536. // (and non-zero). There is no struct stat64 either, as the regular
  537. // struct stat will already be the 64-bit version.
  538. // _DARWIN_FEATURE_ONLY_VERS_1050 indicates that only those APIs updated
  539. // in 10.5 exists; no pre-10.5 variants are available.
  540. // _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE indicates only UNIX conforming API
  541. // are available (the legacy BSD APIs are not available)
  542. // _DARWIN_FEATURE_UNIX_CONFORMANCE indicates whether UNIX conformance is on,
  543. // and specifies the conformance level (3 is SUSv3)
  544. // This macro casts away the qualifier from the variable
  545. //
  546. // Note: use at your own risk, removing qualifiers can result in
  547. // catastrophic run-time failures.
  548. // __XNU_PRIVATE_EXTERN is a linkage decoration indicating that a symbol can be
  549. // used from other compilation units, but not other libraries or executables.
  550. // We intentionally define to nothing pointer attributes which do not have an
  551. // impact on the ABI. __indexable and __bidi_indexable are not defined because
  552. // of the ABI incompatibility that makes the diagnostic preferable.
  553. // Similarly, we intentionally define to nothing the
  554. // __ptrcheck_abi_assume_single and __ptrcheck_abi_assume_unsafe_indexable
  555. // macros because they do not lead to an ABI incompatibility. However, we do not
  556. // define the indexable and unsafe_indexable ones because the diagnostic is
  557. // better than the silent ABI break.
  558. // __unsafe_forge intrinsics are defined as regular C casts.
  559. // decay operates normally; attribute is meaningless without pointer checks.
  560. // Architecture validation for current SDK
  561. // Similar to OS_ENUM/OS_CLOSED_ENUM/OS_OPTIONS/OS_CLOSED_OPTIONS
  562. //
  563. // This provides more advanced type checking on compilers supporting
  564. // the proper extensions, even in C.
  565. // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
  566. //
  567. // @APPLE_LICENSE_HEADER_START@
  568. //
  569. // This file contains Original Code and/or Modifications of Original Code
  570. // as defined in and that are subject to the Apple Public Source License
  571. // Version 2.0 (the 'License'). You may not use this file except in
  572. // compliance with the License. Please obtain a copy of the License at
  573. // http://www.opensource.apple.com/apsl/ and read it before using this
  574. // file.
  575. //
  576. // The Original Code and all software distributed under the License are
  577. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  578. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  579. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  580. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  581. // Please see the License for the specific language governing rights and
  582. // limitations under the License.
  583. //
  584. // @APPLE_LICENSE_HEADER_END@
  585. //
  586. // These macros are for use in OS header files. They enable function prototypes
  587. // and Objective-C methods to be tagged with the OS version in which they
  588. // were first available; and, if applicable, the OS version in which they
  589. // became deprecated.
  590. //
  591. // The desktop Mac OS X and iOS each have different version numbers.
  592. // The __OSX_AVAILABLE_STARTING() macro allows you to specify both the desktop
  593. // and iOS version numbers. For instance:
  594. // __OSX_AVAILABLE_STARTING(__MAC_10_2,__IPHONE_2_0)
  595. // means the function/method was first available on Mac OS X 10.2 on the desktop
  596. // and first available in iOS 2.0 on the iPhone.
  597. //
  598. // If a function is available on one platform, but not the other a _NA (not
  599. // applicable) parameter is used. For instance:
  600. // __OSX_AVAILABLE_STARTING(__MAC_10_3,__IPHONE_NA)
  601. // means that the function/method was first available on Mac OS X 10.3, and it
  602. // currently not implemented on the iPhone.
  603. //
  604. // At some point, a function/method may be deprecated. That means Apple
  605. // recommends applications stop using the function, either because there is a
  606. // better replacement or the functionality is being phased out. Deprecated
  607. // functions/methods can be tagged with a __OSX_AVAILABLE_BUT_DEPRECATED()
  608. // macro which specifies the OS version where the function became available
  609. // as well as the OS version in which it became deprecated. For instance:
  610. // __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_5,__IPHONE_NA,__IPHONE_NA)
  611. // means that the function/method was introduced in Mac OS X 10.0, then
  612. // became deprecated beginning in Mac OS X 10.5. On iOS the function
  613. // has never been available.
  614. //
  615. // For these macros to function properly, a program must specify the OS version range
  616. // it is targeting. The min OS version is specified as an option to the compiler:
  617. // -mmacosx-version-min=10.x when building for Mac OS X, and -miphoneos-version-min=y.z
  618. // when building for the iPhone. The upper bound for the OS version is rarely needed,
  619. // but it can be set on the command line via: -D__MAC_OS_X_VERSION_MAX_ALLOWED=10x0 for
  620. // Mac OS X and __IPHONE_OS_VERSION_MAX_ALLOWED = y0z00 for iOS.
  621. //
  622. // Examples:
  623. //
  624. // A function available in Mac OS X 10.5 and later, but not on the phone:
  625. //
  626. // extern void mymacfunc() __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA);
  627. //
  628. //
  629. // An Objective-C method in Mac OS X 10.5 and later, but not on the phone:
  630. //
  631. // @interface MyClass : NSObject
  632. // -(void) mymacmethod __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA);
  633. // @end
  634. //
  635. //
  636. // An enum available on the phone, but not available on Mac OS X:
  637. //
  638. // #if __IPHONE_OS_VERSION_MIN_REQUIRED
  639. // enum { myEnum = 1 };
  640. // #endif
  641. // Note: this works when targeting the Mac OS X platform because
  642. // __IPHONE_OS_VERSION_MIN_REQUIRED is undefined which evaluates to zero.
  643. //
  644. //
  645. // An enum with values added in different iPhoneOS versions:
  646. //
  647. // enum {
  648. // myX = 1, // Usable on iPhoneOS 2.1 and later
  649. // myY = 2, // Usable on iPhoneOS 3.0 and later
  650. // myZ = 3, // Usable on iPhoneOS 3.0 and later
  651. // ...
  652. // Note: you do not want to use #if with enumeration values
  653. // when a client needs to see all values at compile time
  654. // and use runtime logic to only use the viable values.
  655. //
  656. //
  657. // It is also possible to use the *_VERSION_MIN_REQUIRED in source code to make one
  658. // source base that can be compiled to target a range of OS versions. It is best
  659. // to not use the _MAC_* and __IPHONE_* macros for comparisons, but rather their values.
  660. // That is because you might get compiled on an old OS that does not define a later
  661. // OS version macro, and in the C preprocessor undefined values evaluate to zero
  662. // in expresssions, which could cause the #if expression to evaluate in an unexpected
  663. // way.
  664. //
  665. // #ifdef __MAC_OS_X_VERSION_MIN_REQUIRED
  666. // // code only compiled when targeting Mac OS X and not iPhone
  667. // // note use of 1050 instead of __MAC_10_5
  668. // #if __MAC_OS_X_VERSION_MIN_REQUIRED < 1050
  669. // // code in here might run on pre-Leopard OS
  670. // #else
  671. // // code here can assume Leopard or later
  672. // #endif
  673. // #endif
  674. //
  675. //
  676. // __API_TO_BE_DEPRECATED is used as a version number in API that will be deprecated
  677. // in an upcoming release. This soft deprecation is an intermediate step before formal
  678. // deprecation to notify developers about the API before compiler warnings are generated.
  679. // You can find all places in your code that use soft deprecated API by redefining the
  680. // value of this macro to your current minimum deployment target, for example:
  681. // (macOS)
  682. // clang -D__API_TO_BE_DEPRECATED=10.12 <other compiler flags>
  683. // (iOS)
  684. // clang -D__API_TO_BE_DEPRECATED=11.0 <other compiler flags>
  685. // Copyright (c) 2019 by Apple Inc.. All rights reserved.
  686. //
  687. // @APPLE_LICENSE_HEADER_START@
  688. //
  689. // This file contains Original Code and/or Modifications of Original Code
  690. // as defined in and that are subject to the Apple Public Source License
  691. // Version 2.0 (the 'License'). You may not use this file except in
  692. // compliance with the License. Please obtain a copy of the License at
  693. // http://www.opensource.apple.com/apsl/ and read it before using this
  694. // file.
  695. //
  696. // The Original Code and all software distributed under the License are
  697. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  698. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  699. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  700. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  701. // Please see the License for the specific language governing rights and
  702. // limitations under the License.
  703. //
  704. // @APPLE_LICENSE_HEADER_END@
  705. // __MAC_NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable
  706. // __IPHONE_NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable
  707. // Set up standard Mac OS X versions
  708. // Copyright (c) 2007-2016 by Apple Inc.. All rights reserved.
  709. //
  710. // @APPLE_LICENSE_HEADER_START@
  711. //
  712. // This file contains Original Code and/or Modifications of Original Code
  713. // as defined in and that are subject to the Apple Public Source License
  714. // Version 2.0 (the 'License'). You may not use this file except in
  715. // compliance with the License. Please obtain a copy of the License at
  716. // http://www.opensource.apple.com/apsl/ and read it before using this
  717. // file.
  718. //
  719. // The Original Code and all software distributed under the License are
  720. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  721. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  722. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  723. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  724. // Please see the License for the specific language governing rights and
  725. // limitations under the License.
  726. //
  727. // @APPLE_LICENSE_HEADER_END@
  728. //
  729. // File: AvailabilityInternal.h
  730. //
  731. // Contains: implementation details of __OSX_AVAILABLE_* macros from <Availability.h>
  732. //
  733. // compiler for Mac OS X sets __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
  734. // make sure a default max version is set
  735. //
  736. // Macros for defining which versions/platform a given symbol can be used.
  737. //
  738. // @see http://clang.llvm.org/docs/AttributeReference.html#availability
  739. //
  740. // Evaluate to nothing for compilers that don't support availability.
  741. // Swift compiler version
  742. // Allows for project-agnostic "epochs" for frameworks imported into Swift via the Clang importer, like #if _compiler_version for Swift
  743. // Example:
  744. //
  745. // #if __swift_compiler_version_at_least(800, 2, 20)
  746. // - (nonnull NSString *)description;
  747. // #else
  748. // - (NSString *)description;
  749. // #endif
  750. // If __SPI_AVAILABLE has not been defined elsewhere, disable it.
  751. // for use to document app extension usage
  752. // for use marking APIs available info for Mac OSX
  753. // for use marking APIs available info for iOS
  754. // for use marking APIs available info for tvOS
  755. // for use marking APIs available info for Watch OS
  756. // for use marking APIs unavailable for swift
  757. //
  758. // Macros for defining which versions/platform a given symbol can be used.
  759. //
  760. // @see http://clang.llvm.org/docs/AttributeReference.html#availability
  761. //
  762. // * Note that these macros are only compatible with clang compilers that
  763. // * support the following target selection options:
  764. // *
  765. // * -mmacosx-version-min
  766. // * -miphoneos-version-min
  767. // * -mwatchos-version-min
  768. // * -mtvos-version-min
  769. //
  770. // Evaluate to nothing for compilers that don't support availability.
  771. // If SPI decorations have not been defined elsewhere, disable them.
  772. // Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved.
  773. //
  774. // @APPLE_LICENSE_HEADER_START@
  775. //
  776. // This file contains Original Code and/or Modifications of Original Code
  777. // as defined in and that are subject to the Apple Public Source License
  778. // Version 2.0 (the 'License'). You may not use this file except in
  779. // compliance with the License. Please obtain a copy of the License at
  780. // http://www.opensource.apple.com/apsl/ and read it before using this
  781. // file.
  782. //
  783. // The Original Code and all software distributed under the License are
  784. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  785. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  786. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  787. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  788. // Please see the License for the specific language governing rights and
  789. // limitations under the License.
  790. //
  791. // @APPLE_LICENSE_HEADER_END@
  792. // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  793. //
  794. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  795. //
  796. // This file contains Original Code and/or Modifications of Original Code
  797. // as defined in and that are subject to the Apple Public Source License
  798. // Version 2.0 (the 'License'). You may not use this file except in
  799. // compliance with the License. The rights granted to you under the License
  800. // may not be used to create, or enable the creation or redistribution of,
  801. // unlawful or unlicensed copies of an Apple operating system, or to
  802. // circumvent, violate, or enable the circumvention or violation of, any
  803. // terms of an Apple operating system software license agreement.
  804. //
  805. // Please obtain a copy of the License at
  806. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  807. //
  808. // The Original Code and all software distributed under the License are
  809. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  810. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  811. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  812. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  813. // Please see the License for the specific language governing rights and
  814. // limitations under the License.
  815. //
  816. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  817. // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  818. //
  819. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  820. //
  821. // This file contains Original Code and/or Modifications of Original Code
  822. // as defined in and that are subject to the Apple Public Source License
  823. // Version 2.0 (the 'License'). You may not use this file except in
  824. // compliance with the License. The rights granted to you under the License
  825. // may not be used to create, or enable the creation or redistribution of,
  826. // unlawful or unlicensed copies of an Apple operating system, or to
  827. // circumvent, violate, or enable the circumvention or violation of, any
  828. // terms of an Apple operating system software license agreement.
  829. //
  830. // Please obtain a copy of the License at
  831. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  832. //
  833. // The Original Code and all software distributed under the License are
  834. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  835. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  836. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  837. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  838. // Please see the License for the specific language governing rights and
  839. // limitations under the License.
  840. //
  841. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  842. // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  843. // Copyright (c) 1991, 1993
  844. // The Regents of the University of California. All rights reserved.
  845. //
  846. // This code is derived from software contributed to Berkeley by
  847. // Berkeley Software Design, Inc.
  848. //
  849. // Redistribution and use in source and binary forms, with or without
  850. // modification, are permitted provided that the following conditions
  851. // are met:
  852. // 1. Redistributions of source code must retain the above copyright
  853. // notice, this list of conditions and the following disclaimer.
  854. // 2. Redistributions in binary form must reproduce the above copyright
  855. // notice, this list of conditions and the following disclaimer in the
  856. // documentation and/or other materials provided with the distribution.
  857. // 3. All advertising materials mentioning features or use of this software
  858. // must display the following acknowledgement:
  859. // This product includes software developed by the University of
  860. // California, Berkeley and its contributors.
  861. // 4. Neither the name of the University nor the names of its contributors
  862. // may be used to endorse or promote products derived from this software
  863. // without specific prior written permission.
  864. //
  865. // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  866. // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  867. // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  868. // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  869. // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  870. // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  871. // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  872. // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  873. // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  874. // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  875. // SUCH DAMAGE.
  876. //
  877. // @(#)cdefs.h 8.8 (Berkeley) 1/9/95
  878. // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  879. //
  880. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  881. //
  882. // This file contains Original Code and/or Modifications of Original Code
  883. // as defined in and that are subject to the Apple Public Source License
  884. // Version 2.0 (the 'License'). You may not use this file except in
  885. // compliance with the License. The rights granted to you under the License
  886. // may not be used to create, or enable the creation or redistribution of,
  887. // unlawful or unlicensed copies of an Apple operating system, or to
  888. // circumvent, violate, or enable the circumvention or violation of, any
  889. // terms of an Apple operating system software license agreement.
  890. //
  891. // Please obtain a copy of the License at
  892. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  893. //
  894. // The Original Code and all software distributed under the License are
  895. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  896. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  897. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  898. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  899. // Please see the License for the specific language governing rights and
  900. // limitations under the License.
  901. //
  902. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  903. // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  904. // This header file contains integer types. It's intended to also contain
  905. // flotaing point and other arithmetic types, as needed, later.
  906. type X__int8_t = int8 /* _types.h:15:33 */
  907. type X__uint8_t = uint8 /* _types.h:19:33 */
  908. type X__int16_t = int16 /* _types.h:20:33 */
  909. type X__uint16_t = uint16 /* _types.h:21:33 */
  910. type X__int32_t = int32 /* _types.h:22:33 */
  911. type X__uint32_t = uint32 /* _types.h:23:33 */
  912. type X__int64_t = int64 /* _types.h:24:33 */
  913. type X__uint64_t = uint64 /* _types.h:25:33 */
  914. type X__darwin_intptr_t = int64 /* _types.h:27:33 */
  915. type X__darwin_natural_t = uint32 /* _types.h:28:33 */
  916. // The rune type below is declared to be an ``int'' instead of the more natural
  917. // ``unsigned long'' or ``long''. Two things are happening here. It is not
  918. // unsigned so that EOF (-1) can be naturally assigned to it and used. Also,
  919. // it looks like 10646 will be a 31 bit standard. This means that if your
  920. // ints cannot hold 32 bits, you will be in trouble. The reason an int was
  921. // chosen over a long is that the is*() and to*() routines take ints (says
  922. // ANSI C), but they use __darwin_ct_rune_t instead of int. By changing it
  923. // here, you lose a bit of ANSI conformance, but your programs will still
  924. // work.
  925. //
  926. // NOTE: rune_t is not covered by ANSI nor other standards, and should not
  927. // be instantiated outside of lib/libc/locale. Use wchar_t. wchar_t and
  928. // rune_t must be the same type. Also wint_t must be no narrower than
  929. // wchar_t, and should also be able to hold all members of the largest
  930. // character set plus one extra value (WEOF). wint_t must be at least 16 bits.
  931. type X__darwin_ct_rune_t = int32 /* _types.h:48:33 */ // ct_rune_t
  932. // mbstate_t is an opaque object to keep conversion state, during multibyte
  933. // stream conversions. The content must not be referenced by user programs.
  934. type X__mbstate_t = struct {
  935. F__ccgo_pad1 [0]uint64
  936. F__mbstate8 [128]int8
  937. } /* _types.h:57:3 */
  938. type X__darwin_mbstate_t = X__mbstate_t /* _types.h:59:33 */ // mbstate_t
  939. type X__darwin_ptrdiff_t = int64 /* _types.h:62:33 */ // ptr1 - ptr2
  940. type X__darwin_size_t = uint64 /* _types.h:70:33 */ // sizeof()
  941. type X__darwin_va_list = X__builtin_va_list /* _types.h:76:33 */ // va_list
  942. type X__darwin_wchar_t = int32 /* _types.h:82:33 */ // wchar_t
  943. type X__darwin_rune_t = X__darwin_wchar_t /* _types.h:87:33 */ // rune_t
  944. type X__darwin_wint_t = int32 /* _types.h:90:33 */ // wint_t
  945. type X__darwin_clock_t = uint64 /* _types.h:95:33 */ // clock()
  946. type X__darwin_socklen_t = X__uint32_t /* _types.h:96:33 */ // socklen_t (duh)
  947. type X__darwin_ssize_t = int64 /* _types.h:97:33 */ // byte count or error
  948. type X__darwin_time_t = int64 /* _types.h:98:33 */ // time()
  949. // Type definitions; takes common type definitions that must be used
  950. // in multiple header files due to [XSI], removes them from the system
  951. // space, and puts them in the implementation space.
  952. type X__darwin_blkcnt_t = X__int64_t /* _types.h:55:25 */ // total blocks
  953. type X__darwin_blksize_t = X__int32_t /* _types.h:56:25 */ // preferred block size
  954. type X__darwin_dev_t = X__int32_t /* _types.h:57:25 */ // dev_t
  955. type X__darwin_fsblkcnt_t = uint32 /* _types.h:58:25 */ // Used by statvfs and fstatvfs
  956. type X__darwin_fsfilcnt_t = uint32 /* _types.h:59:25 */ // Used by statvfs and fstatvfs
  957. type X__darwin_gid_t = X__uint32_t /* _types.h:60:25 */ // [???] process and group IDs
  958. type X__darwin_id_t = X__uint32_t /* _types.h:61:25 */ // [XSI] pid_t, uid_t, or gid_t
  959. type X__darwin_ino64_t = X__uint64_t /* _types.h:62:25 */ // [???] Used for 64 bit inodes
  960. type X__darwin_ino_t = X__darwin_ino64_t /* _types.h:64:26 */ // [???] Used for inodes
  961. type X__darwin_mach_port_name_t = X__darwin_natural_t /* _types.h:68:28 */ // Used by mach
  962. type X__darwin_mach_port_t = X__darwin_mach_port_name_t /* _types.h:69:35 */ // Used by mach
  963. type X__darwin_mode_t = X__uint16_t /* _types.h:70:25 */ // [???] Some file attributes
  964. type X__darwin_off_t = X__int64_t /* _types.h:71:25 */ // [???] Used for file sizes
  965. type X__darwin_pid_t = X__int32_t /* _types.h:72:25 */ // [???] process and group IDs
  966. type X__darwin_sigset_t = X__uint32_t /* _types.h:73:25 */ // [???] signal set
  967. type X__darwin_suseconds_t = X__int32_t /* _types.h:74:25 */ // [???] microseconds
  968. type X__darwin_uid_t = X__uint32_t /* _types.h:75:25 */ // [???] user IDs
  969. type X__darwin_useconds_t = X__uint32_t /* _types.h:76:25 */ // [???] microseconds
  970. type X__darwin_uuid_t = [16]uint8 /* _types.h:77:25 */
  971. type X__darwin_uuid_string_t = [37]int8 /* _types.h:78:17 */
  972. // Copyright (c) 2003-2013 Apple Inc. All rights reserved.
  973. //
  974. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  975. //
  976. // This file contains Original Code and/or Modifications of Original Code
  977. // as defined in and that are subject to the Apple Public Source License
  978. // Version 2.0 (the 'License'). You may not use this file except in
  979. // compliance with the License. The rights granted to you under the License
  980. // may not be used to create, or enable the creation or redistribution of,
  981. // unlawful or unlicensed copies of an Apple operating system, or to
  982. // circumvent, violate, or enable the circumvention or violation of, any
  983. // terms of an Apple operating system software license agreement.
  984. //
  985. // Please obtain a copy of the License at
  986. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  987. //
  988. // The Original Code and all software distributed under the License are
  989. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  990. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  991. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  992. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  993. // Please see the License for the specific language governing rights and
  994. // limitations under the License.
  995. //
  996. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  997. // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  998. //
  999. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1000. //
  1001. // This file contains Original Code and/or Modifications of Original Code
  1002. // as defined in and that are subject to the Apple Public Source License
  1003. // Version 2.0 (the 'License'). You may not use this file except in
  1004. // compliance with the License. The rights granted to you under the License
  1005. // may not be used to create, or enable the creation or redistribution of,
  1006. // unlawful or unlicensed copies of an Apple operating system, or to
  1007. // circumvent, violate, or enable the circumvention or violation of, any
  1008. // terms of an Apple operating system software license agreement.
  1009. //
  1010. // Please obtain a copy of the License at
  1011. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1012. //
  1013. // The Original Code and all software distributed under the License are
  1014. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1015. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1016. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1017. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1018. // Please see the License for the specific language governing rights and
  1019. // limitations under the License.
  1020. //
  1021. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1022. // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  1023. // Copyright (c) 1991, 1993
  1024. // The Regents of the University of California. All rights reserved.
  1025. //
  1026. // This code is derived from software contributed to Berkeley by
  1027. // Berkeley Software Design, Inc.
  1028. //
  1029. // Redistribution and use in source and binary forms, with or without
  1030. // modification, are permitted provided that the following conditions
  1031. // are met:
  1032. // 1. Redistributions of source code must retain the above copyright
  1033. // notice, this list of conditions and the following disclaimer.
  1034. // 2. Redistributions in binary form must reproduce the above copyright
  1035. // notice, this list of conditions and the following disclaimer in the
  1036. // documentation and/or other materials provided with the distribution.
  1037. // 3. All advertising materials mentioning features or use of this software
  1038. // must display the following acknowledgement:
  1039. // This product includes software developed by the University of
  1040. // California, Berkeley and its contributors.
  1041. // 4. Neither the name of the University nor the names of its contributors
  1042. // may be used to endorse or promote products derived from this software
  1043. // without specific prior written permission.
  1044. //
  1045. // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1046. // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1047. // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1048. // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1049. // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1050. // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1051. // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1052. // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1053. // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1054. // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1055. // SUCH DAMAGE.
  1056. //
  1057. // @(#)cdefs.h 8.8 (Berkeley) 1/9/95
  1058. // pthread opaque structures
  1059. type X__darwin_pthread_handler_rec = struct {
  1060. F__routine uintptr
  1061. F__arg uintptr
  1062. F__next uintptr
  1063. } /* _pthread_types.h:57:1 */
  1064. type X_opaque_pthread_attr_t = struct {
  1065. F__sig int64
  1066. F__opaque [56]int8
  1067. } /* _pthread_types.h:63:1 */
  1068. type X_opaque_pthread_cond_t = struct {
  1069. F__sig int64
  1070. F__opaque [40]int8
  1071. } /* _pthread_types.h:68:1 */
  1072. type X_opaque_pthread_condattr_t = struct {
  1073. F__sig int64
  1074. F__opaque [8]int8
  1075. } /* _pthread_types.h:73:1 */
  1076. type X_opaque_pthread_mutex_t = struct {
  1077. F__sig int64
  1078. F__opaque [56]int8
  1079. } /* _pthread_types.h:78:1 */
  1080. type X_opaque_pthread_mutexattr_t = struct {
  1081. F__sig int64
  1082. F__opaque [8]int8
  1083. } /* _pthread_types.h:83:1 */
  1084. type X_opaque_pthread_once_t = struct {
  1085. F__sig int64
  1086. F__opaque [8]int8
  1087. } /* _pthread_types.h:88:1 */
  1088. type X_opaque_pthread_rwlock_t = struct {
  1089. F__sig int64
  1090. F__opaque [192]int8
  1091. } /* _pthread_types.h:93:1 */
  1092. type X_opaque_pthread_rwlockattr_t = struct {
  1093. F__sig int64
  1094. F__opaque [16]int8
  1095. } /* _pthread_types.h:98:1 */
  1096. type X_opaque_pthread_t = struct {
  1097. F__sig int64
  1098. F__cleanup_stack uintptr
  1099. F__opaque [8176]int8
  1100. } /* _pthread_types.h:103:1 */
  1101. type X__darwin_pthread_attr_t = X_opaque_pthread_attr_t /* _pthread_types.h:109:39 */
  1102. type X__darwin_pthread_cond_t = X_opaque_pthread_cond_t /* _pthread_types.h:110:39 */
  1103. type X__darwin_pthread_condattr_t = X_opaque_pthread_condattr_t /* _pthread_types.h:111:43 */
  1104. type X__darwin_pthread_key_t = uint64 /* _pthread_types.h:112:23 */
  1105. type X__darwin_pthread_mutex_t = X_opaque_pthread_mutex_t /* _pthread_types.h:113:40 */
  1106. type X__darwin_pthread_mutexattr_t = X_opaque_pthread_mutexattr_t /* _pthread_types.h:114:44 */
  1107. type X__darwin_pthread_once_t = X_opaque_pthread_once_t /* _pthread_types.h:115:39 */
  1108. type X__darwin_pthread_rwlock_t = X_opaque_pthread_rwlock_t /* _pthread_types.h:116:41 */
  1109. type X__darwin_pthread_rwlockattr_t = X_opaque_pthread_rwlockattr_t /* _pthread_types.h:117:45 */
  1110. type X__darwin_pthread_t = uintptr /* _pthread_types.h:118:34 */
  1111. // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  1112. //
  1113. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1114. //
  1115. // This file contains Original Code and/or Modifications of Original Code
  1116. // as defined in and that are subject to the Apple Public Source License
  1117. // Version 2.0 (the 'License'). You may not use this file except in
  1118. // compliance with the License. The rights granted to you under the License
  1119. // may not be used to create, or enable the creation or redistribution of,
  1120. // unlawful or unlicensed copies of an Apple operating system, or to
  1121. // circumvent, violate, or enable the circumvention or violation of, any
  1122. // terms of an Apple operating system software license agreement.
  1123. //
  1124. // Please obtain a copy of the License at
  1125. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1126. //
  1127. // The Original Code and all software distributed under the License are
  1128. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1129. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1130. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1131. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1132. // Please see the License for the specific language governing rights and
  1133. // limitations under the License.
  1134. //
  1135. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1136. type X__darwin_nl_item = int32 /* _types.h:40:14 */
  1137. type X__darwin_wctrans_t = int32 /* _types.h:41:14 */
  1138. type X__darwin_wctype_t = X__uint32_t /* _types.h:43:20 */
  1139. // DO NOT REMOVE THIS COMMENT: fixincludes needs to see:
  1140. // __gnuc_va_list and include <stdarg.h>
  1141. // Copyright (c) 2012 Apple Inc. All rights reserved.
  1142. //
  1143. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1144. //
  1145. // This file contains Original Code and/or Modifications of Original Code
  1146. // as defined in and that are subject to the Apple Public Source License
  1147. // Version 2.0 (the 'License'). You may not use this file except in
  1148. // compliance with the License. The rights granted to you under the License
  1149. // may not be used to create, or enable the creation or redistribution of,
  1150. // unlawful or unlicensed copies of an Apple operating system, or to
  1151. // circumvent, violate, or enable the circumvention or violation of, any
  1152. // terms of an Apple operating system software license agreement.
  1153. //
  1154. // Please obtain a copy of the License at
  1155. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1156. //
  1157. // The Original Code and all software distributed under the License are
  1158. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1159. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1160. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1161. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1162. // Please see the License for the specific language governing rights and
  1163. // limitations under the License.
  1164. //
  1165. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1166. // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  1167. //
  1168. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1169. //
  1170. // This file contains Original Code and/or Modifications of Original Code
  1171. // as defined in and that are subject to the Apple Public Source License
  1172. // Version 2.0 (the 'License'). You may not use this file except in
  1173. // compliance with the License. The rights granted to you under the License
  1174. // may not be used to create, or enable the creation or redistribution of,
  1175. // unlawful or unlicensed copies of an Apple operating system, or to
  1176. // circumvent, violate, or enable the circumvention or violation of, any
  1177. // terms of an Apple operating system software license agreement.
  1178. //
  1179. // Please obtain a copy of the License at
  1180. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1181. //
  1182. // The Original Code and all software distributed under the License are
  1183. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1184. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1185. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1186. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1187. // Please see the License for the specific language governing rights and
  1188. // limitations under the License.
  1189. //
  1190. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1191. // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  1192. // Copyright (c) 2000-2008 Apple Inc. All rights reserved.
  1193. // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  1194. // Copyright (c) 1990, 1993
  1195. // The Regents of the University of California. All rights reserved.
  1196. //
  1197. // Redistribution and use in source and binary forms, with or without
  1198. // modification, are permitted provided that the following conditions
  1199. // are met:
  1200. // 1. Redistributions of source code must retain the above copyright
  1201. // notice, this list of conditions and the following disclaimer.
  1202. // 2. Redistributions in binary form must reproduce the above copyright
  1203. // notice, this list of conditions and the following disclaimer in the
  1204. // documentation and/or other materials provided with the distribution.
  1205. // 3. All advertising materials mentioning features or use of this software
  1206. // must display the following acknowledgement:
  1207. // This product includes software developed by the University of
  1208. // California, Berkeley and its contributors.
  1209. // 4. Neither the name of the University nor the names of its contributors
  1210. // may be used to endorse or promote products derived from this software
  1211. // without specific prior written permission.
  1212. //
  1213. // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1214. // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1215. // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1216. // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1217. // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1218. // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1219. // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1220. // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1221. // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1222. // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1223. // SUCH DAMAGE.
  1224. //
  1225. // @(#)types.h 8.3 (Berkeley) 1/5/94
  1226. // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  1227. // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
  1228. //
  1229. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1230. //
  1231. // This file contains Original Code and/or Modifications of Original Code
  1232. // as defined in and that are subject to the Apple Public Source License
  1233. // Version 2.0 (the 'License'). You may not use this file except in
  1234. // compliance with the License. The rights granted to you under the License
  1235. // may not be used to create, or enable the creation or redistribution of,
  1236. // unlawful or unlicensed copies of an Apple operating system, or to
  1237. // circumvent, violate, or enable the circumvention or violation of, any
  1238. // terms of an Apple operating system software license agreement.
  1239. //
  1240. // Please obtain a copy of the License at
  1241. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1242. //
  1243. // The Original Code and all software distributed under the License are
  1244. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1245. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1246. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1247. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1248. // Please see the License for the specific language governing rights and
  1249. // limitations under the License.
  1250. //
  1251. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1252. // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  1253. // Copyright (c) 1991, 1993
  1254. // The Regents of the University of California. All rights reserved.
  1255. //
  1256. // This code is derived from software contributed to Berkeley by
  1257. // Berkeley Software Design, Inc.
  1258. //
  1259. // Redistribution and use in source and binary forms, with or without
  1260. // modification, are permitted provided that the following conditions
  1261. // are met:
  1262. // 1. Redistributions of source code must retain the above copyright
  1263. // notice, this list of conditions and the following disclaimer.
  1264. // 2. Redistributions in binary form must reproduce the above copyright
  1265. // notice, this list of conditions and the following disclaimer in the
  1266. // documentation and/or other materials provided with the distribution.
  1267. // 3. All advertising materials mentioning features or use of this software
  1268. // must display the following acknowledgement:
  1269. // This product includes software developed by the University of
  1270. // California, Berkeley and its contributors.
  1271. // 4. Neither the name of the University nor the names of its contributors
  1272. // may be used to endorse or promote products derived from this software
  1273. // without specific prior written permission.
  1274. //
  1275. // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1276. // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1277. // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1278. // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1279. // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1280. // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1281. // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1282. // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1283. // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1284. // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1285. // SUCH DAMAGE.
  1286. //
  1287. // @(#)cdefs.h 8.8 (Berkeley) 1/9/95
  1288. // Basic integral types. Omit the typedef if
  1289. // not possible for a machine/compiler combination.
  1290. // Copyright (c) 2012 Apple Inc. All rights reserved.
  1291. //
  1292. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1293. //
  1294. // This file contains Original Code and/or Modifications of Original Code
  1295. // as defined in and that are subject to the Apple Public Source License
  1296. // Version 2.0 (the 'License'). You may not use this file except in
  1297. // compliance with the License. The rights granted to you under the License
  1298. // may not be used to create, or enable the creation or redistribution of,
  1299. // unlawful or unlicensed copies of an Apple operating system, or to
  1300. // circumvent, violate, or enable the circumvention or violation of, any
  1301. // terms of an Apple operating system software license agreement.
  1302. //
  1303. // Please obtain a copy of the License at
  1304. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1305. //
  1306. // The Original Code and all software distributed under the License are
  1307. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1308. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1309. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1310. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1311. // Please see the License for the specific language governing rights and
  1312. // limitations under the License.
  1313. //
  1314. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1315. type Int8_t = int8 /* _int8_t.h:30:31 */
  1316. // Copyright (c) 2012 Apple Inc. All rights reserved.
  1317. //
  1318. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1319. //
  1320. // This file contains Original Code and/or Modifications of Original Code
  1321. // as defined in and that are subject to the Apple Public Source License
  1322. // Version 2.0 (the 'License'). You may not use this file except in
  1323. // compliance with the License. The rights granted to you under the License
  1324. // may not be used to create, or enable the creation or redistribution of,
  1325. // unlawful or unlicensed copies of an Apple operating system, or to
  1326. // circumvent, violate, or enable the circumvention or violation of, any
  1327. // terms of an Apple operating system software license agreement.
  1328. //
  1329. // Please obtain a copy of the License at
  1330. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1331. //
  1332. // The Original Code and all software distributed under the License are
  1333. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1334. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1335. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1336. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1337. // Please see the License for the specific language governing rights and
  1338. // limitations under the License.
  1339. //
  1340. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1341. type Int16_t = int16 /* _int16_t.h:30:33 */
  1342. // Copyright (c) 2012 Apple Inc. All rights reserved.
  1343. //
  1344. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1345. //
  1346. // This file contains Original Code and/or Modifications of Original Code
  1347. // as defined in and that are subject to the Apple Public Source License
  1348. // Version 2.0 (the 'License'). You may not use this file except in
  1349. // compliance with the License. The rights granted to you under the License
  1350. // may not be used to create, or enable the creation or redistribution of,
  1351. // unlawful or unlicensed copies of an Apple operating system, or to
  1352. // circumvent, violate, or enable the circumvention or violation of, any
  1353. // terms of an Apple operating system software license agreement.
  1354. //
  1355. // Please obtain a copy of the License at
  1356. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1357. //
  1358. // The Original Code and all software distributed under the License are
  1359. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1360. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1361. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1362. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1363. // Please see the License for the specific language governing rights and
  1364. // limitations under the License.
  1365. //
  1366. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1367. type Int32_t = int32 /* _int32_t.h:30:33 */
  1368. // Copyright (c) 2012 Apple Inc. All rights reserved.
  1369. //
  1370. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1371. //
  1372. // This file contains Original Code and/or Modifications of Original Code
  1373. // as defined in and that are subject to the Apple Public Source License
  1374. // Version 2.0 (the 'License'). You may not use this file except in
  1375. // compliance with the License. The rights granted to you under the License
  1376. // may not be used to create, or enable the creation or redistribution of,
  1377. // unlawful or unlicensed copies of an Apple operating system, or to
  1378. // circumvent, violate, or enable the circumvention or violation of, any
  1379. // terms of an Apple operating system software license agreement.
  1380. //
  1381. // Please obtain a copy of the License at
  1382. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1383. //
  1384. // The Original Code and all software distributed under the License are
  1385. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1386. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1387. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1388. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1389. // Please see the License for the specific language governing rights and
  1390. // limitations under the License.
  1391. //
  1392. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1393. type Int64_t = int64 /* _int64_t.h:30:33 */
  1394. // Copyright (c) 2016 Apple Inc. All rights reserved.
  1395. //
  1396. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1397. //
  1398. // This file contains Original Code and/or Modifications of Original Code
  1399. // as defined in and that are subject to the Apple Public Source License
  1400. // Version 2.0 (the 'License'). You may not use this file except in
  1401. // compliance with the License. The rights granted to you under the License
  1402. // may not be used to create, or enable the creation or redistribution of,
  1403. // unlawful or unlicensed copies of an Apple operating system, or to
  1404. // circumvent, violate, or enable the circumvention or violation of, any
  1405. // terms of an Apple operating system software license agreement.
  1406. //
  1407. // Please obtain a copy of the License at
  1408. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1409. //
  1410. // The Original Code and all software distributed under the License are
  1411. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1412. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1413. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1414. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1415. // Please see the License for the specific language governing rights and
  1416. // limitations under the License.
  1417. //
  1418. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1419. type U_int8_t = uint8 /* _u_int8_t.h:30:33 */
  1420. // Copyright (c) 2012 Apple Inc. All rights reserved.
  1421. //
  1422. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1423. //
  1424. // This file contains Original Code and/or Modifications of Original Code
  1425. // as defined in and that are subject to the Apple Public Source License
  1426. // Version 2.0 (the 'License'). You may not use this file except in
  1427. // compliance with the License. The rights granted to you under the License
  1428. // may not be used to create, or enable the creation or redistribution of,
  1429. // unlawful or unlicensed copies of an Apple operating system, or to
  1430. // circumvent, violate, or enable the circumvention or violation of, any
  1431. // terms of an Apple operating system software license agreement.
  1432. //
  1433. // Please obtain a copy of the License at
  1434. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1435. //
  1436. // The Original Code and all software distributed under the License are
  1437. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1438. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1439. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1440. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1441. // Please see the License for the specific language governing rights and
  1442. // limitations under the License.
  1443. //
  1444. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1445. type U_int16_t = uint16 /* _u_int16_t.h:30:41 */
  1446. // Copyright (c) 2012 Apple Inc. All rights reserved.
  1447. //
  1448. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1449. //
  1450. // This file contains Original Code and/or Modifications of Original Code
  1451. // as defined in and that are subject to the Apple Public Source License
  1452. // Version 2.0 (the 'License'). You may not use this file except in
  1453. // compliance with the License. The rights granted to you under the License
  1454. // may not be used to create, or enable the creation or redistribution of,
  1455. // unlawful or unlicensed copies of an Apple operating system, or to
  1456. // circumvent, violate, or enable the circumvention or violation of, any
  1457. // terms of an Apple operating system software license agreement.
  1458. //
  1459. // Please obtain a copy of the License at
  1460. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1461. //
  1462. // The Original Code and all software distributed under the License are
  1463. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1464. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1465. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1466. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1467. // Please see the License for the specific language governing rights and
  1468. // limitations under the License.
  1469. //
  1470. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1471. type U_int32_t = uint32 /* _u_int32_t.h:30:33 */
  1472. // Copyright (c) 2012 Apple Inc. All rights reserved.
  1473. //
  1474. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1475. //
  1476. // This file contains Original Code and/or Modifications of Original Code
  1477. // as defined in and that are subject to the Apple Public Source License
  1478. // Version 2.0 (the 'License'). You may not use this file except in
  1479. // compliance with the License. The rights granted to you under the License
  1480. // may not be used to create, or enable the creation or redistribution of,
  1481. // unlawful or unlicensed copies of an Apple operating system, or to
  1482. // circumvent, violate, or enable the circumvention or violation of, any
  1483. // terms of an Apple operating system software license agreement.
  1484. //
  1485. // Please obtain a copy of the License at
  1486. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1487. //
  1488. // The Original Code and all software distributed under the License are
  1489. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1490. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1491. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1492. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1493. // Please see the License for the specific language governing rights and
  1494. // limitations under the License.
  1495. //
  1496. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1497. type U_int64_t = uint64 /* _u_int64_t.h:30:33 */
  1498. type Register_t = Int64_t /* types.h:66:33 */
  1499. // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  1500. //
  1501. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1502. //
  1503. // This file contains Original Code and/or Modifications of Original Code
  1504. // as defined in and that are subject to the Apple Public Source License
  1505. // Version 2.0 (the 'License'). You may not use this file except in
  1506. // compliance with the License. The rights granted to you under the License
  1507. // may not be used to create, or enable the creation or redistribution of,
  1508. // unlawful or unlicensed copies of an Apple operating system, or to
  1509. // circumvent, violate, or enable the circumvention or violation of, any
  1510. // terms of an Apple operating system software license agreement.
  1511. //
  1512. // Please obtain a copy of the License at
  1513. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1514. //
  1515. // The Original Code and all software distributed under the License are
  1516. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1517. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1518. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1519. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1520. // Please see the License for the specific language governing rights and
  1521. // limitations under the License.
  1522. //
  1523. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1524. // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  1525. //
  1526. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1527. //
  1528. // This file contains Original Code and/or Modifications of Original Code
  1529. // as defined in and that are subject to the Apple Public Source License
  1530. // Version 2.0 (the 'License'). You may not use this file except in
  1531. // compliance with the License. The rights granted to you under the License
  1532. // may not be used to create, or enable the creation or redistribution of,
  1533. // unlawful or unlicensed copies of an Apple operating system, or to
  1534. // circumvent, violate, or enable the circumvention or violation of, any
  1535. // terms of an Apple operating system software license agreement.
  1536. //
  1537. // Please obtain a copy of the License at
  1538. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1539. //
  1540. // The Original Code and all software distributed under the License are
  1541. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1542. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1543. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1544. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1545. // Please see the License for the specific language governing rights and
  1546. // limitations under the License.
  1547. //
  1548. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1549. // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  1550. type Intptr_t = X__darwin_intptr_t /* _intptr_t.h:32:33 */
  1551. // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  1552. //
  1553. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1554. //
  1555. // This file contains Original Code and/or Modifications of Original Code
  1556. // as defined in and that are subject to the Apple Public Source License
  1557. // Version 2.0 (the 'License'). You may not use this file except in
  1558. // compliance with the License. The rights granted to you under the License
  1559. // may not be used to create, or enable the creation or redistribution of,
  1560. // unlawful or unlicensed copies of an Apple operating system, or to
  1561. // circumvent, violate, or enable the circumvention or violation of, any
  1562. // terms of an Apple operating system software license agreement.
  1563. //
  1564. // Please obtain a copy of the License at
  1565. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1566. //
  1567. // The Original Code and all software distributed under the License are
  1568. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1569. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1570. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1571. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1572. // Please see the License for the specific language governing rights and
  1573. // limitations under the License.
  1574. //
  1575. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1576. type Uintptr_t = uint64 /* _uintptr_t.h:34:33 */
  1577. // These types are used for reserving the largest possible size.
  1578. type User_addr_t = U_int64_t /* types.h:77:33 */
  1579. type User_size_t = U_int64_t /* types.h:78:33 */
  1580. type User_ssize_t = Int64_t /* types.h:79:33 */
  1581. type User_long_t = Int64_t /* types.h:80:33 */
  1582. type User_ulong_t = U_int64_t /* types.h:81:33 */
  1583. type User_time_t = Int64_t /* types.h:82:33 */
  1584. type User_off_t = Int64_t /* types.h:83:33 */
  1585. // This defines the size of syscall arguments after copying into the kernel:
  1586. type Syscall_arg_t = U_int64_t /* types.h:104:33 */
  1587. type Va_list = X__darwin_va_list /* _va_list.h:32:26 */
  1588. type Fpos_t = X__darwin_off_t /* _stdio.h:81:25 */
  1589. // NB: to fit things in six character monocase externals, the stdio
  1590. // code uses the prefix `__s' for stdio objects, typically followed
  1591. // by a three-character attempt at a mnemonic.
  1592. // stdio buffers
  1593. type X__sbuf = struct {
  1594. F_base uintptr
  1595. F_size int32
  1596. F__ccgo_pad1 [4]byte
  1597. } /* _stdio.h:92:1 */
  1598. // stdio state variables.
  1599. //
  1600. // The following always hold:
  1601. //
  1602. // if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR),
  1603. // _lbfsize is -_bf._size, else _lbfsize is 0
  1604. // if _flags&__SRD, _w is 0
  1605. // if _flags&__SWR, _r is 0
  1606. //
  1607. // This ensures that the getc and putc macros (or inline functions) never
  1608. // try to write or read from a file that is in `read' or `write' mode.
  1609. // (Moreover, they can, and do, automatically switch from read mode to
  1610. // write mode, and back, on "r+" and "w+" files.)
  1611. //
  1612. // _lbfsize is used only to make the inline line-buffered output stream
  1613. // code as compact as possible.
  1614. //
  1615. // _ub, _up, and _ur are used when ungetc() pushes back more characters
  1616. // than fit in the current _bf, or when ungetc() pushes back a character
  1617. // that does not match the previous one in _bf. When this happens,
  1618. // _ub._base becomes non-nil (i.e., a stream has ungetc() data iff
  1619. // _ub._base!=NULL) and _up and _ur save the current values of _p and _r.
  1620. //
  1621. // NB: see WARNING above before changing the layout of this structure!
  1622. type X__sFILE = struct {
  1623. F_p uintptr
  1624. F_r int32
  1625. F_w int32
  1626. F_flags int16
  1627. F_file int16
  1628. F__ccgo_pad1 [4]byte
  1629. F_bf struct {
  1630. F_base uintptr
  1631. F_size int32
  1632. F__ccgo_pad1 [4]byte
  1633. }
  1634. F_lbfsize int32
  1635. F__ccgo_pad2 [4]byte
  1636. F_cookie uintptr
  1637. F_close uintptr
  1638. F_read uintptr
  1639. F_seek uintptr
  1640. F_write uintptr
  1641. F_ub struct {
  1642. F_base uintptr
  1643. F_size int32
  1644. F__ccgo_pad1 [4]byte
  1645. }
  1646. F_extra uintptr
  1647. F_ur int32
  1648. F_ubuf [3]uint8
  1649. F_nbuf [1]uint8
  1650. F_lb struct {
  1651. F_base uintptr
  1652. F_size int32
  1653. F__ccgo_pad1 [4]byte
  1654. }
  1655. F_blksize int32
  1656. F__ccgo_pad3 [4]byte
  1657. F_offset Fpos_t
  1658. } /* _stdio.h:126:9 */
  1659. // stdio state variables.
  1660. //
  1661. // The following always hold:
  1662. //
  1663. // if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR),
  1664. // _lbfsize is -_bf._size, else _lbfsize is 0
  1665. // if _flags&__SRD, _w is 0
  1666. // if _flags&__SWR, _r is 0
  1667. //
  1668. // This ensures that the getc and putc macros (or inline functions) never
  1669. // try to write or read from a file that is in `read' or `write' mode.
  1670. // (Moreover, they can, and do, automatically switch from read mode to
  1671. // write mode, and back, on "r+" and "w+" files.)
  1672. //
  1673. // _lbfsize is used only to make the inline line-buffered output stream
  1674. // code as compact as possible.
  1675. //
  1676. // _ub, _up, and _ur are used when ungetc() pushes back more characters
  1677. // than fit in the current _bf, or when ungetc() pushes back a character
  1678. // that does not match the previous one in _bf. When this happens,
  1679. // _ub._base becomes non-nil (i.e., a stream has ungetc() data iff
  1680. // _ub._base!=NULL) and _up and _ur save the current values of _p and _r.
  1681. //
  1682. // NB: see WARNING above before changing the layout of this structure!
  1683. type FILE = X__sFILE /* _stdio.h:157:3 */
  1684. // Additional functionality provided by:
  1685. // POSIX.1-2001
  1686. // ISO C99
  1687. // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  1688. //
  1689. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1690. //
  1691. // This file contains Original Code and/or Modifications of Original Code
  1692. // as defined in and that are subject to the Apple Public Source License
  1693. // Version 2.0 (the 'License'). You may not use this file except in
  1694. // compliance with the License. The rights granted to you under the License
  1695. // may not be used to create, or enable the creation or redistribution of,
  1696. // unlawful or unlicensed copies of an Apple operating system, or to
  1697. // circumvent, violate, or enable the circumvention or violation of, any
  1698. // terms of an Apple operating system software license agreement.
  1699. //
  1700. // Please obtain a copy of the License at
  1701. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1702. //
  1703. // The Original Code and all software distributed under the License are
  1704. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1705. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1706. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1707. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1708. // Please see the License for the specific language governing rights and
  1709. // limitations under the License.
  1710. //
  1711. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1712. // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  1713. //
  1714. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1715. //
  1716. // This file contains Original Code and/or Modifications of Original Code
  1717. // as defined in and that are subject to the Apple Public Source License
  1718. // Version 2.0 (the 'License'). You may not use this file except in
  1719. // compliance with the License. The rights granted to you under the License
  1720. // may not be used to create, or enable the creation or redistribution of,
  1721. // unlawful or unlicensed copies of an Apple operating system, or to
  1722. // circumvent, violate, or enable the circumvention or violation of, any
  1723. // terms of an Apple operating system software license agreement.
  1724. //
  1725. // Please obtain a copy of the License at
  1726. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1727. //
  1728. // The Original Code and all software distributed under the License are
  1729. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1730. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1731. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1732. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1733. // Please see the License for the specific language governing rights and
  1734. // limitations under the License.
  1735. //
  1736. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1737. type Off_t = X__darwin_off_t /* _off_t.h:31:33 */
  1738. // Additional functionality provided by:
  1739. // POSIX.1-2008
  1740. // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  1741. //
  1742. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1743. //
  1744. // This file contains Original Code and/or Modifications of Original Code
  1745. // as defined in and that are subject to the Apple Public Source License
  1746. // Version 2.0 (the 'License'). You may not use this file except in
  1747. // compliance with the License. The rights granted to you under the License
  1748. // may not be used to create, or enable the creation or redistribution of,
  1749. // unlawful or unlicensed copies of an Apple operating system, or to
  1750. // circumvent, violate, or enable the circumvention or violation of, any
  1751. // terms of an Apple operating system software license agreement.
  1752. //
  1753. // Please obtain a copy of the License at
  1754. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1755. //
  1756. // The Original Code and all software distributed under the License are
  1757. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1758. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1759. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1760. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1761. // Please see the License for the specific language governing rights and
  1762. // limitations under the License.
  1763. //
  1764. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1765. // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
  1766. //
  1767. // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1768. //
  1769. // This file contains Original Code and/or Modifications of Original Code
  1770. // as defined in and that are subject to the Apple Public Source License
  1771. // Version 2.0 (the 'License'). You may not use this file except in
  1772. // compliance with the License. The rights granted to you under the License
  1773. // may not be used to create, or enable the creation or redistribution of,
  1774. // unlawful or unlicensed copies of an Apple operating system, or to
  1775. // circumvent, violate, or enable the circumvention or violation of, any
  1776. // terms of an Apple operating system software license agreement.
  1777. //
  1778. // Please obtain a copy of the License at
  1779. // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1780. //
  1781. // The Original Code and all software distributed under the License are
  1782. // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1783. // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1784. // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1785. // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1786. // Please see the License for the specific language governing rights and
  1787. // limitations under the License.
  1788. //
  1789. // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1790. // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  1791. type Ssize_t = X__darwin_ssize_t /* _ssize_t.h:31:33 */
  1792. var _ int8 /* gen.c:2:13: */