about summary refs log tree commit diff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/sys/stat.h29
1 files changed, 17 insertions, 12 deletions
diff --git a/include/sys/stat.h b/include/sys/stat.h
index db0bd8f03d..bb89457e65 100644
--- a/include/sys/stat.h
+++ b/include/sys/stat.h
@@ -11,18 +11,14 @@ extern __mode_t __umask (__mode_t __mask);
 extern int __mkdir (__const char *__path, __mode_t __mode);
 extern int __mknod (__const char *__path,
 		    __mode_t __mode, __dev_t __dev);
+extern int __fxstat_internal (int __ver, int __fildes,
+			      struct stat *__stat_buf);
+extern int __fxstat64_internal (int __ver, int __fildes,
+				struct stat64 *__stat_buf) ;
 extern __inline__ int __stat (__const char *__path, struct stat *__statbuf)
 {
   return __xstat (_STAT_VER, __path, __statbuf);
 }
-extern __inline__ int __lstat (__const char *__path, struct stat *__statbuf)
-{
-  return __lxstat (_STAT_VER, __path, __statbuf);
-}
-extern __inline__ int __fstat (int __fd, struct stat *__statbuf)
-{
-  return __fxstat (_STAT_VER, __fd, __statbuf);
-}
 extern __inline__ int __mknod (__const char *__path, __mode_t __mode,
 			       __dev_t __dev)
 {
@@ -36,11 +32,20 @@ extern __inline__ int __mknod (__const char *__path, __mode_t __mode,
    We have to use macros but we cannot define them in the normal headers
    since on user level we must use real functions.  */
 #define stat(fname, buf) __xstat (_STAT_VER, fname, buf)
-#define fstat(fd, buf) __fxstat (_STAT_VER, fd, buf)
-#define __fstat(fd, buf)  __fxstat (_STAT_VER, fd, buf)
 #define lstat(fname, buf)  __lxstat (_STAT_VER, fname, buf)
 #define __lstat(fname, buf)  __lxstat (_STAT_VER, fname, buf)
-#define stat64(fname, buf) __xstat64 (_STAT_VER, fname, buf)
-#define fstat64(fd, buf) __fxstat64 (_STAT_VER, fd, buf)
 #define lstat64(fname, buf)  __lxstat64 (_STAT_VER, fname, buf)
+#define stat64(fname, buf) __xstat64 (_STAT_VER, fname, buf)
+#ifndef NOT_IN_libc
+# define fstat64(fd, buf) INTUSE(__fxstat64) (_STAT_VER, fd, buf)
+# define fstat(fd, buf) INTUSE(__fxstat) (_STAT_VER, fd, buf)
+# define __fstat(fd, buf)  INTUSE(__fxstat) (_STAT_VER, fd, buf)
+
+# define __fxstat(ver, fd, buf) INTUSE(__fxstat) (ver, fd, buf)
+# define __fxstat64(ver, fd, buf) INTUSE(__fxstat64) (ver, fd, buf)
+#else
+# define fstat64(fd, buf) __fxstat64 (_STAT_VER, fd, buf)
+# define fstat(fd, buf) __fxstat (_STAT_VER, fd, buf)
+# define __fstat(fd, buf) __fxstat (_STAT_VER, fd, buf)
+#endif
 #endif