1*47dd1d1bSDag-Erling Smørgrav /* 2*47dd1d1bSDag-Erling Smørgrav * Copyright (c) 2005 Reyk Floeter <reyk@openbsd.org> 3*47dd1d1bSDag-Erling Smørgrav * 4*47dd1d1bSDag-Erling Smørgrav * Permission to use, copy, modify, and distribute this software for any 5*47dd1d1bSDag-Erling Smørgrav * purpose with or without fee is hereby granted, provided that the above 6*47dd1d1bSDag-Erling Smørgrav * copyright notice and this permission notice appear in all copies. 7*47dd1d1bSDag-Erling Smørgrav * 8*47dd1d1bSDag-Erling Smørgrav * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9*47dd1d1bSDag-Erling Smørgrav * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10*47dd1d1bSDag-Erling Smørgrav * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 11*47dd1d1bSDag-Erling Smørgrav * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12*47dd1d1bSDag-Erling Smørgrav * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13*47dd1d1bSDag-Erling Smørgrav * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14*47dd1d1bSDag-Erling Smørgrav * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15*47dd1d1bSDag-Erling Smørgrav */ 16*47dd1d1bSDag-Erling Smørgrav 17*47dd1d1bSDag-Erling Smørgrav #ifndef _PORT_TUN_H 18*47dd1d1bSDag-Erling Smørgrav #define _PORT_TUN_H 19*47dd1d1bSDag-Erling Smørgrav 20*47dd1d1bSDag-Erling Smørgrav struct Channel; 21*47dd1d1bSDag-Erling Smørgrav struct ssh; 22*47dd1d1bSDag-Erling Smørgrav 23*47dd1d1bSDag-Erling Smørgrav #if defined(SSH_TUN_LINUX) || defined(SSH_TUN_FREEBSD) 24*47dd1d1bSDag-Erling Smørgrav # define CUSTOM_SYS_TUN_OPEN 25*47dd1d1bSDag-Erling Smørgrav int sys_tun_open(int, int, char **); 26*47dd1d1bSDag-Erling Smørgrav #endif 27*47dd1d1bSDag-Erling Smørgrav 28*47dd1d1bSDag-Erling Smørgrav #if defined(SSH_TUN_COMPAT_AF) || defined(SSH_TUN_PREPEND_AF) 29*47dd1d1bSDag-Erling Smørgrav # define SSH_TUN_FILTER 30*47dd1d1bSDag-Erling Smørgrav int sys_tun_infilter(struct ssh *, struct Channel *, char *, int); 31*47dd1d1bSDag-Erling Smørgrav u_char *sys_tun_outfilter(struct ssh *, struct Channel *, u_char **, size_t *); 32*47dd1d1bSDag-Erling Smørgrav #endif 33*47dd1d1bSDag-Erling Smørgrav 34*47dd1d1bSDag-Erling Smørgrav #if defined(SYS_RDOMAIN_LINUX) 35*47dd1d1bSDag-Erling Smørgrav # define HAVE_SYS_GET_RDOMAIN 36*47dd1d1bSDag-Erling Smørgrav # define HAVE_SYS_SET_RDOMAIN 37*47dd1d1bSDag-Erling Smørgrav # define HAVE_SYS_VALID_RDOMAIN 38*47dd1d1bSDag-Erling Smørgrav char *sys_get_rdomain(int fd); 39*47dd1d1bSDag-Erling Smørgrav int sys_set_rdomain(int fd, const char *name); 40*47dd1d1bSDag-Erling Smørgrav int sys_valid_rdomain(const char *name); 41*47dd1d1bSDag-Erling Smørgrav #endif 42*47dd1d1bSDag-Erling Smørgrav 43*47dd1d1bSDag-Erling Smørgrav #if defined(SYS_RDOMAIN_XXX) 44*47dd1d1bSDag-Erling Smørgrav # define HAVE_SYS_SET_PROCESS_RDOMAIN 45*47dd1d1bSDag-Erling Smørgrav void sys_set_process_rdomain(const char *name); 46*47dd1d1bSDag-Erling Smørgrav #endif 47*47dd1d1bSDag-Erling Smørgrav 48*47dd1d1bSDag-Erling Smørgrav #endif 49