diff --git a/lib/command.c b/lib/command.c index f6cf86f5..414081c3 100644 --- a/lib/command.c +++ b/lib/command.c @@ -36,50 +36,49 @@ glibtop_call_l (glibtop *server, unsigned command, size_t send_size, glibtop_init_r (&server, 0, 0); + g_assert(command >= GLIBTOP_CMND_QUIT && command < GLIBTOP_MAX_CMND); + + switch (command) { +#define CHECK_CMND(CMND) case (CMND): glibtop_debug("CALL: command %s sending %lu bytes", #CMND, (unsigned long)send_size); break + CHECK_CMND(GLIBTOP_CMND_QUIT); + CHECK_CMND(GLIBTOP_CMND_SYSDEPS); + CHECK_CMND(GLIBTOP_CMND_CPU); + CHECK_CMND(GLIBTOP_CMND_MEM); + CHECK_CMND(GLIBTOP_CMND_SWAP); + CHECK_CMND(GLIBTOP_CMND_UPTIME); + CHECK_CMND(GLIBTOP_CMND_LOADAVG); + CHECK_CMND(GLIBTOP_CMND_SHM_LIMITS); + CHECK_CMND(GLIBTOP_CMND_MSG_LIMITS); + CHECK_CMND(GLIBTOP_CMND_SEM_LIMITS); + CHECK_CMND(GLIBTOP_CMND_PROCLIST); + CHECK_CMND(GLIBTOP_CMND_PROC_STATE); + CHECK_CMND(GLIBTOP_CMND_PROC_UID); + CHECK_CMND(GLIBTOP_CMND_PROC_MEM); + CHECK_CMND(GLIBTOP_CMND_PROC_TIME); + CHECK_CMND(GLIBTOP_CMND_PROC_SIGNAL); + CHECK_CMND(GLIBTOP_CMND_PROC_KERNEL); + CHECK_CMND(GLIBTOP_CMND_PROC_SEGMENT); + CHECK_CMND(GLIBTOP_CMND_PROC_ARGS); + CHECK_CMND(GLIBTOP_CMND_PROC_MAP); + CHECK_CMND(GLIBTOP_CMND_MOUNTLIST); + CHECK_CMND(GLIBTOP_CMND_FSUSAGE); + CHECK_CMND(GLIBTOP_CMND_NETLOAD); + CHECK_CMND(GLIBTOP_CMND_PPP); + CHECK_CMND(GLIBTOP_CMND_NETLIST); + CHECK_CMND(GLIBTOP_CMND_PROC_OPEN_FILES); + CHECK_CMND(GLIBTOP_CMND_PROC_WD); + CHECK_CMND(GLIBTOP_CMND_PROC_AFFINITY); + default: + glibtop_error_r(server, "CALL: command UNKNOWN(%d) sending %lu bytes", command, (unsigned long)send_size); break; + } +#undef CHECK_CMND + cmnd.command = command; /* If send_size is less than _GLIBTOP_PARAM_SIZE (normally 16 Bytes), we * send it together with command, so we only need one system call instead * of two. */ -#ifdef LIBGTOP_ENABLE_DEBUG - g_assert(command >= GLIBTOP_CMND_QUIT && command < GLIBTOP_MAX_CMND); - switch (command) { -#define DEBUG_CALL(CMD) case (CMD): glibtop_debug("CALL: command %s sending %lu bytes", #CMD, (unsigned long)send_size); break - DEBUG_CALL(GLIBTOP_CMND_QUIT); - DEBUG_CALL(GLIBTOP_CMND_SYSDEPS); - DEBUG_CALL(GLIBTOP_CMND_CPU); - DEBUG_CALL(GLIBTOP_CMND_MEM); - DEBUG_CALL(GLIBTOP_CMND_SWAP); - DEBUG_CALL(GLIBTOP_CMND_UPTIME); - DEBUG_CALL(GLIBTOP_CMND_LOADAVG); - DEBUG_CALL(GLIBTOP_CMND_SHM_LIMITS); - DEBUG_CALL(GLIBTOP_CMND_MSG_LIMITS); - DEBUG_CALL(GLIBTOP_CMND_SEM_LIMITS); - DEBUG_CALL(GLIBTOP_CMND_PROCLIST); - DEBUG_CALL(GLIBTOP_CMND_PROC_STATE); - DEBUG_CALL(GLIBTOP_CMND_PROC_UID); - DEBUG_CALL(GLIBTOP_CMND_PROC_MEM); - DEBUG_CALL(GLIBTOP_CMND_PROC_TIME); - DEBUG_CALL(GLIBTOP_CMND_PROC_SIGNAL); - DEBUG_CALL(GLIBTOP_CMND_PROC_KERNEL); - DEBUG_CALL(GLIBTOP_CMND_PROC_SEGMENT); - DEBUG_CALL(GLIBTOP_CMND_PROC_ARGS); - DEBUG_CALL(GLIBTOP_CMND_PROC_MAP); - DEBUG_CALL(GLIBTOP_CMND_MOUNTLIST); - DEBUG_CALL(GLIBTOP_CMND_FSUSAGE); - DEBUG_CALL(GLIBTOP_CMND_NETLOAD); - DEBUG_CALL(GLIBTOP_CMND_PPP); - DEBUG_CALL(GLIBTOP_CMND_NETLIST); - DEBUG_CALL(GLIBTOP_CMND_PROC_OPEN_FILES); - DEBUG_CALL(GLIBTOP_CMND_PROC_WD); - DEBUG_CALL(GLIBTOP_CMND_PROC_AFFINITY); - default: - glibtop_error_r(server, "CALL: command UNKNOWN(%d) sending %lu bytes", command, (unsigned long)send_size); break; - } -#undef DEBUG_CALL -#endif - if (send_size <= _GLIBTOP_PARAM_SIZE) { memcpy (cmnd.parameter, send_buf, send_size); cmnd.size = send_size;