Code

cleanup to suppress various strict compiler warnings
authorKarl DeBisschop <kdebisschop@users.sourceforge.net>
Wed, 9 Apr 2003 03:46:26 +0000 (03:46 +0000)
committerKarl DeBisschop <kdebisschop@users.sourceforge.net>
Wed, 9 Apr 2003 03:46:26 +0000 (03:46 +0000)
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@483 f882894a-f735-0410-b71e-b25c423dba1c

plugins/check_hpjd.c
plugins/check_http.c
plugins/check_nt.c

index 9d8fae2b6f3f1bc72670be18fe00cb92cc78a442..56384657ad507b6b5e3d22a4a011133480ee9eb3 100644 (file)
@@ -1,50 +1,5 @@
 /******************************************************************************
 *
-* CHECK_HPJD.C
-*
-* Program: HP printer plugin for Nagios
-* License: GPL
-* Copyright (c) 1999 Ethan Galstad (nagios@nagios.org)
-*
-* Last Modified: $Date$
-*
-* Command line: CHECK_HPJD <ip_address> [community]
-*
-* Description:
-*
-* This plugin will attempt to check the status of an HP printer.  The
-* printer must have a JetDirect card installed and TCP/IP protocol
-* stack enabled.  This plugin has only been tested on a few printers
-* and may not work well on all models of JetDirect cards.  Multiple
-* port JetDirect devices must have an IP address assigned to each
-* port in order to be monitored.
-*
-* Dependencies:
-*
-* This plugin used the 'snmpget' command included with the UCD-SNMP
-* package.  If you don't have the package installed you will need to
-* download it from http://ucd-snmp.ucdavis.edu before you can use
-* this plugin.
-*
-* Return Values:
-*
-* UNKNOWN      = The plugin could not read/process the output from the printer
-* OK           = Printer looks normal
-* WARNING      = Low toner, paper jam, intervention required, paper out, etc.
-* CRITICAL     = The printer could not be reached (it's probably turned off)
-*
-* Acknowledgements:
-*
-* The idea for the plugin (as well as some code) were taken from Jim
-* Trocki's pinter alert script in his "mon" utility, found at
-* http://www.kernel.org/software/mon
-*
-* Notes:
-* 'JetDirect' is copyrighted by Hewlett-Packard.  
-*                    HP, please don't sue me... :-)
-*
-* License Information:
-*
 * 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 2 of the License, or
 #include "utils.h"
 
 const char *progname = "check_hpjd";
-#define REVISION "$Revision$"
-#define COPYRIGHT "2000-2002"
+const char *revision = "$Revision$";
+const char *authors = "Nagios Plugin Development Team";
+const char *email = "nagiosplug-devel@lists.sourceforge.net";
+const char *copyright = "2000-2003";
+
+const char *summary = "\
+This plugin tests the STATUS of an HP printer with a JetDirect card.\n\
+Net-snmp must be installed on the computer running the plugin.\n\n";
+
+const char *option_summary = "-H host [-C community]\n";
+
+const char *options = "\
+ -H, --hostname=STRING or IPADDRESS\n\
+   Check server on the indicated host\n\
+ -C, --community=STRING\n\
+   The SNMP community name (default=%s)\n\
+ -h, --help\n\
+   Print detailed help screen\n\
+ -V, --version\n\
+   Print version information\n\n";
 
 #define HPJD_LINE_STATUS               ".1.3.6.1.4.1.11.2.3.9.1.1.2.1"
 #define HPJD_PAPER_STATUS              ".1.3.6.1.4.1.11.2.3.9.1.1.2.2"
@@ -425,7 +398,7 @@ process_arguments (int argc, char **argv)
                        community = strscpy (community, optarg);
                        break;
                case 'V':                                                                       /* version */
-                       print_revision (progname, REVISION);
+                       print_revision (progname, revision);
                        exit (STATE_OK);
                case 'h':                                                                       /* help */
                        print_help ();
