Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members

config_snmp_pp.h

Go to the documentation of this file.
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_

Generated on Tue Jan 4 22:42:13 2005 for SNMP++ by doxygen 1.3.2