* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/lib/libc/gen/telldir.h,v 1.2 2001/01/24 12:59:24 deischen Exp $
+ * $FreeBSD: src/lib/libc/gen/telldir.h,v 1.3 2008/05/05 14:05:23 kib Exp $
*/
#ifndef _TELLDIR_H_
#define _TELLDIR_H_
#include <sys/queue.h>
+#include <stdbool.h>
/*
* One of these structures is malloced to describe the current directory
struct ddloc {
LIST_ENTRY(ddloc) loc_lqe; /* entry in list */
long loc_index; /* key associated with structure */
+#if __DARWIN_64_BIT_INO_T
+ __darwin_off_t loc_seek; /* returned by lseek */
+#else /* !__DARWIN_64_BIT_INO_T */
long loc_seek; /* magic cookie returned by getdirentries */
+#endif /* __DARWIN_64_BIT_INO_T */
long loc_loc; /* offset of entry in buffer */
};
struct _telldir {
LIST_HEAD(, ddloc) td_locq; /* list of locations */
long td_loccnt; /* index of entry for sequential readdir's */
+#if __DARWIN_64_BIT_INO_T
+ __darwin_off_t seekoff; /* 64-bit seek offset */
+#endif /* __DARWIN_64_BIT_INO_T */
};
-struct dirent *_readdir_unlocked(DIR *);
+#if __DARWIN_64_BIT_INO_T
+size_t __getdirentries64(int fd, void *buf, size_t bufsize, __darwin_off_t *basep);
+#endif /* __DARWIN_64_BIT_INO_T */
+__attribute__ ((visibility ("hidden")))
+bool _filldir(DIR *, bool) __DARWIN_INODE64(_filldir);
+struct dirent *_readdir_unlocked(DIR *, int) __DARWIN_INODE64(_readdir_unlocked);
void _reclaim_telldir(DIR *);
-void _seekdir(DIR *, long);
+void _seekdir(DIR *, long) __DARWIN_ALIAS_I(_seekdir);
+__attribute__ ((visibility ("hidden")))
+void _fixtelldir(DIR *dirp, long oldseek, long oldloc) __DARWIN_INODE64(_fixtelldir);
+long telldir(DIR *) __DARWIN_ALIAS_I(telldir);
#endif