diff options
author | Ulrich Drepper <drepper@redhat.com> | 2005-11-10 00:12:21 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2005-11-10 00:12:21 +0000 |
commit | 4973cbe599b0ddc97306eb8bb23bd2104c89a565 (patch) | |
tree | efb1daac3e5f9e78859ff420722c824569d94fb8 /io/fcntl.h | |
parent | 9f1016c0df0dc9c548700619af7c33f882fc76ed (diff) | |
download | glibc-4973cbe599b0ddc97306eb8bb23bd2104c89a565.tar.gz |
* io/fcntl.h: Declare openat and openat64.
* io/Makefile (routines): Add openat and openat64.
(tests): Add tst-openat.
* io/Versions: Add openat and openat64 for GLIBC_2.4.
* sysdeps/generic/openat.c: New file.
* sysdeps/generic/openat64.c: New file.
* sysdeps/unix/sysv/linux/openat.c: New file.
* sysdeps/unix/sysv/linux/openat64.c: New file.
* io/tst-openat.c: New file.
* sysdeps/unix/sysv/linux/device-nrs.h: Add info for /dev/full.
Diffstat (limited to 'io/fcntl.h')
-rw-r--r-- | io/fcntl.h | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/io/fcntl.h b/io/fcntl.h index ef9d5f9b81..044a988872 100644 --- a/io/fcntl.h +++ b/io/fcntl.h @@ -1,4 +1,5 @@ -/* Copyright (C) 1991,1992,1994-2001,2003,2004 Free Software Foundation, Inc. +/* Copyright (C) 1991,1992,1994-2001,2003,2004,2005 + 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 @@ -82,6 +83,32 @@ extern int __REDIRECT (open, (__const char *__file, int __oflag, ...), open64) extern int open64 (__const char *__file, int __oflag, ...) __nonnull ((1)); #endif +#ifdef __USE_GNU +/* Similar to OPEN but a relative path name is interpreted relative to + the directory for which FD is a descriptor. + + NOTE: some other OPENAT implementation support additional functionality + through this interface, especially using the O_XATTR flag. This is not + yet supported here. + + This function is a cancellation point and therefore not marked with + __THROW. */ +# ifndef __USE_FILE_OFFSET64 +extern int openat (int __fd, __const char *__file, int __oflag, ...) + __nonnull ((2)); +# else +# ifdef __REDIRECT +extern int __REDIRECT (openat, (int __fd, __const char *__file, int __oflag, + ...), openat64) __nonnull ((2)); +# else +# define openat openat64 +# endif +# endif + +extern int openat64 (int __fd, __const char *__file, int __oflag, ...) + __nonnull ((2)); +#endif + /* Create and open FILE, with mode MODE. This takes an `int' MODE argument because that is what `mode_t' will be widened to. |