gtsocial-umbx

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

stdio_darwin_amd64.go (93858B)


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