diff --git a/iputils/ping.h b/iputils/ping.h
index e2923cd4c041b567ddd9319dfa2efc619b69a3ed..ddc445f9322fb63c089f50272e27b637adf55aa1 100644
--- a/iputils/ping.h
+++ b/iputils/ping.h
@@ -1,14 +1,26 @@
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
 #include <time.h>
 #include <signal.h>
 #include <poll.h>
+
 #include <sys/param.h>
 #include <sys/socket.h>
+
+#define __USE_GNU
+
+#include <netinet/in.h>
+#include <netinet/ip.h>
+#include <netinet/ip6.h>
+#include <netinet/ip_icmp.h>
+#include <netinet/icmp6.h>
+
+#include <linux/filter.h>
 #include <linux/types.h>
 #include <linux/sockios.h>
-# define __USE_KERNEL_IPV6_DEFS
+
 #include <sys/file.h>
 #include <sys/time.h>
 #include <sys/ioctl.h>
@@ -19,16 +31,11 @@
 #include <string.h>
 #include <netdb.h>
 #include <setjmp.h>
-#include <netinet/icmp6.h>
+
 #include <asm/byteorder.h>
 #include <sched.h>
 #include <math.h>
 
-#include <netinet/ip.h>
-#include <netinet/ip6.h>
-#include <netinet/ip_icmp.h>
-#include <netinet/icmp6.h>
-#include <linux/filter.h>
 #include <resolv.h>
 
 #include "iputils.h"
@@ -77,56 +84,56 @@
 #define SCOPE_DELIMITER '%'
 #endif
 
-#define	DEFDATALEN	(64 - 8)	/* default data length */
+#define DEFDATALEN  (64 - 8)  /* default data length */
 
-#define	MAXWAIT		10		/* max seconds to wait for response */
-#define MININTERVAL	10		/* Minimal interpacket gap */
-#define MINUSERINTERVAL	200		/* Minimal allowed interval for non-root */
+#define MAXWAIT   10    /* max seconds to wait for response */
+#define MININTERVAL 10    /* Minimal interpacket gap */
+#define MINUSERINTERVAL 200   /* Minimal allowed interval for non-root */
 
-#define SCHINT(a)	(((a) <= MININTERVAL) ? MININTERVAL : (a))
+#define SCHINT(a) (((a) <= MININTERVAL) ? MININTERVAL : (a))
 
 /* various options */
 extern int options;
-#define	F_FLOOD		0x001
-#define	F_INTERVAL	0x002
-#define	F_NUMERIC	0x004
-#define	F_PINGFILLED	0x008
-#define	F_QUIET		0x010
-#define	F_RROUTE	0x020
-#define	F_SO_DEBUG	0x040
-#define	F_SO_DONTROUTE	0x080
-#define	F_VERBOSE	0x100
-#define	F_TIMESTAMP	0x200
-#define	F_SOURCEROUTE	0x400
-#define	F_FLOOD_POLL	0x800
-#define	F_LATENCY	0x1000
-#define	F_AUDIBLE	0x2000
-#define	F_ADAPTIVE	0x4000
-#define	F_STRICTSOURCE	0x8000
-#define F_NOLOOP	0x10000
-#define F_TTL		0x20000
-#define F_MARK		0x40000
-#define F_PTIMEOFDAY	0x80000
-#define F_OUTSTANDING	0x100000
-#define F_FLOWINFO	0x200000
-#define F_TCLASS	0x400000
+#define F_FLOOD   0x001
+#define F_INTERVAL  0x002
+#define F_NUMERIC 0x004
+#define F_PINGFILLED  0x008
+#define F_QUIET   0x010
+#define F_RROUTE  0x020
+#define F_SO_DEBUG  0x040
+#define F_SO_DONTROUTE  0x080
+#define F_VERBOSE 0x100
+#define F_TIMESTAMP 0x200
+#define F_SOURCEROUTE 0x400
+#define F_FLOOD_POLL  0x800
+#define F_LATENCY 0x1000
+#define F_AUDIBLE 0x2000
+#define F_ADAPTIVE  0x4000
+#define F_STRICTSOURCE  0x8000
+#define F_NOLOOP  0x10000
+#define F_TTL   0x20000
+#define F_MARK    0x40000
+#define F_PTIMEOFDAY  0x80000
+#define F_OUTSTANDING 0x100000
+#define F_FLOWINFO  0x200000
+#define F_TCLASS  0x400000
 
 /*
  * MAX_DUP_CHK is the number of bits in received table, i.e. the maximum
  * number of received sequence numbers we can keep track of.
  */
