From d6a03d9de043fa1f48873db049017521f63feb20 Mon Sep 17 00:00:00 2001 From: midipix Date: Jun 08 2020 01:00:10 +0000 Subject: daemon: toks_daemon_vtbl: redefine more elegantly. --- diff --git a/src/daemon/toks_daemon_loop.c b/src/daemon/toks_daemon_loop.c index 557d27c..ea62e6f 100644 --- a/src/daemon/toks_daemon_loop.c +++ b/src/daemon/toks_daemon_loop.c @@ -12,15 +12,15 @@ #include "toksvc_driver_impl.h" #include "toksvc_log_impl.h" -#define TOKS_VTBL_ELEMENTS TOKS_DAEMON_OPCODE_CAP - TOKS_DAEMON_OPCODE_BASE +#define TOKS_VTBL_ELEMENTS TOKS_DAEMON_OPCODE_CAP - TOKS_DAEMON_OPCODE_BASE + +#define TOKS_OPCODE_IDX(IDX) TOKS_DAEMON_ ## IDX - TOKS_DAEMON_OPCODE_BASE +#define TOKS_HANDLER(IDX,fn) [TOKS_OPCODE_IDX(IDX)] = fn + static toks_daemon_routine * toks_daemon_vtbl[TOKS_VTBL_ELEMENTS] = { - toks_daemon_connect, - 0, - toks_daemon_signal, - 0, - 0, - 0 + TOKS_HANDLER(CONNECT, toks_daemon_connect), + TOKS_HANDLER(TTYSIGNAL, toks_daemon_signal), }; int32_t __stdcall toks_daemon_loop(void * ctx)