From 22e7e51007f3a28ded43f6cb8f0ff59a7a691175 Mon Sep 17 00:00:00 2001 From: Trutz Behn Date: Sat, 14 Mar 2015 20:06:48 +0100 Subject: Use __typeof__ to in part avoid replicating function types --- include/unistd.h | 36 ++++++++++++------------------------ 1 file changed, 12 insertions(+), 24 deletions(-) (limited to 'include/unistd.h') diff --git a/include/unistd.h b/include/unistd.h index df6c676..318fcc5 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -21,8 +21,7 @@ extern "C" { #undef ttyname_r #undef write -extern size_t __confstr_orig(int, char *, size_t) - __asm__(__USER_LABEL_PREFIX__ "confstr"); +__typeof__(confstr) __confstr_orig __asm__(__USER_LABEL_PREFIX__ "confstr"); extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) size_t confstr(int name, char *buf, size_t len) { @@ -33,8 +32,7 @@ size_t confstr(int name, char *buf, size_t len) return __confstr_orig(name, buf, len); } -extern char *__getcwd_orig(char *, size_t) - __asm__(__USER_LABEL_PREFIX__ "getcwd"); +__typeof__(getcwd) __getcwd_orig __asm__(__USER_LABEL_PREFIX__ "getcwd"); extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) char *getcwd(char *buf, size_t len) { @@ -47,8 +45,7 @@ char *getcwd(char *buf, size_t len) #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) #undef getdomainname -extern int __getdomainname_orig(char *, size_t) - __asm__(__USER_LABEL_PREFIX__ "getdomainname"); +__typeof__(getdomainname) __getdomainname_orig __asm__(__USER_LABEL_PREFIX__ "getdomainname"); extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) int getdomainname(char *name, size_t len) { @@ -60,8 +57,7 @@ int getdomainname(char *name, size_t len) } #endif -extern int __getgroups_orig(int, gid_t *) - __asm__(__USER_LABEL_PREFIX__ "getgroups"); +__typeof__(getgroups) __getgroups_orig __asm__(__USER_LABEL_PREFIX__ "getgroups"); extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) int getgroups(int len, gid_t *set) { @@ -72,8 +68,7 @@ int getgroups(int len, gid_t *set) return __getgroups_orig(len, set); } -extern int __gethostname_orig(char *, size_t) - __asm__(__USER_LABEL_PREFIX__ "gethostname"); +__typeof__(gethostname) __gethostname_orig __asm__(__USER_LABEL_PREFIX__ "gethostname"); extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) int gethostname(char *name, size_t len) { @@ -84,8 +79,7 @@ int gethostname(char *name, size_t len) return __gethostname_orig(name, len); } -extern int __getlogin_r_orig(char *, size_t) - __asm__(__USER_LABEL_PREFIX__ "getlogin_r"); +__typeof__(getlogin_r) __getlogin_r_orig __asm__(__USER_LABEL_PREFIX__ "getlogin_r"); extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) int getlogin_r(char *name, size_t len) { @@ -96,8 +90,7 @@ int getlogin_r(char *name, size_t len) return __getlogin_r_orig(name, len); } -extern ssize_t __pread_orig(int, void *, size_t, off_t) - __asm__(__USER_LABEL_PREFIX__ "pread"); +__typeof__(pread) __pread_orig __asm__(__USER_LABEL_PREFIX__ "pread"); extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) ssize_t pread(int fd, void *buf, size_t n, off_t offset) { @@ -108,8 +101,7 @@ ssize_t pread(int fd, void *buf, size_t n, off_t offset) return __pread_orig(fd, buf, n, offset); } -extern ssize_t __read_orig(int, void *, size_t) - __asm__(__USER_LABEL_PREFIX__ "read"); +__typeof__(read) __read_orig __asm__(__USER_LABEL_PREFIX__ "read"); extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) ssize_t read(int fd, void *buf, size_t n) { @@ -120,8 +112,7 @@ ssize_t read(int fd, void *buf, size_t n) return __read_orig(fd, buf, n); } -extern ssize_t __readlink_orig(const char *, char *, size_t) - __asm__(__USER_LABEL_PREFIX__ "readlink"); +__typeof__(readlink) __readlink_orig __asm__(__USER_LABEL_PREFIX__ "readlink"); extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) ssize_t readlink(const char *path, char *buf, size_t n) { @@ -132,8 +123,7 @@ ssize_t readlink(const char *path, char *buf, size_t n) return __readlink_orig(path, buf, n); } -extern ssize_t __readlinkat_orig(int, const char *, char *, size_t) - __asm__(__USER_LABEL_PREFIX__ "readlinkat"); +__typeof__(readlinkat) __readlinkat_orig __asm__(__USER_LABEL_PREFIX__ "readlinkat"); extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) ssize_t readlinkat(int fd, const char *path, char *buf, size_t n) { @@ -144,8 +134,7 @@ ssize_t readlinkat(int fd, const char *path, char *buf, size_t n) return __readlinkat_orig(fd, path, buf, n); } -extern int __ttyname_r_orig(int, char *, size_t) - __asm__(__USER_LABEL_PREFIX__ "ttyname_r"); +__typeof__(ttyname_r) __ttyname_r_orig __asm__(__USER_LABEL_PREFIX__ "ttyname_r"); extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) int ttyname_r(int fd, char *name, size_t n) { @@ -156,8 +145,7 @@ int ttyname_r(int fd, char *name, size_t n) return __ttyname_r_orig(fd, name, n); } -extern ssize_t __write_orig(int, const void *, size_t) - __asm__(__USER_LABEL_PREFIX__ "write"); +__typeof__(write) __write_orig __asm__(__USER_LABEL_PREFIX__ "write"); extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) ssize_t write(int fd, const void *buf, size_t n) { -- cgit v1.3