xref: /openbsd-src/sbin/isakmpd/virtual.h (revision cd6bf8445db3ade479abc8fa7369ff92c3bfe5d2)
1*cd6bf844Sho /*	$OpenBSD: virtual.h,v 1.1 2004/06/20 15:24:05 ho Exp $	*/
2*cd6bf844Sho 
3*cd6bf844Sho /*
4*cd6bf844Sho  * Copyright (c) 2004 H�kan Olsson.  All rights reserved.
5*cd6bf844Sho  *
6*cd6bf844Sho  * Redistribution and use in source and binary forms, with or without
7*cd6bf844Sho  * modification, are permitted provided that the following conditions
8*cd6bf844Sho  * are met:
9*cd6bf844Sho  * 1. Redistributions of source code must retain the above copyright
10*cd6bf844Sho  *    notice, this list of conditions and the following disclaimer.
11*cd6bf844Sho  * 2. Redistributions in binary form must reproduce the above copyright
12*cd6bf844Sho  *    notice, this list of conditions and the following disclaimer in the
13*cd6bf844Sho  *    documentation and/or other materials provided with the distribution.
14*cd6bf844Sho  *
15*cd6bf844Sho  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16*cd6bf844Sho  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17*cd6bf844Sho  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18*cd6bf844Sho  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19*cd6bf844Sho  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20*cd6bf844Sho  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21*cd6bf844Sho  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22*cd6bf844Sho  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23*cd6bf844Sho  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24*cd6bf844Sho  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25*cd6bf844Sho  */
26*cd6bf844Sho 
27*cd6bf844Sho #ifndef _TRP_VIRTUAL_H_
28*cd6bf844Sho #define _TRP_VIRTUAL_H_
29*cd6bf844Sho 
30*cd6bf844Sho struct virtual_transport {
31*cd6bf844Sho 	struct transport transport;
32*cd6bf844Sho 	struct transport *main;	 /* Normally this transport is used.  */
33*cd6bf844Sho 	struct transport *encap; /* Or this, depending on 'encap_is_active'. */
34*cd6bf844Sho 	int		  encap_is_active;
35*cd6bf844Sho 	LIST_ENTRY (virtual_transport) link;
36*cd6bf844Sho };
37*cd6bf844Sho 
38*cd6bf844Sho void			  virtual_init(void);
39*cd6bf844Sho struct virtual_transport *virtual_get_default(sa_family_t);
40*cd6bf844Sho struct virtual_transport *virtual_listen_lookup(struct sockaddr *);
41*cd6bf844Sho 
42*cd6bf844Sho #endif /* _TRP_VIRTUAL_H_ */
43