12c0338ffSzrj /* 22c0338ffSzrj * Copyright (c) 2005 Reyk Floeter <reyk@openbsd.org> 32c0338ffSzrj * 42c0338ffSzrj * Permission to use, copy, modify, and distribute this software for any 52c0338ffSzrj * purpose with or without fee is hereby granted, provided that the above 62c0338ffSzrj * copyright notice and this permission notice appear in all copies. 72c0338ffSzrj * 82c0338ffSzrj * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 92c0338ffSzrj * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 102c0338ffSzrj * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 112c0338ffSzrj * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 122c0338ffSzrj * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 132c0338ffSzrj * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 142c0338ffSzrj * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 152c0338ffSzrj */ 162c0338ffSzrj 172c0338ffSzrj #ifndef _PORT_TUN_H 182c0338ffSzrj #define _PORT_TUN_H 192c0338ffSzrj 20*bc9cc675SDaniel Fojt struct Channel; 21*bc9cc675SDaniel Fojt struct ssh; 22*bc9cc675SDaniel Fojt 232c0338ffSzrj #if defined(SSH_TUN_LINUX) || defined(SSH_TUN_FREEBSD) 242c0338ffSzrj # define CUSTOM_SYS_TUN_OPEN 252c0338ffSzrj int sys_tun_open(int, int, char **); 262c0338ffSzrj #endif 272c0338ffSzrj 28*bc9cc675SDaniel Fojt #if defined(SSH_TUN_COMPAT_AF) || defined(SSH_TUN_PREPEND_AF) 29*bc9cc675SDaniel Fojt # define SSH_TUN_FILTER 30*bc9cc675SDaniel Fojt int sys_tun_infilter(struct ssh *, struct Channel *, char *, int); 31*bc9cc675SDaniel Fojt u_char *sys_tun_outfilter(struct ssh *, struct Channel *, u_char **, size_t *); 32*bc9cc675SDaniel Fojt #endif 33*bc9cc675SDaniel Fojt 34*bc9cc675SDaniel Fojt #if defined(SYS_RDOMAIN_LINUX) 35*bc9cc675SDaniel Fojt # define HAVE_SYS_GET_RDOMAIN 36*bc9cc675SDaniel Fojt # define HAVE_SYS_SET_RDOMAIN 37*bc9cc675SDaniel Fojt # define HAVE_SYS_VALID_RDOMAIN 38*bc9cc675SDaniel Fojt char *sys_get_rdomain(int fd); 39*bc9cc675SDaniel Fojt int sys_set_rdomain(int fd, const char *name); 40*bc9cc675SDaniel Fojt int sys_valid_rdomain(const char *name); 41*bc9cc675SDaniel Fojt #endif 42*bc9cc675SDaniel Fojt 43*bc9cc675SDaniel Fojt #if defined(SYS_RDOMAIN_XXX) 44*bc9cc675SDaniel Fojt # define HAVE_SYS_SET_PROCESS_RDOMAIN 45*bc9cc675SDaniel Fojt void sys_set_process_rdomain(const char *name); 46*bc9cc675SDaniel Fojt #endif 47*bc9cc675SDaniel Fojt 482c0338ffSzrj #endif 49