mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 12:30:06 +00:00
Linux: Move getdents64 to <dirent.h>
This matches the location of the declaration in musl. Reviewed-by: Carlos O'Donell <carlos@redhat.com>
This commit is contained in:
parent
354e4c1add
commit
b8b3d5a14e
12
ChangeLog
12
ChangeLog
@ -1,3 +1,15 @@
|
||||
2019-07-29 Florian Weimer <fweimer@redhat.com>
|
||||
|
||||
Linux: Move declaration of getdents64 to <dirent.h>.
|
||||
* bits/dirent_ext.h: New file.
|
||||
* dirent/Makefile (headers): Add bits/dirent_ext.h.
|
||||
* dirent/dirent.h: Include <bits/dirent_ext.h>.
|
||||
* sysdeps/unix/sysv/linux/bits/dirent_ext.h: New file.
|
||||
* sysdeps/unix/sysv/linux/bits/unistd_ext.h (getdents64): Remove
|
||||
declaration.
|
||||
* manual/filesys.texi (Low-level Directory Access): Update header
|
||||
to dirent.h.
|
||||
|
||||
2019-07-29 DJ Delorie <dj@redhat.com>
|
||||
Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
|
||||
|
||||
|
21
bits/dirent_ext.h
Normal file
21
bits/dirent_ext.h
Normal file
@ -0,0 +1,21 @@
|
||||
/* System-specific extensions of <dirent.h>, generic version.
|
||||
Copyright (C) 2019 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _DIRENT_H
|
||||
# error "Never include <bits/dirent_ext.h> directly; use <dirent.h> instead."
|
||||
#endif
|
@ -22,7 +22,7 @@ subdir := dirent
|
||||
|
||||
include ../Makeconfig
|
||||
|
||||
headers := dirent.h bits/dirent.h
|
||||
headers := dirent.h bits/dirent.h bits/dirent_ext.h
|
||||
routines := opendir closedir readdir readdir_r rewinddir \
|
||||
seekdir telldir scandir alphasort versionsort \
|
||||
getdents getdents64 dirfd readdir64 readdir64_r scandir64 \
|
||||
|
@ -401,4 +401,6 @@ extern int versionsort64 (const struct dirent64 **__e1,
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#include <bits/dirent_ext.h>
|
||||
|
||||
#endif /* dirent.h */
|
||||
|
@ -843,7 +843,7 @@ Directory data is obtained from a file descriptor, as created by the
|
||||
@xref{Opening and Closing Files}.
|
||||
|
||||
@deftypefun ssize_t getdents64 (int @var{fd}, void *@var{buffer}, size_t @var{length})
|
||||
@standards{Linux, unistd.h}
|
||||
@standards{Linux, dirent.h}
|
||||
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
|
||||
The @code{getdents64} function reads at most @var{length} bytes of
|
||||
directory entry data from the file descriptor @var{fd} and stores it
|
||||
|
33
sysdeps/unix/sysv/linux/bits/dirent_ext.h
Normal file
33
sysdeps/unix/sysv/linux/bits/dirent_ext.h
Normal file
@ -0,0 +1,33 @@
|
||||
/* System-specific extensions of <dirent.h>. Linux version.
|
||||
Copyright (C) 2019 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _DIRENT_H
|
||||
# error "Never include <bits/dirent_ext.h> directly; use <dirent.h> instead."
|
||||
#endif
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#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));
|
||||
#endif
|
||||
|
||||
__END_DECLS
|
@ -22,12 +22,6 @@
|
||||
|
||||
#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
|
||||
|
Loading…
Reference in New Issue
Block a user