359 lines
6.6 KiB
C
359 lines
6.6 KiB
C
/************************************************************************
|
|
*
|
|
* Nagios Config Header File
|
|
* Written By: Ethan Galstad (egalstad@nagios.org)
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*
|
|
* 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.
|
|
************************************************************************/
|
|
|
|
|
|
/***** NAGIOS STUFF *****/
|
|
|
|
#define DEFAULT_NAGIOS_USER nagios
|
|
#define DEFAULT_NAGIOS_GROUP nagios
|
|
|
|
/* stop gcc from bitching about implicit asprintf declarations */
|
|
#define _GNU_SOURCE 1
|
|
|
|
/* Event broker integration */
|
|
#undef USE_EVENT_BROKER
|
|
|
|
/* commands used by CGIs */
|
|
#undef TRACEROUTE_COMMAND
|
|
#undef PING_COMMAND
|
|
#undef PING_PACKETS_FIRST
|
|
|
|
/* Debugging options */
|
|
/* function entry and exit */
|
|
#undef DEBUG0
|
|
/* general info messages */
|
|
#undef DEBUG1
|
|
/* warning messages */
|
|
#undef DEBUG2
|
|
/* service and host checks, other events */
|
|
#undef DEBUG3
|
|
/* service and host notifications */
|
|
#undef DEBUG4
|
|
/* SQL queries (defunct) */
|
|
#undef DEBUG5
|
|
|
|
/* I/O implementations */
|
|
#undef USE_XSDDEFAULT
|
|
#undef USE_XCDDEFAULT
|
|
#undef USE_XRDDEFAULT
|
|
#undef USE_XODTEMPLATE
|
|
#undef USE_XPDDEFAULT
|
|
#undef USE_XDDDEFAULT
|
|
|
|
|
|
/***** CGI COMPILE OPTIONS *****/
|
|
/* should we compile and use the statusmap CGI? */
|
|
#undef USE_STATUSMAP
|
|
/* should we compile and use the statuswrl CGI? */
|
|
#undef USE_STATUSWRL
|
|
/* should we compile and use the trends CGI? */
|
|
#undef USE_TRENDS
|
|
/* should we compile and use the histogram CGI? */
|
|
#undef USE_HISTOGRAM
|
|
|
|
|
|
|
|
/***** FUNCTION DEFINITIONS *****/
|
|
|
|
#undef HAVE_SETENV
|
|
#undef HAVE_UNSETENV
|
|
#undef HAVE_SOCKET
|
|
#undef HAVE_STRDUP
|
|
#undef HAVE_STRSTR
|
|
#undef HAVE_STRTOUL
|
|
#undef HAVE_INITGROUPS
|
|
#undef HAVE_GETLOADAVG
|
|
#undef HAVE_GDIMAGECREATETRUECOLOR
|
|
#undef HAVE_SIGACTION
|
|
|
|
|
|
|
|
/***** ASPRINTF() AND FRIENDS *****/
|
|
|
|
#undef HAVE_VSNPRINTF
|
|
#undef HAVE_SNPRINTF
|
|
#undef HAVE_ASPRINTF
|
|
#undef HAVE_VASPRINTF
|
|
#undef HAVE_C99_VSNPRINTF
|
|
#undef HAVE_VA_COPY
|
|
#undef HAVE___VA_COPY
|
|
|
|
|
|
|
|
/***** MISC DEFINITIONS *****/
|
|
|
|
#undef USE_NANOSLEEP
|
|
#undef STDC_HEADERS
|
|
#undef HAVE_TM_ZONE
|
|
#undef HAVE_TZNAME
|
|
#undef USE_PROC
|
|
#define SOCKET_SIZE_TYPE ""
|
|
#define GETGROUPS_T ""
|
|
#define RETSIGTYPE ""
|
|
|
|
|
|
|
|
/***** HEADER FILES *****/
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
/* needed for the time_t structures we use later... */
|
|
/* this include must come before sys/resource.h or we can have problems on some OSes */
|
|
#undef TIME_WITH_SYS_TIME
|
|
#undef HAVE_SYS_TIME_H
|
|
#if TIME_WITH_SYS_TIME
|
|
#include <sys/time.h>
|
|
#include <time.h>
|
|
#else
|
|
#if HAVE_SYS_TIME_H
|
|
#include <sys/time.h>
|
|
#else
|
|
#include <time.h>
|
|
#endif
|
|
#endif
|
|
|
|
#undef HAVE_SYS_RESOURCE_H
|
|
#ifdef HAVE_SYS_RESOURCE_H
|
|
#include <sys/resource.h>
|
|
#endif
|
|
|
|
#undef HAVE_LIMITS_H
|
|
#ifdef HAVE_LIMITS_H
|
|
#include <limits.h>
|
|
#endif
|
|
|
|
#undef HAVE_PWD_H
|
|
#ifdef HAVE_PWD_H
|
|
#include "config_pwd.h"
|
|
#endif
|
|
|
|
#undef HAVE_GRP_H
|
|
#ifdef HAVE_GRP_H
|
|
#include <grp.h>
|
|
#endif
|
|
|
|
#undef HAVE_STRINGS_H
|
|
#ifdef HAVE_STRINGS_H
|
|
#include <strings.h>
|
|
#endif
|
|
|
|
#undef HAVE_STRING_H
|
|
#ifdef HAVE_STRINGS_H
|
|
#include <string.h>
|
|
#endif
|
|
|
|
#undef HAVE_UNISTD_H
|
|
#ifdef HAVE_UNISTD_H
|
|
#include <unistd.h>
|
|
#endif
|
|
|
|
#undef HAVE_SYSLOG_H
|
|
#ifdef HAVE_SYSLOG_H
|
|
#include <syslog.h>
|
|
#endif
|
|
|
|
#undef HAVE_SIGNAL_H
|
|
#ifdef HAVE_SIGNAL_H
|
|
#include <signal.h>
|
|
#endif
|
|
|
|
#undef HAVE_SYS_STAT_H
|
|
#ifdef HAVE_SYS_STAT_H
|
|
#include <sys/stat.h>
|
|
#endif
|
|
|
|
#undef HAVE_SYS_MMAN_H
|
|
#ifdef HAVE_SYS_MMAN_H
|
|
#include <sys/mman.h>
|
|
#endif
|
|
|
|
#undef HAVE_FCNTL_H
|
|
#ifdef HAVE_FCNTL_H
|
|
#include <fcntl.h>
|
|
#endif
|
|
|
|
#undef HAVE_STDARG_H
|
|
#ifdef HAVE_STDARG_H
|
|
#include <stdarg.h>
|
|
#endif
|
|
|
|
/* Another Solarisism: getloadavg() lives in <sys/loadavg.h>, not <stdlib.h>,
|
|
* so include the former if it exists. This may be true on other systems, or
|
|
* this function may be missing altogether (see:
|
|
* https://www.gnu.org/software/gnulib/manual/html_node/getloadavg.html). */
|
|
#undef HAVE_SYS_LOADAVG_H
|
|
#ifdef HAVE_SYS_LOADAVG_H
|
|
#include <sys/loadavg.h>
|
|
#endif
|
|
|
|
#undef HAVE_SYS_TYPES_H
|
|
#ifdef HAVE_SYS_TYPES_H
|
|
#include <sys/types.h>
|
|
#endif
|
|
|
|
#undef HAVE_SYS_WAIT_H
|
|
#ifdef HAVE_SYS_WAIT_H
|
|
#include <sys/wait.h>
|
|
#endif
|
|
|
|
#undef HAVE_ERRNO_H
|
|
#ifdef HAVE_ERRNO_H
|
|
#include <errno.h>
|
|
#endif
|
|
|
|
#undef HAVE_SYS_TIMEB_H
|
|
#if HAVE_SYS_TIMEB_H
|
|
#include <sys/timeb.h>
|
|
#endif
|
|
|
|
#undef HAVE_SYS_IPC_H
|
|
#ifdef HAVE_SYS_IPC_H
|
|
#include <sys/ipc.h>
|
|
#endif
|
|
|
|
#undef HAVE_SYS_MSG_H
|
|
#ifdef HAVE_SYS_MSG_H
|
|
#include <sys/msg.h>
|
|
#endif
|
|
|
|
#undef HAVE_MATH_H
|
|
#ifdef HAVE_MATH_H
|
|
#include <math.h>
|
|
#endif
|
|
|
|
#undef HAVE_CTYPE_H
|
|
#ifdef HAVE_CTYPE_H
|
|
#include <ctype.h>
|
|
#endif
|
|
|
|
#undef HAVE_DIRENT_H
|
|
#ifdef HAVE_DIRENT_H
|
|
#include <dirent.h>
|
|
#endif
|
|
|
|
#undef HAVE_REGEX_H
|
|
#ifdef HAVE_REGEX_H
|
|
#include <regex.h>
|
|
|
|
#undef HAVE_SYS_SOCKET_H
|
|
#ifdef HAVE_SYS_SOCKET_H
|
|
#include <sys/socket.h>
|
|
#endif
|
|
|
|
#undef HAVE_SOCKET
|
|
#ifdef HAVE_SOCKET_H
|
|
#include <socket.h>
|
|
#endif
|
|
|
|
#undef HAVE_NETINET_IN_H
|
|
#ifdef HAVE_NETINET_IN_H
|
|
#include <netinet/in.h>
|
|
#endif
|
|
|
|
#undef HAVE_ARPA_INET_H
|
|
#ifdef HAVE_ARPA_INET_H
|
|
#include <arpa/inet.h>
|
|
#endif
|
|
|
|
#undef HAVE_NETDB_H
|
|
#ifdef HAVE_NETDB_H
|
|
#include <netdb.h>
|
|
#endif
|
|
|
|
#undef HAVE_LIBGEN_H
|
|
#ifdef HAVE_LIBGEN_H
|
|
#include <libgen.h>
|
|
#endif
|
|
|
|
#undef HAVE_SYS_UN_H
|
|
#ifdef HAVE_SYS_UN_H
|
|
#include <sys/un.h>
|
|
#endif
|
|
|
|
#undef HAVE_SYS_POLL_H
|
|
#ifdef HAVE_SYS_POLL_H
|
|
#include <sys/poll.h>
|
|
#endif
|
|
|
|
#undef HAVE_GETOPT_H
|
|
#ifdef HAVE_GETOPT_H
|
|
#include <getopt.h>
|
|
#endif
|
|
|
|
#undef HAVE_LINUX_MODULE_H
|
|
#ifdef HAVE_LINUX_MODULE_H
|
|
#include <linux/module.h>
|
|
#endif
|
|
|
|
#undef HAVE_LOCALE_H
|
|
#ifdef HAVE_LOCALE_H
|
|
#include <locale.h>
|
|
#endif
|
|
|
|
#undef HAVE_WCHAR_H
|
|
#ifdef HAVE_WCHAR_H
|
|
#include <wchar.h>
|
|
#endif
|
|
|
|
#undef HAVE_SYS_PRCTL_H
|
|
#ifdef HAVE_SYS_PRCTL_H
|
|
#include <sys/prctl.h>
|
|
#endif
|
|
|
|
/* configure script should allow user to override ltdl choice, but this will do for now... */
|
|
#undef USE_LTDL
|
|
#undef HAVE_LTDL_H
|
|
#ifdef HAVE_LTDL_H
|
|
#define USE_LTDL
|
|
#endif
|
|
|
|
#ifdef USE_LTDL
|
|
#include <ltdl.h>
|
|
#else
|
|
#undef HAVE_DLFCN_H
|
|
#ifdef HAVE_DLFCN_H
|
|
#include <dlfcn.h>
|
|
#endif
|
|
#endif
|
|
|
|
|
|
/* moved to end to prevent AIX compiler warnings */
|
|
#ifndef RTLD_GLOBAL
|
|
#define RTLD_GLOBAL 0
|
|
#endif
|
|
|
|
#ifndef RTLD_NOW
|
|
#define RTLD_NOW 0
|
|
#endif
|
|
|
|
|
|
/***** MARO DEFINITIONS *****/
|
|
|
|
/* this needs to come after all system include files, so we don't accidentally attempt to redefine it */
|
|
#ifndef WEXITSTATUS
|
|
# define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8)
|
|
#endif
|
|
#ifndef WIFEXITED
|
|
# define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
|
|
#endif
|
|
|
|
|
|
#endif
|