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