xref: /utopia/UTPA2-700.0.x/projects/tools/lint/mips-linux-gnu_include/linux/if_tun.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
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