This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

readlink and symlink prototypes [PATCH]


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 ));


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]