From ac23ca6d64df1dbdde7fc8821aa337f8a5b8c410 Mon Sep 17 00:00:00 2001 From: obarun <eric@obarun.org> Date: Sun, 12 Mar 2023 23:37:17 +1100 Subject: [PATCH] pass service {status,resolve,state,remove,signal} to main command --- src/66/66.c | 48 ++++- src/include/66/ssexec.h | 48 ++--- src/lib66/exec/deps-lib/deps | 11 +- src/lib66/exec/ssexec_help.c | 150 +++++++-------- src/lib66/exec/ssexec_remove.c | 21 +++ ...xec_service_resolve.c => ssexec_resolve.c} | 6 +- src/lib66/exec/ssexec_service_admin.c | 171 ------------------ src/lib66/exec/ssexec_service_wrapper.c | 148 --------------- ...sexec_service_signal.c => ssexec_signal.c} | 5 +- ...{ssexec_service_state.c => ssexec_state.c} | 7 +- ...sexec_service_status.c => ssexec_status.c} | 18 +- src/lib66/svc/svc_send.c | 2 +- 12 files changed, 167 insertions(+), 468 deletions(-) create mode 100644 src/lib66/exec/ssexec_remove.c rename src/lib66/exec/{ssexec_service_resolve.c => ssexec_resolve.c} (98%) delete mode 100644 src/lib66/exec/ssexec_service_admin.c delete mode 100644 src/lib66/exec/ssexec_service_wrapper.c rename src/lib66/exec/{ssexec_service_signal.c => ssexec_signal.c} (99%) rename src/lib66/exec/{ssexec_service_state.c => ssexec_state.c} (95%) rename src/lib66/exec/{ssexec_service_status.c => ssexec_status.c} (98%) diff --git a/src/66/66.c b/src/66/66.c index b3134755..bd4d9566 100644 --- a/src/66/66.c +++ b/src/66/66.c @@ -327,21 +327,51 @@ int main(int argc, char const *const *argv) PROG = "signal" ; nargv[n++] = PROG ; info.prog = PROG ; - info.help = help_service_signal ; - info.usage = usage_service_signal ; - func = &ssexec_service_signal ; + info.help = help_signal ; + info.usage = usage_signal ; + func = &ssexec_signal ; - } else if (!strcmp(argv[0], "tree")) { + } else if (!strcmp(argv[0], "status")) { - PROG = "tree" ; + PROG = "status" ; nargv[n++] = PROG ; - func = &ssexec_tree_wrapper ; + info.prog = PROG ; + info.help = help_status ; + info.usage = usage_status ; + func = &ssexec_status ; + + } else if (!strcmp(argv[0], "resolve")) { - } else if (!strcmp(argv[0], "service")) { + PROG = "resolve" ; + nargv[n++] = PROG ; + info.prog = PROG ; + info.help = help_resolve ; + info.usage = usage_resolve ; + func = &ssexec_resolve ; + + } else if (!strcmp(argv[0], "state")) { - PROG = "service" ; + PROG = "state" ; nargv[n++] = PROG ; - func = &ssexec_service_wrapper ; + info.prog = PROG ; + info.help = help_state ; + info.usage = usage_state ; + func = &ssexec_state ; + + } else if (!strcmp(argv[0], "remove")) { + + PROG = "remove" ; + nargv[n++] = PROG ; + info.prog = PROG ; + info.help = help_remove ; + info.usage = usage_remove ; + func = &ssexec_remove ; + + } else if (!strcmp(argv[0], "tree")) { + + PROG = "tree" ; + nargv[n++] = PROG ; + func = &ssexec_tree_wrapper ; } else if (!strcmp(argv[0], "scandir")) { diff --git a/src/include/66/ssexec.h b/src/include/66/ssexec.h index 836620da..eac0d39e 100644 --- a/src/include/66/ssexec.h +++ b/src/include/66/ssexec.h @@ -110,12 +110,11 @@ extern ssexec_func_t ssexec_scandir_remove ; extern ssexec_func_t ssexec_scandir_signal ; /** service */ -extern ssexec_func_t ssexec_service_resolve ; -extern ssexec_func_t ssexec_service_state ; -extern ssexec_func_t ssexec_service_status ; -extern ssexec_func_t ssexec_service_wrapper ; -extern ssexec_func_t ssexec_service_admin ; -extern ssexec_func_t ssexec_service_signal ; +extern ssexec_func_t ssexec_status ; +extern ssexec_func_t ssexec_resolve ; +extern ssexec_func_t ssexec_state ; +extern ssexec_func_t ssexec_remove ; +extern ssexec_func_t ssexec_signal ; /** tree */ extern ssexec_func_t ssexec_tree_wrapper ; @@ -131,42 +130,40 @@ extern void info_help (char const *help,char const *usage) ; extern char const *usage_66 ; extern char const *help_66 ; - extern char const *usage_boot ; extern char const *help_boot ; - extern char const *usage_enable ; extern char const *help_enable ; - extern char const *usage_disable ; extern char const *help_disable ; - extern char const *usage_start ; extern char const *help_start ; - extern char const *usage_stop ; extern char const *help_stop ; - extern char const *usage_env ; extern char const *help_env ; - extern char const *usage_init ; extern char const *help_init ; - extern char const *usage_parse ; extern char const *help_parse ; - extern char const *usage_reconfigure ; extern char const *help_reconfigure ; - extern char const *usage_reload ; extern char const *help_reload ; - extern char const *usage_restart ; extern char const *help_restart ; - extern char const *usage_unsupervise ; extern char const *help_unsupervise ; +extern char const *usage_status ; +extern char const *help_status ; +extern char const *usage_resolve ; +extern char const *help_resolve ; +extern char const *usage_state ; +extern char const *help_state ; +extern char const *usage_remove ; +extern char const *help_remove ; +extern char const *usage_signal ; +extern char const *help_signal ; extern char const *usage_tree_wrapper ; extern char const *help_tree_wrapper ; @@ -193,19 +190,6 @@ extern char const *help_tree_down ; extern char const *usage_tree_unsupervise ; extern char const *help_tree_unsupervise ; -extern char const *usage_service_wrapper ; -extern char const *help_service_wrapper ; -extern char const *usage_service_status ; -extern char const *help_service_status ; -extern char const *usage_service_resolve ; -extern char const *help_service_resolve ; -extern char const *usage_service_state ; -extern char const *help_service_state ; -extern char const *usage_service_remove ; -extern char const *help_service_remove ; -extern char const *usage_service_signal ; -extern char const *help_service_signal ; - extern char const *usage_scandir_wrapper ; extern char const *help_scandir_wrapper ; extern char const *usage_scandir_create ; @@ -246,7 +230,7 @@ extern char const *help_halt ; #define OPTS_PARSE_LEN (sizeof OPTS_PARSE - 1) #define OPTS_INIT "h" #define OPTS_INIT_LEN (sizeof OPTS_INIT - 1) -#define OPTS_ENABLE "hfFSI" +#define OPTS_ENABLE "hfSI" #define OPTS_ENABLE_LEN (sizeof OPTS_ENABLE - 1) #define OPTS_DISABLE "hS" #define OPTS_DISABLE_LEN (sizeof OPTS_DISABLE - 1) diff --git a/src/lib66/exec/deps-lib/deps b/src/lib66/exec/deps-lib/deps index bb7e80fd..f2e2bf7d 100644 --- a/src/lib66/exec/deps-lib/deps +++ b/src/lib66/exec/deps-lib/deps @@ -9,19 +9,18 @@ ssexec_init.o ssexec_parse.o ssexec_reconfigure.o ssexec_reload.o +ssexec_remove.o +ssexec_resolve.o ssexec_restart.o ssexec_scandir_create.o ssexec_scandir_remove.o ssexec_scandir_signal.o ssexec_scandir_wrapper.o -ssexec_service_admin.o -ssexec_service_resolve.o -ssexec_service_signal.o -ssexec_service_state.o -ssexec_service_status.o -ssexec_service_wrapper.o ssexec_shutdown_wrapper.o +ssexec_signal.o ssexec_start.o +ssexec_state.o +ssexec_status.o ssexec_stop.o ssexec_tree_admin.o ssexec_tree_resolve.o diff --git a/src/lib66/exec/ssexec_help.c b/src/lib66/exec/ssexec_help.c index 711593f6..554d8cb6 100644 --- a/src/lib66/exec/ssexec_help.c +++ b/src/lib66/exec/ssexec_help.c @@ -73,7 +73,7 @@ char const *help_boot = " -b: banner to display\n" ; -char const *usage_enable = "66 enable [ -h ] [ -f|F ] [ -I ] [ -S ] service..." ; +char const *usage_enable = "66 enable [ -h ] [ -f ] [ -I ] [ -S ] service..." ; char const *help_enable = "\nactivate services at the next boot\n" @@ -81,7 +81,6 @@ char const *help_enable = "options:\n" " -h: print this help\n" " -f: force to overwrite the service(s)\n" -" -F: force to overwrite the service(s) and its dependencies\n" " -I: do not import modified configuration files from previous version\n" " -S: enable and start the service\n" ; @@ -192,9 +191,72 @@ char const *help_unsupervise = " -P: do not propagate signal to its dependencies\n" ; -char const *usage_service_signal = "66 signal [ -h ] [ -wu | -wU | -wd | -wD | -wr | -wR ] [ -abqHkti12pcyodDuUxOr ] service..." ; +char const *usage_status = "66 status [ -h ] [ -n ] [ -o name,intree,status,... ] [ -g ] [ -d depth ] [ -r ] [ -p nline ] service..." ; -char const *help_service_signal = +char const *help_status = +"\ndisplay services informations\n" +"\n" +"options :\n" +" -h: print this help\n" +" -n: do not display the field name\n" +" -o: comma separated list of options\n" +" -g: displays the contents field as graph\n" +" -d: limit the depth of the contents field recursion\n" +" -r: reverse the contents field\n" +" -p: print n last lines of the log file\n" +"\n" +"valid fields for -o options are:\n" +"\n" +" name: displays the name\n" +" version: displays the version of the service\n" +" intree: displays the service's tree name\n" +" status: displays the status\n" +" type: displays the service type\n" +" description: displays the description\n" +" source: displays the source of the service's frontend file\n" +" live: displays the service's live directory\n" +" depends: displays the service's dependencies\n" +" requiredby: displays the service(s) which depends on service\n" +" optsdepends: displays the service's optional dependencies\n" +" start: displays the service's start script\n" +" stop: displays the service's stop script\n" +" envat: displays the source of the environment file\n" +" envfile: displays the contents of the environment file\n" +" logname: displays the logger's name\n" +" logdst: displays the logger's destination\n" +" logfile: displays the contents of the log file\n" +; + +char const *usage_resolve = "66 resolve [ -h ] service" ; + +char const *help_resolve = +"\ndisplay the resolve files contents of services\n" +"\n" +"options:\n" +" -h: print this help\n" +; + +char const *usage_state = "66 state [ -h ] service" ; + +char const *help_state = +"\ndisplay state files contents of services\n" +"\n" +"options:\n" +" -h: print this help\n" +; + +char const *usage_remove = "66 remove [ -h ] service" ; + +char const *help_remove = +"\nremove services and cleanup all files belong to it from the system\n" +"\n" +"options :\n" +" -h: print this help\n" +; + +char const *usage_signal = "66 signal [ -h ] [ -wu | -wU | -wd | -wD | -wr | -wR ] [ -abqHkti12pcyodDuUxOr ] service..." ; + +char const *help_signal = "\nsend a signal to services\n" "\n" "options:\n" @@ -399,86 +461,6 @@ char const *help_tree_unsupervise = "If no tree name are provided, it unsupervise all enabled trees from the system\n" ; -char const *usage_service_wrapper = "66 service [ -h ] status|resolve|state|remove [<command options>] service..." ; - -char const *help_service_wrapper = -"\nmain sub tools to view and manages services\n" -"\n" -"options :\n" -" -h: print this help\n" -"\n" -"command:\n" -" status: displays information of the service\n" -" resolve: displays the resolve file of the service\n" -" state: displays the state file of the service\n" -" remove: remove and cleanup the service\n" -"\n" -"Use '66 service <command> -h' to see command options\n" -; - -char const *usage_service_status = "66 service status [ -h ] [ -n ] [ -o name,intree,status,... ] [ -g ] [ -d depth ] [ -r ] [ -p nline ] service..." ; - -char const *help_service_status = -"\ndisplay services informations\n" -"\n" -"options :\n" -" -h: print this help\n" -" -n: do not display the field name\n" -" -o: comma separated list of options\n" -" -g: displays the contents field as graph\n" -" -d: limit the depth of the contents field recursion\n" -" -r: reverse the contents field\n" -" -p: print n last lines of the log file\n" -"\n" -"valid fields for -o options are:\n" -"\n" -" name: displays the name\n" -" version: displays the version of the service\n" -" intree: displays the service's tree name\n" -" status: displays the status\n" -" type: displays the service type\n" -" description: displays the description\n" -" source: displays the source of the service's frontend file\n" -" live: displays the service's live directory\n" -" depends: displays the service's dependencies\n" -" requiredby: displays the service(s) which depends on service\n" -" optsdepends: displays the service's optional dependencies\n" -" start: displays the service's start script\n" -" stop: displays the service's stop script\n" -" envat: displays the source of the environment file\n" -" envfile: displays the contents of the environment file\n" -" logname: displays the logger's name\n" -" logdst: displays the logger's destination\n" -" logfile: displays the contents of the log file\n" -; - -char const *usage_service_resolve = "66 service resolve [ -h ] service" ; - -char const *help_service_resolve = -"\ndisplay the resolve files contents of services\n" -"\n" -"options:\n" -" -h: print this help\n" -; - -char const *usage_service_state = "66 service state [ -h ] service" ; - -char const *help_service_state = -"\ndisplay state files contents of services\n" -"\n" -"options:\n" -" -h: print this help\n" -; - -char const *usage_service_remove = "66 service remove [ -h ] service" ; - -char const *help_service_remove = -"\nremove services and cleanup all files belong to it from the system\n" -"\n" -"options :\n" -" -h: print this help\n" -; - char const *usage_scandir_wrapper = "66 scandir [ -h ] [ -o owner ] create|remove|start|stop|reconfigure|rescan|quit|halt|abort|nuke|annihilate|zombies [<command options>]" ; char const *help_scandir_wrapper = diff --git a/src/lib66/exec/ssexec_remove.c b/src/lib66/exec/ssexec_remove.c new file mode 100644 index 00000000..6e152a66 --- /dev/null +++ b/src/lib66/exec/ssexec_remove.c @@ -0,0 +1,21 @@ +/* + * ssexec_remove.c + * + * Copyright (c) 2018-2021 Eric Vidal <eric@obarun.org> + * + * All rights reserved. + * + * This file is part of Obarun. It is subject to the license terms in + * the LICENSE file found in the top-level directory of this + * distribution. + * This file may not be copied, modified, propagated, or distributed + * except according to the terms contained in the LICENSE file./ + */ + +#include <66/ssexec.h> + +int ssexec_remove(int argc, char const *const *argv, ssexec_t *info) +{ + + +} diff --git a/src/lib66/exec/ssexec_service_resolve.c b/src/lib66/exec/ssexec_resolve.c similarity index 98% rename from src/lib66/exec/ssexec_service_resolve.c rename to src/lib66/exec/ssexec_resolve.c index 9fe37b2f..9681f2fc 100644 --- a/src/lib66/exec/ssexec_service_resolve.c +++ b/src/lib66/exec/ssexec_resolve.c @@ -1,5 +1,5 @@ /* - * ssexec_service_resolve.c + * ssexec_resolve.c * * Copyright (c) 2018-2021 Eric Vidal <eric@obarun.org> * @@ -157,7 +157,7 @@ static void info_display_service_field(resolve_service_t *res) } -int ssexec_service_resolve(int argc, char const *const *argv, ssexec_t *info) +int ssexec_resolve(int argc, char const *const *argv, ssexec_t *info) { int r = 0 ; @@ -171,7 +171,7 @@ int ssexec_service_resolve(int argc, char const *const *argv, ssexec_t *info) argv++ ; if (argc < 1) - log_usage(usage_service_resolve, "\n", help_service_resolve) ; + log_usage(info->usage, "\n", info->help) ; svname = *argv ; diff --git a/src/lib66/exec/ssexec_service_admin.c b/src/lib66/exec/ssexec_service_admin.c deleted file mode 100644 index d54fb548..00000000 --- a/src/lib66/exec/ssexec_service_admin.c +++ /dev/null @@ -1,171 +0,0 @@ -/* - * ssexec_service_admin.c - * - * Copyright (c) 2018-2021 Eric Vidal <eric@obarun.org> - * - * All rights reserved. - * - * This file is part of Obarun. It is subject to the license terms in - * the LICENSE file found in the top-level directory of this - * distribution. - * This file may not be copied, modified, propagated, or distributed - * except according to the terms contained in the LICENSE file./ - */ - -#include <string.h> - -#include <oblibs/log.h> - -#include <skalibs/sgetopt.h> - -#include <66/ssexec.h> -#include <66/config.h> - -int ssexec_service_admin(int argc, char const *const *argv, ssexec_t *info) -{ - log_flow() ; - - if (!argv[1]) { - PROG = "service" ; - log_usage(usage_service_remove, "\n", help_service_remove) ; - } - - int r, n = 0, i = 0 ; -/* uint8_t ctl = 0 ; - ssexec_func_t_ref func = 0 ; - char const *nargv[argc + 1] ; - - if (!strcmp(argv[1], "status")) { - - nargv[n++] = PROG ; - - info->prog = PROG ; - info->help = help_inservice ; - info->usage = usage_inservice ; - func = &ssexec_inservice ; - - argc-- ; - argv++ ; - - } else if (!strcmp(argv[1], "resolve")) { - - nargv[n++] = PROG ; - - info->prog = PROG ; - info->help = help_inresolve ; - info->usage = usage_inresolve ; - func = &ssexec_resolve_service ; - - argc-- ; - argv++ ; - - } else if (!strcmp(argv[1], "state")) { - - nargv[n++] = PROG ; - - info->prog = PROG ; - info->help = help_instate ; - info->usage = usage_instate ; - func = &ssexec_instate ; - - argc-- ; - argv++ ; - - } else if (!strcmp(argv[1], "remove")) { - - nargv[n++] = PROG ; - - info->prog = PROG ; - info->help = help_instate ; - info->usage = usage_instate ; - func = &ssexec_service_admin ; - - argc-- ; - argv++ ; - - } else { - - log_usage(usage_service_admin, "\n", help_service_admin) ; - } - - { - subgetopt l = SUBGETOPT_ZERO ; - - int f = 0 ; - for (;;) { - - int opt = subgetopt_r(argc, argv, "", &l) ; - if (opt == -1) break ; - switch (opt) { - - default: - - for (i = 0 ; i < n ; i++) { - - if (!argv[l.ind]) - log_usage(info->usage) ; - - if (l.arg) { - - if (!strcmp(nargv[i],argv[l.ind - 2]) || !strcmp(nargv[i],l.arg)) - f = 1 ; - - } else { - - if (!strcmp(nargv[i],argv[l.ind])) - f = 1 ; - } - } - - if (!f) { - - if (l.arg) { - // distinction between e.g -enano and -e nano - if (argv[l.ind - 1][0] != '-') - nargv[n++] = argv[l.ind - 2] ; - - nargv[n++] = argv[l.ind - 1] ; - - } else { - - nargv[n++] = argv[l.ind] ; - } - } - f = 0 ; - break ; - } - } - argc -= l.ind ; argv += l.ind ; - } - - for (i = 0 ; i < argc ; i++ , argv++) - nargv[n++] = *argv ; - - nargv[n] = 0 ; - - if (ctl) { - /* swap the command and options e.g. - * down -f <treename> <-> -f down <treename> - if (n > 2) { - /* swap the command and options e.g. - * down -f <-> -f down - nargv[n] = nargv[n-1] ; - nargv[n-1] = nargv[0] ; - nargv[++n] = 0 ; - - } else if (nargv[n-1][0] == '-') { - nargv[n++] = nargv[0] ; - nargv[n] = 0 ; - } else { - nargv[n] = nargv[n-1] ; - nargv[n-1] = nargv[0] ; - nargv[++n] = 0 ; - } - - } - - r = (*func)(n, nargv, info) ; -*/ -r = 0 ; - return r ; -} diff --git a/src/lib66/exec/ssexec_service_wrapper.c b/src/lib66/exec/ssexec_service_wrapper.c deleted file mode 100644 index 53f6e298..00000000 --- a/src/lib66/exec/ssexec_service_wrapper.c +++ /dev/null @@ -1,148 +0,0 @@ -/* - * ssexec_service_wrapper.c - * - * Copyright (c) 2018-2021 Eric Vidal <eric@obarun.org> - * - * All rights reserved. - * - * This file is part of Obarun. It is subject to the license terms in - * the LICENSE file found in the top-level directory of this - * distribution. - * This file may not be copied, modified, propagated, or distributed - * except according to the terms contained in the LICENSE file./ - */ - -#include <string.h> - -#include <oblibs/log.h> - -#include <skalibs/sgetopt.h> - -#include <66/ssexec.h> -#include <66/config.h> - -int ssexec_service_wrapper(int argc, char const *const *argv, ssexec_t *info) -{ - log_flow() ; - - if (!argv[1]) { - PROG = "service" ; - log_usage(usage_service_wrapper, "\n", help_service_wrapper) ; - } - - int r, n = 0, i = 0 ; - ssexec_func_t_ref func = 0 ; - char const *nargv[argc + 1] ; - - if (!strcmp(argv[1], "status")) { - - nargv[n++] = PROG ; - info->prog = PROG ; - info->help = help_service_status ; - info->usage = usage_service_status ; - func = &ssexec_service_status ; - - } else if (!strcmp(argv[1], "resolve")) { - - nargv[n++] = PROG ; - info->prog = PROG ; - info->help = help_service_resolve ; - info->usage = usage_service_resolve ; - func = &ssexec_service_resolve ; - - } else if (!strcmp(argv[1], "state")) { - - nargv[n++] = PROG ; - info->prog = PROG ; - info->help = help_service_state ; - info->usage = usage_service_state ; - func = &ssexec_service_state ; - - } else if (!strcmp(argv[1], "remove")) { - - nargv[n++] = PROG ; - info->prog = PROG ; - info->help = help_service_remove ; - info->usage = usage_service_remove ; - func = &ssexec_service_admin ; - - } else { - - if (!strcmp(argv[1], "-h")) { - info_help(help_service_wrapper, usage_service_wrapper) ; - return 0 ; - } - - log_usage(usage_service_wrapper, "\n", help_service_wrapper) ; - } - - argc-- ; - argv++ ; - - { - subgetopt l = SUBGETOPT_ZERO ; - - int f = 0 ; - for (;;) { - - int opt = subgetopt_r(argc, argv, "-h", &l) ; - if (opt == -1) break ; - switch (opt) { - - case 'h' : - - info_help(info->help, info->usage) ; - return 0 ; - - default: - - for (i = 0 ; i < n ; i++) { - - if (!argv[l.ind]) - log_usage(info->usage) ; - - if (l.arg) { - - if (!strcmp(nargv[i],argv[l.ind - 2]) || !strcmp(nargv[i],l.arg)) - f = 1 ; - - } else { - - if (!strcmp(nargv[i],argv[l.ind])) - f = 1 ; - } - } - - if (!f) { - - if (l.arg) { - // distinction between e.g -enano and -e nano - if (argv[l.ind - 1][0] != '-') - nargv[n++] = argv[l.ind - 2] ; - - nargv[n++] = argv[l.ind - 1] ; - - } else { - - nargv[n++] = argv[l.ind] ; - } - } - f = 0 ; - break ; - } - } - argc -= l.ind ; argv += l.ind ; - } - - if (argc < 1) - log_usage(info->usage, "\n", info->help) ; - - for (i = 0 ; i < argc ; i++ , argv++) - nargv[n++] = *argv ; - - nargv[n] = 0 ; - - r = (*func)(n, nargv, info) ; - - return r ; -} diff --git a/src/lib66/exec/ssexec_service_signal.c b/src/lib66/exec/ssexec_signal.c similarity index 99% rename from src/lib66/exec/ssexec_service_signal.c rename to src/lib66/exec/ssexec_signal.c index 5bf181ad..bc7680e4 100644 --- a/src/lib66/exec/ssexec_service_signal.c +++ b/src/lib66/exec/ssexec_signal.c @@ -1,5 +1,5 @@ /* - * ssexec_service_signal.c + * ssexec_signal.c * * Copyright (c) 2018-2021 Eric Vidal <eric@obarun.org> * @@ -12,6 +12,7 @@ * except according to the terms contained in the LICENSE file./ */ + #include <string.h> #include <errno.h> #include <sys/wait.h> @@ -801,7 +802,7 @@ static int waitit(pidservice_t *apids, unsigned int what, graph_t *graph, tain * return e ; } -int ssexec_service_signal(int argc, char const *const *argv, ssexec_t *info) +int ssexec_signal(int argc, char const *const *argv, ssexec_t *info) { log_flow() ; diff --git a/src/lib66/exec/ssexec_service_state.c b/src/lib66/exec/ssexec_state.c similarity index 95% rename from src/lib66/exec/ssexec_service_state.c rename to src/lib66/exec/ssexec_state.c index 403fb6f0..61fc74ad 100644 --- a/src/lib66/exec/ssexec_service_state.c +++ b/src/lib66/exec/ssexec_state.c @@ -1,5 +1,5 @@ /* - * ssexec_service_state.c + * ssexec_state.c * * Copyright (c) 2018-2021 Eric Vidal <eric@obarun.org> * @@ -12,6 +12,7 @@ * except according to the terms contained in the LICENSE file./ */ + #include <string.h> #include <wchar.h> @@ -67,7 +68,7 @@ static void info_display_int(char const *field,unsigned int id) info_display_string(field,str) ; } -int ssexec_service_state(int argc, char const *const *argv, ssexec_t *info) +int ssexec_state(int argc, char const *const *argv, ssexec_t *info) { int found = 0 ; resolve_service_t res = RESOLVE_SERVICE_ZERO ; @@ -93,7 +94,7 @@ int ssexec_service_state(int argc, char const *const *argv, ssexec_t *info) argc-- ; argv++ ; - if (!argc) log_usage(usage_service_state, "\n", help_service_state) ; + if (!argc) log_usage(info->usage, "\n", info->help) ; svname = *argv ; if (!set_ownersysdir_stack(base, getuid())) diff --git a/src/lib66/exec/ssexec_service_status.c b/src/lib66/exec/ssexec_status.c similarity index 98% rename from src/lib66/exec/ssexec_service_status.c rename to src/lib66/exec/ssexec_status.c index 14585cba..4354986c 100644 --- a/src/lib66/exec/ssexec_service_status.c +++ b/src/lib66/exec/ssexec_status.c @@ -1,5 +1,5 @@ /* - * ssexec_service_status.c + * ssexec_status.c * * Copyright (c) 2018-2021 Eric Vidal <eric@obarun.org> * @@ -95,11 +95,11 @@ static void info_display_logname(char const *field, resolve_service_t *res) ; static void info_display_logdst(char const *field, resolve_service_t *res) ; static void info_display_logfile(char const *field, resolve_service_t *res) ; -info_graph_style *S_STYLE = &graph_default ; +static info_graph_style *S_STYLE = &graph_default ; static ssexec_t_ref pinfo = 0 ; -info_opts_map_t const opts_sv_table[] = +static info_opts_map_t const opts_sv_table[] = { { .str = "name", .svfunc = &info_display_name, .id = 0 }, { .str = "version", .svfunc = &info_display_version, .id = 1 }, @@ -126,7 +126,7 @@ info_opts_map_t const opts_sv_table[] = #define checkopts(n) if (n >= MAXOPTS) log_die(LOG_EXIT_USER, "too many options") #define DELIM ',' -char *print_nlog(char *str, int n) +static char *print_nlog(char *str, int n) { int r = 0 ; int delim ='\n' ; @@ -823,7 +823,7 @@ static void info_parse_options(char const *str,int *what) stralloc_free(&sa) ; } -int ssexec_service_status(int argc, char const *const *argv, ssexec_t *info) +int ssexec_status(int argc, char const *const *argv, ssexec_t *info) { unsigned int legacy = 1 ; int r = 0 ; @@ -874,16 +874,16 @@ int ssexec_service_status(int argc, char const *const *argv, ssexec_t *info) case 'o' : legacy = 0 ; info_parse_options(l.arg,what) ; break ; case 'g' : GRAPH = 1 ; break ; case 'r' : REVERSE = 1 ; break ; - case 'd' : if (!uint0_scan(l.arg, &MAXDEPTH)) log_usage(usage_service_status, "\n", help_service_status) ; break ; - case 'p' : if (!uint0_scan(l.arg, &nlog)) log_usage(usage_service_status, "\n", help_service_status) ; break ; - default : log_usage(usage_service_status, "\n", help_service_status) ; + case 'd' : if (!uint0_scan(l.arg, &MAXDEPTH)) log_usage(info->usage, "\n", info->help) ; break ; + case 'p' : if (!uint0_scan(l.arg, &nlog)) log_usage(info->usage, "\n", info->help) ; break ; + default : log_usage(info->usage, "\n", info->help) ; } } argc -= l.ind ; argv += l.ind ; } if (!argc) - log_usage(usage_service_status, "\n", help_service_status) ; + log_usage(info->usage, "\n", info->help) ; svname = *argv ; diff --git a/src/lib66/svc/svc_send.c b/src/lib66/svc/svc_send.c index 6f087a50..042e4e0d 100644 --- a/src/lib66/svc/svc_send.c +++ b/src/lib66/svc/svc_send.c @@ -35,6 +35,6 @@ int svc_send(char const *const *list, unsigned int nservice, char **sig, unsigne newargv[m++] = 0 ; - return ssexec_service_signal(nargc, newargv, info) ; + return ssexec_signal(nargc, newargv, info) ; } -- GitLab