📄 config_snmp_pp.h
字号:
/*_############################################################################ _## _## config_snmp_pp.h _## _## SNMP++v3.2.21a _## ----------------------------------------------- _## Copyright (c) 2001-2006 Jochen Katz, Frank Fock _## _## This software is based on SNMP++2.6 from Hewlett Packard: _## _## Copyright (c) 1996 _## Hewlett-Packard Company _## _## ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. _## Permission to use, copy, modify, distribute and/or sell this software _## and/or its documentation is hereby granted without fee. User agrees _## to display the above copyright notice and this license notice in all _## copies of the software and any documentation of the software. User _## agrees to assume all liability for the use of the software; _## Hewlett-Packard and Jochen Katz make no representations about the _## suitability of this software for any purpose. It is provided _## "AS-IS" without warranty of any kind, either express or implied. User _## hereby grants a royalty-free license to any and all derivatives based _## upon this software code base. _## _## Stuttgart, Germany, Tue Nov 21 22:12:16 CET 2006 _## _##########################################################################*/// $Id: config_snmp_pp.h,v 1.34 2006/09/07 19:52:25 katz Exp $#ifndef _CONFIG_SNMP_PP_H_#define _CONFIG_SNMP_PP_H_#define SNMP_PP_VERSION_STRING "3.2.21"#define SNMP_PP_VERSION 3#define SNMP_PP_RELEASE 2#define SNMP_PP_PATCHLEVEL 21//! The maximum size of a message that can be sent or received.#define MAX_SNMP_PACKET 4096#ifndef DLLOPT#if defined (WIN32) && defined (SNMP_PP_DLL)#ifdef SNMP_PP_EXPORTS#define DLLOPT __declspec(dllexport)#define DLLOPT_TEMPL#else#define DLLOPT __declspec(dllimport) #define DLLOPT_TEMPL extern#endif#else#define DLLOPT#define DLLOPT_TEMPL#endif#endif// define SNMP_PP_IPv6 if you want to use IPv6#if !defined WIN32 && !(defined (CPU) && CPU == PPC603)#define SNMP_PP_IPv6#endif// define SNMP_PP_NAMESPACE to enclose all library names in Snmp_pp namespace// #define SNMP_PP_NAMESPACE// define _NO_SNMPv3 here or in the Makefile if you do not want to use SNMPv3// (default is to use SNMPv3)// #define _NO_SNMPv3// If you have not disabled SNMPv3, snmp++ will use libdes// (separate package) as default.// define _USE_LIBTOMCRYPT if you want to use libtomcrypt instead// Note that _USE_OPENSSL will override libtomcrypt for SHA1, MD5, DES and AES.// #define _USE_LIBTOMCRYPT// If you define _USE_OPENSSL, snmp++ will use OpenSSL for SHA1,// MD5, DES and AES. Please note that you will have to change the Makefiles// of the examples: Add -lssl to the link command// #define _USE_OPENSSL// If you do not use SNMP++ for commercial purposes or if you// have licensed IDEA (read README.v3) you may define the following// to enable IDEA support.// #define _USE_IDEA// define _NO_THREADS here or in the Makefile if you do not want thread support// (default is to include thread support)// #define _NO_THREADS// define _NO_LOGGING if you do not want any logging output // (increases performance drastically and minimizes memory consumption)//#define _NO_LOGGING// define _IPX_ADDRESS and/or _MAC_ADDRESS if you want to use the// classess IpxAddress/IpxSockAddress and/or MacAddress#define _IPX_ADDRESS#define _MAC_ADDRESS// define this if you want to send out broadcasts#define SNMP_BROADCAST// Some older(?) compilers need a special declaration of// template classes// #define _OLD_TEMPLATE_COLLECTION// We have inet_aton() function if not compiling with VC++ or Borland C++#ifndef _MSC_VER#ifndef __BCPLUSPLUS__#define HAVE_INET_ATON#endif#endif// If IPv6 is enabled assume that inet_pton() is available// If IPv6 and gcc then assume gethostbyname2() is available#ifdef SNMP_PP_IPv6#define HAVE_INET_PTON#ifdef __GNUC__#define HAVE_GETHOSTBYNAME2#endif#endif// can we use the reentrant version of these functions or// are the standard functions thread safe#ifdef __GNUC__#define HAVE_GETHOSTBYNAME_R#define HAVE_LOCALTIME_R#define HAVE_GETHOSTBYADDR_R#elif __DECCXX#define HAVE_REENTRANT_GETHOSTBYNAME#define HAVE_LOCALTIME_R#define HAVE_REENTRANT_GETHOSTBYADDR#elif __sun#define HAVE_GETHOSTBYNAME_R#define HAVE_LOCALTIME_R#define HAVE_GETHOSTBYADDR_R#elif __HP_aCC#define HAVE_REENTRANT_GETHOSTBYNAME#define HAVE_LOCALTIME_R#define HAVE_REENTRANT_GETHOSTBYADDR#elif _MSC_VER#define HAVE_REENTRANT_GETHOSTBYNAME#define HAVE_REENTRANT_LOCALTIME#define HAVE_REENTRANT_GETHOSTBYADDR#elif _AIX#define HAVE_REENTRANT_GETHOSTBYNAME#define HAVE_LOCALTIME_R#define HAVE_REENTRANT_GETHOSTBYADDR#endif// Enable 3DES Privacy// #define _USE_3DES_EDE// Define a unsigned 64 bit integer:#ifdef WIN32#include <windows.h>#include <winsock.h>#ifdef __BCPLUSPLUS__typedef unsigned __int64 pp_uint64;#elsetypedef ULONGLONG pp_uint64;#endif#else // not WIN32typedef unsigned long long pp_uint64;#endif// Define a type used for sockets#ifdef _MSC_VER #include <winsock.h> typedef SOCKET SnmpSocket;#else typedef int SnmpSocket;#endif///////////////////////////////////////////////////////////////////////// Changes below this line should not be necessary///////////////////////////////////////////////////////////////////////// Make use of mutable keyword//#define SNMP_PP_MUTABLE mutable#define SNMP_PP_MUTABLE#define SAFE_INT_CAST(expr) ((int)(expr))#define SAFE_UINT_CAST(expr) ((unsigned int)(expr))// Safe until 32 bit second counter wraps to zero (time functions)#define SAFE_LONG_CAST(expr) ((long)(expr))#define SAFE_ULONG_CAST(expr) ((unsigned long)(expr))#ifndef _NO_THREADS#ifndef HAVE_REENTRANT_LOCALTIME#ifndef HAVE_LOCALTIME_R// If you see this warning, and your system has a reentrant localtime// or localtime_r function report your compiler, OS,... to the authors// of this library, so that these settings can be changed#warning Threads_defined_but_no_reentrant_LOCALTIME_function#endif#endif#ifndef HAVE_GETHOSTBYADDR_R#ifndef HAVE_REENTRANT_GETHOSTBYADDR// If you see this warning, and your system has a reentrant localtime// or localtime_r function report your compiler, OS,... to the authors// of this library, so that these settings can be changed#warning Threads_defined_but_no_reentrant_GETHOSTBYADDR_function#endif#endif#ifndef HAVE_GETHOSTBYNAME_R#ifndef HAVE_REENTRANT_GETHOSTBYNAME// If you see this warning, and your system has a reentrant localtime// or localtime_r function report your compiler, OS,... to the authors// of this library, so that these settings can be changed#warning Threads_defined_but_no_reentrant_GETHOSTBYNAME_function#endif#endif#endif // _NO_THREADS#ifndef _NO_SNMPv3#ifndef _SNMPv3#define _SNMPv3#endif#endif#ifndef _NO_THREADS#ifdef WIN32#ifndef _THREADS#define _WIN32THREADS#define VC_EXTRALEAN#define _THREADS#endif#else // !WIN32#ifndef _THREADS#define _THREADS#endif#ifndef POSIX_THREADS#ifdef __unix#define POSIX_THREADS#endif#endif#endif // WIN32#endif // !_NO_THREADS#endif // _CONFIG_SNMP_PP_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -