Loading...
include/fts.h Libc-498 Libc-997.90.3
--- Libc/Libc-498/include/fts.h
+++ Libc/Libc-997.90.3/include/fts.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000, 2003-2006, 2008, 2012 Apple Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
  * 
@@ -59,21 +59,9 @@
 #define	_FTS_H_
 
 #include <sys/_types.h>
-
-#ifndef _DEV_T
-typedef	__darwin_dev_t		dev_t;		/* device number */
-#define _DEV_T
-#endif
-
-#ifndef	_INO_T
-typedef	__darwin_ino_t	ino_t;		/* inode number */
-#define _INO_T
-#endif
-
-#ifndef _NLINK_T
-typedef	__uint16_t		nlink_t;	/* link count */
-#define	_NLINK_T
-#endif
+#include <sys/_types/_dev_t.h>
+#include <sys/_types/_ino_t.h>
+#include <sys/_types/_nlink_t.h>
 
 typedef struct {
 	struct _ftsent *fts_cur;	/* current node */
@@ -84,7 +72,14 @@
 	int fts_rfd;			/* fd for root */
 	int fts_pathlen;		/* sizeof(path) */
 	int fts_nitems;			/* elements in the sort array */
-	int (*fts_compar)();		/* compare function */
+#ifdef __BLOCKS__
+	union {
+#endif /* __BLOCKS__ */
+	    int (*fts_compar)();	/* compare function */
+#ifdef __BLOCKS__
+	    int (^fts_compar_b)();	/* compare block */
+	};
+#endif /* __BLOCKS__ */
 
 #define	FTS_COMFOLLOW	0x001		/* follow command line symlinks */
 #define	FTS_LOGICAL	0x002		/* logical walk */
@@ -95,10 +90,18 @@
 #define	FTS_XDEV	0x040		/* don't cross devices */
 #define	FTS_WHITEOUT	0x080		/* return whiteout information */
 #define	FTS_COMFOLLOWDIR 0x400		/* (non-std) follow command line symlinks for directories only */
+#if (defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1090) || (defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 70000)
+#define	FTS_NOSTAT_TYPE	0x800		/* (non-std) no stat, but use d_type in struct dirent when available */
+#define	FTS_OPTIONMASK	0xcff		/* valid user option mask */
+#else
 #define	FTS_OPTIONMASK	0x4ff		/* valid user option mask */
+#endif
 
 #define	FTS_NAMEONLY	0x100		/* (private) child names only */
 #define	FTS_STOP	0x200		/* (private) unrecoverable error */
+#ifdef __BLOCKS__
+#define	FTS_BLOCK_COMPAR 0x80000000	/* fts_compar is a block */
+#endif /* __BLOCKS__ */
 	int fts_options;		/* fts_open options, global flags */
 } FTS;
 
@@ -155,6 +158,7 @@
 } FTSENT;
 
 #include <sys/cdefs.h>
+#include <Availability.h>
 
 __BEGIN_DECLS
 //Begin-Libc
@@ -186,6 +190,19 @@
 	    int (*)(const FTSENT **, const FTSENT **)) LIBC_INODE64(fts_open);
 #endif /* !LIBC_ALIAS_FTS_OPEN */
 //End-Libc
+#ifdef __BLOCKS__
+//Begin-Libc
+#ifndef LIBC_ALIAS_FTS_OPEN_B
+//End-Libc
+FTS	*fts_open_b(char * const *, int,
+	    int (^)(const FTSENT **, const FTSENT **)) __DARWIN_INODE64(fts_open_b) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2);
+//Begin-Libc
+#else /* LIBC_ALIAS_FTS_OPEN */
+FTS	*fts_open_b(char * const *, int,
+	    int (^)(const FTSENT **, const FTSENT **)) LIBC_INODE64(fts_open_b);
+#endif /* !LIBC_ALIAS_FTS_OPEN */
+//End-Libc
+#endif /* __BLOCKS__ */
 //Begin-Libc
 #ifndef LIBC_ALIAS_FTS_READ
 //End-Libc