Monero
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 */
86 int
87 readoptionsfile(const char * fname);
88 
89 /* freeoptions()
90  * frees memory allocated to option values */
91 void
92 freeoptions(void);
93 
94 struct option
95 {
97  const char * value;
98 };
99 
100 extern struct option * ary_options;
101 extern unsigned int num_options;
102 
103 #endif /* DISABLE_CONFIG_FILE */
104 
105 #endif /* OPTIONS_H_INCLUDED */
Definition: options.h:49
struct option * ary_options
Definition: options.c:24
Definition: options.h:56
Definition: options.h:36
Definition: options.h:18
Definition: options.h:76
Definition: options.h:80
unsigned int num_options
Definition: options.c:26
enum upnpconfigoptions id
Definition: options.h:96
Definition: options.h:25
Definition: options.h:51
Definition: options.h:37
const char * value
Definition: options.h:97
Definition: options.h:27
Definition: options.h:19
int readoptionsfile(const char *fname)
Definition: options.c:102
Definition: options.h:94
Definition: options.h:47
Definition: options.h:52
upnpconfigoptions
Definition: options.h:17
Definition: options.h:26
Definition: options.h:54
Definition: options.h:50
Definition: options.h:53
Definition: options.h:48
Definition: options.h:38
Definition: options.h:24
void freeoptions(void)
Definition: options.c:295
Definition: options.h:57
Definition: options.h:23
Definition: options.h:55
Definition: options.h:32
Definition: options.h:58
Definition: options.h:72