[monitoring-plugins] Refactor check_nt
Lorenz Kästle
git at monitoring-plugins.org
Wed Mar 12 11:10:12 CET 2025
Module: monitoring-plugins
Branch: master
Commit: 47b484eb454b0a487f7d32406ee93f85c94f5895
Author: Lorenz Kästle <12514511+RincewindsHat at users.noreply.github.com>
Date: Wed Mar 12 00:36:53 2025 +0100
URL: https://www.monitoring-plugins.org/repositories/monitoring-plugins/commit/?id=47b484eb
Refactor check_nt
---
plugins/Makefile.am | 1 +
plugins/check_nt.c | 254 +++++++++++++++++++++-----------------------
plugins/check_nt.d/config.h | 53 +++++++++
3 files changed, 178 insertions(+), 130 deletions(-)
diff --git a/plugins/Makefile.am b/plugins/Makefile.am
index 5d4449bf..097763fc 100644
--- a/plugins/Makefile.am
+++ b/plugins/Makefile.am
@@ -56,6 +56,7 @@ EXTRA_DIST = t \
check_nagios.d \
check_dbi.d \
check_ssh.d \
+ check_nt.d \
check_dns.d \
check_mrtgtraf.d \
check_mysql_query.d \
diff --git a/plugins/check_nt.c b/plugins/check_nt.c
index 7897558b..7dd23e5c 100644
--- a/plugins/check_nt.c
+++ b/plugins/check_nt.c
@@ -39,42 +39,22 @@ const char *email = "devel at monitoring-plugins.org";
#include "common.h"
#include "netutils.h"
#include "utils.h"
-
-enum checkvars {
- CHECK_NONE,
- CHECK_CLIENTVERSION,
- CHECK_CPULOAD,
- CHECK_UPTIME,
- CHECK_USEDDISKSPACE,
- CHECK_SERVICESTATE,
- CHECK_PROCSTATE,
- CHECK_MEMUSE,
- CHECK_COUNTER,
- CHECK_FILEAGE,
- CHECK_INSTANCES
-};
+#include "check_nt.d/config.h"
enum {
MAX_VALUE_LIST = 30,
- PORT = 1248
};
-static char *server_address = NULL;
-static int server_port = PORT;
-static char *value_list = NULL;
-static char *req_password = NULL;
-static unsigned long lvalue_list[MAX_VALUE_LIST];
-static unsigned long warning_value = 0L;
-static unsigned long critical_value = 0L;
-static bool check_warning_value = false;
-static bool check_critical_value = false;
-static enum checkvars vars_to_check = CHECK_NONE;
-static bool show_all = false;
-
static char recv_buffer[MAX_INPUT_BUFFER];
static void fetch_data(const char *address, int port, const char *sendb);
-static int process_arguments(int /*argc*/, char ** /*argv*/);
+
+typedef struct {
+ int errorcode;
+ check_nt_config config;
+} check_nt_config_wrapper;
+static check_nt_config_wrapper process_arguments(int /*argc*/, char ** /*argv*/);
+
static void preparelist(char *string);
static bool strtoularray(unsigned long *array, char *string, const char *delim);
static void print_help(void);
@@ -88,10 +68,13 @@ int main(int argc, char **argv) {
/* Parse extra opts if any */
argv = np_extra_opts(&argc, argv, progname);
- if (process_arguments(argc, argv) == ERROR) {
+ check_nt_config_wrapper tmp_config = process_arguments(argc, argv);
+ if (tmp_config.errorcode == ERROR) {
usage4(_("Could not parse arguments"));
}
+ const check_nt_config config = tmp_config.config;
+
/* initialize alarm signal handling */
signal(SIGALRM, socket_timeout_alarm_handler);
@@ -107,12 +90,13 @@ int main(int argc, char **argv) {
char *description = NULL;
char *counter_unit = NULL;
char *errcvt = NULL;
- switch (vars_to_check) {
+ unsigned long lvalue_list[MAX_VALUE_LIST];
+ switch (config.vars_to_check) {
case CHECK_CLIENTVERSION:
- xasprintf(&send_buffer, "%s&1", req_password);
- fetch_data(server_address, server_port, send_buffer);
- if (value_list != NULL && strcmp(recv_buffer, value_list) != 0) {
- xasprintf(&output_message, _("Wrong client version - running: %s, required: %s"), recv_buffer, value_list);
+ xasprintf(&send_buffer, "%s&1", config.req_password);
+ fetch_data(config.server_address, config.server_port, send_buffer);
+ if (config.value_list != NULL && strcmp(recv_buffer, config.value_list) != 0) {
+ xasprintf(&output_message, _("Wrong client version - running: %s, required: %s"), recv_buffer, config.value_list);
return_code = STATE_WARNING;
} else {
xasprintf(&output_message, "%s", recv_buffer);
@@ -120,9 +104,9 @@ int main(int argc, char **argv) {
}
break;
case CHECK_CPULOAD:
- if (value_list == NULL) {
+ if (config.value_list == NULL) {
output_message = strdup(_("missing -l parameters"));
- } else if (!strtoularray(lvalue_list, value_list, ",")) {
+ } else if (!strtoularray(lvalue_list, config.value_list, ",")) {
output_message = strdup(_("wrong -l parameter."));
} else {
/* -l parameters is present with only integers */
@@ -137,8 +121,8 @@ int main(int argc, char **argv) {
lvalue_list[2 + offset] > (unsigned long)0 && lvalue_list[2 + offset] <= (unsigned long)100) {
/* Send request and retrieve data */
- xasprintf(&send_buffer, "%s&2&%lu", req_password, lvalue_list[0 + offset]);
- fetch_data(server_address, server_port, send_buffer);
+ xasprintf(&send_buffer, "%s&2&%lu", config.req_password, lvalue_list[0 + offset]);
+ fetch_data(config.server_address, config.server_port, send_buffer);
unsigned long utilization = strtoul(recv_buffer, NULL, 10);
@@ -165,27 +149,28 @@ int main(int argc, char **argv) {
}
}
break;
- case CHECK_UPTIME:
- if (value_list == NULL) {
- value_list = "minutes";
+ case CHECK_UPTIME: {
+ char *tmp_value_list = config.value_list;
+ if (config.value_list == NULL) {
+ tmp_value_list = "minutes";
}
- if (strncmp(value_list, "seconds", strlen("seconds") + 1) && strncmp(value_list, "minutes", strlen("minutes") + 1) &&
- strncmp(value_list, "hours", strlen("hours") + 1) && strncmp(value_list, "days", strlen("days") + 1)) {
+ if (strncmp(tmp_value_list, "seconds", strlen("seconds") + 1) && strncmp(tmp_value_list, "minutes", strlen("minutes") + 1) &&
+ strncmp(config.value_list, "hours", strlen("hours") + 1) && strncmp(tmp_value_list, "days", strlen("days") + 1)) {
output_message = strdup(_("wrong -l argument"));
} else {
- xasprintf(&send_buffer, "%s&3", req_password);
- fetch_data(server_address, server_port, send_buffer);
+ xasprintf(&send_buffer, "%s&3", config.req_password);
+ fetch_data(config.server_address, config.server_port, send_buffer);
unsigned long uptime = strtoul(recv_buffer, NULL, 10);
int updays = uptime / 86400;
int uphours = (uptime % 86400) / 3600;
int upminutes = ((uptime % 86400) % 3600) / 60;
- if (!strncmp(value_list, "minutes", strlen("minutes"))) {
+ if (!strncmp(tmp_value_list, "minutes", strlen("minutes"))) {
uptime = uptime / 60;
- } else if (!strncmp(value_list, "hours", strlen("hours"))) {
+ } else if (!strncmp(tmp_value_list, "hours", strlen("hours"))) {
uptime = uptime / 3600;
- } else if (!strncmp(value_list, "days", strlen("days"))) {
+ } else if (!strncmp(tmp_value_list, "days", strlen("days"))) {
uptime = uptime / 86400;
}
/* else uptime in seconds, nothing to do */
@@ -193,23 +178,23 @@ int main(int argc, char **argv) {
xasprintf(&output_message, _("System Uptime - %u day(s) %u hour(s) %u minute(s) |uptime=%lu"), updays, uphours, upminutes,
uptime);
- if (check_critical_value && uptime <= critical_value) {
+ if (config.check_critical_value && uptime <= config.critical_value) {
return_code = STATE_CRITICAL;
- } else if (check_warning_value && uptime <= warning_value) {
+ } else if (config.check_warning_value && uptime <= config.warning_value) {
return_code = STATE_WARNING;
} else {
return_code = STATE_OK;
}
}
- break;
+ } break;
case CHECK_USEDDISKSPACE:
- if (value_list == NULL) {
+ if (config.value_list == NULL) {
output_message = strdup(_("missing -l parameters"));
- } else if (strlen(value_list) != 1) {
+ } else if (strlen(config.value_list) != 1) {
output_message = strdup(_("wrong -l argument"));
} else {
- xasprintf(&send_buffer, "%s&4&%s", req_password, value_list);
- fetch_data(server_address, server_port, send_buffer);
+ xasprintf(&send_buffer, "%s&4&%s", config.req_password, config.value_list);
+ fetch_data(config.server_address, config.server_port, send_buffer);
char *fds = strtok(recv_buffer, "&");
char *tds = strtok(NULL, "&");
double total_disk_space = 0;
@@ -223,19 +208,19 @@ int main(int argc, char **argv) {
if (total_disk_space > 0 && free_disk_space >= 0) {
double percent_used_space = ((total_disk_space - free_disk_space) / total_disk_space) * 100;
- double warning_used_space = ((float)warning_value / 100) * total_disk_space;
- double critical_used_space = ((float)critical_value / 100) * total_disk_space;
+ double warning_used_space = ((float)config.warning_value / 100) * total_disk_space;
+ double critical_used_space = ((float)config.critical_value / 100) * total_disk_space;
- xasprintf(&temp_string, _("%s:\\ - total: %.2f Gb - used: %.2f Gb (%.0f%%) - free %.2f Gb (%.0f%%)"), value_list,
+ xasprintf(&temp_string, _("%s:\\ - total: %.2f Gb - used: %.2f Gb (%.0f%%) - free %.2f Gb (%.0f%%)"), config.value_list,
total_disk_space / 1073741824, (total_disk_space - free_disk_space) / 1073741824, percent_used_space,
free_disk_space / 1073741824, (free_disk_space / total_disk_space) * 100);
- xasprintf(&temp_string_perf, _("'%s:\\ Used Space'=%.2fGb;%.2f;%.2f;0.00;%.2f"), value_list,
+ xasprintf(&temp_string_perf, _("'%s:\\ Used Space'=%.2fGb;%.2f;%.2f;0.00;%.2f"), config.value_list,
(total_disk_space - free_disk_space) / 1073741824, warning_used_space / 1073741824,
critical_used_space / 1073741824, total_disk_space / 1073741824);
- if (check_critical_value && percent_used_space >= critical_value) {
+ if (config.check_critical_value && percent_used_space >= config.critical_value) {
return_code = STATE_CRITICAL;
- } else if (check_warning_value && percent_used_space >= warning_value) {
+ } else if (config.check_warning_value && percent_used_space >= config.warning_value) {
return_code = STATE_WARNING;
} else {
return_code = STATE_OK;
@@ -251,13 +236,13 @@ int main(int argc, char **argv) {
break;
case CHECK_SERVICESTATE:
case CHECK_PROCSTATE:
- if (value_list == NULL) {
+ if (config.value_list == NULL) {
output_message = strdup(_("No service/process specified"));
} else {
- preparelist(value_list); /* replace , between services with & to send the request */
- xasprintf(&send_buffer, "%s&%u&%s&%s", req_password, (vars_to_check == CHECK_SERVICESTATE) ? 5 : 6,
- (show_all) ? "ShowAll" : "ShowFail", value_list);
- fetch_data(server_address, server_port, send_buffer);
+ preparelist(config.value_list); /* replace , between services with & to send the request */
+ xasprintf(&send_buffer, "%s&%u&%s&%s", config.req_password, (config.vars_to_check == CHECK_SERVICESTATE) ? 5 : 6,
+ (config.show_all) ? "ShowAll" : "ShowFail", config.value_list);
+ fetch_data(config.server_address, config.server_port, send_buffer);
char *numstr = strtok(recv_buffer, "&");
if (numstr == NULL) {
die(STATE_UNKNOWN, _("could not fetch information from server\n"));
@@ -268,8 +253,8 @@ int main(int argc, char **argv) {
}
break;
case CHECK_MEMUSE:
- xasprintf(&send_buffer, "%s&7", req_password);
- fetch_data(server_address, server_port, send_buffer);
+ xasprintf(&send_buffer, "%s&7", config.req_password);
+ fetch_data(config.server_address, config.server_port, send_buffer);
char *numstr = strtok(recv_buffer, "&");
if (numstr == NULL) {
die(STATE_UNKNOWN, _("could not fetch information from server\n"));
@@ -281,8 +266,8 @@ int main(int argc, char **argv) {
}
double mem_commitByte = atof(numstr);
double percent_used_space = (mem_commitByte / mem_commitLimit) * 100;
- double warning_used_space = ((float)warning_value / 100) * mem_commitLimit;
- double critical_used_space = ((float)critical_value / 100) * mem_commitLimit;
+ double warning_used_space = ((float)config.warning_value / 100) * mem_commitLimit;
+ double critical_used_space = ((float)config.critical_value / 100) * mem_commitLimit;
/* Divisor should be 1048567, not 3044515, as we are measuring "Commit Charge" here,
which equals RAM + Pagefiles. */
@@ -293,14 +278,14 @@ int main(int argc, char **argv) {
critical_used_space / 1048567, mem_commitLimit / 1048567);
return_code = STATE_OK;
- if (check_critical_value && percent_used_space >= critical_value) {
+ if (config.check_critical_value && percent_used_space >= config.critical_value) {
return_code = STATE_CRITICAL;
- } else if (check_warning_value && percent_used_space >= warning_value) {
+ } else if (config.check_warning_value && percent_used_space >= config.warning_value) {
return_code = STATE_WARNING;
}
break;
- case CHECK_COUNTER:
+ case CHECK_COUNTER: {
/*
CHECK_COUNTER has been modified to provide extensive perfdata information.
In order to do this, some modifications have been done to the code
@@ -323,17 +308,17 @@ int main(int argc, char **argv) {
*/
double counter_value = 0.0;
- if (value_list == NULL) {
+ if (config.value_list == NULL) {
output_message = strdup(_("No counter specified"));
} else {
- preparelist(value_list); /* replace , between services with & to send the request */
- bool isPercent = (strchr(value_list, '%') != NULL);
+ preparelist(config.value_list); /* replace , between services with & to send the request */
+ bool isPercent = (strchr(config.value_list, '%') != NULL);
- strtok(value_list, "&"); /* burn the first parameters */
+ strtok(config.value_list, "&"); /* burn the first parameters */
description = strtok(NULL, "&");
counter_unit = strtok(NULL, "&");
- xasprintf(&send_buffer, "%s&8&%s", req_password, value_list);
- fetch_data(server_address, server_port, send_buffer);
+ xasprintf(&send_buffer, "%s&8&%s", config.req_password, config.value_list);
+ fetch_data(config.server_address, config.server_port, send_buffer);
counter_value = atof(recv_buffer);
bool allRight = false;
@@ -380,52 +365,51 @@ int main(int argc, char **argv) {
}
xasprintf(&output_message, "%s |", output_message);
xasprintf(&output_message, "%s %s", output_message,
- fperfdata(description, counter_value, counter_unit, 1, warning_value, 1, critical_value,
+ fperfdata(description, counter_value, counter_unit, 1, config.warning_value, 1, config.critical_value,
(!(isPercent) && (minval != NULL)), fminval, (!(isPercent) && (minval != NULL)), fmaxval));
}
}
- if (critical_value > warning_value) { /* Normal thresholds */
- if (check_critical_value && counter_value >= critical_value) {
+ if (config.critical_value > config.warning_value) { /* Normal thresholds */
+ if (config.check_critical_value && counter_value >= config.critical_value) {
return_code = STATE_CRITICAL;
- } else if (check_warning_value && counter_value >= warning_value) {
+ } else if (config.check_warning_value && counter_value >= config.warning_value) {
return_code = STATE_WARNING;
} else {
return_code = STATE_OK;
}
} else { /* inverse thresholds */
return_code = STATE_OK;
- if (check_critical_value && counter_value <= critical_value) {
+ if (config.check_critical_value && counter_value <= config.critical_value) {
return_code = STATE_CRITICAL;
- } else if (check_warning_value && counter_value <= warning_value) {
+ } else if (config.check_warning_value && counter_value <= config.warning_value) {
return_code = STATE_WARNING;
}
}
- break;
-
+ } break;
case CHECK_FILEAGE:
- if (value_list == NULL) {
+ if (config.value_list == NULL) {
output_message = strdup(_("No counter specified"));
} else {
- preparelist(value_list); /* replace , between services with & to send the request */
- xasprintf(&send_buffer, "%s&9&%s", req_password, value_list);
- fetch_data(server_address, server_port, send_buffer);
+ preparelist(config.value_list); /* replace , between services with & to send the request */
+ xasprintf(&send_buffer, "%s&9&%s", config.req_password, config.value_list);
+ fetch_data(config.server_address, config.server_port, send_buffer);
unsigned long age_in_minutes = atoi(strtok(recv_buffer, "&"));
description = strtok(NULL, "&");
output_message = strdup(description);
- if (critical_value > warning_value) { /* Normal thresholds */
- if (check_critical_value && age_in_minutes >= critical_value) {
+ if (config.critical_value > config.warning_value) { /* Normal thresholds */
+ if (config.check_critical_value && age_in_minutes >= config.critical_value) {
return_code = STATE_CRITICAL;
- } else if (check_warning_value && age_in_minutes >= warning_value) {
+ } else if (config.check_warning_value && age_in_minutes >= config.warning_value) {
return_code = STATE_WARNING;
} else {
return_code = STATE_OK;
}
} else { /* inverse thresholds */
- if (check_critical_value && age_in_minutes <= critical_value) {
+ if (config.check_critical_value && age_in_minutes <= config.critical_value) {
return_code = STATE_CRITICAL;
- } else if (check_warning_value && age_in_minutes <= warning_value) {
+ } else if (config.check_warning_value && age_in_minutes <= config.warning_value) {
return_code = STATE_WARNING;
} else {
return_code = STATE_OK;
@@ -435,11 +419,11 @@ int main(int argc, char **argv) {
break;
case CHECK_INSTANCES:
- if (value_list == NULL) {
+ if (config.value_list == NULL) {
output_message = strdup(_("No counter specified"));
} else {
- xasprintf(&send_buffer, "%s&10&%s", req_password, value_list);
- fetch_data(server_address, server_port, send_buffer);
+ xasprintf(&send_buffer, "%s&10&%s", config.req_password, config.value_list);
+ fetch_data(config.server_address, config.server_port, send_buffer);
if (!strncmp(recv_buffer, "ERROR", 5)) {
printf("NSClient - %s\n", recv_buffer);
exit(STATE_UNKNOWN);
@@ -467,7 +451,7 @@ int main(int argc, char **argv) {
}
/* process command-line arguments */
-int process_arguments(int argc, char **argv) {
+check_nt_config_wrapper process_arguments(int argc, char **argv) {
static struct option longopts[] = {{"port", required_argument, 0, 'p'},
{"timeout", required_argument, 0, 't'},
{"critical", required_argument, 0, 'c'},
@@ -482,14 +466,20 @@ int process_arguments(int argc, char **argv) {
{"help", no_argument, 0, 'h'},
{0, 0, 0, 0}};
+ check_nt_config_wrapper result = {
+ .errorcode = OK,
+ .config = check_nt_config_init(),
+ };
+
/* no options were supplied */
if (argc < 2) {
- return ERROR;
+ result.errorcode = ERROR;
+ return result;
}
/* backwards compatibility */
if (!is_option(argv[1])) {
- server_address = strdup(argv[1]);
+ result.config.server_address = strdup(argv[1]);
argv[1] = argv[0];
argv = &argv[1];
argc--;
@@ -523,60 +513,62 @@ int process_arguments(int argc, char **argv) {
print_revision(progname, NP_VERSION);
exit(STATE_UNKNOWN);
case 'H': /* hostname */
- server_address = optarg;
+ result.config.server_address = optarg;
break;
case 's': /* password */
- req_password = optarg;
+ result.config.req_password = optarg;
break;
case 'p': /* port */
if (is_intnonneg(optarg)) {
- server_port = atoi(optarg);
+ result.config.server_port = atoi(optarg);
} else {
die(STATE_UNKNOWN, _("Server port must be an integer\n"));
}
break;
case 'v':
if (strlen(optarg) < 4) {
- return ERROR;
+ result.errorcode = ERROR;
+ return result;
}
if (!strcmp(optarg, "CLIENTVERSION")) {
- vars_to_check = CHECK_CLIENTVERSION;
+ result.config.vars_to_check = CHECK_CLIENTVERSION;
} else if (!strcmp(optarg, "CPULOAD")) {
- vars_to_check = CHECK_CPULOAD;
+ result.config.vars_to_check = CHECK_CPULOAD;
} else if (!strcmp(optarg, "UPTIME")) {
- vars_to_check = CHECK_UPTIME;
+ result.config.vars_to_check = CHECK_UPTIME;
} else if (!strcmp(optarg, "USEDDISKSPACE")) {
- vars_to_check = CHECK_USEDDISKSPACE;
+ result.config.vars_to_check = CHECK_USEDDISKSPACE;
} else if (!strcmp(optarg, "SERVICESTATE")) {
- vars_to_check = CHECK_SERVICESTATE;
+ result.config.vars_to_check = CHECK_SERVICESTATE;
} else if (!strcmp(optarg, "PROCSTATE")) {
- vars_to_check = CHECK_PROCSTATE;
+ result.config.vars_to_check = CHECK_PROCSTATE;
} else if (!strcmp(optarg, "MEMUSE")) {
- vars_to_check = CHECK_MEMUSE;
+ result.config.vars_to_check = CHECK_MEMUSE;
} else if (!strcmp(optarg, "COUNTER")) {
- vars_to_check = CHECK_COUNTER;
+ result.config.vars_to_check = CHECK_COUNTER;
} else if (!strcmp(optarg, "FILEAGE")) {
- vars_to_check = CHECK_FILEAGE;
+ result.config.vars_to_check = CHECK_FILEAGE;
} else if (!strcmp(optarg, "INSTANCES")) {
- vars_to_check = CHECK_INSTANCES;
+ result.config.vars_to_check = CHECK_INSTANCES;
} else {
- return ERROR;
+ result.errorcode = ERROR;
+ return result;
}
break;
case 'l': /* value list */
- value_list = optarg;
+ result.config.value_list = optarg;
break;
case 'w': /* warning threshold */
- warning_value = strtoul(optarg, NULL, 10);
- check_warning_value = true;
+ result.config.warning_value = strtoul(optarg, NULL, 10);
+ result.config.check_warning_value = true;
break;
case 'c': /* critical threshold */
- critical_value = strtoul(optarg, NULL, 10);
- check_critical_value = true;
+ result.config.critical_value = strtoul(optarg, NULL, 10);
+ result.config.check_critical_value = true;
break;
case 'd': /* Display select for services */
if (!strcmp(optarg, "SHOWALL")) {
- show_all = true;
+ result.config.show_all = true;
}
break;
case 'u':
@@ -585,23 +577,25 @@ int process_arguments(int argc, char **argv) {
case 't': /* timeout */
socket_timeout = atoi(optarg);
if (socket_timeout <= 0) {
- return ERROR;
+ result.errorcode = ERROR;
+ return result;
}
}
}
- if (server_address == NULL) {
+ if (result.config.server_address == NULL) {
usage4(_("You must provide a server address or host name"));
}
- if (vars_to_check == CHECK_NONE) {
- return ERROR;
+ if (result.config.vars_to_check == CHECK_NONE) {
+ result.errorcode = ERROR;
+ return result;
}
- if (req_password == NULL) {
- req_password = strdup(_("None"));
+ if (result.config.req_password == NULL) {
+ result.config.req_password = strdup(_("None"));
}
- return OK;
+ return result;
}
void fetch_data(const char *address, int port, const char *sendb) {
diff --git a/plugins/check_nt.d/config.h b/plugins/check_nt.d/config.h
new file mode 100644
index 00000000..431889cb
--- /dev/null
+++ b/plugins/check_nt.d/config.h
@@ -0,0 +1,53 @@
+#pragma once
+
+#include "../../config.h"
+#include <stddef.h>
+
+enum {
+ PORT = 1248,
+};
+
+enum checkvars {
+ CHECK_NONE,
+ CHECK_CLIENTVERSION,
+ CHECK_CPULOAD,
+ CHECK_UPTIME,
+ CHECK_USEDDISKSPACE,
+ CHECK_SERVICESTATE,
+ CHECK_PROCSTATE,
+ CHECK_MEMUSE,
+ CHECK_COUNTER,
+ CHECK_FILEAGE,
+ CHECK_INSTANCES
+};
+
+typedef struct {
+ char *server_address;
+ int server_port;
+ char *req_password;
+ enum checkvars vars_to_check;
+ bool show_all;
+ char *value_list;
+ bool check_warning_value;
+ unsigned long warning_value;
+ bool check_critical_value;
+ unsigned long critical_value;
+} check_nt_config;
+
+check_nt_config check_nt_config_init() {
+ check_nt_config tmp = {
+ .server_address = NULL,
+ .server_port = PORT,
+ .req_password = NULL,
+
+ .vars_to_check = CHECK_NONE,
+ .show_all = false,
+ .value_list = NULL,
+
+ .check_warning_value = false,
+ .warning_value = 0,
+ .check_critical_value = false,
+ .critical_value = 0,
+ };
+ return tmp;
+}
More information about the Commits
mailing list