diff options
Diffstat (limited to 'sysdeps')
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); |