gtsocial-umbx

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

stdio_darwin_arm64.go (95467B)


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