1/* $Id: ipfwrdr.h,v 1.6 2012/02/11 13:10:57 nanard Exp $ */ 2/* 3 * MiniUPnP project 4 * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ 5 * (c) 2009 Jardel Weyrich 6 * This software is subject to the conditions detailed 7 * in the LICENCE file provided within the distribution 8 */ 9 10#ifndef IPFWRDR_H_INCLUDED 11#define IPFWRDR_H_INCLUDED 12 13#include "../commonrdr.h" 14 15int add_redirect_rule2( 16 const char * ifname, /* src interface (external) */ 17 const char * rhost, /* remote host (ip) */ 18 unsigned short eport, /* src port (external) */ 19 const char * iaddr, /* dst address (internal) */ 20 unsigned short iport, /* dst port (internal) */ 21 int proto, 22 const char * desc, 23 unsigned int timestamp); 24 25int add_filter_rule2( 26 const char * ifname, 27 const char * rhost, 28 const char * iaddr, 29 unsigned short eport, 30 unsigned short iport, 31 int proto, 32 const char * desc); 33 34#if 0 35 36/* 37 * get_redirect_rule() gets internal IP and port from 38 * interface, external port and protocl 39*/ 40int get_redirect_rule( 41 const char * ifname, 42 unsigned short eport, 43 int proto, 44 char * iaddr, 45 int iaddrlen, 46 unsigned short * iport, 47 char * desc, 48 int desclen, 49 u_int64_t * packets, 50 u_int64_t * bytes); 51 52int get_redirect_rule_by_index( 53 int index, 54 char * ifname, 55 unsigned short * eport, 56 char * iaddr, 57 int iaddrlen, 58 unsigned short * iport, 59 int * proto, 60 char * desc, 61 int desclen, 62 u_int64_t * packets, 63 u_int64_t * bytes); 64 65#endif 66 67/* 68 * delete_redirect_rule() 69*/ 70int delete_redirect_rule(const char * ifname, unsigned short eport, int proto); 71 72/* 73 * delete_filter_rule() 74*/ 75int delete_filter_rule(const char * ifname, unsigned short eport, int proto); 76 77int clear_redirect_rules(void); 78 79#endif 80