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
|
/* This file is part of GNU Pies. -*- c -*-
Copyright (C) 2008-2016 Sergey Poznyakoff
GNU Pies is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GNU Pies is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Pies. If not, see <http://www.gnu.org/licenses/>. */
OPTIONS_BEGIN("piesctl",
[<GNU pies control program>],
[<COMMAND [ARG...]>],
[<gnu>],
[<copyright_year=2008-2016>],
[<copyright_holder=Sergey Poznyakoff>])
OPTION(instance,i,NAME,
[<connect to instance NAME>])
BEGIN
instance = optarg;
END
OPTION(config-file,c,FILE,
[<use FILE instead of the default configuration>])
BEGIN
config_file = optarg;
END
OPTION(config-help,,,
[<show configuration file summary>])
BEGIN
config_help ();
exit (0);
END
OPTION(,E,,
[<preprocess configuration files and exit>])
BEGIN
preprocess_only = 1;
END
OPTION(verbose,v,,
[<verbose diagnostics>])
BEGIN
++verbose;
END
OPTION(dump,d,,
[<dump obtained responses verbatim>])
BEGIN
++dump;
END
OPTION(url,u,URL,
[<connect to this socket>])
BEGIN
if (pies_url_create (&client.url, optarg))
{
grecs_error (NULL, 0, _("%s: cannot create URL: %s"),
optarg, strerror (errno));
exit (EX_USAGE);
}
END
GROUP(Preprocessor)
OPTION(include-directory,I,DIR,
[<add include directory>])
BEGIN
grecs_preproc_add_include_dir (optarg);
END
OPTION(define,D,[<NAME[=VALUE]>],
[<define a preprocessor symbol NAME as having VALUE or empty>])
BEGIN
pp_add_option ("-D", optarg);
END
OPTION(undefine,U,NAME,
[<undefine a preprocessor symbol NAME>])
BEGIN
pp_add_option ("-U", optarg);
END
OPTIONS_END
void
parse_options(int argc, char *argv[], int *index)
{
GETOPT(argc, argv, *index)
setenv ("PIES_INSTANCE", instance, 1);
}
|