summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@gmail.com>2011-08-09 09:57:55 -0400
committerUlrich Drepper <drepper@gmail.com>2011-08-09 09:57:55 -0400
commitc55fbd1ea768f9fdef34a01377702c0d72cbc213 (patch)
tree0e67d339ad240756843292384535c40cad03df95 /include
parent879165f25a1a6b13995e43c11e88b1a21b6f101e (diff)
downloadglibc-c55fbd1ea768f9fdef34a01377702c0d72cbc213.tar.gz
Implement scandirat function
Diffstat (limited to 'include')
-rw-r--r--include/dirent.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/dirent.h b/include/dirent.h
index 0f8f1cbe88..9ed5876892 100644
--- a/include/dirent.h
+++ b/include/dirent.h
@@ -4,8 +4,16 @@
# include <sys/stat.h>
# include <stdbool.h>
+struct scandir_cancel_struct
+{
+ DIR *dp;
+ void *v;
+ size_t cnt;
+};
+
/* Now define the internal interfaces. */
extern DIR *__opendir (__const char *__name);
+extern DIR *__opendirat (int dfd, __const char *__name) internal_function;
extern DIR *__fdopendir (int __fd);
extern int __closedir (DIR *__dirp);
extern struct dirent *__readdir (DIR *__dirp);
@@ -19,6 +27,11 @@ extern int __scandir64 (__const char * __dir,
int (*__selector) (__const struct dirent64 *),
int (*__cmp) (__const struct dirent64 **,
__const struct dirent64 **));
+extern int __scandirat64 (int __dfd, __const char * __dir,
+ struct dirent64 *** __namelist,
+ int (*__selector) (__const struct dirent64 *),
+ int (*__cmp) (__const struct dirent64 **,
+ __const struct dirent64 **));
extern __ssize_t __getdents (int __fd, char *__buf, size_t __nbytes)
internal_function;
extern __ssize_t __getdents64 (int __fd, char *__buf, size_t __nbytes)
@@ -31,6 +44,7 @@ extern int __versionsort64 (const struct dirent64 **a,
extern DIR *__alloc_dir (int fd, bool close_fd, int flags,
const struct stat64 *statp)
internal_function;
+extern void __scandir_cancel_handler (void *arg);
libc_hidden_proto (rewinddir)