|
|
1.1 root 1: /*
2: * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
7: * Reserved. This file contains Original Code and/or Modifications of
8: * Original Code as defined in and that are subject to the Apple Public
9: * Source License Version 1.1 (the "License"). You may not use this file
10: * except in compliance with the License. Please obtain a copy of the
11: * License at http://www.apple.com/publicsource and read it before using
12: * this file.
13: *
14: * The Original Code and all software distributed under the License are
15: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
19: * License for the specific language governing rights and limitations
20: * under the License.
21: *
22: * @APPLE_LICENSE_HEADER_END@
23: */
24:
25: /* Copyright (c) 1997 Apple Computer, Inc. All Rights Reserved */
26: /*
27: * Copyright (c) 1988, Julian Onions <[email protected]>
28: * Nottingham University 1987.
29: *
30: * This source may be freely distributed, however I would be interested
31: * in any changes that are made.
32: *
33: * This driver takes packets off the IP i/f and hands them up to a
34: * user process to have it's wicked way with. This driver has it's
35: * roots in a similar driver written by Phil Cockcroft (formerly) at
36: * UCL. This driver is based much more on read/write/select mode of
37: * operation though.
38: *
39: */
40:
41: #ifndef _NET_IF_TUN_H_
42: #define _NET_IF_TUN_H_
43:
44: struct tun_softc {
45: u_short tun_flags; /* misc flags */
46: #define TUN_OPEN 0x0001
47: #define TUN_INITED 0x0002
48: #define TUN_RCOLL 0x0004
49: #define TUN_IASET 0x0008
50: #define TUN_DSTADDR 0x0010
51: #define TUN_RWAIT 0x0040
52: #define TUN_ASYNC 0x0080
53: #define TUN_NBIO 0x0100
54:
55: #define TUN_READY (TUN_OPEN | TUN_INITED | TUN_IASET)
56:
57: struct ifnet tun_if; /* the interface */
58: int tun_pgrp; /* the process group - if any */
59: struct selinfo tun_rsel; /* read select */
60: struct selinfo tun_wsel; /* write select (not used) */
61: #if NBPFILTER > 0
62: caddr_t tun_bpf;
63: #endif
64: };
65:
66: /* Maximum packet size */
67: #define TUNMTU 1500
68:
69: /* ioctl's for get/set debug */
70: #define TUNSDEBUG _IOW('t', 90, int)
71: #define TUNGDEBUG _IOR('t', 89, int)
72:
73: #endif /* !_NET_IF_TUN_H_ */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.