@@ -469,60 +442,43 @@ validate_arguments (void)
 void
 print_help (void)
 {
-       print_revision (progname, REVISION);
-       printf
-               ("Copyright (c) 2000 Ethan Galstad/Karl DeBisschop\n\n"
-                "This plugin tests the STATUS of an HP printer with a JetDirect card.\n"
-                "Net-snmp must be installed on the computer running the plugin.\n\n");
+       print_revision (progname, revision);
+       printf ("Copyright (c) %s %s\n\t<%s>\n\n", copyright, authors, email);
+       printf (summary);
        print_usage ();
-       printf
-               ("\nOptions:\n"
-                " -H, --hostname=STRING or IPADDRESS\n"
-                "   Check server on the indicated host\n"
-                " -C, --community=STRING\n"
-                "   The SNMP community name (default=%s)\n"
-                " -h, --help\n"
-                "   Print detailed help screen\n"
-                " -V, --version\n" "   Print version information\n\n",DEFAULT_COMMUNITY);
+       printf ("\nOptions:\n");
+       printf (options, DEFAULT_COMMUNITY);
        support ();
 }
 
-
-
-
-
 void
 print_usage (void)
 {
-       printf
-               ("Usage: %s -H host [-C community]\n"
-                "       %s --help\n"
-                "       %s --version\n", progname, progname, progname);
+       printf ("\
+Usage:\n\
+ %s %s\n\
+ %s (-h | --help) for detailed help\n\
+ %s (-V | --version) for version information\n",
+               progname, option_summary, progname, progname);
 }
 
 
 /*
        if(argc<2||argc>3){
        printf("Incorrect number of arguments supplied\n");
-       printf("\n");
        print_revision(argv[0],"$Revision$");
        printf("Copyright (c) 1999 Ethan Galstad (nagios@nagios.org)\n");
        printf("License: GPL\n");
-       printf("\n");
        printf("Usage: %s <ip_address> [community]\n",argv[0]);
-       printf("\n");
        printf("Note:\n");
        printf(" <ip_address>     = The IP address of the JetDirect card\n");
        printf(" [community]      = An optional community string used for SNMP communication\n");
        printf("                    with the JetDirect card.  The default is 'public'.\n");
-       printf("\n");
        return STATE_UNKNOWN;
        }
-
-       /* get the IP address of the JetDirect device */
+       // get the IP address of the JetDirect device
        strcpy(address,argv[1]);
-       
-       /* get the community name to use for SNMP communication */
+       // get the community name to use for SNMP communication
        if(argc>=3)
        strcpy(community,argv[2]);
        else
