#endif
-#if @GNULIB_OPENAT@
+#if @GNULIB_FCHOWNAT@
# if @REPLACE_FCHOWNAT@
# undef fchownat
# define fchownat rpl_fchownat
# endif
# if !@HAVE_FCHOWNAT@ || @REPLACE_FCHOWNAT@
-int fchownat (int fd, char const *file, uid_t owner, gid_t group, int flag);
-# endif
-# if !@HAVE_UNLINKAT@
-int unlinkat (int fd, char const *file, int flag);
+extern int fchownat (int fd, char const *file, uid_t owner, gid_t group, int flag);
# endif
#elif defined GNULIB_POSIXCHECK
# undef fchownat
(GL_LINK_WARNING ("fchownat is not portable - " \
"use gnulib module openat for portability"), \
fchownat (d, n, o, g, f))
+#endif
+
+
+#if @GNULIB_UNLINKAT@
+# if !@HAVE_UNLINKAT@
+extern int unlinkat (int fd, char const *file, int flag);
+# endif
+#elif defined GNULIB_POSIXCHECK
# undef unlinkat
# define unlinkat(d,n,f) \
(GL_LINK_WARNING ("unlinkat is not portable - " \
"use gnulib module openat for portability"), \
unlinkat (d, n, f))
-#endif /* @GNULIB_OPENAT@ */
+#endif
#if @GNULIB_FACCESSAT@
# if !@HAVE_SYMLINKAT@
int symlinkat (char const *contents, int fd, char const *file);
# endif
-# if !@HAVE_READLINKAT@
-ssize_t readlinkat (int fd, char const *file, char *buf, size_t len);
-# endif
#elif defined GNULIB_POSIXCHECK
# undef symlinkat
# define symlinkat(c,d,n) \
(GL_LINK_WARNING ("symlinkat is not portable - " \
"use gnulib module symlinkat for portability"), \
symlinkat (c, d, n))
+#endif
+
+#if @GNULIB_READLINKAT@
+# if !@HAVE_READLINKAT@
+ssize_t readlinkat (int fd, char const *file, char *buf, size_t len);
+# endif
+#elif defined GNULIB_POSIXCHECK
# undef readlinkat
# define readlinkat(d,n,b,l) \
- (GL_LINK_WARNING ("faccessat is not portable - " \
+ (GL_LINK_WARNING ("readlinkat is not portable - " \
"use gnulib module symlinkat for portability"), \
readlinkat (d, n, b, l))
#endif
#if @GNULIB_LINK@
+# if @REPLACE_LINK@
+# define link rpl_link
+# endif
/* Create a new hard link for an existing file.
Return 0 if successful, otherwise -1 and errno set.
See POSIX:2001 specification
<http://www.opengroup.org/susv3xsh/link.html>. */
-# if !@HAVE_LINK@
+# if !@HAVE_LINK@ || @REPLACE_LINK@
extern int link (const char *path1, const char *path2);
# endif
#elif defined GNULIB_POSIXCHECK