From d369ad760d0a2bc585cb5b076a67d565573ee915 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 12 Feb 2006 21:41:44 +0000 Subject: [BZ #2226] 2006-02-12 Ulrich Drepper * io/ftw.c: Start using *at functions. * io/ftw64.c: Likewise. * sysdeps/generic/not-cancel.h: Define openat_not_cancel, openat_not_cancel_3, openat64_not_cancel, and openat64_not_cancel_3. * sysdeps/unix/sysv/linux/not-cancel.h: Likewise. * sysdeps/unix/sysv/linux/openat.c: Create separate _nocancel functions. * io/fxstatat.c: Add __fxstatat alias. * sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c: Likewise. * sysdeps/unix/sysv/linux/fxstatat.c: Likewise. Add support for newfstatat syscall. * sysdeps/unix/sysv/linux/i386/fxstatat.c: Add __fxstatat alias. Add support for fstatat64 syscall. * include/sys/stat.h: Declare __fxstatat. * io/fxstatat64.c: Add __fxstatat64 alias. * sysdeps/unix/sysv/linux/fxstatat64.c: Add support for fstatat64 syscall. * dirent/fdopendir.c: Add __fdopendir alias. * sysdeps/unix/fdopendir.c: Likewise. * sysdeps/mach/hurd/fdopendir.c: Likewise. * include/dirent.h: Add __fdopendir declaration. [BZ #2226] * libio/wgenops.c (_IO_wsetb): Use correct size of wide char buffer in FREE_BUF call. --- sysdeps/unix/sysv/linux/not-cancel.h | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'sysdeps/unix/sysv/linux/not-cancel.h') diff --git a/sysdeps/unix/sysv/linux/not-cancel.h b/sysdeps/unix/sysv/linux/not-cancel.h index 9418417b45..ece8d69ecf 100644 --- a/sysdeps/unix/sysv/linux/not-cancel.h +++ b/sysdeps/unix/sysv/linux/not-cancel.h @@ -1,5 +1,5 @@ /* Uncancelable versions of cancelable interfaces. Linux version. - Copyright (C) 2003 Free Software Foundation, Inc. + Copyright (C) 2003, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2003. @@ -18,6 +18,7 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ +#include #include /* Uncancelable open. */ @@ -26,6 +27,20 @@ #define open_not_cancel_2(name, flags) \ INLINE_SYSCALL (open, 2, (const char *) (name), (flags)) +/* Uncancelable openat. */ +extern int __openat_not_cancel (int fd, const char *fname, int oflag, + mode_t mode) attribute_hidden; +#define openat_not_cancel(fd, fname, oflag, mode) \ + __openat_not_cancel (fd, fname, oflag, mode) +#define openat_not_cancel_3(fd, fname, oflag) \ + __openat_not_cancel (fd, fname, oflag, 0) +extern int __openat64_not_cancel (int fd, const char *fname, int oflag, + mode_t mode) attribute_hidden; +#define openat64_not_cancel(fd, fname, oflag, mode) \ + __openat64_not_cancel (fd, fname, oflag, mode) +#define openat64_not_cancel_3(fd, fname, oflag) \ + __openat64_not_cancel (fd, fname, oflag, 0) + /* Uncancelable close. */ #define close_not_cancel(fd) \ INLINE_SYSCALL (close, 1, fd) -- cgit 1.4.1