X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Futils.h;h=3c3f1892458b350a6783ce8f425e118bbec53bfd;hb=654086f1117ee22d9f7e8270330daff6c463c9ad;hp=f47d0533c1759f4a2cf74e0925b1a9045ebf7d3f;hpb=795100ae5124915bb647a304d5dfe2ada2f44ab0;p=nagiosplug.git diff --git a/plugins/utils.h b/plugins/utils.h index f47d053..3c3f189 100644 --- a/plugins/utils.h +++ b/plugins/utils.h @@ -13,21 +13,30 @@ in order to resist overflow attacks. In addition, a few functions are provided to standardize version and error reporting across the entire suite of plugins. */ -/* Standardize version information, termination */ +/* now some functions etc are being defined in ../lib/utils_base.c */ +#include "utils_base.h" -/* $Id$ */ +#ifdef NP_EXTRA_OPTS +/* Include extra-opts functions if compiled in */ +#include "extra_opts.h" +#else +/* else, fake np_extra_opts */ +#define np_extra_opts(acptr,av,pr) av +#endif + +/* Standardize version information, termination */ void support (void); -char *clean_revstring (const char *); void print_revision (const char *, const char *); -void die (int, const char *, ...) __attribute__((noreturn,format(printf, 2, 3))); /* Handle timeouts */ #ifdef LOCAL_TIMEOUT_ALARM_HANDLER +extern unsigned int timeout_state; extern unsigned int timeout_interval; RETSIGTYPE timeout_alarm_handler (int); #else +unsigned int timeout_state = STATE_CRITICAL; unsigned int timeout_interval = DEFAULT_SOCKET_TIMEOUT; extern RETSIGTYPE timeout_alarm_handler (int); #endif @@ -58,19 +67,6 @@ struct timeval { }; #endif -#define OUTSIDE 0 -#define INSIDE 1 - -typedef struct threshold_struct { - double start; - int start_infinity; /* FALSE (default) or TRUE */ - double end; - int end_infinity; - int alert_on; /* OUTSIDE (default) or INSIDE */ - } threshold; - -threshold *parse_threshold (char *); - #ifndef HAVE_GETTIMEOFDAY int gettimeofday(struct timeval *, struct timezone *); #endif @@ -87,12 +83,14 @@ char *strpcpy (char *, const char *, const char *); char *strpcat (char *, const char *, const char *); int max_state (int a, int b); +int max_state_alt (int a, int b); void usage (const char *) __attribute__((noreturn)); void usage2(const char *, const char *) __attribute__((noreturn)); void usage3(const char *, int) __attribute__((noreturn)); -void usage4(const char *); -void usage_va(const char *fmt, ...); +void usage4(const char *) __attribute__((noreturn)); +void usage5(void) __attribute__((noreturn)); +void usage_va(const char *fmt, ...) __attribute__((noreturn)); const char *state_text (int); @@ -139,51 +137,71 @@ char *fperfdata (const char *, #define COPYRIGHT "Copyright (c) %s Nagios Plugin Development Team\n\ \t<%s>\n\n" -#define UT_HLP_VRS "\ +#define UT_HLP_VRS _("\ %s (-h | --help) for detailed help\n\ - %s (-V | --version) for version information\n" + %s (-V | --version) for version information\n") -#define UT_HELP_VRSN "\ +#define UT_HELP_VRSN _("\ \nOptions:\n\ -h, --help\n\ Print detailed help screen\n\ -V, --version\n\ - Print version information\n" + Print version information\n") -#define UT_HOST_PORT "\ +#define UT_HOST_PORT _("\ -H, --hostname=ADDRESS\n\ Host name, IP Address, or unix socket (must be an absolute path)\n\ -%c, --port=INTEGER\n\ - Port number (default: %s)\n" + Port number (default: %s)\n") -#define UT_IPv46 "\ +#define UT_IPv46 _("\ -4, --use-ipv4\n\ Use IPv4 connection\n\ -6, --use-ipv6\n\ - Use IPv6 connection\n" + Use IPv6 connection\n") -#define UT_VERBOSE "\ +#define UT_VERBOSE _("\ -v, --verbose\n\ - Show details for command-line debugging (Nagios may truncate output)\n" + Show details for command-line debugging (Nagios may truncate output)\n") -#define UT_WARN_CRIT "\ +#define UT_WARN_CRIT _("\ -w, --warning=DOUBLE\n\ Response time to result in warning status (seconds)\n\ -c, --critical=DOUBLE\n\ - Response time to result in critical status (seconds)\n" + Response time to result in critical status (seconds)\n") + +#define UT_WARN_CRIT_RANGE _("\ + -w, --warning=RANGE\n\ + Warning range (format: start:end). Alert if outside this range\n\ + -c, --critical=RANGE\n\ + Critical range\n") -#define UT_TIMEOUT "\ +#define UT_TIMEOUT _("\ -t, --timeout=INTEGER\n\ - Seconds before connection times out (default: %d)\n" + Seconds before connection times out (default: %d)\n") + +#ifdef NP_EXTRA_OPTS +#define UT_EXTRA_OPTS _("\ + --extra-opts=[section][@file]\n\ + Read options from an ini file. See http://nagiosplugins.org/extra-opts\n\ + for usage and examples.\n") +#else +#define UT_EXTRA_OPTS "" +#endif + +#define UT_THRESHOLDS_NOTES _("\ + See:\n\ + http://nagiosplug.sourceforge.net/developer-guidelines.html#THRESHOLDFORMAT\n\ + for THRESHOLD format and examples.\n") -#define UT_SUPPORT "\n\ +#define UT_SUPPORT _("\n\ Send email to nagios-users@lists.sourceforge.net if you have questions\n\ regarding use of this software. To submit patches or suggest improvements,\n\ -send email to nagiosplug-devel@lists.sourceforge.net\n" +send email to nagiosplug-devel@lists.sourceforge.net\n\n") -#define UT_NOWARRANTY "\n\ +#define UT_NOWARRANTY _("\n\ The nagios plugins come with ABSOLUTELY NO WARRANTY. You may redistribute\n\ copies of the plugins under the terms of the GNU General Public License.\n\ -For more information about these matters, see the file named COPYING.\n" +For more information about these matters, see the file named COPYING.\n") #endif /* NP_UTILS_H */