47 lines
1.6 KiB
C
47 lines
1.6 KiB
C
/* $Id: commonrdr.h,v 1.7 2011/06/22 20:34:39 nanard Exp $ */
|
|
/* MiniUPnP project
|
|
* (c) 2006-2011 Thomas Bernard
|
|
* http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
|
|
* This software is subject to the conditions detailed
|
|
* in the LICENCE file provided within the distribution */
|
|
#ifndef __COMMONRDR_H__
|
|
#define __COMMONRDR_H__
|
|
|
|
#include "config.h"
|
|
|
|
/* init and shutdown functions */
|
|
int
|
|
init_redirect(void);
|
|
|
|
void
|
|
shutdown_redirect(void);
|
|
|
|
/* 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,
|
|
char * rhost, int rhostlen,
|
|
unsigned int * timestamp,
|
|
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,
|
|
char * rhost, int rhostlen,
|
|
unsigned int * timestamp,
|
|
u_int64_t * packets, u_int64_t * bytes);
|
|
|
|
/* return an (malloc'ed) array of "external" port for which there is
|
|
* a port mapping. number is the size of the array */
|
|
unsigned short *
|
|
get_portmappings_in_range(unsigned short startport, unsigned short endport,
|
|
int proto, unsigned int * number);
|
|
|
|
#endif
|
|
|