WvStreams
linuxstreams
if_tun.h
1
/*
2
* Universal TUN/TAP device driver.
3
* Copyright (C) 1999-2000 Maxim Krasnyansky <max_mk@yahoo.com>
4
*
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation; either version 2 of the License, or
8
* (at your option) any later version.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
*/
16
17
#ifndef __IF_TUN_H
18
#define __IF_TUN_H
19
20
/* Uncomment to enable debugging */
21
/* #define TUN_DEBUG 1 */
22
23
#ifdef __KERNEL__
24
25
#ifdef TUN_DEBUG
26
#define DBG if(tun->debug)printk
27
#define DBG1 if(debug==2)printk
28
#else
29
#define DBG( a... )
30
#define DBG1( a... )
31
#endif
32
33
struct
tun_struct {
34
char
*name;
35
unsigned
long
flags;
36
int
attached;
37
uid_t owner;
38
39
wait_queue_head_t read_wait;
40
struct
sk_buff_head readq;
41
42
struct
net_device dev;
43
struct
net_device_stats stats;
44
45
struct
fasync_struct *fasync;
46
47
#ifdef TUN_DEBUG
48
int
debug;
49
#endif
50
};
51
52
#ifndef MIN
53
#define MIN(a,b) ( (a)<(b) ? (a):(b) )
54
#endif
55
56
#endif
/* __KERNEL__ */
57
58
/* Read queue size */
59
#define TUN_READQ_SIZE 10
60
61
/* TUN device flags */
62
#define TUN_TUN_DEV 0x0001
63
#define TUN_TAP_DEV 0x0002
64
#define TUN_TYPE_MASK 0x000f
65
66
#define TUN_FASYNC 0x0010
67
#define TUN_NOCHECKSUM 0x0020
68
#define TUN_NO_PI 0x0040
69
#define TUN_ONE_QUEUE 0x0080
70
#define TUN_PERSIST 0x0100
71
72
/* Ioctl defines */
73
#define TUNSETNOCSUM _IOW('T', 200, int)
74
#define TUNSETDEBUG _IOW('T', 201, int)
75
#define TUNSETIFF _IOW('T', 202, int)
76
#define TUNSETPERSIST _IOW('T', 203, int)
77
#define TUNSETOWNER _IOW('T', 204, int)
78
79
/* TUNSETIFF ifr flags */
80
#define IFF_TUN 0x0001
81
#define IFF_TAP 0x0002
82
#define IFF_NO_PI 0x1000
83
#define IFF_ONE_QUEUE 0x2000
84
85
struct
tun_pi
{
86
unsigned
short
flags;
87
unsigned
short
proto;
88
};
89
#define TUN_PKT_STRIP 0x0001
90
91
#endif
/* __IF_TUN_H */
tun_pi
Definition:
if_tun.h:85
Generated by
1.8.17