about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/powerpc/tcsetattr.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/powerpc/tcsetattr.c')
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/tcsetattr.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/tcsetattr.c b/sysdeps/unix/sysv/linux/powerpc/tcsetattr.c
index cfb8149ba1..c3d5b93334 100644
--- a/sysdeps/unix/sysv/linux/powerpc/tcsetattr.c
+++ b/sysdeps/unix/sysv/linux/powerpc/tcsetattr.c
@@ -1,4 +1,19 @@
-/* We must use __syscall_ioctl since __ioctl does some extra work.  */
-extern int __syscall_ioctl (int __fd, unsigned long int __request, ...);
-#define __ioctl __syscall_ioctl
+/* We must use the syscall directly since __ioctl does some extra work.  */
+
+#include <sys/ioctl.h>
+
+#include <sysdep.h>
+#include <bp-checks.h>
+
+struct __kernel_termios;
+
+static inline int
+tcsetattr_ioctl (int fd, unsigned long int request,
+		 const struct __kernel_termios *termios_p)
+{
+  return INLINE_SYSCALL (ioctl, 3, fd, request, CHECK_1 (termios_p));
+}
+
+#define __ioctl tcsetattr_ioctl
+
 #include <sysdeps/unix/sysv/linux/tcsetattr.c>