about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2016-08-21 15:38:41 -0400
committerZack Weinberg <zackw@panix.com>2016-09-23 08:43:56 -0400
commit11160cb76f56e0a711686e34881a4eaf1ad2fa0e (patch)
tree32de3923d10cdda555e5c1d3b230ba6527b67544 /sysdeps
parentcb765808fbffca30a1c67cf01ffdce30f8e6df3e (diff)
downloadglibc-11160cb76f56e0a711686e34881a4eaf1ad2fa0e.tar.gz
glibc-11160cb76f56e0a711686e34881a4eaf1ad2fa0e.tar.xz
glibc-11160cb76f56e0a711686e34881a4eaf1ad2fa0e.zip
Installed-header hygiene (BZ#20366): obsolete BSD u_* types.
The types u_char, u_short, u_int, u_long, ushort, uint, ulong, u_int8_t,
u_int16_t, u_int32_t, u_int64_t, quad_t, and u_quad_t are BSDisms that
have never been standardized.  While glibc should continue to *provide*
these types for compatibility's sake, its public headers should not
use them.

The meat of this change was mechanically generated by the following
shell command:

    perl -pi~ -e '
        s/\b(__)?u_char\b/unsigned char/g;
        s/\b(__)?u_?short\b/unsigned short/g;
        s/\b(__)?u_?int\b/unsigned int/g;
        s/\b(__)?u_?long\b/unsigned long/g;
        s/\b(__)?u_int8_t\b/uint8_t/g;
        s/\b(__)?u_int16_t\b/uint16_t/g;
        s/\b(__)?u_int32_t\b/uint32_t/g;
        s/\b(__)?u_int64_t\b/uint64_t/g;
        s/\b(__)?u_quad_t\b/uint64_t/g;
        s/\b(__)?quad_t\b/uint64_t/g;
    ' $(grep -lE -e '\<((__)?(quad_t|u(short|int|long|_(char|short|int([0-9]+_t)?|long|quad_t))))\>' \
        $(grep -LE '\<(_(SYS|BITS)_TYPES_H|rpc/(rpc|rpc_msg|types|xdr)\.h)\>' \
          $(find . \( -false $(sed 's/^/-o -name /' all-installed-headers) \
                   \) -printf '%P\n' | sort -u)))

where 'all-installed-headers' was a list of the basenames of all installed
header files, manually extracted from the Makefiles.  Non-installed
wrapper headers in include/ are also adjusted, for consistency.
I then manually fixed up indentation and line-wrapping.

sys/types.h and bits/types.h are excluded because they must continue
to define the u_* types (under __USE_MISC) for compatibility with
applications.  They do not use these types themselves.

All headers that (transitively) include rpc/types.h are also excluded,
for three reasons.  First, the u_* types are defined by rpc/types.h,
unconditionally (not just under __USE_MISC) so they are logically part
of the SunRPC API.  Second, many of those headers appear to be
machine-generated.  Third, it's my understanding that we are getting
rid of as much of SunRPC as possible in the near future.

(The one file under sunrpc/ that's touched, sunrpc/rpc/rpc_des.h, does
*not* include rpc/types.h.  This may itself be a bug.)

After changing from u_intNN_t to uintNN_t, a number of headers now
need to include stdint.h to pick up those types.  It might be more
hygenic, namespace-wise, to use __uintNN_t instead, but none of these
headers are bound by ISO or POSIX to do so, and it's unlikely that
anyone using them will be bothered.  (The two files that were using
__-prefixed versions of the u_types, sysdeps/mach/hurd/net/route.h and
sysdeps/unix/sysv/linux/net/route.h, both already also contained uses of
the unprefixed versions.)

Some of these files directly included features.h and/or sys/cdefs.h,
which I removed, as the style generally seems to be to let sys/types.h
do that for us.  (This does not change the set of definitions exposed
by any header; sys/types.h unconditionally includes both features.h
and sys/cdefs.h.)

One file included asm/types.h unnecessarily.

	* bits/in.h, gmon/sys/gmon.h, inet/netinet/igmp.h
	* inet/protocols/routed.h, inet/protocols/talkd.h
	* inet/protocols/timed.h, io/fts.h, nptl_db/thread_db.h
	* resolv/arpa/nameser.h, resolv/resolv.h, sunrpc/rpc/rpc_des.h
	* sysdeps/generic/netinet/if_ether.h
	* sysdeps/generic/netinet/in_systm.h
	* sysdeps/generic/netinet/ip.h, sysdeps/generic/netinet/tcp.h
	* sysdeps/gnu/netinet/ip_icmp.h, sysdeps/gnu/netinet/tcp.h
	* sysdeps/gnu/netinet/udp.h, sysdeps/mach/hurd/net/ethernet.h
	* sysdeps/mach/hurd/net/if_arp.h
	* sysdeps/mach/hurd/net/if_ppp.h
	* sysdeps/mach/hurd/net/route.h, sysdeps/mach/sys/reboot.h
	* sysdeps/unix/sysv/linux/bits/in.h
	* sysdeps/unix/sysv/linux/net/ethernet.h
	* sysdeps/unix/sysv/linux/net/if_arp.h
	* sysdeps/unix/sysv/linux/net/if_ppp.h
	* sysdeps/unix/sysv/linux/net/if_shaper.h
	* sysdeps/unix/sysv/linux/net/route.h
	* sysdeps/unix/sysv/linux/netinet/if_ether.h
	* sysdeps/unix/sysv/linux/netinet/if_fddi.h
	* sysdeps/unix/sysv/linux/netinet/if_tr.h
	* sysdeps/unix/sysv/linux/netipx/ipx.h
	* sysdeps/unix/sysv/linux/sys/acct.h
	* include/arpa/nameser.h, include/resolv.h:
	Change all uses of u_char to unsigned char,
	u_short and ushort to unsigned short, u_int and uint to unsigned int,
	u_long and ulong to unsigned long, u_int8_t to uint8_t,
        u_int16_t to uint16_t, u_int32_t to uint32_t, quad_t to int64_t,
	and u_int64_t and u_quad_t to uint64_t.

	* mach/sys/reboot.h: Remove two casts of integer literals
	to the types they already have.

	* bits/in.h: Correct error in description of IP_MULTICAST_LOOP.
	* sysdeps/unix/sysv/linux/bits/in.h: Likewise.
	* sysdeps/unix/sysv/linux/netinet/if_ether.h: Change a comment
	from referring to 'unsigned char' to 'uint8_t' for consistency with
	the macro definition below.

	* gmon/sys/gmon.h, inet/netinet/igmp.h, inet/protocols/talkd.h
	* io/fts.h, resolv/arpa/nameser.h, resolv/resolv.h
	* sunrpc/rpc/rpc_des.h, sysdeps/generic/netinet/ip.h
	* sysdeps/gnu/netinet/tcp.h, sysdeps/gnu/netinet/udp.h
	* sysdeps/mach/hurd/net/if_ppp.h, sysdeps/unix/sysv/linux/net/if_ppp.h
	* sysdeps/unix/sysv/linux/sys/acct.h
	* include/arpa/nameser.h, include/resolv.h:
	Fix indentation disrupted by mechanical edits.

	* inet/protocols/talkd.h, resolv/arpa/nameser.h
	* sysdeps/generic/netinet/in_systm.h
	* sysdeps/gnu/netinet/ip_icmp.h, sysdeps/gnu/netinet/tcp.h
	* sysdeps/gnu/netinet/udp.h
	* sysdeps/unix/sysv/linux/net/ethernet.h
	* sysdeps/unix/sysv/linux/net/if_arp.h
	* sysdeps/unix/sysv/linux/net/if_ppp.h
	* sysdeps/unix/sysv/linux/net/if_shaper.h
	* sysdeps/unix/sysv/linux/netinet/if_fddi.h
	* sysdeps/unix/sysv/linux/netinet/if_tr.h
	* sysdeps/unix/sysv/linux/netipx/ipx.h
	* sysdeps/unix/sysv/linux/sys/acct.h
	Include stdint.h for uintNN_t definitions.
	Don't include sys/cdefs.h, features.h, or asm/types.h directly.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/generic/netinet/if_ether.h2
-rw-r--r--sysdeps/generic/netinet/in_systm.h8
-rw-r--r--sysdeps/generic/netinet/ip.h46
-rw-r--r--sysdeps/generic/netinet/tcp.h34
-rw-r--r--sysdeps/gnu/netinet/ip_icmp.h56
-rw-r--r--sysdeps/gnu/netinet/tcp.h167
-rw-r--r--sysdeps/gnu/netinet/udp.h19
-rw-r--r--sysdeps/mach/hurd/net/ethernet.h8
-rw-r--r--sysdeps/mach/hurd/net/if_arp.h2
-rw-r--r--sysdeps/mach/hurd/net/if_ppp.h4
-rw-r--r--sysdeps/mach/hurd/net/route.h12
-rw-r--r--sysdeps/mach/sys/reboot.h6
-rw-r--r--sysdeps/unix/sysv/linux/bits/in.h4
-rw-r--r--sysdeps/unix/sysv/linux/net/ethernet.h11
-rw-r--r--sysdeps/unix/sysv/linux/net/if_arp.h5
-rw-r--r--sysdeps/unix/sysv/linux/net/if_ppp.h9
-rw-r--r--sysdeps/unix/sysv/linux/net/if_shaper.h6
-rw-r--r--sysdeps/unix/sysv/linux/net/route.h12
-rw-r--r--sysdeps/unix/sysv/linux/netinet/if_ether.h16
-rw-r--r--sysdeps/unix/sysv/linux/netinet/if_fddi.h10
-rw-r--r--sysdeps/unix/sysv/linux/netinet/if_tr.h36
-rw-r--r--sysdeps/unix/sysv/linux/netipx/ipx.h9
-rw-r--r--sysdeps/unix/sysv/linux/sys/acct.h31
23 files changed, 254 insertions, 259 deletions
diff --git a/sysdeps/generic/netinet/if_ether.h b/sysdeps/generic/netinet/if_ether.h
index c106a41c82..6d02536bd4 100644
--- a/sysdeps/generic/netinet/if_ether.h
+++ b/sysdeps/generic/netinet/if_ether.h
@@ -26,7 +26,7 @@
    systems.  */
 struct ether_addr
 {
-  u_int8_t ether_addr_octet[ETH_ALEN];
+  uint8_t ether_addr_octet[ETH_ALEN];
 } __attribute__ ((__packed__));
 
 #endif /* netinet/if_ether.h */
diff --git a/sysdeps/generic/netinet/in_systm.h b/sysdeps/generic/netinet/in_systm.h
index 41704ee40a..7b9a92be41 100644
--- a/sysdeps/generic/netinet/in_systm.h
+++ b/sysdeps/generic/netinet/in_systm.h
@@ -19,8 +19,8 @@
 #ifndef _NETINET_IN_SYSTM_H
 #define _NETINET_IN_SYSTM_H 1
 
-#include <sys/cdefs.h>
 #include <sys/types.h>
+#include <stdint.h>
 
 __BEGIN_DECLS
 
@@ -31,9 +31,9 @@ __BEGIN_DECLS
  * may not reflect the actual size of the native data types.
  */
 
-typedef u_int16_t n_short;      /* short as received from the net */
-typedef u_int32_t n_long;       /* long as received from the net  */
-typedef u_int32_t n_time;       /* ms since 00:00 GMT, byte rev   */
+typedef uint16_t n_short;      /* short as received from the net */
+typedef uint32_t n_long;       /* long as received from the net  */
+typedef uint32_t n_time;       /* ms since 00:00 GMT, byte rev   */
 
 __END_DECLS
 
diff --git a/sysdeps/generic/netinet/ip.h b/sysdeps/generic/netinet/ip.h
index 557a460d71..5f16c9a2bd 100644
--- a/sysdeps/generic/netinet/ip.h
+++ b/sysdeps/generic/netinet/ip.h
@@ -27,8 +27,8 @@ __BEGIN_DECLS
 
 struct timestamp
   {
-    u_int8_t len;
-    u_int8_t ptr;
+    uint8_t len;
+    uint8_t ptr;
 #if __BYTE_ORDER == __LITTLE_ENDIAN
     unsigned int flags:4;
     unsigned int overflow:4;
@@ -38,7 +38,7 @@ struct timestamp
 #else
 # error	"Please fix <bits/endian.h>"
 #endif
-    u_int32_t data[9];
+    uint32_t data[9];
   };
 
 struct iphdr
@@ -52,15 +52,15 @@ struct iphdr
 #else
 # error	"Please fix <bits/endian.h>"
 #endif
-    u_int8_t tos;
-    u_int16_t tot_len;
-    u_int16_t id;
-    u_int16_t frag_off;
-    u_int8_t ttl;
-    u_int8_t protocol;
-    u_int16_t check;
-    u_int32_t saddr;
-    u_int32_t daddr;
+    uint8_t tos;
+    uint16_t tot_len;
+    uint16_t id;
+    uint16_t frag_off;
+    uint8_t ttl;
+    uint8_t protocol;
+    uint16_t check;
+    uint32_t saddr;
+    uint32_t daddr;
     /*The options start here. */
   };
 
