Annotation of embedaddon/coova-chilli/src/cmdline.h, revision 1.1.1.1
1.1 misho 1: /** @file cmdline.h
2: * @brief The header file for the command line option parser
3: * generated by GNU Gengetopt version 2.22
4: * http://www.gnu.org/software/gengetopt.
5: * DO NOT modify this file, since it can be overwritten
6: * @author GNU Gengetopt by Lorenzo Bettini */
7:
8: #ifndef CMDLINE_H
9: #define CMDLINE_H
10:
11: /* If we use autoconf. */
12: #ifdef HAVE_CONFIG_H
13: #include "config.h"
14: #endif
15:
16: #include <stdio.h> /* for FILE */
17:
18: #ifdef __cplusplus
19: extern "C" {
20: #endif /* __cplusplus */
21:
22: #ifndef CMDLINE_PARSER_PACKAGE
23: /** @brief the program name */
24: #define CMDLINE_PARSER_PACKAGE PACKAGE
25: #endif
26:
27: #ifndef CMDLINE_PARSER_VERSION
28: /** @brief the program version */
29: #define CMDLINE_PARSER_VERSION VERSION
30: #endif
31:
32: /** @brief Where the command line options are stored */
33: struct gengetopt_args_info
34: {
35: const char *help_help; /**< @brief Print help and exit help description. */
36: const char *version_help; /**< @brief Print version and exit help description. */
37: int fg_flag; /**< @brief Run in foreground (default=off). */
38: const char *fg_help; /**< @brief Run in foreground help description. */
39: int debug_flag; /**< @brief Run in debug mode (default=off). */
40: const char *debug_help; /**< @brief Run in debug mode help description. */
41: int debugfacility_arg; /**< @brief Which modules to print debug messages for (default='1'). */
42: char * debugfacility_orig; /**< @brief Which modules to print debug messages for original value given at command line. */
43: const char *debugfacility_help; /**< @brief Which modules to print debug messages for help description. */
44: int logfacility_arg; /**< @brief Syslog facility to be used for logging (default='-1'). */
45: char * logfacility_orig; /**< @brief Syslog facility to be used for logging original value given at command line. */
46: const char *logfacility_help; /**< @brief Syslog facility to be used for logging help description. */
47: char * conf_arg; /**< @brief Read configuration file. */
48: char * conf_orig; /**< @brief Read configuration file original value given at command line. */
49: const char *conf_help; /**< @brief Read configuration file help description. */
50: int interval_arg; /**< @brief Re-read configuration file at this interval (default='3600'). */
51: char * interval_orig; /**< @brief Re-read configuration file at this interval original value given at command line. */
52: const char *interval_help; /**< @brief Re-read configuration file at this interval help description. */
53: char * pidfile_arg; /**< @brief Filename of process id file. */
54: char * pidfile_orig; /**< @brief Filename of process id file original value given at command line. */
55: const char *pidfile_help; /**< @brief Filename of process id file help description. */
56: char * statedir_arg; /**< @brief Directory of nonvolatile data. */
57: char * statedir_orig; /**< @brief Directory of nonvolatile data original value given at command line. */
58: const char *statedir_help; /**< @brief Directory of nonvolatile data help description. */
59: char * net_arg; /**< @brief Network (default='192.168.182.0/24'). */
60: char * net_orig; /**< @brief Network original value given at command line. */
61: const char *net_help; /**< @brief Network help description. */
62: int dhcpstart_arg; /**< @brief Network DHCP Starting IP (default='0'). */
63: char * dhcpstart_orig; /**< @brief Network DHCP Starting IP original value given at command line. */
64: const char *dhcpstart_help; /**< @brief Network DHCP Starting IP help description. */
65: int dhcpend_arg; /**< @brief Network DHCP Ending IP (default='0'). */
66: char * dhcpend_orig; /**< @brief Network DHCP Ending IP original value given at command line. */
67: const char *dhcpend_help; /**< @brief Network DHCP Ending IP help description. */
68: char * dynip_arg; /**< @brief Dynamic IP address pool. */
69: char * dynip_orig; /**< @brief Dynamic IP address pool original value given at command line. */
70: const char *dynip_help; /**< @brief Dynamic IP address pool help description. */
71: int nodynip_flag; /**< @brief No Dynamic IP assignment (default=off). */
72: const char *nodynip_help; /**< @brief No Dynamic IP assignment help description. */
73: char * statip_arg; /**< @brief Static IP address pool. */
74: char * statip_orig; /**< @brief Static IP address pool original value given at command line. */
75: const char *statip_help; /**< @brief Static IP address pool help description. */
76: char * dns1_arg; /**< @brief Primary DNS server IP address. */
77: char * dns1_orig; /**< @brief Primary DNS server IP address original value given at command line. */
78: const char *dns1_help; /**< @brief Primary DNS server IP address help description. */
79: char * dns2_arg; /**< @brief Secondary DNS server IP address. */
80: char * dns2_orig; /**< @brief Secondary DNS server IP address original value given at command line. */
81: const char *dns2_help; /**< @brief Secondary DNS server IP address help description. */
82: char * domain_arg; /**< @brief Domain to use for DNS lookups (default='coova.org'). */
83: char * domain_orig; /**< @brief Domain to use for DNS lookups original value given at command line. */
84: const char *domain_help; /**< @brief Domain to use for DNS lookups help description. */
85: char * ipup_arg; /**< @brief Script to run after link-up. */
86: char * ipup_orig; /**< @brief Script to run after link-up original value given at command line. */
87: const char *ipup_help; /**< @brief Script to run after link-up help description. */
88: char * ipdown_arg; /**< @brief Script to run after link-down. */
89: char * ipdown_orig; /**< @brief Script to run after link-down original value given at command line. */
90: const char *ipdown_help; /**< @brief Script to run after link-down help description. */
91: char * conup_arg; /**< @brief Script to run after user logon. */
92: char * conup_orig; /**< @brief Script to run after user logon original value given at command line. */
93: const char *conup_help; /**< @brief Script to run after user logon help description. */
94: char * condown_arg; /**< @brief Script to run after user logoff. */
95: char * condown_orig; /**< @brief Script to run after user logoff original value given at command line. */
96: const char *condown_help; /**< @brief Script to run after user logoff help description. */
97: int txqlen_arg; /**< @brief TX Queue length for tun interface (linux only) (default='100'). */
98: char * txqlen_orig; /**< @brief TX Queue length for tun interface (linux only) original value given at command line. */
99: const char *txqlen_help; /**< @brief TX Queue length for tun interface (linux only) help description. */
100: char * tundev_arg; /**< @brief TUN/TAP Device, as in tun0 or tap1. */
101: char * tundev_orig; /**< @brief TUN/TAP Device, as in tun0 or tap1 original value given at command line. */
102: const char *tundev_help; /**< @brief TUN/TAP Device, as in tun0 or tap1 help description. */
103: char * radiuslisten_arg; /**< @brief IP address to send from. */
104: char * radiuslisten_orig; /**< @brief IP address to send from original value given at command line. */
105: const char *radiuslisten_help; /**< @brief IP address to send from help description. */
106: char * radiusserver1_arg; /**< @brief IP address of radius server 1 (default='rad01.coova.org'). */
107: char * radiusserver1_orig; /**< @brief IP address of radius server 1 original value given at command line. */
108: const char *radiusserver1_help; /**< @brief IP address of radius server 1 help description. */
109: char * radiusserver2_arg; /**< @brief IP address of radius server 2 (default='rad01.coova.org'). */
110: char * radiusserver2_orig; /**< @brief IP address of radius server 2 original value given at command line. */
111: const char *radiusserver2_help; /**< @brief IP address of radius server 2 help description. */
112: int radiusauthport_arg; /**< @brief Authentication UDP port of radius server (default='1812'). */
113: char * radiusauthport_orig; /**< @brief Authentication UDP port of radius server original value given at command line. */
114: const char *radiusauthport_help; /**< @brief Authentication UDP port of radius server help description. */
115: int radiusacctport_arg; /**< @brief Accounting UDP port of radius server (default='1813'). */
116: char * radiusacctport_orig; /**< @brief Accounting UDP port of radius server original value given at command line. */
117: const char *radiusacctport_help; /**< @brief Accounting UDP port of radius server help description. */
118: char * radiussecret_arg; /**< @brief Radius shared secret (default='coova-anonymous'). */
119: char * radiussecret_orig; /**< @brief Radius shared secret original value given at command line. */
120: const char *radiussecret_help; /**< @brief Radius shared secret help description. */
121: int radiustimeout_arg; /**< @brief Retry timeout in seconds (default='30'). */
122: char * radiustimeout_orig; /**< @brief Retry timeout in seconds original value given at command line. */
123: const char *radiustimeout_help; /**< @brief Retry timeout in seconds help description. */
124: int radiusretry_arg; /**< @brief Total number of retries (default='6'). */
125: char * radiusretry_orig; /**< @brief Total number of retries original value given at command line. */
126: const char *radiusretry_help; /**< @brief Total number of retries help description. */
127: int radiusretrysec_arg; /**< @brief Number of retries before using secondary (default='3'). */
128: char * radiusretrysec_orig; /**< @brief Number of retries before using secondary original value given at command line. */
129: const char *radiusretrysec_help; /**< @brief Number of retries before using secondary help description. */
130: char * radiusnasid_arg; /**< @brief Radius NAS-Identifier (default='nas01'). */
131: char * radiusnasid_orig; /**< @brief Radius NAS-Identifier original value given at command line. */
132: const char *radiusnasid_help; /**< @brief Radius NAS-Identifier help description. */
133: char * radiuslocationid_arg; /**< @brief WISPr Location ID. */
134: char * radiuslocationid_orig; /**< @brief WISPr Location ID original value given at command line. */
135: const char *radiuslocationid_help; /**< @brief WISPr Location ID help description. */
136: char * radiuslocationname_arg; /**< @brief WISPr Location Name. */
137: char * radiuslocationname_orig; /**< @brief WISPr Location Name original value given at command line. */
138: const char *radiuslocationname_help; /**< @brief WISPr Location Name help description. */
139: char * locationname_arg; /**< @brief Location Name. */
140: char * locationname_orig; /**< @brief Location Name original value given at command line. */
141: const char *locationname_help; /**< @brief Location Name help description. */
142: int radiusnasporttype_arg; /**< @brief Radius NAS-Port-Type (default='19'). */
143: char * radiusnasporttype_orig; /**< @brief Radius NAS-Port-Type original value given at command line. */
144: const char *radiusnasporttype_help; /**< @brief Radius NAS-Port-Type help description. */
145: int coaport_arg; /**< @brief Radius disconnect port to listen to (default='0'). */
146: char * coaport_orig; /**< @brief Radius disconnect port to listen to original value given at command line. */
147: const char *coaport_help; /**< @brief Radius disconnect port to listen to help description. */
148: int coanoipcheck_flag; /**< @brief Allow radius disconnect from any IP (default=off). */
149: const char *coanoipcheck_help; /**< @brief Allow radius disconnect from any IP help description. */
150: char * proxylisten_arg; /**< @brief IP address to listen to. */
151: char * proxylisten_orig; /**< @brief IP address to listen to original value given at command line. */
152: const char *proxylisten_help; /**< @brief IP address to listen to help description. */
153: int proxyport_arg; /**< @brief UDP port to listen to (default='0'). */
154: char * proxyport_orig; /**< @brief UDP port to listen to original value given at command line. */
155: const char *proxyport_help; /**< @brief UDP port to listen to help description. */
156: char * proxyclient_arg; /**< @brief IP address of proxy client(s). */
157: char * proxyclient_orig; /**< @brief IP address of proxy client(s) original value given at command line. */
158: const char *proxyclient_help; /**< @brief IP address of proxy client(s) help description. */
159: char * proxysecret_arg; /**< @brief Radius proxy shared secret. */
160: char * proxysecret_orig; /**< @brief Radius proxy shared secret original value given at command line. */
161: const char *proxysecret_help; /**< @brief Radius proxy shared secret help description. */
162: char * dhcpif_arg; /**< @brief Local Ethernet interface. */
163: char * dhcpif_orig; /**< @brief Local Ethernet interface original value given at command line. */
164: const char *dhcpif_help; /**< @brief Local Ethernet interface help description. */
165: char * dhcpmac_arg; /**< @brief Interface MAC address. */
166: char * dhcpmac_orig; /**< @brief Interface MAC address original value given at command line. */
167: const char *dhcpmac_help; /**< @brief Interface MAC address help description. */
168: int dhcpradius_flag; /**< @brief Map certain DHCP options to RADIUS attributes (default=off). */
169: const char *dhcpradius_help; /**< @brief Map certain DHCP options to RADIUS attributes help description. */
170: char * dhcpgateway_arg; /**< @brief DHCP gateway addresss for relay. */
171: char * dhcpgateway_orig; /**< @brief DHCP gateway addresss for relay original value given at command line. */
172: const char *dhcpgateway_help; /**< @brief DHCP gateway addresss for relay help description. */
173: int dhcpgatewayport_arg; /**< @brief DHCP gateway port for relay (default='67'). */
174: char * dhcpgatewayport_orig; /**< @brief DHCP gateway port for relay original value given at command line. */
175: const char *dhcpgatewayport_help; /**< @brief DHCP gateway port for relay help description. */
176: char * dhcprelayagent_arg; /**< @brief DHCP relay agent IP addresss (default uamlisten). */
177: char * dhcprelayagent_orig; /**< @brief DHCP relay agent IP addresss (default uamlisten) original value given at command line. */
178: const char *dhcprelayagent_help; /**< @brief DHCP relay agent IP addresss (default uamlisten) help description. */
179: int lease_arg; /**< @brief Lease time to allocate to clients (default='600'). */
180: char * lease_orig; /**< @brief Lease time to allocate to clients original value given at command line. */
181: const char *lease_help; /**< @brief Lease time to allocate to clients help description. */
182: int eapolenable_flag; /**< @brief Enable IEEE 802.1x authentication (default=off). */
183: const char *eapolenable_help; /**< @brief Enable IEEE 802.1x authentication help description. */
184: char * uamserver_arg; /**< @brief URL of authentication web server. */
185: char * uamserver_orig; /**< @brief URL of authentication web server original value given at command line. */
186: const char *uamserver_help; /**< @brief URL of authentication web server help description. */
187: char * uamhomepage_arg; /**< @brief URL of homepage to redirect unauthenticated users to. */
188: char * uamhomepage_orig; /**< @brief URL of homepage to redirect unauthenticated users to original value given at command line. */
189: const char *uamhomepage_help; /**< @brief URL of homepage to redirect unauthenticated users to help description. */
190: char * uamsecret_arg; /**< @brief Shared secret between uamserver and chilli. */
191: char * uamsecret_orig; /**< @brief Shared secret between uamserver and chilli original value given at command line. */
192: const char *uamsecret_help; /**< @brief Shared secret between uamserver and chilli help description. */
193: char * uamlisten_arg; /**< @brief IP address to listen to for authentication requests. */
194: char * uamlisten_orig; /**< @brief IP address to listen to for authentication requests original value given at command line. */
195: const char *uamlisten_help; /**< @brief IP address to listen to for authentication requests help description. */
196: int uamport_arg; /**< @brief TCP port to bind to for authentication requests (default='3990'). */
197: char * uamport_orig; /**< @brief TCP port to bind to for authentication requests original value given at command line. */
198: const char *uamport_help; /**< @brief TCP port to bind to for authentication requests help description. */
199: int uamuiport_arg; /**< @brief TCP port to bind to for UAM UI requests (default='3991'). */
200: char * uamuiport_orig; /**< @brief TCP port to bind to for UAM UI requests original value given at command line. */
201: const char *uamuiport_help; /**< @brief TCP port to bind to for UAM UI requests help description. */
202: char ** uamallowed_arg; /**< @brief Domain names exempt from access check . */
203: char ** uamallowed_orig; /**< @brief Domain names exempt from access check original value given at command line. */
204: int uamallowed_min; /**< @brief Domain names exempt from access check 's minimum occurreces */
205: int uamallowed_max; /**< @brief Domain names exempt from access check 's maximum occurreces */
206: const char *uamallowed_help; /**< @brief Domain names exempt from access check help description. */
207: char ** uamdomain_arg; /**< @brief Domain name allowed (active dns filtering; one per line!) . */
208: char ** uamdomain_orig; /**< @brief Domain name allowed (active dns filtering; one per line!) original value given at command line. */
209: int uamdomain_min; /**< @brief Domain name allowed (active dns filtering; one per line!) 's minimum occurreces */
210: int uamdomain_max; /**< @brief Domain name allowed (active dns filtering; one per line!) 's maximum occurreces */
211: const char *uamdomain_help; /**< @brief Domain name allowed (active dns filtering; one per line!) help description. */
212: int uamanydns_flag; /**< @brief Allow client to use any DNS server (default=off). */
213: const char *uamanydns_help; /**< @brief Allow client to use any DNS server help description. */
214: int uamanyip_flag; /**< @brief Allow client to use any IP Address (default=off). */
215: const char *uamanyip_help; /**< @brief Allow client to use any IP Address help description. */
216: char * wisprlogin_arg; /**< @brief A specific WISPr login url to be used. */
217: char * wisprlogin_orig; /**< @brief A specific WISPr login url to be used original value given at command line. */
218: const char *wisprlogin_help; /**< @brief A specific WISPr login url to be used help description. */
219: int nouamsuccess_flag; /**< @brief Do not return to the UAM server on success, original url instead (default=off). */
220: const char *nouamsuccess_help; /**< @brief Do not return to the UAM server on success, original url instead help description. */
221: int nouamwispr_flag; /**< @brief Do not send WISPr XML from ChilliSpot, assume back-end does (default=off). */
222: const char *nouamwispr_help; /**< @brief Do not send WISPr XML from ChilliSpot, assume back-end does help description. */
223: char * uamlogoutip_arg; /**< @brief HTTP Auto-Logout IP Address (default='1.1.1.1'). */
224: char * uamlogoutip_orig; /**< @brief HTTP Auto-Logout IP Address original value given at command line. */
225: const char *uamlogoutip_help; /**< @brief HTTP Auto-Logout IP Address help description. */
226: long defsessiontimeout_arg; /**< @brief Default session-timeout if not returned by RADIUS (default='0'). */
227: char * defsessiontimeout_orig; /**< @brief Default session-timeout if not returned by RADIUS original value given at command line. */
228: const char *defsessiontimeout_help; /**< @brief Default session-timeout if not returned by RADIUS help description. */
229: int defidletimeout_arg; /**< @brief Default idle-timeout if not returned by RADIUS (default='0'). */
230: char * defidletimeout_orig; /**< @brief Default idle-timeout if not returned by RADIUS original value given at command line. */
231: const char *defidletimeout_help; /**< @brief Default idle-timeout if not returned by RADIUS help description. */
232: long defbandwidthmaxdown_arg; /**< @brief Default WISPr-Bandwidth-Max-Down if not returned by RADIUS (default='0'). */
233: char * defbandwidthmaxdown_orig; /**< @brief Default WISPr-Bandwidth-Max-Down if not returned by RADIUS original value given at command line. */
234: const char *defbandwidthmaxdown_help; /**< @brief Default WISPr-Bandwidth-Max-Down if not returned by RADIUS help description. */
235: long defbandwidthmaxup_arg; /**< @brief Default WISPr-Bandwidth-Max-Up if not returned by RADIUS (default='0'). */
236: char * defbandwidthmaxup_orig; /**< @brief Default WISPr-Bandwidth-Max-Up if not returned by RADIUS original value given at command line. */
237: const char *defbandwidthmaxup_help; /**< @brief Default WISPr-Bandwidth-Max-Up if not returned by RADIUS help description. */
238: int definteriminterval_arg; /**< @brief Default interim-interval for accounting if not returned by RADIUS (default='300'). */
239: char * definteriminterval_orig; /**< @brief Default interim-interval for accounting if not returned by RADIUS original value given at command line. */
240: const char *definteriminterval_help; /**< @brief Default interim-interval for accounting if not returned by RADIUS help description. */
241: int macauth_flag; /**< @brief Authenticate based on MAC address (default=off). */
242: const char *macauth_help; /**< @brief Authenticate based on MAC address help description. */
243: int macauthdeny_flag; /**< @brief Deny access (even UAM) to MAC addresses given Access-Reject (default=off). */
244: const char *macauthdeny_help; /**< @brief Deny access (even UAM) to MAC addresses given Access-Reject help description. */
245: char ** macallowed_arg; /**< @brief List of allowed MAC addresses. */
246: char ** macallowed_orig; /**< @brief List of allowed MAC addresses original value given at command line. */
247: int macallowed_min; /**< @brief List of allowed MAC addresses's minimum occurreces */
248: int macallowed_max; /**< @brief List of allowed MAC addresses's maximum occurreces */
249: const char *macallowed_help; /**< @brief List of allowed MAC addresses help description. */
250: char * macsuffix_arg; /**< @brief Suffix to add to the MAC address. */
251: char * macsuffix_orig; /**< @brief Suffix to add to the MAC address original value given at command line. */
252: const char *macsuffix_help; /**< @brief Suffix to add to the MAC address help description. */
253: char * macpasswd_arg; /**< @brief Password used when performing MAC authentication. */
254: char * macpasswd_orig; /**< @brief Password used when performing MAC authentication original value given at command line. */
255: const char *macpasswd_help; /**< @brief Password used when performing MAC authentication help description. */
256: int macallowlocal_flag; /**< @brief Do not use RADIUS for authenticating the macallowed (default=off). */
257: const char *macallowlocal_help; /**< @brief Do not use RADIUS for authenticating the macallowed help description. */
258: char * wwwdir_arg; /**< @brief Local content served by chilli (for splash page, etc). */
259: char * wwwdir_orig; /**< @brief Local content served by chilli (for splash page, etc) original value given at command line. */
260: const char *wwwdir_help; /**< @brief Local content served by chilli (for splash page, etc) help description. */
261: char * wwwbin_arg; /**< @brief Script binary (such as haserl) for simple web programming. */
262: char * wwwbin_orig; /**< @brief Script binary (such as haserl) for simple web programming original value given at command line. */
263: const char *wwwbin_help; /**< @brief Script binary (such as haserl) for simple web programming help description. */
264: char * uamui_arg; /**< @brief Program in inetd style to handle all uam requests. */
265: char * uamui_orig; /**< @brief Program in inetd style to handle all uam requests original value given at command line. */
266: const char *uamui_help; /**< @brief Program in inetd style to handle all uam requests help description. */
267: char * adminuser_arg; /**< @brief RADIUS administrative user login username (default='chillispot'). */
268: char * adminuser_orig; /**< @brief RADIUS administrative user login username original value given at command line. */
269: const char *adminuser_help; /**< @brief RADIUS administrative user login username help description. */
270: char * adminpasswd_arg; /**< @brief RADIUS administrative user login password (default='chillispot'). */
271: char * adminpasswd_orig; /**< @brief RADIUS administrative user login password original value given at command line. */
272: const char *adminpasswd_help; /**< @brief RADIUS administrative user login password help description. */
273: char * nasmac_arg; /**< @brief Unique MAC address of the NAS (called-station-id). */
274: char * nasmac_orig; /**< @brief Unique MAC address of the NAS (called-station-id) original value given at command line. */
275: const char *nasmac_help; /**< @brief Unique MAC address of the NAS (called-station-id) help description. */
276: char * nasip_arg; /**< @brief Unique IP address of the NAS (nas-ip-address). */
277: char * nasip_orig; /**< @brief Unique IP address of the NAS (nas-ip-address) original value given at command line. */
278: const char *nasip_help; /**< @brief Unique IP address of the NAS (nas-ip-address) help description. */
279: char * ssid_arg; /**< @brief SSID of the session. */
280: char * ssid_orig; /**< @brief SSID of the session original value given at command line. */
281: const char *ssid_help; /**< @brief SSID of the session help description. */
282: char * vlan_arg; /**< @brief VLAN of the session. */
283: char * vlan_orig; /**< @brief VLAN of the session original value given at command line. */
284: const char *vlan_help; /**< @brief VLAN of the session help description. */
285: char * cmdsocket_arg; /**< @brief path to the command unix socket. */
286: char * cmdsocket_orig; /**< @brief path to the command unix socket original value given at command line. */
287: const char *cmdsocket_help; /**< @brief path to the command unix socket help description. */
288: int radiusoriginalurl_flag; /**< @brief Turn on the sending of ChilliSpot-OriginalURL in Access-Request (default=off). */
289: const char *radiusoriginalurl_help; /**< @brief Turn on the sending of ChilliSpot-OriginalURL in Access-Request help description. */
290: int swapoctets_flag; /**< @brief Swap the meaning of input/output octets/packets (default=off). */
291: const char *swapoctets_help; /**< @brief Swap the meaning of input/output octets/packets help description. */
292: int usestatusfile_flag; /**< @brief Use the status file to keep track of sessions (default=off). */
293: const char *usestatusfile_help; /**< @brief Use the status file to keep track of sessions help description. */
294: char * localusers_arg; /**< @brief File keep 'Local' usernames and passwords. */
295: char * localusers_orig; /**< @brief File keep 'Local' usernames and passwords original value given at command line. */
296: const char *localusers_help; /**< @brief File keep 'Local' usernames and passwords help description. */
297: char * postauthproxy_arg; /**< @brief IP of an upstream transparent proxy. */
298: char * postauthproxy_orig; /**< @brief IP of an upstream transparent proxy original value given at command line. */
299: const char *postauthproxy_help; /**< @brief IP of an upstream transparent proxy help description. */
300: int postauthproxyport_arg; /**< @brief Port of an upstream transparent proxy (default='0'). */
301: char * postauthproxyport_orig; /**< @brief Port of an upstream transparent proxy original value given at command line. */
302: const char *postauthproxyport_help; /**< @brief Port of an upstream transparent proxy help description. */
303: int wpaguests_flag; /**< @brief Allow WPA 'Guest' access (default=off). */
304: const char *wpaguests_help; /**< @brief Allow WPA 'Guest' access help description. */
305: int openidauth_flag; /**< @brief Allow OpenID authentication (default=off). */
306: const char *openidauth_help; /**< @brief Allow OpenID authentication help description. */
307: int papalwaysok_flag; /**< @brief Always allow 'PAP' authentication (depreciated; always on) (default=off). */
308: const char *papalwaysok_help; /**< @brief Always allow 'PAP' authentication (depreciated; always on) help description. */
309: int chillixml_flag; /**< @brief Use ChilliSpot XML in WISPr blocks (default=off). */
310: const char *chillixml_help; /**< @brief Use ChilliSpot XML in WISPr blocks help description. */
311: int acctupdate_flag; /**< @brief Allow updating of session attributes in Accounting-Response (default=off). */
312: const char *acctupdate_help; /**< @brief Allow updating of session attributes in Accounting-Response help description. */
313: int dnsparanoia_flag; /**< @brief Inspect DNS packets and drop responses with any non- A, CNAME, SOA, or MX records (to prevent dns tunnels) (default=off). */
314: const char *dnsparanoia_help; /**< @brief Inspect DNS packets and drop responses with any non- A, CNAME, SOA, or MX records (to prevent dns tunnels) help description. */
315: int usetap_flag; /**< @brief Use a TAP instead of TUN (linux only) (default=off). */
316: const char *usetap_help; /**< @brief Use a TAP instead of TUN (linux only) help description. */
317: char * routeif_arg; /**< @brief Interface to use as default route; turns on 'manual' routing. */
318: char * routeif_orig; /**< @brief Interface to use as default route; turns on 'manual' routing original value given at command line. */
319: const char *routeif_help; /**< @brief Interface to use as default route; turns on 'manual' routing help description. */
320:
321: unsigned int help_given ; /**< @brief Whether help was given. */
322: unsigned int version_given ; /**< @brief Whether version was given. */
323: unsigned int fg_given ; /**< @brief Whether fg was given. */
324: unsigned int debug_given ; /**< @brief Whether debug was given. */
325: unsigned int debugfacility_given ; /**< @brief Whether debugfacility was given. */
326: unsigned int logfacility_given ; /**< @brief Whether logfacility was given. */
327: unsigned int conf_given ; /**< @brief Whether conf was given. */
328: unsigned int interval_given ; /**< @brief Whether interval was given. */
329: unsigned int pidfile_given ; /**< @brief Whether pidfile was given. */
330: unsigned int statedir_given ; /**< @brief Whether statedir was given. */
331: unsigned int net_given ; /**< @brief Whether net was given. */
332: unsigned int dhcpstart_given ; /**< @brief Whether dhcpstart was given. */
333: unsigned int dhcpend_given ; /**< @brief Whether dhcpend was given. */
334: unsigned int dynip_given ; /**< @brief Whether dynip was given. */
335: unsigned int nodynip_given ; /**< @brief Whether nodynip was given. */
336: unsigned int statip_given ; /**< @brief Whether statip was given. */
337: unsigned int dns1_given ; /**< @brief Whether dns1 was given. */
338: unsigned int dns2_given ; /**< @brief Whether dns2 was given. */
339: unsigned int domain_given ; /**< @brief Whether domain was given. */
340: unsigned int ipup_given ; /**< @brief Whether ipup was given. */
341: unsigned int ipdown_given ; /**< @brief Whether ipdown was given. */
342: unsigned int conup_given ; /**< @brief Whether conup was given. */
343: unsigned int condown_given ; /**< @brief Whether condown was given. */
344: unsigned int txqlen_given ; /**< @brief Whether txqlen was given. */
345: unsigned int tundev_given ; /**< @brief Whether tundev was given. */
346: unsigned int radiuslisten_given ; /**< @brief Whether radiuslisten was given. */
347: unsigned int radiusserver1_given ; /**< @brief Whether radiusserver1 was given. */
348: unsigned int radiusserver2_given ; /**< @brief Whether radiusserver2 was given. */
349: unsigned int radiusauthport_given ; /**< @brief Whether radiusauthport was given. */
350: unsigned int radiusacctport_given ; /**< @brief Whether radiusacctport was given. */
351: unsigned int radiussecret_given ; /**< @brief Whether radiussecret was given. */
352: unsigned int radiustimeout_given ; /**< @brief Whether radiustimeout was given. */
353: unsigned int radiusretry_given ; /**< @brief Whether radiusretry was given. */
354: unsigned int radiusretrysec_given ; /**< @brief Whether radiusretrysec was given. */
355: unsigned int radiusnasid_given ; /**< @brief Whether radiusnasid was given. */
356: unsigned int radiuslocationid_given ; /**< @brief Whether radiuslocationid was given. */
357: unsigned int radiuslocationname_given ; /**< @brief Whether radiuslocationname was given. */
358: unsigned int locationname_given ; /**< @brief Whether locationname was given. */
359: unsigned int radiusnasporttype_given ; /**< @brief Whether radiusnasporttype was given. */
360: unsigned int coaport_given ; /**< @brief Whether coaport was given. */
361: unsigned int coanoipcheck_given ; /**< @brief Whether coanoipcheck was given. */
362: unsigned int proxylisten_given ; /**< @brief Whether proxylisten was given. */
363: unsigned int proxyport_given ; /**< @brief Whether proxyport was given. */
364: unsigned int proxyclient_given ; /**< @brief Whether proxyclient was given. */
365: unsigned int proxysecret_given ; /**< @brief Whether proxysecret was given. */
366: unsigned int dhcpif_given ; /**< @brief Whether dhcpif was given. */
367: unsigned int dhcpmac_given ; /**< @brief Whether dhcpmac was given. */
368: unsigned int dhcpradius_given ; /**< @brief Whether dhcpradius was given. */
369: unsigned int dhcpgateway_given ; /**< @brief Whether dhcpgateway was given. */
370: unsigned int dhcpgatewayport_given ; /**< @brief Whether dhcpgatewayport was given. */
371: unsigned int dhcprelayagent_given ; /**< @brief Whether dhcprelayagent was given. */
372: unsigned int lease_given ; /**< @brief Whether lease was given. */
373: unsigned int eapolenable_given ; /**< @brief Whether eapolenable was given. */
374: unsigned int uamserver_given ; /**< @brief Whether uamserver was given. */
375: unsigned int uamhomepage_given ; /**< @brief Whether uamhomepage was given. */
376: unsigned int uamsecret_given ; /**< @brief Whether uamsecret was given. */
377: unsigned int uamlisten_given ; /**< @brief Whether uamlisten was given. */
378: unsigned int uamport_given ; /**< @brief Whether uamport was given. */
379: unsigned int uamuiport_given ; /**< @brief Whether uamuiport was given. */
380: unsigned int uamallowed_given ; /**< @brief Whether uamallowed was given. */
381: unsigned int uamdomain_given ; /**< @brief Whether uamdomain was given. */
382: unsigned int uamanydns_given ; /**< @brief Whether uamanydns was given. */
383: unsigned int uamanyip_given ; /**< @brief Whether uamanyip was given. */
384: unsigned int wisprlogin_given ; /**< @brief Whether wisprlogin was given. */
385: unsigned int nouamsuccess_given ; /**< @brief Whether nouamsuccess was given. */
386: unsigned int nouamwispr_given ; /**< @brief Whether nouamwispr was given. */
387: unsigned int uamlogoutip_given ; /**< @brief Whether uamlogoutip was given. */
388: unsigned int defsessiontimeout_given ; /**< @brief Whether defsessiontimeout was given. */
389: unsigned int defidletimeout_given ; /**< @brief Whether defidletimeout was given. */
390: unsigned int defbandwidthmaxdown_given ; /**< @brief Whether defbandwidthmaxdown was given. */
391: unsigned int defbandwidthmaxup_given ; /**< @brief Whether defbandwidthmaxup was given. */
392: unsigned int definteriminterval_given ; /**< @brief Whether definteriminterval was given. */
393: unsigned int macauth_given ; /**< @brief Whether macauth was given. */
394: unsigned int macauthdeny_given ; /**< @brief Whether macauthdeny was given. */
395: unsigned int macallowed_given ; /**< @brief Whether macallowed was given. */
396: unsigned int macsuffix_given ; /**< @brief Whether macsuffix was given. */
397: unsigned int macpasswd_given ; /**< @brief Whether macpasswd was given. */
398: unsigned int macallowlocal_given ; /**< @brief Whether macallowlocal was given. */
399: unsigned int wwwdir_given ; /**< @brief Whether wwwdir was given. */
400: unsigned int wwwbin_given ; /**< @brief Whether wwwbin was given. */
401: unsigned int uamui_given ; /**< @brief Whether uamui was given. */
402: unsigned int adminuser_given ; /**< @brief Whether adminuser was given. */
403: unsigned int adminpasswd_given ; /**< @brief Whether adminpasswd was given. */
404: unsigned int nasmac_given ; /**< @brief Whether nasmac was given. */
405: unsigned int nasip_given ; /**< @brief Whether nasip was given. */
406: unsigned int ssid_given ; /**< @brief Whether ssid was given. */
407: unsigned int vlan_given ; /**< @brief Whether vlan was given. */
408: unsigned int cmdsocket_given ; /**< @brief Whether cmdsocket was given. */
409: unsigned int radiusoriginalurl_given ; /**< @brief Whether radiusoriginalurl was given. */
410: unsigned int swapoctets_given ; /**< @brief Whether swapoctets was given. */
411: unsigned int usestatusfile_given ; /**< @brief Whether usestatusfile was given. */
412: unsigned int localusers_given ; /**< @brief Whether localusers was given. */
413: unsigned int postauthproxy_given ; /**< @brief Whether postauthproxy was given. */
414: unsigned int postauthproxyport_given ; /**< @brief Whether postauthproxyport was given. */
415: unsigned int wpaguests_given ; /**< @brief Whether wpaguests was given. */
416: unsigned int openidauth_given ; /**< @brief Whether openidauth was given. */
417: unsigned int papalwaysok_given ; /**< @brief Whether papalwaysok was given. */
418: unsigned int chillixml_given ; /**< @brief Whether chillixml was given. */
419: unsigned int acctupdate_given ; /**< @brief Whether acctupdate was given. */
420: unsigned int dnsparanoia_given ; /**< @brief Whether dnsparanoia was given. */
421: unsigned int usetap_given ; /**< @brief Whether usetap was given. */
422: unsigned int routeif_given ; /**< @brief Whether routeif was given. */
423:
424: } ;
425:
426: /** @brief The additional parameters to pass to parser functions */
427: struct cmdline_parser_params
428: {
429: int override; /**< @brief whether to override possibly already present options (default 0) */
430: int initialize; /**< @brief whether to initialize the option structure gengetopt_args_info (default 1) */
431: int check_required; /**< @brief whether to check that all required options were provided (default 1) */
432: int check_ambiguity; /**< @brief whether to check for options already specified in the option structure gengetopt_args_info (default 0) */
433: int print_errors; /**< @brief whether getopt_long should print an error message for a bad option (default 1) */
434: } ;
435:
436: /** @brief the purpose string of the program */
437: extern const char *gengetopt_args_info_purpose;
438: /** @brief the usage string of the program */
439: extern const char *gengetopt_args_info_usage;
440: /** @brief all the lines making the help output */
441: extern const char *gengetopt_args_info_help[];
442:
443: /**
444: * The command line parser
445: * @param argc the number of command line options
446: * @param argv the command line options
447: * @param args_info the structure where option information will be stored
448: * @return 0 if everything went fine, NON 0 if an error took place
449: */
450: int cmdline_parser (int argc, char * const *argv,
451: struct gengetopt_args_info *args_info);
452:
453: /**
454: * The command line parser (version with additional parameters - deprecated)
455: * @param argc the number of command line options
456: * @param argv the command line options
457: * @param args_info the structure where option information will be stored
458: * @param override whether to override possibly already present options
459: * @param initialize whether to initialize the option structure my_args_info
460: * @param check_required whether to check that all required options were provided
461: * @return 0 if everything went fine, NON 0 if an error took place
462: * @deprecated use cmdline_parser_ext() instead
463: */
464: int cmdline_parser2 (int argc, char * const *argv,
465: struct gengetopt_args_info *args_info,
466: int override, int initialize, int check_required);
467:
468: /**
469: * The command line parser (version with additional parameters)
470: * @param argc the number of command line options
471: * @param argv the command line options
472: * @param args_info the structure where option information will be stored
473: * @param params additional parameters for the parser
474: * @return 0 if everything went fine, NON 0 if an error took place
475: */
476: int cmdline_parser_ext (int argc, char * const *argv,
477: struct gengetopt_args_info *args_info,
478: struct cmdline_parser_params *params);
479:
480: /**
481: * Save the contents of the option struct into an already open FILE stream.
482: * @param outfile the stream where to dump options
483: * @param args_info the option struct to dump
484: * @return 0 if everything went fine, NON 0 if an error took place
485: */
486: int cmdline_parser_dump(FILE *outfile,
487: struct gengetopt_args_info *args_info);
488:
489: /**
490: * Save the contents of the option struct into a (text) file.
491: * This file can be read by the config file parser (if generated by gengetopt)
492: * @param filename the file where to save
493: * @param args_info the option struct to save
494: * @return 0 if everything went fine, NON 0 if an error took place
495: */
496: int cmdline_parser_file_save(const char *filename,
497: struct gengetopt_args_info *args_info);
498:
499: /**
500: * Print the help
501: */
502: void cmdline_parser_print_help(void);
503: /**
504: * Print the version
505: */
506: void cmdline_parser_print_version(void);
507:
508: /**
509: * Initializes all the fields a cmdline_parser_params structure
510: * to their default values
511: * @param params the structure to initialize
512: */
513: void cmdline_parser_params_init(struct cmdline_parser_params *params);
514:
515: /**
516: * Allocates dynamically a cmdline_parser_params structure and initializes
517: * all its fields to their default values
518: * @return the created and initialized cmdline_parser_params structure
519: */
520: struct cmdline_parser_params *cmdline_parser_params_create(void);
521:
522: /**
523: * Initializes the passed gengetopt_args_info structure's fields
524: * (also set default values for options that have a default)
525: * @param args_info the structure to initialize
526: */
527: void cmdline_parser_init (struct gengetopt_args_info *args_info);
528: /**
529: * Deallocates the string fields of the gengetopt_args_info structure
530: * (but does not deallocate the structure itself)
531: * @param args_info the structure to deallocate
532: */
533: void cmdline_parser_free (struct gengetopt_args_info *args_info);
534:
535: /**
536: * The config file parser (deprecated version)
537: * @param filename the name of the config file
538: * @param args_info the structure where option information will be stored
539: * @param override whether to override possibly already present options
540: * @param initialize whether to initialize the option structure my_args_info
541: * @param check_required whether to check that all required options were provided
542: * @return 0 if everything went fine, NON 0 if an error took place
543: * @deprecated use cmdline_parser_config_file() instead
544: */
545: int cmdline_parser_configfile (char * const filename,
546: struct gengetopt_args_info *args_info,
547: int override, int initialize, int check_required);
548:
549: /**
550: * The config file parser
551: * @param filename the name of the config file
552: * @param args_info the structure where option information will be stored
553: * @param params additional parameters for the parser
554: * @return 0 if everything went fine, NON 0 if an error took place
555: */
556: int cmdline_parser_config_file (char * const filename,
557: struct gengetopt_args_info *args_info,
558: struct cmdline_parser_params *params);
559:
560: /**
561: * Checks that all the required options were specified
562: * @param args_info the structure to check
563: * @param prog_name the name of the program that will be used to print
564: * possible errors
565: * @return
566: */
567: int cmdline_parser_required (struct gengetopt_args_info *args_info,
568: const char *prog_name);
569:
570:
571: #ifdef __cplusplus
572: }
573: #endif /* __cplusplus */
574: #endif /* CMDLINE_H */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>