~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/include/linux/if_tun.h

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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  *  $Id: if_tun.h,v 1.1 2000/08/23 05:59:28 davem Exp $
 16  */
 17 
 18 #ifndef __IF_TUN_H
 19 #define __IF_TUN_H
 20 
 21 /* Uncomment to enable debugging */
 22 /* #define TUN_DEBUG 1 */
 23 
 24 #ifdef __KERNEL__
 25 
 26 #ifdef TUN_DEBUG
 27 #define DBG  if(tun->debug)printk
 28 #define DBG1 if(debug==2)printk
 29 #else
 30 #define DBG( a... )
 31 #define DBG1( a... )
 32 #endif
 33 
 34 struct tun_struct {
 35         char                    name[8];
 36         unsigned long           flags;
 37 
 38         struct fasync_struct    *fasync;
 39         wait_queue_head_t       read_wait;
 40 
 41         struct net_device       dev;
 42         struct sk_buff_head     txq;
 43         struct net_device_stats stats;
 44 
 45 #ifdef TUN_DEBUG        
 46         int debug;
 47 #endif  
 48 };
 49 
 50 #ifndef MIN
 51 #define MIN(a,b) ( (a)<(b) ? (a):(b) ) 
 52 #endif
 53 
 54 #endif /* __KERNEL__ */
 55 
 56 /* Number of devices */
 57 #define TUN_MAX_DEV     255
 58 
 59 /* TX queue size */
 60 #define TUN_TXQ_SIZE    10
 61 
 62 /* Max frame size */
 63 #define TUN_MAX_FRAME   4096
 64 
 65 /* TUN device flags */
 66 #define TUN_TUN_DEV     0x0001  
 67 #define TUN_TAP_DEV     0x0002
 68 #define TUN_TYPE_MASK   0x000f
 69 
 70 #define TUN_FASYNC      0x0010
 71 #define TUN_NOCHECKSUM  0x0020
 72 #define TUN_NO_PI       0x0040
 73 
 74 #define TUN_IFF_SET     0x1000
 75 
 76 /* Ioctl defines */
 77 #define TUNSETNOCSUM (('T'<< 8) | 200) 
 78 #define TUNSETDEBUG  (('T'<< 8) | 201) 
 79 #define TUNSETIFF    (('T'<< 8) | 202) 
 80 
 81 /* TUNSETIFF ifr flags */
 82 #define IFF_TUN         0x0001
 83 #define IFF_TAP         0x0002
 84 #define IFF_NO_PI       0x1000
 85 
 86 struct tun_pi {
 87    unsigned short flags;
 88    unsigned short proto;
 89 };
 90 #define TUN_PKT_STRIP   0x0001
 91 
 92 #endif /* __IF_TUN_H */
 93 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.