summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux')
-rw-r--r--sysdeps/unix/sysv/linux/fxstat64.c1
-rw-r--r--sysdeps/unix/sysv/linux/i386/getmsg.c41
-rw-r--r--sysdeps/unix/sysv/linux/i386/getpmsg.c41
-rw-r--r--sysdeps/unix/sysv/linux/i386/putmsg.c42
-rw-r--r--sysdeps/unix/sysv/linux/i386/putpmsg.c42
-rw-r--r--sysdeps/unix/sysv/linux/lxstat64.c1
-rw-r--r--sysdeps/unix/sysv/linux/m68k/getmsg.c1
-rw-r--r--sysdeps/unix/sysv/linux/m68k/getpmsg.c1
-rw-r--r--sysdeps/unix/sysv/linux/m68k/putmsg.c1
-rw-r--r--sysdeps/unix/sysv/linux/m68k/putpmsg.c1
-rw-r--r--sysdeps/unix/sysv/linux/mips/getmsg.c1
-rw-r--r--sysdeps/unix/sysv/linux/mips/getpmsg.c1
-rw-r--r--sysdeps/unix/sysv/linux/mips/putmsg.c1
-rw-r--r--sysdeps/unix/sysv/linux/mips/putpmsg.c1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/getmsg.c1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/getpmsg.c1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/putmsg.c1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/putpmsg.c1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/syscalls.list2
-rw-r--r--sysdeps/unix/sysv/linux/xstat64.c5
20 files changed, 185 insertions, 2 deletions
diff --git a/sysdeps/unix/sysv/linux/fxstat64.c b/sysdeps/unix/sysv/linux/fxstat64.c
index b88a78c7a5..e2fce6d466 100644
--- a/sysdeps/unix/sysv/linux/fxstat64.c
+++ b/sysdeps/unix/sysv/linux/fxstat64.c
@@ -24,6 +24,7 @@
#include <sysdep.h>
#include <sys/syscall.h>
+#include "kernel-features.h"
#if __ASSUME_STAT64_SYSCALL == 0
# include <xstatconv.c>
diff --git a/sysdeps/unix/sysv/linux/i386/getmsg.c b/sysdeps/unix/sysv/linux/i386/getmsg.c
new file mode 100644
index 0000000000..6031a1b9cd
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/i386/getmsg.c
@@ -0,0 +1,41 @@
+/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include <errno.h>
+#include <stddef.h>
+#include <stropts.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+extern int __syscall_getpmsg (int fildes, struct strbuf *ctlptr,
+ struct strbuf *dataptr, int *bandp, int *flagsp);
+
+#ifdef __NR_getpmsg
+int
+getmsg (fildes, ctlptr, dataptr, flagsp)
+ int fildes;
+ struct strbuf *ctlptr;
+ struct strbuf *dataptr;
+ int *flagsp;
+{
+ return INLINE_SYSCALL (getpmsg, 5, fildes, ctlptr, dataptr, NULL, flagsp);
+}
+#else
+# include <sysdeps/generic/getmsg.c>
+#endif
diff --git a/sysdeps/unix/sysv/linux/i386/getpmsg.c b/sysdeps/unix/sysv/linux/i386/getpmsg.c
new file mode 100644
index 0000000000..2fa6d654fa
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/i386/getpmsg.c
@@ -0,0 +1,41 @@
+/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include <errno.h>
+#include <stropts.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+extern int __syscall_getpmsg (int fildes, struct strbuf *ctlptr,
+ struct strbuf *dataptr, int *bandp, int *flagsp);
+
+#ifdef __NR_getpmsg
+int
+getpmsg (fildes, ctlptr, dataptr, bandp, flagsp)
+ int fildes;
+ struct strbuf *ctlptr;
+ struct strbuf *dataptr;
+ int *bandp;
+ int *flagsp;
+{
+ return INLINE_SYSCALL (getpmsg, 5, fildes, ctlptr, dataptr, bandp, flagsp);
+}
+#else
+# include <sysdeps/generic/getpmsg.c>
+#endif
diff --git a/sysdeps/unix/sysv/linux/i386/putmsg.c b/sysdeps/unix/sysv/linux/i386/putmsg.c
new file mode 100644
index 0000000000..bdb98f8c38
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/i386/putmsg.c
@@ -0,0 +1,42 @@
+/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include <errno.h>
+#include <stddef.h>
+#include <stropts.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+extern int __syscall_putpmsg (int fildes, const struct strbuf *ctlptr,
+ const struct strbuf *dataptr, int band,
+ int flags);
+
+#ifdef __NR_putpmsg
+int
+putmsg (fildes, ctlptr, dataptr, flags)
+ int fildes;
+ const struct strbuf *ctlptr;
+ const struct strbuf *dataptr;
+ int flags;
+{
+ return INLINE_SYSCALL (putpmsg, 5, fildes, ctlptr, dataptr, -1, flags);
+}
+#else
+# include <sysdeps/generic/putmsg.c>
+#endif
diff --git a/sysdeps/unix/sysv/linux/i386/putpmsg.c b/sysdeps/unix/sysv/linux/i386/putpmsg.c
new file mode 100644
index 0000000000..02d4881a80
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/i386/putpmsg.c
@@ -0,0 +1,42 @@
+/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include <errno.h>
+#include <stropts.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+extern int __syscall_putpmsg (int fildes, const struct strbuf *ctlptr,
+ const struct strbuf *dataptr, int band,
+ int flags);
+
+#ifdef __NR_putpmsg
+int
+putpmsg (fildes, ctlptr, dataptr, band, flags)
+ int fildes;
+ const struct strbuf *ctlptr;
+ const struct strbuf *dataptr;
+ int band;
+ int flags;
+{
+ return INLINE_SYSCALL (putpmsg, 5, fildes, ctlptr, dataptr, band, flags);
+}
+#else
+# include <sysdeps/generic/putpmsg.c>
+#endif
diff --git a/sysdeps/unix/sysv/linux/lxstat64.c b/sysdeps/unix/sysv/linux/lxstat64.c
index 9db8fcf455..79a29fb894 100644
--- a/sysdeps/unix/sysv/linux/lxstat64.c
+++ b/sysdeps/unix/sysv/linux/lxstat64.c
@@ -24,6 +24,7 @@
#include <sysdep.h>
#include <sys/syscall.h>
+#include "kernel-features.h"
#if __ASSUME_STAT64_SYSCALL == 0
# include <xstatconv.c>
diff --git a/sysdeps/unix/sysv/linux/m68k/getmsg.c b/sysdeps/unix/sysv/linux/m68k/getmsg.c
new file mode 100644
index 0000000000..329cb805ec
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/m68k/getmsg.c
@@ -0,0 +1 @@
+include <sysdeps/unix/sysv/linux/i386/getmsg.c>
diff --git a/sysdeps/unix/sysv/linux/m68k/getpmsg.c b/sysdeps/unix/sysv/linux/m68k/getpmsg.c
new file mode 100644
index 0000000000..5b1b7559fe
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/m68k/getpmsg.c
@@ -0,0 +1 @@
+include <sysdeps/unix/sysv/linux/i386/getpmsg.c>
diff --git a/sysdeps/unix/sysv/linux/m68k/putmsg.c b/sysdeps/unix/sysv/linux/m68k/putmsg.c
new file mode 100644
index 0000000000..c744bf27f1
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/m68k/putmsg.c
@@ -0,0 +1 @@
+include <sysdeps/unix/sysv/linux/i386/putmsg.c>
diff --git a/sysdeps/unix/sysv/linux/m68k/putpmsg.c b/sysdeps/unix/sysv/linux/m68k/putpmsg.c
new file mode 100644
index 0000000000..8744136708
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/m68k/putpmsg.c
@@ -0,0 +1 @@
+include <sysdeps/unix/sysv/linux/i386/putpmsg.c>
diff --git a/sysdeps/unix/sysv/linux/mips/getmsg.c b/sysdeps/unix/sysv/linux/mips/getmsg.c
new file mode 100644
index 0000000000..329cb805ec
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/getmsg.c
@@ -0,0 +1 @@
+include <sysdeps/unix/sysv/linux/i386/getmsg.c>
diff --git a/sysdeps/unix/sysv/linux/mips/getpmsg.c b/sysdeps/unix/sysv/linux/mips/getpmsg.c
new file mode 100644
index 0000000000..5b1b7559fe
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/getpmsg.c
@@ -0,0 +1 @@
+include <sysdeps/unix/sysv/linux/i386/getpmsg.c>
diff --git a/sysdeps/unix/sysv/linux/mips/putmsg.c b/sysdeps/unix/sysv/linux/mips/putmsg.c
new file mode 100644
index 0000000000..c744bf27f1
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/putmsg.c
@@ -0,0 +1 @@
+include <sysdeps/unix/sysv/linux/i386/putmsg.c>
diff --git a/sysdeps/unix/sysv/linux/mips/putpmsg.c b/sysdeps/unix/sysv/linux/mips/putpmsg.c
new file mode 100644
index 0000000000..8744136708
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/putpmsg.c
@@ -0,0 +1 @@
+include <sysdeps/unix/sysv/linux/i386/putpmsg.c>
diff --git a/sysdeps/unix/sysv/linux/powerpc/getmsg.c b/sysdeps/unix/sysv/linux/powerpc/getmsg.c
new file mode 100644
index 0000000000..329cb805ec
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/getmsg.c
@@ -0,0 +1 @@
+include <sysdeps/unix/sysv/linux/i386/getmsg.c>
diff --git a/sysdeps/unix/sysv/linux/powerpc/getpmsg.c b/sysdeps/unix/sysv/linux/powerpc/getpmsg.c
new file mode 100644
index 0000000000..5b1b7559fe
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/getpmsg.c
@@ -0,0 +1 @@
+include <sysdeps/unix/sysv/linux/i386/getpmsg.c>
diff --git a/sysdeps/unix/sysv/linux/powerpc/putmsg.c b/sysdeps/unix/sysv/linux/powerpc/putmsg.c
new file mode 100644
index 0000000000..c744bf27f1
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/putmsg.c
@@ -0,0 +1 @@
+include <sysdeps/unix/sysv/linux/i386/putmsg.c>
diff --git a/sysdeps/unix/sysv/linux/powerpc/putpmsg.c b/sysdeps/unix/sysv/linux/powerpc/putpmsg.c
new file mode 100644
index 0000000000..8744136708
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/powerpc/putpmsg.c
@@ -0,0 +1 @@
+include <sysdeps/unix/sysv/linux/i386/putpmsg.c>
diff --git a/sysdeps/unix/sysv/linux/powerpc/syscalls.list b/sysdeps/unix/sysv/linux/powerpc/syscalls.list
index c207270a86..abe89ed616 100644
--- a/sysdeps/unix/sysv/linux/powerpc/syscalls.list
+++ b/sysdeps/unix/sysv/linux/powerpc/syscalls.list
@@ -14,6 +14,7 @@ rt_sigsuspend - rt_sigsuspend 2 __syscall_rt_sigsuspend
rt_sigtimedwait - rt_sigtimedwait 4 __syscall_rt_sigtimedwait
s_getcwd getcwd getcwd 2 __syscall_getcwd
s_getdents getdents getdents 3 __syscall_getdents
+s_getpmsg getpmsg getpmsg 5 __syscall_getpmsg
s_getpriority getpriority getpriority 2 __syscall_getpriority
s_getresgid getresgid getresgid 3 __syscall_getresgid
s_getresuid getresuid getresuid 3 __syscall_getresuid
@@ -21,6 +22,7 @@ s_getrlimit getrlimit getrlimit 2 __syscall_getrlimit
s_poll poll poll 3 __syscall_poll
s_pread64 pread64 pread 5 __syscall_pread
s_ptrace ptrace ptrace 4 __syscall_ptrace
+s_putpmsg putpmsg putpmsg 5 __syscall_putpmsg
s_pwrite64 pwrite64 pwrite 5 __syscall_pwrite
s_reboot reboot reboot 3 __syscall_reboot
s_setrlimit setrlimit setrlimit 3 __syscall_setrlimit
diff --git a/sysdeps/unix/sysv/linux/xstat64.c b/sysdeps/unix/sysv/linux/xstat64.c
index 07b7f208e4..b2a83e6530 100644
--- a/sysdeps/unix/sysv/linux/xstat64.c
+++ b/sysdeps/unix/sysv/linux/xstat64.c
@@ -1,5 +1,5 @@
/* xstat64 using old-style Unix stat system call.
- Copyright (C) 1991, 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1991, 95, 96, 97, 98, 99 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -24,6 +24,7 @@
#include <sysdep.h>
#include <sys/syscall.h>
+#include "kernel-features.h"
#if __ASSUME_STAT64_SYSCALL == 0
# include <xstatconv.c>
@@ -63,7 +64,7 @@ __xstat64 (int vers, const char *name, struct stat64 *buf)
have_no_stat64 = 1;
}
# endif
-
+
result = INLINE_SYSCALL (stat, 2, name, &kbuf);
if (result == 0)
result = xstat64_conv (vers, &kbuf, buf);