diff --git a/lib/tun.h b/lib/tun.h
index 7972c53..ce7b91c 100644
--- a/lib/tun.h
+++ b/lib/tun.h
@@ -12,44 +12,42 @@
 #ifndef _TUN_H
 #define _TUN_H
 
-#define PACKET_MAX      8196 /* Maximum packet size we receive */
+#define PACKET_MAX      8196	/* Maximum packet size we receive */
 #define TUN_SCRIPTSIZE   256
 #define TUN_ADDRSIZE     128
 #define TUN_NLBUFSIZE   1024
 
 struct tun_packet_t {
-  unsigned int ver:4;
-  unsigned int ihl:4;
-  unsigned int dscp:6;
-  unsigned int ecn:2;
-  unsigned int length:16;
-  unsigned int id:16;
-  unsigned int flags:3;
-  unsigned int fragment:13;
-  unsigned int ttl:8;
-  unsigned int protocol:8;
-  unsigned int check:16;
-  unsigned int src:32;
-  unsigned int dst:32;
+	unsigned int ver:4;
+	unsigned int ihl:4;
+	unsigned int dscp:6;
+	unsigned int ecn:2;
+	unsigned int length:16;
+	unsigned int id:16;
+	unsigned int flags:3;
+	unsigned int fragment:13;
+	unsigned int ttl:8;
+	unsigned int protocol:8;
+	unsigned int check:16;
+	unsigned int src:32;
+	unsigned int dst:32;
 };
 
-
 /* ***********************************************************
  * Information storage for each tun instance
  *************************************************************/
 
 struct tun_t {
-  int fd;                /* File descriptor to tun interface */
-  struct in_addr addr;
-  struct in_addr dstaddr;
-  struct in_addr netmask;
-  int addrs;             /* Number of allocated IP addresses */
-  int routes;            /* One if we allocated an automatic route */
-  char devname[IFNAMSIZ];/* Name of the tun device */
-  int (*cb_ind) (struct tun_t *tun, void *pack, unsigned len);
+	int fd;			/* File descriptor to tun interface */
+	struct in_addr addr;
+	struct in_addr dstaddr;
+	struct in_addr netmask;
+	int addrs;		/* Number of allocated IP addresses */
+	int routes;		/* One if we allocated an automatic route */
+	char devname[IFNAMSIZ];	/* Name of the tun device */
+	int (*cb_ind) (struct tun_t * tun, void *pack, unsigned len);
 };
 
-
 extern int tun_new(struct tun_t **tun);
 extern int tun_free(struct tun_t *tun);
 extern int tun_decaps(struct tun_t *this);
@@ -58,17 +56,16 @@
 extern int tun_addaddr(struct tun_t *this, struct in_addr *addr,
 		       struct in_addr *dstaddr, struct in_addr *netmask);
 
-
-extern int tun_setaddr(struct tun_t *this, struct in_addr *our_adr, 
+extern int tun_setaddr(struct tun_t *this, struct in_addr *our_adr,
 		       struct in_addr *his_adr, struct in_addr *net_mask);
 
-int tun_addroute(struct tun_t *this, struct in_addr *dst, 
+int tun_addroute(struct tun_t *this, 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_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);
 
-extern int tun_runscript(struct tun_t *tun, char* script);
-
-#endif	/* !_TUN_H */
+#endif /* !_TUN_H */
