1 /* $Id: pfpinhole.h,v 1.13 2016/01/19 10:03:30 nanard Exp $ */
3 * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
4 * (c) 2012-2016 Thomas Bernard
5 * This software is subject to the conditions detailed
6 * in the LICENCE file provided within the distribution */
8 #ifndef PFPINHOLE_H_INCLUDED
9 #define PFPINHOLE_H_INCLUDED
11 #ifdef ENABLE_UPNPPINHOLE
13 int find_pinhole(const char * ifname
,
14 const char * rem_host
, unsigned short rem_port
,
15 const char * int_client
, unsigned short int_port
,
17 char *desc
, int desc_len
, unsigned int * timestamp
);
19 int add_pinhole(const char * ifname
,
20 const char * rem_host
, unsigned short rem_port
,
21 const char * int_client
, unsigned short int_port
,
22 int proto
, const char * desc
, unsigned int timestamp
);
24 int delete_pinhole(unsigned short uid
);
27 get_pinhole_info(unsigned short uid
,
28 char * rem_host
, int rem_hostlen
, unsigned short * rem_port
,
29 char * int_client
, int int_clientlen
, unsigned short * int_port
,
30 int * proto
, char * desc
, int desclen
,
31 unsigned int * timestamp
,
32 u_int64_t
* packets
, u_int64_t
* bytes
);
34 int update_pinhole(unsigned short uid
, unsigned int timestamp
);
36 int clean_pinhole_list(unsigned int * next_timestamp
);
38 #endif /* ENABLE_UPNPPINHOLE */