Start of hostinfo daemon / play with APR.
[virt-hostinfo.git] / hostinfod / main.c
1 /* virt-hostinfo
2  * Copyright (C) 2009 Red Hat Inc.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17  */
18
19 #ifdef HAVE_CONFIG_H
20 #include <config.h>
21 #endif
22
23 #include <stdio.h>
24 #include <stdlib.h>
25
26 #include <apr_general.h>
27 #include <apr_network_io.h>
28 #include <apr_getopt.h>
29
30 static void usage (void);
31
32 int
33 main (int argc, char *argv[])
34 {
35   static const apr_getopt_option_t options[] = {
36     { "help", '?', FALSE, "display help" },
37     { NULL, 0, 0, NULL },
38   };
39   apr_status_t r;
40   apr_pool_t *mp;
41   apr_getopt_t *opt;
42   int c;
43   const char *optarg;
44         
45   apr_initialize ();
46   apr_pool_create (&mp, NULL);
47
48   apr_getopt_init (&opt, mp, argc, argv);
49
50   while ((r = apr_getopt_long (opt, options, &c, &optarg)) == APR_SUCCESS) {
51     switch (c) {
52     case '?':
53       usage ();
54       exit (0);
55     default:
56       abort ();
57     }
58   }
59   if (r != APR_EOF) {
60     fprintf (stderr, "%s: unknown command line option\n", argv[0]);
61     exit (1);
62   }
63
64   apr_terminate ();
65   return 0;
66 }
67
68 static void
69 usage (void)
70 {
71   printf ("hostinfod (virt-hostinfo daemon)\n"
72           "Copyright (C) 2009 Red Hat Inc.\n"
73           "\n"
74           "Usage:\n"
75           "  hostinfod [-d] [-f]\n"
76           "\n"
77           "Options:\n"
78           "  --help     Display full usage\n"
79           "  -d         Enable verbose debug messages\n"
80           "  -f         Run in the foreground (don't fork)\n");
81 }