1/* $Id: obsdrdr.h,v 1.23 2014/03/06 12:24:33 nanard Exp $ */ 2/* MiniUPnP project 3 * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ 4 * (c) 2006-2014 Thomas Bernard 5 * This software is subject to the conditions detailed 6 * in the LICENCE file provided within the distribution */ 7 8#ifndef OBSDRDR_H_INCLUDED 9#define OBSDRDR_H_INCLUDED 10 11#include "../commonrdr.h" 12 13/* add_redirect_rule2() uses DIOCCHANGERULE ioctl 14 * proto can take the values IPPROTO_UDP or IPPROTO_TCP 15 */ 16int 17add_redirect_rule2(const char * ifname, 18 const char * rhost, unsigned short eport, 19 const char * iaddr, unsigned short iport, int proto, 20 const char * desc, unsigned int timestamp); 21 22/* add_filter_rule2() uses DIOCCHANGERULE ioctl 23 * proto can take the values IPPROTO_UDP or IPPROTO_TCP 24 */ 25int 26add_filter_rule2(const char * ifname, 27 const char * rhost, const char * iaddr, 28 unsigned short eport, unsigned short iport, 29 int proto, const char * desc); 30 31 32/* get_redirect_rule() gets internal IP and port from 33 * interface, external port and protocl 34 */ 35#if 0 36int 37get_redirect_rule(const char * ifname, unsigned short eport, int proto, 38 char * iaddr, int iaddrlen, unsigned short * iport, 39 char * desc, int desclen, 40 u_int64_t * packets, u_int64_t * bytes); 41 42int 43get_redirect_rule_by_index(int index, 44 char * ifname, unsigned short * eport, 45 char * iaddr, int iaddrlen, unsigned short * iport, 46 int * proto, char * desc, int desclen, 47 u_int64_t * packets, u_int64_t * bytes); 48#endif 49 50/* delete_redirect_rule() 51 */ 52int 53delete_redirect_rule(const char * ifname, unsigned short eport, int proto); 54 55/* delete_redirect_and_filter_rules() 56 */ 57int 58delete_redirect_and_filter_rules(const char * ifname, unsigned short eport, 59 int proto); 60 61#ifdef TEST 62int 63clear_redirect_rules(void); 64int 65clear_filter_rules(void); 66#endif 67 68#endif 69 70 71