about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/bits
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2019-06-07 09:27:01 +0200
committerFlorian Weimer <fweimer@redhat.com>2019-06-07 09:27:01 +0200
commit51ea67d54882318c4fa5394c386f4816ddc22408 (patch)
tree9b1f881f8d4e8b464a2d3b08b805e97a35457c7d /sysdeps/unix/sysv/linux/bits
parentde751ebc9efa97ce0115e42bd55fa1beeb614380 (diff)
downloadglibc-51ea67d54882318c4fa5394c386f4816ddc22408.tar.gz
glibc-51ea67d54882318c4fa5394c386f4816ddc22408.tar.xz
glibc-51ea67d54882318c4fa5394c386f4816ddc22408.zip
Linux: Add getdents64 system call
No 32-bit system call wrapper is added because the interface
is problematic because it cannot deal with 64-bit inode numbers
and 64-bit directory hashes.

A future commit will deprecate the undocumented getdirentries
and getdirentries64 functions.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'sysdeps/unix/sysv/linux/bits')
-rw-r--r--sysdeps/unix/sysv/linux/bits/unistd_ext.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/bits/unistd_ext.h b/sysdeps/unix/sysv/linux/bits/unistd_ext.h
index 0061172f23..6e7b2bb83d 100644
--- a/sysdeps/unix/sysv/linux/bits/unistd_ext.h
+++ b/sysdeps/unix/sysv/linux/bits/unistd_ext.h
@@ -22,6 +22,12 @@
 
 #ifdef __USE_GNU
 
+/* Read from the directory descriptor FD into LENGTH bytes at BUFFER.
+   Return the number of bytes read on success (0 for end of
+   directory), and -1 for failure.  */
+extern ssize_t getdents64 (int __fd, void *__buffer, size_t __length)
+  __THROW __nonnull ((2));
+
 /* Return the kernel thread ID (TID) of the current thread.  The
    returned value is not subject to caching.  Most Linux system calls
    accept a TID in place of a PID.  Using the TID to change properties