1: /* $Id: upnppinhole.h,v 1.1.1.1 2013/07/22 00:32:35 misho Exp $ */
2: /* MiniUPnP project
3: * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
4: * (c) 2006-2012 Thomas Bernard
5: * This software is subject to the conditions detailed
6: * in the LICENCE file provided within the distribution */
7:
8: #ifndef UPNPPINHOLE_H_INCLUDED
9: #define UPNPPINHOLE_H_INCLUDED
10:
11: #include "config.h"
12:
13: #ifdef ENABLE_6FC_SERVICE
14: /* functions to be used by WANIPv6_FirewallControl implementation */
15:
16: #if 0
17: /* retrieve outbound pinhole timeout */
18: int
19: upnp_check_outbound_pinhole(int proto, int * timeout);
20: #endif
21:
22: /* add an inbound pinehole
23: * return value :
24: * 1 = success
25: * -1 = Pinhole space exhausted
26: * .. = error */
27: int
28: upnp_add_inboundpinhole(const char * raddr, unsigned short rport,
29: const char * iaddr, unsigned short iport,
30: int proto, unsigned int leasetime, int * uid);
31:
32: /*
33: * return values :
34: * -1 not found
35: * */
36: int
37: upnp_get_pinhole_info(unsigned short uid,
38: char * raddr, int raddrlen,
39: unsigned short * rport,
40: char * iaddr, int iaddrlen,
41: unsigned short * iport,
42: int * proto,
43: unsigned int * leasetime,
44: unsigned int * packets);
45:
46: /* update the lease time */
47: int
48: upnp_update_inboundpinhole(unsigned short uid, unsigned int leasetime);
49:
50: /* remove the inbound pinhole */
51: int
52: upnp_delete_inboundpinhole(unsigned short uid);
53:
54: /* ... */
55: #if 0
56: int
57: upnp_check_pinhole_working(const char * uid, char * eaddr, char * iaddr, unsigned short * eport, unsigned short * iport, char * protocol, int * rulenum_used);
58: #endif
59:
60: /* return the number of expired pinhole removed
61: * write timestamp to next pinhole to exprire to next_timestamp
62: * next_timestamp is left untouched if there is no pinhole lest */
63: int
64: upnp_clean_expired_pinholes(unsigned int * next_timestamp);
65:
66: #endif /* ENABLE_6FC_SERVICE */
67:
68: #endif
69:
70:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>