Code

fixes for using POSIX return codes
[nagiosplug.git] / plugins / check_dummy.c
1 /*************************************************************
2  *
3  * CHECK_DUMMY.C
4  *
5  * Program: Dummy plugin for Nagios
6  * License: GPL
7  * Copyright (c) 1999 Ethan Galstad (nagios@nagios.org)
8  *
9  * Last Modified: $Date$
10  *
11  * Command line: CHECK_DUMMY <state>
12  *
13  * Description:
14  *
15  * This plugin will simply return the state corresponding to the
16  * numerical value of the <state> argument.
17  *
18  * License Information:
19  *
20  * This program is free software; you can redistribute it and/or modify
21  * it under the terms of the GNU General Public License as published by
22  * the Free Software Foundation; either version 2 of the License, or
23  * (at your option) any later version.
24  *
25  * This program is distributed in the hope that it will be useful,
26  * but WITHOUT ANY WARRANTY; without even the implied warranty of
27  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
28  * GNU General Public License for more details.
29  *
30  * You should have received a copy of the GNU General Public License
31  * along with this program; if not, write to the Free Software
32  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
33  *
34  **************************************************************/
36 #include "config.h"
37 #include "common.h"
38 #include "utils.h"
40 void print_help (char *);
41 void print_usage (char *);
43 int
44 main (int argc, char **argv)
45 {
46         int result;
48         if (argc != 2) {
49                 printf ("Incorrect number of arguments supplied\n");
50                 exit (STATE_UNKNOWN);
51         }
52         else if (strcmp (argv[1], "-V") == 0 || strcmp (argv[1], "--version") == 0) {
53                 print_revision (argv[0], "$Revision$");
54                 exit (STATE_OK);
55         }
56         else if (strcmp (argv[1], "-h") == 0 || strcmp (argv[1], "--help") == 0) {
57                 print_help (argv[0]);
58                 exit (STATE_OK);
59         }
60         else if (!is_integer (argv[1])) {
61                 print_usage (argv[0]);
62                 exit (STATE_UNKNOWN);
63         }
64         result = atoi (argv[1]);
66         switch (result) {
67         case STATE_OK:
68                 printf ("Status is OK\n");
69                 break;
70         case STATE_WARNING:
71                 printf ("Status is at WARNING level\n");
72                 break;
73         case STATE_CRITICAL:
74                 printf ("Status is CRITICAL\n");
75                 break;
76         default:
77                 printf ("Status is UNKNOWN\n");
78                 result = STATE_UNKNOWN;
79         }
81         return result;
82 }
84 void
85 print_help (char *cmd)
86 {
87         print_revision (cmd, "$Revision$");
88         printf ("Copyright (c) 1999 Ethan Galstad (nagios@nagios.org)\n"
89                                         "License: GPL\n\n");
90         print_usage (cmd);
91         printf
92                 ("\nThis plugin will simply return the state corresponding to the numeric value\n"
93                  "of the <state> argument.\n");
94 }
96 void
97 print_usage (char *cmd)
98 {
99         printf ("Usage: %s <integer state>\n", cmd);