diff options
Diffstat (limited to 'src/swanctl/commands/initiate.c')
-rw-r--r-- | src/swanctl/commands/initiate.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/swanctl/commands/initiate.c b/src/swanctl/commands/initiate.c index a4a83737c..080dc4131 100644 --- a/src/swanctl/commands/initiate.c +++ b/src/swanctl/commands/initiate.c @@ -17,13 +17,12 @@ #include <errno.h> - CALLBACK(log_cb, void, - bool *raw, char *name, vici_res_t *msg) + command_format_options_t *format, char *name, vici_res_t *msg) { - if (*raw) + if (*format & COMMAND_FORMAT_RAW) { - vici_dump(msg, "log", stdout); + vici_dump(msg, "log", *format & COMMAND_FORMAT_PRETTY, stdout); } else { @@ -37,7 +36,7 @@ static int initiate(vici_conn_t *conn) { vici_req_t *req; vici_res_t *res; - bool raw = FALSE; + command_format_options_t format = COMMAND_FORMAT_NONE; char *arg, *child = NULL; int ret = 0, timeout = 0, level = 1; @@ -47,8 +46,11 @@ static int initiate(vici_conn_t *conn) { case 'h': return command_usage(NULL); + case 'P': + format |= COMMAND_FORMAT_PRETTY; + /* fall through to raw */ case 'r': - raw = TRUE; + format |= COMMAND_FORMAT_RAW; continue; case 'c': child = arg; @@ -67,7 +69,7 @@ static int initiate(vici_conn_t *conn) break; } - if (vici_register(conn, "control-log", log_cb, &raw) != 0) + if (vici_register(conn, "control-log", log_cb, &format) != 0) { fprintf(stderr, "registering for log failed: %s\n", strerror(errno)); return errno; @@ -88,9 +90,10 @@ static int initiate(vici_conn_t *conn) fprintf(stderr, "initiate request failed: %s\n", strerror(errno)); return errno; } - if (raw) + if (format & COMMAND_FORMAT_RAW) { - vici_dump(res, "initiate reply", stdout); + vici_dump(res, "initiate reply", format & COMMAND_FORMAT_PRETTY, + stdout); } else { @@ -116,12 +119,13 @@ static void __attribute__ ((constructor))reg() { command_register((command_t) { initiate, 'i', "initiate", "initiate a connection", - {"--child <name> [--timeout <s>] [--raw]"}, + {"--child <name> [--timeout <s>] [--raw|--pretty]"}, { {"help", 'h', 0, "show usage information"}, {"child", 'c', 1, "initate a CHILD_SA configuration"}, {"timeout", 't', 1, "timeout in seconds before detaching"}, {"raw", 'r', 0, "dump raw response message"}, + {"pretty", 'P', 0, "dump raw response message in pretty print"}, {"loglevel", 'l', 1, "verbosity of redirected log"}, } }); |