1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-04-24 21:47:24 +03:00
glibc/sysdeps/unix/sysv/linux/bits/unistd_ext.h
Florian Weimer 51ea67d548 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>
2019-06-07 09:27:01 +02:00

43 lines
1.8 KiB
C

/* System-specific extensions of <unistd.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 _UNISTD_H
# error "Never include <bits/unistd_ext.h> directly; use <unistd.h> instead."
#endif
#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
of a thread that has been created using pthread_create can lead to
undefined behavior (comparable to manipulating file descriptors
directly that have not been created explicitly). Note that a TID
uniquely identifies a thread only while this thread is running; a
TID can be reused once a thread has exited, even if the thread is
not detached and has not been joined. */
extern __pid_t gettid (void) __THROW;
#endif