-#define	MAX_DUP_CHK	0x10000
+#define MAX_DUP_CHK 0x10000
 
 #if defined(__WORDSIZE) && __WORDSIZE == 64
 # define USE_BITMAP64
 #endif
 
 #ifdef USE_BITMAP64
-typedef uint64_t	bitmap_t;
-# define BITMAP_SHIFT	6
+typedef uint64_t  bitmap_t;
+# define BITMAP_SHIFT 6
 #else
-typedef uint32_t	bitmap_t;
-# define BITMAP_SHIFT	5
+typedef uint32_t  bitmap_t;
+# define BITMAP_SHIFT 5
 #endif
 
 #if ((MAX_DUP_CHK >> (BITMAP_SHIFT + 3)) << (BITMAP_SHIFT + 3)) != MAX_DUP_CHK
@@ -134,67 +141,67 @@ typedef uint32_t	bitmap_t;
 #endif
 
 struct rcvd_table {
-	bitmap_t bitmap[MAX_DUP_CHK / (sizeof(bitmap_t) * 8)];
+  bitmap_t bitmap[MAX_DUP_CHK / (sizeof(bitmap_t) * 8)];
 };
 
 extern struct rcvd_table rcvd_tbl;
 
-#define	A(bit)	(rcvd_tbl.bitmap[(bit) >> BITMAP_SHIFT])	/* identify word in array */
-#define	B(bit)	(((bitmap_t)1) << ((bit) & ((1 << BITMAP_SHIFT) - 1)))	/* identify bit in word */
+#define A(bit)  (rcvd_tbl.bitmap[(bit) >> BITMAP_SHIFT])  /* identify word in array */
+#define B(bit)  (((bitmap_t)1) << ((bit) & ((1 << BITMAP_SHIFT) - 1)))  /* identify bit in word */
 
 static inline void rcvd_set(uint16_t seq)
 {
-	unsigned bit = seq % MAX_DUP_CHK;
-	A(bit) |= B(bit);
+  unsigned bit = seq % MAX_DUP_CHK;
+  A(bit) |= B(bit);
 }
 
 static inline void rcvd_clear(uint16_t seq)
 {
-	unsigned bit = seq % MAX_DUP_CHK;
-	A(bit) &= ~B(bit);
+  unsigned bit = seq % MAX_DUP_CHK;
+  A(bit) &= ~B(bit);
 }
 
 static inline bitmap_t rcvd_test(uint16_t seq)
 {
-	unsigned bit = seq % MAX_DUP_CHK;
-	return A(bit) & B(bit);
+  unsigned bit = seq % MAX_DUP_CHK;
+  return A(bit) & B(bit);
 }
 
 #ifndef HAVE_ERROR_H
 static void error(int status, int errnum, const char *format, ...)
 {
-	va_list ap;
-
-	fprintf(stderr, "ping: ");
-	va_start(ap, format);
-	vfprintf(stderr, format, ap);
-	va_end(ap);
-	if (errnum)
-		fprintf(stderr, ": %s\n", strerror(errnum));
-	else
-		fprintf(stderr, "\n");
-	if (status)
-		exit(status);
+  va_list ap;
+
+  fprintf(stderr, "ping: ");
+  va_start(ap, format);
+  vfprintf(stderr, format, ap);
+  va_end(ap);
+  if (errnum)
+    fprintf(stderr, ": %s\n", strerror(errnum));
+  else
+    fprintf(stderr, "\n");
+  if (status)
+    exit(status);
 }
 #endif
 
 extern int datalen;
 extern char *hostname;
 extern int uid;
-extern int ident;			/* process id to identify our packets */
+extern int ident;     /* process id to identify our packets */
 
 extern int sndbuf;
 extern int ttl;
 
-extern long npackets;			/* max packets to transmit */
-extern long nreceived;			/* # of packets we got back */
-extern long nrepeats;			/* number of duplicates */
-extern long ntransmitted;		/* sequence # for outbound packets = #sent */
-extern long nchecksum;			/* replies with bad checksum */
-extern long nerrors;			/* icmp errors */
-extern int interval;			/* interval between packets (msec) */
+extern long npackets;     /* max packets to transmit */
+extern long nreceived;      /* # of packets we got back */
+extern long nrepeats;     /* number of duplicates */
+extern long ntransmitted;   /* sequence # for outbound packets = #sent */
+extern long nchecksum;      /* replies with bad checksum */
+extern long nerrors;      /* icmp errors */
+extern int interval;      /* interval between packets (msec) */
 extern int preload;