@@ -114,17 +114,17 @@ struct ip
     unsigned int ip_v:4;		/* version */
     unsigned int ip_hl:4;		/* header length */
 #endif
-    u_int8_t ip_tos;			/* type of service */
-    u_short ip_len;			/* total length */
-    u_short ip_id;			/* identification */
-    u_short ip_off;			/* fragment offset field */
+    uint8_t ip_tos;			/* type of service */
+    unsigned short ip_len;		/* total length */
+    unsigned short ip_id;		/* identification */
+    unsigned short ip_off;		/* fragment offset field */
 #define	IP_RF 0x8000			/* reserved fragment flag */
 #define	IP_DF 0x4000			/* dont fragment flag */
 #define	IP_MF 0x2000			/* more fragments flag */
 #define	IP_OFFMASK 0x1fff		/* mask for fragmenting bits */
-    u_int8_t ip_ttl;			/* time to live */
-    u_int8_t ip_p;			/* protocol */
-    u_short ip_sum;			/* checksum */
+    uint8_t ip_ttl;			/* time to live */
+    uint8_t ip_p;			/* protocol */
+    unsigned short ip_sum;		/* checksum */
     struct in_addr ip_src, ip_dst;	/* source and dest address */
   };
 
@@ -133,9 +133,9 @@ struct ip
  */
 struct ip_timestamp
   {
-    u_int8_t ipt_code;			/* IPOPT_TS */
-    u_int8_t ipt_len;			/* size of structure (variable) */
-    u_int8_t ipt_ptr;			/* index of current entry */
+    uint8_t ipt_code;			/* IPOPT_TS */
+    uint8_t ipt_len;			/* size of structure (variable) */
+    uint8_t ipt_ptr;			/* index of current entry */
 #if __BYTE_ORDER == __LITTLE_ENDIAN
     unsigned int ipt_flg:4;		/* flags, see below */
     unsigned int ipt_oflw:4;		/* overflow counter */
@@ -144,7 +144,7 @@ struct ip_timestamp
     unsigned int ipt_oflw:4;		/* overflow counter */
     unsigned int ipt_flg:4;		/* flags, see below */
 #endif
-    u_int32_t data[9];
+    uint32_t data[9];
   };
 #endif /* __USE_MISC */
 
