1*d44abe74Sbrian /* $OpenBSD: if_tun.h,v 1.8 1998/08/02 07:17:44 brian Exp $ */ 2df930be7Sderaadt 3df930be7Sderaadt /* 4df930be7Sderaadt * Copyright (c) 1988, Julian Onions <jpo@cs.nott.ac.uk> 5df930be7Sderaadt * Nottingham University 1987. 6df930be7Sderaadt * 7df930be7Sderaadt * This source may be freely distributed, however I would be interested 8df930be7Sderaadt * in any changes that are made. 9df930be7Sderaadt * 10df930be7Sderaadt * This driver takes packets off the IP i/f and hands them up to a 11df930be7Sderaadt * user process to have it's wicked way with. This driver has it's 12df930be7Sderaadt * roots in a similar driver written by Phil Cockcroft (formerly) at 13df930be7Sderaadt * UCL. This driver is based much more on read/write/select mode of 14df930be7Sderaadt * operation though. 15df930be7Sderaadt * 167221e718Smickey * from: @Header: if_tnreg.h,v 1.1.2.1 1992/07/16 22:39:16 friedl Exp 17df930be7Sderaadt */ 18df930be7Sderaadt 19df930be7Sderaadt #ifndef _NET_IF_TUN_H_ 20df930be7Sderaadt #define _NET_IF_TUN_H_ 21df930be7Sderaadt 224a9bdd9fSmickey #include <sys/ioccom.h> 234a9bdd9fSmickey 24df930be7Sderaadt #define TUN_OPEN 0x0001 25df930be7Sderaadt #define TUN_INITED 0x0002 26df930be7Sderaadt #define TUN_RCOLL 0x0004 27df930be7Sderaadt #define TUN_IASET 0x0008 28df930be7Sderaadt #define TUN_DSTADDR 0x0010 29df930be7Sderaadt #define TUN_RWAIT 0x0040 30df930be7Sderaadt #define TUN_ASYNC 0x0080 31df930be7Sderaadt #define TUN_NBIO 0x0100 324a9bdd9fSmickey #define TUN_BRDADDR 0x0200 334a9bdd9fSmickey #define TUN_STAYUP 0x0400 34df930be7Sderaadt 35df930be7Sderaadt #define TUN_READY (TUN_OPEN | TUN_INITED | TUN_IASET) 36df930be7Sderaadt 37df930be7Sderaadt /* Maximum packet size */ 387221e718Smickey #define TUNMTU 3000 39df930be7Sderaadt 40*d44abe74Sbrian /* Maximum receive packet size (hard limit) */ 41*d44abe74Sbrian #define TUNMRU 16384 42*d44abe74Sbrian 43df930be7Sderaadt /* ioctl's for get/set debug */ 447221e718Smickey #define TUNSDEBUG _IOW('t', 89, int) 457221e718Smickey #define TUNGDEBUG _IOR('t', 90, int) 467221e718Smickey 477221e718Smickey /* iface info */ 480c29d253Sderaadt struct tuninfo { 497221e718Smickey u_int mtu; 507221e718Smickey u_short type; 514a9bdd9fSmickey u_short flags; 527221e718Smickey u_int baudrate; 537221e718Smickey }; 547221e718Smickey #define TUNSIFINFO _IOW('t', 91, struct tuninfo) 557221e718Smickey #define TUNGIFINFO _IOR('t', 92, struct tuninfo) 56df930be7Sderaadt 57df930be7Sderaadt #endif /* !_NET_IF_TUN_H_ */ 58