2012-06-29 19:39:34 +00:00
|
|
|
/* $Id: options.h,v 1.21 2012/06/29 19:26:09 nanard Exp $ */
|
2011-09-28 19:13:20 +00:00
|
|
|
/* MiniUPnP project
|
|
|
|
* http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
|
|
|
|
* author: Ryan Wagoner
|
2012-03-01 01:44:38 +00:00
|
|
|
* (c) 2006-2012 Thomas Bernard
|
2011-09-28 19:13:20 +00:00
|
|
|
* This software is subject to the conditions detailed
|
|
|
|
* in the LICENCE file provided within the distribution */
|
|
|
|
|
2012-09-20 20:52:51 +00:00
|
|
|
#ifndef OPTIONS_H_INCLUDED
|
|
|
|
#define OPTIONS_H_INCLUDED
|
2011-09-28 19:13:20 +00:00
|
|
|
|
|
|
|
#include "config.h"
|
|
|
|
|
2012-06-29 19:39:34 +00:00
|
|
|
#ifndef DISABLE_CONFIG_FILE
|
2011-09-28 19:13:20 +00:00
|
|
|
/* enum of option available in the miniupnpd.conf */
|
|
|
|
enum upnpconfigoptions {
|
|
|
|
UPNP_INVALID = 0,
|
|
|
|
UPNPEXT_IFNAME = 1, /* ext_ifname */
|
|
|
|
UPNPEXT_IP, /* ext_ip */
|
|
|
|
UPNPLISTENING_IP, /* listening_ip */
|
|
|
|
UPNPPORT, /* "port" */
|
|
|
|
UPNPBITRATE_UP, /* "bitrate_up" */
|
|
|
|
UPNPBITRATE_DOWN, /* "bitrate_down" */
|
|
|
|
UPNPPRESENTATIONURL, /* presentation_url */
|
2012-02-04 23:24:13 +00:00
|
|
|
UPNPFRIENDLY_NAME, /* "friendly_name" */
|
2013-10-20 21:02:19 +00:00
|
|
|
UPNPMANUFACTURER_NAME, /* "manufacturer_name" */
|
|
|
|
UPNPMANUFACTURER_URL, /* "manufacturer_url" */
|
|
|
|
UPNPMODEL_NAME, /* "model_name" */
|
|
|
|
UPNPMODEL_DESCRIPTION, /* "model_description" */
|
|
|
|
UPNPMODEL_URL, /* "model_url" */
|
2011-09-28 19:13:20 +00:00
|
|
|
UPNPNOTIFY_INTERVAL, /* notify_interval */
|
|
|
|
UPNPSYSTEM_UPTIME, /* "system_uptime" */
|
|
|
|
UPNPPACKET_LOG, /* "packet_log" */
|
|
|
|
UPNPUUID, /* uuid */
|
|
|
|
UPNPSERIAL, /* serial */
|
|
|
|
UPNPMODEL_NUMBER, /* model_number */
|
|
|
|
UPNPCLEANTHRESHOLD, /* clean_ruleset_threshold */
|
|
|
|
UPNPCLEANINTERVAL, /* clean_ruleset_interval */
|
|
|
|
UPNPENABLENATPMP, /* enable_natpmp */
|
2013-07-09 13:36:53 +00:00
|
|
|
UPNPPCPMINLIFETIME, /* minimum lifetime for PCP mapping */
|
|
|
|
UPNPPCPMAXLIFETIME, /* maximum lifetime for PCP mapping */
|
2011-09-28 19:13:20 +00:00
|
|
|
#ifdef USE_NETFILTER
|
|
|
|
UPNPFORWARDCHAIN,
|
|
|
|
UPNPNATCHAIN,
|
|
|
|
#endif
|
|
|
|
#ifdef USE_PF
|
2012-02-03 12:14:10 +00:00
|
|
|
UPNPANCHOR, /* anchor */
|
2011-09-28 19:13:20 +00:00
|
|
|
UPNPQUEUE, /* queue */
|
|
|
|
UPNPTAG, /* tag */
|
|
|
|
#endif
|
|
|
|
#ifdef PF_ENABLE_FILTER_RULES
|
|
|
|
UPNPQUICKRULES, /* quickrules */
|
|
|
|
#endif
|
|
|
|
UPNPSECUREMODE, /* secure_mode */
|
|
|
|
#ifdef ENABLE_LEASEFILE
|
|
|
|
UPNPLEASEFILE, /* lease_file */
|
|
|
|
#endif
|
|
|
|
UPNPMINISSDPDSOCKET, /* minissdpdsocket */
|
|
|
|
UPNPENABLE /* enable_upnp */
|
|
|
|
};
|
|
|
|
|
|
|
|
/* readoptionsfile()
|
|
|
|
* parse and store the option file values
|
|
|
|
* returns: 0 success, -1 failure */
|
|
|
|
int
|
|
|
|
readoptionsfile(const char * fname);
|
|
|
|
|
2012-03-01 01:44:38 +00:00
|
|
|
/* freeoptions()
|
2011-09-28 19:13:20 +00:00
|
|
|
* frees memory allocated to option values */
|
|
|
|
void
|
|
|
|
freeoptions(void);
|
|
|
|
|
|
|
|
struct option
|
|
|
|
{
|
|
|
|
enum upnpconfigoptions id;
|
2012-02-05 00:31:27 +00:00
|
|
|
const char * value;
|
2011-09-28 19:13:20 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
extern struct option * ary_options;
|
2012-05-01 09:52:21 +00:00
|
|
|
extern unsigned int num_options;
|
2011-09-28 19:13:20 +00:00
|
|
|
|
2012-06-29 19:39:34 +00:00
|
|
|
#endif /* DISABLE_CONFIG_FILE */
|
|
|
|
|
2012-09-20 20:52:51 +00:00
|
|
|
#endif /* OPTIONS_H_INCLUDED */
|
2011-09-28 19:13:20 +00:00
|
|
|
|