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/Dist4
-rw-r--r--sysdeps/unix/sysv/linux/Makefile4
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/fcntl.h (renamed from sysdeps/unix/sysv/linux/alpha/fcntlbits.h)8
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/ioctls.h (renamed from sysdeps/unix/sysv/linux/sparc/ioctls.h)12
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/ipc.h (renamed from sysdeps/unix/sysv/linux/alpha/sys/ipc_buf.h)0
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/sigaction.h (renamed from sysdeps/unix/sysv/linux/alpha/sigaction.h)0
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/signum.h (renamed from sysdeps/unix/sysv/linux/alpha/signum.h)0
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/stat.h (renamed from sysdeps/unix/sysv/linux/alpha/statbuf.h)10
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/termios.h (renamed from sysdeps/unix/sysv/linux/alpha/termbits.h)0
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/time.h (renamed from sysdeps/unix/sysv/linux/alpha/timebits.h)12
-rw-r--r--sysdeps/unix/sysv/linux/alpha/bits/types.h (renamed from sysdeps/unix/sysv/linux/alpha/gnu/types.h)33
-rw-r--r--sysdeps/unix/sysv/linux/alpha/brk.S2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/clone.S2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/kernel_termios.h (renamed from sysdeps/unix/sysv/linux/powerpc/sys/kernel_termios.h)15
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sys/kernel_termios.h25
-rw-r--r--sysdeps/unix/sysv/linux/arm/clone.S2
-rw-r--r--sysdeps/unix/sysv/linux/arm/profil-counter.h2
-rw-r--r--sysdeps/unix/sysv/linux/arm/socket.S2
-rw-r--r--sysdeps/unix/sysv/linux/bits/dirent.h (renamed from sysdeps/unix/sysv/linux/direntry.h)0
-rw-r--r--sysdeps/unix/sysv/linux/bits/errno.h (renamed from sysdeps/unix/sysv/linux/errnos.h)0
-rw-r--r--sysdeps/unix/sysv/linux/bits/fcntl.h (renamed from sysdeps/unix/sysv/linux/fcntlbits.h)8
-rw-r--r--sysdeps/unix/sysv/linux/bits/ioctl-types.h (renamed from sysdeps/unix/sysv/linux/ioctl-types.h)10
-rw-r--r--sysdeps/unix/sysv/linux/bits/ioctls.h (renamed from sysdeps/unix/sysv/linux/ioctls.h)10
-rw-r--r--sysdeps/unix/sysv/linux/bits/ipc.h (renamed from sysdeps/unix/sysv/linux/sys/ipc_buf.h)0
-rw-r--r--sysdeps/unix/sysv/linux/bits/local_lim.h (renamed from sysdeps/unix/sysv/linux/local_lim.h)0
-rw-r--r--sysdeps/unix/sysv/linux/bits/msq.h (renamed from sysdeps/unix/sysv/linux/sys/msq_buf.h)0
-rw-r--r--sysdeps/unix/sysv/linux/bits/posix_opt.h (renamed from sysdeps/unix/sysv/linux/posix_opt.h)10
-rw-r--r--sysdeps/unix/sysv/linux/bits/resource.h (renamed from sysdeps/unix/sysv/linux/resourcebits.h)0
-rw-r--r--sysdeps/unix/sysv/linux/bits/sched.h (renamed from sysdeps/unix/sysv/linux/schedbits.h)9
-rw-r--r--sysdeps/unix/sysv/linux/bits/sem.h (renamed from sysdeps/unix/sysv/linux/sys/sem_buf.h)0
-rw-r--r--sysdeps/unix/sysv/linux/bits/shm.h (renamed from sysdeps/unix/sysv/linux/sys/shm_buf.h)0
-rw-r--r--sysdeps/unix/sysv/linux/bits/sigaction.h (renamed from sysdeps/unix/sysv/linux/sigaction.h)0
-rw-r--r--sysdeps/unix/sysv/linux/bits/sigcontext.h (renamed from sysdeps/unix/sysv/linux/sigcontext.h)9
-rw-r--r--sysdeps/unix/sysv/linux/bits/signum.h (renamed from sysdeps/unix/sysv/linux/signum.h)0
-rw-r--r--sysdeps/unix/sysv/linux/bits/sigset.h (renamed from sysdeps/unix/sysv/linux/sigset.h)0
-rw-r--r--sysdeps/unix/sysv/linux/bits/socket.h (renamed from sysdeps/unix/sysv/linux/socketbits.h)10
-rw-r--r--sysdeps/unix/sysv/linux/bits/stat.h (renamed from sysdeps/unix/sysv/linux/statbuf.h)10
-rw-r--r--sysdeps/unix/sysv/linux/bits/statfs.h (renamed from sysdeps/unix/sysv/linux/statfsbuf.h)12
-rw-r--r--sysdeps/unix/sysv/linux/bits/termios.h (renamed from sysdeps/unix/sysv/linux/termbits.h)11
-rw-r--r--sysdeps/unix/sysv/linux/bits/time.h (renamed from sysdeps/unix/sysv/linux/timebits.h)10
-rw-r--r--sysdeps/unix/sysv/linux/bits/types.h (renamed from sysdeps/unix/sysv/linux/gnu/types.h)20
-rw-r--r--sysdeps/unix/sysv/linux/bits/uio.h (renamed from sysdeps/unix/sysv/linux/iovec.h)7
-rw-r--r--sysdeps/unix/sysv/linux/bits/ustat.h (renamed from sysdeps/unix/sysv/linux/ustatbits.h)0
-rw-r--r--sysdeps/unix/sysv/linux/bits/utsname.h (renamed from sysdeps/unix/sysv/linux/utsnamelen.h)0
-rw-r--r--sysdeps/unix/sysv/linux/bits/waitflags.h (renamed from sysdeps/unix/sysv/linux/waitflags.h)9
-rw-r--r--sysdeps/unix/sysv/linux/i386/clone.S2
-rw-r--r--sysdeps/unix/sysv/linux/i386/profil-counter.h2
-rw-r--r--sysdeps/unix/sysv/linux/i386/socket.S2
-rw-r--r--sysdeps/unix/sysv/linux/kernel_termios.h38
-rw-r--r--sysdeps/unix/sysv/linux/m68k/clone.S2
-rw-r--r--sysdeps/unix/sysv/linux/m68k/socket.S2
-rw-r--r--sysdeps/unix/sysv/linux/netinet/ip.h4
-rw-r--r--sysdeps/unix/sysv/linux/netinet/tcp.h2
-rw-r--r--sysdeps/unix/sysv/linux/netipx/ipx.h90
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/bits/ioctl-types.h (renamed from sysdeps/unix/sysv/linux/powerpc/ioctl-types.h)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/bits/termios.h (renamed from sysdeps/unix/sysv/linux/powerpc/termbits.h)0
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/clone.S2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/kernel_termios.h26
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/socket.S2
-rw-r--r--sysdeps/unix/sysv/linux/socketcall.h (renamed from sysdeps/unix/sysv/linux/sys/socketcall.h)0
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (renamed from sysdeps/unix/sysv/linux/sparc/fcntlbits.h)0
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/ioctls.h (renamed from sysdeps/unix/sysv/linux/alpha/ioctls.h)12
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/sigaction.h (renamed from sysdeps/unix/sysv/linux/sparc/sigaction.h)0
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/signum.h (renamed from sysdeps/unix/sysv/linux/sparc/signum.h)0
-rw-r--r--sysdeps/unix/sysv/linux/sparc/bits/termios.h (renamed from sysdeps/unix/sysv/linux/sparc/termbits.h)0
-rw-r--r--sysdeps/unix/sysv/linux/sparc/profil-counter.h2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/socket.S2
-rw-r--r--sysdeps/unix/sysv/linux/sys/kernel_termios.h20
-rw-r--r--sysdeps/unix/sysv/linux/sys/mman.h2
-rw-r--r--sysdeps/unix/sysv/linux/sys/syscall.h4
-rw-r--r--sysdeps/unix/sysv/linux/tcgetattr.c2
-rw-r--r--sysdeps/unix/sysv/linux/tcsetattr.c2
72 files changed, 325 insertions, 173 deletions
diff --git a/sysdeps/unix/sysv/linux/Dist b/sysdeps/unix/sysv/linux/Dist
index ae79600717..53700850b9 100644
--- a/sysdeps/unix/sysv/linux/Dist
+++ b/sysdeps/unix/sysv/linux/Dist
@@ -2,8 +2,10 @@ cmsg_nxthdr.c
init-first.h
kernel_sigaction.h
kernel_stat.h
+kernel_termios.h
llseek.c
siglist.h
+socketcall.h
sysctl.c
termio.h
net/ethernet.h
@@ -30,14 +32,12 @@ sys/debugreg.h
sys/io.h
sys/kd.h
sys/kdaemon.h
-sys/kernel_termios.h
sys/klog.h
sys/module.h
sys/mount.h
sys/mtio.h
sys/procfs.h
sys/quota.h
-sys/socketcall.h
sys/socketvar.h
sys/soundcard.h
sys/sysctl.h
diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile
index 7255a69ece..42f64638ca 100644
--- a/sysdeps/unix/sysv/linux/Makefile
+++ b/sysdeps/unix/sysv/linux/Makefile
@@ -36,7 +36,7 @@ sysdep_headers += sys/timex.h
endif
ifeq ($(subdir),socket)
-sysdep_headers += sys/socketcall.h net/if.h net/if_ppp.h net/ppp-comp.h \
+sysdep_headers += net/if.h net/if_ppp.h net/ppp-comp.h \
net/ppp_defs.h net/if_arp.h net/route.h net/ethernet.h \
net/if_slip.h
sysdep_routines += cmsg_nxthdr
@@ -47,7 +47,7 @@ sysdep_headers += nfs/nfs.h
endif
ifeq ($(subdir),termios)
-sysdep_headers += termio.h sys/kernel_termios.h
+sysdep_headers += termio.h
endif
ifeq ($(subdir),stdio-common)
diff --git a/sysdeps/unix/sysv/linux/alpha/fcntlbits.h b/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
index 6e1c843ccb..b70502f21a 100644
--- a/sysdeps/unix/sysv/linux/alpha/fcntlbits.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/fcntl.h
@@ -17,8 +17,10 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _FCNTLBITS_H
-#define _FCNTLBITS_H 1
+#ifndef _FCNTL_H
+#error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
+#endif
+
#include <sys/types.h>
@@ -96,5 +98,3 @@ struct flock
#define FNONBLOCK O_NONBLOCK
#define FNDELAY O_NDELAY
#endif /* Use BSD. */
-
-#endif /* fcntlbits.h */
diff --git a/sysdeps/unix/sysv/linux/sparc/ioctls.h b/sysdeps/unix/sysv/linux/alpha/bits/ioctls.h
index 80b2e62e77..8a14f99f43 100644
--- a/sysdeps/unix/sysv/linux/sparc/ioctls.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/ioctls.h
@@ -16,12 +16,16 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _IOCTLS_H
-#define _IOCTLS_H 1
+/*
+ * Never include this file directly; use <sys/ioctl.h> instead.
+ */
+
+#ifndef _BITS_IOCTLS_H
+#define _BITS_IOCTLS_H 1
/* Use the definitions from the kernel header files. */
#include <asm/ioctls.h>
-#include <sys/kernel_termios.h>
+#include <kernel_termios.h>
/* Oh well, this is necessary since the kernel data structure is
different from the user-level version. */
@@ -36,4 +40,4 @@
#include <linux/sockios.h>
-#endif /* ioctls.h */
+#endif /* bits/ioctls.h */
diff --git a/sysdeps/unix/sysv/linux/alpha/sys/ipc_buf.h b/sysdeps/unix/sysv/linux/alpha/bits/ipc.h
index 57830daae1..57830daae1 100644
--- a/sysdeps/unix/sysv/linux/alpha/sys/ipc_buf.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/ipc.h
diff --git a/sysdeps/unix/sysv/linux/alpha/sigaction.h b/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h
index 57ce5e6ded..57ce5e6ded 100644
--- a/sysdeps/unix/sysv/linux/alpha/sigaction.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h
diff --git a/sysdeps/unix/sysv/linux/alpha/signum.h b/sysdeps/unix/sysv/linux/alpha/bits/signum.h
index be6132d42f..be6132d42f 100644
--- a/sysdeps/unix/sysv/linux/alpha/signum.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/signum.h
diff --git a/sysdeps/unix/sysv/linux/alpha/statbuf.h b/sysdeps/unix/sysv/linux/alpha/bits/stat.h
index 207fa0ca1c..768b8192ff 100644
--- a/sysdeps/unix/sysv/linux/alpha/statbuf.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/stat.h
@@ -16,8 +16,12 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _STATBUF_H
-#define _STATBUF_H 1
+/*
+ * Never include this file directly; use <sys/stat.h> instead.
+ */
+
+#ifndef _BITS_STAT_H
+#define _BITS_STAT_H 1
/* Versions of the `struct stat' data structure. */
#define _STAT_VER_LINUX_OLD 0
@@ -71,4 +75,4 @@ struct stat
#define __S_IWRITE 0200 /* Write by owner. */
#define __S_IEXEC 0100 /* Execute by owner. */
-#endif /* statbuf.h */
+#endif /* bits/stat.h */
diff --git a/sysdeps/unix/sysv/linux/alpha/termbits.h b/sysdeps/unix/sysv/linux/alpha/bits/termios.h
index d0932c1cd7..d0932c1cd7 100644
--- a/sysdeps/unix/sysv/linux/alpha/termbits.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/termios.h
diff --git a/sysdeps/unix/sysv/linux/alpha/timebits.h b/sysdeps/unix/sysv/linux/alpha/bits/time.h
index 1ad0df8c5b..7475b68f5b 100644
--- a/sysdeps/unix/sysv/linux/alpha/timebits.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/time.h
@@ -1,5 +1,5 @@
/* System-dependent timing definitions. Linux/Alpha version.
- Copyright (C) 1996 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997 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
@@ -17,6 +17,10 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
+/*
+ * Never include this file directly; use <time.h> instead.
+ */
+
#ifdef __need_timeval
# undef __need_timeval
# ifndef _STRUCT_TIMEVAL
@@ -32,8 +36,8 @@ struct timeval
#endif /* need timeval */
-#ifndef _TIMEBITS_H
-# define _TIMEBITS_H 1
+#ifndef _BITS_TIME_H
+#define _BITS_TIME_H 1
/* ISO/IEC 9899:1990 7.12.1: <time.h>
The macro `CLOCKS_PER_SEC' is the number per second of the value
@@ -47,4 +51,4 @@ struct timeval
presents the real value for clock ticks per second for the system. */
# define CLK_TCK 1024
-#endif /* timebits.h */
+#endif /* bits/time.h */
diff --git a/sysdeps/unix/sysv/linux/alpha/gnu/types.h b/sysdeps/unix/sysv/linux/alpha/bits/types.h
index 2af77f70cf..9a4666a508 100644
--- a/sysdeps/unix/sysv/linux/alpha/gnu/types.h
+++ b/sysdeps/unix/sysv/linux/alpha/bits/types.h
@@ -16,8 +16,12 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _GNU_TYPES_H
-#define _GNU_TYPES_H 1
+/*
+ * Never include this file directly; use <sys/types.h> instead.
+ */
+
+#ifndef _BITS_TYPES_H
+#define _BITS_TYPES_H 1
#include <features.h>
@@ -26,19 +30,16 @@ typedef unsigned char __u_char;
typedef unsigned short __u_short;
typedef unsigned int __u_int;
typedef unsigned long __u_long;
-#ifdef __GNUC__
-typedef unsigned long long int __u_quad_t;
-typedef long long int __quad_t;
-#else
-typedef struct
- {
- long int __val[2];
- } __quad_t;
-typedef struct
- {
- __u_long __val[2];
- } __u_quad_t;
-#endif
+typedef unsigned long int __u_quad_t;
+typedef long int __quad_t;
+typedef signed char __int8_t;
+typedef unsigned char __uint8_t;
+typedef signed short int __int16_t;
+typedef unsigned short int __uint16_t;
+typedef signed int __int32_t;
+typedef unsigned int __uint32_t;
+typedef signed long int __int64_t;
+typedef unsigned long int __uint64_t;
typedef __quad_t *__qaddr_t;
typedef __u_long __dev_t; /* Type of device numbers. */
@@ -91,4 +92,4 @@ typedef struct
typedef int __key_t;
-#endif /* gnu/types.h */
+#endif /* bits/types.h */
diff --git a/sysdeps/unix/sysv/linux/alpha/brk.S b/sysdeps/unix/sysv/linux/alpha/brk.S
index be0539b475..6f994937d3 100644
--- a/sysdeps/unix/sysv/linux/alpha/brk.S
+++ b/sysdeps/unix/sysv/linux/alpha/brk.S
@@ -23,7 +23,7 @@
#include <sysdep.h>
#define _ERRNO_H
-#include <errnos.h>
+#include <bits/errno.h>
#ifdef PIC
.section .bss
diff --git a/sysdeps/unix/sysv/linux/alpha/clone.S b/sysdeps/unix/sysv/linux/alpha/clone.S
index aab4e590a5..3f097fe068 100644
--- a/sysdeps/unix/sysv/linux/alpha/clone.S
+++ b/sysdeps/unix/sysv/linux/alpha/clone.S
@@ -22,7 +22,7 @@
#include <sysdep.h>
#define _ERRNO_H 1
-#include <errnos.h>
+#include <bits/errno.h>
/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg) */
diff --git a/sysdeps/unix/sysv/linux/powerpc/sys/kernel_termios.h b/sysdeps/unix/sysv/linux/alpha/kernel_termios.h
index c5e9e2684a..093ac25096 100644
--- a/sysdeps/unix/sysv/linux/powerpc/sys/kernel_termios.h
+++ b/sysdeps/unix/sysv/linux/alpha/kernel_termios.h
@@ -16,12 +16,13 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _SYS_KERNEL_TERMIOS_H
-#define _SYS_KERNEL_TERMIOS_H 1
-/* The following corresponds to the values from the Linux 2.0.28 kernel. */
+#ifndef _KERNEL_TERMIOS_H
+#define _KERNEL_TERMIOS_H 1
+
+/* The following corresponds to the values from the Linux 2.1.20 kernel. */
/* We need the definition of tcflag_t, cc_t, and speed_t. */
-#include <termbits.h>
+#include <bits/termios.h>
#define __KERNEL_NCCS 19
@@ -33,11 +34,11 @@ struct __kernel_termios
tcflag_t c_lflag; /* local mode flags */
cc_t c_cc[__KERNEL_NCCS]; /* control characters */
cc_t c_line; /* line discipline */
- int c_ispeed; /* input speed */
- int c_ospeed; /* output speed */
+ speed_t c_ispeed; /* input speed */
+ speed_t c_ospeed; /* output speed */
};
#define _HAVE_C_ISPEED 1
#define _HAVE_C_OSPEED 1
-#endif /* sys/kernel_termios.h */
+#endif /* kernel_termios.h */
diff --git a/sysdeps/unix/sysv/linux/alpha/sys/kernel_termios.h b/sysdeps/unix/sysv/linux/alpha/sys/kernel_termios.h
deleted file mode 100644
index 4be759a51f..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/sys/kernel_termios.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef _SYS_KERNEL_TERMIOS_H
-#define _SYS_KERNEL_TERMIOS_H 1
-/* The following corresponds to the values from the Linux 2.1.20 kernel. */
-
-/* We need the definition of tcflag_t, cc_t, and speed_t. */
-#include <termbits.h>
-
-#define __KERNEL_NCCS 19
-
-struct __kernel_termios
- {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_cc[__KERNEL_NCCS]; /* control characters */
- cc_t c_line; /* line discipline */
- speed_t c_ispeed; /* input speed */
- speed_t c_ospeed; /* output speed */
- };
-
-#define _HAVE_C_ISPEED 1
-#define _HAVE_C_OSPEED 1
-
-#endif /* sys/kernel_termios.h */
diff --git a/sysdeps/unix/sysv/linux/arm/clone.S b/sysdeps/unix/sysv/linux/arm/clone.S
index c7e7aed9c8..8125ebff20 100644
--- a/sysdeps/unix/sysv/linux/arm/clone.S
+++ b/sysdeps/unix/sysv/linux/arm/clone.S
@@ -21,7 +21,7 @@
#include <sysdep.h>
#define _ERRNO_H 1
-#include <errnos.h>
+#include <bits/errno.h>
/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg); */
diff --git a/sysdeps/unix/sysv/linux/arm/profil-counter.h b/sysdeps/unix/sysv/linux/arm/profil-counter.h
index a915da7788..802cbd5d63 100644
--- a/sysdeps/unix/sysv/linux/arm/profil-counter.h
+++ b/sysdeps/unix/sysv/linux/arm/profil-counter.h
@@ -17,7 +17,7 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#include <sigcontext.h>
+#include <signal.h>
void
profil_counter (int signo, struct sigcontext sc)
diff --git a/sysdeps/unix/sysv/linux/arm/socket.S b/sysdeps/unix/sysv/linux/arm/socket.S
index e8db072971..4d877e51d5 100644
--- a/sysdeps/unix/sysv/linux/arm/socket.S
+++ b/sysdeps/unix/sysv/linux/arm/socket.S
@@ -17,7 +17,7 @@
Boston, MA 02111-1307, USA. */
#include <sysdep.h>
-#include <sys/socketcall.h>
+#include <socketcall.h>
#define P(a, b) P2(a, b)
#define P2(a, b) a##b
diff --git a/sysdeps/unix/sysv/linux/direntry.h b/sysdeps/unix/sysv/linux/bits/dirent.h
index ccf5080151..ccf5080151 100644
--- a/sysdeps/unix/sysv/linux/direntry.h
+++ b/sysdeps/unix/sysv/linux/bits/dirent.h
diff --git a/sysdeps/unix/sysv/linux/errnos.h b/sysdeps/unix/sysv/linux/bits/errno.h
index f676d35e49..f676d35e49 100644
--- a/sysdeps/unix/sysv/linux/errnos.h
+++ b/sysdeps/unix/sysv/linux/bits/errno.h
diff --git a/sysdeps/unix/sysv/linux/fcntlbits.h b/sysdeps/unix/sysv/linux/bits/fcntl.h
index f6ba880459..62c3052d8c 100644
--- a/sysdeps/unix/sysv/linux/fcntlbits.h
+++ b/sysdeps/unix/sysv/linux/bits/fcntl.h
@@ -17,8 +17,10 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _FCNTLBITS_H
-#define _FCNTLBITS_H 1
+#ifndef _FCNTL_H
+#error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
+#endif
+
#include <sys/types.h>
@@ -95,5 +97,3 @@ struct flock
#define FNONBLOCK O_NONBLOCK
#define FNDELAY O_NDELAY
#endif /* Use BSD. */
-
-#endif /* fcntlbits.h */
diff --git a/sysdeps/unix/sysv/linux/ioctl-types.h b/sysdeps/unix/sysv/linux/bits/ioctl-types.h
index 91fcc2653b..af988a3c9d 100644
--- a/sysdeps/unix/sysv/linux/ioctl-types.h
+++ b/sysdeps/unix/sysv/linux/bits/ioctl-types.h
@@ -17,8 +17,12 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _IOCTL_TYPES_H
-#define _IOCTL_TYPES_H 1
+/*
+ * Never include this file directly; use <sys/ioctl.h> instead.
+ */
+
+#ifndef _BITS_IOCTL_TYPES_H
+#define _BITS_IOCTL_TYPES_H 1
/* Get definition of constants for use with `ioctl'. */
#include <asm/ioctls.h>
@@ -67,4 +71,4 @@ struct termio
#define N_AX25 5
-#endif /* ioctl-types.h */
+#endif /* bits/ioctl-types.h */
diff --git a/sysdeps/unix/sysv/linux/ioctls.h b/sysdeps/unix/sysv/linux/bits/ioctls.h
index 8b5326998a..265c857f92 100644
--- a/sysdeps/unix/sysv/linux/ioctls.h
+++ b/sysdeps/unix/sysv/linux/bits/ioctls.h
@@ -16,11 +16,15 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _IOCTLS_H
-#define _IOCTLS_H 1
+/*
+ * Never include this file directly; use <sys/ioctl.h> instead.
+ */
+
+#ifndef _BITS_IOCTLS_H
+#define _BITS_IOCTLS_H 1
/* Use the definitions from the kernel header files. */
#include <asm/ioctls.h>
#include <linux/sockios.h>
-#endif /* ioctls.h */
+#endif /* bits/ioctls.h */
diff --git a/sysdeps/unix/sysv/linux/sys/ipc_buf.h b/sysdeps/unix/sysv/linux/bits/ipc.h
index f5fea0d295..f5fea0d295 100644
--- a/sysdeps/unix/sysv/linux/sys/ipc_buf.h
+++ b/sysdeps/unix/sysv/linux/bits/ipc.h
diff --git a/sysdeps/unix/sysv/linux/local_lim.h b/sysdeps/unix/sysv/linux/bits/local_lim.h
index 7ce423061a..7ce423061a 100644
--- a/sysdeps/unix/sysv/linux/local_lim.h
+++ b/sysdeps/unix/sysv/linux/bits/local_lim.h
diff --git a/sysdeps/unix/sysv/linux/sys/msq_buf.h b/sysdeps/unix/sysv/linux/bits/msq.h
index 0abc10f6e5..0abc10f6e5 100644
--- a/sysdeps/unix/sysv/linux/sys/msq_buf.h
+++ b/sysdeps/unix/sysv/linux/bits/msq.h
diff --git a/sysdeps/unix/sysv/linux/posix_opt.h b/sysdeps/unix/sysv/linux/bits/posix_opt.h
index a467acfb48..e9f8b7f8f3 100644
--- a/sysdeps/unix/sysv/linux/posix_opt.h
+++ b/sysdeps/unix/sysv/linux/bits/posix_opt.h
@@ -17,8 +17,12 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _POSIX_OPT_H
-#define _POSIX_OPT_H 1
+/*
+ * Never include this file directly; use <unistd.h> instead.
+ */
+
+#ifndef _BITS_POSIX_OPT_H
+#define _BITS_POSIX_OPT_H 1
/* Job control is supported. */
#define _POSIX_JOB_CONTROL 1
@@ -66,4 +70,4 @@
/* XPG4.2 shared memory is supported. */
#define _XOPEN_SHM 1
-#endif /* posix_opt.h */
+#endif /* bits/posix_opt.h */
diff --git a/sysdeps/unix/sysv/linux/resourcebits.h b/sysdeps/unix/sysv/linux/bits/resource.h
index 05cae83244..05cae83244 100644
--- a/sysdeps/unix/sysv/linux/resourcebits.h
+++ b/sysdeps/unix/sysv/linux/bits/resource.h
diff --git a/sysdeps/unix/sysv/linux/schedbits.h b/sysdeps/unix/sysv/linux/bits/sched.h
index fccb5d834f..521bbb7177 100644
--- a/sysdeps/unix/sysv/linux/schedbits.h
+++ b/sysdeps/unix/sysv/linux/bits/sched.h
@@ -18,9 +18,11 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _SCHEDBITS_H
+#ifndef _SCHED_H
+#error "Never use <bits/sched.h> directly; include <sched.h> instead."
+#endif
+
-#define _SCHEDBITS_H 1
#include <features.h>
/* Scheduling algorithms. */
@@ -50,6 +52,3 @@ extern int __clone __P ((int (*__fn) (void *__arg), void *__child_stack,
extern int clone __P ((int (*__fn) (void *__arg), void *__child_stack,
int __flags, void *__arg));
#endif
-
-
-#endif /* schedbits.h */
diff --git a/sysdeps/unix/sysv/linux/sys/sem_buf.h b/sysdeps/unix/sysv/linux/bits/sem.h
index 049a71bc47..049a71bc47 100644
--- a/sysdeps/unix/sysv/linux/sys/sem_buf.h
+++ b/sysdeps/unix/sysv/linux/bits/sem.h
diff --git a/sysdeps/unix/sysv/linux/sys/shm_buf.h b/sysdeps/unix/sysv/linux/bits/shm.h
index 642b7bd191..642b7bd191 100644
--- a/sysdeps/unix/sysv/linux/sys/shm_buf.h
+++ b/sysdeps/unix/sysv/linux/bits/shm.h
diff --git a/sysdeps/unix/sysv/linux/sigaction.h b/sysdeps/unix/sysv/linux/bits/sigaction.h
index 13a6a03248..13a6a03248 100644
--- a/sysdeps/unix/sysv/linux/sigaction.h
+++ b/sysdeps/unix/sysv/linux/bits/sigaction.h
diff --git a/sysdeps/unix/sysv/linux/sigcontext.h b/sysdeps/unix/sysv/linux/bits/sigcontext.h
index 71afc76c71..fb8bc5fc57 100644
--- a/sysdeps/unix/sysv/linux/sigcontext.h
+++ b/sysdeps/unix/sysv/linux/bits/sigcontext.h
@@ -16,14 +16,13 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _SIGCONTEXT_H
-#define _SIGCONTEXT_H 1
+#ifndef _SIGNAL_H
+#error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
+#endif
+
/* Kernel headers before 2.1.1 define a struct sigcontext_struct, but
we need sigcontext. */
#define sigcontext_struct sigcontext
#include <asm/sigcontext.h>
-
-
-#endif /* sigcontext.h */
diff --git a/sysdeps/unix/sysv/linux/signum.h b/sysdeps/unix/sysv/linux/bits/signum.h
index d8a716f2e0..d8a716f2e0 100644
--- a/sysdeps/unix/sysv/linux/signum.h
+++ b/sysdeps/unix/sysv/linux/bits/signum.h
diff --git a/sysdeps/unix/sysv/linux/sigset.h b/sysdeps/unix/sysv/linux/bits/sigset.h
index 741ff9ac9d..741ff9ac9d 100644
--- a/sysdeps/unix/sysv/linux/sigset.h
+++ b/sysdeps/unix/sysv/linux/bits/sigset.h
diff --git a/sysdeps/unix/sysv/linux/socketbits.h b/sysdeps/unix/sysv/linux/bits/socket.h
index e60f903fc5..e3f53a97be 100644
--- a/sysdeps/unix/sysv/linux/socketbits.h
+++ b/sysdeps/unix/sysv/linux/bits/socket.h
@@ -17,9 +17,11 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _SOCKETBITS_H
+#ifndef _SYS_SOCKET_H
+#error "Never include <bits/socket.h> directly; use <sys/socket.h> instead."
+#endif
+
-#define _SOCKETBITS_H 1
#include <features.h>
#define __need_size_t
@@ -101,7 +103,7 @@ enum __socket_type
#define SOMAXCONN 128
/* Get the definition of the macro to define the common sockaddr members. */
-#include <sockaddrcom.h>
+#include <bits/sockaddr.h>
/* Structure describing a generic socket address. */
struct sockaddr
@@ -201,5 +203,3 @@ struct linger
};
__END_DECLS
-
-#endif /* socketbits.h */
diff --git a/sysdeps/unix/sysv/linux/statbuf.h b/sysdeps/unix/sysv/linux/bits/stat.h
index 15ffe637bc..1c6e5f84ca 100644
--- a/sysdeps/unix/sysv/linux/statbuf.h
+++ b/sysdeps/unix/sysv/linux/bits/stat.h
@@ -16,8 +16,12 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _STATBUF_H
-#define _STATBUF_H 1
+/*
+ * Never include this file directly; use <sys/stat.h> instead.
+ */
+
+#ifndef _BITS_STAT_H
+#define _BITS_STAT_H 1
/* Versions of the `struct stat' data structure. */
#define _STAT_VER_LINUX_OLD 1
@@ -81,4 +85,4 @@ struct stat
#define __S_IWRITE 0200 /* Write by owner. */
#define __S_IEXEC 0100 /* Execute by owner. */
-#endif /* statbuf.h */
+#endif /* bits/stat.h */
diff --git a/sysdeps/unix/sysv/linux/statfsbuf.h b/sysdeps/unix/sysv/linux/bits/statfs.h
index 7e1aa55334..8b9501423c 100644
--- a/sysdeps/unix/sysv/linux/statfsbuf.h
+++ b/sysdeps/unix/sysv/linux/bits/statfs.h
@@ -16,10 +16,14 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _STATFSBUF_H
-#define _STATFSBUF_H
+/*
+ * Never include this file directly; use <sys/statfs.h> instead.
+ */
-#include <gnu/types.h> /* for __fsid_t */
+#ifndef _BITS_STATFS_H
+#define _BITS_STATFS_H
+
+#include <bits/types.h> /* for __fsid_t */
struct statfs
{
@@ -35,4 +39,4 @@ struct statfs
int f_spare[6];
};
-#endif /* statfsbuf.h */
+#endif /* bits/statfs.h */
diff --git a/sysdeps/unix/sysv/linux/termbits.h b/sysdeps/unix/sysv/linux/bits/termios.h
index 8224ac5403..dd42012374 100644
--- a/sysdeps/unix/sysv/linux/termbits.h
+++ b/sysdeps/unix/sysv/linux/bits/termios.h
@@ -17,8 +17,13 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _TERMBITS_H
-#define _TERMBITS_H 1
+/*
+ * Never include this file directly; use <termios.h> instead.
+ */
+
+
+#ifndef _BITS_TERMIOS_H
+#define _BITS_TERMIOS_H 1
typedef unsigned char cc_t;
typedef unsigned int speed_t;
@@ -181,4 +186,4 @@ struct termios
#define _IOT_termios /* Hurd ioctl type field. */ \
_IOT (_IOTS (cflag_t), 4, _IOTS (cc_t), NCCS, _IOTS (speed_t), 2)
-#endif /* termbits.h */
+#endif /* bits/termios.h */
diff --git a/sysdeps/unix/sysv/linux/timebits.h b/sysdeps/unix/sysv/linux/bits/time.h
index de30a6f348..509cb2ce32 100644
--- a/sysdeps/unix/sysv/linux/timebits.h
+++ b/sysdeps/unix/sysv/linux/bits/time.h
@@ -17,6 +17,10 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
+/*
+ * Never include this file directly; use <time.h> instead.
+ */
+
#ifdef __need_timeval
# undef __need_timeval
# ifndef _STRUCT_TIMEVAL
@@ -32,8 +36,8 @@ struct timeval
#endif /* need timeval */
-#ifndef _TIMEBITS_H
-# define _TIMEBITS_H 1
+#ifndef _BITS_TIME_H
+#define _BITS_TIME_H 1
/* ISO/IEC 9899:1990 7.12.1: <time.h>
The macro `CLOCKS_PER_SEC' is the number per second of the value
@@ -49,4 +53,4 @@ struct timeval
# define CLK_TCK 100
# endif
-#endif /* timebits.h */
+#endif /* bits/time.h */
diff --git a/sysdeps/unix/sysv/linux/gnu/types.h b/sysdeps/unix/sysv/linux/bits/types.h
index 872fc4e557..34f4682b3c 100644
--- a/sysdeps/unix/sysv/linux/gnu/types.h
+++ b/sysdeps/unix/sysv/linux/bits/types.h
@@ -16,8 +16,12 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _GNU_TYPES_H
-#define _GNU_TYPES_H 1
+/*
+ * Never include this file directly; use <sys/types.h> instead.
+ */
+
+#ifndef _BITS_TYPES_H
+#define _BITS_TYPES_H 1
#include <features.h>
@@ -39,6 +43,16 @@ typedef struct
__u_long __val[2];
} __u_quad_t;
#endif
+typedef signed char __int8_t;
+typedef unsigned char __uint8_t;
+typedef signed short int __int16_t;
+typedef unsigned short int __uint16_t;
+typedef signed int __int32_t;
+typedef unsigned int __uint32_t;
+#ifdef __GNUC__
+typedef signed long long int __int64_t;
+typedef unsigned long long int __uint64_t;
+#endif
typedef __quad_t *__qaddr_t;
typedef __u_quad_t __dev_t; /* Type of device numbers. */
@@ -86,4 +100,4 @@ typedef struct
typedef int __key_t;
-#endif /* gnu/types.h */
+#endif /* bits/types.h */
diff --git a/sysdeps/unix/sysv/linux/iovec.h b/sysdeps/unix/sysv/linux/bits/uio.h
index 430edfc029..3f1dc01c73 100644
--- a/sysdeps/unix/sysv/linux/iovec.h
+++ b/sysdeps/unix/sysv/linux/bits/uio.h
@@ -16,9 +16,10 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _IOVEC_H
+#ifndef _SYS_UIO_H
+#error "Never use <bits/uio.h> directly; include <sys/uio.h> instead."
+#endif
-#define _IOVEC_H 1
#include <sys/types.h>
@@ -43,5 +44,3 @@ struct iovec
void *iov_base; /* Pointer to data. */
size_t iov_len; /* Length of data. */
};
-
-#endif /* iovec.h */
diff --git a/sysdeps/unix/sysv/linux/ustatbits.h b/sysdeps/unix/sysv/linux/bits/ustat.h
index 526069a7f3..526069a7f3 100644
--- a/sysdeps/unix/sysv/linux/ustatbits.h
+++ b/sysdeps/unix/sysv/linux/bits/ustat.h
diff --git a/sysdeps/unix/sysv/linux/utsnamelen.h b/sysdeps/unix/sysv/linux/bits/utsname.h
index 64e2ab5bbc..64e2ab5bbc 100644
--- a/sysdeps/unix/sysv/linux/utsnamelen.h
+++ b/sysdeps/unix/sysv/linux/bits/utsname.h
diff --git a/sysdeps/unix/sysv/linux/waitflags.h b/sysdeps/unix/sysv/linux/bits/waitflags.h
index a60d17272b..ba3528b709 100644
--- a/sysdeps/unix/sysv/linux/waitflags.h
+++ b/sysdeps/unix/sysv/linux/bits/waitflags.h
@@ -1,5 +1,5 @@
/* Definitions of flag bits for `waitpid' et al.
- Copyright (C) 1992, 1996 Free Software Foundation, Inc.
+ Copyright (C) 1992, 1996, 1997 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
@@ -17,14 +17,13 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _WAITFLAGS_H
+#ifndef _SYS_WAIT_H
+#error "Never use <bits/waitflags.h> directly; include <sys/wait.h> instead."
+#endif
-#define _WAITFLAGS_H 1
/* Bits in the third argument to `waitpid'. */
#define WNOHANG 1 /* Don't block waiting. */
#define WUNTRACED 2 /* Report status of stopped children. */
#define __WCLONE 0x80000000 /* Wait for cloned process. */
-
-#endif /* waitflags.h */
diff --git a/sysdeps/unix/sysv/linux/i386/clone.S b/sysdeps/unix/sysv/linux/i386/clone.S
index 3cdd2dc468..7f758a52a8 100644
--- a/sysdeps/unix/sysv/linux/i386/clone.S
+++ b/sysdeps/unix/sysv/linux/i386/clone.S
@@ -22,7 +22,7 @@
#include <sysdep.h>
#define _ERRNO_H 1
-#include <errnos.h>
+#include <bits/errno.h>
/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg); */
diff --git a/sysdeps/unix/sysv/linux/i386/profil-counter.h b/sysdeps/unix/sysv/linux/i386/profil-counter.h
index 96b38e24c0..56754744c7 100644
--- a/sysdeps/unix/sysv/linux/i386/profil-counter.h
+++ b/sysdeps/unix/sysv/linux/i386/profil-counter.h
@@ -17,7 +17,7 @@ License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
-#include <sigcontext.h>
+#include <signal.h>
void
profil_counter (int signo, struct sigcontext sc)
diff --git a/sysdeps/unix/sysv/linux/i386/socket.S b/sysdeps/unix/sysv/linux/i386/socket.S
index 441c143156..7c539e17d2 100644
--- a/sysdeps/unix/sysv/linux/i386/socket.S
+++ b/sysdeps/unix/sysv/linux/i386/socket.S
@@ -17,7 +17,7 @@
Boston, MA 02111-1307, USA. */
#include <sysdep.h>
-#include <sys/socketcall.h>
+#include <socketcall.h>
#define P(a, b) P2(a, b)
#define P2(a, b) a##b
diff --git a/sysdeps/unix/sysv/linux/kernel_termios.h b/sysdeps/unix/sysv/linux/kernel_termios.h
new file mode 100644
index 0000000000..78c6f4aa2f
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/kernel_termios.h
@@ -0,0 +1,38 @@
+/* Copyright (C) 1997 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. */
+
+#ifndef _KERNEL_TERMIOS_H
+#define _KERNEL_TERMIOS_H 1
+/* The following corresponds to the values from the Linux 2.1.20 kernel. */
+
+/* We need the definition of tcflag_t, cc_t, and speed_t. */
+#include <bits/termios.h>
+
+#define __KERNEL_NCCS 19
+
+struct __kernel_termios
+ {
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[__KERNEL_NCCS]; /* control characters */
+ };
+
+#endif /* kernel_termios.h */
diff --git a/sysdeps/unix/sysv/linux/m68k/clone.S b/sysdeps/unix/sysv/linux/m68k/clone.S
index ef9716d979..d553ab78c6 100644
--- a/sysdeps/unix/sysv/linux/m68k/clone.S
+++ b/sysdeps/unix/sysv/linux/m68k/clone.S
@@ -21,7 +21,7 @@
#include <sysdep.h>
#define _ERRNO_H 1
-#include <errnos.h>
+#include <bits/errno.h>
/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg); */
diff --git a/sysdeps/unix/sysv/linux/m68k/socket.S b/sysdeps/unix/sysv/linux/m68k/socket.S
index d0741afeb1..1508b879f6 100644
--- a/sysdeps/unix/sysv/linux/m68k/socket.S
+++ b/sysdeps/unix/sysv/linux/m68k/socket.S
@@ -17,7 +17,7 @@ not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <sysdep.h>
-#include <sys/socketcall.h>
+#include <socketcall.h>
#define P(a, b) P2(a, b)
#define P2(a, b) a##b
diff --git a/sysdeps/unix/sysv/linux/netinet/ip.h b/sysdeps/unix/sysv/linux/netinet/ip.h
index 6d50bb41d1..bf4e01680b 100644
--- a/sysdeps/unix/sysv/linux/netinet/ip.h
+++ b/sysdeps/unix/sysv/linux/netinet/ip.h
@@ -37,7 +37,7 @@ struct timestamp
u_int8_t overflow:4;
u_int8_t flags:4;
#else
-#error "Please fix <bytesex.h>"
+#error "Please fix <bits/endian.h>"
#endif
u_int32_t data[9];
};
@@ -72,7 +72,7 @@ struct iphdr
u_int8_t version:4;
u_int8_t ihl:4;
#else
-#error "Please fix <bytesex.h>"
+#error "Please fix <bits/endian.h>"
#endif
u_int8_t tos;
u_int16_t tot_len;
diff --git a/sysdeps/unix/sysv/linux/netinet/tcp.h b/sysdeps/unix/sysv/linux/netinet/tcp.h
index b7bf0857b8..60e67c5149 100644
--- a/sysdeps/unix/sysv/linux/netinet/tcp.h
+++ b/sysdeps/unix/sysv/linux/netinet/tcp.h
@@ -99,7 +99,7 @@ struct tcphdr {
syn:1,
fin:1;
#else
-#error "Adjust your <bytesex.h> defines"
+#error "Adjust your <bits/endian.h> defines"
#endif
u_int16_t window;
u_int16_t check;
diff --git a/sysdeps/unix/sysv/linux/netipx/ipx.h b/sysdeps/unix/sysv/linux/netipx/ipx.h
index 170dfdf134..ec93c8185c 100644
--- a/sysdeps/unix/sysv/linux/netipx/ipx.h
+++ b/sysdeps/unix/sysv/linux/netipx/ipx.h
@@ -19,10 +19,94 @@
#ifndef __NETIPX_IPX_H
#define __NETIPX_IPX_H 1
-#include <asm/types.h>
-#include <linux/ipx.h>
+#include <features.h>
+
+#include <sys/types.h>
+#include <sys/socket.h>
+
+__BEGIN_DECLS
#define SOL_IPX 256 /* sockopt level */
-#define IPX_TYPE 1
+
+#define IPX_TYPE 1
+#define IPX_NODE_LEN 6
+#define IPX_MTU 576
+
+struct sockaddr_ipx
+ {
+ sa_family_t sipx_family;
+ u_int16_t sipx_port;
+ u_int32_t sipx_network;
+ unsigned char sipx_node[IPX_NODE_LEN];
+ u_int8_t sipx_type;
+ unsigned char sipx_zero; /* 16 byte fill */
+ };
+
+/*
+ * So we can fit the extra info for SIOCSIFADDR into the address nicely
+ */
+
+#define sipx_special sipx_port
+#define sipx_action sipx_zero
+#define IPX_DLTITF 0
+#define IPX_CRTITF 1
+
+typedef struct ipx_route_definition
+ {
+ unsigned long ipx_network;
+ unsigned long ipx_router_network;
+ unsigned char ipx_router_node[IPX_NODE_LEN];
+ }
+ipx_route_definition;
+
+typedef struct ipx_interface_definition
+ {
+ unsigned long ipx_network;
+ unsigned char ipx_device[16];
+ unsigned char ipx_dlink_type;
+#define IPX_FRAME_NONE 0
+#define IPX_FRAME_SNAP 1
+#define IPX_FRAME_8022 2
+#define IPX_FRAME_ETHERII 3
+#define IPX_FRAME_8023 4
+#define IPX_FRAME_TR_8022 5
+ unsigned char ipx_special;
+#define IPX_SPECIAL_NONE 0
+#define IPX_PRIMARY 1
+#define IPX_INTERNAL 2
+ unsigned char ipx_node[IPX_NODE_LEN];
+ }
+ipx_interface_definition;
+
+typedef struct ipx_config_data
+ {
+ unsigned char ipxcfg_auto_select_primary;
+ unsigned char ipxcfg_auto_create_interfaces;
+ }
+ipx_config_data;
+
+/*
+ * OLD Route Definition for backward compatibility.
+ */
+
+struct ipx_route_def
+ {
+ unsigned long ipx_network;
+ unsigned long ipx_router_network;
+#define IPX_ROUTE_NO_ROUTER 0
+ unsigned char ipx_router_node[IPX_NODE_LEN];
+ unsigned char ipx_device[16];
+ unsigned short ipx_flags;
+#define IPX_RT_SNAP 8
+#define IPX_RT_8022 4
+#define IPX_RT_BLUEBOOK 2
+#define IPX_RT_ROUTED 1
+ };
+
+#define SIOCAIPXITFCRT (SIOCPROTOPRIVATE)
+#define SIOCAIPXPRISLT (SIOCPROTOPRIVATE + 1)
+#define SIOCIPXCFGDATA (SIOCPROTOPRIVATE + 2)
+
+__END_DECLS
#endif /* netipx/ipx.h */
diff --git a/sysdeps/unix/sysv/linux/powerpc/ioctl-types.h b/sysdeps/unix/sysv/linux/powerpc/bits/ioctl-types.h
index 9e2695652e..9e2695652e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/ioctl-types.h
+++ b/sysdeps/unix/sysv/linux/powerpc/bits/ioctl-types.h
diff --git a/sysdeps/unix/sysv/linux/powerpc/termbits.h b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
index 4c6073bfc2..4c6073bfc2 100644
--- a/sysdeps/unix/sysv/linux/powerpc/termbits.h
+++ b/sysdeps/unix/sysv/linux/powerpc/bits/termios.h
diff --git a/sysdeps/unix/sysv/linux/powerpc/clone.S b/sysdeps/unix/sysv/linux/powerpc/clone.S
index 068b14c538..cca63fe0bc 100644
--- a/sysdeps/unix/sysv/linux/powerpc/clone.S
+++ b/sysdeps/unix/sysv/linux/powerpc/clone.S
@@ -19,7 +19,7 @@
#include <sysdep.h>
#define _ERRNO_H 1
-#include <errnos.h>
+#include <bits/errno.h>
/* This is the only really unusual system call in PPC linux, but not
because of any weirdness in the system call itself; because of
diff --git a/sysdeps/unix/sysv/linux/powerpc/kernel_termios.h b/sysdeps/unix/sysv/linux/powerpc/kernel_termios.h
index acf62a42ca..9a5e830c31 100644
--- a/sysdeps/unix/sysv/linux/powerpc/kernel_termios.h
+++ b/sysdeps/unix/sysv/linux/powerpc/kernel_termios.h
@@ -1,9 +1,27 @@
-#ifndef _SYS_KERNEL_TERMIOS_H
-#define _SYS_KERNEL_TERMIOS_H 1
+/* Copyright (C) 1997 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. */
+
+#ifndef _KERNEL_TERMIOS_H
+#define _KERNEL_TERMIOS_H 1
/* The following corresponds to the values from the Linux 2.0.28 kernel. */
/* We need the definition of tcflag_t, cc_t, and speed_t. */
-#include <termbits.h>
+#include <bits/termios.h>
#define __KERNEL_NCCS 19
@@ -22,4 +40,4 @@ struct __kernel_termios
#define _HAVE_C_ISPEED 1
#define _HAVE_C_OSPEED 1
-#endif /* sys/kernel_termios.h */
+#endif /* kernel_termios.h */
diff --git a/sysdeps/unix/sysv/linux/powerpc/socket.S b/sysdeps/unix/sysv/linux/powerpc/socket.S
index 305aba9281..904bca4dc3 100644
--- a/sysdeps/unix/sysv/linux/powerpc/socket.S
+++ b/sysdeps/unix/sysv/linux/powerpc/socket.S
@@ -17,7 +17,7 @@
Boston, MA 02111-1307, USA. */
#include <sysdep.h>
-#include <sys/socketcall.h>
+#include <socketcall.h>
#define P(a, b) P2(a, b)
#define P2(a, b) a##b
diff --git a/sysdeps/unix/sysv/linux/sys/socketcall.h b/sysdeps/unix/sysv/linux/socketcall.h
index 9aaca7a27b..9aaca7a27b 100644
--- a/sysdeps/unix/sysv/linux/sys/socketcall.h
+++ b/sysdeps/unix/sysv/linux/socketcall.h
diff --git a/sysdeps/unix/sysv/linux/sparc/fcntlbits.h b/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h
index 3fc7240a66..3fc7240a66 100644
--- a/sysdeps/unix/sysv/linux/sparc/fcntlbits.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h
diff --git a/sysdeps/unix/sysv/linux/alpha/ioctls.h b/sysdeps/unix/sysv/linux/sparc/bits/ioctls.h
index 80b2e62e77..8a14f99f43 100644
--- a/sysdeps/unix/sysv/linux/alpha/ioctls.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/ioctls.h
@@ -16,12 +16,16 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef _IOCTLS_H
-#define _IOCTLS_H 1
+/*
+ * Never include this file directly; use <sys/ioctl.h> instead.
+ */
+
+#ifndef _BITS_IOCTLS_H
+#define _BITS_IOCTLS_H 1
/* Use the definitions from the kernel header files. */
#include <asm/ioctls.h>
-#include <sys/kernel_termios.h>
+#include <kernel_termios.h>
/* Oh well, this is necessary since the kernel data structure is
different from the user-level version. */
@@ -36,4 +40,4 @@
#include <linux/sockios.h>
-#endif /* ioctls.h */
+#endif /* bits/ioctls.h */
diff --git a/sysdeps/unix/sysv/linux/sparc/sigaction.h b/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
index 19aa7e39cb..19aa7e39cb 100644
--- a/sysdeps/unix/sysv/linux/sparc/sigaction.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h
diff --git a/sysdeps/unix/sysv/linux/sparc/signum.h b/sysdeps/unix/sysv/linux/sparc/bits/signum.h
index 3437c16113..3437c16113 100644
--- a/sysdeps/unix/sysv/linux/sparc/signum.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/signum.h
diff --git a/sysdeps/unix/sysv/linux/sparc/termbits.h b/sysdeps/unix/sysv/linux/sparc/bits/termios.h
index bf7aa1480f..bf7aa1480f 100644
--- a/sysdeps/unix/sysv/linux/sparc/termbits.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/termios.h
diff --git a/sysdeps/unix/sysv/linux/sparc/profil-counter.h b/sysdeps/unix/sysv/linux/sparc/profil-counter.h
index 258df5ba93..1bd06482c9 100644
--- a/sysdeps/unix/sysv/linux/sparc/profil-counter.h
+++ b/sysdeps/unix/sysv/linux/sparc/profil-counter.h
@@ -17,7 +17,7 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#include <sigcontext.h>
+#include <signal.h>
void
profil_counter (int signo, __siginfo_t si)
diff --git a/sysdeps/unix/sysv/linux/sparc/socket.S b/sysdeps/unix/sysv/linux/sparc/socket.S
index 24aba3fc74..bdfc2fcc6d 100644
--- a/sysdeps/unix/sysv/linux/sparc/socket.S
+++ b/sysdeps/unix/sysv/linux/sparc/socket.S
@@ -18,7 +18,7 @@
Boston, MA 02111-1307, USA. */
#include <sysdep.h>
-#include <sys/socketcall.h>
+#include <socketcall.h>
#define P(a, b) P2(a, b)
#define P2(a, b) a##b
diff --git a/sysdeps/unix/sysv/linux/sys/kernel_termios.h b/sysdeps/unix/sysv/linux/sys/kernel_termios.h
deleted file mode 100644
index 629508e765..0000000000
--- a/sysdeps/unix/sysv/linux/sys/kernel_termios.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _SYS_KERNEL_TERMIOS_H
-#define _SYS_KERNEL_TERMIOS_H 1
-/* The following corresponds to the values from the Linux 2.1.20 kernel. */
-
-/* We need the definition of tcflag_t, cc_t, and speed_t. */
-#include <termbits.h>
-
-#define __KERNEL_NCCS 19
-
-struct __kernel_termios
- {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[__KERNEL_NCCS]; /* control characters */
- };
-
-#endif /* sys/kernel_termios.h */
diff --git a/sysdeps/unix/sysv/linux/sys/mman.h b/sysdeps/unix/sysv/linux/sys/mman.h
index 367b9062b3..dc9f8f7e48 100644
--- a/sysdeps/unix/sysv/linux/sys/mman.h
+++ b/sysdeps/unix/sysv/linux/sys/mman.h
@@ -22,7 +22,7 @@
#define _SYS_MMAN_H 1
#include <features.h>
-#include <gnu/types.h>
+#include <bits/types.h>
#define __need_size_t
#include <stddef.h>
diff --git a/sysdeps/unix/sysv/linux/sys/syscall.h b/sysdeps/unix/sysv/linux/sys/syscall.h
index cef91f6727..d6b14fcf0a 100644
--- a/sysdeps/unix/sysv/linux/sys/syscall.h
+++ b/sysdeps/unix/sysv/linux/sys/syscall.h
@@ -27,9 +27,9 @@
#ifndef _LIBC
/* The Linux kernel header file defines macros `__NR_<name>', but some
programs expect the traditional form `SYS_<name>'. So in building libc
- we scan the kernel's list and produce <syscall-list.h> with macros for
+ we scan the kernel's list and produce <bits/syscall.h> with macros for
all the `SYS_' names. */
-#include <syscall-list.h>
+#include <bits/syscall.h>
#endif
#endif
diff --git a/sysdeps/unix/sysv/linux/tcgetattr.c b/sysdeps/unix/sysv/linux/tcgetattr.c
index 9578c4b772..7866183abe 100644
--- a/sysdeps/unix/sysv/linux/tcgetattr.c
+++ b/sysdeps/unix/sysv/linux/tcgetattr.c
@@ -23,7 +23,7 @@
/* The difference here is that the termios structure used in the
kernel is not the same as we use in the libc. Therefore we must
translate it here. */
-#include <sys/kernel_termios.h>
+#include <kernel_termios.h>
/* Put the state of FD into *TERMIOS_P. */
int
diff --git a/sysdeps/unix/sysv/linux/tcsetattr.c b/sysdeps/unix/sysv/linux/tcsetattr.c
index 6c128110f6..0b9fee2165 100644
--- a/sysdeps/unix/sysv/linux/tcsetattr.c
+++ b/sysdeps/unix/sysv/linux/tcsetattr.c
@@ -24,7 +24,7 @@
/* The difference here is that the termios structure used in the
kernel is not the same as we use in the libc. Therefore we must
translate it here. */
-#include <sys/kernel_termios.h>
+#include <kernel_termios.h>
/* Set the state of FD to *TERMIOS_P. */