Miniupnpd v. 1.5 (20110618)
[tomato.git] / release / src / router / miniupnpd / pf / obsdrdr.h
blobfa342866018d29d63afd54c25cdb1eb44cfeedff
1 /* $Id: obsdrdr.h,v 1.19 2011/06/04 15:47:18 nanard Exp $ */
2 /* MiniUPnP project
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 */
8 #ifndef __OBSDRDR_H__
9 #define __OBSDRDR_H__
11 #include "../commonrdr.h"
13 /* add_redirect_rule2() uses DIOCCHANGERULE ioctl
14 * proto can take the values IPPROTO_UDP or IPPROTO_TCP
16 int
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
25 int
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
35 #if 0
36 int
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);
42 int
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);
48 #endif
50 /* delete_redirect_rule()
52 int
53 delete_redirect_rule(const char * ifname, unsigned short eport, int proto);
55 /* delete_filter_rule()
57 int
58 delete_filter_rule(const char * ifname, unsigned short eport, int proto);
60 int
61 clear_redirect_rules(void);
63 #endif