blob: 31b36a44b408fab07535f4649674b24af07b5f80 [file] [log] [blame]
/* config.h: a general config file */
/* don't change these values! */
#define SNMPV1 0xAAAA /* readable by anyone */
#define SNMPV2ANY 0xA000 /* V2 Any type (includes NoAuth) */
#define SNMPV2AUTH 0x8000 /* V2 Authenticated requests only */
/* default list of mibs to load */
#define DEFAULT_MIBS "IP-MIB:IF-MIB:TCP-MIB:UDP-MIB:SNMPv2-MIB:RFC1213-MIB"
/* default location to look for mibs to load using the above tokens
and/or those in the MIBS envrionment variable*/
#undef DEFAULT_MIBDIRS
/* default mib files to load, specified by path. */
#undef DEFAULT_MIBFILES
@TOP@
/* define the system type include file here */
#define SYSTEM_INCLUDE_FILE "s/generic.h"
/* define the machine (cpu) type include file here */
#define MACHINE_INCLUDE_FILE "m/generic.h"
/* SNMPLIBDIR contains important files */
#undef SNMPLIBPATH
#undef SNMPSHAREPATH
/* LOGFILE: If defined it closes stdout/err/in and opens this in out/err's
place. (stdin is closed so that sh scripts won't wait for it) */
#undef LOGFILE
/* configuration files. I rdist the first one and leave machine
specific stuff in the second one */
/* default system contact */
#undef SYS_CONTACT
/* system location */
#undef SYS_LOC
/* Use libwrap to handle allow/deny hosts? */
#undef USE_LIBWRAP
/* location of UNIX kernel */
#define KERNEL_LOC "/vmunix"
/* location of mount table list */
#define ETC_MNTTAB "/etc/mnttab"
/* location of swap device (ok if not found) */
#undef DMEM_LOC
/* Command to generate ps output, the final column must be the process
name withOUT arguments */
#define PSCMD "/bin/ps"
/* Where is the uname command */
#define UNAMEPROG "/bin/uname"
/* debugging stuff */
#define DODEBUG 0
/* If you don't have root access don't exit upon kmem errors */
#undef NO_ROOT_ACCESS
/* Define if statfs takes 2 args and the second argument has
type struct fs_data. [Ultrix] */
#undef STAT_STATFS_FS_DATA
@BOTTOM@
/* define if sys/cdefs.h doesn't define the __P() macro */
#undef SYS_CDEFS_DEFINES___P
/* define rtentry to ortentry on SYSV machines (alphas) */
#define RTENTRY rtentry;
/* Use BSD 4.4 routing table entries? */
#undef RTENTRY_4_4
/* rtentry structure tests */
#undef RTENTRY_RT_NEXT
#undef STRUCT_RTENTRY_HAS_RT_DST
#undef STRUCT_RTENTRY_HAS_RT_UNIT
#undef STRUCT_RTENTRY_HAS_RT_USE
#undef STRUCT_RTENTRY_HAS_RT_REFCNT
#undef STRUCT_RTENTRY_HAS_RT_HASH
/* ifnet structure tests */
#undef STRUCT_IFNET_HAS_IF_BAUDRATE
#undef STRUCT_IFNET_HAS_IF_SPEED
#undef STRUCT_IFNET_HAS_IF_TYPE
#undef STRUCT_IFNET_HAS_IF_IMCASTS
#undef STRUCT_IFNET_HAS_IF_IQDROPS
#undef STRUCT_IFNET_HAS_IF_LASTCHANGE_TV_SEC
#undef STRUCT_IFNET_HAS_IF_NOPROTO
#undef STRUCT_IFNET_HAS_IF_OMCASTS
#undef STRUCT_IFNET_HAS_IF_XNAME
#undef STRUCT_IFNET_HAS_IF_OBYTES
#undef STRUCT_IFNET_HAS_IF_IBYTES
#undef STRUCT_IFNET_HAS_IF_ADDRLIST
/* tcpstat.tcps_rcvmemdrop */
#undef STRUCT_TCPSTAT_HAS_TCPS_RCVMEMDROP
/* udpstat.udps_discard */
#undef STRUCT_UDPSTAT_HAS_UDPS_DISCARD
/* arphd.at_next */
#undef STRUCT_ARPHD_HAS_AT_NEXT
/* ifaddr.ifa_next */
#undef STRUCT_IFADDR_HAS_IFA_NEXT
/* ifnet.if_mtu */
#undef STRUCT_IFNET_HAS_IF_MTU
/* swdevt.sw_nblksenabled */
#undef STRUCT_SWDEVT_HAS_SW_NBLKSENABLED
/* nlist.n_value */
#undef STRUCT_NLIST_HAS_N_VALUE
/* vfsstat.f_frsize */
#undef STRUCT_STATVFS_HAS_F_FRSIZE
/* ifnet needs to have _KERNEL defined */
#undef IFNET_NEEDS_KERNEL
/* sysctl works to get boottime, etc... */
#undef CAN_USE_SYSCTL
/* type check for in_addr_t */
#undef in_addr_t
/* define if SIOCGIFADDR exists in sys/ioctl.h */
#undef SYS_IOCTL_H_HAS_SIOCGIFADDR
/* mib pointer to the top of the extensible tree. This has been
assigned to UCDavis by the iana group. Optionally, point this to the
location in the tree your company/organization has been allocated. */
/* location of the extensible mib tree */
#define EXTENSIBLEMIB 1,3,6,1,4,1,2021
/* location of the extensible mib tree */
#define EXTENSIBLEDOTMIB 1.3.6.1.4.1.2021
/* count the above numbers */
#define EXTENSIBLENUM 7
/* Mib-2 tree Info */
/* These are the system information variables. */
#define VERS_DESC "unknown" /* overridden at run time */
#define SYS_NAME "unknown" /* overridden at run time */
/* comment out the second define to turn off functionality for any of
these: (See README for details) */
/* proc PROCESSNAME [MAX] [MIN] */
#define PROCMIBNUM 2
/* exec/shell NAME COMMAND */
#define SHELLMIBNUM 8
/* swap MIN */
#define MEMMIBNUM 4
/* disk DISK MINSIZE */
#define DISKMIBNUM 9
/* load 1 5 15 */
#define LOADAVEMIBNUM 10
/* which version are you using? This mibloc will tell you */
#define VERSIONMIBNUM 100
/* Reports errors the agent runs into */
/* (typically its "can't fork, no mem" problems) */
#define ERRORMIBNUM 101
/* The sub id of EXENSIBLEMIB returned to queries of
.iso.org.dod.internet.mgmt.mib-2.system.sysObjectID.0 */
#define AGENTID 250
/* This ID is returned after the AGENTID above. IE, the resulting
value returned by a query to sysObjectID is
EXTENSIBLEMIB.AGENTID.???, where ??? is defined below by OSTYPE */
#define HPUX9ID 1
#define SUNOS4ID 2
#define SOLARISID 3
#define OSFID 4
#define ULTRIXID 5
#define HPUX10ID 6
#define NETBSD1ID 7
#define FREEBSDID 8
#define IRIXID 9
#define LINUXID 10
#define BSDIID 11
#define OPENBSDID 12
#define UNKNOWNID 255
#ifdef hpux9
#define OSTYPE HPUX9ID
#endif
#ifdef hpux10
#define OSTYPE HPUX10ID
#endif
#ifdef sunos4
#define OSTYPE SUNOS4ID
#endif
#ifdef solaris2
#define OSTYPE SOLARISID
#endif
#if defined(osf3) || defined(osf4)
#define OSTYPE OSFID
#endif
#ifdef ultrix4
#define OSTYPE ULTRIXID
#endif
#ifdef netbsd1
#define OSTYPE NETBSD1ID
#endif
#if defined(freebsd2) || defined(freebsd3)
#define OSTYPE FREEBSDID
#endif
#if defined(irix6) || defined(irix5)
#define OSTYPE IRIXID
#endif
#ifdef linux
#define OSTYPE LINUXID
#endif
#if defined(bsdi2) || defined(bsdi3)
#define OSTYPE BSDIID
#endif
#ifdef openbsd2
#define OSTYPE OPENBSDID
#endif
/* unknown */
#ifndef OSTYPE
#define OSTYPE UNKNOWNID
#endif
/* how long to wait (seconds) for error querys before reseting the error trap.*/
#define ERRORTIMELENGTH 600
/* Exec command to fix PROC problems */
/* %s will be replaced by the process name in error */
#define PROCFIXCMD "/usr/local/bin/perl /local/scripts/fixproc %s"
/* Exec command to fix EXEC problems */
/* %s will be replaced by the exec/script name in error */
#define EXECFIXCMD "/usr/local/bin/perl /local/scripts/fixproc %s"
/* Should exec output Cashing be used (speeds up things greatly), and
if so, After how many seconds should the cache re-newed? Note:
Don't define CASHETIME to disable cashing completely */
#define EXCACHETIME 30
#define CACHEFILE "/tmp/.snmp-exec-cache"
#define MAXCACHESIZE (200*80) /* roughly 200 lines max */
#define MAXDISKS 50 /* can't scan more than this number */
/* misc defaults */
/* default of 100 meg minimum if the minimum size is not specified in
the config file */
#define DEFDISKMINIMUMSPACE 100000
#define DEFMAXLOADAVE 12.0 /* default maximum load average before error */
#define MAXREADCOUNT 20 /* max times to loop reading output from
execs. Because of sleep(1)s, this will also
be time to wait (in seconds) for exec to finish */
#define SNMPBLOCK 1 /* Set to 1 if you want snmpgets to block and never
timeout. Original CMU code had this
hardcoded into the code as = 1 */
#define RESTARTSLEEP 5 /* How long to wait after a snmpset to
EXTENSIBLEMIB.VERSIONMIBNUM.VERRESTARTAGENT
before restarting the agent. This is
necessary to finish the snmpset reply
before restarting. */
/* Number of community strings to store */
#define NUM_COMMUNITIES 5
/* #define EXIT_ON_BAD_KLREAD */
/* define to exit the agent on a bad kernel read */
#define LASTFIELD -1 /* internal define */
/* debugging macros */
#ifndef HAVE_STRCHR
#ifdef HAVE_INDEX
# define strchr index
# define strrchr rindex
#endif
#endif
#ifndef HAVE_INDEX
#ifdef HAVE_STRCHR
# define index strchr
# define rindex strrchr
#endif
#endif
#ifndef HAVE_MEMCPY
#ifdef HAVE_BCOPY
# define memcpy(d, s, n) bcopy ((s), (d), (n))
# define memmove(d, s, n) bcopy ((s), (d), (n))
# define memcmp bcmp
#endif
#endif
#ifndef HAVE_MEMMOVE
#ifdef HAVE_MEMCPY
# define memmove memcpy
#endif
#endif
#ifndef HAVE_BCOPY
#ifdef HAVE_MEMCPY
# define bcopy(s, d, n) memcpy ((d), (s), (n))
# define bzero(p,n) memset((p),(0),(n))
# define bcmp memcmp
#endif
#endif
/* define random functions */
#ifndef HAVE_RANDOM
#ifdef HAVE_LRAND48
#define random lrand48
#define srandom(s) srand48(s)
#else
#ifdef HAVE_RAND
#define random rand
#define srandom(s) srand(s)
#endif
#endif
#endif
/* define signal if DNE */
#ifndef HAVE_SIGNAL
#ifdef HAVE_SIGSET
#define signal(a,b) sigset(a,b)
#endif
#endif
/* Watch out for compilers that don't handle void properly. */
#undef void
#if defined(HAVE_NLIST) && defined(STRUCT_NLIST_HAS_N_VALUE) && !defined(DONT_USE_NLIST)
#define CAN_USE_NLIST
#endif
/* Not-to-be-compiled macros for use by configure only */
#define config_require(x)
#define config_arch_require(x,y)
#define config_load_mib(x,y,z)
#define config_parse_dot_conf(x,y,z)
#define config_add_mib(x)
#include <mib_module_config.h>
#ifndef SYS_CDEFS_DEFINES___P
#ifndef __P
#ifdef __STDC__
#define __P(params) params
#else
#define __P(params) ()
#endif /* __STDC__ */
#endif /* __P */
#else /* SYS_CDEFS_DEFINES___P */
#ifndef __P
#ifdef HAVE_SYS_CDEFS_H
#include <sys/cdefs.h>
#endif /* HAVE_SYS_CDEFS_H */
#endif /* __P */
#endif /* SYS_CDEFS_DEFINES___P */
#ifdef WIN32
#define ENV_SEPARATOR ";"
#define ENV_SEPARATOR_CHAR ';'
#else
#define ENV_SEPARATOR ":"
#define ENV_SEPARATOR_CHAR ':'
#define _CRTIMP
#endif
#include SYSTEM_INCLUDE_FILE
#include MACHINE_INCLUDE_FILE