X-Git-Url: https://git.sommitrealweird.co.uk/onak.git/blobdiff_plain/3e3f47ec2fdbfaf0682d9790a99264a4e60e9bf1..8a1337cda8055ff06e54c1def4b13eea133c7672:/keydctl.c diff --git a/keydctl.c b/keydctl.c index b786fea..c66ce28 100644 --- a/keydctl.c +++ b/keydctl.c @@ -8,14 +8,15 @@ #include #include #include +#include #include #include #include #include -#include "config.h" #include "keyd.h" #include "onak-conf.h" +#include "version.h" /* HACK: We need to stop onak-conf.o requiring this. */ void *DBFUNCS = NULL; @@ -138,16 +139,43 @@ static void keyd_close(void) static void keyd_status(void) { uint32_t reply; + struct keyd_stats stats; keyd_do_command(KEYD_CMD_VERSION, &reply, sizeof(reply)); printf("Using keyd protocol version %d.\n", reply); + keyd_do_command(KEYD_CMD_STATS, &stats, sizeof(stats)); + printf("keyd running since %s", ctime(&stats.started)); + printf("%d client connections received\n", stats.connects); + + printf("Command statistics:\n"); + printf(" Version: %d\n", + stats.command_stats[KEYD_CMD_VERSION]); + printf(" Get key: %d\n", stats.command_stats[KEYD_CMD_GET]); + printf(" Store key: %d\n", + stats.command_stats[KEYD_CMD_STORE]); + printf(" Delete key: %d\n", + stats.command_stats[KEYD_CMD_DELETE]); + printf(" Search key: %d\n", + stats.command_stats[KEYD_CMD_GETTEXT]); + printf(" Get full keyid: %d\n", + stats.command_stats[KEYD_CMD_GETFULLKEYID]); + printf(" Iterate all keys: %d\n", + stats.command_stats[KEYD_CMD_KEYITER]); + printf(" Close: %d\n", + stats.command_stats[KEYD_CMD_CLOSE]); + printf(" Quit: %d\n", stats.command_stats[KEYD_CMD_QUIT]); + printf(" Get statistics: %d\n", + stats.command_stats[KEYD_CMD_STATS]); + printf(" Unknown: %d\n", + stats.command_stats[KEYD_CMD_UNKNOWN]); + return; } static void usage(void) { - puts("keydctl " PACKAGE_VERSION " - control an onak keyd instance.\n"); + puts("keydctl " ONAK_VERSION " - control an onak keyd instance.\n"); puts("Usage:\n"); puts("\tonak [options] \n"); puts("\tCommands:\n");