1*53ee8cc1Swenshuai.xi /* 2*53ee8cc1Swenshuai.xi * Universal TUN/TAP device driver. 3*53ee8cc1Swenshuai.xi * Copyright (C) 1999-2000 Maxim Krasnyansky <max_mk@yahoo.com> 4*53ee8cc1Swenshuai.xi * 5*53ee8cc1Swenshuai.xi * This program is free software; you can redistribute it and/or modify 6*53ee8cc1Swenshuai.xi * it under the terms of the GNU General Public License as published by 7*53ee8cc1Swenshuai.xi * the Free Software Foundation; either version 2 of the License, or 8*53ee8cc1Swenshuai.xi * (at your option) any later version. 9*53ee8cc1Swenshuai.xi * 10*53ee8cc1Swenshuai.xi * This program is distributed in the hope that it will be useful, 11*53ee8cc1Swenshuai.xi * but WITHOUT ANY WARRANTY; without even the implied warranty of 12*53ee8cc1Swenshuai.xi * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13*53ee8cc1Swenshuai.xi * GNU General Public License for more details. 14*53ee8cc1Swenshuai.xi * 15*53ee8cc1Swenshuai.xi * $Id: if_tun.h,v 1.2 2001/06/01 18:39:47 davem Exp $ 16*53ee8cc1Swenshuai.xi */ 17*53ee8cc1Swenshuai.xi 18*53ee8cc1Swenshuai.xi #ifndef __IF_TUN_H 19*53ee8cc1Swenshuai.xi #define __IF_TUN_H 20*53ee8cc1Swenshuai.xi 21*53ee8cc1Swenshuai.xi #include <linux/types.h> 22*53ee8cc1Swenshuai.xi 23*53ee8cc1Swenshuai.xi /* Read queue size */ 24*53ee8cc1Swenshuai.xi #define TUN_READQ_SIZE 500 25*53ee8cc1Swenshuai.xi 26*53ee8cc1Swenshuai.xi /* TUN device flags */ 27*53ee8cc1Swenshuai.xi #define TUN_TUN_DEV 0x0001 28*53ee8cc1Swenshuai.xi #define TUN_TAP_DEV 0x0002 29*53ee8cc1Swenshuai.xi #define TUN_TYPE_MASK 0x000f 30*53ee8cc1Swenshuai.xi 31*53ee8cc1Swenshuai.xi #define TUN_FASYNC 0x0010 32*53ee8cc1Swenshuai.xi #define TUN_NOCHECKSUM 0x0020 33*53ee8cc1Swenshuai.xi #define TUN_NO_PI 0x0040 34*53ee8cc1Swenshuai.xi #define TUN_ONE_QUEUE 0x0080 35*53ee8cc1Swenshuai.xi #define TUN_PERSIST 0x0100 36*53ee8cc1Swenshuai.xi 37*53ee8cc1Swenshuai.xi /* Ioctl defines */ 38*53ee8cc1Swenshuai.xi #define TUNSETNOCSUM _IOW('T', 200, int) 39*53ee8cc1Swenshuai.xi #define TUNSETDEBUG _IOW('T', 201, int) 40*53ee8cc1Swenshuai.xi #define TUNSETIFF _IOW('T', 202, int) 41*53ee8cc1Swenshuai.xi #define TUNSETPERSIST _IOW('T', 203, int) 42*53ee8cc1Swenshuai.xi #define TUNSETOWNER _IOW('T', 204, int) 43*53ee8cc1Swenshuai.xi #define TUNSETLINK _IOW('T', 205, int) 44*53ee8cc1Swenshuai.xi #define TUNSETGROUP _IOW('T', 206, int) 45*53ee8cc1Swenshuai.xi 46*53ee8cc1Swenshuai.xi /* TUNSETIFF ifr flags */ 47*53ee8cc1Swenshuai.xi #define IFF_TUN 0x0001 48*53ee8cc1Swenshuai.xi #define IFF_TAP 0x0002 49*53ee8cc1Swenshuai.xi #define IFF_NO_PI 0x1000 50*53ee8cc1Swenshuai.xi #define IFF_ONE_QUEUE 0x2000 51*53ee8cc1Swenshuai.xi 52*53ee8cc1Swenshuai.xi struct tun_pi { 53*53ee8cc1Swenshuai.xi unsigned short flags; 54*53ee8cc1Swenshuai.xi __be16 proto; 55*53ee8cc1Swenshuai.xi }; 56*53ee8cc1Swenshuai.xi #define TUN_PKT_STRIP 0x0001 57*53ee8cc1Swenshuai.xi 58*53ee8cc1Swenshuai.xi #endif /* __IF_TUN_H */ 59