|
@@ -1,4 +1,4 @@
|
|
|
-/* Copyright (C) 1991,1992,1995-2004,2005 Free Software Foundation, Inc.
|
|
|
+/* Copyright (C) 1991,1992,1995-2004,2005,2006 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
|
|
@@ -228,25 +228,28 @@ extern int stat64 (__const char *__restrict __file,
|
|
|
extern int fstat64 (int __fd, struct stat64 *__buf) __THROW __nonnull ((2));
|
|
|
#endif
|
|
|
|
|
|
-#if 0 /*def __USE_GNU*/
|
|
|
+#ifdef __USE_ATFILE
|
|
|
/* Similar to stat, get the attributes for FILE and put them in BUF.
|
|
|
Relative path names are interpreted relative to FD unless FD is
|
|
|
AT_FDCWD. */
|
|
|
# ifndef __USE_FILE_OFFSET64
|
|
|
-extern int fstatat (int __fd, __const char *__file, struct stat *__buf,
|
|
|
- int __flag) __THROW __nonnull ((2, 3));
|
|
|
+extern int fstatat (int __fd, __const char *__restrict __file,
|
|
|
+ struct stat *__restrict __buf, int __flag)
|
|
|
+ __THROW __nonnull ((2, 3));
|
|
|
# else
|
|
|
# ifdef __REDIRECT_NTH
|
|
|
-extern int __REDIRECT_NTH (fstatat, (int __fd, __const char *__file,
|
|
|
- struct stat *__buf, int __flag),
|
|
|
+extern int __REDIRECT_NTH (fstatat, (int __fd, __const char *__restrict __file,
|
|
|
+ struct stat *__restrict __buf,
|
|
|
+ int __flag),
|
|
|
fstatat64) __nonnull ((2, 3));
|
|
|
# else
|
|
|
# define fstatat fstatat64
|
|
|
# endif
|
|
|
# endif
|
|
|
|
|
|
-extern int fstatat64 (int __fd, __const char *__file, struct stat64 *__buf,
|
|
|
- int __flag) __THROW __nonnull ((2, 3));
|
|
|
+extern int fstatat64 (int __fd, __const char *__restrict __file,
|
|
|
+ struct stat64 *__restrict __buf, int __flag)
|
|
|
+ __THROW __nonnull ((2, 3));
|
|
|
#endif
|
|
|
|
|
|
#if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
|
|
@@ -290,6 +293,14 @@ extern int lchmod (__const char *__file, __mode_t __mode)
|
|
|
extern int fchmod (int __fd, __mode_t __mode) __THROW;
|
|
|
#endif
|
|
|
|
|
|
+#ifdef __USE_ATFILE
|
|
|
+/* Set file access permissions of FILE relative to
|
|
|
+ the directory FD is open on. */
|
|
|
+extern int fchmodat (int __fd, __const char *__file, __mode_t mode, int __flag)
|
|
|
+ __THROW __nonnull ((2)) __wur;
|
|
|
+#endif /* Use ATFILE. */
|
|
|
+
|
|
|
+
|
|
|
|
|
|
/* Set the file creation mask of the current process to MASK,
|
|
|
and return the old creation mask. */
|
|
@@ -305,7 +316,7 @@ extern __mode_t getumask (void) __THROW;
|
|
|
extern int mkdir (__const char *__path, __mode_t __mode)
|
|
|
__THROW __nonnull ((1));
|
|
|
|
|
|
-#if 0 /*def __USE_GNU*/
|
|
|
+#ifdef __USE_ATFILE
|
|
|
/* Like mkdir, create a new directory with permission bits MODE. But
|
|
|
interpret relative PATH names relative to the directory associated
|
|
|
with FD. */
|
|
@@ -321,7 +332,7 @@ extern int mknod (__const char *__path, __mode_t __mode, __dev_t __dev)
|
|
|
__THROW __nonnull ((1));
|
|
|
#endif
|
|
|
|
|
|
-#if 0 /*def __USE_GNU*/
|
|
|
+#ifdef __USE_ATFILE
|
|
|
/* Like mknod, create a new device file with permission bits MODE and
|
|
|
device number DEV. But interpret relative PATH names relative to
|
|
|
the directory associated with FD. */
|
|
@@ -334,7 +345,7 @@ extern int mknodat (int __fd, __const char *__path, __mode_t __mode,
|
|
|
extern int mkfifo (__const char *__path, __mode_t __mode)
|
|
|
__THROW __nonnull ((1));
|
|
|
|
|
|
-#if 0 /*def __USE_GNU*/
|
|
|
+#ifdef __USE_ATFILE
|
|
|
/* Like mkfifo, create a new FIFO with permission bits MODE. But
|
|
|
interpret relative PATH names relative to the directory associated
|
|
|
with FD. */
|
|
@@ -342,6 +353,13 @@ extern int mkfifoat (int __fd, __const char *__path, __mode_t __mode)
|
|
|
__THROW __nonnull ((2));
|
|
|
#endif
|
|
|
|
|
|
+/* on uClibc we have unversioned struct stat and mknod.
|
|
|
+ * bits/stat.h is filled with wrong info, so we undo it here. */
|
|
|
+#undef _STAT_VER
|
|
|
+#define _STAT_VER 0
|
|
|
+#undef _MKNOD_VER
|
|
|
+#define _MKNOD_VER 0
|
|
|
+
|
|
|
__END_DECLS
|
|
|
|
|
|
|