-extern int deadline;			/* time to die */
+extern int deadline;      /* time to die */
 extern int lingertime;
 extern struct timeval start_time, cur_time;
 extern volatile int exiting;
@@ -204,7 +211,7 @@ extern int confirm_flag;
 extern char *device;
 extern int pmtudisc;
 
-extern volatile int in_pr_addr;		/* pr_addr() is executing */
+extern volatile int in_pr_addr;   /* pr_addr() is executing */
 extern jmp_buf pr_addr_jmp;
 
 #ifndef MSG_CONFIRM
@@ -213,10 +220,10 @@ extern jmp_buf pr_addr_jmp;
 
 
 /* timing */
-extern int timing;			/* flag to do timing */
-extern long tmin;			/* minimum round trip time */
-extern long tmax;			/* maximum round trip time */
-extern long long tsum;			/* sum of all times, for doing average */
+extern int timing;      /* flag to do timing */
+extern long tmin;     /* minimum round trip time */
+extern long tmax;     /* maximum round trip time */
+extern long long tsum;      /* sum of all times, for doing average */
 extern long long tsum2;
 extern int rtt;
 extern uint16_t acked;
@@ -227,71 +234,71 @@ extern int pipesize;
  */
 static inline void write_stdout(const char *str, size_t len)
 {
-	size_t o = 0;
-	ssize_t cc;
-	do {
-		cc = write(STDOUT_FILENO, str + o, len - o);
-		o += cc;
-	} while (len > o || cc < 0);
+  size_t o = 0;
+  ssize_t cc;
+  do {
+    cc = write(STDOUT_FILENO, str + o, len - o);
+    o += cc;
+  } while (len > o || cc < 0);
 }
 
 /*
  * tvsub --
- *	Subtract 2 timeval structs:  out = out - in.  Out is assumed to
+ *  Subtract 2 timeval structs:  out = out - in.  Out is assumed to
  * be >= in.
  */
 static inline void tvsub(struct timeval *out, struct timeval *in)
 {
-	if ((out->tv_usec -= in->tv_usec) < 0) {
-		--out->tv_sec;
-		out->tv_usec += 1000000;
-	}
-	out->tv_sec -= in->tv_sec;
+  if ((out->tv_usec -= in->tv_usec) < 0) {
+    --out->tv_sec;
+    out->tv_usec += 1000000;
+  }
+  out->tv_sec -= in->tv_sec;
 }
 
 static inline void set_signal(int signo, void (*handler)(int))
 {
-	struct sigaction sa;
+  struct sigaction sa;
 
-	memset(&sa, 0, sizeof(sa));
+  memset(&sa, 0, sizeof(sa));
 
-	sa.sa_handler = (void (*)(int))handler;
-	sigaction(signo, &sa, NULL);
+  sa.sa_handler = (void (*)(int))handler;
+  sigaction(signo, &sa, NULL);
 }
 
 extern int __schedule_exit(int next);
 
 static inline int schedule_exit(int next)
 {
-	if (npackets && ntransmitted >= npackets && !deadline)
-		next = __schedule_exit(next);
-	return next;
+  if (npackets && ntransmitted >= npackets && !deadline)
+    next = __schedule_exit(next);
+  return next;
 }
 
 static inline int in_flight(void)
 {
-	uint16_t diff = (uint16_t)ntransmitted - acked;
-	return (diff<=0x7FFF) ? diff : ntransmitted-nreceived-nerrors;
+  uint16_t diff = (uint16_t)ntransmitted - acked;
+  return (diff<=0x7FFF) ? diff : ntransmitted-nreceived-nerrors;
 }
 
 static inline void acknowledge(uint16_t seq)
 {
-	uint16_t diff = (uint16_t)ntransmitted - seq;
-	if (diff <= 0x7FFF) {
-		if ((int)diff+1 > pipesize)
-			pipesize = (int)diff+1;
-		if ((int16_t)(seq - acked) > 0 ||
-		    (uint16_t)ntransmitted - acked > 0x7FFF)
-			acked = seq;
-	}
+  uint16_t diff = (uint16_t)ntransmitted - seq;
+  if (diff <= 0x7FFF) {
+    if ((int)diff+1 > pipesize)
+      pipesize = (int)diff+1;
+    if ((int16_t)(seq - acked) > 0 ||
+        (uint16_t)ntransmitted - acked > 0x7FFF)
+      acked = seq;
+  }
 }
 
 static inline void advance_ntransmitted(void)
 {
-	ntransmitted++;
-	/* Invalidate acked, if 16 bit seq overflows. */
-	if ((uint16_t)ntransmitted - acked > 0x7FFF)
-		acked = (uint16_t)ntransmitted + 1;
+  ntransmitted++;
+  /* Invalidate acked, if 16 bit seq overflows. */
+  if ((uint16_t)ntransmitted - acked > 0x7FFF)
+    acked = (uint16_t)ntransmitted + 1;
 }
 
 extern void usage(void) __attribute__((noreturn));
