aboutsummaryrefslogtreecommitdiffstats
path: root/ggsn/cmdline.h
blob: d9e3086ac8187845ea1c5e1d8846838103049867 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
/* cmdline.h */

/* File autogenerated by gengetopt version 2.17  */

#ifndef CMDLINE_H
#define CMDLINE_H

/* If we use autoconf.  */
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

#ifndef CMDLINE_PARSER_PACKAGE
#define CMDLINE_PARSER_PACKAGE PACKAGE
#endif

#ifndef CMDLINE_PARSER_VERSION
#define CMDLINE_PARSER_VERSION VERSION
#endif

struct gengetopt_args_info
{
  const char *help_help; /* Print help and exit help description.  */
  const char *version_help; /* Print version and exit help description.  */
  int fg_flag;	/* Run in foreground (default=off).  */
  const char *fg_help; /* Run in foreground help description.  */
  int debug_flag;	/* Run in debug mode (default=off).  */
  const char *debug_help; /* Run in debug mode help description.  */
  char * conf_arg;	/* Read configuration file (default='/etc/ggsn.conf').  */
  char * conf_orig;	/* Read configuration file original value given at command line.  */
  const char *conf_help; /* Read configuration file help description.  */
  char * pidfile_arg;	/* Filename of process id file (default='/var/run/ggsn.pid').  */
  char * pidfile_orig;	/* Filename of process id file original value given at command line.  */
  const char *pidfile_help; /* Filename of process id file help description.  */
  char * statedir_arg;	/* Directory of nonvolatile data (default='/var/lib/ggsn/').  */
  char * statedir_orig;	/* Directory of nonvolatile data original value given at command line.  */
  const char *statedir_help; /* Directory of nonvolatile data help description.  */
  char * listen_arg;	/* Local interface.  */
  char * listen_orig;	/* Local interface original value given at command line.  */
  const char *listen_help; /* Local interface help description.  */
  char * net_arg;	/* Network (default='192.168.0.0/24').  */
  char * net_orig;	/* Network original value given at command line.  */
  const char *net_help; /* Network help description.  */
  char * ipup_arg;	/* Script to run after link-up.  */
  char * ipup_orig;	/* Script to run after link-up original value given at command line.  */
  const char *ipup_help; /* Script to run after link-up help description.  */
  char * ipdown_arg;	/* Script to run after link-down.  */
  char * ipdown_orig;	/* Script to run after link-down original value given at command line.  */
  const char *ipdown_help; /* Script to run after link-down help description.  */
  char * dynip_arg;	/* Dynamic IP address pool.  */
  char * dynip_orig;	/* Dynamic IP address pool original value given at command line.  */
  const char *dynip_help; /* Dynamic IP address pool help description.  */
  char * statip_arg;	/* Static IP address pool.  */
  char * statip_orig;	/* Static IP address pool original value given at command line.  */
  const char *statip_help; /* Static IP address pool help description.  */
  char * pcodns1_arg;	/* PCO DNS Server 1 (default='0.0.0.0').  */
  char * pcodns1_orig;	/* PCO DNS Server 1 original value given at command line.  */
  const char *pcodns1_help; /* PCO DNS Server 1 help description.  */
  char * pcodns2_arg;	/* PCO DNS Server 2 (default='0.0.0.0').  */
  char * pcodns2_orig;	/* PCO DNS Server 2 original value given at command line.  */
  const char *pcodns2_help; /* PCO DNS Server 2 help description.  */
  int timelimit_arg;	/* Exit after timelimit seconds (default='0').  */
  char * timelimit_orig;	/* Exit after timelimit seconds original value given at command line.  */
  const char *timelimit_help; /* Exit after timelimit seconds help description.  */
  char * apn_arg;	/* Access point name (default='internet').  */
  char * apn_orig;	/* Access point name original value given at command line.  */
  const char *apn_help; /* Access point name help description.  */
  int qos_arg;	/* Requested quality of service (default='0x0b921f').  */
  char * qos_orig;	/* Requested quality of service original value given at command line.  */
  const char *qos_help; /* Requested quality of service help description.  */
  
  int help_given ;	/* Whether help was given.  */
  int version_given ;	/* Whether version was given.  */
  int fg_given ;	/* Whether fg was given.  */
  int debug_given ;	/* Whether debug was given.  */
  int conf_given ;	/* Whether conf was given.  */
  int pidfile_given ;	/* Whether pidfile was given.  */
  int statedir_given ;	/* Whether statedir was given.  */
  int listen_given ;	/* Whether listen was given.  */
  int net_given ;	/* Whether net was given.  */
  int ipup_given ;	/* Whether ipup was given.  */
  int ipdown_given ;	/* Whether ipdown was given.  */
  int dynip_given ;	/* Whether dynip was given.  */
  int statip_given ;	/* Whether statip was given.  */
  int pcodns1_given ;	/* Whether pcodns1 was given.  */
  int pcodns2_given ;	/* Whether pcodns2 was given.  */
  int timelimit_given ;	/* Whether timelimit was given.  */
  int apn_given ;	/* Whether apn was given.  */
  int qos_given ;	/* Whether qos was given.  */

} ;

extern const char *gengetopt_args_info_purpose;
extern const char *gengetopt_args_info_usage;
extern const char *gengetopt_args_info_help[];

int cmdline_parser (int argc, char * const *argv,
  struct gengetopt_args_info *args_info);
int cmdline_parser2 (int argc, char * const *argv,
  struct gengetopt_args_info *args_info,
  int override, int initialize, int check_required);
int cmdline_parser_file_save(const char *filename,
  struct gengetopt_args_info *args_info);

void cmdline_parser_print_help(void);
void cmdline_parser_print_version(void);

void cmdline_parser_init (struct gengetopt_args_info *args_info);
void cmdline_parser_free (struct gengetopt_args_info *args_info);

int cmdline_parser_configfile (char * const filename,
  struct gengetopt_args_info *args_info,
  int override, int initialize, int check_required);

int cmdline_parser_required (struct gengetopt_args_info *args_info,
  const char *prog_name);


#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* CMDLINE_H */