diff --git a/sysdeps/generic/netinet/tcp.h b/sysdeps/generic/netinet/tcp.h
index 0d71903309..49f1bfbc26 100644
--- a/sysdeps/generic/netinet/tcp.h
+++ b/sysdeps/generic/netinet/tcp.h
@@ -43,42 +43,42 @@ typedef	unsigned int	tcp_seq;
  * Per RFC 793, September, 1981.
  */
 struct tcphdr {
-	u_short	th_sport;		/* source port */
-	u_short	th_dport;		/* destination port */
-	tcp_seq	th_seq;			/* sequence number */
-	tcp_seq	th_ack;			/* acknowledgement number */
+	unsigned short	th_sport;	/* source port */
+	unsigned short	th_dport;	/* destination port */
+	tcp_seq		th_seq;		/* sequence number */
+	tcp_seq		th_ack;		/* acknowledgement number */
 #if __BYTE_ORDER == __LITTLE_ENDIAN
-	u_char	th_x2:4,		/* (unused) */
-		th_off:4;		/* data offset */
+	unsigned char	th_x2:4,	/* (unused) */
+			th_off:4;	/* data offset */
 #endif
 #if __BYTE_ORDER == __BIG_ENDIAN
-	u_char	th_off:4,		/* data offset */
-		th_x2:4;		/* (unused) */
+	unsigned char	th_off:4,	/* data offset */
+			th_x2:4;	/* (unused) */
 #endif
-	u_char	th_flags;
+	unsigned char	th_flags;
 #define	TH_FIN	0x01
 #define	TH_SYN	0x02
 #define	TH_RST	0x04
 #define	TH_PUSH	0x08
 #define	TH_ACK	0x10
 #define	TH_URG	0x20
-	u_short	th_win;			/* window */
-	u_short	th_sum;			/* checksum */
-	u_short	th_urp;			/* urgent pointer */
+	unsigned short	th_win;		/* window */
+	unsigned short	th_sum;		/* checksum */
+	unsigned short	th_urp;		/* urgent pointer */
 };
 
 #define	TCPOPT_EOL		0
 #define	TCPOPT_NOP		1
 #define	TCPOPT_MAXSEG		2
-#define    TCPOLEN_MAXSEG		4
+#define TCPOLEN_MAXSEG		4
 #define TCPOPT_WINDOW		3
-#define    TCPOLEN_WINDOW		3
+#define TCPOLEN_WINDOW		3
 #define TCPOPT_SACK_PERMITTED	4		/* Experimental */
-#define    TCPOLEN_SACK_PERMITTED	2
+#define TCPOLEN_SACK_PERMITTED	2
 #define TCPOPT_SACK		5		/* Experimental */
 #define TCPOPT_TIMESTAMP	8
-#define    TCPOLEN_TIMESTAMP		10
-#define    TCPOLEN_TSTAMP_APPA		(TCPOLEN_TIMESTAMP+2) /* appendix A */
+#define TCPOLEN_TIMESTAMP	10
+#define TCPOLEN_TSTAMP_APPA	(TCPOLEN_TIMESTAMP+2) /* appendix A */
 
 #define TCPOPT_TSTAMP_HDR	\
     (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_TIMESTAMP<<8|TCPOLEN_TIMESTAMP)
diff --git a/sysdeps/gnu/netinet/ip_icmp.h b/sysdeps/gnu/netinet/ip_icmp.h
index 4f7c1b1b60..542e789e2a 100644
--- a/sysdeps/gnu/netinet/ip_icmp.h
+++ b/sysdeps/gnu/netinet/ip_icmp.h
@@ -18,28 +18,28 @@
 #ifndef __NETINET_IP_ICMP_H
 #define __NETINET_IP_ICMP_H    1
 
-#include <sys/cdefs.h>
 #include <sys/types.h>
+#include <stdint.h>
 
 __BEGIN_DECLS
 
 struct icmphdr
 {
-  u_int8_t type;		/* message type */
-  u_int8_t code;		/* type sub-code */
-  u_int16_t checksum;
+  uint8_t type;		/* message type */
+  uint8_t code;		/* type sub-code */
+  uint16_t checksum;
   union
   {
     struct
     {
-      u_int16_t	id;
-      u_int16_t	sequence;
+      uint16_t	id;
+      uint16_t	sequence;
     } echo;			/* echo datagram */
-    u_int32_t	gateway;	/* gateway address */
+    uint32_t	gateway;	/* gateway address */
     struct
     {
-      u_int16_t	__glibc_reserved;
-      u_int16_t	mtu;
+      uint16_t	__glibc_reserved;
+      uint16_t	mtu;
     } frag;			/* path mtu discovery */
   } un;
 };
