static int log_level_parser(const char *s) { int level = loglevel_str2num(s); if (level < 0) { sd_err("Invalid log level '%s'", s); sdlog_help(); return -1; } log_level = level; return 0; }
int do_loglevel_set(const struct node_id *nid, const char *loglevel_str) { int32_t loglevel = loglevel_str2num(loglevel_str); int ret; struct sd_req hdr; struct sd_rsp *rsp = (struct sd_rsp *)&hdr; if (loglevel == -1) return EXIT_USAGE; sd_init_req(&hdr, SD_OP_SET_LOGLEVEL); hdr.flags = SD_FLAG_CMD_WRITE; hdr.data_length = sizeof(loglevel); ret = dog_exec_req(nid, &hdr, &loglevel); if (ret < 0) return EXIT_SYSFAIL; if (rsp->result != SD_RES_SUCCESS) return EXIT_FAILURE; return EXIT_SUCCESS; }