00001 /*_############################################################################ 00002 _## 00003 _## config_snmp_pp.h 00004 _## 00005 _## SNMP++v3.2.15 00006 _## ----------------------------------------------- 00007 _## Copyright (c) 2001-2004 Jochen Katz, Frank Fock 00008 _## 00009 _## This software is based on SNMP++2.6 from Hewlett Packard: 00010 _## 00011 _## Copyright (c) 1996 00012 _## Hewlett-Packard Company 00013 _## 00014 _## ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. 00015 _## Permission to use, copy, modify, distribute and/or sell this software 00016 _## and/or its documentation is hereby granted without fee. User agrees 00017 _## to display the above copyright notice and this license notice in all 00018 _## copies of the software and any documentation of the software. User 00019 _## agrees to assume all liability for the use of the software; 00020 _## Hewlett-Packard and Jochen Katz make no representations about the 00021 _## suitability of this software for any purpose. It is provided 00022 _## "AS-IS" without warranty of any kind, either express or implied. User 00023 _## hereby grants a royalty-free license to any and all derivatives based 00024 _## upon this software code base. 00025 _## 00026 _## Stuttgart, Germany, Tue Jan 4 21:42:42 CET 2005 00027 _## 00028 _##########################################################################*/ 00029 00030 // $Id: config_snmp_pp.h,v 1.15 2005/01/04 20:36:30 fock Exp $ 00031 00032 #ifndef _CONFIG_SNMP_PP_H_ 00033 #define _CONFIG_SNMP_PP_H_ 00034 00035 #define SNMP_PP_VERSION_STRING "3.2.15" 00036 #define SNMP_PP_VERSION 3 00037 #define SNMP_PP_RELEASE 2 00038 #define SNMP_PP_PATCHLEVEL 15 00039 00040 //! This is the amount of variable bindings, a snmp++ Pdu object can contain. 00041 #define PDU_MAX_VBS 50 00042 00043 //! The maximum size of a message that can be sent or received. 00044 #define MAX_SNMP_PACKET 4096 00045 00046 #ifndef DLLOPT 00047 #if defined (WIN32) && defined (SNMP_PP_DLL) 00048 #ifdef SNMP_PP_EXPORTS 00049 #define DLLOPT __declspec(dllexport) 00050 #else 00051 #define DLLOPT __declspec(dllimport) 00052 #endif 00053 #else 00054 #define DLLOPT 00055 #endif 00056 #endif 00057 00058 // define SNMP_PP_IPv6 if you want to use IPv6 00059 #ifndef WIN32 00060 #define SNMP_PP_IPv6 00061 #endif 00062 00063 // define SNMP_PP_NAMESPACE to enclose all library names in Snmp_pp namespace 00064 // #define SNMP_PP_NAMESPACE 00065 00066 // define _NO_SNMPv3 here or in the Makefile if you do not want to use SNMPv3 00067 // (default is to use SNMPv3) 00068 // #define _NO_SNMPv3 00069 00070 // If you have not disabled SNMPv3, snmp++ will use libdes 00071 // (separate package) as default. 00072 // define _USE_LIBTOMCRYPT if you want to use libtomcrypt instead 00073 // Note that _USE_OPENSSL will override libtomcrypt for SHA1, MD5, DES and AES. 00074 // #define _USE_LIBTOMCRYPT 00075 00076 // If you define _USE_OPENSSL, snmp++ will use OpenSSL for SHA1, 00077 // MD5, DES and AES. 00078 // #define _USE_OPENSSL 00079 00080 // If you do not use SNMP++ for commercial purposes or if you 00081 // have licensed IDEA (read README.v3) you may define the following 00082 // to enable IDEA support. 00083 // #define _USE_IDEA 00084 00085 // define _NO_THREADS here or in the Makefile if you do not want thread support 00086 // (default is to include thread support) 00087 // #define _NO_THREADS 00088 00089 // define _IPX_ADDRESS and/or _MAC_ADDRESS if you want to use the 00090 // classess IpxAddress/IpxSockAddress and/or MacAddress 00091 #define _IPX_ADDRESS 00092 #define _MAC_ADDRESS 00093 00094 // define _USER_DEFINED_EVENTS or _USER_DEFINED_TMEOUTS 00095 // if you want to use user defined events/timeouts 00096 #define _USER_DEFINED_EVENTS 00097 #define _USER_DEFINED_TMEOUTS 00098 00099 // define this if you want to send out broadcasts 00100 #define SNMP_BROADCAST 00101 00102 00103 // Some older(?) compilers need a special declaration of 00104 // template classes 00105 // #define _OLD_TEMPLATE_COLLECTION 00106 00107 // We have inet_aton() function if not compiling with VC++ or Borland C++ 00108 #ifndef _MSC_VER 00109 #ifndef __BCPLUSPLUS__ 00110 #define HAVE_INET_ATON 00111 #endif 00112 #endif 00113 00114 // If IPv6 is enabled assume that inet_pton() is available 00115 // If IPv6 and gcc then assume gethostbyname2() is available 00116 #ifdef SNMP_PP_IPv6 00117 #define HAVE_INET_PTON 00118 #ifdef __GNUC__ 00119 #define HAVE_GETHOSTBYNAME2 00120 #endif 00121 #endif 00122 00123 // can we use the reentrant version of these functions or 00124 // are the standard functions thread safe 00125 #ifdef __GNUC__ 00126 #define HAVE_GETHOSTBYNAME_R 00127 #define HAVE_LOCALTIME_R 00128 #define HAVE_GETHOSTBYADDR_R 00129 #elif __DECCXX 00130 #define HAVE_REENTRANT_GETHOSTBYNAME 00131 #define HAVE_LOCALTIME_R 00132 #define HAVE_REENTRANT_GETHOSTBYADDR 00133 #elif __sun 00134 #define HAVE_GETHOSTBYNAME_R 00135 #define HAVE_LOCALTIME_R 00136 #define HAVE_GETHOSTBYADDR_R 00137 #elif __HP_aCC 00138 #define HAVE_REENTRANT_GETHOSTBYNAME 00139 #define HAVE_LOCALTIME_R 00140 #define HAVE_REENTRANT_GETHOSTBYADDR 00141 #elif _MSC_VER 00142 #define HAVE_REENTRANT_GETHOSTBYNAME 00143 #define HAVE_REENTRANT_LOCALTIME 00144 #define HAVE_REENTRANT_GETHOSTBYADDR 00145 #elif _AIX 00146 #define HAVE_REENTRANT_GETHOSTBYNAME 00147 #define HAVE_LOCALTIME_R 00148 #define HAVE_REENTRANT_GETHOSTBYADDR 00149 #endif 00150 00151 /////////////////////////////////////////////////////////////////////// 00152 // Changes below this line should not be necessary 00153 /////////////////////////////////////////////////////////////////////// 00154 00155 #ifndef _NO_THREADS 00156 00157 #ifndef HAVE_REENTRANT_LOCALTIME 00158 #ifndef HAVE_LOCALTIME_R 00159 // If you see this warning, and your system has a reentrant localtime 00160 // or localtime_r function report your compiler, OS,... to the authors 00161 // of this library, so that these settings can be changed 00162 #warning Threads_defined_but_no_reentrant_LOCALTIME_function 00163 #endif 00164 #endif 00165 00166 #ifndef HAVE_GETHOSTBYADDR_R 00167 #ifndef HAVE_REENTRANT_GETHOSTBYADDR 00168 // If you see this warning, and your system has a reentrant localtime 00169 // or localtime_r function report your compiler, OS,... to the authors 00170 // of this library, so that these settings can be changed 00171 #warning Threads_defined_but_no_reentrant_GETHOSTBYADDR_function 00172 #endif 00173 #endif 00174 00175 #ifndef HAVE_GETHOSTBYNAME_R 00176 #ifndef HAVE_REENTRANT_GETHOSTBYNAME 00177 // If you see this warning, and your system has a reentrant localtime 00178 // or localtime_r function report your compiler, OS,... to the authors 00179 // of this library, so that these settings can be changed 00180 #warning Threads_defined_but_no_reentrant_GETHOSTBYNAME_function 00181 #endif 00182 #endif 00183 00184 #endif // _NO_THREADS 00185 00186 00187 #ifndef _NO_SNMPv3 00188 #ifndef _SNMPv3 00189 #define _SNMPv3 00190 #endif 00191 #endif 00192 00193 #ifndef _NO_THREADS 00194 #ifdef WIN32 00195 00196 #ifndef _THREADS 00197 #define _WIN32THREADS 00198 #define VC_EXTRALEAN 00199 #define _THREADS 00200 #endif 00201 00202 #else // !WIN32 00203 00204 #ifndef _THREADS 00205 #define _THREADS 00206 #endif 00207 00208 #ifndef POSIX_THREADS 00209 #ifdef __unix 00210 #define POSIX_THREADS 00211 #endif 00212 #endif 00213 00214 #endif // WIN32 00215 #endif // !_NO_THREADS 00216 00217 #endif // _CONFIG_SNMP_PP_H_
1.3.2