blob: ead3bf2b900c64aca8cc11ed2b7a1b4585493a16 [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 */
@TOP@
/* SNMPLIBDIR contains important files */
#undef SNMPLIBPATH
/* SNMPPATH contains (more) important files */
#undef SNMPPATH
/* 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
/* to hack in forced V2 security, I had to reserve the left byte of
the ACL Mib word for V2. Do NOT define more than 5 V1 communities
else they will roll into these definitions (see snmp_vars.c:340)
If GLOBALSECURITY is defined, it sets the default SNMP access type
for the extensible mibs to the setting type described. */
#define GLOBALSECURITY SNMPV2AUTH /* only authenticated snmpv2 requests
permited */
/* 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
/* 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
/* define rtentry to ortentry on SYSV machines (alphas) */
#define RTENTRY rtentry;
/* Use BSD 4.4 routing table entries? */
#undef RTENTRY_4_4
/* Does the rtentry structure have a rt_next node */
#undef RTENTRY_RT_NEXT
/* 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 */
#undef DODEBUG
/* If you don't have root access don't exit upon kmem errors */
#undef NO_ROOT_ACCESS
/* ifnet structure tests */
#undef STRUCT_IFNET_HAS_IF_BAUDRATE
#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
/* 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
@BOTTOM@
/* 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
/* the ErrorFlag is V1 accessable because HP Openview does not support
V2. You can make this list of pairs as long as you want, just make
sure to end it in -1.*/
#define SECURITYEXCEPTIONS {100,SNMPV1,-1} /* the ErrorFlag is V1 */
/* 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 1
#define USEPROCMIB
/* exec/shell NAME COMMAND */
#define SHELLMIBNUM 3
#define USESHELLMIB
/* swap MIN */
#define MEMMIBNUM 4
#if defined(hpux9) || defined(bsdi2)
#define USEMEMMIB
#endif
/* disk DISK MINSIZE */
#define DISKMIBNUM 6
#if (HAVE_FSTAB_H || HAVE_SYS_STATVFS_H)
#define USEDISKMIB
#endif
/* load 1 5 15 */
#define LOADAVEMIBNUM 7
#define USELOADAVEMIB
/* pass MIBOID command */
#define USEPASSMIB
/* which version are you using? This mibloc will tell you */
#define VERSIONMIBNUM 100
#define USEVERSIONMIB
/* Reports errors the agent runs into */
/* (typically its "can't fork, no mem" problems) */
#define ERRORMIBNUM 101
#define USEERRORMIB
/* 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 OSF3ID 4
#define ULTRIXID 5
#define HPUX10ID 6
#define NETBSD1ID 7
#define FREEBSD2ID 8
#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
#ifdef osf3
#define OSTYPE OSF3ID
#endif
#ifdef ultrix4
#define OSTYPE ULTRIXID
#endif
#ifdef netbsd1
#define OSTYPE NETBSD1ID
#endif
#ifdef freebsd2
#define OSTYPE FREEBSD2ID
#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 10 /* 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 0 /* 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 */
#ifdef DODEBUG
#define DEBUGP(x) fprintf(stderr,x);
#define DEBUGP1(x,y) fprintf(stderr,x,y);
#else
#define DEBUGP(x)
#define DEBUGP1(x,y)
#endif
#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
#ifndef DONT_INC_STRUCTS
#include "agent/extensible/struct.h"
#endif
#ifndef linux
#ifndef solaris2
#define bsdlike
#endif
#endif