syscall() declaration belongs in unistd.h, not sys/syscall.h
authorRich Felker <dalias@aerifal.cx>
Mon, 10 Dec 2012 21:40:45 +0000 (16:40 -0500)
committerRich Felker <dalias@aerifal.cx>
Mon, 10 Dec 2012 21:40:45 +0000 (16:40 -0500)
traditionally, both BSD and GNU systems have it this way.
sys/syscall.h is purely syscall number macros. presently glibc exposes
the syscall declaration in unistd.h only with _GNU_SOURCE, but that
does not reflect historical practice.

include/sys/syscall.h
include/unistd.h

index af3ca466ff63d14be3c6219379aee64649a2a001..24987ddf25bc90995dceeb345d18dc8b4b8f0bbc 100644 (file)
@@ -1,16 +1,6 @@
 #ifndef _SYS_SYSCALL_H
 #define _SYS_SYSCALL_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <features.h>
-
-long syscall(long, ...);
 
 #include <bits/syscall.h>
 
-#ifdef __cplusplus
-}
-#endif
 #endif
index 64a6b4615ed9b498a010fe2f560334b90f5372d4..89015ad60b36453d5f24e3f299db8d9fb3a81a79 100644 (file)
@@ -175,6 +175,7 @@ void setusershell(void);
 void endusershell(void);
 char *getusershell(void);
 int acct(const char *);
+long syscall(long, ...);
 #endif
 
 #ifdef _GNU_SOURCE