1 /* $Id: obsdrdr.h,v 1.19 2011/06/04 15:47:18 nanard Exp $ */
3 * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
4 * (c) 2006 Thomas Bernard
5 * This software is subject to the conditions detailed
6 * in the LICENCE file provided within the distribution */
11 #include "../commonrdr.h"
13 /* add_redirect_rule2() uses DIOCCHANGERULE ioctl
14 * proto can take the values IPPROTO_UDP or IPPROTO_TCP
17 add_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
);
22 /* add_filter_rule2() uses DIOCCHANGERULE ioctl
23 * proto can take the values IPPROTO_UDP or IPPROTO_TCP
26 add_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
);
32 /* get_redirect_rule() gets internal IP and port from
33 * interface, external port and protocl
37 get_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
);
43 get_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
);
50 /* delete_redirect_rule()
53 delete_redirect_rule(const char * ifname
, unsigned short eport
, int proto
);
55 /* delete_filter_rule()
58 delete_filter_rule(const char * ifname
, unsigned short eport
, int proto
);
61 clear_redirect_rules(void);