diff options
author | Benoit Mortier <opensides@users.sourceforge.net> | 2006-10-23 00:02:44 +0000 |
---|---|---|
committer | Benoit Mortier <opensides@users.sourceforge.net> | 2006-10-23 00:02:44 +0000 |
commit | 171ae1fb85f283da66d27c6a10ee8f0fbbf796b3 (patch) | |
tree | 3f7931c43b344403f1b808f37b6edabab01b68ce /plugins-root | |
parent | 1698772fa4a7708f79f14181dcbcc6abcd2bae04 (diff) | |
download | monitoring-plugins-171ae1fb85f283da66d27c6a10ee8f0fbbf796b3.tar.gz |
first pass a making check icmp respecting nagiosplugins rules
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1519 f882894a-f735-0410-b71e-b25c423dba1c
Diffstat (limited to 'plugins-root')
-rw-r--r-- | plugins-root/check_icmp.c | 78 |
1 files changed, 48 insertions, 30 deletions
diff --git a/plugins-root/check_icmp.c b/plugins-root/check_icmp.c index 2b1cc2cd..306113b5 100644 --- a/plugins-root/check_icmp.c +++ b/plugins-root/check_icmp.c @@ -42,8 +42,16 @@ * *****************************************************************************/ - +/* progname may be check_ldaps */ +//char *progname = "check_ldap"; +const char *revision = "$Revision$"; +const char *copyright = "2005-2006"; +const char *email = "nagiosplug-devel@lists.sourceforge.net"; +/** nagios plugins basic includes */ +#include "common.h" +#include "netutils.h" +#include "utils.h" #include <sys/time.h> #include <sys/types.h> @@ -64,6 +72,7 @@ #include <arpa/inet.h> #include <signal.h> + /** sometimes undefined system macros (quite a few, actually) **/ #ifndef MAXTTL # define MAXTTL 255 @@ -95,16 +104,6 @@ #endif -/** typedefs and such **/ -enum states { - STATE_OK = 0, - STATE_WARNING, - STATE_CRITICAL, - STATE_UNKNOWN, - STATE_DEPENDENT, - STATE_OOB -}; - typedef unsigned short range_t; /* type for get_range() -- unimplemented */ typedef struct rta_host { @@ -174,7 +173,8 @@ typedef struct icmp_ping_data { #define TSTATE_UNREACH 0x08 /** prototypes **/ -static void usage(unsigned char, char *); +void print_help (void); +void print_usage (void); static u_int get_timevar(const char *); static u_int get_timevaldiff(struct timeval *, struct timeval *); static int wait_for_reply(int, u_int); @@ -477,9 +477,12 @@ main(int argc, char **argv) crit_down = (unsigned char)strtoul(ptr + 1, NULL, 0); } break; - case 'h': case 'V': default: - usage(arg, NULL); - break; + case 'V': /* version */ + //print_revision (progname, revision); + exit (STATE_OK); + case 'h': /* help */ + print_help (); + exit (STATE_OK); } } } @@ -1177,20 +1180,21 @@ icmp_checksum(unsigned short *p, int n) } /* make core plugin developers happy (silly, really) */ -static void -usage(unsigned char arg, char *msg) +void +print_help(void) { - if(msg) printf("%s: %s\n", progname, msg); - - if(arg == 'V') { - printf("$Id$\n"); - exit(STATE_UNKNOWN); - } - - printf("Usage: %s [options] [-H] host1 host2 hostn\n\n", progname); - - if(arg != 'h') exit(3); + //print_revision (progname, revision); + + printf ("Copyright (c) 2005 Andreas Ericsson <ae@op5.se>\n"); + printf (COPYRIGHT, copyright, email); + + printf ("\n\n"); + + print_usage (); + + printf (_(UT_HELP_VRSN)); + printf("Where options are any combination of:\n" " * -H | --host specify a target\n" " * -w | --warn warning threshold (currently %0.3fms,%u%%)\n" @@ -1208,7 +1212,7 @@ usage(unsigned char arg, char *msg) (float)pkt_interval / 1000, (float)target_interval / 1000, ttl, timeout); - puts("\nThe -H switch is optional. Naming a host (or several) to check is not.\n\n" + printf("\nThe -H switch is optional. Naming a host (or several) to check is not.\n\n" "Threshold format for -w and -c is 200.25,60% for 200.25 msec RTA and 60%\n" "packet loss. The default values should work well for most users.\n" "You can specify different RTA factors using the standardized abbreviations\n" @@ -1220,9 +1224,23 @@ usage(unsigned char arg, char *msg) "Long options are currently unsupported.\n\n" "Options marked with * require an argument\n"); - puts("The latest version of this plugin can be found at http://oss.op5.se/nagios\n" +/* printf("The latest version of this plugin can be found at http://oss.op5.se/nagios\n" "or https://devel.op5.se/oss until the day it is included in the official\n" "plugin distribution.\n"); +*/ + + printf (_(UT_SUPPORT)); + + printf (_(UT_NOWARRANTY)); + +// exit(3); +} - exit(3); + + +void +print_usage (void) +{ + printf (_("Usage:")); + printf("Usage: %s [options] [-H] host1 host2 hostn\n\n", progname); } |