diff --git a/lib/command.c b/lib/command.c index 9342fd65..2c26861f 100644 --- a/lib/command.c +++ b/lib/command.c @@ -20,6 +20,7 @@ */ #include +#include #include #include #include @@ -41,6 +42,44 @@ glibtop_call_l (glibtop *server, unsigned command, size_t send_size, * 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_warn_r(server, "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;