X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fjournal%2Fjournal-gatewayd.c;h=7e29c905e2a191087cafa05452c573f52ce3bd13;hb=1e447e0a3cb3e98827938a182593056ddbb13b29;hp=4a4905dbfb8b94dd4498879c1e8d104b340269fd;hpb=a93035cee3df135b72b8ff6c1d8361e2e647ed0b;p=elogind.git diff --git a/src/journal/journal-gatewayd.c b/src/journal/journal-gatewayd.c index 4a4905dbf..7e29c905e 100644 --- a/src/journal/journal-gatewayd.c +++ b/src/journal/journal-gatewayd.c @@ -35,6 +35,7 @@ #include "microhttpd-util.h" #include "virt.h" #include "build.h" +#include "fileio.h" typedef struct RequestMeta { sd_journal *journal; @@ -862,6 +863,19 @@ static int request_handler( return respond_error(connection, MHD_HTTP_NOT_FOUND, "Not found.\n"); } +static int help(void) { + + printf("%s [OPTIONS...] ...\n\n" + "HTTP server for journal events.\n\n" + " -h --help Show this help\n" + " --version Show package version\n" + " --cert=CERT.PEM Specify server certificate in PEM format\n" + " --key=KEY.PEM Specify server key in PEM format\n", + program_invocation_short_name); + + return 0; +} + static char *key_pem = NULL; static char *cert_pem = NULL; @@ -875,6 +889,7 @@ static int parse_argv(int argc, char *argv[]) { int r, c; static const struct option options[] = { + { "help", no_argument, NULL, 'h' }, { "version", no_argument, NULL, ARG_VERSION }, { "key", required_argument, NULL, ARG_KEY }, { "cert", required_argument, NULL, ARG_CERT }, @@ -884,13 +899,16 @@ static int parse_argv(int argc, char *argv[]) { assert(argc >= 0); assert(argv); - while ((c = getopt_long(argc, argv, "", options, NULL)) >= 0) + while ((c = getopt_long(argc, argv, "h", options, NULL)) >= 0) switch(c) { case ARG_VERSION: puts(PACKAGE_STRING); puts(SYSTEMD_FEATURES); return 0; + case 'h': + return help(); + case ARG_KEY: if (key_pem) { log_error("Key file specified twice");