openat: declare in POSIX headers
authorEric Blake <ebb9@byu.net>
Wed, 2 Sep 2009 23:14:26 +0000 (17:14 -0600)
committerEric Blake <ebb9@byu.net>
Fri, 4 Sep 2009 03:20:42 +0000 (21:20 -0600)
commit52c658e92436e7ef2d7c7b6f7ee69ae4431b6d7d
tree768b730735ced1d0d0230b4fefe7b4fcc1e26097
parent9de26050ef8a950fd62ebadeeab2eb7505631028
openat: declare in POSIX headers

* NEWS: Mention this.
* modules/openat (configure.ac): Declare witnesses.
(Depends-on): Add fcntl-h, sys_stat, unistd.
(Include): Mention correct headers.
* modules/fcntl-h (Depends-on): Add link-warning.
(Files): Add openat.m4.
(Makefile.am): Substitute witnesses.
* modules/sys_stat (Files, Makefile.am): Likewise.
* modules/unistd (Files, Makefile.am): Likewise.
* m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
(gl_OPENAT_DEFAULTS): New macro.
* m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
(SYS_STAT_H): Remove unused variable.
* doc/posix-headers/fcntl.texi (fcntl.h): Update content.
* lib/fcntl--.h (includes): Remove unneeded header.
* lib/openat-safer.c (includes): Likewise.
* lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
(openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
appropriate headers.
(__OPENAT_PREFIX): Delete.
* lib/fcntl.in.h (openat): Provide declaration.
(AT_FDCWD): Fix Solaris bug.
(AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
* lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
* lib/fchmodat.c (includes):  Adjust to find declaration.
* lib/fchownat.c (includes): Likewise.
* lib/mkdirat.c (includes): Likewise.
* lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
still visible.

Signed-off-by: Eric Blake <ebb9@byu.net>
21 files changed:
ChangeLog
NEWS
doc/posix-headers/fcntl.texi
lib/fchmodat.c
lib/fchownat.c
lib/fcntl--.h
lib/fcntl.in.h
lib/fstatat.c
lib/mkdirat.c
lib/openat-safer.c
lib/openat.h
lib/sys_stat.in.h
lib/unistd.in.h
m4/fcntl_h.m4
m4/openat.m4
m4/sys_stat_h.m4
m4/unistd_h.m4
modules/fcntl-h
modules/openat
modules/sys_stat
modules/unistd