* libc/include/stdio.h (renameat): Declare for Cygwin.
(symlinkat): Ditto. * libc/include/sys/unistd.h (readlink): Align declaration to POSIX. (faccessat): Declare for Cygwin. (fchownat): Ditto. (linkat): Ditto. (readlinkat): Ditto. * libc/include/sys/_default_fcntl.h (AT_FDCWD): Define for Cygwin. (AT_EACCESS): Ditto. (AT_SYMLINK_NOFOLLOW): Ditto. (AT_SYMLINK_FOLLOW): Ditto. (AT_REMOVEDIR): Ditto. (futimesat): Declare for Cygwin. (openat): Ditto. (unlinkat): Ditto. * libc/include/sys/stat.h (fchmodat): Ditto. (fstatat): Ditto. (mkdirat): Ditto. (mkfifoat): Ditto. (mknodat): Ditto.
This commit is contained in:
		| @@ -1,3 +1,26 @@ | |||||||
|  | 2008-04-23  Corinna Vinschen  <corinna@vinschen.de> | ||||||
|  |  | ||||||
|  | 	* libc/include/stdio.h (renameat): Declare for Cygwin. | ||||||
|  | 	(symlinkat): Ditto. | ||||||
|  | 	* libc/include/sys/unistd.h (readlink): Align declaration to POSIX. | ||||||
|  | 	(faccessat): Declare for Cygwin. | ||||||
|  | 	(fchownat): Ditto. | ||||||
|  | 	(linkat): Ditto. | ||||||
|  | 	(readlinkat): Ditto. | ||||||
|  | 	* libc/include/sys/_default_fcntl.h (AT_FDCWD): Define for Cygwin. | ||||||
|  | 	(AT_EACCESS): Ditto. | ||||||
|  | 	(AT_SYMLINK_NOFOLLOW): Ditto. | ||||||
|  | 	(AT_SYMLINK_FOLLOW): Ditto. | ||||||
|  | 	(AT_REMOVEDIR): Ditto. | ||||||
|  | 	(futimesat): Declare for Cygwin. | ||||||
|  | 	(openat): Ditto. | ||||||
|  | 	(unlinkat): Ditto. | ||||||
|  | 	* libc/include/sys/stat.h (fchmodat): Ditto. | ||||||
|  | 	(fstatat): Ditto. | ||||||
|  | 	(mkdirat): Ditto. | ||||||
|  | 	(mkfifoat): Ditto. | ||||||
|  | 	(mknodat): Ditto. | ||||||
|  |  | ||||||
| 2008-04-16  Patrick Mansfield  <patmans@us.ibm.com> | 2008-04-16  Patrick Mansfield  <patmans@us.ibm.com> | ||||||
|  |  | ||||||
| 	* libc/machine/spu/sys/errno.h: Use _impure_data, not _reent_data. | 	* libc/machine/spu/sys/errno.h: Use _impure_data, not _reent_data. | ||||||
|   | |||||||
| @@ -339,7 +339,10 @@ FILE *	_EXFUN(fmemopen, (void *, size_t, const char *)); | |||||||
| /* getdelim - see __getdelim for now */ | /* getdelim - see __getdelim for now */ | ||||||
| /* getline - see __getline for now */ | /* getline - see __getline for now */ | ||||||
| FILE *	_EXFUN(open_memstream, (char **, size_t *)); | FILE *	_EXFUN(open_memstream, (char **, size_t *)); | ||||||
| /* renameat - unimplemented for now */ | #if defined (__CYGWIN__) | ||||||
|  | int	_EXFUN(renameat, (int, const char *, int, const char *)); | ||||||
|  | int	_EXFUN(symlinkat, (const char *, int, const char *)); | ||||||
|  | #endif | ||||||
| int	_EXFUN(vdprintf, (int, const char *, __VALIST) | int	_EXFUN(vdprintf, (int, const char *, __VALIST) | ||||||
|                _ATTRIBUTE ((__format__ (__printf__, 2, 0)))); |                _ATTRIBUTE ((__format__ (__printf__, 2, 0)))); | ||||||
| # endif | # endif | ||||||
|   | |||||||
| @@ -131,6 +131,17 @@ extern "C" { | |||||||
| #define	F_UNLKSYS	4	/* remove remote locks for a given system */ | #define	F_UNLKSYS	4	/* remove remote locks for a given system */ | ||||||
| #endif	/* !_POSIX_SOURCE */ | #endif	/* !_POSIX_SOURCE */ | ||||||
|  |  | ||||||
|  | #ifdef __CYGWIN__ | ||||||
|  | /* Special descriptor value to denote the cwd in calls to openat(2) etc. */ | ||||||
|  | #define AT_FDCWD -2 | ||||||
|  |  | ||||||
|  | /* Flag values for faccessat2) et al. */ | ||||||
|  | #define AT_EACCESS              1 | ||||||
|  | #define AT_SYMLINK_NOFOLLOW     2 | ||||||
|  | #define AT_SYMLINK_FOLLOW       4 | ||||||
|  | #define AT_REMOVEDIR            8 | ||||||
|  | #endif | ||||||
|  |  | ||||||
| /*#include <sys/stdtypes.h>*/ | /*#include <sys/stdtypes.h>*/ | ||||||
|  |  | ||||||
| #ifndef __CYGWIN__ | #ifndef __CYGWIN__ | ||||||
| @@ -166,6 +177,11 @@ struct eflock { | |||||||
| extern int open _PARAMS ((const char *, int, ...)); | extern int open _PARAMS ((const char *, int, ...)); | ||||||
| extern int creat _PARAMS ((const char *, mode_t)); | extern int creat _PARAMS ((const char *, mode_t)); | ||||||
| extern int fcntl _PARAMS ((int, int, ...)); | extern int fcntl _PARAMS ((int, int, ...)); | ||||||
|  | #ifdef __CYGWIN__ | ||||||
|  | extern int futimesat _PARAMS ((int, const char *, const struct timeval *)); | ||||||
|  | extern int openat _PARAMS ((int, const char *, int, ...)); | ||||||
|  | extern int unlinkat _PARAMS ((int, const char *, int)); | ||||||
|  | #endif | ||||||
|  |  | ||||||
| /* Provide _<systemcall> prototypes for functions provided by some versions | /* Provide _<systemcall> prototypes for functions provided by some versions | ||||||
|    of newlib.  */ |    of newlib.  */ | ||||||
|   | |||||||
| @@ -129,6 +129,14 @@ int	_EXFUN(lstat,( const char *__path, struct stat *__buf )); | |||||||
| int	_EXFUN(mknod,( const char *__path, mode_t __mode, dev_t __dev )); | int	_EXFUN(mknod,( const char *__path, mode_t __mode, dev_t __dev )); | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | #if defined (__CYGWIN__) | ||||||
|  | int	_EXFUN(fchmodat, (int, const char *, mode_t, int)); | ||||||
|  | int	_EXFUN(fstatat, (int, const char *, struct __stat64 *, int)); | ||||||
|  | int	_EXFUN(mkdirat, (int, const char *, mode_t)); | ||||||
|  | int	_EXFUN(mkfifoat, (int, const char *, mode_t)); | ||||||
|  | int	_EXFUN(mknodat, (int, const char *, mode_t, dev_t)); | ||||||
|  | #endif | ||||||
|  |  | ||||||
| /* Provide prototypes for most of the _<systemcall> names that are | /* Provide prototypes for most of the _<systemcall> names that are | ||||||
|    provided in newlib for some compilers.  */ |    provided in newlib for some compilers.  */ | ||||||
| #ifdef _COMPILING_NEWLIB | #ifdef _COMPILING_NEWLIB | ||||||
|   | |||||||
| @@ -46,6 +46,9 @@ int     _EXFUN(execlp, (const char *__file, const char *, ... )); | |||||||
| int     _EXFUN(execv, (const char *__path, char * const __argv[] )); | int     _EXFUN(execv, (const char *__path, char * const __argv[] )); | ||||||
| int     _EXFUN(execve, (const char *__path, char * const __argv[], char * const __envp[] )); | int     _EXFUN(execve, (const char *__path, char * const __argv[], char * const __envp[] )); | ||||||
| int     _EXFUN(execvp, (const char *__file, char * const __argv[] )); | int     _EXFUN(execvp, (const char *__file, char * const __argv[] )); | ||||||
|  | #if defined(__CYGWIN__) | ||||||
|  | int	_EXFUN(faccessat, (int __dirfd, const char *__path, int __mode, int __flags)); | ||||||
|  | #endif | ||||||
| #if defined(__CYGWIN__) || defined(__rtems__) || defined(__SPU__) | #if defined(__CYGWIN__) || defined(__rtems__) || defined(__SPU__) | ||||||
| int     _EXFUN(fchdir, (int __fildes)); | int     _EXFUN(fchdir, (int __fildes)); | ||||||
| #endif | #endif | ||||||
| @@ -53,6 +56,9 @@ int     _EXFUN(fchmod, (int __fildes, mode_t __mode )); | |||||||
| #if !defined(__INSIDE_CYGWIN__) | #if !defined(__INSIDE_CYGWIN__) | ||||||
| int     _EXFUN(fchown, (int __fildes, uid_t __owner, gid_t __group )); | int     _EXFUN(fchown, (int __fildes, uid_t __owner, gid_t __group )); | ||||||
| #endif | #endif | ||||||
|  | #if defined(__CYGWIN__) | ||||||
|  | int	_EXFUN(fchownat, (int __dirfd, const char *__path, uid_t __owner, gid_t __group, int __flags)); | ||||||
|  | #endif | ||||||
| pid_t   _EXFUN(fork, (void )); | pid_t   _EXFUN(fork, (void )); | ||||||
| long    _EXFUN(fpathconf, (int __fd, int __name )); | long    _EXFUN(fpathconf, (int __fd, int __name )); | ||||||
| int     _EXFUN(fsync, (int __fd)); | int     _EXFUN(fsync, (int __fd)); | ||||||
| @@ -99,6 +105,9 @@ int     _EXFUN(isatty, (int __fildes )); | |||||||
| int     _EXFUN(lchown, (const char *__path, uid_t __owner, gid_t __group )); | int     _EXFUN(lchown, (const char *__path, uid_t __owner, gid_t __group )); | ||||||
| #endif | #endif | ||||||
| int     _EXFUN(link, (const char *__path1, const char *__path2 )); | int     _EXFUN(link, (const char *__path1, const char *__path2 )); | ||||||
|  | #if defined(__CYGWIN__) | ||||||
|  | int     _EXFUN(linkat, (int __dirfd1, const char *__path1, int __dirfd2, const char *__path2, int __flags )); | ||||||
|  | #endif | ||||||
| int	_EXFUN(nice, (int __nice_value )); | int	_EXFUN(nice, (int __nice_value )); | ||||||
| #if !defined(__INSIDE_CYGWIN__) | #if !defined(__INSIDE_CYGWIN__) | ||||||
| off_t   _EXFUN(lseek, (int __fildes, off_t __offset, int __whence )); | off_t   _EXFUN(lseek, (int __fildes, off_t __offset, int __whence )); | ||||||
| @@ -226,7 +235,10 @@ void    _EXFUN(sync, (void)); | |||||||
| int     _EXFUN(sync, (void)); | int     _EXFUN(sync, (void)); | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| int     _EXFUN(readlink, (const char *__path, char *__buf, int __buflen)); | ssize_t _EXFUN(readlink, (const char *__path, char *__buf, size_t __buflen)); | ||||||
|  | #if defined(__CYGWIN__) | ||||||
|  | ssize_t	_EXFUN(readlinkat, (int __dirfd1, const char *__path, char *__buf, size_t __buflen)); | ||||||
|  | #endif | ||||||
| int     _EXFUN(symlink, (const char *__name1, const char *__name2)); | int     _EXFUN(symlink, (const char *__name1, const char *__name2)); | ||||||
|  |  | ||||||
| #define	F_OK	0 | #define	F_OK	0 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user