@@ -302,22 +309,22 @@ static int enable_capability_admin(void);
 static int disable_capability_admin(void);
 #ifdef HAVE_LIBCAP
 extern int modify_capability(cap_value_t, cap_flag_value_t);
-static inline int enable_capability_raw(void)		{ return modify_capability(CAP_NET_RAW,   CAP_SET);   }
-static inline int disable_capability_raw(void)		{ return modify_capability(CAP_NET_RAW,   CAP_CLEAR); }
-static inline int enable_capability_admin(void)		{ return modify_capability(CAP_NET_ADMIN, CAP_SET);   }
-static inline int disable_capability_admin(void)	{ return modify_capability(CAP_NET_ADMIN, CAP_CLEAR); }
+static inline int enable_capability_raw(void)   { return modify_capability(CAP_NET_RAW,   CAP_SET);   }
+static inline int disable_capability_raw(void)    { return modify_capability(CAP_NET_RAW,   CAP_CLEAR); }
+static inline int enable_capability_admin(void)   { return modify_capability(CAP_NET_ADMIN, CAP_SET);   }
+static inline int disable_capability_admin(void)  { return modify_capability(CAP_NET_ADMIN, CAP_CLEAR); }
 #else
 extern int modify_capability(int);
-static inline int enable_capability_raw(void)		{ return modify_capability(1); }
-static inline int disable_capability_raw(void)		{ return modify_capability(0); }
-static inline int enable_capability_admin(void)		{ return modify_capability(1); }
-static inline int disable_capability_admin(void)	{ return modify_capability(0); }
+static inline int enable_capability_raw(void)   { return modify_capability(1); }
+static inline int disable_capability_raw(void)    { return modify_capability(0); }
+static inline int enable_capability_admin(void)   { return modify_capability(1); }
+static inline int disable_capability_admin(void)  { return modify_capability(0); }
 #endif
 extern void drop_capabilities(void);
 
 typedef struct socket_st {
-	int fd;
-	int socktype;
+  int fd;
+  int socktype;
 } socket_st;
 
 char *pr_addr(void *sa, socklen_t salen);
@@ -331,13 +338,13 @@ int ping4_parse_reply(socket_st *, struct msghdr *msg, int len, void *addr, stru
 void ping4_install_filter(socket_st *);
 
 typedef struct ping_func_set_st {
-	int (*send_probe)(socket_st *, void *packet, unsigned packet_size);
-	int (*receive_error_msg)(socket_st *sock);
-	int (*parse_reply)(socket_st *, struct msghdr *msg, int len, void *addr, struct timeval *);
-	void (*install_filter)(socket_st *);
+  int (*send_probe)(socket_st *, void *packet, unsigned packet_size);
+  int (*receive_error_msg)(socket_st *sock);
+  int (*parse_reply)(socket_st *, struct msghdr *msg, int len, void *addr, struct timeval *);
+  void (*install_filter)(socket_st *);
 } ping_func_set_st;
 
-#define	MAXPACKET	128000		/* max packet size */
+#define MAXPACKET 128000    /* max packet size */
 extern ping_func_set_st ping4_func_set;
 
 extern int pinger(ping_func_set_st *fset, socket_st *sock);
@@ -349,9 +356,9 @@ extern void finish(void);// __attribute__((noreturn));
 extern void status(void);
 extern void common_options(int ch);
 extern int gather_statistics(uint8_t *ptr, int icmplen,
-			     int cc, uint16_t seq, int hops,
-			     int csfailed, struct timeval *tv, char *from,
-			     void (*pr_reply)(uint8_t *ptr, int cc));
+           int cc, uint16_t seq, int hops,
+           int csfailed, struct timeval *tv, char *from,
+           void (*pr_reply)(uint8_t *ptr, int cc));
 extern void print_timestamp(void);
 void fill(char *patp, unsigned char *packet, unsigned packet_size);
 
