readlink and symlink prototypes [PATCH]
Shaun Jackman
sjackman@gmail.com
Wed Oct 26 22:33:00 GMT 2005
Since readlink and symlink are standard functions (SUSv3 and others) I
would like to see their prototypes provided by default.
As a general rule, could functions defined by SUSv3 be moved
outside the common #if defined(__CYGWIN__) || defined(__rtems__)
line? If so, I'll trickle in patches as I come across them.
Cheers,
Shaun
2005-10-26 Shaun Jackman <sjackman@gmail.com>
* libc/include/sys/unistd.h (readlink, symlink): Provide these
prototypes by default.
* libc/sys/linux/include/unistd.h (readlink): Remove this
prototype.
* libc/sys/linux/sys/unistd.h (readlink, symlink): New
prototypes.
diff -u -r1.55 unistd.h
--- libc/include/sys/unistd.h 23 Feb 2005 17:42:07 -0000 1.55
+++ libc/include/sys/unistd.h 26 Oct 2005 22:06:34 -0000
@@ -211,9 +211,9 @@
#else /* defined(__rtems__) */
int _EXFUN(sync, (void));
#endif
+#endif
int _EXFUN(readlink, (const char *__path, char *__buf, int __buflen));
int _EXFUN(symlink, (const char *__name1, const char *__name2));
-#endif
#define F_OK 0
#define R_OK 4
diff -u -r1.1 unistd.h
--- libc/sys/linux/include/unistd.h 9 Dec 2000 01:20:32 -0000 1.1
+++ libc/sys/linux/include/unistd.h 26 Oct 2005 22:06:35 -0000
@@ -15,6 +15,4 @@
extern int optind, opterr, optopt;
-int readlink(const char *path, char *buf, size_t bufsiz);
-
#endif
diff -u -r1.5 unistd.h
--- libc/sys/linux/sys/unistd.h 7 Dec 2004 18:54:28 -0000 1.5
+++ libc/sys/linux/sys/unistd.h 26 Oct 2005 22:06:35 -0000
@@ -72,6 +72,7 @@
ssize_t _EXFUN(pread, (int __fd, void *__buf, size_t __nbytes, off_t
__offset));
ssize_t _EXFUN(pwrite, (int __fd, const void *__buf, size_t __nbytes,
off_t __offset));
_READ_WRITE_RETURN_TYPE _EXFUN(read, (int __fd, void *__buf, size_t __nbyte ));
+int _EXFUN(readlink, (const char *path, char *buf, size_t bufsiz));
int _EXFUN(rmdir, (const char *__path ));
void * _EXFUN(sbrk, (ptrdiff_t __incr));
int _EXFUN(setegid, (gid_t __gid ));
@@ -83,6 +84,7 @@
int _EXFUN(setuid, (uid_t __uid ));
unsigned _EXFUN(sleep, (unsigned int __seconds ));
void _EXFUN(swab, (const void *, void *, ssize_t));
+int _EXFUN(symlink, (const char *oldpath, const char *newpath));
long _EXFUN(sysconf, (int __name ));
pid_t _EXFUN(tcgetpgrp, (int __fildes ));
int _EXFUN(tcsetpgrp, (int __fildes, pid_t __pgrp_id ));
More information about the Newlib
mailing list