@@ -130,38 +130,38 @@ struct icmphdr
  */
 struct icmp_ra_addr
 {
-  u_int32_t ira_addr;
-  u_int32_t ira_preference;
+  uint32_t ira_addr;
+  uint32_t ira_preference;
 };
 
 struct icmp
 {
-  u_int8_t  icmp_type;	/* type of message, see below */
-  u_int8_t  icmp_code;	/* type sub code */
-  u_int16_t icmp_cksum;	/* ones complement checksum of struct */
+  uint8_t  icmp_type;	/* type of message, see below */
+  uint8_t  icmp_code;	/* type sub code */
+  uint16_t icmp_cksum;	/* ones complement checksum of struct */
   union
   {
-    u_char ih_pptr;		/* ICMP_PARAMPROB */
+    unsigned char ih_pptr;	/* ICMP_PARAMPROB */
     struct in_addr ih_gwaddr;	/* gateway address */
     struct ih_idseq		/* echo datagram */
     {
-      u_int16_t icd_id;
-      u_int16_t icd_seq;
+      uint16_t icd_id;
+      uint16_t icd_seq;
     } ih_idseq;
-    u_int32_t ih_void;
+    uint32_t ih_void;
 
     /* ICMP_UNREACH_NEEDFRAG -- Path MTU Discovery (RFC1191) */
     struct ih_pmtu
     {
-      u_int16_t ipm_void;
-      u_int16_t ipm_nextmtu;
+      uint16_t ipm_void;
+      uint16_t ipm_nextmtu;
     } ih_pmtu;
 
     struct ih_rtradv
     {
-      u_int8_t irt_num_addrs;
-      u_int8_t irt_wpa;
-      u_int16_t irt_lifetime;
+      uint8_t irt_num_addrs;
+      uint8_t irt_wpa;
+      uint16_t irt_lifetime;
     } ih_rtradv;
   } icmp_hun;
 #define	icmp_pptr	icmp_hun.ih_pptr
@@ -178,9 +178,9 @@ struct icmp
   {
     struct
     {
-      u_int32_t its_otime;
-      u_int32_t its_rtime;
-      u_int32_t its_ttime;
+      uint32_t its_otime;
+      uint32_t its_rtime;
+      uint32_t its_ttime;
     } id_ts;
     struct
     {
@@ -188,8 +188,8 @@ struct icmp
       /* options and then 64 bits of data */
     } id_ip;
     struct icmp_ra_addr id_radv;
-    u_int32_t   id_mask;
-    u_int8_t    id_data[1];
+    uint32_t   id_mask;
+    uint8_t    id_data[1];
   } icmp_dun;
 #define	icmp_otime	icmp_dun.id_ts.its_otime
 #define	icmp_rtime	icmp_dun.id_ts.its_rtime
diff --git a/sysdeps/gnu/netinet/tcp.h b/sysdeps/gnu/netinet/tcp.h
index 3918bcac4f..3fbea54daf 100644
--- a/sysdeps/gnu/netinet/tcp.h
+++ b/sysdeps/gnu/netinet/tcp.h
@@ -73,8 +73,9 @@
 #ifdef __USE_MISC
 # include <sys/types.h>
 # include <sys/socket.h>
+# include <stdint.h>
 
-typedef	u_int32_t tcp_seq;
+typedef	uint32_t tcp_seq;
 /*
  * TCP header.
  * Per RFC 793, September, 1981.
@@ -85,61 +86,61 @@ struct tcphdr
     {
       struct
       {
-	u_int16_t th_sport;		/* source port */
-	u_int16_t th_dport;		/* destination port */
+	uint16_t th_sport;	/* source port */
+	uint16_t th_dport;	/* destination port */
 	tcp_seq th_seq;		/* sequence number */
 	tcp_seq th_ack;		/* acknowledgement number */
 # if __BYTE_ORDER == __LITTLE_ENDIAN
-	u_int8_t th_x2:4;		/* (unused) */
-	u_int8_t th_off:4;		/* data offset */
+	uint8_t th_x2:4;	/* (unused) */
+	uint8_t th_off:4;	/* data offset */
 # endif
 # if __BYTE_ORDER == __BIG_ENDIAN
-	u_int8_t th_off:4;		/* data offset */
-	u_int8_t th_x2:4;		/* (unused) */
+	uint8_t th_off:4;	/* data offset */
+	uint8_t th_x2:4;	/* (unused) */
 # endif
-	u_int8_t th_flags;
+	uint8_t th_flags;
 # define TH_FIN	0x01
 # define TH_SYN	0x02
 # define TH_RST	0x04
 # define TH_PUSH	0x08
 # define TH_ACK	0x10
 # define TH_URG	0x20
-	u_int16_t th_win;		/* window */
-	u_int16_t th_sum;		/* checksum */
-	u_int16_t th_urp;		/* urgent pointer */
+	uint16_t th_win;	/* window */
+	uint16_t th_sum;	/* checksum */
+	uint16_t th_urp;	/* urgent pointer */
       };
       struct
       {
-	u_int16_t source;
-	u_int16_t dest;
-	u_int32_t seq;
-	u_int32_t ack_seq;
+	uint16_t source;
+	uint16_t dest;
+	uint32_t seq;
+	uint32_t ack_seq;
 # if __BYTE_ORDER == __LITTLE_ENDIAN
-	u_int16_t res1:4;
-	u_int16_t doff:4;
-	u_int16_t fin:1;
-	u_int16_t syn:1;
-	u_int16_t rst:1;
-	u_int16_t psh:1;
-	u_int16_t ack:1;
-	u_int16_t urg:1;
-	u_int16_t res2:2;
+	uint16_t res1:4;
+	uint16_t doff:4;
+	uint16_t fin:1;
+	uint16_t syn:1;
+	uint16_t rst:1;
+	uint16_t psh:1;
+	uint16_t ack:1;
+	uint16_t urg:1;
+	uint16_t res2:2;
 # elif __BYTE_ORDER == __BIG_ENDIAN
-	u_int16_t doff:4;
-	u_int16_t res1:4;
-	u_int16_t res2:2;
-	u_int16_t urg:1;
-	u_int16_t ack:1;
-	u_int16_t psh:1;
-	u_int16_t rst:1;
-	u_int16_t syn:1;
-	u_int16_t fin:1;
+	uint16_t doff:4;
+	uint16_t res1:4;
+	uint16_t res2:2;
+	uint16_t urg:1;
+	uint16_t ack:1;
+	uint16_t psh:1;
+	uint16_t rst:1;
+	uint16_t syn:1;
+	uint16_t fin:1;
 # else
 #  error "Adjust your <bits/endian.h> defines"
 # endif
-	u_int16_t window;
-	u_int16_t check;
-	u_int16_t urg_ptr;
+	uint16_t window;
+	uint16_t check;
+	uint16_t urg_ptr;
       };
     };
 };
@@ -209,45 +210,45 @@ enum tcp_ca_state
 
 struct tcp_info
 {
-  u_int8_t	tcpi_state;
-  u_int8_t	tcpi_ca_state;
-  u_int8_t	tcpi_retransmits;
-  u_int8_t	tcpi_probes;
-  u_int8_t	tcpi_backoff;
-  u_int8_t	tcpi_options;
-  u_int8_t	tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
-
-  u_int32_t	tcpi_rto;
-  u_int32_t	tcpi_ato;
-  u_int32_t	tcpi_snd_mss;
-  u_int32_t	tcpi_rcv_mss;
-
-  u_int32_t	tcpi_unacked;
-  u_int32_t	tcpi_sacked;
-  u_int32_t	tcpi_lost;
-  u_int32_t	tcpi_retrans;
-  u_int32_t	tcpi_fackets;
+  uint8_t	tcpi_state;
+  uint8_t	tcpi_ca_state;
+  uint8_t	tcpi_retransmits;
+  uint8_t	tcpi_probes;
+  uint8_t	tcpi_backoff;
+  uint8_t	tcpi_options;
+  uint8_t	tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
+
+  uint32_t	tcpi_rto;
+  uint32_t	tcpi_ato;
+  uint32_t	tcpi_snd_mss;
+  uint32_t	tcpi_rcv_mss;
+
+  uint32_t	tcpi_unacked;
+  uint32_t	tcpi_sacked;
+  uint32_t	tcpi_lost;
+  uint32_t	tcpi_retrans;
+  uint32_t	tcpi_fackets;
 
   /* Times. */
-  u_int32_t	tcpi_last_data_sent;
-  u_int32_t	tcpi_last_ack_sent;	/* Not remembered, sorry.  */
-  u_int32_t	tcpi_last_data_recv;
-  u_int32_t	tcpi_last_ack_recv;
+  uint32_t	tcpi_last_data_sent;
+  uint32_t	tcpi_last_ack_sent;	/* Not remembered, sorry.  */
+  uint32_t	tcpi_last_data_recv;
+  uint32_t	tcpi_last_ack_recv;
 
   /* Metrics. */
-  u_int32_t	tcpi_pmtu;
-  u_int32_t	tcpi_rcv_ssthresh;
-  u_int32_t	tcpi_rtt;
-  u_int32_t	tcpi_rttvar;
-  u_int32_t	tcpi_snd_ssthresh;
-  u_int32_t	tcpi_snd_cwnd;
-  u_int32_t	tcpi_advmss;
-  u_int32_t	tcpi_reordering;
-
-  u_int32_t	tcpi_rcv_rtt;
-  u_int32_t	tcpi_rcv_space;
-
-  u_int32_t	tcpi_total_retrans;
+  uint32_t	tcpi_pmtu;
+  uint32_t	tcpi_rcv_ssthresh;
+  uint32_t	tcpi_rtt;
+  uint32_t	tcpi_rttvar;
+  uint32_t	tcpi_snd_ssthresh;
+  uint32_t	tcpi_snd_cwnd;
+  uint32_t	tcpi_advmss;
+  uint32_t	tcpi_reordering;
+
+  uint32_t	tcpi_rcv_rtt;
+  uint32_t	tcpi_rcv_space;
+
+  uint32_t	tcpi_total_retrans;
 };
 
 
