/****************************************************************************** * * Nagios plugins common include file * * License: GPL * Copyright (c) 1999 Ethan Galstad (nagios@nagios.org) * * Last Modified: 11-05-1999 * * Description: * * This file contains common include files and defines used in many of * the plugins. * * 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 * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * *****************************************************************************/ #include /* obligatory includes */ #include #include #include "config.h" #ifdef HAVE_STRINGS_H #include #endif #ifdef HAVE_STRING_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #ifdef TIME_WITH_SYS_TIME # include # include #else # ifdef HAVE_SYS_TIME_H # include # else # include # endif #endif #ifdef HAVE_SYS_TYPES_H #include #endif #ifdef HAVE_SIGNAL_H #include #endif /* #ifdef HAVE_GETOPT_H */ #include /* #endif */ #include /* * * Missing Functions * */ #ifndef HAVE_STRTOL # define strtol(a,b,c) atol((a)) #endif #ifndef HAVE_STRTOUL # define strtoul(a,b,c) (unsigned long)atol((a)) #endif /* * * Standard Values * */ #define OK 0 #define ERROR -1 #define TRUE 1 #define FALSE 0 #define STATE_CRITICAL 2 /* service state return codes */ #define STATE_WARNING 1 #define STATE_OK 0 #define STATE_UNKNOWN -1 #define STATE_DEPENDENT -2 #define DEFAULT_SOCKET_TIMEOUT 10 /* timeout after 10 seconds */ #define MAX_INPUT_BUFFER 1024 /* max size of most buffers we use */ #define MAX_HOST_ADDRESS_LENGTH 256 /* max size of a host address */ #ifndef HAVE_SNPRINTF /* int snprintf (char *str, size_t n, const char *fmt, ...); int snprintf (char *str, size_t n, const char *fmt, ...) { char *buf; int i; int j=0; va_list ap; int d; char c, *p, *s; if((buf=malloc(n))==NULL){ puts("could not malloc snprintf buffer\n"); exit(-1); } va_start(ap,fmt); i=strlen(fmt); while((jj=index(&fmt[j],'%'))){ j+=jj+1; switch fmt[j] { case 's': s = va_arg(ap, char *); i+=strlen(s); break; case 'd': d = va_arg(ap, int); i++; if (d<0) i++; while((d=d/10)>0) i++; break; case 'c': c = va_arg(ap, char); i++; break; } } va_end(ap); vsprintf(buf,fmt,ap); strcpy(str,buf[1:n-1]); exit(result); } */ #endif