aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2020-01-02 12:07:08 +0100
committerGerd Hoffmann <kraxel@redhat.com>2020-01-02 12:07:08 +0100
commitac687a8107d8c830c05fc5fabbe78816ef222a55 (patch)
tree6ba770e7f9be977bbeaa21be53fd87a68f782bdd
parent123e4831a35c1f120f8addcc60b59e15d8c6695e (diff)
downloaddrminfo-ac687a8107d8c830c05fc5fabbe78816ef222a55.tar.gz
egltest: long options
-rw-r--r--egltest.c57
1 files changed, 49 insertions, 8 deletions
diff --git a/egltest.c b/egltest.c
index cea29da..2a13dc2 100644
--- a/egltest.c
+++ b/egltest.c
@@ -74,16 +74,57 @@ static void usage(FILE *fp)
"usage: egltest [ options ]\n"
"\n"
"options:\n"
- " -h print this\n"
- " -a autotest mode\n"
- " -c <nr> pick card\n"
- " -s <secs> set sleep time (default: 60)\n"
- " -i print device info\n"
- " -x print extensions\n"
- " -L <output> get a drm lease for output\n"
+ " -h | --help print this\n"
+ " -a | --autotest autotest mode\n"
+ " -i | --info print device info\n"
+ " -x | --exts print extensions\n"
+ " -c | --card <nr> pick card\n"
+ " -s | --sleep <secs> set sleep time (default: 60)\n"
+ " --lease <output> get a drm lease for output\n"
"\n");
}
+enum {
+ OPT_LONG_LEASE,
+};
+
+struct option long_opts[] = {
+ {
+ /* --- no argument --- */
+ .name = "help",
+ .has_arg = false,
+ .val = 'h',
+ },{
+ .name = "autotest",
+ .has_arg = false,
+ .val = 'a',
+ },{
+ .name = "info",
+ .has_arg = false,
+ .val = 'i',
+ },{
+ .name = "exts",
+ .has_arg = false,
+ .val = 'x',
+ },{
+
+ /* --- with argument --- */
+ .name = "card",
+ .has_arg = true,
+ .val = 'c',
+ },{
+ .name = "sleep",
+ .has_arg = true,
+ .val = 's',
+ },{
+ .name = "lease",
+ .has_arg = true,
+ .val = OPT_LONG_LEASE,
+ },{
+ /* end of list */
+ }
+};
+
int main(int argc, char **argv)
{
int card = 0;
@@ -97,7 +138,7 @@ int main(int argc, char **argv)
int c;
for (;;) {
- c = getopt(argc, argv, "haixc:s:L:");
+ c = getopt_long(argc, argv, "haixc:s:", long_opts, NULL);
if (c == -1)
break;
switch (c) {