/* -*-c-*-
*
- * $Id: tripe.h,v 1.11 2002/01/13 14:57:42 mdw Exp $
+ * $Id: tripe.h,v 1.12 2003/04/06 10:25:17 mdw Exp $
*
* Main header file for TrIPE
*
/*----- Revision history --------------------------------------------------*
*
* $Log: tripe.h,v $
+ * Revision 1.12 2003/04/06 10:25:17 mdw
+ * Support Linux TUN/TAP device. Fix some bugs.
+ *
* Revision 1.11 2002/01/13 14:57:42 mdw
* Fix crap typo.
*
#include <arpa/inet.h>
#include <netdb.h>
+#if TUN_TYPE == TUN_LINUX
+# include <linux/if.h>
+# include <linux/if_tun.h>
+#endif
+
#include <pwd.h>
#include <grp.h>
#define TUN_NOTDEF 0
#define TUN_UNET 1
#define TUN_BSD 2
+#define TUN_LINUX 3
/* --- Trace flags --- */
*/
typedef struct tunnel {
-#if TUN_TYPE == TUN_UNET
+#if TUN_TYPE == TUN_UNET
sel_file f; /* Selector for Usernet device */
struct peer *p; /* Pointer to my peer */
+#elif TUN_TYPE == TUN_LINUX
+ sel_file f; /* Selector for TUN/TAP device */
+ struct peer *p; /* Pointer to my peer */
+ char ifn[IFNAMSIZ]; /* Interface name buffer */
#elif TUN_TYPE == TUN_BSD
sel_file f; /* Selector for tunnel device */
struct peer *p; /* Pointer to my peer */