blob: cfd0786e1d8361943992784eeb6aa600d3ff49c3 [file] [log] [blame]
/* config.h: a general config file */
/* Define IN_UCD_SNMP_SOURCE if compiling inside the ucd-snmp source tree */
#define IN_UCD_SNMP_SOURCE 1
/* 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
/* should we compile to use special opaque types: float, double,
counter64, i64, ui64, union? */
#undef OPAQUE_SPECIAL_TYPES
/* comment the next line if you are compiling with libsnmp.h
and are not using the UC-Davis SNMP library. */
#define UCD_SNMP_LIBRARY 1
/* define if you want to compile support for both authentication and
privacy support. */
#undef SCAPI_AUTHPRIV
/* define if you are using the MD5 code ...*/
#undef USE_INTERNAL_MD5
/* ... or define this if you're using openssl support */
#undef USE_OPENSSL
/* add in recent CMU library extensions (not complete) */
#undef CMU_COMPATIBLE
/* add in recent resource lock functions (not complete) */
#undef _REENTRANT
/* debugging stuff */
#undef SNMP_NO_DEBUGGING /* if defined, we optimize the code
to exclude all debugging calls. */
#define SNMP_ALWAYS_DEBUG 0 /* Always print debugging information and
ignore the -D flag passed to the cmds */
/* reverse encoding BER packets is both faster and more efficient in space. */
#define USE_REVERSE_ASNENCODING 1
#define DEFAULT_ASNENCODING_DIRECTION 1 /* 1 = reverse, 0 = forwards */
/* PERSISTENT_DIRECTORY: If defined, the library is capabile of saving
persisant information to this directory in the form of configuration
lines: PERSISTENT_DIRECTORY/NAME.persistent.conf */
#define PERSISTENT_DIRECTORY "/var/snmp"
/* PERSISTENT_MASK: the umask permissions to set up the persistent files with */
#define PERSISTENT_MASK 077
/* AGENT_DIRECTORY_MODE: the mode the agents should use to create
directories with. Since the data stored here is probably sensitive, it
probably should be read-only by root/administrator. */
#define AGENT_DIRECTORY_MODE 0700
/* MAX_PERSISTENT_BACKUPS:
* The maximum number of persistent backups the library will try to
* read from the persistent cache directory. If an application fails to
* close down successfully more than this number of times, data will be lost.
*/
#define MAX_PERSISTENT_BACKUPS 10
@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
#undef SNMPCONFPATH
#undef SNMPDLMODPATH
/* 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
/* default system contact */
#undef SYS_CONTACT
/* system location */
#undef SYS_LOC
/* Use libwrap to handle allow/deny hosts? */
#undef USE_LIBWRAP
/* Use dmalloc to do malloc debugging? */
#undef HAVE_DMALLOC_H
/* 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"
/* testing code sections. */
#undef SNMP_TESTING_CODE
/* If you don't have root access don't exit upon kmem errors */
#undef NO_ROOT_ACCESS
/* If you don't want the agent to report on variables it doesn't have data for */
#undef NO_DUMMY_VALUES
/* Define if statfs takes 2 args and the second argument has
type struct fs_data. [Ultrix] */
#undef STAT_STATFS_FS_DATA
/* Define if the TCP timer constants in <netinet/tcp_timer.h>
depend on the integer variable `hz'. [FreeBSD 4.x] */
#undef TCPTV_NEEDS_HZ
@BOTTOM@
/* define if you have <netinet/in_pcb.h> */
#undef HAVE_NETINET_IN_PCB_H
/* define if you are using linux and /proc/net/dev has the compressed
field, which exists in linux kernels 2.2 and greater. */
#undef PROC_NET_DEV_HAS_COMPRESSED
/* define rtentry to ortentry on SYSV machines (alphas) */
#undef RTENTRY
/* Use BSD 4.4 routing table entries? */
#undef RTENTRY_4_4
/* Does struct sigaction have a sa_sigaction field? */
#undef STRUCT_SIGACTION_HAS_SA_SIGACTION
/* Does struct sockaddr have a sa_len field? */
#undef STRUCT_SOCKADDR_HAS_SA_LEN
/* Does struct sockaddr have a sa_family2 field? */
#undef STRUCT_SOCKADDR_HAS_SA_UNION_SA_GENERIC_SA_FAMILY2
/* 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_BAUDRATE_IFS_VALUE
#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
/* udpstat.udps_discard */
#undef STRUCT_UDPSTAT_HAS_UDPS_NOPORT
/* udpstat.udps_discard */
#undef STRUCT_UDPSTAT_HAS_UDPS_NOPORTBCAST
/* udpstat.udps_discard */
#undef STRUCT_UDPSTAT_HAS_UDPS_FULLSOCK
/* 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
/* ipstat structure tests */
#undef STRUCT_IPSTAT_HAS_IPS_CANTFORWARD
#undef STRUCT_IPSTAT_HAS_IPS_CANTFRAG
#undef STRUCT_IPSTAT_HAS_IPS_DELIVERED
#undef STRUCT_IPSTAT_HAS_IPS_FRAGDROPPED
#undef STRUCT_IPSTAT_HAS_IPS_FRAGTIMEOUT
#undef STRUCT_IPSTAT_HAS_IPS_LOCALOUT
#undef STRUCT_IPSTAT_HAS_IPS_NOPROTO
#undef STRUCT_IPSTAT_HAS_IPS_NOROUTE
#undef STRUCT_IPSTAT_HAS_IPS_ODROPPED
#undef STRUCT_IPSTAT_HAS_IPS_OFRAGMENTS
#undef STRUCT_IPSTAT_HAS_IPS_REASSEMBLED
/* vfsstat.f_frsize */
#undef STRUCT_STATVFS_HAS_F_FRSIZE
/* vfsstat.f_files */
#undef STRUCT_STATVFS_HAS_F_FILES
/* 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
/* define if your compiler (processor) defines __FUNCTION__ for you */
#undef HAVE_CPP_UNDERBAR_FUNCTION_DEFINED
/* 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
#ifdef freebsd2
#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
/* The enterprise number has been assigned by the IANA group. */
/* Optionally, this may point to the location in the tree your */
/* company/organization has been allocated. */
/* The assigned enterprise number for the NET_SNMP MIB modules. */
#define ENTERPRISE_OID 8072
#define ENTERPRISE_MIB 1,3,6,1,4,1,8072
#define ENTERPRISE_DOT_MIB 1.3.6.1.4.1.8072
#define ENTERPRISE_DOT_MIB_LENGTH 7
/* The assigned enterprise number for sysObjectID. */
#define SYSTEM_MIB 1,3,6,1,4,1,2021,AGENTID,OSTYPE
#define SYSTEM_DOT_MIB 1.3.6.1.4.1.2021.AGENTID.OSTYPE
#define SYSTEM_DOT_MIB_LENGTH 9
/* The assigned enterprise number for notifications. */
#define NOTIFICATION_MIB 1,3,6,1,4,1,2021,251
#define NOTIFICATION_DOT_MIB 1.3.6.1.4.1.2021.251
#define NOTIFICATION_DOT_MIB_LENGTH 8
/* this is the location of the ucdavis mib tree. It shouldn't be
changed, as the places it is used are expected to be constant
values or are directly tied to the UCD-SNMP-MIB. */
#define UCDAVIS_OID 2021
#define UCDAVIS_MIB 1,3,6,1,4,1,2021
#define UCDAVIS_DOT_MIB 1.3.6.1.4.1.2021
#define UCDAVIS_DOT_MIB_LENGTH 7
/* 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/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/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 ".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 100 /* 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
/* UNdefine to allow specifying zero-length community string */
/* #define NO_ZEROLENGTH_COMMUNITY 1 */
/* #define EXIT_ON_BAD_KLREAD */
/* define to exit the agent on a bad kernel read */
#define LASTFIELD -1 /* internal define */
/* configure options specified */
#define CONFIGURE_OPTIONS ""
#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
/* define if you have librpm and libdb */
#undef HAVE_LIBDB
#undef HAVE_LIBRPM
/* define if you have pkginfo */
#undef HAVE_PKGINFO
/* define if you have gethostbyname */
#undef HAVE_GETHOSTBYNAME
/* define if you have getservbyname */
#undef HAVE_GETSERVBYNAME
/* printing system */
#undef HAVE_LPSTAT
#undef LPSTAT_PATH
#undef HAVE_PRINTCAP
/* Pluggable transports. */
/* This is defined if support for the UDP/IP transport domain is
available. */
#undef SNMP_TRANSPORT_UDP_DOMAIN
/* This is defined if support for the TCP/IP transport domain is
available. */
#undef SNMP_TRANSPORT_TCP_DOMAIN
/* This is defined if support for the Unix transport domain
(a.k.a. "local IPC") is available. */
#undef SNMP_TRANSPORT_UNIX_DOMAIN
/* This is defined if support for the AAL5 PVC transport domain is
available. */
#undef SNMP_TRANSPORT_AAL5PVC_DOMAIN
/* This is defined if support for the IPX transport domain is
available. */
#undef SNMP_TRANSPORT_IPX_DOMAIN
/* This is defined if support for the UDP/IPv6 transport domain is
available. */
#undef SNMP_TRANSPORT_UDPIPV6_DOMAIN
/* This is defined if support for the TCP/IPv6 transport domain is
available. */
#undef SNMP_TRANSPORT_TCPIPV6_DOMAIN
/* define this if the USM security module is available */
#undef SNMP_SECMOD_USM
/* define this if the KSM (kerberos based snmp) security module is available */
#undef SNMP_SECMOD_KSM
/* define this if we're using the new MIT crypto API */
#undef MIT_NEW_CRYPTO
/* define if you want to build with reentrant/threaded code */
#undef NS_REENTRANT
/* Not-to-be-compiled macros for use by configure only */
#define config_require(x)
#define config_arch_require(x,y)
#define config_parse_dot_conf(w,x,y,z)
#define config_add_mib(x)
#ifdef WIN32
#define ENV_SEPARATOR ";"
#define ENV_SEPARATOR_CHAR ';'
#else
#define ENV_SEPARATOR ":"
#define ENV_SEPARATOR_CHAR ':'
#endif
#include SYSTEM_INCLUDE_FILE
#include MACHINE_INCLUDE_FILE
#if defined(HAVE_NLIST) && defined(STRUCT_NLIST_HAS_N_VALUE) && !defined(DONT_USE_NLIST)
#define CAN_USE_NLIST
#endif
#if HAVE_DMALLOC_H
#define DMALLOC_FUNC_CHECK
#endif
#undef INET6