diff options
Diffstat (limited to 'servicecmd/list.c')
-rw-r--r-- | servicecmd/list.c | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/servicecmd/list.c b/servicecmd/list.c deleted file mode 100644 index b9e342a..0000000 --- a/servicecmd/list.c +++ /dev/null @@ -1,102 +0,0 @@ -/* SPDX-License-Identifier: GPL-3.0-or-later */ -/* - * Copyright (C) 2018 - David Oberhollenzer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ -#include "servicecmd.h" -#include "service.h" -#include "config.h" - -static void print_services(service_t *svc) -{ - const char *ptr; - int i; - - for (; svc != NULL; svc = svc->next) { - printf("Name: %s\n", svc->name); - printf("\tDescrption: %s\n", svc->desc); - printf("\tType: %s\n", svc_type_to_string(svc->type)); - printf("\tTarget: %s\n", svc_target_to_string(svc->target)); - - if (svc->type == SVC_RESPAWN && svc->rspwn_limit > 0) - printf("\tRespawn limit: %d\n", svc->rspwn_limit); - - ptr = svc->before; - if (ptr != NULL && svc->num_before > 0) { - fputs("\tMust be run before:\n", stdout); - - for (i = 0; i < svc->num_before; ++i) { - printf("\t\t%s\n", ptr); - ptr += strlen(ptr) + 1; - } - } - - ptr = svc->after; - if (ptr != NULL && svc->num_after > 0) { - fputs("\tMust be run after:\n", stdout); - - for (i = 0; i < svc->num_after; ++i) { - printf("\t\t%s\n", ptr); - ptr += strlen(ptr) + 1; - } - } - } -} - -static int cmd_list(int argc, char **argv) -{ - int i, ret = EXIT_SUCCESS; - service_list_t list; - - if (check_arguments(argv[0], argc, 1, 2)) - return EXIT_FAILURE; - - if (svcscan(SVCDIR, &list)) { - fprintf(stderr, "Error while reading services from %s\n", - SVCDIR); - ret = EXIT_FAILURE; - } - - if (argc == 2) { - i = svc_target_from_string(argv[1]); - - if (i == -1) { - fprintf(stderr, "Unknown target `%s'\n", argv[1]); - tell_read_help(argv[0]); - ret = EXIT_FAILURE; - goto out; - } - - print_services(list.targets[i]); - } else { - for (i = 0; i < TGT_MAX; ++i) - print_services(list.targets[i]); - } -out: - del_svc_list(&list); - return ret; -} - -static command_t list = { - .cmd = "list", - .usage = "[target]", - .s_desc = "print a list of currently enabled services", - .l_desc = "Print a list of currently enabled services. If an " - "optional target is specified, print services for this " - "target.", - .run_cmd = cmd_list, -}; - -REGISTER_COMMAND(list) |