lib/tun: split generic network device related stuff to lib/netdev

Change-Id: Ib021e392637a43d5cf1b40e0d50621fe7e854ba5
diff --git a/lib/tun.h b/lib/tun.h
index af9e9f4..c9e8e34 100644
--- a/lib/tun.h
+++ b/lib/tun.h
@@ -1,7 +1,7 @@
 /*
  * TUN interface functions.
  * Copyright (C) 2002, 2003 Mondru AB.
- * Copyright (C) 2017 by Harald Welte <laforge@gnumonks.org>
+ * Copyright (C) 2017-2018 by Harald Welte <laforge@gnumonks.org>
  *
  * The contents of this file may be used under the terms of the GNU
  * General Public License Version 2, provided that the above copyright
@@ -20,43 +20,9 @@
 #define PACKET_MAX      8196	/* Maximum packet size we receive */
 #define TUN_SCRIPTSIZE   256
 #define TUN_ADDRSIZE     128
-#define TUN_NLBUFSIZE   1024
 
 #include "config.h"
-
-/* ipv6 ip type flags for tun_ipv6_local_get() */
-enum {
-	IP_TYPE_IPv4 = 1,
-	IP_TYPE_IPv6_LINK = 2,
-	IP_TYPE_IPv6_NONLINK = 4,
-};
-#define IP_TYPE_IPv6 (IP_TYPE_IPv6_LINK | IP_TYPE_IPv6_NONLINK)
-
-
-#ifndef HAVE_IPHDR
-struct iphdr
-  {
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-    unsigned int ihl:4;
-    unsigned int version:4;
-#elif __BYTE_ORDER == __BIG_ENDIAN
-    unsigned int version:4;
-    unsigned int ihl:4;
-#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;
-    /*The options start here. */
-  };
-#endif /* !HAVE_IPHDR */
+#include "netdev.h"
 
 /* ***********************************************************
  * Information storage for each tun instance
@@ -86,17 +52,12 @@
 extern int tun_setaddr(struct tun_t *this, struct in46_addr *our_adr,
 		       struct in46_addr *his_adr, size_t prefixlen);
 
-int netdev_addroute(struct in_addr *dst, struct in_addr *gateway, struct in_addr *mask);
-
 extern int tun_set_cb_ind(struct tun_t *this,
 			  int (*cb_ind) (struct tun_t * tun, void *pack,
 					 unsigned len));
 
 extern int tun_runscript(struct tun_t *tun, char *script);
 
-int netdev_ip_local_get(const char *devname, struct in46_prefix *prefix_list,
-			size_t prefix_size, int flags);
-
 int tun_ip_local_get(const struct tun_t *tun, struct in46_prefix *prefix_list,
 		     size_t prefix_size, int flags);