xref: /openbsd/sys/net/if_tun.h (revision d44abe74)
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