From: Wilfried Goesgens Date: Sat, 14 Sep 2013 20:18:25 +0000 (+0200) Subject: move log switcher funcs to serv_syscmds.c X-Git-Tag: v9.01~254 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=4efff524501122527f33d6228dd35a78b740561d move log switcher funcs to serv_syscmds.c --- diff --git a/citadel/modules/ctdlproto/serv_syscmds.c b/citadel/modules/ctdlproto/serv_syscmds.c index daf5c9f38..75db7e88e 100644 --- a/citadel/modules/ctdlproto/serv_syscmds.c +++ b/citadel/modules/ctdlproto/serv_syscmds.c @@ -66,6 +66,52 @@ #include "svn_revision.h" #include "ctdl_module.h" +void cmd_log_get(char *argbuf) +{ + long HKLen; + const char *ch; + HashPos *Pos; + void *vptr; + + if (CtdlAccessCheck(ac_aide)) return; + + cprintf("%d Log modules enabled:\n", LISTING_FOLLOWS); + + Pos = GetNewHashPos(LogDebugEntryTable, 0); + + while (GetNextHashPos(LogDebugEntryTable, Pos, &HKLen, &ch, &vptr)) { + LogDebugEntry *E = (LogDebugEntry*)vptr; + cprintf("%s|%d\n", ch, *E->LogP); + } + + DeleteHashPos(&Pos); + cprintf("000\n"); +} +void cmd_log_set(char *argbuf) +{ + void *vptr; + int lset; + int wlen; + char which[SIZ] = ""; + + if (CtdlAccessCheck(ac_aide)) return; + + wlen = extract_token(which, argbuf, 0, '|', sizeof(which)); + if (wlen < 0) wlen = 0; + lset = extract_int(argbuf, 1); + if (lset != 0) lset = 1; + if (GetHash(LogDebugEntryTable, which, wlen, &vptr) && + (vptr != NULL)) + { + LogDebugEntry *E = (LogDebugEntry*)vptr; + E->F(lset); + cprintf("%d %s|%d\n", CIT_OK, which, lset); + } + else { + cprintf("%d Log setting %s not known\n", + ERROR, which); + } +} /* @@ -154,6 +200,9 @@ void cmd_scdn(char *argbuf) CTDL_MODULE_INIT(syscmd) { if (!threading) { + CtdlRegisterProtoHook(cmd_log_get, "LOGP", "Print Log-parameters"); + CtdlRegisterProtoHook(cmd_log_set, "LOGS", "Set Log-parameters"); + CtdlRegisterProtoHook(cmd_down, "DOWN", "perform a server shutdown"); CtdlRegisterProtoHook(cmd_halt, "HALT", "halt the server without exiting the server process"); CtdlRegisterProtoHook(cmd_scdn, "SCDN", "schedule or cancel a server shutdown"); diff --git a/citadel/serv_extensions.c b/citadel/serv_extensions.c index 9f0bd25dc..425564f19 100644 --- a/citadel/serv_extensions.c +++ b/citadel/serv_extensions.c @@ -42,12 +42,6 @@ int DebugModules = 0; * Structure defentitions for hook tables */ -typedef struct __LogDebugEntry { - CtdlDbgFunction F; - const char *Name; - long Len; - const int *LogP; -} LogDebugEntry; HashList *LogDebugEntryTable = NULL; typedef struct LogFunctionHook LogFunctionHook; @@ -392,52 +386,6 @@ void CtdlSetDebugLogFacilities(const char **Str, long n) DeleteHashPos(&Pos); } } -void cmd_log_get(char *argbuf) -{ - long HKLen; - const char *ch; - HashPos *Pos; - void *vptr; - - if (CtdlAccessCheck(ac_aide)) return; - - cprintf("%d Log modules enabled:\n", LISTING_FOLLOWS); - - Pos = GetNewHashPos(LogDebugEntryTable, 0); - - while (GetNextHashPos(LogDebugEntryTable, Pos, &HKLen, &ch, &vptr)) { - LogDebugEntry *E = (LogDebugEntry*)vptr; - cprintf("%s|%d\n", ch, *E->LogP); - } - - DeleteHashPos(&Pos); - cprintf("000\n"); -} -void cmd_log_set(char *argbuf) -{ - void *vptr; - int lset; - int wlen; - char which[SIZ] = ""; - - if (CtdlAccessCheck(ac_aide)) return; - - wlen = extract_token(which, argbuf, 0, '|', sizeof(which)); - if (wlen < 0) wlen = 0; - lset = extract_int(argbuf, 1); - if (lset != 0) lset = 1; - if (GetHash(LogDebugEntryTable, which, wlen, &vptr) && - (vptr != NULL)) - { - LogDebugEntry *E = (LogDebugEntry*)vptr; - E->F(lset); - cprintf("%d %s|%d\n", CIT_OK, which, lset); - } - else { - cprintf("%d Log setting %s not known\n", - ERROR, which); - } -} void CtdlDestroyDebugTable(void) { @@ -1564,9 +1512,6 @@ CTDL_MODULE_INIT(modules) { if (!threading) { CtdlRegisterDebugFlagHook(HKEY("modules"), DebugModulesEnable, &DebugModules); - - CtdlRegisterProtoHook(cmd_log_get, "LOGP", "Print Log-parameters"); - CtdlRegisterProtoHook(cmd_log_set, "LOGS", "Set Log-parameters"); } return "modules"; } diff --git a/citadel/serv_extensions.h b/citadel/serv_extensions.h index de8502648..53973fe90 100644 --- a/citadel/serv_extensions.h +++ b/citadel/serv_extensions.h @@ -56,6 +56,13 @@ struct CleanupFunctionHook { extern CleanupFunctionHook *CleanupHookTable; +typedef struct __LogDebugEntry { + CtdlDbgFunction F; + const char *Name; + long Len; + const int *LogP; +} LogDebugEntry; +extern HashList *LogDebugEntryTable; void initialize_server_extensions(void); int DLoader_Exec_Cmd(char *cmdbuf); char *Dynamic_Module_Init(void);