@@ -257,17 +258,17 @@ struct tcp_info
 struct tcp_md5sig
 {
   struct sockaddr_storage tcpm_addr;		/* Address associated.  */
-  u_int16_t	__tcpm_pad1;			/* Zero.  */
-  u_int16_t	tcpm_keylen;			/* Key length.  */
-  u_int32_t	__tcpm_pad2;			/* Zero.  */
-  u_int8_t	tcpm_key[TCP_MD5SIG_MAXKEYLEN];	/* Key (binary).  */
+  uint16_t	__tcpm_pad1;			/* Zero.  */
+  uint16_t	tcpm_keylen;			/* Key length.  */
+  uint32_t	__tcpm_pad2;			/* Zero.  */
+  uint8_t	tcpm_key[TCP_MD5SIG_MAXKEYLEN];	/* Key (binary).  */
 };
 
 /* For socket repair options.  */
 struct tcp_repair_opt
 {
-  u_int32_t	opt_code;
-  u_int32_t	opt_val;
+  uint32_t	opt_code;
+  uint32_t	opt_val;
 };
 
 /* Queue to repair, for TCP_REPAIR_QUEUE.  */
@@ -298,12 +299,12 @@ enum
 
 struct tcp_cookie_transactions
 {
-  u_int16_t	tcpct_flags;
-  u_int8_t	__tcpct_pad1;
-  u_int8_t	tcpct_cookie_desired;
-  u_int16_t	tcpct_s_data_desired;
-  u_int16_t	tcpct_used;
-  u_int8_t	tcpct_value[TCP_MSS_DEFAULT];
+  uint16_t	tcpct_flags;
+  uint8_t	__tcpct_pad1;
+  uint8_t	tcpct_cookie_desired;
+  uint16_t	tcpct_s_data_desired;
+  uint16_t	tcpct_used;
+  uint8_t	tcpct_value[TCP_MSS_DEFAULT];
 };
 
 #endif /* Misc.  */
diff --git a/sysdeps/gnu/netinet/udp.h b/sysdeps/gnu/netinet/udp.h
index e3d4492c8a..d5f60e499c 100644
--- a/sysdeps/gnu/netinet/udp.h
+++ b/sysdeps/gnu/netinet/udp.h
@@ -47,9 +47,8 @@
 #ifndef __NETINET_UDP_H
 #define __NETINET_UDP_H    1
 
-#include <features.h>
 #include <sys/types.h>
-
+#include <stdint.h>
 
 /* UDP header as specified by RFC 768, August 1980. */
 
@@ -59,17 +58,17 @@ struct udphdr
   {
     struct
     {
-      u_int16_t uh_sport;		/* source port */
-      u_int16_t uh_dport;		/* destination port */
-      u_int16_t uh_ulen;		/* udp length */
-      u_int16_t uh_sum;		/* udp checksum */
+      uint16_t uh_sport;	/* source port */
+      uint16_t uh_dport;	/* destination port */
+      uint16_t uh_ulen;		/* udp length */
+      uint16_t uh_sum;		/* udp checksum */
     };
     struct
     {
-      u_int16_t source;
-      u_int16_t dest;
-      u_int16_t len;
-      u_int16_t check;
+      uint16_t source;
+      uint16_t dest;
+      uint16_t len;
+      uint16_t check;
     };
   };
 };
diff --git a/sysdeps/mach/hurd/net/ethernet.h b/sysdeps/mach/hurd/net/ethernet.h
index 404311e7a2..ddac67800c 100644
--- a/sysdeps/mach/hurd/net/ethernet.h
+++ b/sysdeps/mach/hurd/net/ethernet.h
@@ -31,15 +31,15 @@ __BEGIN_DECLS
    systems.  */
 struct ether_addr
 {
-  u_int8_t ether_addr_octet[ETH_ALEN];
+  uint8_t ether_addr_octet[ETH_ALEN];
 };
 
 /* 10Mb/s ethernet header */
 struct ether_header
 {
-  u_int8_t  ether_dhost[ETH_ALEN];	/* destination eth addr	*/
-  u_int8_t  ether_shost[ETH_ALEN];	/* source ether addr	*/
-  u_int16_t ether_type;		        /* packet type ID field	*/
+  uint8_t  ether_dhost[ETH_ALEN];	/* destination eth addr	*/
+  uint8_t  ether_shost[ETH_ALEN];	/* source ether addr	*/
+  uint16_t ether_type;		        /* packet type ID field	*/
 };
 
 /* Ethernet protocol ID's */
