text: /* $Id: ipfwrdr.h,v 1.5 2011/06/04 15:47:18 nanard Exp $ */
  /*
   * MiniUPnP project
   * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
   * (c) 2009 Jardel Weyrich 
   * This software is subject to the conditions detailed
   * in the LICENCE file provided within the distribution
   */
  
  #ifndef __IPFWRDR_H__
  #define __IPFWRDR_H__
  
  #include "../commonrdr.h"
  
  int add_redirect_rule2(
  	const char * ifname,	// src interface (external)
  	const char * rhost,	// remote host (ip)
  	unsigned short eport,	// src port (external)
  	const char * iaddr,		// dst address (internal)
  	unsigned short iport,	// dst port (internal)
  	int proto,
  	const char * desc,
  	unsigned int timestamp);
  
  int add_filter_rule2(
  	const char * ifname, 
  	const char * rhost, 
  	const char * iaddr,
  	unsigned short eport, 
  	unsigned short iport,
  	int proto, 
  	const char * desc);
  
  #if 0
  
  //
  // get_redirect_rule() gets internal IP and port from
  // interface, external port and protocl
  //
  int get_redirect_rule(
  	const char * ifname,
  	unsigned short eport,
  	int proto,
  	char * iaddr, 
  	int iaddrlen, 
  	unsigned short * iport,
  	char * desc, 
  	int desclen,
  	u_int64_t * packets,
  	u_int64_t * bytes);
  
  int get_redirect_rule_by_index(
  	int index,
  	char * ifname, 
  	unsigned short * eport,
  	char * iaddr, 
  	int iaddrlen, 
  	unsigned short * iport,
  	int * proto, 
  	char * desc, 
  	int desclen,
  	u_int64_t * packets, 
  	u_int64_t * bytes);
  
  #endif
  
  //
  // delete_redirect_rule()
  //
  int delete_redirect_rule(const char * ifname, unsigned short eport, int proto);
  
  //
  // delete_filter_rule()
  //
  int delete_filter_rule(const char * ifname, unsigned short eport, int proto);
  
  int clear_redirect_rules(void);
  
  #endif
  