diff options
Diffstat (limited to 'dirent')
-rw-r--r-- | dirent/Makefile | 2 | ||||
-rw-r--r-- | dirent/dirent.h | 30 |
2 files changed, 27 insertions, 5 deletions
diff --git a/dirent/Makefile b/dirent/Makefile index a7f3553df0..7c36510ca1 100644 --- a/dirent/Makefile +++ b/dirent/Makefile @@ -24,7 +24,7 @@ subdir := dirent headers := dirent.h bits/dirent.h routines := opendir closedir readdir readdir_r rewinddir \ seekdir telldir scandir alphasort versionsort \ - getdents dirfd + getdents dirfd readdir64 readdir64_r distribute := dirstream.h tests := list tst-seekdir diff --git a/dirent/dirent.h b/dirent/dirent.h index a9b7a7474d..e2fab0ab03 100644 --- a/dirent/dirent.h +++ b/dirent/dirent.h @@ -112,20 +112,42 @@ extern DIR *opendir __P ((__const char *__name)); extern int __closedir __P ((DIR *__dirp)); extern int closedir __P ((DIR *__dirp)); -/* Read a directory entry from DIRP. - Return a pointer to a `struct dirent' describing the entry, - or NULL for EOF or error. The storage returned may be overwritten - by a later readdir call on the same DIR stream. */ +/* Read a directory entry from DIRP. Return a pointer to a `struct + dirent' describing the entry, or NULL for EOF or error. The + storage returned may be overwritten by a later readdir call on the + same DIR stream. + + If the Large File Support API is selected we have to use the + appropriate interface. */ extern struct dirent *__readdir __P ((DIR *__dirp)); +#ifndef __USE_FILE_OFFSET64 extern struct dirent *readdir __P ((DIR *__dirp)); +#else +extern struct dirent64 *readdir __P ((DIR *__dirp)) __asm__ ("readdir64"); +#endif + +#ifdef __USE_LARGEFILE64 +extern struct dirent64 *readdir64 __P ((DIR *__dirp)); +#endif #if defined __USE_POSIX || defined __USE_MISC /* Reentrant version of `readdir'. Return in RESULT a pointer to the next entry. */ extern int __readdir_r __P ((DIR *__dirp, struct dirent *__entry, struct dirent **__result)); +# ifndef __USE_FILE_OFFSET64 extern int readdir_r __P ((DIR *__dirp, struct dirent *__entry, struct dirent **__result)); +# else +extern int readdir_r __P ((DIR *__dirp, struct dirent64 *__entry, + struct dirent64 **__result)) + __asm__ ("readdir64_r"); +# endif + +# ifdef __USE_LARGEFILE64 +extern int readdir64_r __P ((DIR *__dirp, struct dirent64 *__entry, + struct dirent64 **__result)); +# endif #endif /* POSIX or misc */ /* Rewind DIRP to the beginning of the directory. */ |