modernc.org/libc@v1.24.1/dirent/dirent_darwin_arm64.go (about)

     1  // Code generated by 'ccgo dirent/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 dirent/dirent_darwin_arm64.go -pkgname dirent', DO NOT EDIT.
     2  
     3  package dirent
     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  	DIRBLKSIZ                              = 1024   // dirent.h:89:1:
    19  	DTF_HIDEW                              = 0x0001 // dirent.h:92:1:
    20  	DTF_NODUP                              = 0x0002 // dirent.h:93:1:
    21  	DTF_REWIND                             = 0x0004 // dirent.h:94:1:
    22  	DT_BLK                                 = 6      // dirent.h:127:1:
    23  	DT_CHR                                 = 2      // dirent.h:125:1:
    24  	DT_DIR                                 = 4      // dirent.h:126:1:
    25  	DT_FIFO                                = 1      // dirent.h:124:1:
    26  	DT_LNK                                 = 10     // dirent.h:129:1:
    27  	DT_REG                                 = 8      // dirent.h:128:1:
    28  	DT_SOCK                                = 12     // dirent.h:130:1:
    29  	DT_UNKNOWN                             = 0      // dirent.h:123:1:
    30  	DT_WHT                                 = 14     // dirent.h:131:1:
    31  	MAC_OS_VERSION_11_0                    = 110000 // AvailabilityVersions.h:238:1:
    32  	MAC_OS_VERSION_12_0                    = 120000 // AvailabilityVersions.h:239:1:
    33  	MAC_OS_X_VERSION_10_0                  = 1000   // AvailabilityVersions.h:206:1:
    34  	MAC_OS_X_VERSION_10_1                  = 1010   // AvailabilityVersions.h:207:1:
    35  	MAC_OS_X_VERSION_10_10                 = 101000 // AvailabilityVersions.h:216:1:
    36  	MAC_OS_X_VERSION_10_10_2               = 101002 // AvailabilityVersions.h:217:1:
    37  	MAC_OS_X_VERSION_10_10_3               = 101003 // AvailabilityVersions.h:218:1:
    38  	MAC_OS_X_VERSION_10_11                 = 101100 // AvailabilityVersions.h:219:1:
    39  	MAC_OS_X_VERSION_10_11_2               = 101102 // AvailabilityVersions.h:220:1:
    40  	MAC_OS_X_VERSION_10_11_3               = 101103 // AvailabilityVersions.h:221:1:
    41  	MAC_OS_X_VERSION_10_11_4               = 101104 // AvailabilityVersions.h:222:1:
    42  	MAC_OS_X_VERSION_10_12                 = 101200 // AvailabilityVersions.h:223:1:
    43  	MAC_OS_X_VERSION_10_12_1               = 101201 // AvailabilityVersions.h:224:1:
    44  	MAC_OS_X_VERSION_10_12_2               = 101202 // AvailabilityVersions.h:225:1:
    45  	MAC_OS_X_VERSION_10_12_4               = 101204 // AvailabilityVersions.h:226:1:
    46  	MAC_OS_X_VERSION_10_13                 = 101300 // AvailabilityVersions.h:227:1:
    47  	MAC_OS_X_VERSION_10_13_1               = 101301 // AvailabilityVersions.h:228:1:
    48  	MAC_OS_X_VERSION_10_13_2               = 101302 // AvailabilityVersions.h:229:1:
    49  	MAC_OS_X_VERSION_10_13_4               = 101304 // AvailabilityVersions.h:230:1:
    50  	MAC_OS_X_VERSION_10_14                 = 101400 // AvailabilityVersions.h:231:1:
    51  	MAC_OS_X_VERSION_10_14_1               = 101401 // AvailabilityVersions.h:232:1:
    52  	MAC_OS_X_VERSION_10_14_4               = 101404 // AvailabilityVersions.h:233:1:
    53  	MAC_OS_X_VERSION_10_14_6               = 101406 // AvailabilityVersions.h:234:1:
    54  	MAC_OS_X_VERSION_10_15                 = 101500 // AvailabilityVersions.h:235:1:
    55  	MAC_OS_X_VERSION_10_15_1               = 101501 // AvailabilityVersions.h:236:1:
    56  	MAC_OS_X_VERSION_10_16                 = 101600 // AvailabilityVersions.h:237:1:
    57  	MAC_OS_X_VERSION_10_2                  = 1020   // AvailabilityVersions.h:208:1:
    58  	MAC_OS_X_VERSION_10_3                  = 1030   // AvailabilityVersions.h:209:1:
    59  	MAC_OS_X_VERSION_10_4                  = 1040   // AvailabilityVersions.h:210:1:
    60  	MAC_OS_X_VERSION_10_5                  = 1050   // AvailabilityVersions.h:211:1:
    61  	MAC_OS_X_VERSION_10_6                  = 1060   // AvailabilityVersions.h:212:1:
    62  	MAC_OS_X_VERSION_10_7                  = 1070   // AvailabilityVersions.h:213:1:
    63  	MAC_OS_X_VERSION_10_8                  = 1080   // AvailabilityVersions.h:214:1:
    64  	MAC_OS_X_VERSION_10_9                  = 1090   // AvailabilityVersions.h:215:1:
    65  	MAXNAMLEN                              = 255    // dirent.h:119:1:
    66  	X_BSD_ARM__TYPES_H_                    = 0      // _types.h:5:1:
    67  	X_BSD_MACHINE__TYPES_H_                = 0      // _types.h:29:1:
    68  	X_CDEFS_H_                             = 0      // cdefs.h:68:1:
    69  	X_DARWIN_FEATURE_64_BIT_INODE          = 1      // cdefs.h:774:1:
    70  	X_DARWIN_FEATURE_ONLY_64_BIT_INODE     = 1      // cdefs.h:784:1:
    71  	X_DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 1      // cdefs.h:800:1:
    72  	X_DARWIN_FEATURE_ONLY_VERS_1050        = 1      // cdefs.h:792:1:
    73  	X_DARWIN_FEATURE_UNIX_CONFORMANCE      = 3      // cdefs.h:808:1:
    74  	X_DIRENT_H_                            = 0      // dirent.h:59:1:
    75  	X_FILE_OFFSET_BITS                     = 64     // <builtin>:25:1:
    76  	X_FORTIFY_SOURCE                       = 2      // _types.h:65:1:
    77  	X_INO_T                                = 0      // _ino_t.h:29:1:
    78  	X_LP64                                 = 1      // <predefined>:1:1:
    79  	X_Nonnull                              = 0      // cdefs.h:268:1:
    80  	X_Null_unspecified                     = 0      // cdefs.h:271:1:
    81  	X_Nullable                             = 0      // cdefs.h:265:1:
    82  	X_SYS_DIRENT_H                         = 0      // dirent.h:76:1:
    83  	X_SYS__PTHREAD_TYPES_H_                = 0      // _pthread_types.h:30:1:
    84  	X_SYS__TYPES_H_                        = 0      // _types.h:30:1:
    85  )
    86  
    87  type Ptrdiff_t = int64 /* <builtin>:3:26 */
    88  
    89  type Size_t = uint64 /* <builtin>:9:23 */
    90  
    91  type Wchar_t = int32 /* <builtin>:15:24 */
    92  
    93  type X__int128_t = struct {
    94  	Flo int64
    95  	Fhi int64
    96  } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
    97  type X__uint128_t = struct {
    98  	Flo uint64
    99  	Fhi uint64
   100  } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
   101  
   102  type X__builtin_va_list = uintptr /* <builtin>:46:14 */
   103  type X__float128 = float64        /* <builtin>:47:21 */
   104  
   105  var X__darwin_check_fd_set_overflow uintptr /* <builtin>:146:5: */
   106  
   107  // Copyright (c) 2000, 2002-2008 Apple Inc. All rights reserved.
   108  //
   109  // @APPLE_LICENSE_HEADER_START@
   110  //
   111  // This file contains Original Code and/or Modifications of Original Code
   112  // as defined in and that are subject to the Apple Public Source License
   113  // Version 2.0 (the 'License'). You may not use this file except in
   114  // compliance with the License. Please obtain a copy of the License at
   115  // http://www.opensource.apple.com/apsl/ and read it before using this
   116  // file.
   117  //
   118  // The Original Code and all software distributed under the License are
   119  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   120  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   121  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   122  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   123  // Please see the License for the specific language governing rights and
   124  // limitations under the License.
   125  //
   126  // @APPLE_LICENSE_HEADER_END@
   127  // -
   128  // Copyright (c) 1989, 1993
   129  //	The Regents of the University of California.  All rights reserved.
   130  //
   131  // Redistribution and use in source and binary forms, with or without
   132  // modification, are permitted provided that the following conditions
   133  // are met:
   134  // 1. Redistributions of source code must retain the above copyright
   135  //    notice, this list of conditions and the following disclaimer.
   136  // 2. Redistributions in binary form must reproduce the above copyright
   137  //    notice, this list of conditions and the following disclaimer in the
   138  //    documentation and/or other materials provided with the distribution.
   139  // 3. All advertising materials mentioning features or use of this software
   140  //    must display the following acknowledgement:
   141  //	This product includes software developed by the University of
   142  //	California, Berkeley and its contributors.
   143  // 4. Neither the name of the University nor the names of its contributors
   144  //    may be used to endorse or promote products derived from this software
   145  //    without specific prior written permission.
   146  //
   147  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   148  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   149  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   150  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   151  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   152  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   153  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   154  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   155  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   156  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   157  // SUCH DAMAGE.
   158  //
   159  //	@(#)dirent.h	8.2 (Berkeley) 7/28/94
   160  
   161  // The kernel defines the format of directory entries
   162  // Copyright (c) 2004, 2008, 2009 Apple Inc. All rights reserved.
   163  //
   164  // @APPLE_LICENSE_HEADER_START@
   165  //
   166  // This file contains Original Code and/or Modifications of Original Code
   167  // as defined in and that are subject to the Apple Public Source License
   168  // Version 2.0 (the 'License'). You may not use this file except in
   169  // compliance with the License. Please obtain a copy of the License at
   170  // http://www.opensource.apple.com/apsl/ and read it before using this
   171  // file.
   172  //
   173  // The Original Code and all software distributed under the License are
   174  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   175  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   176  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   177  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   178  // Please see the License for the specific language governing rights and
   179  // limitations under the License.
   180  //
   181  // @APPLE_LICENSE_HEADER_END@
   182  
   183  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
   184  //
   185  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
   186  //
   187  // This file contains Original Code and/or Modifications of Original Code
   188  // as defined in and that are subject to the Apple Public Source License
   189  // Version 2.0 (the 'License'). You may not use this file except in
   190  // compliance with the License. The rights granted to you under the License
   191  // may not be used to create, or enable the creation or redistribution of,
   192  // unlawful or unlicensed copies of an Apple operating system, or to
   193  // circumvent, violate, or enable the circumvention or violation of, any
   194  // terms of an Apple operating system software license agreement.
   195  //
   196  // Please obtain a copy of the License at
   197  // http://www.opensource.apple.com/apsl/ and read it before using this file.
   198  //
   199  // The Original Code and all software distributed under the License are
   200  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   201  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   202  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   203  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   204  // Please see the License for the specific language governing rights and
   205  // limitations under the License.
   206  //
   207  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
   208  
   209  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
   210  //
   211  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
   212  //
   213  // This file contains Original Code and/or Modifications of Original Code
   214  // as defined in and that are subject to the Apple Public Source License
   215  // Version 2.0 (the 'License'). You may not use this file except in
   216  // compliance with the License. The rights granted to you under the License
   217  // may not be used to create, or enable the creation or redistribution of,
   218  // unlawful or unlicensed copies of an Apple operating system, or to
   219  // circumvent, violate, or enable the circumvention or violation of, any
   220  // terms of an Apple operating system software license agreement.
   221  //
   222  // Please obtain a copy of the License at
   223  // http://www.opensource.apple.com/apsl/ and read it before using this file.
   224  //
   225  // The Original Code and all software distributed under the License are
   226  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   227  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   228  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   229  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   230  // Please see the License for the specific language governing rights and
   231  // limitations under the License.
   232  //
   233  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
   234  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
   235  // Copyright (c) 1991, 1993
   236  //	The Regents of the University of California.  All rights reserved.
   237  //
   238  // This code is derived from software contributed to Berkeley by
   239  // Berkeley Software Design, Inc.
   240  //
   241  // Redistribution and use in source and binary forms, with or without
   242  // modification, are permitted provided that the following conditions
   243  // are met:
   244  // 1. Redistributions of source code must retain the above copyright
   245  //    notice, this list of conditions and the following disclaimer.
   246  // 2. Redistributions in binary form must reproduce the above copyright
   247  //    notice, this list of conditions and the following disclaimer in the
   248  //    documentation and/or other materials provided with the distribution.
   249  // 3. All advertising materials mentioning features or use of this software
   250  //    must display the following acknowledgement:
   251  //	This product includes software developed by the University of
   252  //	California, Berkeley and its contributors.
   253  // 4. Neither the name of the University nor the names of its contributors
   254  //    may be used to endorse or promote products derived from this software
   255  //    without specific prior written permission.
   256  //
   257  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   258  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   259  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   260  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   261  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   262  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   263  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   264  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   265  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   266  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   267  // SUCH DAMAGE.
   268  //
   269  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
   270  
   271  // This SDK is designed to work with clang and specific versions of
   272  // gcc >= 4.0 with Apple's patch sets
   273  
   274  // Compatibility with compilers and environments that don't support compiler
   275  // feature checking function-like macros.
   276  
   277  // The __CONCAT macro is used to concatenate parts of symbol names, e.g.
   278  // with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo.
   279  // The __CONCAT macro is a bit tricky -- make sure you don't put spaces
   280  // in between its arguments.  __CONCAT can also concatenate double-quoted
   281  // strings produced by the __STRING macro, but this only works with ANSI C.
   282  
   283  // In non-ANSI C environments, new programs will want ANSI-only C keywords
   284  // deleted from the program and old programs will want them left alone.
   285  // When using a compiler other than gcc, programs using the ANSI C keywords
   286  // const, inline etc. as normal identifiers should define -DNO_ANSI_KEYWORDS.
   287  // When using "gcc -traditional", we assume that this is the intent; if
   288  // __GNUC__ is defined but __STDC__ is not, we leave the new keywords alone.
   289  
   290  // __pure2 can be used for functions that are only a function of their scalar
   291  // arguments (meaning they can't dereference pointers).
   292  //
   293  // __stateful_pure can be used for functions that have no side effects,
   294  // but depend on the state of the memory.
   295  
   296  // __unused denotes variables and functions that may not be used, preventing
   297  // the compiler from warning about it if not used.
   298  
   299  // __used forces variables and functions to be included even if it appears
   300  // to the compiler that they are not used (and would thust be discarded).
   301  
   302  // __cold marks code used for debugging or that is rarely taken
   303  // and tells the compiler to optimize for size and outline code.
   304  
   305  // __exported denotes symbols that should be exported even when symbols
   306  // are hidden by default.
   307  // __exported_push/_exported_pop are pragmas used to delimit a range of
   308  //  symbols that should be exported even when symbols are hidden by default.
   309  
   310  // __deprecated causes the compiler to produce a warning when encountering
   311  // code using the deprecated functionality.
   312  // __deprecated_msg() does the same, and compilers that support it will print
   313  // a message along with the deprecation warning.
   314  // This may require turning on such warning with the -Wdeprecated flag.
   315  // __deprecated_enum_msg() should be used on enums, and compilers that support
   316  // it will print the deprecation warning.
   317  // __kpi_deprecated() specifically indicates deprecation of kernel programming
   318  // interfaces in Kernel.framework used by KEXTs.
   319  
   320  // __unavailable causes the compiler to error out when encountering
   321  // code using the tagged function
   322  
   323  // Delete pseudo-keywords wherever they are not available or needed.
   324  
   325  // We use `__restrict' as a way to define the `restrict' type qualifier
   326  // without disturbing older software that is unaware of C99 keywords.
   327  
   328  // Compatibility with compilers and environments that don't support the
   329  // nullability feature.
   330  
   331  // __disable_tail_calls causes the compiler to not perform tail call
   332  // optimization inside the marked function.
   333  
   334  // __not_tail_called causes the compiler to prevent tail call optimization
   335  // on statically bound calls to the function.  It has no effect on indirect
   336  // calls.  Virtual functions, objective-c methods, and functions marked as
   337  // "always_inline" cannot be marked as __not_tail_called.
   338  
   339  // __result_use_check warns callers of a function that not using the function
   340  // return value is a bug, i.e. dismissing malloc() return value results in a
   341  // memory leak.
   342  
   343  // __swift_unavailable causes the compiler to mark a symbol as specifically
   344  // unavailable in Swift, regardless of any other availability in C.
   345  
   346  // __abortlike is the attribute to put on functions like abort() that are
   347  // typically used to mark assertions. These optimize the codegen
   348  // for outlining while still maintaining debugability.
   349  
   350  // Declaring inline functions within headers is error-prone due to differences
   351  // across various versions of the C language and extensions.  __header_inline
   352  // can be used to declare inline functions within system headers.  In cases
   353  // where you want to force inlining instead of letting the compiler make
   354  // the decision, you can use __header_always_inline.
   355  //
   356  // Be aware that using inline for functions which compilers may also provide
   357  // builtins can behave differently under various compilers.  If you intend to
   358  // provide an inline version of such a function, you may want to use a macro
   359  // instead.
   360  //
   361  // The check for !__GNUC__ || __clang__ is because gcc doesn't correctly
   362  // support c99 inline in some cases:
   363  // http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55965
   364  
   365  // Compiler-dependent macros that bracket portions of code where the
   366  // "-Wunreachable-code" warning should be ignored. Please use sparingly.
   367  
   368  // Compiler-dependent macros to declare that functions take printf-like
   369  // or scanf-like arguments.  They are null except for versions of gcc
   370  // that are known to support the features properly.  Functions declared
   371  // with these attributes will cause compilation warnings if there is a
   372  // mismatch between the format string and subsequent function parameter
   373  // types.
   374  
   375  // Source compatibility only, ID string not emitted in object file
   376  
   377  // __alloc_size can be used to label function arguments that represent the
   378  // size of memory that the function allocates and returns. The one-argument
   379  // form labels a single argument that gives the allocation size (where the
   380  // arguments are numbered from 1):
   381  //
   382  // void	*malloc(size_t __size) __alloc_size(1);
   383  //
   384  // The two-argument form handles the case where the size is calculated as the
   385  // product of two arguments:
   386  //
   387  // void	*calloc(size_t __count, size_t __size) __alloc_size(1,2);
   388  
   389  // COMPILATION ENVIRONMENTS -- see compat(5) for additional detail
   390  //
   391  // DEFAULT	By default newly complied code will get POSIX APIs plus
   392  //		Apple API extensions in scope.
   393  //
   394  //		Most users will use this compilation environment to avoid
   395  //		behavioral differences between 32 and 64 bit code.
   396  //
   397  // LEGACY	Defining _NONSTD_SOURCE will get pre-POSIX APIs plus Apple
   398  //		API extensions in scope.
   399  //
   400  //		This is generally equivalent to the Tiger release compilation
   401  //		environment, except that it cannot be applied to 64 bit code;
   402  //		its use is discouraged.
   403  //
   404  //		We expect this environment to be deprecated in the future.
   405  //
   406  // STRICT	Defining _POSIX_C_SOURCE or _XOPEN_SOURCE restricts the
   407  //		available APIs to exactly the set of APIs defined by the
   408  //		corresponding standard, based on the value defined.
   409  //
   410  //		A correct, portable definition for _POSIX_C_SOURCE is 200112L.
   411  //		A correct, portable definition for _XOPEN_SOURCE is 600L.
   412  //
   413  //		Apple API extensions are not visible in this environment,
   414  //		which can cause Apple specific code to fail to compile,
   415  //		or behave incorrectly if prototypes are not in scope or
   416  //		warnings about missing prototypes are not enabled or ignored.
   417  //
   418  // In any compilation environment, for correct symbol resolution to occur,
   419  // function prototypes must be in scope.  It is recommended that all Apple
   420  // tools users add either the "-Wall" or "-Wimplicit-function-declaration"
   421  // compiler flags to their projects to be warned when a function is being
   422  // used without a prototype in scope.
   423  
   424  // These settings are particular to each product.
   425  // Platform: MacOSX
   426  
   427  // The __DARWIN_ALIAS macros are used to do symbol renaming; they allow
   428  // legacy code to use the old symbol, thus maintaining binary compatibility
   429  // while new code can use a standards compliant version of the same function.
   430  //
   431  // __DARWIN_ALIAS is used by itself if the function signature has not
   432  // changed, it is used along with a #ifdef check for __DARWIN_UNIX03
   433  // if the signature has changed.  Because the __LP64__ environment
   434  // only supports UNIX03 semantics it causes __DARWIN_UNIX03 to be
   435  // defined, but causes __DARWIN_ALIAS to do no symbol mangling.
   436  //
   437  // As a special case, when XCode is used to target a specific version of the
   438  // OS, the manifest constant __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
   439  // will be defined by the compiler, with the digits representing major version
   440  // time 100 + minor version times 10 (e.g. 10.5 := 1050).  If we are targeting
   441  // pre-10.5, and it is the default compilation environment, revert the
   442  // compilation environment to pre-__DARWIN_UNIX03.
   443  
   444  // symbol suffixes used for symbol versioning
   445  
   446  // symbol versioning macros
   447  
   448  // symbol release macros
   449  // Copyright (c) 2010 Apple Inc. All rights reserved.
   450  //
   451  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
   452  //
   453  // This file contains Original Code and/or Modifications of Original Code
   454  // as defined in and that are subject to the Apple Public Source License
   455  // Version 2.0 (the 'License'). You may not use this file except in
   456  // compliance with the License. The rights granted to you under the License
   457  // may not be used to create, or enable the creation or redistribution of,
   458  // unlawful or unlicensed copies of an Apple operating system, or to
   459  // circumvent, violate, or enable the circumvention or violation of, any
   460  // terms of an Apple operating system software license agreement.
   461  //
   462  // Please obtain a copy of the License at
   463  // http://www.opensource.apple.com/apsl/ and read it before using this file.
   464  //
   465  // The Original Code and all software distributed under the License are
   466  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   467  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   468  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   469  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   470  // Please see the License for the specific language governing rights and
   471  // limitations under the License.
   472  //
   473  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
   474  
   475  // POSIX.1 requires that the macros we test be defined before any standard
   476  // header file is included.  This permits us to convert values for feature
   477  // testing, as necessary, using only _POSIX_C_SOURCE.
   478  //
   479  // Here's a quick run-down of the versions:
   480  //  defined(_POSIX_SOURCE)		1003.1-1988
   481  //  _POSIX_C_SOURCE == 1L		1003.1-1990
   482  //  _POSIX_C_SOURCE == 2L		1003.2-1992 C Language Binding Option
   483  //  _POSIX_C_SOURCE == 199309L		1003.1b-1993
   484  //  _POSIX_C_SOURCE == 199506L		1003.1c-1995, 1003.1i-1995,
   485  //					and the omnibus ISO/IEC 9945-1: 1996
   486  //  _POSIX_C_SOURCE == 200112L		1003.1-2001
   487  //  _POSIX_C_SOURCE == 200809L		1003.1-2008
   488  //
   489  // In addition, the X/Open Portability Guide, which is now the Single UNIX
   490  // Specification, defines a feature-test macro which indicates the version of
   491  // that specification, and which subsumes _POSIX_C_SOURCE.
   492  
   493  // Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1L.
   494  
   495  // Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2L.
   496  
   497  // Deal with various X/Open Portability Guides and Single UNIX Spec.
   498  
   499  // Deal with all versions of POSIX.  The ordering relative to the tests above is
   500  // important.
   501  
   502  // POSIX C deprecation macros
   503  // Copyright (c) 2010 Apple Inc. All rights reserved.
   504  //
   505  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
   506  //
   507  // This file contains Original Code and/or Modifications of Original Code
   508  // as defined in and that are subject to the Apple Public Source License
   509  // Version 2.0 (the 'License'). You may not use this file except in
   510  // compliance with the License. The rights granted to you under the License
   511  // may not be used to create, or enable the creation or redistribution of,
   512  // unlawful or unlicensed copies of an Apple operating system, or to
   513  // circumvent, violate, or enable the circumvention or violation of, any
   514  // terms of an Apple operating system software license agreement.
   515  //
   516  // Please obtain a copy of the License at
   517  // http://www.opensource.apple.com/apsl/ and read it before using this file.
   518  //
   519  // The Original Code and all software distributed under the License are
   520  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   521  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   522  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   523  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   524  // Please see the License for the specific language governing rights and
   525  // limitations under the License.
   526  //
   527  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
   528  
   529  // Set a single macro which will always be defined and can be used to determine
   530  // the appropriate namespace.  For POSIX, these values will correspond to
   531  // _POSIX_C_SOURCE value.  Currently there are two additional levels corresponding
   532  // to ANSI (_ANSI_SOURCE) and Darwin extensions (_DARWIN_C_SOURCE)
   533  
   534  // If the developer has neither requested a strict language mode nor a version
   535  // of POSIX, turn on functionality provided by __STDC_WANT_LIB_EXT1__ as part
   536  // of __DARWIN_C_FULL.
   537  
   538  // long long is not supported in c89 (__STRICT_ANSI__), but g++ -ansi and
   539  // c99 still want long longs.  While not perfect, we allow long longs for
   540  // g++.
   541  
   542  // ****************************************
   543  //
   544  //  Public darwin-specific feature macros
   545  //
   546  
   547  // _DARWIN_FEATURE_64_BIT_INODE indicates that the ino_t type is 64-bit, and
   548  // structures modified for 64-bit inodes (like struct stat) will be used.
   549  
   550  // _DARWIN_FEATURE_64_ONLY_BIT_INODE indicates that the ino_t type may only
   551  // be 64-bit; there is no support for 32-bit ino_t when this macro is defined
   552  // (and non-zero).  There is no struct stat64 either, as the regular
   553  // struct stat will already be the 64-bit version.
   554  
   555  // _DARWIN_FEATURE_ONLY_VERS_1050 indicates that only those APIs updated
   556  // in 10.5 exists; no pre-10.5 variants are available.
   557  
   558  // _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE indicates only UNIX conforming API
   559  // are available (the legacy BSD APIs are not available)
   560  
   561  // _DARWIN_FEATURE_UNIX_CONFORMANCE indicates whether UNIX conformance is on,
   562  // and specifies the conformance level (3 is SUSv3)
   563  
   564  // This macro casts away the qualifier from the variable
   565  //
   566  // Note: use at your own risk, removing qualifiers can result in
   567  // catastrophic run-time failures.
   568  
   569  // __XNU_PRIVATE_EXTERN is a linkage decoration indicating that a symbol can be
   570  // used from other compilation units, but not other libraries or executables.
   571  
   572  // We intentionally define to nothing pointer attributes which do not have an
   573  // impact on the ABI. __indexable and __bidi_indexable are not defined because
   574  // of the ABI incompatibility that makes the diagnostic preferable.
   575  
   576  // Similarly, we intentionally define to nothing the
   577  // __ptrcheck_abi_assume_single and __ptrcheck_abi_assume_unsafe_indexable
   578  // macros because they do not lead to an ABI incompatibility. However, we do not
   579  // define the indexable and unsafe_indexable ones because the diagnostic is
   580  // better than the silent ABI break.
   581  
   582  // __unsafe_forge intrinsics are defined as regular C casts.
   583  
   584  // decay operates normally; attribute is meaningless without pointer checks.
   585  
   586  // Architecture validation for current SDK
   587  
   588  // Similar to OS_ENUM/OS_CLOSED_ENUM/OS_OPTIONS/OS_CLOSED_OPTIONS
   589  //
   590  // This provides more advanced type checking on compilers supporting
   591  // the proper extensions, even in C.
   592  
   593  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
   594  //
   595  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
   596  //
   597  // This file contains Original Code and/or Modifications of Original Code
   598  // as defined in and that are subject to the Apple Public Source License
   599  // Version 2.0 (the 'License'). You may not use this file except in
   600  // compliance with the License. The rights granted to you under the License
   601  // may not be used to create, or enable the creation or redistribution of,
   602  // unlawful or unlicensed copies of an Apple operating system, or to
   603  // circumvent, violate, or enable the circumvention or violation of, any
   604  // terms of an Apple operating system software license agreement.
   605  //
   606  // Please obtain a copy of the License at
   607  // http://www.opensource.apple.com/apsl/ and read it before using this file.
   608  //
   609  // The Original Code and all software distributed under the License are
   610  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   611  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   612  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   613  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   614  // Please see the License for the specific language governing rights and
   615  // limitations under the License.
   616  //
   617  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
   618  
   619  // Copyright (c) 2000-2007 Apple Inc. All rights reserved.
   620  
   621  // This header file contains integer types.  It's intended to also contain
   622  // flotaing point and other arithmetic types, as needed, later.
   623  
   624  type X__int8_t = int8     /* _types.h:15:33 */
   625  type X__uint8_t = uint8   /* _types.h:19:33 */
   626  type X__int16_t = int16   /* _types.h:20:33 */
   627  type X__uint16_t = uint16 /* _types.h:21:33 */
   628  type X__int32_t = int32   /* _types.h:22:33 */
   629  type X__uint32_t = uint32 /* _types.h:23:33 */
   630  type X__int64_t = int64   /* _types.h:24:33 */
   631  type X__uint64_t = uint64 /* _types.h:25:33 */
   632  
   633  type X__darwin_intptr_t = int64   /* _types.h:27:33 */
   634  type X__darwin_natural_t = uint32 /* _types.h:28:33 */
   635  
   636  // The rune type below is declared to be an ``int'' instead of the more natural
   637  // ``unsigned long'' or ``long''.  Two things are happening here.  It is not
   638  // unsigned so that EOF (-1) can be naturally assigned to it and used.  Also,
   639  // it looks like 10646 will be a 31 bit standard.  This means that if your
   640  // ints cannot hold 32 bits, you will be in trouble.  The reason an int was
   641  // chosen over a long is that the is*() and to*() routines take ints (says
   642  // ANSI C), but they use __darwin_ct_rune_t instead of int.  By changing it
   643  // here, you lose a bit of ANSI conformance, but your programs will still
   644  // work.
   645  //
   646  // NOTE: rune_t is not covered by ANSI nor other standards, and should not
   647  // be instantiated outside of lib/libc/locale.  Use wchar_t.  wchar_t and
   648  // rune_t must be the same type.  Also wint_t must be no narrower than
   649  // wchar_t, and should also be able to hold all members of the largest
   650  // character set plus one extra value (WEOF). wint_t must be at least 16 bits.
   651  
   652  type X__darwin_ct_rune_t = int32 /* _types.h:48:33 */ // ct_rune_t
   653  
   654  // mbstate_t is an opaque object to keep conversion state, during multibyte
   655  // stream conversions.  The content must not be referenced by user programs.
   656  type X__mbstate_t = struct {
   657  	F__ccgo_pad1 [0]uint64
   658  	F__mbstate8  [128]int8
   659  } /* _types.h:57:3 */
   660  
   661  type X__darwin_mbstate_t = X__mbstate_t /* _types.h:59:33 */ // mbstate_t
   662  
   663  type X__darwin_ptrdiff_t = int64 /* _types.h:62:33 */ // ptr1 - ptr2
   664  
   665  type X__darwin_size_t = uint64 /* _types.h:70:33 */ // sizeof()
   666  
   667  type X__darwin_va_list = X__builtin_va_list /* _types.h:76:33 */ // va_list
   668  
   669  type X__darwin_wchar_t = int32 /* _types.h:82:33 */ // wchar_t
   670  
   671  type X__darwin_rune_t = X__darwin_wchar_t /* _types.h:87:33 */ // rune_t
   672  
   673  type X__darwin_wint_t = int32 /* _types.h:90:33 */ // wint_t
   674  
   675  type X__darwin_clock_t = uint64        /* _types.h:95:33 */ // clock()
   676  type X__darwin_socklen_t = X__uint32_t /* _types.h:96:33 */ // socklen_t (duh)
   677  type X__darwin_ssize_t = int64         /* _types.h:97:33 */ // byte count or error
   678  type X__darwin_time_t = int64          /* _types.h:98:33 */ // time()
   679  
   680  // Type definitions; takes common type definitions that must be used
   681  // in multiple header files due to [XSI], removes them from the system
   682  // space, and puts them in the implementation space.
   683  
   684  type X__darwin_blkcnt_t = X__int64_t                    /* _types.h:55:25 */ // total blocks
   685  type X__darwin_blksize_t = X__int32_t                   /* _types.h:56:25 */ // preferred block size
   686  type X__darwin_dev_t = X__int32_t                       /* _types.h:57:25 */ // dev_t
   687  type X__darwin_fsblkcnt_t = uint32                      /* _types.h:58:25 */ // Used by statvfs and fstatvfs
   688  type X__darwin_fsfilcnt_t = uint32                      /* _types.h:59:25 */ // Used by statvfs and fstatvfs
   689  type X__darwin_gid_t = X__uint32_t                      /* _types.h:60:25 */ // [???] process and group IDs
   690  type X__darwin_id_t = X__uint32_t                       /* _types.h:61:25 */ // [XSI] pid_t, uid_t, or gid_t
   691  type X__darwin_ino64_t = X__uint64_t                    /* _types.h:62:25 */ // [???] Used for 64 bit inodes
   692  type X__darwin_ino_t = X__darwin_ino64_t                /* _types.h:64:26 */ // [???] Used for inodes
   693  type X__darwin_mach_port_name_t = X__darwin_natural_t   /* _types.h:68:28 */ // Used by mach
   694  type X__darwin_mach_port_t = X__darwin_mach_port_name_t /* _types.h:69:35 */ // Used by mach
   695  type X__darwin_mode_t = X__uint16_t                     /* _types.h:70:25 */ // [???] Some file attributes
   696  type X__darwin_off_t = X__int64_t                       /* _types.h:71:25 */ // [???] Used for file sizes
   697  type X__darwin_pid_t = X__int32_t                       /* _types.h:72:25 */ // [???] process and group IDs
   698  type X__darwin_sigset_t = X__uint32_t                   /* _types.h:73:25 */ // [???] signal set
   699  type X__darwin_suseconds_t = X__int32_t                 /* _types.h:74:25 */ // [???] microseconds
   700  type X__darwin_uid_t = X__uint32_t                      /* _types.h:75:25 */ // [???] user IDs
   701  type X__darwin_useconds_t = X__uint32_t                 /* _types.h:76:25 */ // [???] microseconds
   702  type X__darwin_uuid_t = [16]uint8                       /* _types.h:77:25 */
   703  type X__darwin_uuid_string_t = [37]int8                 /* _types.h:78:17 */
   704  
   705  // Copyright (c) 2003-2013 Apple Inc. All rights reserved.
   706  //
   707  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
   708  //
   709  // This file contains Original Code and/or Modifications of Original Code
   710  // as defined in and that are subject to the Apple Public Source License
   711  // Version 2.0 (the 'License'). You may not use this file except in
   712  // compliance with the License. The rights granted to you under the License
   713  // may not be used to create, or enable the creation or redistribution of,
   714  // unlawful or unlicensed copies of an Apple operating system, or to
   715  // circumvent, violate, or enable the circumvention or violation of, any
   716  // terms of an Apple operating system software license agreement.
   717  //
   718  // Please obtain a copy of the License at
   719  // http://www.opensource.apple.com/apsl/ and read it before using this file.
   720  //
   721  // The Original Code and all software distributed under the License are
   722  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   723  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   724  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   725  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   726  // Please see the License for the specific language governing rights and
   727  // limitations under the License.
   728  //
   729  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
   730  
   731  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
   732  //
   733  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
   734  //
   735  // This file contains Original Code and/or Modifications of Original Code
   736  // as defined in and that are subject to the Apple Public Source License
   737  // Version 2.0 (the 'License'). You may not use this file except in
   738  // compliance with the License. The rights granted to you under the License
   739  // may not be used to create, or enable the creation or redistribution of,
   740  // unlawful or unlicensed copies of an Apple operating system, or to
   741  // circumvent, violate, or enable the circumvention or violation of, any
   742  // terms of an Apple operating system software license agreement.
   743  //
   744  // Please obtain a copy of the License at
   745  // http://www.opensource.apple.com/apsl/ and read it before using this file.
   746  //
   747  // The Original Code and all software distributed under the License are
   748  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   749  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   750  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   751  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   752  // Please see the License for the specific language governing rights and
   753  // limitations under the License.
   754  //
   755  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
   756  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
   757  // Copyright (c) 1991, 1993
   758  //	The Regents of the University of California.  All rights reserved.
   759  //
   760  // This code is derived from software contributed to Berkeley by
   761  // Berkeley Software Design, Inc.
   762  //
   763  // Redistribution and use in source and binary forms, with or without
   764  // modification, are permitted provided that the following conditions
   765  // are met:
   766  // 1. Redistributions of source code must retain the above copyright
   767  //    notice, this list of conditions and the following disclaimer.
   768  // 2. Redistributions in binary form must reproduce the above copyright
   769  //    notice, this list of conditions and the following disclaimer in the
   770  //    documentation and/or other materials provided with the distribution.
   771  // 3. All advertising materials mentioning features or use of this software
   772  //    must display the following acknowledgement:
   773  //	This product includes software developed by the University of
   774  //	California, Berkeley and its contributors.
   775  // 4. Neither the name of the University nor the names of its contributors
   776  //    may be used to endorse or promote products derived from this software
   777  //    without specific prior written permission.
   778  //
   779  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   780  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   781  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   782  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   783  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   784  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   785  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   786  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   787  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   788  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   789  // SUCH DAMAGE.
   790  //
   791  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
   792  
   793  // pthread opaque structures
   794  
   795  type X__darwin_pthread_handler_rec = struct {
   796  	F__routine uintptr
   797  	F__arg     uintptr
   798  	F__next    uintptr
   799  } /* _pthread_types.h:57:1 */
   800  
   801  type X_opaque_pthread_attr_t = struct {
   802  	F__sig    int64
   803  	F__opaque [56]int8
   804  } /* _pthread_types.h:63:1 */
   805  
   806  type X_opaque_pthread_cond_t = struct {
   807  	F__sig    int64
   808  	F__opaque [40]int8
   809  } /* _pthread_types.h:68:1 */
   810  
   811  type X_opaque_pthread_condattr_t = struct {
   812  	F__sig    int64
   813  	F__opaque [8]int8
   814  } /* _pthread_types.h:73:1 */
   815  
   816  type X_opaque_pthread_mutex_t = struct {
   817  	F__sig    int64
   818  	F__opaque [56]int8
   819  } /* _pthread_types.h:78:1 */
   820  
   821  type X_opaque_pthread_mutexattr_t = struct {
   822  	F__sig    int64
   823  	F__opaque [8]int8
   824  } /* _pthread_types.h:83:1 */
   825  
   826  type X_opaque_pthread_once_t = struct {
   827  	F__sig    int64
   828  	F__opaque [8]int8
   829  } /* _pthread_types.h:88:1 */
   830  
   831  type X_opaque_pthread_rwlock_t = struct {
   832  	F__sig    int64
   833  	F__opaque [192]int8
   834  } /* _pthread_types.h:93:1 */
   835  
   836  type X_opaque_pthread_rwlockattr_t = struct {
   837  	F__sig    int64
   838  	F__opaque [16]int8
   839  } /* _pthread_types.h:98:1 */
   840  
   841  type X_opaque_pthread_t = struct {
   842  	F__sig           int64
   843  	F__cleanup_stack uintptr
   844  	F__opaque        [8176]int8
   845  } /* _pthread_types.h:103:1 */
   846  
   847  type X__darwin_pthread_attr_t = X_opaque_pthread_attr_t             /* _pthread_types.h:109:39 */
   848  type X__darwin_pthread_cond_t = X_opaque_pthread_cond_t             /* _pthread_types.h:110:39 */
   849  type X__darwin_pthread_condattr_t = X_opaque_pthread_condattr_t     /* _pthread_types.h:111:43 */
   850  type X__darwin_pthread_key_t = uint64                               /* _pthread_types.h:112:23 */
   851  type X__darwin_pthread_mutex_t = X_opaque_pthread_mutex_t           /* _pthread_types.h:113:40 */
   852  type X__darwin_pthread_mutexattr_t = X_opaque_pthread_mutexattr_t   /* _pthread_types.h:114:44 */
   853  type X__darwin_pthread_once_t = X_opaque_pthread_once_t             /* _pthread_types.h:115:39 */
   854  type X__darwin_pthread_rwlock_t = X_opaque_pthread_rwlock_t         /* _pthread_types.h:116:41 */
   855  type X__darwin_pthread_rwlockattr_t = X_opaque_pthread_rwlockattr_t /* _pthread_types.h:117:45 */
   856  type X__darwin_pthread_t = uintptr                                  /* _pthread_types.h:118:34 */
   857  
   858  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
   859  //
   860  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
   861  //
   862  // This file contains Original Code and/or Modifications of Original Code
   863  // as defined in and that are subject to the Apple Public Source License
   864  // Version 2.0 (the 'License'). You may not use this file except in
   865  // compliance with the License. The rights granted to you under the License
   866  // may not be used to create, or enable the creation or redistribution of,
   867  // unlawful or unlicensed copies of an Apple operating system, or to
   868  // circumvent, violate, or enable the circumvention or violation of, any
   869  // terms of an Apple operating system software license agreement.
   870  //
   871  // Please obtain a copy of the License at
   872  // http://www.opensource.apple.com/apsl/ and read it before using this file.
   873  //
   874  // The Original Code and all software distributed under the License are
   875  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   876  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   877  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   878  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   879  // Please see the License for the specific language governing rights and
   880  // limitations under the License.
   881  //
   882  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
   883  
   884  type X__darwin_nl_item = int32        /* _types.h:40:14 */
   885  type X__darwin_wctrans_t = int32      /* _types.h:41:14 */
   886  type X__darwin_wctype_t = X__uint32_t /* _types.h:43:20 */
   887  
   888  // Copyright (c) 2000-2008 Apple Inc. All rights reserved.
   889  //
   890  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
   891  //
   892  // This file contains Original Code and/or Modifications of Original Code
   893  // as defined in and that are subject to the Apple Public Source License
   894  // Version 2.0 (the 'License'). You may not use this file except in
   895  // compliance with the License. The rights granted to you under the License
   896  // may not be used to create, or enable the creation or redistribution of,
   897  // unlawful or unlicensed copies of an Apple operating system, or to
   898  // circumvent, violate, or enable the circumvention or violation of, any
   899  // terms of an Apple operating system software license agreement.
   900  //
   901  // Please obtain a copy of the License at
   902  // http://www.opensource.apple.com/apsl/ and read it before using this file.
   903  //
   904  // The Original Code and all software distributed under the License are
   905  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   906  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   907  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   908  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   909  // Please see the License for the specific language governing rights and
   910  // limitations under the License.
   911  //
   912  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
   913  // Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved
   914  // -
   915  // Copyright (c) 1989, 1993
   916  //	The Regents of the University of California.  All rights reserved.
   917  //
   918  // Redistribution and use in source and binary forms, with or without
   919  // modification, are permitted provided that the following conditions
   920  // are met:
   921  // 1. Redistributions of source code must retain the above copyright
   922  //    notice, this list of conditions and the following disclaimer.
   923  // 2. Redistributions in binary form must reproduce the above copyright
   924  //    notice, this list of conditions and the following disclaimer in the
   925  //    documentation and/or other materials provided with the distribution.
   926  // 3. All advertising materials mentioning features or use of this software
   927  //    must display the following acknowledgement:
   928  //	This product includes software developed by the University of
   929  //	California, Berkeley and its contributors.
   930  // 4. Neither the name of the University nor the names of its contributors
   931  //    may be used to endorse or promote products derived from this software
   932  //    without specific prior written permission.
   933  //
   934  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
   935  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   936  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   937  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   938  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   939  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   940  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   941  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   942  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   943  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   944  // SUCH DAMAGE.
   945  //
   946  //	@(#)dirent.h	8.3 (Berkeley) 8/10/94
   947  
   948  // The dirent structure defines the format of directory entries.
   949  //
   950  // A directory entry has a struct dirent at the front of it, containing its
   951  // inode number, the length of the entry, and the length of the name
   952  // contained in the entry.  These are followed by the name padded to a 4
   953  // byte boundary with null bytes.  All names are guaranteed null terminated.
   954  // The maximum length of a name in a directory is MAXNAMLEN when 32-bit
   955  // ino_t is in effect; (MAXPATHLEN - 1) when 64-bit ino_t is in effect.
   956  
   957  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
   958  //
   959  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
   960  //
   961  // This file contains Original Code and/or Modifications of Original Code
   962  // as defined in and that are subject to the Apple Public Source License
   963  // Version 2.0 (the 'License'). You may not use this file except in
   964  // compliance with the License. The rights granted to you under the License
   965  // may not be used to create, or enable the creation or redistribution of,
   966  // unlawful or unlicensed copies of an Apple operating system, or to
   967  // circumvent, violate, or enable the circumvention or violation of, any
   968  // terms of an Apple operating system software license agreement.
   969  //
   970  // Please obtain a copy of the License at
   971  // http://www.opensource.apple.com/apsl/ and read it before using this file.
   972  //
   973  // The Original Code and all software distributed under the License are
   974  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
   975  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
   976  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
   977  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
   978  // Please see the License for the specific language governing rights and
   979  // limitations under the License.
   980  //
   981  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
   982  
   983  // Copyright (c) 2000-2018 Apple Inc. All rights reserved.
   984  //
   985  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
   986  //
   987  // This file contains Original Code and/or Modifications of Original Code
   988  // as defined in and that are subject to the Apple Public Source License
   989  // Version 2.0 (the 'License'). You may not use this file except in
   990  // compliance with the License. The rights granted to you under the License
   991  // may not be used to create, or enable the creation or redistribution of,
   992  // unlawful or unlicensed copies of an Apple operating system, or to
   993  // circumvent, violate, or enable the circumvention or violation of, any
   994  // terms of an Apple operating system software license agreement.
   995  //
   996  // Please obtain a copy of the License at
   997  // http://www.opensource.apple.com/apsl/ and read it before using this file.
   998  //
   999  // The Original Code and all software distributed under the License are
  1000  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1001  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1002  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1003  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1004  // Please see the License for the specific language governing rights and
  1005  // limitations under the License.
  1006  //
  1007  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1008  // Copyright 1995 NeXT Computer, Inc. All rights reserved.
  1009  // Copyright (c) 1991, 1993
  1010  //	The Regents of the University of California.  All rights reserved.
  1011  //
  1012  // This code is derived from software contributed to Berkeley by
  1013  // Berkeley Software Design, Inc.
  1014  //
  1015  // Redistribution and use in source and binary forms, with or without
  1016  // modification, are permitted provided that the following conditions
  1017  // are met:
  1018  // 1. Redistributions of source code must retain the above copyright
  1019  //    notice, this list of conditions and the following disclaimer.
  1020  // 2. Redistributions in binary form must reproduce the above copyright
  1021  //    notice, this list of conditions and the following disclaimer in the
  1022  //    documentation and/or other materials provided with the distribution.
  1023  // 3. All advertising materials mentioning features or use of this software
  1024  //    must display the following acknowledgement:
  1025  //	This product includes software developed by the University of
  1026  //	California, Berkeley and its contributors.
  1027  // 4. Neither the name of the University nor the names of its contributors
  1028  //    may be used to endorse or promote products derived from this software
  1029  //    without specific prior written permission.
  1030  //
  1031  // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  1032  // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  1033  // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  1034  // ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  1035  // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  1036  // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  1037  // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  1038  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  1039  // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  1040  // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  1041  // SUCH DAMAGE.
  1042  //
  1043  //	@(#)cdefs.h	8.8 (Berkeley) 1/9/95
  1044  
  1045  // Copyright (c) 2003-2012 Apple Inc. All rights reserved.
  1046  //
  1047  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1048  //
  1049  // This file contains Original Code and/or Modifications of Original Code
  1050  // as defined in and that are subject to the Apple Public Source License
  1051  // Version 2.0 (the 'License'). You may not use this file except in
  1052  // compliance with the License. The rights granted to you under the License
  1053  // may not be used to create, or enable the creation or redistribution of,
  1054  // unlawful or unlicensed copies of an Apple operating system, or to
  1055  // circumvent, violate, or enable the circumvention or violation of, any
  1056  // terms of an Apple operating system software license agreement.
  1057  //
  1058  // Please obtain a copy of the License at
  1059  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1060  //
  1061  // The Original Code and all software distributed under the License are
  1062  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1063  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1064  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1065  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1066  // Please see the License for the specific language governing rights and
  1067  // limitations under the License.
  1068  //
  1069  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1070  // Copyright (c) 2003-2007 Apple Inc. All rights reserved.
  1071  //
  1072  // @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  1073  //
  1074  // This file contains Original Code and/or Modifications of Original Code
  1075  // as defined in and that are subject to the Apple Public Source License
  1076  // Version 2.0 (the 'License'). You may not use this file except in
  1077  // compliance with the License. The rights granted to you under the License
  1078  // may not be used to create, or enable the creation or redistribution of,
  1079  // unlawful or unlicensed copies of an Apple operating system, or to
  1080  // circumvent, violate, or enable the circumvention or violation of, any
  1081  // terms of an Apple operating system software license agreement.
  1082  //
  1083  // Please obtain a copy of the License at
  1084  // http://www.opensource.apple.com/apsl/ and read it before using this file.
  1085  //
  1086  // The Original Code and all software distributed under the License are
  1087  // distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  1088  // EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  1089  // INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  1090  // FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  1091  // Please see the License for the specific language governing rights and
  1092  // limitations under the License.
  1093  //
  1094  // @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  1095  
  1096  type Ino_t = X__darwin_ino_t /* _ino_t.h:31:33 */ // inode number
  1097  
  1098  type Dirent = struct {
  1099  	Fd_ino       X__uint64_t
  1100  	Fd_seekoff   X__uint64_t
  1101  	Fd_reclen    X__uint16_t
  1102  	Fd_namlen    X__uint16_t
  1103  	Fd_type      X__uint8_t
  1104  	Fd_name      [1024]int8
  1105  	F__ccgo_pad1 [3]byte
  1106  } /* dirent.h:112:1 */
  1107  
  1108  // forward reference
  1109  
  1110  // structure describing an open directory.
  1111  type DIR = struct {
  1112  	F__dd_fd     int32
  1113  	F__ccgo_pad1 [4]byte
  1114  	F__dd_loc    int64
  1115  	F__dd_size   int64
  1116  	F__dd_buf    uintptr
  1117  	F__dd_len    int32
  1118  	F__ccgo_pad2 [4]byte
  1119  	F__dd_seek   int64
  1120  	F__padding   int64
  1121  	F__dd_flags  int32
  1122  	F__ccgo_pad3 [4]byte
  1123  	F__dd_lock   X__darwin_pthread_mutex_t
  1124  	F__dd_td     uintptr
  1125  } /* dirent.h:84:3 */
  1126  
  1127  var _ int8 /* gen.c:2:13: */