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 const char *progname = "check_dummy";
41 const char *revision = "$Revision$";
42 const char *copyright = "1999-2003";
43 const char *email = "nagiosplug-devel@lists.sourceforge.net";
45 void
46 print_usage (void)
47 {
48 printf (_("Usage: %s <integer state>\n"), progname);
49 }
51 void
52 print_help (void)
53 {
54 print_revision (progname, revision);
56 printf (_(COPYRIGHT), copyright, email);
58 print_usage ();
60 printf (_(UT_HELP_VRSN));
62 printf (_("\n\
63 This plugin will simply return the state corresponding to the numeric value\n\
64 of the <state> argument.\n"));
66 support ();
67 }
69 int
70 main (int argc, char **argv)
71 {
72 int result;
74 if (argc != 2) {
75 printf (_("Incorrect number of arguments supplied\n"));
76 exit (STATE_UNKNOWN);
77 }
78 else if (strcmp (argv[1], "-V") == 0 || strcmp (argv[1], "--version") == 0) {
79 print_revision (progname, revision);
80 exit (STATE_OK);
81 }
82 else if (strcmp (argv[1], "-h") == 0 || strcmp (argv[1], "--help") == 0) {
83 print_help ();
84 exit (STATE_OK);
85 }
86 else if (!is_integer (argv[1])) {
87 print_usage ();
88 exit (STATE_UNKNOWN);
89 }
90 result = atoi (argv[1]);
92 switch (result) {
93 case STATE_OK:
94 printf ("Status is OK\n");
95 break;
96 case STATE_WARNING:
97 printf ("Status is at WARNING level\n");
98 break;
99 case STATE_CRITICAL:
100 printf ("Status is CRITICAL\n");
101 break;
102 default:
103 printf ("Status is UNKNOWN\n");
104 result = STATE_UNKNOWN;
105 }
107 return result;
108 }