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