diff --git a/sysdeps/mach/hurd/net/if_arp.h b/sysdeps/mach/hurd/net/if_arp.h
index 7ed5550a73..90d389df29 100644
--- a/sysdeps/mach/hurd/net/if_arp.h
+++ b/sysdeps/mach/hurd/net/if_arp.h
@@ -132,7 +132,7 @@ struct arpreq
 struct arpd_request
   {
     unsigned short int req;		/* Request type.  */
-    u_int32_t ip;			/* IP address of entry.  */
+    uint32_t ip;			/* IP address of entry.  */
     unsigned long int dev;		/* Device entry is tied to.  */
     unsigned long int stamp;
     unsigned long int updated;
diff --git a/sysdeps/mach/hurd/net/if_ppp.h b/sysdeps/mach/hurd/net/if_ppp.h
index 1b1c3ea6eb..b210d7fd06 100644
--- a/sysdeps/mach/hurd/net/if_ppp.h
+++ b/sysdeps/mach/hurd/net/if_ppp.h
@@ -114,8 +114,8 @@ struct npioctl {
 
 /* Structure describing a CCP configuration option, for PPPIOCSCOMPRESS */
 struct ppp_option_data {
-	u_int8_t  *ptr;
-	u_int32_t length;
+	uint8_t  *ptr;
+	uint32_t  length;
 	int	  transmit;
 };
 
diff --git a/sysdeps/mach/hurd/net/route.h b/sysdeps/mach/hurd/net/route.h
index a596ce18e3..d974950172 100644
--- a/sysdeps/mach/hurd/net/route.h
+++ b/sysdeps/mach/hurd/net/route.h
@@ -55,12 +55,12 @@ struct in6_rtmsg
     struct in6_addr rtmsg_dst;
     struct in6_addr rtmsg_src;
     struct in6_addr rtmsg_gateway;
-    u_int32_t rtmsg_type;
-    u_int16_t rtmsg_dst_len;
-    u_int16_t rtmsg_src_len;
-    u_int32_t rtmsg_metric;
+    uint32_t rtmsg_type;
+    uint16_t rtmsg_dst_len;
+    uint16_t rtmsg_src_len;
+    uint32_t rtmsg_metric;
     unsigned long int rtmsg_info;
-    u_int32_t rtmsg_flags;
+    uint32_t rtmsg_flags;
     int rtmsg_ifindex;
   };
 
@@ -109,7 +109,7 @@ struct in6_rtmsg
 #define RTF_NAT		0x08000000
 
 #define RTF_ADDRCLASSMASK	0xF8000000
-#define RT_ADDRCLASS(flags)	((__u_int32_t) flags >> 23)
+#define RT_ADDRCLASS(flags)	((uint32_t) flags >> 23)
 
 #define RT_TOS(tos)		((tos) & IPTOS_TOS_MASK)
 
diff --git a/sysdeps/mach/sys/reboot.h b/sysdeps/mach/sys/reboot.h
index fc7308929b..9beb8aef72 100644
--- a/sysdeps/mach/sys/reboot.h
+++ b/sysdeps/mach/sys/reboot.h
@@ -27,7 +27,7 @@
  * (pre-GNU) HISTORY
  *
  * Revision 2.8  93/03/11  13:46:40  danner
- * 	u_long -> u_int.
+ * 	unsigned long -> unsigned int.
  * 	[93/03/09            danner]
  *
  * Revision 2.7  92/05/21  17:25:11  jfriedl
@@ -145,8 +145,8 @@
 #define	B_TYPEMASK		0xff
 #define	B_TYPE(val)		(((val) >> B_TYPESHIFT) & B_TYPEMASK)
 
-#define	B_MAGICMASK	((u_int)0xf0000000U)
-#define	B_DEVMAGIC	((u_int)0xa0000000U)
+#define	B_MAGICMASK	0xf0000000U
+#define	B_DEVMAGIC	0xa0000000U
 
 #define MAKEBOOTDEV(type, adaptor, controller, unit, partition) \
 	(((type) << B_TYPESHIFT) | ((adaptor) << B_ADAPTORSHIFT) | \
diff --git a/sysdeps/unix/sysv/linux/bits/in.h b/sysdeps/unix/sysv/linux/bits/in.h
index 4d70a6baba..f2824bb55b 100644
--- a/sysdeps/unix/sysv/linux/bits/in.h
+++ b/sysdeps/unix/sysv/linux/bits/in.h
@@ -53,8 +53,8 @@
 #define        IP_RECVRETOPTS  IP_RETOPTS       /* bool; Receive IP options for response.  */
 #define        IP_RETOPTS      7       /* ip_opts; Set/get IP per-packet options.  */
 #define IP_MULTICAST_IF 32	/* in_addr; set/get IP multicast i/f */
-#define IP_MULTICAST_TTL 33	/* u_char; set/get IP multicast ttl */
-#define IP_MULTICAST_LOOP 34	/* i_char; set/get IP multicast loopback */
+#define IP_MULTICAST_TTL 33	/* unsigned char; set/get IP multicast ttl */
+#define IP_MULTICAST_LOOP 34	/* bool; set/get IP multicast loopback */
 #define IP_ADD_MEMBERSHIP 35	/* ip_mreq; add an IP group membership */
 #define IP_DROP_MEMBERSHIP 36	/* ip_mreq; drop an IP group membership */
 #define IP_UNBLOCK_SOURCE 37	/* ip_mreq_source: unblock data from source */
diff --git a/sysdeps/unix/sysv/linux/net/ethernet.h b/sysdeps/unix/sysv/linux/net/ethernet.h
index 3160e9341b..833473e41d 100644
--- a/sysdeps/unix/sysv/linux/net/ethernet.h
+++ b/sysdeps/unix/sysv/linux/net/ethernet.h
@@ -21,8 +21,9 @@
 #ifndef __NET_ETHERNET_H
 #define __NET_ETHERNET_H 1
 
-#include <sys/cdefs.h>
 #include <sys/types.h>
+#include <stdint.h>
+
 #include <linux/if_ether.h>     /* IEEE 802.3 Ethernet constants */
 
 __BEGIN_DECLS
@@ -31,15 +32,15 @@ __BEGIN_DECLS
    systems.  */
 struct ether_addr
 {
-  u_int8_t ether_addr_octet[ETH_ALEN];
+  uint8_t ether_addr_octet[ETH_ALEN];
 } __attribute__ ((__packed__));
 
 /* 10Mb/s ethernet header */
 struct ether_header
 {
-  u_int8_t  ether_dhost[ETH_ALEN];	/* destination eth addr	*/
-  u_int8_t  ether_shost[ETH_ALEN];	/* source ether addr	*/
-  u_int16_t ether_type;		        /* packet type ID field	*/
+  uint8_t  ether_dhost[ETH_ALEN];	/* destination eth addr	*/
+  uint8_t  ether_shost[ETH_ALEN];	/* source ether addr	*/
+  uint16_t ether_type;		        /* packet type ID field	*/
 } __attribute__ ((__packed__));
 
 /* Ethernet protocol ID's */
diff --git a/sysdeps/unix/sysv/linux/net/if_arp.h b/sysdeps/unix/sysv/linux/net/if_arp.h
index 1b3f1d3820..9a20c8358f 100644
--- a/sysdeps/unix/sysv/linux/net/if_arp.h
+++ b/sysdeps/unix/sysv/linux/net/if_arp.h
@@ -20,12 +20,11 @@
 /* Based on the 4.4BSD and Linux version of this file.  */
 
 #ifndef _NET_IF_ARP_H
-
 #define _NET_IF_ARP_H 1
-#include <sys/cdefs.h>
 
 #include <sys/types.h>
 #include <sys/socket.h>
+#include <stdint.h>
 
 __BEGIN_DECLS
 
@@ -171,7 +170,7 @@ struct arpreq_old
 struct arpd_request
   {
     unsigned short int req;		/* Request type.  */
-    u_int32_t ip;			/* IP address of entry.  */
+    uint32_t ip;			/* IP address of entry.  */
     unsigned long int dev;		/* Device entry is tied to.  */
     unsigned long int stamp;
     unsigned long int updated;
diff --git a/sysdeps/unix/sysv/linux/net/if_ppp.h b/sysdeps/unix/sysv/linux/net/if_ppp.h
index 1b1c3ea6eb..9994982fc0 100644
--- a/sysdeps/unix/sysv/linux/net/if_ppp.h
+++ b/sysdeps/unix/sysv/linux/net/if_ppp.h
@@ -49,8 +49,7 @@
 #define __NET_IF_PPP_H 1
 
 #include <sys/types.h>
-#include <sys/cdefs.h>
-
+#include <stdint.h>
 #include <net/if.h>
 #include <sys/ioctl.h>
 #include <net/ppp_defs.h>
@@ -114,9 +113,9 @@ struct npioctl {
 
 /* Structure describing a CCP configuration option, for PPPIOCSCOMPRESS */
 struct ppp_option_data {
-	u_int8_t  *ptr;
-	u_int32_t length;
-	int	  transmit;
+	uint8_t  *ptr;
+	uint32_t length;
+	int	 transmit;
 };
 
 struct ifpppstatsreq {
diff --git a/sysdeps/unix/sysv/linux/net/if_shaper.h b/sysdeps/unix/sysv/linux/net/if_shaper.h
index 956ad62c9b..e318794e0f 100644
--- a/sysdeps/unix/sysv/linux/net/if_shaper.h
+++ b/sysdeps/unix/sysv/linux/net/if_shaper.h
@@ -18,8 +18,8 @@
 #ifndef _NET_IF_SHAPER_H
 #define _NET_IF_SHAPER_H 1
 
-#include <features.h>
 #include <sys/types.h>
+#include <stdint.h>
 #include <net/if.h>
 #include <sys/ioctl.h>
 
@@ -43,11 +43,11 @@ __BEGIN_DECLS
 
 struct shaperconf
 {
-  u_int16_t ss_cmd;
+  uint16_t ss_cmd;
   union
   {
     char ssu_name[14];
-    u_int32_t ssu_speed;
+    uint32_t ssu_speed;
   } ss_u;
 #define ss_speed ss_u.ssu_speed
 #define ss_name ss_u.ssu_name
diff --git a/sysdeps/unix/sysv/linux/net/route.h b/sysdeps/unix/sysv/linux/net/route.h
index 11d21c6cf1..ea785ab04a 100644
--- a/sysdeps/unix/sysv/linux/net/route.h
+++ b/sysdeps/unix/sysv/linux/net/route.h
@@ -59,12 +59,12 @@ struct in6_rtmsg
     struct in6_addr rtmsg_dst;
     struct in6_addr rtmsg_src;
     struct in6_addr rtmsg_gateway;
-    u_int32_t rtmsg_type;
-    u_int16_t rtmsg_dst_len;
-    u_int16_t rtmsg_src_len;
-    u_int32_t rtmsg_metric;
+    uint32_t rtmsg_type;
+    uint16_t rtmsg_dst_len;
+    uint16_t rtmsg_src_len;
+    uint32_t rtmsg_metric;
     unsigned long int rtmsg_info;
-    u_int32_t rtmsg_flags;
+    uint32_t rtmsg_flags;
     int rtmsg_ifindex;
   };
 
@@ -113,7 +113,7 @@ struct in6_rtmsg
 #define RTF_NAT		0x08000000
 
 #define RTF_ADDRCLASSMASK	0xF8000000
-#define RT_ADDRCLASS(flags)	((__u_int32_t) flags >> 23)
+#define RT_ADDRCLASS(flags)	((uint32_t) flags >> 23)
 
 #define RT_TOS(tos)		((tos) & IPTOS_TOS_MASK)
 
diff --git a/sysdeps/unix/sysv/linux/netinet/if_ether.h b/sysdeps/unix/sysv/linux/netinet/if_ether.h
index e9ed13774f..ccd8cebbaf 100644
--- a/sysdeps/unix/sysv/linux/netinet/if_ether.h
+++ b/sysdeps/unix/sysv/linux/netinet/if_ether.h
@@ -70,10 +70,10 @@ __BEGIN_DECLS
  */
 struct	ether_arp {
 	struct	arphdr ea_hdr;		/* fixed-size header */
-	u_int8_t arp_sha[ETH_ALEN];	/* sender hardware address */
-	u_int8_t arp_spa[4];		/* sender protocol address */
-	u_int8_t arp_tha[ETH_ALEN];	/* target hardware address */
-	u_int8_t arp_tpa[4];		/* target protocol address */
+	uint8_t arp_sha[ETH_ALEN];	/* sender hardware address */
+	uint8_t arp_spa[4];		/* sender protocol address */
+	uint8_t arp_tha[ETH_ALEN];	/* target hardware address */
+	uint8_t arp_tpa[4];		/* target protocol address */
 };
 #define	arp_hrd	ea_hdr.ar_hrd
 #define	arp_pro	ea_hdr.ar_pro
@@ -88,14 +88,14 @@ struct	ether_arp {
  */
 #define ETHER_MAP_IP_MULTICAST(ipaddr, enaddr) \
 	/* struct in_addr *ipaddr; */ \
-	/* u_char enaddr[ETH_ALEN];	   */ \
+	/* uint8_t enaddr[ETH_ALEN]; */ \
 { \
 	(enaddr)[0] = 0x01; \
 	(enaddr)[1] = 0x00; \
 	(enaddr)[2] = 0x5e; \
-	(enaddr)[3] = ((u_int8_t *)ipaddr)[1] & 0x7f; \
-	(enaddr)[4] = ((u_int8_t *)ipaddr)[2]; \
-	(enaddr)[5] = ((u_int8_t *)ipaddr)[3]; \
+	(enaddr)[3] = ((uint8_t *)ipaddr)[1] & 0x7f; \
+	(enaddr)[4] = ((uint8_t *)ipaddr)[2]; \
+	(enaddr)[5] = ((uint8_t *)ipaddr)[3]; \
 }
 
 __END_DECLS
diff --git a/sysdeps/unix/sysv/linux/netinet/if_fddi.h b/sysdeps/unix/sysv/linux/netinet/if_fddi.h
index 6e0ab370de..675801418f 100644
--- a/sysdeps/unix/sysv/linux/netinet/if_fddi.h
+++ b/sysdeps/unix/sysv/linux/netinet/if_fddi.h
@@ -18,18 +18,16 @@
 #ifndef _NETINET_IF_FDDI_H
 #define	_NETINET_IF_FDDI_H 1
 
-#include <sys/cdefs.h>
 #include <sys/types.h>
-#include <asm/types.h>
-
+#include <stdint.h>
 #include <linux/if_fddi.h>
 
 #ifdef __USE_MISC
 
 struct fddi_header {
-  u_int8_t fddi_fc;                    /* Frame Control (FC) value */
-  u_int8_t fddi_dhost[FDDI_K_ALEN];    /* Destination host */
-  u_int8_t fddi_shost[FDDI_K_ALEN];    /* Source host */
+  uint8_t fddi_fc;                    /* Frame Control (FC) value */
+  uint8_t fddi_dhost[FDDI_K_ALEN];    /* Destination host */
+  uint8_t fddi_shost[FDDI_K_ALEN];    /* Source host */
 };
 #endif
 
diff --git a/sysdeps/unix/sysv/linux/netinet/if_tr.h b/sysdeps/unix/sysv/linux/netinet/if_tr.h
index c203d11be1..814a35d5da 100644
--- a/sysdeps/unix/sysv/linux/netinet/if_tr.h
+++ b/sysdeps/unix/sysv/linux/netinet/if_tr.h
@@ -18,8 +18,8 @@
 #ifndef _NETINET_IF_TR_H
 #define	_NETINET_IF_TR_H 1
 
-#include <sys/cdefs.h>
 #include <sys/types.h>
+#include <stdint.h>
 
 /* IEEE 802.5 Token-Ring magic constants.  The frame sizes omit the preamble
    and FCS/CRC (frame check sequence). */
@@ -35,22 +35,22 @@
 /* This is an Token-Ring frame header. */
 struct trh_hdr
 {
-  u_int8_t  ac;			/* access control field */
-  u_int8_t  fc;			/* frame control field */
-  u_int8_t  daddr[TR_ALEN];	/* destination address */
-  u_int8_t  saddr[TR_ALEN];	/* source address */
-  u_int16_t rcf;		/* route control field */
-  u_int16_t rseg[8];		/* routing registers */
+  uint8_t  ac;			/* access control field */
+  uint8_t  fc;			/* frame control field */
+  uint8_t  daddr[TR_ALEN];	/* destination address */
+  uint8_t  saddr[TR_ALEN];	/* source address */
+  uint16_t rcf;			/* route control field */
+  uint16_t rseg[8];		/* routing registers */
 };
 
 /* This is an Token-Ring LLC structure */
 struct trllc
 {
-  u_int8_t  dsap;		/* destination SAP */
-  u_int8_t  ssap;		/* source SAP */
-  u_int8_t  llc;		/* LLC control field */
-  u_int8_t  protid[3];		/* protocol id */
-  u_int16_t ethertype;		/* ether type field */
+  uint8_t  dsap;		/* destination SAP */
+  uint8_t  ssap;		/* source SAP */
+  uint8_t  llc;			/* LLC control field */
+  uint8_t  protid[3];		/* protocol id */
+  uint16_t ethertype;		/* ether type field */
 };
 
 /* Token-Ring statistics collection data. */
@@ -97,12 +97,12 @@ struct tr_statistics
 
 struct trn_hdr
 {
-  u_int8_t trn_ac;                /* access control field */
-  u_int8_t trn_fc;                /* field control field */
-  u_int8_t trn_dhost[TR_ALEN];    /* destination host */
-  u_int8_t trn_shost[TR_ALEN];    /* source host */
-  u_int16_t trn_rcf;              /* route control field */
-  u_int16_t trn_rseg[8];          /* routing registers */
+  uint8_t trn_ac;                /* access control field */
+  uint8_t trn_fc;                /* field control field */
+  uint8_t trn_dhost[TR_ALEN];    /* destination host */
+  uint8_t trn_shost[TR_ALEN];    /* source host */
+  uint16_t trn_rcf;              /* route control field */
+  uint16_t trn_rseg[8];          /* routing registers */
 };
 
 #endif
diff --git a/sysdeps/unix/sysv/linux/netipx/ipx.h b/sysdeps/unix/sysv/linux/netipx/ipx.h
index 855ab9903d..338aab5095 100644
--- a/sysdeps/unix/sysv/linux/netipx/ipx.h
+++ b/sysdeps/unix/sysv/linux/netipx/ipx.h
@@ -18,9 +18,8 @@
 #ifndef __NETIPX_IPX_H
 #define __NETIPX_IPX_H 1
 
-#include <features.h>
-
 #include <sys/types.h>
+#include <stdint.h>
 #include <bits/sockaddr.h>
 
 __BEGIN_DECLS
@@ -34,10 +33,10 @@ __BEGIN_DECLS
 struct sockaddr_ipx
   {
     sa_family_t sipx_family;
-    u_int16_t sipx_port;
-    u_int32_t sipx_network;
+    uint16_t sipx_port;
+    uint32_t sipx_network;
     unsigned char sipx_node[IPX_NODE_LEN];
-    u_int8_t sipx_type;
+    uint8_t sipx_type;
     unsigned char sipx_zero;	/* 16 byte fill */
   };
 
diff --git a/sysdeps/unix/sysv/linux/sys/acct.h b/sysdeps/unix/sysv/linux/sys/acct.h
index ea0e7fde23..d24c2a7267 100644
--- a/sysdeps/unix/sysv/linux/sys/acct.h
+++ b/sysdeps/unix/sysv/linux/sys/acct.h
@@ -18,12 +18,11 @@
 #ifndef _SYS_ACCT_H
 #define _SYS_ACCT_H	1
 
-#include <features.h>
-
+#include <sys/types.h>
+#include <stdint.h>
 #include <endian.h>
 #define	__need_time_t
 #include <time.h>
-#include <sys/types.h>
 
 __BEGIN_DECLS
 
@@ -35,15 +34,15 @@ __BEGIN_DECLS
   specific encoding system used.
 */
 
-typedef u_int16_t comp_t;
+typedef uint16_t comp_t;
 
 struct acct
 {
   char ac_flag;			/* Flags.  */
-  u_int16_t ac_uid;		/* Real user ID.  */
-  u_int16_t ac_gid;		/* Real group ID.  */
-  u_int16_t ac_tty;		/* Controlling terminal.  */
-  u_int32_t ac_btime;		/* Beginning time.  */
+  uint16_t ac_uid;		/* Real user ID.  */
+  uint16_t ac_gid;		/* Real group ID.  */
+  uint16_t ac_tty;		/* Controlling terminal.  */
+  uint32_t ac_btime;		/* Beginning time.  */
   comp_t ac_utime;		/* User time.  */
   comp_t ac_stime;		/* System time.  */
   comp_t ac_etime;		/* Elapsed time.  */
@@ -53,7 +52,7 @@ struct acct
   comp_t ac_minflt;		/* Minor pagefaults.  */
   comp_t ac_majflt;		/* Major pagefaults.  */
   comp_t ac_swaps;		/* Number of swaps.  */
-  u_int32_t ac_exitcode;	/* Process exitcode.  */
+  uint32_t ac_exitcode;		/* Process exitcode.  */
   char ac_comm[ACCT_COMM+1];	/* Command name.  */
   char ac_pad[10];		/* Padding bytes.  */
 };
@@ -63,13 +62,13 @@ struct acct_v3
 {
   char ac_flag;			/* Flags */
   char ac_version;		/* Always set to ACCT_VERSION */
-  u_int16_t ac_tty;		/* Control Terminal */
-  u_int32_t ac_exitcode;	/* Exitcode */
-  u_int32_t ac_uid;		/* Real User ID */
-  u_int32_t ac_gid;		/* Real Group ID */
-  u_int32_t ac_pid;		/* Process ID */
-  u_int32_t ac_ppid;		/* Parent Process ID */
-  u_int32_t ac_btime;		/* Process Creation Time */
+  uint16_t ac_tty;		/* Control Terminal */
+  uint32_t ac_exitcode;		/* Exitcode */
+  uint32_t ac_uid;		/* Real User ID */
+  uint32_t ac_gid;		/* Real Group ID */
+  uint32_t ac_pid;		/* Process ID */
+  uint32_t ac_ppid;		/* Parent Process ID */
+  uint32_t ac_btime;		/* Process Creation Time */
   float ac_etime;		/* Elapsed Time */
   comp_t ac_utime;		/* User Time */
   comp_t ac_stime;		/* System Time */