index 31d8646234fe6fe7ceeb6bb21713ffdbfd44deee..7678084f27b967a33d791268e91c2898b3733b1e 100644 (file)
@@ -1062,8 +1062,10 @@ print_help (void)
 void
 print_usage (void)
 {
-       printf ("Usage:\n" " %s %s\n"
-               " %s (-h | --help) for detailed help\n"
-               " %s (-V | --version) for version information\n",
+       printf ("\
+Usage:\n\
+ %s %s\n\
+ %s (-h | --help) for detailed help\n\
+ %s (-V | --version) for version information\n",
        progname, OPTIONS, progname, progname);
 }
index 1305a33362a426b76a57e05ebf787a476bf476ee..9652fa6b04d322bc70ce3a8d6e1573de80e5ad36 100644 (file)
@@ -70,13 +70,11 @@ void preparelist(char *string);
 
 int main(int argc, char **argv){
        int result;
-       int return_code;
+       int return_code = STATE_UNKNOWN;
        char *send_buffer=NULL;
        char recv_buffer[MAX_INPUT_BUFFER];
        char *output_message=NULL;
-       char *temp_buffer=NULL;
        char *temp_string=NULL;
-       char *sep_string=NULL;
        char *description=NULL;
 
        double total_disk_space=0;
@@ -84,18 +82,15 @@ int main(int argc, char **argv){
        double percent_used_space=0;
        double mem_commitLimit=0;
        double mem_commitByte=0;
-       unsigned long current_connections=0;
        unsigned long utilization;
        unsigned long uptime;
-       unsigned long cache_hits;
-       unsigned long cache_buffers;
-       unsigned long lru_time;
        unsigned long age_in_minutes;
        double counter_value;
        int offset=0;
        int updays=0;
        int uphours=0;
        int upminutes=0;
+
        asprintf(&req_password,"None");
 
        if(process_arguments(argc,argv)==ERROR)
@@ -108,14 +103,16 @@ int main(int argc, char **argv){
        alarm(socket_timeout);
 
        if (vars_to_check==CHECK_CLIENTVERSION) {
-                       
+
                asprintf(&send_buffer,strcat(req_password,"&1"));
                result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
                if(result!=STATE_OK)
                        return result;
                asprintf(&output_message,recv_buffer);
                return_code=STATE_OK;
+
        }
+
        else if(vars_to_check==CHECK_CPULOAD){
 
                if (check_value_list==TRUE) {                                                                                                                                                   
@@ -123,9 +120,12 @@ int main(int argc, char **argv){
                                /* -l parameters is present with only integers */
                                return_code=STATE_OK;
                                asprintf(&temp_string,"CPU Load");
-                               while (lvalue_list[0+offset]>0 && lvalue_list[0+offset]<=17280 && 
-                                                       lvalue_list[1+offset]>=0 && lvalue_list[1+offset]<=100 && 
-                                                       lvalue_list[2+offset]>=0 && lvalue_list[2+offset]<=100) {
+                               while (lvalue_list[0+offset]>(unsigned long)0 &&
+                                      lvalue_list[0+offset]<=(unsigned long)17280 && 
+                                      lvalue_list[1+offset]>=(unsigned long)0 &&
+                                      lvalue_list[1+offset]<=(unsigned long)100 && 
+                                      lvalue_list[2+offset]>=(unsigned long)0 &&
+                                      lvalue_list[2+offset]<=(unsigned long)100) {
                                        /* loop until one of the parameters is wrong or not present */
 
                                        /* Send request and retrieve data */
@@ -514,51 +514,73 @@ void print_usage(void)
 void print_help(void)
 {
        print_revision(progname,"$Revision$");
-       printf
-               ("Copyright (c) 2000 Yves Rubin (rubiyz@yahoo.com)\n\n"
-                "This plugin attempts to contact the NSClient service running on a Windows NT/2000/XP server to\n"
-                "gather the requested system information.\n\n");
+       printf ("\
+Copyright (c) 2000 Yves Rubin (rubiyz@yahoo.com)\n\n\
+This plugin collects data from the NSClient service running on a\n\
+Windows NT/2000/XP server.\n\n");
        print_usage();
-  printf
-               ("\nOptions:\n"
-                "-H, --hostname=HOST\n"
-                "   Name of the host to check\n"
-                "-p, --port=INTEGER\n"
-                "   Optional port number (default: %d)\n"
-                "-s <password>\n"
-                "   Password needed for the request\n"
-                "-v, --variable=STRING\n"
-                "   Variable to check.  Valid variables are:\n"
-                "      CLIENTVERSION = Get the NSClient version\n"
-                "      CPULOAD = Average CPU load on last x minutes. Request a -l parameter with the following syntax:\n"
-                "        -l <minutes range>,<warning threshold>,<critical threshold>. <minute range> should be less than 24*60.\n"
-                "        Thresholds are percentage and up to 10 requests can be done in one shot. ie: -l 60,90,95,120,90,95\n"
-                "      UPTIME = Get the uptime of the machine. No specific parameters. No warning or critical threshold\n"
-                "      USEDDISKSPACE = Size and percentage of disk use. Request a -l parameter containing the drive letter only.\n"
-                "                      Warning and critical thresholds can be specified with -w and -c.\n"
-                "      MEMUSE = Memory use. Warning and critical thresholds can be specified with -w and -c.\n" 
-                "      SERVICESTATE = Check the state of one or several services. Request a -l parameters with the following syntax:\n"
-                "        -l <service1>,<service2>,<service3>,... You can specify -d SHOWALL in case you want to see working services\n"
-                "        in the returned string.\n"
-                "      PROCSTATE = Check if one or several process are running. Same syntax as SERVICESTATE.\n"
-                "      COUNTER = Check any performance counter of Windows NT/2000. Request a -l parameters with the following syntax:\n"
-                "        -l \"\\\\<performance object>\\\\counter\",\"<description>\"  The <description> parameter is optional and \n"
-                "        is given to a printf output command which require a float parameters. Some examples:\n"
-                "          \"Paging file usage is %%.2f %%%%\" or \"%%.f %%%% paging file used.\"\n"
-                " -w, --warning=INTEGER\n"
-                "   Threshold which will result in a warning status\n"
-                " -c, --critical=INTEGER\n"
-                "   Threshold which will result in a critical status\n"
-                " -t, --timeout=INTEGER\n"
-                "   Seconds before connection attempt times out (default: %d)\n"
-                "-h, --help\n"
-                "   Print this help screen\n"
-                "-V, --version\n"
-                "   Print version information\n\n"
-                "Notes:\n"
-                " - The NSClient service should be running on the server to get any information\n"
-                "   (http://nsclient.ready2run.nl).\n"
-                " - Critical thresholds should be lower than warning thresholds\n", PORT, DEFAULT_SOCKET_TIMEOUT);
+  printf ("\nOptions:\n\
+-H, --hostname=HOST\n\
+  Name of the host to check\n\
+-p, --port=INTEGER\n\
+  Optional port number (default: %d)\n\
+-s <password>\n\
+  Password needed for the request\n\
+-w, --warning=INTEGER\n\
+  Threshold which will result in a warning status\n\
+-c, --critical=INTEGER\n\
+  Threshold which will result in a critical status\n\
+-t, --timeout=INTEGER\n\
+  Seconds before connection attempt times out (default: %d)\n\
+-h, --help\n\
+  Print this help screen\n\
+-V, --version\n\
+  Print version information\n",
+               PORT, DEFAULT_SOCKET_TIMEOUT);
+  printf ("\
+-v, --variable=STRING\n\
+  Variable to check.  Valid variables are:\n");
+  printf ("\
+   CLIENTVERSION = Get the NSClient version\n");
+  printf ("\
+   CPULOAD = Average CPU load on last x minutes.\n\
+     Request a -l parameter with the following syntax:\n\
+     -l <minutes range>,<warning threshold>,<critical threshold>.\n\
+     <minute range> should be less than 24*60.\n\
+     Thresholds are percentage and up to 10 requests can be done in one shot.\n\
+     ie: -l 60,90,95,120,90,95\n");
+  printf ("\
+   UPTIME = Get the uptime of the machine.\n\
+     No specific parameters. No warning or critical threshold\n");
+  printf ("\
+   USEDDISKSPACE = Size and percentage of disk use.\n\
+     Request a -l parameter containing the drive letter only.\n\
+     Warning and critical thresholds can be specified with -w and -c.\n");
+  printf ("\
+   MEMUSE = Memory use.\n\
+     Warning and critical thresholds can be specified with -w and -c.\n");
+  printf ("\
+   SERVICESTATE = Check the state of one or several services.\n\
+     Request a -l parameters with the following syntax:\n\
+     -l <service1>,<service2>,<service3>,...\n\
+     You can specify -d SHOWALL in case you want to see working services\n\
+                in the returned string.\n");
+  printf ("\
+   PROCSTATE = Check if one or several process are running.\n\
+     Same syntax as SERVICESTATE.\n");
+  printf ("\
+   COUNTER = Check any performance counter of Windows NT/2000.\n\
+     Request a -l parameters with the following syntax:\n\
+                -l \"\\\\<performance object>\\\\counter\",\"<description>\n\
+     The <description> parameter is optional and \n\
+     is given to a printf output command which require a float parameters.\n\
+     Some examples:\n\
+       \"Paging file usage is %%.2f %%%%\"\n\
+       \"%%.f %%%% paging file used.\"\n");
+       printf ("Notes:\n\
+ - The NSClient service should be running on the server to get any information\n\
+   (http://nsclient.ready2run.nl).\n\
+ - Critical thresholds should be lower than warning thresholds\n");
 }
 
 int strtolarray(unsigned long *array, char *string, char *delim) {
@@ -584,7 +606,7 @@ void preparelist(char *string) {
        /* Replace all , with & which is the delimiter for the request */
        int i;
 
-       for (i = 0; i < strlen(string); i++)
+       for (i = 0; (size_t)i < strlen(string); i++)
                if (string[i] == ',') {
                        string[i]='&';
                }