Monero
Loading...
Searching...
No Matches
options.h
Go to the documentation of this file.
1/* $Id: options.h,v 1.32 2020/04/09 18:40:42 nanard Exp $ */
2/* vim: tabstop=4 shiftwidth=4 noexpandtab
3 * MiniUPnP project
4 * http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/
5 * author: Ryan Wagoner
6 * (c) 2006-2020 Thomas Bernard
7 * This software is subject to the conditions detailed
8 * in the LICENCE file provided within the distribution */
9
10#ifndef OPTIONS_H_INCLUDED
11#define OPTIONS_H_INCLUDED
12
13#include "config.h"
14
15#ifndef DISABLE_CONFIG_FILE
16/* enum of option available in the miniupnpd.conf */
19 UPNPEXT_IFNAME = 1, /* ext_ifname */
20#ifdef ENABLE_IPV6
21 UPNPEXT_IFNAME6, /* ext_ifname6 */
22#endif
23 UPNPEXT_IP, /* ext_ip */
24 UPNPEXT_PERFORM_STUN, /* ext_perform_stun */
25 UPNPEXT_STUN_HOST, /* ext_stun_host */
26 UPNPEXT_STUN_PORT, /* ext_stun_port */
27 UPNPLISTENING_IP, /* listening_ip */
28#ifdef ENABLE_IPV6
29 UPNPIPV6_LISTENING_IP, /* listening address for IPv6 */
30 UPNPIPV6_DISABLE, /* ipv6_disable */
31#endif /* ENABLE_IPV6 */
32 UPNPPORT, /* "port" / "http_port" */
33#ifdef ENABLE_HTTPS
34 UPNPHTTPSPORT, /* "https_port" */
35#endif
36 UPNPBITRATE_UP, /* "bitrate_up" */
37 UPNPBITRATE_DOWN, /* "bitrate_down" */
38 UPNPPRESENTATIONURL, /* presentation_url */
39#ifdef ENABLE_MANUFACTURER_INFO_CONFIGURATION
40 UPNPFRIENDLY_NAME, /* "friendly_name" */
41 UPNPMANUFACTURER_NAME, /* "manufacturer_name" */
42 UPNPMANUFACTURER_URL, /* "manufacturer_url" */
43 UPNPMODEL_NAME, /* "model_name" */
44 UPNPMODEL_DESCRIPTION, /* "model_description" */
45 UPNPMODEL_URL, /* "model_url" */
46#endif
47 UPNPNOTIFY_INTERVAL, /* notify_interval */
48 UPNPSYSTEM_UPTIME, /* "system_uptime" */
49 UPNPPACKET_LOG, /* "packet_log" */
50 UPNPUUID, /* uuid */
51 UPNPSERIAL, /* serial */
52 UPNPMODEL_NUMBER, /* model_number */
53 UPNPCLEANTHRESHOLD, /* clean_ruleset_threshold */
54 UPNPCLEANINTERVAL, /* clean_ruleset_interval */
55 UPNPENABLENATPMP, /* enable_natpmp */
56 UPNPPCPMINLIFETIME, /* minimum lifetime for PCP mapping */
57 UPNPPCPMAXLIFETIME, /* maximum lifetime for PCP mapping */
58 UPNPPCPALLOWTHIRDPARTY, /* allow third-party requests */
59#ifdef USE_NETFILTER
60 UPNPFORWARDCHAIN,
61 UPNPNATCHAIN,
62 UPNPNATPOSTCHAIN,
63#endif
64#ifdef USE_PF
65 UPNPANCHOR, /* anchor */
66 UPNPQUEUE, /* queue */
67 UPNPTAG, /* tag */
68#endif
69#ifdef PF_ENABLE_FILTER_RULES
70 UPNPQUICKRULES, /* quickrules */
71#endif
72 UPNPSECUREMODE, /* secure_mode */
73#ifdef ENABLE_LEASEFILE
74 UPNPLEASEFILE, /* lease_file */
75#endif
76 UPNPMINISSDPDSOCKET, /* minissdpdsocket */
77#ifdef IGD_V2
78 UPNPFORCEIGDDESCV1,
79#endif
80 UPNPENABLE /* enable_upnp */
81};
82
83/* readoptionsfile()
84 * parse and store the option file values
85 * returns: 0 success, -1 failure */
86int
87readoptionsfile(const char * fname);
88
89/* freeoptions()
90 * frees memory allocated to option values */
91void
92freeoptions(void);
93
94struct option
95{
97 const char * value;
98};
99
100extern struct option * ary_options;
101extern unsigned int num_options;
102
103#endif /* DISABLE_CONFIG_FILE */
104
105#endif /* OPTIONS_H_INCLUDED */
unsigned int num_options
Definition options.c:26
struct option * ary_options
Definition options.c:24
upnpconfigoptions
Definition options.h:17
@ UPNPPORT
Definition options.h:32
@ UPNPEXT_IFNAME
Definition options.h:19
@ UPNPBITRATE_DOWN
Definition options.h:37
@ UPNPPRESENTATIONURL
Definition options.h:38
@ UPNPUUID
Definition options.h:50
@ UPNPPACKET_LOG
Definition options.h:49
@ UPNP_INVALID
Definition options.h:18
@ UPNPBITRATE_UP
Definition options.h:36
@ UPNPSECUREMODE
Definition options.h:72
@ UPNPEXT_STUN_HOST
Definition options.h:25
@ UPNPEXT_STUN_PORT
Definition options.h:26
@ UPNPPCPMAXLIFETIME
Definition options.h:57
@ UPNPMODEL_NUMBER
Definition options.h:52
@ UPNPEXT_IP
Definition options.h:23
@ UPNPNOTIFY_INTERVAL
Definition options.h:47
@ UPNPENABLE
Definition options.h:80
@ UPNPLISTENING_IP
Definition options.h:27
@ UPNPENABLENATPMP
Definition options.h:55
@ UPNPPCPMINLIFETIME
Definition options.h:56
@ UPNPPCPALLOWTHIRDPARTY
Definition options.h:58
@ UPNPSYSTEM_UPTIME
Definition options.h:48
@ UPNPCLEANINTERVAL
Definition options.h:54
@ UPNPSERIAL
Definition options.h:51
@ UPNPEXT_PERFORM_STUN
Definition options.h:24
@ UPNPCLEANTHRESHOLD
Definition options.h:53
@ UPNPMINISSDPDSOCKET
Definition options.h:76
int readoptionsfile(const char *fname)
Definition options.c:102
void freeoptions(void)
Definition options.c:295
Definition options.h:95
enum upnpconfigoptions id
Definition options.h:96
const char * value
Definition options.h:97