@@ -380,50 +387,50 @@ extern struct sockaddr_in6 firsthop6;
 
 /* IPv6 node information query */
 
-#define NI_NONCE_SIZE			8
+#define NI_NONCE_SIZE     8
 
 struct ni_hdr {
-	struct icmp6_hdr		ni_u;
-	uint8_t				ni_nonce[NI_NONCE_SIZE];
+  struct icmp6_hdr    ni_u;
+  uint8_t       ni_nonce[NI_NONCE_SIZE];
 };
 
-#define ni_type		ni_u.icmp6_type
-#define ni_code		ni_u.icmp6_code
-#define ni_cksum	ni_u.icmp6_cksum
-#define ni_qtype	ni_u.icmp6_data16[0]
-#define ni_flags	ni_u.icmp6_data16[1]
+#define ni_type   ni_u.icmp6_type
+#define ni_code   ni_u.icmp6_code
+#define ni_cksum  ni_u.icmp6_cksum
+#define ni_qtype  ni_u.icmp6_data16[0]
+#define ni_flags  ni_u.icmp6_data16[1]
 
 /* Types */
 #ifndef ICMPV6_NI_QUERY
-# define ICMPV6_NI_QUERY		139
-# define ICMPV6_NI_REPLY		140
+# define ICMPV6_NI_QUERY    139
+# define ICMPV6_NI_REPLY    140
 #endif
 
 /* Query Codes */
-#define NI_SUBJ_IPV6			0
-#define NI_SUBJ_NAME			1
-#define NI_SUBJ_IPV4			2
+#define NI_SUBJ_IPV6      0
+#define NI_SUBJ_NAME      1
+#define NI_SUBJ_IPV4      2
 
 /* Reply Codes */
-#define NI_SUCCESS			0
-#define NI_REFUSED			1
-#define NI_UNKNOWN			2
+#define NI_SUCCESS      0
+#define NI_REFUSED      1
+#define NI_UNKNOWN      2
 
 /* Qtypes */
-#define NI_QTYPE_NOOP			0
-#define NI_QTYPE_NAME			2
-#define NI_QTYPE_IPV6ADDR		3
-#define NI_QTYPE_IPV4ADDR		4
+#define NI_QTYPE_NOOP     0
+#define NI_QTYPE_NAME     2
+#define NI_QTYPE_IPV6ADDR   3
+#define NI_QTYPE_IPV4ADDR   4
 
 /* Flags */
-#define NI_IPV6ADDR_F_TRUNCATE		__constant_cpu_to_be16(0x0001)
-#define NI_IPV6ADDR_F_ALL		__constant_cpu_to_be16(0x0002)
-#define NI_IPV6ADDR_F_COMPAT		__constant_cpu_to_be16(0x0004)
-#define NI_IPV6ADDR_F_LINKLOCAL		__constant_cpu_to_be16(0x0008)
-#define NI_IPV6ADDR_F_SITELOCAL		__constant_cpu_to_be16(0x0010)
-#define NI_IPV6ADDR_F_GLOBAL		__constant_cpu_to_be16(0x0020)
-
-#define NI_IPV4ADDR_F_TRUNCATE		NI_IPV6ADDR_F_TRUNCATE
-#define NI_IPV4ADDR_F_ALL		NI_IPV6ADDR_F_ALL
+#define NI_IPV6ADDR_F_TRUNCATE    __constant_cpu_to_be16(0x0001)
+#define NI_IPV6ADDR_F_ALL   __constant_cpu_to_be16(0x0002)
+#define NI_IPV6ADDR_F_COMPAT    __constant_cpu_to_be16(0x0004)
+#define NI_IPV6ADDR_F_LINKLOCAL   __constant_cpu_to_be16(0x0008)
+#define NI_IPV6ADDR_F_SITELOCAL   __constant_cpu_to_be16(0x0010)
+#define NI_IPV6ADDR_F_GLOBAL    __constant_cpu_to_be16(0x0020)
+
+#define NI_IPV4ADDR_F_TRUNCATE    NI_IPV6ADDR_F_TRUNCATE
+#define NI_IPV4ADDR_F_ALL   NI_IPV6ADDR_F_ALL