; 
; Exports of file snmpcl.dll
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY snmpcl.dll
EXPORTS
; public: __cdecl CBString::CBString(int) __ptr64
??0CBString@@QEAA@H@Z
; public: __cdecl CBString::CBString(unsigned short * __ptr64) __ptr64
??0CBString@@QEAA@PEAG@Z
; public: __cdecl CBString::CBString(void) __ptr64
??0CBString@@QEAA@XZ
; public: __cdecl GeneralException::GeneralException(class GeneralException const & __ptr64) __ptr64
??0GeneralException@@QEAA@AEBV0@@Z
; public: __cdecl GeneralException::GeneralException(class SnmpErrorReport const & __ptr64,char * __ptr64,int,unsigned long) __ptr64
??0GeneralException@@QEAA@AEBVSnmpErrorReport@@PEADHK@Z
; public: __cdecl GeneralException::GeneralException(enum SnmpError,enum SnmpStatus,char * __ptr64,int,unsigned long) __ptr64
??0GeneralException@@QEAA@W4SnmpError@@W4SnmpStatus@@PEADHK@Z
; public: __cdecl GetNextOperation::GetNextOperation(class SnmpSession & __ptr64,class SnmpAutoRetrieveOperation & __ptr64) __ptr64
??0GetNextOperation@@QEAA@AEAVSnmpSession@@AEAVSnmpAutoRetrieveOperation@@@Z
; public: __cdecl GetNextOperation::GetNextOperation(class GetNextOperation const & __ptr64) __ptr64
??0GetNextOperation@@QEAA@AEBV0@@Z
; public: __cdecl SnmpAnalyser::SnmpAnalyser(class SnmpAnalyser const & __ptr64) __ptr64
??0SnmpAnalyser@@QEAA@AEBV0@@Z
; public: __cdecl SnmpAnalyser::SnmpAnalyser(unsigned short const * __ptr64) __ptr64
??0SnmpAnalyser@@QEAA@PEBG@Z
; protected: __cdecl SnmpAutoRetrieveOperation::SnmpAutoRetrieveOperation(class SnmpSession & __ptr64) __ptr64
??0SnmpAutoRetrieveOperation@@IEAA@AEAVSnmpSession@@@Z
; public: __cdecl SnmpAutoRetrieveOperation::SnmpAutoRetrieveOperation(class SnmpAutoRetrieveOperation const & __ptr64) __ptr64
??0SnmpAutoRetrieveOperation@@QEAA@AEBV0@@Z
; public: __cdecl SnmpBitStringType::SnmpBitStringType(class SnmpBitStringType const & __ptr64) __ptr64
??0SnmpBitStringType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpBitStringType::SnmpBitStringType(unsigned short const * __ptr64) __ptr64
??0SnmpBitStringType@@QEAA@PEBG@Z
; public: __cdecl SnmpBitStringType::SnmpBitStringType(unsigned short const * __ptr64,class SnmpOctetString const & __ptr64) __ptr64
??0SnmpBitStringType@@QEAA@PEBGAEBVSnmpOctetString@@@Z
; public: __cdecl SnmpBitStringType::SnmpBitStringType(unsigned short const * __ptr64,unsigned short const * __ptr64 * __ptr64,unsigned long const & __ptr64) __ptr64
??0SnmpBitStringType@@QEAA@PEBGPEAPEBGAEBK@Z
; protected: __cdecl SnmpClassLibrary::SnmpClassLibrary(void) __ptr64
??0SnmpClassLibrary@@IEAA@XZ
; public: __cdecl SnmpClassLibrary::SnmpClassLibrary(class SnmpClassLibrary const & __ptr64) __ptr64
??0SnmpClassLibrary@@QEAA@AEBV0@@Z
; public: __cdecl SnmpCommunityBasedSecurity::SnmpCommunityBasedSecurity(class SnmpCommunityBasedSecurity const & __ptr64) __ptr64
??0SnmpCommunityBasedSecurity@@QEAA@AEBV0@@Z
; public: __cdecl SnmpCommunityBasedSecurity::SnmpCommunityBasedSecurity(class SnmpOctetString const & __ptr64) __ptr64
??0SnmpCommunityBasedSecurity@@QEAA@AEBVSnmpOctetString@@@Z
; public: __cdecl SnmpCommunityBasedSecurity::SnmpCommunityBasedSecurity(char const * __ptr64) __ptr64
??0SnmpCommunityBasedSecurity@@QEAA@PEBD@Z
; public: __cdecl SnmpCounter64::SnmpCounter64(class SnmpCounter64 const & __ptr64) __ptr64
??0SnmpCounter64@@QEAA@AEBV0@@Z
; public: __cdecl SnmpCounter64::SnmpCounter64(unsigned long,unsigned long) __ptr64
??0SnmpCounter64@@QEAA@KK@Z
; public: __cdecl SnmpCounter64Type::SnmpCounter64Type(class SnmpCounter64Type const & __ptr64) __ptr64
??0SnmpCounter64Type@@QEAA@AEBV0@@Z
; public: __cdecl SnmpCounter64Type::SnmpCounter64Type(class SnmpCounter64 const & __ptr64) __ptr64
??0SnmpCounter64Type@@QEAA@AEBVSnmpCounter64@@@Z
; public: __cdecl SnmpCounter64Type::SnmpCounter64Type(unsigned long,unsigned long) __ptr64
??0SnmpCounter64Type@@QEAA@KK@Z
; public: __cdecl SnmpCounter64Type::SnmpCounter64Type(unsigned short const * __ptr64) __ptr64
??0SnmpCounter64Type@@QEAA@PEBG@Z
; public: __cdecl SnmpCounter64Type::SnmpCounter64Type(void) __ptr64
??0SnmpCounter64Type@@QEAA@XZ
; public: __cdecl SnmpCounter::SnmpCounter(class SnmpCounter const & __ptr64) __ptr64
??0SnmpCounter@@QEAA@AEBV0@@Z
; public: __cdecl SnmpCounter::SnmpCounter(unsigned long) __ptr64
??0SnmpCounter@@QEAA@K@Z
; public: __cdecl SnmpCounterType::SnmpCounterType(class SnmpCounterType const & __ptr64) __ptr64
??0SnmpCounterType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpCounterType::SnmpCounterType(class SnmpCounter const & __ptr64) __ptr64
??0SnmpCounterType@@QEAA@AEBVSnmpCounter@@@Z
; public: __cdecl SnmpCounterType::SnmpCounterType(unsigned long) __ptr64
??0SnmpCounterType@@QEAA@K@Z
; public: __cdecl SnmpCounterType::SnmpCounterType(unsigned short const * __ptr64) __ptr64
??0SnmpCounterType@@QEAA@PEBG@Z
; public: __cdecl SnmpCounterType::SnmpCounterType(void) __ptr64
??0SnmpCounterType@@QEAA@XZ
; public: __cdecl SnmpDateTimeType::SnmpDateTimeType(class SnmpDateTimeType const & __ptr64) __ptr64
??0SnmpDateTimeType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpDateTimeType::SnmpDateTimeType(class SnmpOctetString const & __ptr64) __ptr64
??0SnmpDateTimeType@@QEAA@AEBVSnmpOctetString@@@Z
; public: __cdecl SnmpDateTimeType::SnmpDateTimeType(unsigned short const * __ptr64) __ptr64
??0SnmpDateTimeType@@QEAA@PEBG@Z
; public: __cdecl SnmpDateTimeType::SnmpDateTimeType(void) __ptr64
??0SnmpDateTimeType@@QEAA@XZ
; public: __cdecl SnmpDisplayStringType::SnmpDisplayStringType(class SnmpDisplayStringType const & __ptr64) __ptr64
??0SnmpDisplayStringType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpDisplayStringType::SnmpDisplayStringType(class SnmpOctetString const & __ptr64,unsigned short const * __ptr64) __ptr64
??0SnmpDisplayStringType@@QEAA@AEBVSnmpOctetString@@PEBG@Z
; public: __cdecl SnmpDisplayStringType::SnmpDisplayStringType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0SnmpDisplayStringType@@QEAA@PEBG0@Z
; public: __cdecl SnmpDisplayStringType::SnmpDisplayStringType(unsigned short const * __ptr64) __ptr64
??0SnmpDisplayStringType@@QEAA@PEBG@Z
; public: __cdecl SnmpEncodeDecode::SnmpEncodeDecode(class SnmpEncodeDecode const & __ptr64) __ptr64
??0SnmpEncodeDecode@@QEAA@AEBV0@@Z
; public: __cdecl SnmpEncodeDecode::SnmpEncodeDecode(void) __ptr64
??0SnmpEncodeDecode@@QEAA@XZ
; public: __cdecl SnmpEndOfMibView::SnmpEndOfMibView(void) __ptr64
??0SnmpEndOfMibView@@QEAA@XZ
; public: __cdecl SnmpEnumeratedType::SnmpEnumeratedType(class SnmpEnumeratedType const & __ptr64) __ptr64
??0SnmpEnumeratedType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpEnumeratedType::SnmpEnumeratedType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0SnmpEnumeratedType@@QEAA@PEBG0@Z
; public: __cdecl SnmpEnumeratedType::SnmpEnumeratedType(unsigned short const * __ptr64) __ptr64
??0SnmpEnumeratedType@@QEAA@PEBG@Z
; public: __cdecl SnmpEnumeratedType::SnmpEnumeratedType(unsigned short const * __ptr64,long const & __ptr64) __ptr64
??0SnmpEnumeratedType@@QEAA@PEBGAEBJ@Z
; public: __cdecl SnmpEnumeratedType::SnmpEnumeratedType(unsigned short const * __ptr64,class SnmpInteger const & __ptr64) __ptr64
??0SnmpEnumeratedType@@QEAA@PEBGAEBVSnmpInteger@@@Z
; public: __cdecl SnmpErrorReport::SnmpErrorReport(class SnmpErrorReport const & __ptr64) __ptr64
??0SnmpErrorReport@@QEAA@AEBV0@@Z
; public: __cdecl SnmpErrorReport::SnmpErrorReport(enum SnmpError,enum SnmpStatus,unsigned long) __ptr64
??0SnmpErrorReport@@QEAA@W4SnmpError@@W4SnmpStatus@@K@Z
; public: __cdecl SnmpErrorReport::SnmpErrorReport(void) __ptr64
??0SnmpErrorReport@@QEAA@XZ
; public: __cdecl SnmpFixedLengthDisplayStringType::SnmpFixedLengthDisplayStringType(unsigned long const & __ptr64) __ptr64
??0SnmpFixedLengthDisplayStringType@@QEAA@AEBK@Z
; public: __cdecl SnmpFixedLengthDisplayStringType::SnmpFixedLengthDisplayStringType(unsigned long const & __ptr64,class SnmpOctetString const & __ptr64) __ptr64
??0SnmpFixedLengthDisplayStringType@@QEAA@AEBKAEBVSnmpOctetString@@@Z
; public: __cdecl SnmpFixedLengthDisplayStringType::SnmpFixedLengthDisplayStringType(unsigned long const & __ptr64,unsigned short const * __ptr64) __ptr64
??0SnmpFixedLengthDisplayStringType@@QEAA@AEBKPEBG@Z
; public: __cdecl SnmpFixedLengthDisplayStringType::SnmpFixedLengthDisplayStringType(class SnmpFixedLengthDisplayStringType const & __ptr64) __ptr64
??0SnmpFixedLengthDisplayStringType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpFixedLengthOctetStringType::SnmpFixedLengthOctetStringType(unsigned long const & __ptr64) __ptr64
??0SnmpFixedLengthOctetStringType@@QEAA@AEBK@Z
; public: __cdecl SnmpFixedLengthOctetStringType::SnmpFixedLengthOctetStringType(unsigned long const & __ptr64,class SnmpOctetString const & __ptr64) __ptr64
??0SnmpFixedLengthOctetStringType@@QEAA@AEBKAEBVSnmpOctetString@@@Z
; public: __cdecl SnmpFixedLengthOctetStringType::SnmpFixedLengthOctetStringType(unsigned long const & __ptr64,unsigned char const * __ptr64) __ptr64
??0SnmpFixedLengthOctetStringType@@QEAA@AEBKPEBE@Z
; public: __cdecl SnmpFixedLengthOctetStringType::SnmpFixedLengthOctetStringType(unsigned long const & __ptr64,unsigned short const * __ptr64) __ptr64
??0SnmpFixedLengthOctetStringType@@QEAA@AEBKPEBG@Z
; public: __cdecl SnmpFixedLengthOctetStringType::SnmpFixedLengthOctetStringType(class SnmpFixedLengthOctetStringType const & __ptr64) __ptr64
??0SnmpFixedLengthOctetStringType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpFixedLengthOpaqueType::SnmpFixedLengthOpaqueType(unsigned long const & __ptr64) __ptr64
??0SnmpFixedLengthOpaqueType@@QEAA@AEBK@Z
; public: __cdecl SnmpFixedLengthOpaqueType::SnmpFixedLengthOpaqueType(unsigned long const & __ptr64,class SnmpOpaque const & __ptr64) __ptr64
??0SnmpFixedLengthOpaqueType@@QEAA@AEBKAEBVSnmpOpaque@@@Z
; public: __cdecl SnmpFixedLengthOpaqueType::SnmpFixedLengthOpaqueType(unsigned long const & __ptr64,unsigned char const * __ptr64,unsigned long) __ptr64
??0SnmpFixedLengthOpaqueType@@QEAA@AEBKPEBEK@Z
; public: __cdecl SnmpFixedLengthOpaqueType::SnmpFixedLengthOpaqueType(unsigned long const & __ptr64,unsigned short const * __ptr64) __ptr64
??0SnmpFixedLengthOpaqueType@@QEAA@AEBKPEBG@Z
; public: __cdecl SnmpFixedLengthOpaqueType::SnmpFixedLengthOpaqueType(class SnmpFixedLengthOpaqueType const & __ptr64) __ptr64
??0SnmpFixedLengthOpaqueType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpFixedLengthPhysAddressType::SnmpFixedLengthPhysAddressType(unsigned long const & __ptr64) __ptr64
??0SnmpFixedLengthPhysAddressType@@QEAA@AEBK@Z
; public: __cdecl SnmpFixedLengthPhysAddressType::SnmpFixedLengthPhysAddressType(unsigned long const & __ptr64,class SnmpOctetString const & __ptr64) __ptr64
??0SnmpFixedLengthPhysAddressType@@QEAA@AEBKAEBVSnmpOctetString@@@Z
; public: __cdecl SnmpFixedLengthPhysAddressType::SnmpFixedLengthPhysAddressType(unsigned long const & __ptr64,unsigned short const * __ptr64) __ptr64
??0SnmpFixedLengthPhysAddressType@@QEAA@AEBKPEBG@Z
; public: __cdecl SnmpFixedLengthPhysAddressType::SnmpFixedLengthPhysAddressType(class SnmpFixedLengthPhysAddressType const & __ptr64) __ptr64
??0SnmpFixedLengthPhysAddressType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpFixedType::SnmpFixedType(class SnmpFixedType const & __ptr64) __ptr64
??0SnmpFixedType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpFixedType::SnmpFixedType(unsigned long) __ptr64
??0SnmpFixedType@@QEAA@K@Z
; public: __cdecl SnmpGauge::SnmpGauge(class SnmpGauge const & __ptr64) __ptr64
??0SnmpGauge@@QEAA@AEBV0@@Z
; public: __cdecl SnmpGauge::SnmpGauge(long) __ptr64
??0SnmpGauge@@QEAA@J@Z
; public: __cdecl SnmpGaugeType::SnmpGaugeType(class SnmpGaugeType const & __ptr64) __ptr64
??0SnmpGaugeType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpGaugeType::SnmpGaugeType(class SnmpGauge const & __ptr64,unsigned short const * __ptr64) __ptr64
??0SnmpGaugeType@@QEAA@AEBVSnmpGauge@@PEBG@Z
; public: __cdecl SnmpGaugeType::SnmpGaugeType(unsigned long,unsigned short const * __ptr64) __ptr64
??0SnmpGaugeType@@QEAA@KPEBG@Z
; public: __cdecl SnmpGaugeType::SnmpGaugeType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0SnmpGaugeType@@QEAA@PEBG0@Z
; public: __cdecl SnmpGaugeType::SnmpGaugeType(unsigned short const * __ptr64) __ptr64
??0SnmpGaugeType@@QEAA@PEBG@Z
; public: __cdecl SnmpGetNextOperation::SnmpGetNextOperation(class SnmpSession & __ptr64) __ptr64
??0SnmpGetNextOperation@@QEAA@AEAVSnmpSession@@@Z
; public: __cdecl SnmpGetNextOperation::SnmpGetNextOperation(class SnmpGetNextOperation const & __ptr64) __ptr64
??0SnmpGetNextOperation@@QEAA@AEBV0@@Z
; public: __cdecl SnmpGetOperation::SnmpGetOperation(class SnmpSession & __ptr64) __ptr64
??0SnmpGetOperation@@QEAA@AEAVSnmpSession@@@Z
; public: __cdecl SnmpGetOperation::SnmpGetOperation(class SnmpGetOperation const & __ptr64) __ptr64
??0SnmpGetOperation@@QEAA@AEBV0@@Z
; public: __cdecl SnmpIPXAddressType::SnmpIPXAddressType(class SnmpIPXAddressType const & __ptr64) __ptr64
??0SnmpIPXAddressType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpIPXAddressType::SnmpIPXAddressType(class SnmpOctetString const & __ptr64) __ptr64
??0SnmpIPXAddressType@@QEAA@AEBVSnmpOctetString@@@Z
; public: __cdecl SnmpIPXAddressType::SnmpIPXAddressType(unsigned char const * __ptr64) __ptr64
??0SnmpIPXAddressType@@QEAA@PEBE@Z
; public: __cdecl SnmpIPXAddressType::SnmpIPXAddressType(unsigned short const * __ptr64) __ptr64
??0SnmpIPXAddressType@@QEAA@PEBG@Z
; public: __cdecl SnmpIPXAddressType::SnmpIPXAddressType(void) __ptr64
??0SnmpIPXAddressType@@QEAA@XZ
; protected: __cdecl SnmpImpSession::SnmpImpSession(class SnmpTransport & __ptr64,class SnmpSecurity & __ptr64,class SnmpEncodeDecode & __ptr64,unsigned long,unsigned long,unsigned long,unsigned long) __ptr64
??0SnmpImpSession@@IEAA@AEAVSnmpTransport@@AEAVSnmpSecurity@@AEAVSnmpEncodeDecode@@KKKK@Z
; public: __cdecl SnmpImpTransport::SnmpImpTransport(class SnmpSession & __ptr64,class SnmpTransportAddress const & __ptr64) __ptr64
??0SnmpImpTransport@@QEAA@AEAVSnmpSession@@AEBVSnmpTransportAddress@@@Z
; protected: __cdecl SnmpInstanceType::SnmpInstanceType(class SnmpInstanceType const & __ptr64) __ptr64
??0SnmpInstanceType@@IEAA@AEBV0@@Z
; protected: __cdecl SnmpInstanceType::SnmpInstanceType(int,int) __ptr64
??0SnmpInstanceType@@IEAA@HH@Z
; public: __cdecl SnmpInteger::SnmpInteger(class SnmpInteger const & __ptr64) __ptr64
??0SnmpInteger@@QEAA@AEBV0@@Z
; public: __cdecl SnmpInteger::SnmpInteger(long) __ptr64
??0SnmpInteger@@QEAA@J@Z
; public: __cdecl SnmpIntegerType::SnmpIntegerType(class SnmpIntegerType const & __ptr64) __ptr64
??0SnmpIntegerType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpIntegerType::SnmpIntegerType(class SnmpInteger const & __ptr64,unsigned short const * __ptr64) __ptr64
??0SnmpIntegerType@@QEAA@AEBVSnmpInteger@@PEBG@Z
; public: __cdecl SnmpIntegerType::SnmpIntegerType(long,unsigned short const * __ptr64) __ptr64
??0SnmpIntegerType@@QEAA@JPEBG@Z
; public: __cdecl SnmpIntegerType::SnmpIntegerType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0SnmpIntegerType@@QEAA@PEBG0@Z
; public: __cdecl SnmpIntegerType::SnmpIntegerType(unsigned short const * __ptr64) __ptr64
??0SnmpIntegerType@@QEAA@PEBG@Z
; public: __cdecl SnmpIpAddress::SnmpIpAddress(class SnmpIpAddress const & __ptr64) __ptr64
??0SnmpIpAddress@@QEAA@AEBV0@@Z
; public: __cdecl SnmpIpAddress::SnmpIpAddress(unsigned long) __ptr64
??0SnmpIpAddress@@QEAA@K@Z
; public: __cdecl SnmpIpAddress::SnmpIpAddress(char const * __ptr64) __ptr64
??0SnmpIpAddress@@QEAA@PEBD@Z
; public: __cdecl SnmpIpAddressType::SnmpIpAddressType(class SnmpIpAddressType const & __ptr64) __ptr64
??0SnmpIpAddressType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpIpAddressType::SnmpIpAddressType(class SnmpIpAddress const & __ptr64) __ptr64
??0SnmpIpAddressType@@QEAA@AEBVSnmpIpAddress@@@Z
; public: __cdecl SnmpIpAddressType::SnmpIpAddressType(unsigned long) __ptr64
??0SnmpIpAddressType@@QEAA@K@Z
; public: __cdecl SnmpIpAddressType::SnmpIpAddressType(unsigned short const * __ptr64) __ptr64
??0SnmpIpAddressType@@QEAA@PEBG@Z
; public: __cdecl SnmpIpAddressType::SnmpIpAddressType(void) __ptr64
??0SnmpIpAddressType@@QEAA@XZ
; public: __cdecl SnmpIpxImp::SnmpIpxImp(class SnmpSession & __ptr64,class SnmpTransportIpxAddress const & __ptr64) __ptr64
??0SnmpIpxImp@@QEAA@AEAVSnmpSession@@AEBVSnmpTransportIpxAddress@@@Z
; public: __cdecl SnmpIpxImp::SnmpIpxImp(class SnmpSession & __ptr64,char const * __ptr64) __ptr64
??0SnmpIpxImp@@QEAA@AEAVSnmpSession@@PEBD@Z
; public: __cdecl SnmpIpxImp::SnmpIpxImp(class SnmpSession & __ptr64,unsigned char const * __ptr64) __ptr64
??0SnmpIpxImp@@QEAA@AEAVSnmpSession@@PEBE@Z
; public: __cdecl SnmpIpxTransport::SnmpIpxTransport(class SnmpSession & __ptr64,class SnmpTransportIpxAddress const & __ptr64) __ptr64
??0SnmpIpxTransport@@QEAA@AEAVSnmpSession@@AEBVSnmpTransportIpxAddress@@@Z
; public: __cdecl SnmpLexicon::SnmpLexicon(void) __ptr64
??0SnmpLexicon@@QEAA@XZ
; public: __cdecl SnmpMacAddressType::SnmpMacAddressType(class SnmpMacAddressType const & __ptr64) __ptr64
??0SnmpMacAddressType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpMacAddressType::SnmpMacAddressType(class SnmpOctetString const & __ptr64) __ptr64
??0SnmpMacAddressType@@QEAA@AEBVSnmpOctetString@@@Z
; public: __cdecl SnmpMacAddressType::SnmpMacAddressType(unsigned char const * __ptr64) __ptr64
??0SnmpMacAddressType@@QEAA@PEBE@Z
; public: __cdecl SnmpMacAddressType::SnmpMacAddressType(unsigned short const * __ptr64) __ptr64
??0SnmpMacAddressType@@QEAA@PEBG@Z
; public: __cdecl SnmpMacAddressType::SnmpMacAddressType(void) __ptr64
??0SnmpMacAddressType@@QEAA@XZ
; public: __cdecl SnmpNegativeRangeType::SnmpNegativeRangeType(class SnmpNegativeRangeType const & __ptr64) __ptr64
??0SnmpNegativeRangeType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpNegativeRangeType::SnmpNegativeRangeType(long,long) __ptr64
??0SnmpNegativeRangeType@@QEAA@JJ@Z
; public: __cdecl SnmpNegativeRangeType::SnmpNegativeRangeType(void) __ptr64
??0SnmpNegativeRangeType@@QEAA@XZ
; public: __cdecl SnmpNetworkAddressType::SnmpNetworkAddressType(class SnmpNetworkAddressType const & __ptr64) __ptr64
??0SnmpNetworkAddressType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpNetworkAddressType::SnmpNetworkAddressType(class SnmpIpAddress const & __ptr64) __ptr64
??0SnmpNetworkAddressType@@QEAA@AEBVSnmpIpAddress@@@Z
; public: __cdecl SnmpNetworkAddressType::SnmpNetworkAddressType(unsigned long) __ptr64
??0SnmpNetworkAddressType@@QEAA@K@Z
; public: __cdecl SnmpNetworkAddressType::SnmpNetworkAddressType(unsigned short const * __ptr64) __ptr64
??0SnmpNetworkAddressType@@QEAA@PEBG@Z
; public: __cdecl SnmpNetworkAddressType::SnmpNetworkAddressType(void) __ptr64
??0SnmpNetworkAddressType@@QEAA@XZ
; public: __cdecl SnmpNoSuchInstance::SnmpNoSuchInstance(void) __ptr64
??0SnmpNoSuchInstance@@QEAA@XZ
; public: __cdecl SnmpNoSuchObject::SnmpNoSuchObject(void) __ptr64
??0SnmpNoSuchObject@@QEAA@XZ
; public: __cdecl SnmpNull::SnmpNull(void) __ptr64
??0SnmpNull@@QEAA@XZ
; public: __cdecl SnmpNullType::SnmpNullType(class SnmpNullType const & __ptr64) __ptr64
??0SnmpNullType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpNullType::SnmpNullType(class SnmpNull const & __ptr64) __ptr64
??0SnmpNullType@@QEAA@AEBVSnmpNull@@@Z
; public: __cdecl SnmpNullType::SnmpNullType(void) __ptr64
??0SnmpNullType@@QEAA@XZ
; public: __cdecl SnmpOSIAddressType::SnmpOSIAddressType(class SnmpOSIAddressType const & __ptr64) __ptr64
??0SnmpOSIAddressType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpOSIAddressType::SnmpOSIAddressType(class SnmpOctetString const & __ptr64) __ptr64
??0SnmpOSIAddressType@@QEAA@AEBVSnmpOctetString@@@Z
; public: __cdecl SnmpOSIAddressType::SnmpOSIAddressType(unsigned char const * __ptr64,unsigned long) __ptr64
??0SnmpOSIAddressType@@QEAA@PEBEK@Z
; public: __cdecl SnmpOSIAddressType::SnmpOSIAddressType(unsigned short const * __ptr64) __ptr64
??0SnmpOSIAddressType@@QEAA@PEBG@Z
; public: __cdecl SnmpOSIAddressType::SnmpOSIAddressType(void) __ptr64
??0SnmpOSIAddressType@@QEAA@XZ
; public: __cdecl SnmpObjectIdentifier::SnmpObjectIdentifier(class SnmpObjectIdentifier const & __ptr64) __ptr64
??0SnmpObjectIdentifier@@QEAA@AEBV0@@Z
; public: __cdecl SnmpObjectIdentifier::SnmpObjectIdentifier(char const * __ptr64) __ptr64
??0SnmpObjectIdentifier@@QEAA@PEBD@Z
; public: __cdecl SnmpObjectIdentifier::SnmpObjectIdentifier(unsigned long const * __ptr64,unsigned long) __ptr64
??0SnmpObjectIdentifier@@QEAA@PEBKK@Z
; public: __cdecl SnmpObjectIdentifierType::SnmpObjectIdentifierType(class SnmpObjectIdentifierType const & __ptr64) __ptr64
??0SnmpObjectIdentifierType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpObjectIdentifierType::SnmpObjectIdentifierType(class SnmpObjectIdentifier const & __ptr64) __ptr64
??0SnmpObjectIdentifierType@@QEAA@AEBVSnmpObjectIdentifier@@@Z
; public: __cdecl SnmpObjectIdentifierType::SnmpObjectIdentifierType(unsigned short const * __ptr64) __ptr64
??0SnmpObjectIdentifierType@@QEAA@PEBG@Z
; public: __cdecl SnmpObjectIdentifierType::SnmpObjectIdentifierType(unsigned long const * __ptr64,unsigned long) __ptr64
??0SnmpObjectIdentifierType@@QEAA@PEBKK@Z
; public: __cdecl SnmpObjectIdentifierType::SnmpObjectIdentifierType(void) __ptr64
??0SnmpObjectIdentifierType@@QEAA@XZ
; public: __cdecl SnmpOctetString::SnmpOctetString(class SnmpOctetString const & __ptr64) __ptr64
??0SnmpOctetString@@QEAA@AEBV0@@Z
; public: __cdecl SnmpOctetString::SnmpOctetString(unsigned char const * __ptr64,unsigned long) __ptr64
??0SnmpOctetString@@QEAA@PEBEK@Z
; public: __cdecl SnmpOctetStringType::SnmpOctetStringType(class SnmpOctetStringType const & __ptr64) __ptr64
??0SnmpOctetStringType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpOctetStringType::SnmpOctetStringType(class SnmpOctetString const & __ptr64,unsigned short const * __ptr64) __ptr64
??0SnmpOctetStringType@@QEAA@AEBVSnmpOctetString@@PEBG@Z
; public: __cdecl SnmpOctetStringType::SnmpOctetStringType(unsigned char const * __ptr64,unsigned long,unsigned short const * __ptr64) __ptr64
??0SnmpOctetStringType@@QEAA@PEBEKPEBG@Z
; public: __cdecl SnmpOctetStringType::SnmpOctetStringType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0SnmpOctetStringType@@QEAA@PEBG0@Z
; public: __cdecl SnmpOctetStringType::SnmpOctetStringType(unsigned short const * __ptr64) __ptr64
??0SnmpOctetStringType@@QEAA@PEBG@Z
; public: __cdecl SnmpOpaque::SnmpOpaque(class SnmpOpaque const & __ptr64) __ptr64
??0SnmpOpaque@@QEAA@AEBV0@@Z
; public: __cdecl SnmpOpaque::SnmpOpaque(unsigned char const * __ptr64,unsigned long) __ptr64
??0SnmpOpaque@@QEAA@PEBEK@Z
; public: __cdecl SnmpOpaqueType::SnmpOpaqueType(class SnmpOpaqueType const & __ptr64) __ptr64
??0SnmpOpaqueType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpOpaqueType::SnmpOpaqueType(class SnmpOpaque const & __ptr64,unsigned short const * __ptr64) __ptr64
??0SnmpOpaqueType@@QEAA@AEBVSnmpOpaque@@PEBG@Z
; public: __cdecl SnmpOpaqueType::SnmpOpaqueType(unsigned char const * __ptr64,unsigned long,unsigned short const * __ptr64) __ptr64
??0SnmpOpaqueType@@QEAA@PEBEKPEBG@Z
; public: __cdecl SnmpOpaqueType::SnmpOpaqueType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0SnmpOpaqueType@@QEAA@PEBG0@Z
; public: __cdecl SnmpOpaqueType::SnmpOpaqueType(unsigned short const * __ptr64) __ptr64
??0SnmpOpaqueType@@QEAA@PEBG@Z
; protected: __cdecl SnmpOperation::SnmpOperation(class SnmpSession & __ptr64) __ptr64
??0SnmpOperation@@IEAA@AEAVSnmpSession@@@Z
; public: __cdecl SnmpOperation::SnmpOperation(class SnmpOperation const & __ptr64) __ptr64
??0SnmpOperation@@QEAA@AEBV0@@Z
; public: __cdecl SnmpPdu::SnmpPdu(class SnmpPdu & __ptr64) __ptr64
??0SnmpPdu@@QEAA@AEAV0@@Z
; public: __cdecl SnmpPdu::SnmpPdu(unsigned char const * __ptr64,unsigned long const & __ptr64) __ptr64
??0SnmpPdu@@QEAA@PEBEAEBK@Z
; public: __cdecl SnmpPdu::SnmpPdu(void) __ptr64
??0SnmpPdu@@QEAA@XZ
; public: __cdecl SnmpPhysAddressType::SnmpPhysAddressType(class SnmpPhysAddressType const & __ptr64) __ptr64
??0SnmpPhysAddressType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpPhysAddressType::SnmpPhysAddressType(class SnmpOctetString const & __ptr64,unsigned short const * __ptr64) __ptr64
??0SnmpPhysAddressType@@QEAA@AEBVSnmpOctetString@@PEBG@Z
; public: __cdecl SnmpPhysAddressType::SnmpPhysAddressType(unsigned char const * __ptr64,unsigned long,unsigned short const * __ptr64) __ptr64
??0SnmpPhysAddressType@@QEAA@PEBEKPEBG@Z
; public: __cdecl SnmpPhysAddressType::SnmpPhysAddressType(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0SnmpPhysAddressType@@QEAA@PEBG0@Z
; public: __cdecl SnmpPhysAddressType::SnmpPhysAddressType(unsigned short const * __ptr64) __ptr64
??0SnmpPhysAddressType@@QEAA@PEBG@Z
; public: __cdecl SnmpPositiveRangeType::SnmpPositiveRangeType(class SnmpPositiveRangeType const & __ptr64) __ptr64
??0SnmpPositiveRangeType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpPositiveRangeType::SnmpPositiveRangeType(unsigned long,long) __ptr64
??0SnmpPositiveRangeType@@QEAA@KJ@Z
; public: __cdecl SnmpPositiveRangeType::SnmpPositiveRangeType(void) __ptr64
??0SnmpPositiveRangeType@@QEAA@XZ
; public: __cdecl SnmpPositiveRangedType::SnmpPositiveRangedType(class SnmpPositiveRangedType const & __ptr64) __ptr64
??0SnmpPositiveRangedType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpPositiveRangedType::SnmpPositiveRangedType(unsigned short const * __ptr64) __ptr64
??0SnmpPositiveRangedType@@QEAA@PEBG@Z
; public: __cdecl SnmpRowStatusType::SnmpRowStatusType(long const & __ptr64) __ptr64
??0SnmpRowStatusType@@QEAA@AEBJ@Z
; public: __cdecl SnmpRowStatusType::SnmpRowStatusType(class SnmpRowStatusType const & __ptr64) __ptr64
??0SnmpRowStatusType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpRowStatusType::SnmpRowStatusType(class SnmpInteger const & __ptr64) __ptr64
??0SnmpRowStatusType@@QEAA@AEBVSnmpInteger@@@Z
; public: __cdecl SnmpRowStatusType::SnmpRowStatusType(enum SnmpRowStatusType::SnmpRowStatusEnum const & __ptr64) __ptr64
??0SnmpRowStatusType@@QEAA@AEBW4SnmpRowStatusEnum@0@@Z
; public: __cdecl SnmpRowStatusType::SnmpRowStatusType(unsigned short const * __ptr64) __ptr64
??0SnmpRowStatusType@@QEAA@PEBG@Z
; public: __cdecl SnmpRowStatusType::SnmpRowStatusType(void) __ptr64
??0SnmpRowStatusType@@QEAA@XZ
; private: __cdecl SnmpSecurity::SnmpSecurity(class SnmpSecurity const & __ptr64) __ptr64
??0SnmpSecurity@@AEAA@AEBV0@@Z
; protected: __cdecl SnmpSecurity::SnmpSecurity(void) __ptr64
??0SnmpSecurity@@IEAA@XZ
; private: __cdecl SnmpSession::SnmpSession(class SnmpSession const & __ptr64) __ptr64
??0SnmpSession@@AEAA@AEBV0@@Z
; protected: __cdecl SnmpSession::SnmpSession(class SnmpTransport & __ptr64,class SnmpSecurity & __ptr64,class SnmpEncodeDecode & __ptr64,unsigned long,unsigned long,unsigned long,unsigned long) __ptr64
??0SnmpSession@@IEAA@AEAVSnmpTransport@@AEAVSnmpSecurity@@AEAVSnmpEncodeDecode@@KKKK@Z
; public: __cdecl SnmpSetOperation::SnmpSetOperation(class SnmpSession & __ptr64) __ptr64
??0SnmpSetOperation@@QEAA@AEAVSnmpSession@@@Z
; public: __cdecl SnmpSetOperation::SnmpSetOperation(class SnmpSetOperation const & __ptr64) __ptr64
??0SnmpSetOperation@@QEAA@AEBV0@@Z
; public: __cdecl SnmpTimeTicks::SnmpTimeTicks(class SnmpTimeTicks const & __ptr64) __ptr64
??0SnmpTimeTicks@@QEAA@AEBV0@@Z
; public: __cdecl SnmpTimeTicks::SnmpTimeTicks(unsigned long) __ptr64
??0SnmpTimeTicks@@QEAA@K@Z
; public: __cdecl SnmpTimeTicksType::SnmpTimeTicksType(class SnmpTimeTicksType const & __ptr64) __ptr64
??0SnmpTimeTicksType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpTimeTicksType::SnmpTimeTicksType(class SnmpTimeTicks const & __ptr64) __ptr64
??0SnmpTimeTicksType@@QEAA@AEBVSnmpTimeTicks@@@Z
; public: __cdecl SnmpTimeTicksType::SnmpTimeTicksType(unsigned long) __ptr64
??0SnmpTimeTicksType@@QEAA@K@Z
; public: __cdecl SnmpTimeTicksType::SnmpTimeTicksType(unsigned short const * __ptr64) __ptr64
??0SnmpTimeTicksType@@QEAA@PEBG@Z
; public: __cdecl SnmpTimeTicksType::SnmpTimeTicksType(void) __ptr64
??0SnmpTimeTicksType@@QEAA@XZ
; private: __cdecl SnmpTransport::SnmpTransport(class SnmpTransport const & __ptr64) __ptr64
??0SnmpTransport@@AEAA@AEBV0@@Z
; protected: __cdecl SnmpTransport::SnmpTransport(class SnmpSession & __ptr64,class SnmpTransportAddress const & __ptr64) __ptr64
??0SnmpTransport@@IEAA@AEAVSnmpSession@@AEBVSnmpTransportAddress@@@Z
; private: __cdecl SnmpTransportAddress::SnmpTransportAddress(class SnmpTransportAddress const & __ptr64) __ptr64
??0SnmpTransportAddress@@AEAA@AEBV0@@Z
; protected: __cdecl SnmpTransportAddress::SnmpTransportAddress(void) __ptr64
??0SnmpTransportAddress@@IEAA@XZ
; public: __cdecl SnmpTransportIpAddress::SnmpTransportIpAddress(class SnmpTransportIpAddress const & __ptr64) __ptr64
??0SnmpTransportIpAddress@@QEAA@AEBV0@@Z
; public: __cdecl SnmpTransportIpAddress::SnmpTransportIpAddress(unsigned long) __ptr64
??0SnmpTransportIpAddress@@QEAA@K@Z
; public: __cdecl SnmpTransportIpAddress::SnmpTransportIpAddress(char const * __ptr64,unsigned long) __ptr64
??0SnmpTransportIpAddress@@QEAA@PEBDK@Z
; public: __cdecl SnmpTransportIpAddress::SnmpTransportIpAddress(unsigned char const * __ptr64,unsigned short) __ptr64
??0SnmpTransportIpAddress@@QEAA@PEBEG@Z
; public: __cdecl SnmpTransportIpAddress::SnmpTransportIpAddress(void) __ptr64
??0SnmpTransportIpAddress@@QEAA@XZ
; public: __cdecl SnmpTransportIpxAddress::SnmpTransportIpxAddress(class SnmpTransportIpxAddress const & __ptr64) __ptr64
??0SnmpTransportIpxAddress@@QEAA@AEBV0@@Z
; public: __cdecl SnmpTransportIpxAddress::SnmpTransportIpxAddress(char const * __ptr64) __ptr64
??0SnmpTransportIpxAddress@@QEAA@PEBD@Z
; public: __cdecl SnmpTransportIpxAddress::SnmpTransportIpxAddress(unsigned char const * __ptr64,unsigned short) __ptr64
??0SnmpTransportIpxAddress@@QEAA@PEBEG@Z
; public: __cdecl SnmpTransportIpxAddress::SnmpTransportIpxAddress(void) __ptr64
??0SnmpTransportIpxAddress@@QEAA@XZ
; protected: __cdecl SnmpTrapReceiver::SnmpTrapReceiver(void) __ptr64
??0SnmpTrapReceiver@@IEAA@XZ
; public: __cdecl SnmpTrapReceiver::SnmpTrapReceiver(class SnmpTrapReceiver const & __ptr64) __ptr64
??0SnmpTrapReceiver@@QEAA@AEBV0@@Z
; public: __cdecl SnmpUDPAddressType::SnmpUDPAddressType(class SnmpUDPAddressType const & __ptr64) __ptr64
??0SnmpUDPAddressType@@QEAA@AEBV0@@Z
; public: __cdecl SnmpUDPAddressType::SnmpUDPAddressType(class SnmpOctetString const & __ptr64) __ptr64
??0SnmpUDPAddressType@@QEAA@AEBVSnmpOctetString@@@Z
; public: __cdecl SnmpUDPAddressType::SnmpUDPAddressType(unsigned char const * __ptr64) __ptr64
??0SnmpUDPAddressType@@QEAA@PEBE@Z
; public: __cdecl SnmpUDPAddressType::SnmpUDPAddressType(unsigned short const * __ptr64) __ptr64
??0SnmpUDPAddressType@@QEAA@PEBG@Z
; public: __cdecl SnmpUDPAddressType::SnmpUDPAddressType(void) __ptr64
??0SnmpUDPAddressType@@QEAA@XZ
; public: __cdecl SnmpUInteger32::SnmpUInteger32(class SnmpUInteger32 const & __ptr64) __ptr64
??0SnmpUInteger32@@QEAA@AEBV0@@Z
; public: __cdecl SnmpUInteger32::SnmpUInteger32(long) __ptr64
??0SnmpUInteger32@@QEAA@J@Z
; public: __cdecl SnmpUInteger32Type::SnmpUInteger32Type(class SnmpUInteger32Type const & __ptr64) __ptr64
??0SnmpUInteger32Type@@QEAA@AEBV0@@Z
; public: __cdecl SnmpUInteger32Type::SnmpUInteger32Type(class SnmpUInteger32 const & __ptr64,unsigned short const * __ptr64) __ptr64
??0SnmpUInteger32Type@@QEAA@AEBVSnmpUInteger32@@PEBG@Z
; public: __cdecl SnmpUInteger32Type::SnmpUInteger32Type(unsigned long,unsigned short const * __ptr64) __ptr64
??0SnmpUInteger32Type@@QEAA@KPEBG@Z
; public: __cdecl SnmpUInteger32Type::SnmpUInteger32Type(unsigned short const * __ptr64,unsigned short const * __ptr64) __ptr64
??0SnmpUInteger32Type@@QEAA@PEBG0@Z
; public: __cdecl SnmpUInteger32Type::SnmpUInteger32Type(unsigned short const * __ptr64) __ptr64
??0SnmpUInteger32Type@@QEAA@PEBG@Z
; public: __cdecl SnmpUdpIpImp::SnmpUdpIpImp(class SnmpSession & __ptr64,class SnmpTransportIpAddress const & __ptr64) __ptr64
??0SnmpUdpIpImp@@QEAA@AEAVSnmpSession@@AEBVSnmpTransportIpAddress@@@Z
; public: __cdecl SnmpUdpIpImp::SnmpUdpIpImp(class SnmpSession & __ptr64,char const * __ptr64,unsigned long) __ptr64
??0SnmpUdpIpImp@@QEAA@AEAVSnmpSession@@PEBDK@Z
; public: __cdecl SnmpUdpIpImp::SnmpUdpIpImp(class SnmpSession & __ptr64,unsigned char const * __ptr64) __ptr64
??0SnmpUdpIpImp@@QEAA@AEAVSnmpSession@@PEBE@Z
; public: __cdecl SnmpUdpIpTransport::SnmpUdpIpTransport(class SnmpSession & __ptr64,class SnmpTransportIpAddress const & __ptr64) __ptr64
??0SnmpUdpIpTransport@@QEAA@AEAVSnmpSession@@AEBVSnmpTransportIpAddress@@@Z
; public: __cdecl SnmpV1EncodeDecode::SnmpV1EncodeDecode(class SnmpV1EncodeDecode const & __ptr64) __ptr64
??0SnmpV1EncodeDecode@@QEAA@AEBV0@@Z
; public: __cdecl SnmpV1EncodeDecode::SnmpV1EncodeDecode(void) __ptr64
??0SnmpV1EncodeDecode@@QEAA@XZ
; public: __cdecl SnmpV1OverIp::SnmpV1OverIp(char const * __ptr64,unsigned long,char const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long) __ptr64
??0SnmpV1OverIp@@QEAA@PEBDK0KKKK@Z
; public: __cdecl SnmpV1OverIpx::SnmpV1OverIpx(char const * __ptr64,char const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long) __ptr64
??0SnmpV1OverIpx@@QEAA@PEBD0KKKK@Z
; public: __cdecl SnmpV2CEncodeDecode::SnmpV2CEncodeDecode(class SnmpV2CEncodeDecode const & __ptr64) __ptr64
??0SnmpV2CEncodeDecode@@QEAA@AEBV0@@Z
; public: __cdecl SnmpV2CEncodeDecode::SnmpV2CEncodeDecode(void) __ptr64
??0SnmpV2CEncodeDecode@@QEAA@XZ
; public: __cdecl SnmpV2COverIp::SnmpV2COverIp(char const * __ptr64,unsigned long,char const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long) __ptr64
??0SnmpV2COverIp@@QEAA@PEBDK0KKKK@Z
; public: __cdecl SnmpV2COverIpx::SnmpV2COverIpx(char const * __ptr64,char const * __ptr64,unsigned long,unsigned long,unsigned long,unsigned long) __ptr64
??0SnmpV2COverIpx@@QEAA@PEBD0KKKK@Z
; private: __cdecl SnmpValue::SnmpValue(class SnmpValue const & __ptr64) __ptr64
??0SnmpValue@@AEAA@AEBV0@@Z
; protected: __cdecl SnmpValue::SnmpValue(void) __ptr64
??0SnmpValue@@IEAA@XZ
; public: __cdecl SnmpVarBind::SnmpVarBind(class SnmpVarBind const & __ptr64) __ptr64
??0SnmpVarBind@@QEAA@AEBV0@@Z
; public: __cdecl SnmpVarBind::SnmpVarBind(class SnmpObjectIdentifier const & __ptr64,class SnmpValue const & __ptr64) __ptr64
??0SnmpVarBind@@QEAA@AEBVSnmpObjectIdentifier@@AEBVSnmpValue@@@Z
; public: __cdecl SnmpVarBindList::SnmpVarBindList(class SnmpVarBindList & __ptr64) __ptr64
??0SnmpVarBindList@@QEAA@AEAV0@@Z
; public: __cdecl SnmpVarBindList::SnmpVarBindList(void) __ptr64
??0SnmpVarBindList@@QEAA@XZ
; public: __cdecl SnmpVarBindListNode::SnmpVarBindListNode(class SnmpVarBind & __ptr64) __ptr64
??0SnmpVarBindListNode@@QEAA@AEAVSnmpVarBind@@@Z
; public: __cdecl SnmpVarBindListNode::SnmpVarBindListNode(class SnmpVarBind const & __ptr64) __ptr64
??0SnmpVarBindListNode@@QEAA@AEBVSnmpVarBind@@@Z
; public: __cdecl SnmpVarBindListNode::SnmpVarBindListNode(class SnmpVarBind const * __ptr64) __ptr64
??0SnmpVarBindListNode@@QEAA@PEBVSnmpVarBind@@@Z
; public: __cdecl CBString::~CBString(void) __ptr64
??1CBString@@QEAA@XZ
; public: virtual __cdecl GeneralException::~GeneralException(void) __ptr64
??1GeneralException@@UEAA@XZ
; public: virtual __cdecl GetNextOperation::~GetNextOperation(void) __ptr64
??1GetNextOperation@@UEAA@XZ
; public: virtual __cdecl SnmpAnalyser::~SnmpAnalyser(void) __ptr64
??1SnmpAnalyser@@UEAA@XZ
; public: virtual __cdecl SnmpAutoRetrieveOperation::~SnmpAutoRetrieveOperation(void) __ptr64
??1SnmpAutoRetrieveOperation@@UEAA@XZ
; public: virtual __cdecl SnmpBitStringType::~SnmpBitStringType(void) __ptr64
??1SnmpBitStringType@@UEAA@XZ
; public: virtual __cdecl SnmpClassLibrary::~SnmpClassLibrary(void) __ptr64
??1SnmpClassLibrary@@UEAA@XZ
; public: virtual __cdecl SnmpCommunityBasedSecurity::~SnmpCommunityBasedSecurity(void) __ptr64
??1SnmpCommunityBasedSecurity@@UEAA@XZ
; public: virtual __cdecl SnmpCounter64::~SnmpCounter64(void) __ptr64
??1SnmpCounter64@@UEAA@XZ
; public: virtual __cdecl SnmpCounter64Type::~SnmpCounter64Type(void) __ptr64
??1SnmpCounter64Type@@UEAA@XZ
; public: virtual __cdecl SnmpCounter::~SnmpCounter(void) __ptr64
??1SnmpCounter@@UEAA@XZ
; public: virtual __cdecl SnmpCounterType::~SnmpCounterType(void) __ptr64
??1SnmpCounterType@@UEAA@XZ
; public: virtual __cdecl SnmpDateTimeType::~SnmpDateTimeType(void) __ptr64
??1SnmpDateTimeType@@UEAA@XZ
; public: virtual __cdecl SnmpDisplayStringType::~SnmpDisplayStringType(void) __ptr64
??1SnmpDisplayStringType@@UEAA@XZ
; public: virtual __cdecl SnmpEncodeDecode::~SnmpEncodeDecode(void) __ptr64
??1SnmpEncodeDecode@@UEAA@XZ
; public: virtual __cdecl SnmpEndOfMibView::~SnmpEndOfMibView(void) __ptr64
??1SnmpEndOfMibView@@UEAA@XZ
; public: virtual __cdecl SnmpEnumeratedType::~SnmpEnumeratedType(void) __ptr64
??1SnmpEnumeratedType@@UEAA@XZ
; public: virtual __cdecl SnmpErrorReport::~SnmpErrorReport(void) __ptr64
??1SnmpErrorReport@@UEAA@XZ
; public: virtual __cdecl SnmpFixedLengthDisplayStringType::~SnmpFixedLengthDisplayStringType(void) __ptr64
??1SnmpFixedLengthDisplayStringType@@UEAA@XZ
; public: virtual __cdecl SnmpFixedLengthOctetStringType::~SnmpFixedLengthOctetStringType(void) __ptr64
??1SnmpFixedLengthOctetStringType@@UEAA@XZ
; public: virtual __cdecl SnmpFixedLengthOpaqueType::~SnmpFixedLengthOpaqueType(void) __ptr64
??1SnmpFixedLengthOpaqueType@@UEAA@XZ
; public: virtual __cdecl SnmpFixedLengthPhysAddressType::~SnmpFixedLengthPhysAddressType(void) __ptr64
??1SnmpFixedLengthPhysAddressType@@UEAA@XZ
; public: virtual __cdecl SnmpFixedType::~SnmpFixedType(void) __ptr64
??1SnmpFixedType@@UEAA@XZ
; public: virtual __cdecl SnmpGauge::~SnmpGauge(void) __ptr64
??1SnmpGauge@@UEAA@XZ
; public: virtual __cdecl SnmpGaugeType::~SnmpGaugeType(void) __ptr64
??1SnmpGaugeType@@UEAA@XZ
; public: virtual __cdecl SnmpGetNextOperation::~SnmpGetNextOperation(void) __ptr64
??1SnmpGetNextOperation@@UEAA@XZ
; public: virtual __cdecl SnmpGetOperation::~SnmpGetOperation(void) __ptr64
??1SnmpGetOperation@@UEAA@XZ
; public: virtual __cdecl SnmpIPXAddressType::~SnmpIPXAddressType(void) __ptr64
??1SnmpIPXAddressType@@UEAA@XZ
; public: virtual __cdecl SnmpImpSession::~SnmpImpSession(void) __ptr64
??1SnmpImpSession@@UEAA@XZ
; public: virtual __cdecl SnmpImpTransport::~SnmpImpTransport(void) __ptr64
??1SnmpImpTransport@@UEAA@XZ
; public: virtual __cdecl SnmpInstanceType::~SnmpInstanceType(void) __ptr64
??1SnmpInstanceType@@UEAA@XZ
; public: virtual __cdecl SnmpInteger::~SnmpInteger(void) __ptr64
??1SnmpInteger@@UEAA@XZ
; public: virtual __cdecl SnmpIntegerType::~SnmpIntegerType(void) __ptr64
??1SnmpIntegerType@@UEAA@XZ
; public: virtual __cdecl SnmpIpAddress::~SnmpIpAddress(void) __ptr64
??1SnmpIpAddress@@UEAA@XZ
; public: virtual __cdecl SnmpIpAddressType::~SnmpIpAddressType(void) __ptr64
??1SnmpIpAddressType@@UEAA@XZ
; public: virtual __cdecl SnmpIpxImp::~SnmpIpxImp(void) __ptr64
??1SnmpIpxImp@@UEAA@XZ
; public: virtual __cdecl SnmpIpxTransport::~SnmpIpxTransport(void) __ptr64
??1SnmpIpxTransport@@UEAA@XZ
; public: __cdecl SnmpLexicon::~SnmpLexicon(void) __ptr64
??1SnmpLexicon@@QEAA@XZ
; public: virtual __cdecl SnmpMacAddressType::~SnmpMacAddressType(void) __ptr64
??1SnmpMacAddressType@@UEAA@XZ
; public: virtual __cdecl SnmpNegativeRangeType::~SnmpNegativeRangeType(void) __ptr64
??1SnmpNegativeRangeType@@UEAA@XZ
; public: virtual __cdecl SnmpNetworkAddressType::~SnmpNetworkAddressType(void) __ptr64
??1SnmpNetworkAddressType@@UEAA@XZ
; public: virtual __cdecl SnmpNoSuchInstance::~SnmpNoSuchInstance(void) __ptr64
??1SnmpNoSuchInstance@@UEAA@XZ
; public: virtual __cdecl SnmpNoSuchObject::~SnmpNoSuchObject(void) __ptr64
??1SnmpNoSuchObject@@UEAA@XZ
; public: virtual __cdecl SnmpNull::~SnmpNull(void) __ptr64
??1SnmpNull@@UEAA@XZ
; public: virtual __cdecl SnmpNullType::~SnmpNullType(void) __ptr64
??1SnmpNullType@@UEAA@XZ
; public: virtual __cdecl SnmpOSIAddressType::~SnmpOSIAddressType(void) __ptr64
??1SnmpOSIAddressType@@UEAA@XZ
; public: virtual __cdecl SnmpObjectIdentifier::~SnmpObjectIdentifier(void) __ptr64
??1SnmpObjectIdentifier@@UEAA@XZ
; public: virtual __cdecl SnmpObjectIdentifierType::~SnmpObjectIdentifierType(void) __ptr64
??1SnmpObjectIdentifierType@@UEAA@XZ
; public: virtual __cdecl SnmpOctetString::~SnmpOctetString(void) __ptr64
??1SnmpOctetString@@UEAA@XZ
; public: virtual __cdecl SnmpOctetStringType::~SnmpOctetStringType(void) __ptr64
??1SnmpOctetStringType@@UEAA@XZ
; public: virtual __cdecl SnmpOpaque::~SnmpOpaque(void) __ptr64
??1SnmpOpaque@@UEAA@XZ
; public: virtual __cdecl SnmpOpaqueType::~SnmpOpaqueType(void) __ptr64
??1SnmpOpaqueType@@UEAA@XZ
; public: virtual __cdecl SnmpOperation::~SnmpOperation(void) __ptr64
??1SnmpOperation@@UEAA@XZ
; public: virtual __cdecl SnmpPdu::~SnmpPdu(void) __ptr64
??1SnmpPdu@@UEAA@XZ
; public: virtual __cdecl SnmpPhysAddressType::~SnmpPhysAddressType(void) __ptr64
??1SnmpPhysAddressType@@UEAA@XZ
; public: virtual __cdecl SnmpPositiveRangeType::~SnmpPositiveRangeType(void) __ptr64
??1SnmpPositiveRangeType@@UEAA@XZ
; public: virtual __cdecl SnmpPositiveRangedType::~SnmpPositiveRangedType(void) __ptr64
??1SnmpPositiveRangedType@@UEAA@XZ
; public: virtual __cdecl SnmpRowStatusType::~SnmpRowStatusType(void) __ptr64
??1SnmpRowStatusType@@UEAA@XZ
; public: virtual __cdecl SnmpSecurity::~SnmpSecurity(void) __ptr64
??1SnmpSecurity@@UEAA@XZ
; public: virtual __cdecl SnmpSession::~SnmpSession(void) __ptr64
??1SnmpSession@@UEAA@XZ
; public: virtual __cdecl SnmpSetOperation::~SnmpSetOperation(void) __ptr64
??1SnmpSetOperation@@UEAA@XZ
; public: virtual __cdecl SnmpTimeTicks::~SnmpTimeTicks(void) __ptr64
??1SnmpTimeTicks@@UEAA@XZ
; public: virtual __cdecl SnmpTimeTicksType::~SnmpTimeTicksType(void) __ptr64
??1SnmpTimeTicksType@@UEAA@XZ
; public: virtual __cdecl SnmpTransport::~SnmpTransport(void) __ptr64
??1SnmpTransport@@UEAA@XZ
; public: virtual __cdecl SnmpTransportAddress::~SnmpTransportAddress(void) __ptr64
??1SnmpTransportAddress@@UEAA@XZ
; public: virtual __cdecl SnmpTransportIpAddress::~SnmpTransportIpAddress(void) __ptr64
??1SnmpTransportIpAddress@@UEAA@XZ
; public: virtual __cdecl SnmpTransportIpxAddress::~SnmpTransportIpxAddress(void) __ptr64
??1SnmpTransportIpxAddress@@UEAA@XZ
; public: __cdecl SnmpTrapReceiver::~SnmpTrapReceiver(void) __ptr64
??1SnmpTrapReceiver@@QEAA@XZ
; public: virtual __cdecl SnmpUDPAddressType::~SnmpUDPAddressType(void) __ptr64
??1SnmpUDPAddressType@@UEAA@XZ
; public: virtual __cdecl SnmpUInteger32::~SnmpUInteger32(void) __ptr64
??1SnmpUInteger32@@UEAA@XZ
; public: virtual __cdecl SnmpUInteger32Type::~SnmpUInteger32Type(void) __ptr64
??1SnmpUInteger32Type@@UEAA@XZ
; public: virtual __cdecl SnmpUdpIpImp::~SnmpUdpIpImp(void) __ptr64
??1SnmpUdpIpImp@@UEAA@XZ
; public: virtual __cdecl SnmpUdpIpTransport::~SnmpUdpIpTransport(void) __ptr64
??1SnmpUdpIpTransport@@UEAA@XZ
; public: virtual __cdecl SnmpV1EncodeDecode::~SnmpV1EncodeDecode(void) __ptr64
??1SnmpV1EncodeDecode@@UEAA@XZ
; public: virtual __cdecl SnmpV1OverIp::~SnmpV1OverIp(void) __ptr64
??1SnmpV1OverIp@@UEAA@XZ
; public: virtual __cdecl SnmpV1OverIpx::~SnmpV1OverIpx(void) __ptr64
??1SnmpV1OverIpx@@UEAA@XZ
; public: virtual __cdecl SnmpV2CEncodeDecode::~SnmpV2CEncodeDecode(void) __ptr64
??1SnmpV2CEncodeDecode@@UEAA@XZ
; public: virtual __cdecl SnmpV2COverIp::~SnmpV2COverIp(void) __ptr64
??1SnmpV2COverIp@@UEAA@XZ
; public: virtual __cdecl SnmpV2COverIpx::~SnmpV2COverIpx(void) __ptr64
??1SnmpV2COverIpx@@UEAA@XZ
; public: virtual __cdecl SnmpValue::~SnmpValue(void) __ptr64
??1SnmpValue@@UEAA@XZ
; public: virtual __cdecl SnmpVarBind::~SnmpVarBind(void) __ptr64
??1SnmpVarBind@@UEAA@XZ
; public: __cdecl SnmpVarBindList::~SnmpVarBindList(void) __ptr64
??1SnmpVarBindList@@QEAA@XZ
; public: __cdecl SnmpVarBindListNode::~SnmpVarBindListNode(void) __ptr64
??1SnmpVarBindListNode@@QEAA@XZ
; public: class CBString & __ptr64 __cdecl CBString::operator=(class CBString const & __ptr64) __ptr64
??4CBString@@QEAAAEAV0@AEBV0@@Z
; public: class CBString const & __ptr64 __cdecl CBString::operator=(unsigned short * __ptr64) __ptr64
??4CBString@@QEAAAEBV0@PEAG@Z
; public: class GeneralException & __ptr64 __cdecl GeneralException::operator=(class GeneralException const & __ptr64) __ptr64
??4GeneralException@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpAnalyser & __ptr64 __cdecl SnmpAnalyser::operator=(class SnmpAnalyser const & __ptr64) __ptr64
??4SnmpAnalyser@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpAutoRetrieveOperation & __ptr64 __cdecl SnmpAutoRetrieveOperation::operator=(class SnmpAutoRetrieveOperation const & __ptr64) __ptr64
??4SnmpAutoRetrieveOperation@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpBitStringType & __ptr64 __cdecl SnmpBitStringType::operator=(class SnmpBitStringType const & __ptr64) __ptr64
??4SnmpBitStringType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpClassLibrary & __ptr64 __cdecl SnmpClassLibrary::operator=(class SnmpClassLibrary const & __ptr64) __ptr64
??4SnmpClassLibrary@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpCommunityBasedSecurity & __ptr64 __cdecl SnmpCommunityBasedSecurity::operator=(class SnmpCommunityBasedSecurity const & __ptr64) __ptr64
??4SnmpCommunityBasedSecurity@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpValue & __ptr64 __cdecl SnmpCounter64::operator=(class SnmpCounter64 const & __ptr64) __ptr64
??4SnmpCounter64@@QEAAAEAVSnmpValue@@AEBV0@@Z
; public: class SnmpCounter64Type & __ptr64 __cdecl SnmpCounter64Type::operator=(class SnmpCounter64Type const & __ptr64) __ptr64
??4SnmpCounter64Type@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpValue & __ptr64 __cdecl SnmpCounter::operator=(class SnmpCounter const & __ptr64) __ptr64
??4SnmpCounter@@QEAAAEAVSnmpValue@@AEBV0@@Z
; public: class SnmpCounterType & __ptr64 __cdecl SnmpCounterType::operator=(class SnmpCounterType const & __ptr64) __ptr64
??4SnmpCounterType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpDateTimeType & __ptr64 __cdecl SnmpDateTimeType::operator=(class SnmpDateTimeType const & __ptr64) __ptr64
??4SnmpDateTimeType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpDisplayStringType & __ptr64 __cdecl SnmpDisplayStringType::operator=(class SnmpDisplayStringType const & __ptr64) __ptr64
??4SnmpDisplayStringType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpEncodeDecode & __ptr64 __cdecl SnmpEncodeDecode::operator=(class SnmpEncodeDecode const & __ptr64) __ptr64
??4SnmpEncodeDecode@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpValue & __ptr64 __cdecl SnmpEndOfMibView::operator=(class SnmpEndOfMibView const & __ptr64) __ptr64
??4SnmpEndOfMibView@@QEAAAEAVSnmpValue@@AEBV0@@Z
; public: class SnmpEnumeratedType & __ptr64 __cdecl SnmpEnumeratedType::operator=(class SnmpEnumeratedType const & __ptr64) __ptr64
??4SnmpEnumeratedType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpErrorReport & __ptr64 __cdecl SnmpErrorReport::operator=(class SnmpErrorReport const & __ptr64) __ptr64
??4SnmpErrorReport@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpFixedLengthDisplayStringType & __ptr64 __cdecl SnmpFixedLengthDisplayStringType::operator=(class SnmpFixedLengthDisplayStringType const & __ptr64) __ptr64
??4SnmpFixedLengthDisplayStringType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpFixedLengthOctetStringType & __ptr64 __cdecl SnmpFixedLengthOctetStringType::operator=(class SnmpFixedLengthOctetStringType const & __ptr64) __ptr64
??4SnmpFixedLengthOctetStringType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpFixedLengthOpaqueType & __ptr64 __cdecl SnmpFixedLengthOpaqueType::operator=(class SnmpFixedLengthOpaqueType const & __ptr64) __ptr64
??4SnmpFixedLengthOpaqueType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpFixedLengthPhysAddressType & __ptr64 __cdecl SnmpFixedLengthPhysAddressType::operator=(class SnmpFixedLengthPhysAddressType const & __ptr64) __ptr64
??4SnmpFixedLengthPhysAddressType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpFixedType & __ptr64 __cdecl SnmpFixedType::operator=(class SnmpFixedType const & __ptr64) __ptr64
??4SnmpFixedType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpValue & __ptr64 __cdecl SnmpGauge::operator=(class SnmpGauge const & __ptr64) __ptr64
??4SnmpGauge@@QEAAAEAVSnmpValue@@AEBV0@@Z
; public: class SnmpGaugeType & __ptr64 __cdecl SnmpGaugeType::operator=(class SnmpGaugeType const & __ptr64) __ptr64
??4SnmpGaugeType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpIPXAddressType & __ptr64 __cdecl SnmpIPXAddressType::operator=(class SnmpIPXAddressType const & __ptr64) __ptr64
??4SnmpIPXAddressType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpInstanceType & __ptr64 __cdecl SnmpInstanceType::operator=(class SnmpInstanceType const & __ptr64) __ptr64
??4SnmpInstanceType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpValue & __ptr64 __cdecl SnmpInteger::operator=(class SnmpInteger const & __ptr64) __ptr64
??4SnmpInteger@@QEAAAEAVSnmpValue@@AEBV0@@Z
; public: class SnmpIntegerType & __ptr64 __cdecl SnmpIntegerType::operator=(class SnmpIntegerType const & __ptr64) __ptr64
??4SnmpIntegerType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpValue & __ptr64 __cdecl SnmpIpAddress::operator=(class SnmpIpAddress const & __ptr64) __ptr64
??4SnmpIpAddress@@QEAAAEAVSnmpValue@@AEBV0@@Z
; public: class SnmpIpAddressType & __ptr64 __cdecl SnmpIpAddressType::operator=(class SnmpIpAddressType const & __ptr64) __ptr64
??4SnmpIpAddressType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpLexicon & __ptr64 __cdecl SnmpLexicon::operator=(class SnmpLexicon const & __ptr64) __ptr64
??4SnmpLexicon@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpMacAddressType & __ptr64 __cdecl SnmpMacAddressType::operator=(class SnmpMacAddressType const & __ptr64) __ptr64
??4SnmpMacAddressType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpNegativeRangeType & __ptr64 __cdecl SnmpNegativeRangeType::operator=(class SnmpNegativeRangeType const & __ptr64) __ptr64
??4SnmpNegativeRangeType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpNetworkAddressType & __ptr64 __cdecl SnmpNetworkAddressType::operator=(class SnmpNetworkAddressType const & __ptr64) __ptr64
??4SnmpNetworkAddressType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpValue & __ptr64 __cdecl SnmpNoSuchInstance::operator=(class SnmpNoSuchInstance const & __ptr64) __ptr64
??4SnmpNoSuchInstance@@QEAAAEAVSnmpValue@@AEBV0@@Z
; public: class SnmpValue & __ptr64 __cdecl SnmpNoSuchObject::operator=(class SnmpNoSuchObject const & __ptr64) __ptr64
??4SnmpNoSuchObject@@QEAAAEAVSnmpValue@@AEBV0@@Z
; public: class SnmpValue & __ptr64 __cdecl SnmpNull::operator=(class SnmpNull const & __ptr64) __ptr64
??4SnmpNull@@QEAAAEAVSnmpValue@@AEBV0@@Z
; public: class SnmpNullType & __ptr64 __cdecl SnmpNullType::operator=(class SnmpNullType const & __ptr64) __ptr64
??4SnmpNullType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpOSIAddressType & __ptr64 __cdecl SnmpOSIAddressType::operator=(class SnmpOSIAddressType const & __ptr64) __ptr64
??4SnmpOSIAddressType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpValue & __ptr64 __cdecl SnmpObjectIdentifier::operator=(class SnmpObjectIdentifier const & __ptr64) __ptr64
??4SnmpObjectIdentifier@@QEAAAEAVSnmpValue@@AEBV0@@Z
; public: class SnmpObjectIdentifierType & __ptr64 __cdecl SnmpObjectIdentifierType::operator=(class SnmpObjectIdentifierType const & __ptr64) __ptr64
??4SnmpObjectIdentifierType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpValue & __ptr64 __cdecl SnmpOctetString::operator=(class SnmpOctetString const & __ptr64) __ptr64
??4SnmpOctetString@@QEAAAEAVSnmpValue@@AEBV0@@Z
; public: class SnmpOctetStringType & __ptr64 __cdecl SnmpOctetStringType::operator=(class SnmpOctetStringType const & __ptr64) __ptr64
??4SnmpOctetStringType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpValue & __ptr64 __cdecl SnmpOpaque::operator=(class SnmpOpaque const & __ptr64) __ptr64
??4SnmpOpaque@@QEAAAEAVSnmpValue@@AEBV0@@Z
; public: class SnmpOpaqueType & __ptr64 __cdecl SnmpOpaqueType::operator=(class SnmpOpaqueType const & __ptr64) __ptr64
??4SnmpOpaqueType@@QEAAAEAV0@AEBV0@@Z
; private: class SnmpOperation & __ptr64 __cdecl SnmpOperation::operator=(class SnmpOperation const & __ptr64) __ptr64
??4SnmpOperation@@AEAAAEAV0@AEBV0@@Z
; public: class SnmpPdu & __ptr64 __cdecl SnmpPdu::operator=(class SnmpPdu const & __ptr64) __ptr64
??4SnmpPdu@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpPhysAddressType & __ptr64 __cdecl SnmpPhysAddressType::operator=(class SnmpPhysAddressType const & __ptr64) __ptr64
??4SnmpPhysAddressType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpPositiveRangeType & __ptr64 __cdecl SnmpPositiveRangeType::operator=(class SnmpPositiveRangeType const & __ptr64) __ptr64
??4SnmpPositiveRangeType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpPositiveRangedType & __ptr64 __cdecl SnmpPositiveRangedType::operator=(class SnmpPositiveRangedType const & __ptr64) __ptr64
??4SnmpPositiveRangedType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpRowStatusType & __ptr64 __cdecl SnmpRowStatusType::operator=(class SnmpRowStatusType const & __ptr64) __ptr64
??4SnmpRowStatusType@@QEAAAEAV0@AEBV0@@Z
; private: class SnmpSecurity & __ptr64 __cdecl SnmpSecurity::operator=(class SnmpSecurity const & __ptr64) __ptr64
??4SnmpSecurity@@AEAAAEAV0@AEBV0@@Z
; private: class SnmpSession & __ptr64 __cdecl SnmpSession::operator=(class SnmpSession const & __ptr64) __ptr64
??4SnmpSession@@AEAAAEAV0@AEBV0@@Z
; public: class SnmpValue & __ptr64 __cdecl SnmpTimeTicks::operator=(class SnmpTimeTicks const & __ptr64) __ptr64
??4SnmpTimeTicks@@QEAAAEAVSnmpValue@@AEBV0@@Z
; public: class SnmpTimeTicksType & __ptr64 __cdecl SnmpTimeTicksType::operator=(class SnmpTimeTicksType const & __ptr64) __ptr64
??4SnmpTimeTicksType@@QEAAAEAV0@AEBV0@@Z
; private: class SnmpTransport & __ptr64 __cdecl SnmpTransport::operator=(class SnmpTransport const & __ptr64) __ptr64
??4SnmpTransport@@AEAAAEAV0@AEBV0@@Z
; private: class SnmpTransportAddress & __ptr64 __cdecl SnmpTransportAddress::operator=(class SnmpTransportAddress const & __ptr64) __ptr64
??4SnmpTransportAddress@@AEAAAEAV0@AEBV0@@Z
; public: class SnmpTransportIpAddress & __ptr64 __cdecl SnmpTransportIpAddress::operator=(class SnmpTransportIpAddress const & __ptr64) __ptr64
??4SnmpTransportIpAddress@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpTransportIpAddress & __ptr64 __cdecl SnmpTransportIpAddress::operator=(unsigned char const * __ptr64) __ptr64
??4SnmpTransportIpAddress@@QEAAAEAV0@PEBE@Z
; public: class SnmpTransportIpxAddress & __ptr64 __cdecl SnmpTransportIpxAddress::operator=(class SnmpTransportIpxAddress const & __ptr64) __ptr64
??4SnmpTransportIpxAddress@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpTransportIpxAddress & __ptr64 __cdecl SnmpTransportIpxAddress::operator=(unsigned char const * __ptr64) __ptr64
??4SnmpTransportIpxAddress@@QEAAAEAV0@PEBE@Z
; public: class SnmpTrapReceiver & __ptr64 __cdecl SnmpTrapReceiver::operator=(class SnmpTrapReceiver const & __ptr64) __ptr64
??4SnmpTrapReceiver@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpUDPAddressType & __ptr64 __cdecl SnmpUDPAddressType::operator=(class SnmpUDPAddressType const & __ptr64) __ptr64
??4SnmpUDPAddressType@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpValue & __ptr64 __cdecl SnmpUInteger32::operator=(class SnmpUInteger32 const & __ptr64) __ptr64
??4SnmpUInteger32@@QEAAAEAVSnmpValue@@AEBV0@@Z
; public: class SnmpUInteger32Type & __ptr64 __cdecl SnmpUInteger32Type::operator=(class SnmpUInteger32Type const & __ptr64) __ptr64
??4SnmpUInteger32Type@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpV1EncodeDecode & __ptr64 __cdecl SnmpV1EncodeDecode::operator=(class SnmpV1EncodeDecode const & __ptr64) __ptr64
??4SnmpV1EncodeDecode@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpV2CEncodeDecode & __ptr64 __cdecl SnmpV2CEncodeDecode::operator=(class SnmpV2CEncodeDecode const & __ptr64) __ptr64
??4SnmpV2CEncodeDecode@@QEAAAEAV0@AEBV0@@Z
; private: class SnmpValue & __ptr64 __cdecl SnmpValue::operator=(class SnmpValue const & __ptr64) __ptr64
??4SnmpValue@@AEAAAEAV0@AEBV0@@Z
; public: class SnmpVarBind & __ptr64 __cdecl SnmpVarBind::operator=(class SnmpVarBind const & __ptr64) __ptr64
??4SnmpVarBind@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpVarBindList & __ptr64 __cdecl SnmpVarBindList::operator=(class SnmpVarBindList & __ptr64) __ptr64
??4SnmpVarBindList@@QEAAAEAV0@AEAV0@@Z
; public: class SnmpVarBindListNode & __ptr64 __cdecl SnmpVarBindListNode::operator=(class SnmpVarBindListNode const & __ptr64) __ptr64
??4SnmpVarBindListNode@@QEAAAEAV0@AEBV0@@Z
; public: int __cdecl SnmpInstanceType::operator==(class SnmpInstanceType const & __ptr64)const  __ptr64
??8SnmpInstanceType@@QEBAHAEBV0@@Z
; public: int __cdecl SnmpObjectIdentifier::operator==(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
??8SnmpObjectIdentifier@@QEBAHAEBV0@@Z
; public: int __cdecl SnmpTransportIpAddress::operator==(class SnmpTransportIpAddress const & __ptr64)const  __ptr64
??8SnmpTransportIpAddress@@QEBAHAEBV0@@Z
; public: int __cdecl SnmpTransportIpxAddress::operator==(class SnmpTransportIpxAddress const & __ptr64)const  __ptr64
??8SnmpTransportIpxAddress@@QEBAHAEBV0@@Z
; public: int __cdecl SnmpValue::operator==(class SnmpValue const & __ptr64)const  __ptr64
??8SnmpValue@@QEBAHAEBV0@@Z
; public: int __cdecl SnmpInstanceType::operator!=(class SnmpInstanceType const & __ptr64)const  __ptr64
??9SnmpInstanceType@@QEBAHAEBV0@@Z
; public: int __cdecl SnmpObjectIdentifier::operator!=(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
??9SnmpObjectIdentifier@@QEBAHAEBV0@@Z
; public: int __cdecl SnmpTransportIpAddress::operator!=(class SnmpTransportIpAddress const & __ptr64)const  __ptr64
??9SnmpTransportIpAddress@@QEBAHAEBV0@@Z
; public: int __cdecl SnmpTransportIpxAddress::operator!=(class SnmpTransportIpxAddress const & __ptr64)const  __ptr64
??9SnmpTransportIpxAddress@@QEBAHAEBV0@@Z
; public: int __cdecl SnmpValue::operator!=(class SnmpValue const & __ptr64)const  __ptr64
??9SnmpValue@@QEBAHAEBV0@@Z
; public: unsigned long & __ptr64 __cdecl SnmpObjectIdentifier::operator[](unsigned long)const  __ptr64
??ASnmpObjectIdentifier@@QEBAAEAKK@Z
; public: virtual unsigned char __cdecl SnmpTransportIpAddress::operator[](unsigned short)const  __ptr64
??ASnmpTransportIpAddress@@UEBAEG@Z
; public: virtual unsigned char __cdecl SnmpTransportIpxAddress::operator[](unsigned short)const  __ptr64
??ASnmpTransportIpxAddress@@UEBAEG@Z
; public: class SnmpVarBind * __ptr64 __cdecl SnmpVarBindList::operator[](unsigned int) __ptr64
??ASnmpVarBindList@@QEAAPEAVSnmpVarBind@@I@Z
; public: virtual __cdecl SnmpAnalyser::operator void * __ptr64(void) __ptr64
??BSnmpAnalyser@@UEAAPEAXXZ
; public: virtual __cdecl SnmpCommunityBasedSecurity::operator void * __ptr64(void)const  __ptr64
??BSnmpCommunityBasedSecurity@@UEBAPEAXXZ
; public: __cdecl SnmpErrorReport::operator void * __ptr64(void)const  __ptr64
??BSnmpErrorReport@@QEBAPEAXXZ
; public: __cdecl SnmpImpSession::operator void * __ptr64(void)const  __ptr64
??BSnmpImpSession@@QEBAPEAXXZ
; public: virtual __cdecl SnmpInstanceType::operator void * __ptr64(void) __ptr64
??BSnmpInstanceType@@UEAAPEAXXZ
; public: __cdecl SnmpOperation::operator void * __ptr64(void)const  __ptr64
??BSnmpOperation@@QEBAPEAXXZ
; public: __cdecl SnmpPdu::operator void * __ptr64(void)const  __ptr64
??BSnmpPdu@@QEBAPEAXXZ
; public: virtual __cdecl SnmpPositiveRangedType::operator void * __ptr64(void) __ptr64
??BSnmpPositiveRangedType@@UEAAPEAXXZ
; public: virtual __cdecl SnmpTransportIpAddress::operator void * __ptr64(void)const  __ptr64
??BSnmpTransportIpAddress@@UEBAPEAXXZ
; public: virtual __cdecl SnmpTransportIpxAddress::operator void * __ptr64(void)const  __ptr64
??BSnmpTransportIpxAddress@@UEBAPEAXXZ
; public: class SnmpObjectIdentifier  __cdecl SnmpObjectIdentifier::operator+(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
??HSnmpObjectIdentifier@@QEBA?AV0@AEBV0@@Z
; public: int __cdecl SnmpObjectIdentifier::operator<(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
??MSnmpObjectIdentifier@@QEBAHAEBV0@@Z
; public: int __cdecl SnmpObjectIdentifier::operator<=(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
??NSnmpObjectIdentifier@@QEBAHAEBV0@@Z
; public: int __cdecl SnmpObjectIdentifier::operator>(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
??OSnmpObjectIdentifier@@QEBAHAEBV0@@Z
; public: int __cdecl SnmpObjectIdentifier::operator>=(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
??PSnmpObjectIdentifier@@QEBAHAEBV0@@Z
; public: virtual void * __ptr64 __cdecl SnmpCommunityBasedSecurity::operator()(void)const  __ptr64
??RSnmpCommunityBasedSecurity@@UEBAPEAXXZ
; public: virtual void * __ptr64 __cdecl SnmpEncodeDecode::operator()(void)const  __ptr64
??RSnmpEncodeDecode@@UEBAPEAXXZ
; public: void * __ptr64 __cdecl SnmpErrorReport::operator()(void)const  __ptr64
??RSnmpErrorReport@@QEBAPEAXXZ
; public: virtual void * __ptr64 __cdecl SnmpImpSession::operator()(void)const  __ptr64
??RSnmpImpSession@@UEBAPEAXXZ
; public: virtual void * __ptr64 __cdecl SnmpImpTransport::operator()(void)const  __ptr64
??RSnmpImpTransport@@UEBAPEAXXZ
; public: void * __ptr64 __cdecl SnmpIpAddress::operator()(void)const  __ptr64
??RSnmpIpAddress@@QEBAPEAXXZ
; public: virtual void * __ptr64 __cdecl SnmpIpxImp::operator()(void)const  __ptr64
??RSnmpIpxImp@@UEBAPEAXXZ
; public: void * __ptr64 __cdecl SnmpObjectIdentifier::operator()(void)const  __ptr64
??RSnmpObjectIdentifier@@QEBAPEAXXZ
; public: void * __ptr64 __cdecl SnmpOctetString::operator()(void)const  __ptr64
??RSnmpOctetString@@QEBAPEAXXZ
; public: void * __ptr64 __cdecl SnmpOpaque::operator()(void)const  __ptr64
??RSnmpOpaque@@QEBAPEAXXZ
; public: void * __ptr64 __cdecl SnmpOperation::operator()(void)const  __ptr64
??RSnmpOperation@@QEBAPEAXXZ
; public: void * __ptr64 __cdecl SnmpPdu::operator()(void)const  __ptr64
??RSnmpPdu@@QEBAPEAXXZ
; public: virtual void * __ptr64 __cdecl SnmpTransportIpAddress::operator()(void)const  __ptr64
??RSnmpTransportIpAddress@@UEBAPEAXXZ
; public: virtual void * __ptr64 __cdecl SnmpTransportIpxAddress::operator()(void)const  __ptr64
??RSnmpTransportIpxAddress@@UEBAPEAXXZ
; public: virtual void * __ptr64 __cdecl SnmpUdpIpImp::operator()(void)const  __ptr64
??RSnmpUdpIpImp@@UEBAPEAXXZ
; public: virtual void * __ptr64 __cdecl SnmpV1OverIp::operator()(void)const  __ptr64
??RSnmpV1OverIp@@UEBAPEAXXZ
; public: virtual void * __ptr64 __cdecl SnmpV1OverIpx::operator()(void)const  __ptr64
??RSnmpV1OverIpx@@UEBAPEAXXZ
; public: virtual void * __ptr64 __cdecl SnmpV2COverIp::operator()(void)const  __ptr64
??RSnmpV2COverIp@@UEBAPEAXXZ
; public: virtual void * __ptr64 __cdecl SnmpV2COverIpx::operator()(void)const  __ptr64
??RSnmpV2COverIpx@@UEBAPEAXXZ
; const  GeneralException::`vftable'
??_7GeneralException@@6B@
; const  GetNextOperation::`vftable'
??_7GetNextOperation@@6B@
; const  SnmpAnalyser::`vftable'
??_7SnmpAnalyser@@6B@
; const  SnmpAutoRetrieveOperation::`vftable'
??_7SnmpAutoRetrieveOperation@@6B@
; const  SnmpBitStringType::`vftable'{for `SnmpInstanceType'}
??_7SnmpBitStringType@@6BSnmpInstanceType@@@
; const  SnmpBitStringType::`vftable'{for `SnmpPositiveRangedType'}
??_7SnmpBitStringType@@6BSnmpPositiveRangedType@@@
; const  SnmpClassLibrary::`vftable'
??_7SnmpClassLibrary@@6B@
; const  SnmpCommunityBasedSecurity::`vftable'
??_7SnmpCommunityBasedSecurity@@6B@
; const  SnmpCounter64::`vftable'
??_7SnmpCounter64@@6B@
; const  SnmpCounter64Type::`vftable'
??_7SnmpCounter64Type@@6B@
; const  SnmpCounter::`vftable'
??_7SnmpCounter@@6B@
; const  SnmpCounterType::`vftable'
??_7SnmpCounterType@@6B@
; const  SnmpDateTimeType::`vftable'{for `SnmpInstanceType'}
??_7SnmpDateTimeType@@6BSnmpInstanceType@@@
; const  SnmpDateTimeType::`vftable'{for `SnmpPositiveRangedType'}
??_7SnmpDateTimeType@@6BSnmpPositiveRangedType@@@
; const  SnmpDisplayStringType::`vftable'{for `SnmpInstanceType'}
??_7SnmpDisplayStringType@@6BSnmpInstanceType@@@
; const  SnmpDisplayStringType::`vftable'{for `SnmpPositiveRangedType'}
??_7SnmpDisplayStringType@@6BSnmpPositiveRangedType@@@
; const  SnmpEncodeDecode::`vftable'
??_7SnmpEncodeDecode@@6B@
; const  SnmpEndOfMibView::`vftable'
??_7SnmpEndOfMibView@@6B@
; const  SnmpEnumeratedType::`vftable'{for `SnmpInstanceType'}
??_7SnmpEnumeratedType@@6BSnmpInstanceType@@@
; const  SnmpEnumeratedType::`vftable'{for `SnmpNegativeRangedType'}
??_7SnmpEnumeratedType@@6BSnmpNegativeRangedType@@@
; const  SnmpErrorReport::`vftable'
??_7SnmpErrorReport@@6B@
; const  SnmpFixedLengthDisplayStringType::`vftable'
??_7SnmpFixedLengthDisplayStringType@@6B@
; const  SnmpFixedLengthDisplayStringType::`vftable'{for `SnmpInstanceType'}
??_7SnmpFixedLengthDisplayStringType@@6BSnmpInstanceType@@@
; const  SnmpFixedLengthDisplayStringType::`vftable'{for `SnmpPositiveRangedType'}
??_7SnmpFixedLengthDisplayStringType@@6BSnmpPositiveRangedType@@@
; const  SnmpFixedLengthOctetStringType::`vftable'
??_7SnmpFixedLengthOctetStringType@@6B@
; const  SnmpFixedLengthOctetStringType::`vftable'{for `SnmpInstanceType'}
??_7SnmpFixedLengthOctetStringType@@6BSnmpInstanceType@@@
; const  SnmpFixedLengthOctetStringType::`vftable'{for `SnmpPositiveRangedType'}
??_7SnmpFixedLengthOctetStringType@@6BSnmpPositiveRangedType@@@
; const  SnmpFixedLengthOpaqueType::`vftable'
??_7SnmpFixedLengthOpaqueType@@6B@
; const  SnmpFixedLengthOpaqueType::`vftable'{for `SnmpInstanceType'}
??_7SnmpFixedLengthOpaqueType@@6BSnmpInstanceType@@@
; const  SnmpFixedLengthOpaqueType::`vftable'{for `SnmpPositiveRangedType'}
??_7SnmpFixedLengthOpaqueType@@6BSnmpPositiveRangedType@@@
; const  SnmpFixedLengthPhysAddressType::`vftable'
??_7SnmpFixedLengthPhysAddressType@@6B@
; const  SnmpFixedLengthPhysAddressType::`vftable'{for `SnmpInstanceType'}
??_7SnmpFixedLengthPhysAddressType@@6BSnmpInstanceType@@@
; const  SnmpFixedLengthPhysAddressType::`vftable'{for `SnmpPositiveRangedType'}
??_7SnmpFixedLengthPhysAddressType@@6BSnmpPositiveRangedType@@@
; const  SnmpFixedType::`vftable'
??_7SnmpFixedType@@6B@
; const  SnmpGauge::`vftable'
??_7SnmpGauge@@6B@
; const  SnmpGaugeType::`vftable'{for `SnmpInstanceType'}
??_7SnmpGaugeType@@6BSnmpInstanceType@@@
; const  SnmpGaugeType::`vftable'{for `SnmpPositiveRangedType'}
??_7SnmpGaugeType@@6BSnmpPositiveRangedType@@@
; const  SnmpGetNextOperation::`vftable'
??_7SnmpGetNextOperation@@6B@
; const  SnmpGetOperation::`vftable'
??_7SnmpGetOperation@@6B@
; const  SnmpIPXAddressType::`vftable'
??_7SnmpIPXAddressType@@6B@
; const  SnmpIPXAddressType::`vftable'{for `SnmpInstanceType'}
??_7SnmpIPXAddressType@@6BSnmpInstanceType@@@
; const  SnmpIPXAddressType::`vftable'{for `SnmpPositiveRangedType'}
??_7SnmpIPXAddressType@@6BSnmpPositiveRangedType@@@
; const  SnmpImpSession::`vftable'
??_7SnmpImpSession@@6B@
; const  SnmpImpTransport::`vftable'
??_7SnmpImpTransport@@6B@
; const  SnmpInstanceType::`vftable'
??_7SnmpInstanceType@@6B@
; const  SnmpInteger::`vftable'
??_7SnmpInteger@@6B@
; const  SnmpIntegerType::`vftable'{for `SnmpInstanceType'}
??_7SnmpIntegerType@@6BSnmpInstanceType@@@
; const  SnmpIntegerType::`vftable'{for `SnmpNegativeRangedType'}
??_7SnmpIntegerType@@6BSnmpNegativeRangedType@@@
; const  SnmpIpAddress::`vftable'
??_7SnmpIpAddress@@6B@
; const  SnmpIpAddressType::`vftable'
??_7SnmpIpAddressType@@6B@
; const  SnmpIpxImp::`vftable'{for `SnmpIpxTransport'}
??_7SnmpIpxImp@@6BSnmpIpxTransport@@@
; const  SnmpIpxImp::`vftable'{for `SnmpTransportIpxAddress'}
??_7SnmpIpxImp@@6BSnmpTransportIpxAddress@@@
; const  SnmpIpxTransport::`vftable'
??_7SnmpIpxTransport@@6B@
; const  SnmpMacAddressType::`vftable'
??_7SnmpMacAddressType@@6B@
; const  SnmpMacAddressType::`vftable'{for `SnmpInstanceType'}
??_7SnmpMacAddressType@@6BSnmpInstanceType@@@
; const  SnmpMacAddressType::`vftable'{for `SnmpPositiveRangedType'}
??_7SnmpMacAddressType@@6BSnmpPositiveRangedType@@@
; const  SnmpNegativeRangeType::`vftable'
??_7SnmpNegativeRangeType@@6B@
; const  SnmpNetworkAddressType::`vftable'
??_7SnmpNetworkAddressType@@6B@
; const  SnmpNoSuchInstance::`vftable'
??_7SnmpNoSuchInstance@@6B@
; const  SnmpNoSuchObject::`vftable'
??_7SnmpNoSuchObject@@6B@
; const  SnmpNull::`vftable'
??_7SnmpNull@@6B@
; const  SnmpNullType::`vftable'
??_7SnmpNullType@@6B@
; const  SnmpOSIAddressType::`vftable'{for `SnmpInstanceType'}
??_7SnmpOSIAddressType@@6BSnmpInstanceType@@@
; const  SnmpOSIAddressType::`vftable'{for `SnmpPositiveRangedType'}
??_7SnmpOSIAddressType@@6BSnmpPositiveRangedType@@@
; const  SnmpObjectIdentifier::`vftable'
??_7SnmpObjectIdentifier@@6B@
; const  SnmpObjectIdentifierType::`vftable'
??_7SnmpObjectIdentifierType@@6B@
; const  SnmpOctetString::`vftable'
??_7SnmpOctetString@@6B@
; const  SnmpOctetStringType::`vftable'{for `SnmpInstanceType'}
??_7SnmpOctetStringType@@6BSnmpInstanceType@@@
; const  SnmpOctetStringType::`vftable'{for `SnmpPositiveRangedType'}
??_7SnmpOctetStringType@@6BSnmpPositiveRangedType@@@
; const  SnmpOpaque::`vftable'
??_7SnmpOpaque@@6B@
; const  SnmpOpaqueType::`vftable'{for `SnmpInstanceType'}
??_7SnmpOpaqueType@@6BSnmpInstanceType@@@
; const  SnmpOpaqueType::`vftable'{for `SnmpPositiveRangedType'}
??_7SnmpOpaqueType@@6BSnmpPositiveRangedType@@@
; const  SnmpOperation::`vftable'
??_7SnmpOperation@@6B@
; const  SnmpPdu::`vftable'
??_7SnmpPdu@@6B@
; const  SnmpPhysAddressType::`vftable'{for `SnmpInstanceType'}
??_7SnmpPhysAddressType@@6BSnmpInstanceType@@@
; const  SnmpPhysAddressType::`vftable'{for `SnmpPositiveRangedType'}
??_7SnmpPhysAddressType@@6BSnmpPositiveRangedType@@@
; const  SnmpPositiveRangeType::`vftable'
??_7SnmpPositiveRangeType@@6B@
; const  SnmpPositiveRangedType::`vftable'
??_7SnmpPositiveRangedType@@6B@
; const  SnmpRowStatusType::`vftable'{for `SnmpInstanceType'}
??_7SnmpRowStatusType@@6BSnmpInstanceType@@@
; const  SnmpRowStatusType::`vftable'{for `SnmpNegativeRangedType'}
??_7SnmpRowStatusType@@6BSnmpNegativeRangedType@@@
; const  SnmpSecurity::`vftable'
??_7SnmpSecurity@@6B@
; const  SnmpSession::`vftable'
??_7SnmpSession@@6B@
; const  SnmpSetOperation::`vftable'
??_7SnmpSetOperation@@6B@
; const  SnmpTimeTicks::`vftable'
??_7SnmpTimeTicks@@6B@
; const  SnmpTimeTicksType::`vftable'
??_7SnmpTimeTicksType@@6B@
; const  SnmpTransport::`vftable'
??_7SnmpTransport@@6B@
; const  SnmpTransportAddress::`vftable'
??_7SnmpTransportAddress@@6B@
; const  SnmpTransportIpAddress::`vftable'
??_7SnmpTransportIpAddress@@6B@
; const  SnmpTransportIpxAddress::`vftable'
??_7SnmpTransportIpxAddress@@6B@
; const  SnmpTrapReceiver::`vftable'
??_7SnmpTrapReceiver@@6B@
; const  SnmpUDPAddressType::`vftable'
??_7SnmpUDPAddressType@@6B@
; const  SnmpUDPAddressType::`vftable'{for `SnmpInstanceType'}
??_7SnmpUDPAddressType@@6BSnmpInstanceType@@@
; const  SnmpUDPAddressType::`vftable'{for `SnmpPositiveRangedType'}
??_7SnmpUDPAddressType@@6BSnmpPositiveRangedType@@@
; const  SnmpUInteger32::`vftable'
??_7SnmpUInteger32@@6B@
; const  SnmpUInteger32Type::`vftable'{for `SnmpInstanceType'}
??_7SnmpUInteger32Type@@6BSnmpInstanceType@@@
; const  SnmpUInteger32Type::`vftable'{for `SnmpPositiveRangedType'}
??_7SnmpUInteger32Type@@6BSnmpPositiveRangedType@@@
; const  SnmpUdpIpImp::`vftable'{for `SnmpTransportIpAddress'}
??_7SnmpUdpIpImp@@6BSnmpTransportIpAddress@@@
; const  SnmpUdpIpImp::`vftable'{for `SnmpUdpIpTransport'}
??_7SnmpUdpIpImp@@6BSnmpUdpIpTransport@@@
; const  SnmpUdpIpTransport::`vftable'
??_7SnmpUdpIpTransport@@6B@
; const  SnmpV1EncodeDecode::`vftable'
??_7SnmpV1EncodeDecode@@6B@
; const  SnmpV1OverIp::`vftable'{for `SnmpCommunityBasedSecurity'}
??_7SnmpV1OverIp@@6BSnmpCommunityBasedSecurity@@@
; const  SnmpV1OverIp::`vftable'{for `SnmpImpSession'}
??_7SnmpV1OverIp@@6BSnmpImpSession@@@
; const  SnmpV1OverIp::`vftable'{for `SnmpTransportIpAddress'}
??_7SnmpV1OverIp@@6BSnmpTransportIpAddress@@@
; const  SnmpV1OverIp::`vftable'{for `SnmpUdpIpTransport'}
??_7SnmpV1OverIp@@6BSnmpUdpIpTransport@@@
; const  SnmpV1OverIp::`vftable'{for `SnmpV1EncodeDecode'}
??_7SnmpV1OverIp@@6BSnmpV1EncodeDecode@@@
; const  SnmpV1OverIpx::`vftable'{for `SnmpCommunityBasedSecurity'}
??_7SnmpV1OverIpx@@6BSnmpCommunityBasedSecurity@@@
; const  SnmpV1OverIpx::`vftable'{for `SnmpImpSession'}
??_7SnmpV1OverIpx@@6BSnmpImpSession@@@
; const  SnmpV1OverIpx::`vftable'{for `SnmpIpxTransport'}
??_7SnmpV1OverIpx@@6BSnmpIpxTransport@@@
; const  SnmpV1OverIpx::`vftable'{for `SnmpTransportIpxAddress'}
??_7SnmpV1OverIpx@@6BSnmpTransportIpxAddress@@@
; const  SnmpV1OverIpx::`vftable'{for `SnmpV1EncodeDecode'}
??_7SnmpV1OverIpx@@6BSnmpV1EncodeDecode@@@
; const  SnmpV2CEncodeDecode::`vftable'
??_7SnmpV2CEncodeDecode@@6B@
; const  SnmpV2COverIp::`vftable'{for `SnmpCommunityBasedSecurity'}
??_7SnmpV2COverIp@@6BSnmpCommunityBasedSecurity@@@
; const  SnmpV2COverIp::`vftable'{for `SnmpImpSession'}
??_7SnmpV2COverIp@@6BSnmpImpSession@@@
; const  SnmpV2COverIp::`vftable'{for `SnmpTransportIpAddress'}
??_7SnmpV2COverIp@@6BSnmpTransportIpAddress@@@
; const  SnmpV2COverIp::`vftable'{for `SnmpUdpIpTransport'}
??_7SnmpV2COverIp@@6BSnmpUdpIpTransport@@@
; const  SnmpV2COverIp::`vftable'{for `SnmpV2CEncodeDecode'}
??_7SnmpV2COverIp@@6BSnmpV2CEncodeDecode@@@
; const  SnmpV2COverIpx::`vftable'{for `SnmpCommunityBasedSecurity'}
??_7SnmpV2COverIpx@@6BSnmpCommunityBasedSecurity@@@
; const  SnmpV2COverIpx::`vftable'{for `SnmpImpSession'}
??_7SnmpV2COverIpx@@6BSnmpImpSession@@@
; const  SnmpV2COverIpx::`vftable'{for `SnmpIpxTransport'}
??_7SnmpV2COverIpx@@6BSnmpIpxTransport@@@
; const  SnmpV2COverIpx::`vftable'{for `SnmpTransportIpxAddress'}
??_7SnmpV2COverIpx@@6BSnmpTransportIpxAddress@@@
; const  SnmpV2COverIpx::`vftable'{for `SnmpV2CEncodeDecode'}
??_7SnmpV2COverIpx@@6BSnmpV2CEncodeDecode@@@
; const  SnmpValue::`vftable'
??_7SnmpValue@@6B@
; const  SnmpVarBind::`vftable'
??_7SnmpVarBind@@6B@
; public: void __cdecl SnmpAnalyser::`default constructor closure'(void) __ptr64
??_FSnmpAnalyser@@QEAAXXZ
; public: void __cdecl SnmpCommunityBasedSecurity::`default constructor closure'(void) __ptr64
??_FSnmpCommunityBasedSecurity@@QEAAXXZ
; public: void __cdecl SnmpDisplayStringType::`default constructor closure'(void) __ptr64
??_FSnmpDisplayStringType@@QEAAXXZ
; public: void __cdecl SnmpGaugeType::`default constructor closure'(void) __ptr64
??_FSnmpGaugeType@@QEAAXXZ
; public: void __cdecl SnmpInstanceType::`default constructor closure'(void) __ptr64
??_FSnmpInstanceType@@QEAAXXZ
; public: void __cdecl SnmpIntegerType::`default constructor closure'(void) __ptr64
??_FSnmpIntegerType@@QEAAXXZ
; public: void __cdecl SnmpOctetStringType::`default constructor closure'(void) __ptr64
??_FSnmpOctetStringType@@QEAAXXZ
; public: void __cdecl SnmpOpaqueType::`default constructor closure'(void) __ptr64
??_FSnmpOpaqueType@@QEAAXXZ
; public: void __cdecl SnmpPhysAddressType::`default constructor closure'(void) __ptr64
??_FSnmpPhysAddressType@@QEAAXXZ
; public: void __cdecl SnmpPositiveRangedType::`default constructor closure'(void) __ptr64
??_FSnmpPositiveRangedType@@QEAAXXZ
; public: void __cdecl SnmpUInteger32Type::`default constructor closure'(void) __ptr64
??_FSnmpUInteger32Type@@QEAAXXZ
; public: void __cdecl SnmpVarBindList::Add(class SnmpVarBind const & __ptr64) __ptr64
?Add@SnmpVarBindList@@QEAAXAEBVSnmpVarBind@@@Z
; public: void __cdecl SnmpVarBindList::AddNoReallocate(class SnmpVarBind & __ptr64) __ptr64
?AddNoReallocate@SnmpVarBindList@@QEAAXAEAVSnmpVarBind@@@Z
; protected: virtual int __cdecl SnmpAnalyser::Analyse(class SnmpLexicon * __ptr64,unsigned long & __ptr64,unsigned short,unsigned short const * __ptr64,unsigned long & __ptr64,int,int,int) __ptr64
?Analyse@SnmpAnalyser@@MEAAHPEAVSnmpLexicon@@AEAKGPEBG1HHH@Z
; private: int __cdecl SnmpBitStringType::BitStringDef(void) __ptr64
?BitStringDef@SnmpBitStringType@@AEAAHXZ
; public: void __cdecl GetNextOperation::CancelRequest(void) __ptr64
?CancelRequest@GetNextOperation@@QEAAXXZ
; public: void __cdecl SnmpAutoRetrieveOperation::CancelRequest(void) __ptr64
?CancelRequest@SnmpAutoRetrieveOperation@@QEAAXXZ
; public: void __cdecl SnmpOperation::CancelRequest(void) __ptr64
?CancelRequest@SnmpOperation@@QEAAXXZ
; public: class SnmpVarBindList * __ptr64 __cdecl SnmpVarBindList::Car(unsigned int) __ptr64
?Car@SnmpVarBindList@@QEAAPEAV1@I@Z
; public: class SnmpVarBindList * __ptr64 __cdecl SnmpVarBindList::Cdr(unsigned int) __ptr64
?Cdr@SnmpVarBindList@@QEAAPEAV1@I@Z
; public: int __cdecl SnmpPositiveRangedType::Check(unsigned long const & __ptr64) __ptr64
?Check@SnmpPositiveRangedType@@QEAAHAEBK@Z
; private: void __cdecl SnmpOperation::CheckOperationDeletion(void) __ptr64
?CheckOperationDeletion@SnmpOperation@@AEAAXXZ
; private: void __cdecl GetNextOperation::Cleanup(void) __ptr64
?Cleanup@GetNextOperation@@AEAAXXZ
; public: static void __cdecl SnmpClassLibrary::Closedown(void)
?Closedown@SnmpClassLibrary@@SAXXZ
; protected: enum SnmpObjectIdentifier::Comparison  __cdecl SnmpObjectIdentifier::Compare(class SnmpObjectIdentifier const & __ptr64,class SnmpObjectIdentifier const & __ptr64)const  __ptr64
?Compare@SnmpObjectIdentifier@@IEBA?AW4Comparison@1@AEBV1@0@Z
; int __cdecl CompareElements(class SnmpObjectIdentifierType * __ptr64,class SnmpObjectIdentifierType * __ptr64)
?CompareElements@@YAHPEAVSnmpObjectIdentifierType@@0@Z
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpBitStringType::Copy(void)const  __ptr64
?Copy@SnmpBitStringType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpSecurity * __ptr64 __cdecl SnmpCommunityBasedSecurity::Copy(void)const  __ptr64
?Copy@SnmpCommunityBasedSecurity@@UEBAPEAVSnmpSecurity@@XZ
; public: virtual class SnmpValue * __ptr64 __cdecl SnmpCounter64::Copy(void)const  __ptr64
?Copy@SnmpCounter64@@UEBAPEAVSnmpValue@@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpCounter64Type::Copy(void)const  __ptr64
?Copy@SnmpCounter64Type@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpValue * __ptr64 __cdecl SnmpCounter::Copy(void)const  __ptr64
?Copy@SnmpCounter@@UEBAPEAVSnmpValue@@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpCounterType::Copy(void)const  __ptr64
?Copy@SnmpCounterType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpDateTimeType::Copy(void)const  __ptr64
?Copy@SnmpDateTimeType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpDisplayStringType::Copy(void)const  __ptr64
?Copy@SnmpDisplayStringType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpValue * __ptr64 __cdecl SnmpEndOfMibView::Copy(void)const  __ptr64
?Copy@SnmpEndOfMibView@@UEBAPEAVSnmpValue@@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpEnumeratedType::Copy(void)const  __ptr64
?Copy@SnmpEnumeratedType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpFixedLengthDisplayStringType::Copy(void)const  __ptr64
?Copy@SnmpFixedLengthDisplayStringType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpFixedLengthOctetStringType::Copy(void)const  __ptr64
?Copy@SnmpFixedLengthOctetStringType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpFixedLengthOpaqueType::Copy(void)const  __ptr64
?Copy@SnmpFixedLengthOpaqueType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpFixedLengthPhysAddressType::Copy(void)const  __ptr64
?Copy@SnmpFixedLengthPhysAddressType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpValue * __ptr64 __cdecl SnmpGauge::Copy(void)const  __ptr64
?Copy@SnmpGauge@@UEBAPEAVSnmpValue@@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpGaugeType::Copy(void)const  __ptr64
?Copy@SnmpGaugeType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpIPXAddressType::Copy(void)const  __ptr64
?Copy@SnmpIPXAddressType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpValue * __ptr64 __cdecl SnmpInteger::Copy(void)const  __ptr64
?Copy@SnmpInteger@@UEBAPEAVSnmpValue@@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpIntegerType::Copy(void)const  __ptr64
?Copy@SnmpIntegerType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpValue * __ptr64 __cdecl SnmpIpAddress::Copy(void)const  __ptr64
?Copy@SnmpIpAddress@@UEBAPEAVSnmpValue@@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpIpAddressType::Copy(void)const  __ptr64
?Copy@SnmpIpAddressType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpMacAddressType::Copy(void)const  __ptr64
?Copy@SnmpMacAddressType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpNegativeRangeType * __ptr64 __cdecl SnmpNegativeRangeType::Copy(void) __ptr64
?Copy@SnmpNegativeRangeType@@UEAAPEAV1@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpNetworkAddressType::Copy(void)const  __ptr64
?Copy@SnmpNetworkAddressType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpValue * __ptr64 __cdecl SnmpNoSuchInstance::Copy(void)const  __ptr64
?Copy@SnmpNoSuchInstance@@UEBAPEAVSnmpValue@@XZ
; public: virtual class SnmpValue * __ptr64 __cdecl SnmpNoSuchObject::Copy(void)const  __ptr64
?Copy@SnmpNoSuchObject@@UEBAPEAVSnmpValue@@XZ
; public: virtual class SnmpValue * __ptr64 __cdecl SnmpNull::Copy(void)const  __ptr64
?Copy@SnmpNull@@UEBAPEAVSnmpValue@@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpNullType::Copy(void)const  __ptr64
?Copy@SnmpNullType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpOSIAddressType::Copy(void)const  __ptr64
?Copy@SnmpOSIAddressType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpValue * __ptr64 __cdecl SnmpObjectIdentifier::Copy(void)const  __ptr64
?Copy@SnmpObjectIdentifier@@UEBAPEAVSnmpValue@@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpObjectIdentifierType::Copy(void)const  __ptr64
?Copy@SnmpObjectIdentifierType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpValue * __ptr64 __cdecl SnmpOctetString::Copy(void)const  __ptr64
?Copy@SnmpOctetString@@UEBAPEAVSnmpValue@@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpOctetStringType::Copy(void)const  __ptr64
?Copy@SnmpOctetStringType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpValue * __ptr64 __cdecl SnmpOpaque::Copy(void)const  __ptr64
?Copy@SnmpOpaque@@UEBAPEAVSnmpValue@@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpOpaqueType::Copy(void)const  __ptr64
?Copy@SnmpOpaqueType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpPhysAddressType::Copy(void)const  __ptr64
?Copy@SnmpPhysAddressType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpPositiveRangeType * __ptr64 __cdecl SnmpPositiveRangeType::Copy(void) __ptr64
?Copy@SnmpPositiveRangeType@@UEAAPEAV1@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpRowStatusType::Copy(void)const  __ptr64
?Copy@SnmpRowStatusType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpValue * __ptr64 __cdecl SnmpTimeTicks::Copy(void)const  __ptr64
?Copy@SnmpTimeTicks@@UEBAPEAVSnmpValue@@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpTimeTicksType::Copy(void)const  __ptr64
?Copy@SnmpTimeTicksType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpTransportAddress * __ptr64 __cdecl SnmpTransportIpAddress::Copy(void)const  __ptr64
?Copy@SnmpTransportIpAddress@@UEBAPEAVSnmpTransportAddress@@XZ
; public: virtual class SnmpTransportAddress * __ptr64 __cdecl SnmpTransportIpxAddress::Copy(void)const  __ptr64
?Copy@SnmpTransportIpxAddress@@UEBAPEAVSnmpTransportAddress@@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpUDPAddressType::Copy(void)const  __ptr64
?Copy@SnmpUDPAddressType@@UEBAPEAVSnmpInstanceType@@XZ
; public: virtual class SnmpValue * __ptr64 __cdecl SnmpUInteger32::Copy(void)const  __ptr64
?Copy@SnmpUInteger32@@UEBAPEAVSnmpValue@@XZ
; public: virtual class SnmpInstanceType * __ptr64 __cdecl SnmpUInteger32Type::Copy(void)const  __ptr64
?Copy@SnmpUInteger32Type@@UEBAPEAVSnmpInstanceType@@XZ
; public: class SnmpVarBindList * __ptr64 __cdecl SnmpVarBindList::CopySegment(unsigned int) __ptr64
?CopySegment@SnmpVarBindList@@QEAAPEAV1@I@Z
; protected: virtual class SnmpLexicon * __ptr64 __cdecl SnmpAnalyser::CreateLexicon(void) __ptr64
?CreateLexicon@SnmpAnalyser@@MEAAPEAVSnmpLexicon@@XZ
; public: class SnmpObjectIdentifier * __ptr64 __cdecl SnmpObjectIdentifier::Cut(class SnmpObjectIdentifier & __ptr64)const  __ptr64
?Cut@SnmpObjectIdentifier@@QEBAPEAV1@AEAV1@@Z
; private: int __cdecl SnmpDateTimeType::DateTimeDef(void) __ptr64
?DateTimeDef@SnmpDateTimeType@@AEAAHXZ
; unsigned short * __ptr64 __cdecl DbcsToUnicodeString(char const * __ptr64)
?DbcsToUnicodeString@@YAPEAGPEBD@Z
; public: static unsigned long __cdecl SnmpAnalyser::DecCharToDecInteger(char)
?DecCharToDecInteger@SnmpAnalyser@@SAKD@Z
; public: static char __cdecl SnmpAnalyser::DecIntegerToDecChar(unsigned char)
?DecIntegerToDecChar@SnmpAnalyser@@SADE@Z
; public: static unsigned short __cdecl SnmpAnalyser::DecIntegerToDecWChar(unsigned char)
?DecIntegerToDecWChar@SnmpAnalyser@@SAGE@Z
; public: static char __cdecl SnmpAnalyser::DecIntegerToHexChar(unsigned char)
?DecIntegerToHexChar@SnmpAnalyser@@SADE@Z
; public: static unsigned short __cdecl SnmpAnalyser::DecIntegerToHexWChar(unsigned char)
?DecIntegerToHexWChar@SnmpAnalyser@@SAGE@Z
; public: static char __cdecl SnmpAnalyser::DecIntegerToOctChar(unsigned char)
?DecIntegerToOctChar@SnmpAnalyser@@SADE@Z
; public: static unsigned short __cdecl SnmpAnalyser::DecIntegerToOctWChar(unsigned char)
?DecIntegerToOctWChar@SnmpAnalyser@@SAGE@Z
; public: static unsigned long __cdecl SnmpAnalyser::DecWCharToDecInteger(unsigned short)
?DecWCharToDecInteger@SnmpAnalyser@@SAKG@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpCounter64Type::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
?Decode@SnmpCounter64Type@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpCounterType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
?Decode@SnmpCounterType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpFixedLengthOctetStringType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
?Decode@SnmpFixedLengthOctetStringType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpFixedLengthOpaqueType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
?Decode@SnmpFixedLengthOpaqueType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpGaugeType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
?Decode@SnmpGaugeType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpIntegerType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
?Decode@SnmpIntegerType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpIpAddressType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
?Decode@SnmpIpAddressType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpNetworkAddressType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
?Decode@SnmpNetworkAddressType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpNullType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
?Decode@SnmpNullType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpObjectIdentifierType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
?Decode@SnmpObjectIdentifierType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpOctetStringType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
?Decode@SnmpOctetStringType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpOpaqueType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
?Decode@SnmpOpaqueType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpTimeTicksType::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
?Decode@SnmpTimeTicksType@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpUInteger32Type::Decode(class SnmpObjectIdentifier const & __ptr64) __ptr64
?Decode@SnmpUInteger32Type@@UEAA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual int __cdecl SnmpEncodeDecode::DecodeFrame(class SnmpPdu & __ptr64,long,enum SnmpEncodeDecode::PduType,class SnmpErrorReport & __ptr64,class SnmpVarBindList * __ptr64 & __ptr64,class SnmpCommunityBasedSecurity * __ptr64 & __ptr64,class SnmpTransportAddress * __ptr64 & __ptr64,class SnmpTransportAddress * __ptr64 & __ptr64) __ptr64
?DecodeFrame@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@JW4PduType@1@AEAVSnmpErrorReport@@AEAPEAVSnmpVarBindList@@AEAPEAVSnmpCommunityBasedSecurity@@AEAPEAVSnmpTransportAddress@@5@Z
; public: virtual int __cdecl SnmpEncodeDecode::DecodeFrame(void * __ptr64,class SnmpPdu & __ptr64) __ptr64
?DecodeFrame@SnmpEncodeDecode@@UEAAHPEAXAEAVSnmpPdu@@@Z
; public: virtual void __cdecl SnmpImpSession::DeregisterOperation(class SnmpOperation & __ptr64) __ptr64
?DeregisterOperation@SnmpImpSession@@UEAAXAEAVSnmpOperation@@@Z
; public: void __cdecl GetNextOperation::DestroyOperation(void) __ptr64
?DestroyOperation@GetNextOperation@@QEAAXXZ
; protected: void __cdecl SnmpAutoRetrieveOperation::DestroyOperation(void) __ptr64
?DestroyOperation@SnmpAutoRetrieveOperation@@IEAAXXZ
; protected: void __cdecl SnmpOperation::DestroyOperation(void) __ptr64
?DestroyOperation@SnmpOperation@@IEAAXXZ
; protected: void __cdecl SnmpVarBindList::DestroyPosition(class SnmpVarBindList::ListPosition * __ptr64) __ptr64
?DestroyPosition@SnmpVarBindList@@IEAAXPEAVListPosition@1@@Z
; public: int __cdecl SnmpTrapReceiver::DestroyReceiver(void) __ptr64
?DestroyReceiver@SnmpTrapReceiver@@QEAAHXZ
; public: virtual int __cdecl SnmpImpSession::DestroySession(void) __ptr64
?DestroySession@SnmpImpSession@@UEAAHXZ
; protected: static int __cdecl SnmpEncodeDecode::DestroyStaticComponents(void)
?DestroyStaticComponents@SnmpEncodeDecode@@KAHXZ
; public: int __cdecl SnmpVarBindList::Empty(void)const  __ptr64
?Empty@SnmpVarBindList@@QEBAHXZ
; protected: void __cdecl SnmpVarBindList::EmptyLookupTable(void) __ptr64
?EmptyLookupTable@SnmpVarBindList@@IEAAXXZ
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpCounter64Type::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
?Encode@SnmpCounter64Type@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpCounterType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
?Encode@SnmpCounterType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
; private: void __cdecl SnmpDateTimeType::Encode(unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64,unsigned long const & __ptr64) __ptr64
?Encode@SnmpDateTimeType@@AEAAXAEBK0000000000@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpFixedLengthOctetStringType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
?Encode@SnmpFixedLengthOctetStringType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpFixedLengthOpaqueType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
?Encode@SnmpFixedLengthOpaqueType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpGaugeType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
?Encode@SnmpGaugeType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpIntegerType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
?Encode@SnmpIntegerType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpIpAddressType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
?Encode@SnmpIpAddressType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpNetworkAddressType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
?Encode@SnmpNetworkAddressType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpNullType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
?Encode@SnmpNullType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpObjectIdentifierType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
?Encode@SnmpObjectIdentifierType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpOctetStringType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
?Encode@SnmpOctetStringType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpOpaqueType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
?Encode@SnmpOpaqueType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpTimeTicksType::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
?Encode@SnmpTimeTicksType@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual class SnmpObjectIdentifier  __cdecl SnmpUInteger32Type::Encode(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
?Encode@SnmpUInteger32Type@@UEBA?AVSnmpObjectIdentifier@@AEBV2@@Z
; public: virtual int __cdecl SnmpEncodeDecode::EncodeFrame(class SnmpPdu & __ptr64,long,enum SnmpEncodeDecode::PduType,class SnmpErrorReport & __ptr64,class SnmpVarBindList & __ptr64,class SnmpCommunityBasedSecurity * __ptr64 & __ptr64,class SnmpTransportAddress * __ptr64 & __ptr64,class SnmpTransportAddress * __ptr64 & __ptr64) __ptr64
?EncodeFrame@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@JW4PduType@1@AEAVSnmpErrorReport@@AEAVSnmpVarBindList@@AEAPEAVSnmpCommunityBasedSecurity@@AEAPEAVSnmpTransportAddress@@5@Z
; public: virtual int __cdecl SnmpEncodeDecode::EncodeFrame(class SnmpPdu & __ptr64,void * __ptr64) __ptr64
?EncodeFrame@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@PEAX@Z
; private: int __cdecl SnmpEnumeratedType::EnumerationDef(void) __ptr64
?EnumerationDef@SnmpEnumeratedType@@AEAAHXZ
; protected: virtual int __cdecl SnmpCounter64::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
?Equivalent@SnmpCounter64@@MEBAHAEBVSnmpValue@@@Z
; public: int __cdecl SnmpCounter64::Equivalent(class SnmpCounter64 const & __ptr64)const  __ptr64
?Equivalent@SnmpCounter64@@QEBAHAEBV1@@Z
; protected: virtual int __cdecl SnmpCounter64Type::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
?Equivalent@SnmpCounter64Type@@MEBAHAEBVSnmpInstanceType@@@Z
; protected: virtual int __cdecl SnmpCounter::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
?Equivalent@SnmpCounter@@MEBAHAEBVSnmpValue@@@Z
; public: int __cdecl SnmpCounter::Equivalent(class SnmpCounter const & __ptr64)const  __ptr64
?Equivalent@SnmpCounter@@QEBAHAEBV1@@Z
; protected: virtual int __cdecl SnmpCounterType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
?Equivalent@SnmpCounterType@@MEBAHAEBVSnmpInstanceType@@@Z
; protected: virtual int __cdecl SnmpEndOfMibView::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
?Equivalent@SnmpEndOfMibView@@MEBAHAEBVSnmpValue@@@Z
; protected: virtual int __cdecl SnmpGauge::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
?Equivalent@SnmpGauge@@MEBAHAEBVSnmpValue@@@Z
; public: int __cdecl SnmpGauge::Equivalent(class SnmpGauge const & __ptr64)const  __ptr64
?Equivalent@SnmpGauge@@QEBAHAEBV1@@Z
; protected: virtual int __cdecl SnmpGaugeType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
?Equivalent@SnmpGaugeType@@MEBAHAEBVSnmpInstanceType@@@Z
; protected: virtual int __cdecl SnmpInteger::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
?Equivalent@SnmpInteger@@MEBAHAEBVSnmpValue@@@Z
; public: int __cdecl SnmpInteger::Equivalent(class SnmpInteger const & __ptr64)const  __ptr64
?Equivalent@SnmpInteger@@QEBAHAEBV1@@Z
; protected: virtual int __cdecl SnmpIntegerType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
?Equivalent@SnmpIntegerType@@MEBAHAEBVSnmpInstanceType@@@Z
; protected: virtual int __cdecl SnmpIpAddress::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
?Equivalent@SnmpIpAddress@@MEBAHAEBVSnmpValue@@@Z
; public: int __cdecl SnmpIpAddress::Equivalent(class SnmpIpAddress const & __ptr64)const  __ptr64
?Equivalent@SnmpIpAddress@@QEBAHAEBV1@@Z
; protected: virtual int __cdecl SnmpIpAddressType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
?Equivalent@SnmpIpAddressType@@MEBAHAEBVSnmpInstanceType@@@Z
; protected: virtual int __cdecl SnmpNetworkAddressType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
?Equivalent@SnmpNetworkAddressType@@MEBAHAEBVSnmpInstanceType@@@Z
; protected: virtual int __cdecl SnmpNoSuchInstance::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
?Equivalent@SnmpNoSuchInstance@@MEBAHAEBVSnmpValue@@@Z
; protected: virtual int __cdecl SnmpNoSuchObject::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
?Equivalent@SnmpNoSuchObject@@MEBAHAEBVSnmpValue@@@Z
; protected: virtual int __cdecl SnmpNull::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
?Equivalent@SnmpNull@@MEBAHAEBVSnmpValue@@@Z
; protected: virtual int __cdecl SnmpNullType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
?Equivalent@SnmpNullType@@MEBAHAEBVSnmpInstanceType@@@Z
; protected: int __cdecl SnmpObjectIdentifier::Equivalent(class SnmpObjectIdentifier const & __ptr64)const  __ptr64
?Equivalent@SnmpObjectIdentifier@@IEBAHAEBV1@@Z
; protected: virtual int __cdecl SnmpObjectIdentifier::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
?Equivalent@SnmpObjectIdentifier@@MEBAHAEBVSnmpValue@@@Z
; public: int __cdecl SnmpObjectIdentifier::Equivalent(class SnmpObjectIdentifier const & __ptr64,unsigned long)const  __ptr64
?Equivalent@SnmpObjectIdentifier@@QEBAHAEBV1@K@Z
; protected: virtual int __cdecl SnmpObjectIdentifierType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
?Equivalent@SnmpObjectIdentifierType@@MEBAHAEBVSnmpInstanceType@@@Z
; protected: virtual int __cdecl SnmpOctetString::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
?Equivalent@SnmpOctetString@@MEBAHAEBVSnmpValue@@@Z
; public: int __cdecl SnmpOctetString::Equivalent(class SnmpOctetString const & __ptr64)const  __ptr64
?Equivalent@SnmpOctetString@@QEBAHAEBV1@@Z
; protected: virtual int __cdecl SnmpOctetStringType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
?Equivalent@SnmpOctetStringType@@MEBAHAEBVSnmpInstanceType@@@Z
; protected: virtual int __cdecl SnmpOpaque::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
?Equivalent@SnmpOpaque@@MEBAHAEBVSnmpValue@@@Z
; public: int __cdecl SnmpOpaque::Equivalent(class SnmpOpaque const & __ptr64)const  __ptr64
?Equivalent@SnmpOpaque@@QEBAHAEBV1@@Z
; protected: virtual int __cdecl SnmpOpaqueType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
?Equivalent@SnmpOpaqueType@@MEBAHAEBVSnmpInstanceType@@@Z
; protected: virtual int __cdecl SnmpTimeTicks::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
?Equivalent@SnmpTimeTicks@@MEBAHAEBVSnmpValue@@@Z
; public: int __cdecl SnmpTimeTicks::Equivalent(class SnmpTimeTicks const & __ptr64)const  __ptr64
?Equivalent@SnmpTimeTicks@@QEBAHAEBV1@@Z
; protected: virtual int __cdecl SnmpTimeTicksType::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
?Equivalent@SnmpTimeTicksType@@MEBAHAEBVSnmpInstanceType@@@Z
; protected: virtual int __cdecl SnmpUInteger32::Equivalent(class SnmpValue const & __ptr64)const  __ptr64
?Equivalent@SnmpUInteger32@@MEBAHAEBVSnmpValue@@@Z
; public: int __cdecl SnmpUInteger32::Equivalent(class SnmpUInteger32 const & __ptr64)const  __ptr64
?Equivalent@SnmpUInteger32@@QEBAHAEBV1@@Z
; protected: virtual int __cdecl SnmpUInteger32Type::Equivalent(class SnmpInstanceType const & __ptr64)const  __ptr64
?Equivalent@SnmpUInteger32Type@@MEBAHAEBVSnmpInstanceType@@@Z
; protected: virtual long __cdecl SnmpAutoRetrieveOperation::EvaluateNextRequest(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpVarBind & __ptr64) __ptr64
?EvaluateNextRequest@SnmpAutoRetrieveOperation@@MEAAJAEBKAEBVSnmpVarBind@@1AEAV2@@Z
; protected: virtual void __cdecl GetNextOperation::FrameOverRun(void) __ptr64
?FrameOverRun@GetNextOperation@@MEAAXXZ
; protected: virtual void __cdecl SnmpAutoRetrieveOperation::FrameOverRun(void) __ptr64
?FrameOverRun@SnmpAutoRetrieveOperation@@MEAAXXZ
; protected: virtual void __cdecl SnmpOperation::FrameOverRun(void) __ptr64
?FrameOverRun@SnmpOperation@@MEAAXXZ
; protected: virtual void __cdecl GetNextOperation::FrameTooBig(void) __ptr64
?FrameTooBig@GetNextOperation@@MEAAXXZ
; protected: virtual void __cdecl SnmpAutoRetrieveOperation::FrameTooBig(void) __ptr64
?FrameTooBig@SnmpAutoRetrieveOperation@@MEAAXXZ
; protected: virtual void __cdecl SnmpOperation::FrameTooBig(void) __ptr64
?FrameTooBig@SnmpOperation@@MEAAXXZ
; private: void __cdecl SnmpPdu::FreeFrame(void) __ptr64
?FreeFrame@SnmpPdu@@AEAAXXZ
; protected: void __cdecl SnmpVarBindList::FreeList(void) __ptr64
?FreeList@SnmpVarBindList@@IEAAXXZ
; private: void __cdecl SnmpPdu::FreePdu(void) __ptr64
?FreePdu@SnmpPdu@@AEAAXXZ
; public: class SnmpLexicon * __ptr64 __cdecl SnmpAnalyser::Get(int,int,int) __ptr64
?Get@SnmpAnalyser@@QEAAPEAVSnmpLexicon@@HHH@Z
; private: class SnmpLexicon * __ptr64 __cdecl SnmpBitStringType::Get(void) __ptr64
?Get@SnmpBitStringType@@AEAAPEAVSnmpLexicon@@XZ
; private: class SnmpLexicon * __ptr64 __cdecl SnmpDateTimeType::Get(void) __ptr64
?Get@SnmpDateTimeType@@AEAAPEAVSnmpLexicon@@XZ
; private: class SnmpLexicon * __ptr64 __cdecl SnmpEnumeratedType::Get(void) __ptr64
?Get@SnmpEnumeratedType@@AEAAPEAVSnmpLexicon@@XZ
; protected: class SnmpLexicon * __ptr64 __cdecl SnmpPositiveRangedType::Get(void) __ptr64
?Get@SnmpPositiveRangedType@@IEAAPEAVSnmpLexicon@@XZ
; public: class SnmpVarBind const * __ptr64 __cdecl SnmpVarBindList::Get(void)const  __ptr64
?Get@SnmpVarBindList@@QEBAPEBVSnmpVarBind@@XZ
; public: virtual char * __ptr64 __cdecl SnmpTransportIpAddress::GetAddress(void) __ptr64
?GetAddress@SnmpTransportIpAddress@@UEAAPEADXZ
; public: virtual unsigned short __cdecl SnmpTransportIpAddress::GetAddress(unsigned char * __ptr64,unsigned short)const  __ptr64
?GetAddress@SnmpTransportIpAddress@@UEBAGPEAEG@Z
; public: virtual char * __ptr64 __cdecl SnmpTransportIpxAddress::GetAddress(void) __ptr64
?GetAddress@SnmpTransportIpxAddress@@UEAAPEADXZ
; public: virtual unsigned short __cdecl SnmpTransportIpxAddress::GetAddress(unsigned char * __ptr64,unsigned short)const  __ptr64
?GetAddress@SnmpTransportIpxAddress@@UEBAGPEAEG@Z
; public: virtual unsigned short __cdecl SnmpTransportIpAddress::GetAddressLength(void)const  __ptr64
?GetAddressLength@SnmpTransportIpAddress@@UEBAGXZ
; public: virtual unsigned short __cdecl SnmpTransportIpxAddress::GetAddressLength(void)const  __ptr64
?GetAddressLength@SnmpTransportIpxAddress@@UEBAGXZ
; public: char * __ptr64 __cdecl SnmpObjectIdentifier::GetAllocatedString(void)const  __ptr64
?GetAllocatedString@SnmpObjectIdentifier@@QEBAPEADXZ
; public: char const * __ptr64 __cdecl SnmpCommunityBasedSecurity::GetCommunityName(void)const  __ptr64
?GetCommunityName@SnmpCommunityBasedSecurity@@QEBAPEBDXZ
; public: void __cdecl SnmpCommunityBasedSecurity::GetCommunityName(class SnmpOctetString & __ptr64)const  __ptr64
?GetCommunityName@SnmpCommunityBasedSecurity@@QEBAXAEAVSnmpOctetString@@@Z
; public: virtual int __cdecl SnmpEncodeDecode::GetCommunityName(class SnmpPdu & __ptr64,class SnmpCommunityBasedSecurity & __ptr64) __ptr64
?GetCommunityName@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpCommunityBasedSecurity@@@Z
; public: virtual class SnmpCommunityBasedSecurity & __ptr64 __cdecl SnmpPdu::GetCommunityName(void) __ptr64
?GetCommunityName@SnmpPdu@@UEAAAEAVSnmpCommunityBasedSecurity@@XZ
; public: int __cdecl SnmpVarBindList::GetCurrentIndex(void)const  __ptr64
?GetCurrentIndex@SnmpVarBindList@@QEBAHXZ
; public: virtual int __cdecl SnmpEncodeDecode::GetDestinationAddress(class SnmpPdu & __ptr64,class SnmpTransportAddress * __ptr64 & __ptr64) __ptr64
?GetDestinationAddress@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAPEAVSnmpTransportAddress@@@Z
; public: virtual class SnmpTransportAddress & __ptr64 __cdecl SnmpPdu::GetDestinationAddress(void) __ptr64
?GetDestinationAddress@SnmpPdu@@UEAAAEAVSnmpTransportAddress@@XZ
; public: enum SnmpError  __cdecl SnmpErrorReport::GetError(void)const  __ptr64
?GetError@SnmpErrorReport@@QEBA?AW4SnmpError@@XZ
; public: virtual int __cdecl SnmpEncodeDecode::GetErrorReport(class SnmpPdu & __ptr64,class SnmpErrorReport & __ptr64) __ptr64
?GetErrorReport@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpErrorReport@@@Z
; public: virtual class SnmpErrorReport & __ptr64 __cdecl SnmpPdu::GetErrorReport(void) __ptr64
?GetErrorReport@SnmpPdu@@UEAAAEAVSnmpErrorReport@@XZ
; public: char * __ptr64 __cdecl GeneralException::GetFile(void) __ptr64
?GetFile@GeneralException@@QEAAPEADXZ
; public: unsigned long __cdecl SnmpSession::GetFlowControlWindow(void)const  __ptr64
?GetFlowControlWindow@SnmpSession@@QEBAKXZ
; public: unsigned char * __ptr64 __cdecl SnmpPdu::GetFrame(void)const  __ptr64
?GetFrame@SnmpPdu@@QEBAPEAEXZ
; public: unsigned long __cdecl SnmpPdu::GetFrameLength(void)const  __ptr64
?GetFrameLength@SnmpPdu@@QEBAKXZ
; public: unsigned long __cdecl SnmpCounter64::GetHighValue(void)const  __ptr64
?GetHighValue@SnmpCounter64@@QEBAKXZ
; public: unsigned long __cdecl SnmpErrorReport::GetIndex(void)const  __ptr64
?GetIndex@SnmpErrorReport@@QEBAKXZ
; public: class SnmpObjectIdentifier & __ptr64 __cdecl SnmpVarBind::GetInstance(void)const  __ptr64
?GetInstance@SnmpVarBind@@QEBAAEAVSnmpObjectIdentifier@@XZ
; private: int __cdecl SnmpTransportIpAddress::GetIpAddress(char const * __ptr64) __ptr64
?GetIpAddress@SnmpTransportIpAddress@@AEAAHPEBD@Z
; private: int __cdecl SnmpTransportIpxAddress::GetIpxAddress(char const * __ptr64) __ptr64
?GetIpxAddress@SnmpTransportIpxAddress@@AEAAHPEBD@Z
; public: unsigned int __cdecl SnmpVarBindList::GetLength(void)const  __ptr64
?GetLength@SnmpVarBindList@@QEBAIXZ
; public: int __cdecl GeneralException::GetLine(void) __ptr64
?GetLine@GeneralException@@QEAAHXZ
; public: unsigned long __cdecl SnmpCounter64::GetLowValue(void)const  __ptr64
?GetLowValue@SnmpCounter64@@QEBAKXZ
; public: long __cdecl SnmpNegativeRangeType::GetLowerBound(void) __ptr64
?GetLowerBound@SnmpNegativeRangeType@@QEAAJXZ
; public: unsigned long __cdecl SnmpPositiveRangeType::GetLowerBound(void) __ptr64
?GetLowerBound@SnmpPositiveRangeType@@QEAAKXZ
; public: class SnmpVarBindListNode * __ptr64 __cdecl SnmpVarBindListNode::GetNext(void) __ptr64
?GetNext@SnmpVarBindListNode@@QEAAPEAV1@XZ
; private: class SnmpOperation * __ptr64 __cdecl SnmpImpSession::GetOperation(unsigned long) __ptr64
?GetOperation@SnmpImpSession@@AEAAPEAVSnmpOperation@@K@Z
; public: virtual int __cdecl SnmpEncodeDecode::GetPduType(class SnmpPdu & __ptr64,enum SnmpEncodeDecode::PduType & __ptr64) __ptr64
?GetPduType@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAW4PduType@1@@Z
; protected: virtual enum SnmpEncodeDecode::PduType  __cdecl SnmpGetNextOperation::GetPduType(void) __ptr64
?GetPduType@SnmpGetNextOperation@@MEAA?AW4PduType@SnmpEncodeDecode@@XZ
; protected: virtual enum SnmpEncodeDecode::PduType  __cdecl SnmpGetOperation::GetPduType(void) __ptr64
?GetPduType@SnmpGetOperation@@MEAA?AW4PduType@SnmpEncodeDecode@@XZ
; public: virtual enum SnmpEncodeDecode::PduType & __ptr64 __cdecl SnmpPdu::GetPduType(void) __ptr64
?GetPduType@SnmpPdu@@UEAAAEAW4PduType@SnmpEncodeDecode@@XZ
; protected: virtual enum SnmpEncodeDecode::PduType  __cdecl SnmpSetOperation::GetPduType(void) __ptr64
?GetPduType@SnmpSetOperation@@MEAA?AW4PduType@SnmpEncodeDecode@@XZ
; protected: class SnmpVarBindList::ListPosition * __ptr64 __cdecl SnmpVarBindList::GetPosition(void) __ptr64
?GetPosition@SnmpVarBindList@@IEAAPEAVListPosition@1@XZ
; public: class SnmpVarBindListNode * __ptr64 __cdecl SnmpVarBindListNode::GetPrevious(void) __ptr64
?GetPrevious@SnmpVarBindListNode@@QEAAPEAV1@XZ
; public: virtual int __cdecl SnmpEncodeDecode::GetRequestId(class SnmpPdu & __ptr64,long & __ptr64) __ptr64
?GetRequestId@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAJ@Z
; public: virtual long & __ptr64 __cdecl SnmpPdu::GetRequestId(void) __ptr64
?GetRequestId@SnmpPdu@@UEAAAEAJXZ
; public: unsigned long __cdecl SnmpSession::GetRetryCount(void)const  __ptr64
?GetRetryCount@SnmpSession@@QEBAKXZ
; public: unsigned long __cdecl SnmpSession::GetRetryTimeout(void)const  __ptr64
?GetRetryTimeout@SnmpSession@@QEBAKXZ
; public: enum SnmpRowStatusType::SnmpRowStatusEnum  __cdecl SnmpRowStatusType::GetRowStatus(void)const  __ptr64
?GetRowStatus@SnmpRowStatusType@@QEBA?AW4SnmpRowStatusEnum@1@XZ
; public: virtual class SnmpEncodeDecode & __ptr64 __cdecl SnmpImpSession::GetSnmpEncodeDecode(void)const  __ptr64
?GetSnmpEncodeDecode@SnmpImpSession@@UEBAAEAVSnmpEncodeDecode@@XZ
; public: virtual class SnmpSecurity & __ptr64 __cdecl SnmpImpSession::GetSnmpSecurity(void)const  __ptr64
?GetSnmpSecurity@SnmpImpSession@@UEBAAEAVSnmpSecurity@@XZ
; public: virtual int __cdecl SnmpEncodeDecode::GetSourceAddress(class SnmpPdu & __ptr64,class SnmpTransportAddress * __ptr64 & __ptr64) __ptr64
?GetSourceAddress@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAPEAVSnmpTransportAddress@@@Z
; public: virtual class SnmpTransportAddress & __ptr64 __cdecl SnmpPdu::GetSourceAddress(void) __ptr64
?GetSourceAddress@SnmpPdu@@UEAAAEAVSnmpTransportAddress@@XZ
; public: enum SnmpStatus  __cdecl SnmpErrorReport::GetStatus(void)const  __ptr64
?GetStatus@SnmpErrorReport@@QEBA?AW4SnmpStatus@@XZ
; public: unsigned short * __ptr64 __cdecl CBString::GetString(void) __ptr64
?GetString@CBString@@QEAAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpBitStringType::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpBitStringType@@UEBAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpCounter64Type::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpCounter64Type@@UEBAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpCounterType::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpCounterType@@UEBAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpDateTimeType::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpDateTimeType@@UEBAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpDisplayStringType::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpDisplayStringType@@UEBAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpEnumeratedType::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpEnumeratedType@@UEBAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpFixedLengthDisplayStringType::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpFixedLengthDisplayStringType@@UEBAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpFixedLengthPhysAddressType::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpFixedLengthPhysAddressType@@UEBAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpGaugeType::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpGaugeType@@UEBAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpIPXAddressType::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpIPXAddressType@@UEBAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpIntegerType::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpIntegerType@@UEBAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpIpAddressType::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpIpAddressType@@UEBAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpMacAddressType::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpMacAddressType@@UEBAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpNetworkAddressType::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpNetworkAddressType@@UEBAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpNullType::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpNullType@@UEBAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpOSIAddressType::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpOSIAddressType@@UEBAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpObjectIdentifierType::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpObjectIdentifierType@@UEBAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpOctetStringType::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpOctetStringType@@UEBAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpOpaqueType::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpOpaqueType@@UEBAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpPhysAddressType::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpPhysAddressType@@UEBAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpRowStatusType::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpRowStatusType@@UEBAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpTimeTicksType::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpTimeTicksType@@UEBAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpUDPAddressType::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpUDPAddressType@@UEBAPEAGXZ
; public: virtual unsigned short * __ptr64 __cdecl SnmpUInteger32Type::GetStringValue(void)const  __ptr64
?GetStringValue@SnmpUInteger32Type@@UEBAPEAGXZ
; private: class SnmpLexicon * __ptr64 __cdecl SnmpAnalyser::GetToken(int,int,int) __ptr64
?GetToken@SnmpAnalyser@@AEAAPEAVSnmpLexicon@@HHH@Z
; public: enum SnmpLexicon::LexiconToken  __cdecl SnmpLexicon::GetToken(void) __ptr64
?GetToken@SnmpLexicon@@QEAA?AW4LexiconToken@1@XZ
; public: virtual class SnmpTransportAddress & __ptr64 __cdecl SnmpTransport::GetTransportAddress(void) __ptr64
?GetTransportAddress@SnmpTransport@@UEAAAEAVSnmpTransportAddress@@XZ
; public: virtual class SnmpTransport & __ptr64 __cdecl SnmpImpSession::GetTransportProtocol(void)const  __ptr64
?GetTransportProtocol@SnmpImpSession@@UEBAAEAVSnmpTransport@@XZ
; public: long __cdecl SnmpNegativeRangeType::GetUpperBound(void) __ptr64
?GetUpperBound@SnmpNegativeRangeType@@QEAAJXZ
; public: unsigned long __cdecl SnmpPositiveRangeType::GetUpperBound(void) __ptr64
?GetUpperBound@SnmpPositiveRangeType@@QEAAKXZ
; public: unsigned long __cdecl SnmpBitStringType::GetValue(unsigned short * __ptr64 * __ptr64 & __ptr64)const  __ptr64
?GetValue@SnmpBitStringType@@QEBAKAEAPEAPEAG@Z
; public: void __cdecl SnmpCounter64Type::GetValue(unsigned long & __ptr64,unsigned long & __ptr64)const  __ptr64
?GetValue@SnmpCounter64Type@@QEBAXAEAK0@Z
; public: unsigned long __cdecl SnmpCounter::GetValue(void)const  __ptr64
?GetValue@SnmpCounter@@QEBAKXZ
; public: unsigned long __cdecl SnmpCounterType::GetValue(void)const  __ptr64
?GetValue@SnmpCounterType@@QEBAKXZ
; public: unsigned short * __ptr64 __cdecl SnmpDateTimeType::GetValue(void)const  __ptr64
?GetValue@SnmpDateTimeType@@QEBAPEAGXZ
; public: unsigned short * __ptr64 __cdecl SnmpDisplayStringType::GetValue(void)const  __ptr64
?GetValue@SnmpDisplayStringType@@QEBAPEAGXZ
; public: unsigned short * __ptr64 __cdecl SnmpEnumeratedType::GetValue(void)const  __ptr64
?GetValue@SnmpEnumeratedType@@QEBAPEAGXZ
; public: unsigned short * __ptr64 __cdecl SnmpFixedLengthDisplayStringType::GetValue(void)const  __ptr64
?GetValue@SnmpFixedLengthDisplayStringType@@QEBAPEAGXZ
; public: unsigned long __cdecl SnmpGauge::GetValue(void)const  __ptr64
?GetValue@SnmpGauge@@QEBAKXZ
; public: unsigned long __cdecl SnmpGaugeType::GetValue(void)const  __ptr64
?GetValue@SnmpGaugeType@@QEBAKXZ
; public: long __cdecl SnmpInteger::GetValue(void)const  __ptr64
?GetValue@SnmpInteger@@QEBAJXZ
; public: long __cdecl SnmpIntegerType::GetValue(void)const  __ptr64
?GetValue@SnmpIntegerType@@QEBAJXZ
; public: unsigned long __cdecl SnmpIpAddress::GetValue(void)const  __ptr64
?GetValue@SnmpIpAddress@@QEBAKXZ
; public: unsigned long __cdecl SnmpIpAddressType::GetValue(void)const  __ptr64
?GetValue@SnmpIpAddressType@@QEBAKXZ
; public: union SnmpLexiconValue * __ptr64 __cdecl SnmpLexicon::GetValue(void) __ptr64
?GetValue@SnmpLexicon@@QEAAPEATSnmpLexiconValue@@XZ
; public: unsigned long __cdecl SnmpNetworkAddressType::GetValue(void)const  __ptr64
?GetValue@SnmpNetworkAddressType@@QEBAKXZ
; public: unsigned long * __ptr64 __cdecl SnmpObjectIdentifier::GetValue(void)const  __ptr64
?GetValue@SnmpObjectIdentifier@@QEBAPEAKXZ
; public: unsigned long * __ptr64 __cdecl SnmpObjectIdentifierType::GetValue(void)const  __ptr64
?GetValue@SnmpObjectIdentifierType@@QEBAPEAKXZ
; public: unsigned char * __ptr64 __cdecl SnmpOctetString::GetValue(void)const  __ptr64
?GetValue@SnmpOctetString@@QEBAPEAEXZ
; public: unsigned char * __ptr64 __cdecl SnmpOctetStringType::GetValue(void)const  __ptr64
?GetValue@SnmpOctetStringType@@QEBAPEAEXZ
; public: unsigned char * __ptr64 __cdecl SnmpOpaque::GetValue(void)const  __ptr64
?GetValue@SnmpOpaque@@QEBAPEAEXZ
; public: unsigned char * __ptr64 __cdecl SnmpOpaqueType::GetValue(void)const  __ptr64
?GetValue@SnmpOpaqueType@@QEBAPEAEXZ
; public: unsigned short * __ptr64 __cdecl SnmpRowStatusType::GetValue(void)const  __ptr64
?GetValue@SnmpRowStatusType@@QEBAPEAGXZ
; public: unsigned long __cdecl SnmpTimeTicks::GetValue(void)const  __ptr64
?GetValue@SnmpTimeTicks@@QEBAKXZ
; public: unsigned long __cdecl SnmpTimeTicksType::GetValue(void)const  __ptr64
?GetValue@SnmpTimeTicksType@@QEBAKXZ
; public: unsigned long __cdecl SnmpUInteger32::GetValue(void)const  __ptr64
?GetValue@SnmpUInteger32@@QEBAKXZ
; public: unsigned long __cdecl SnmpUInteger32Type::GetValue(void)const  __ptr64
?GetValue@SnmpUInteger32Type@@QEBAKXZ
; public: class SnmpValue & __ptr64 __cdecl SnmpVarBind::GetValue(void)const  __ptr64
?GetValue@SnmpVarBind@@QEBAAEAVSnmpValue@@XZ
; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpCounter64Type::GetValueEncoding(void)const  __ptr64
?GetValueEncoding@SnmpCounter64Type@@UEBAPEBVSnmpValue@@XZ
; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpCounterType::GetValueEncoding(void)const  __ptr64
?GetValueEncoding@SnmpCounterType@@UEBAPEBVSnmpValue@@XZ
; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpGaugeType::GetValueEncoding(void)const  __ptr64
?GetValueEncoding@SnmpGaugeType@@UEBAPEBVSnmpValue@@XZ
; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpIntegerType::GetValueEncoding(void)const  __ptr64
?GetValueEncoding@SnmpIntegerType@@UEBAPEBVSnmpValue@@XZ
; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpIpAddressType::GetValueEncoding(void)const  __ptr64
?GetValueEncoding@SnmpIpAddressType@@UEBAPEBVSnmpValue@@XZ
; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpNetworkAddressType::GetValueEncoding(void)const  __ptr64
?GetValueEncoding@SnmpNetworkAddressType@@UEBAPEBVSnmpValue@@XZ
; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpNullType::GetValueEncoding(void)const  __ptr64
?GetValueEncoding@SnmpNullType@@UEBAPEBVSnmpValue@@XZ
; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpObjectIdentifierType::GetValueEncoding(void)const  __ptr64
?GetValueEncoding@SnmpObjectIdentifierType@@UEBAPEBVSnmpValue@@XZ
; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpOctetStringType::GetValueEncoding(void)const  __ptr64
?GetValueEncoding@SnmpOctetStringType@@UEBAPEBVSnmpValue@@XZ
; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpOpaqueType::GetValueEncoding(void)const  __ptr64
?GetValueEncoding@SnmpOpaqueType@@UEBAPEBVSnmpValue@@XZ
; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpTimeTicksType::GetValueEncoding(void)const  __ptr64
?GetValueEncoding@SnmpTimeTicksType@@UEBAPEBVSnmpValue@@XZ
; public: virtual class SnmpValue const * __ptr64 __cdecl SnmpUInteger32Type::GetValueEncoding(void)const  __ptr64
?GetValueEncoding@SnmpUInteger32Type@@UEBAPEBVSnmpValue@@XZ
; public: unsigned long __cdecl SnmpObjectIdentifier::GetValueLength(void)const  __ptr64
?GetValueLength@SnmpObjectIdentifier@@QEBAKXZ
; public: unsigned long __cdecl SnmpObjectIdentifierType::GetValueLength(void)const  __ptr64
?GetValueLength@SnmpObjectIdentifierType@@QEBAKXZ
; public: unsigned long __cdecl SnmpOctetString::GetValueLength(void)const  __ptr64
?GetValueLength@SnmpOctetString@@QEBAKXZ
; public: unsigned long __cdecl SnmpOctetStringType::GetValueLength(void)const  __ptr64
?GetValueLength@SnmpOctetStringType@@QEBAKXZ
; public: unsigned long __cdecl SnmpOpaque::GetValueLength(void)const  __ptr64
?GetValueLength@SnmpOpaque@@QEBAKXZ
; public: unsigned long __cdecl SnmpOpaqueType::GetValueLength(void)const  __ptr64
?GetValueLength@SnmpOpaqueType@@QEBAKXZ
; public: class SnmpVarBind * __ptr64 __cdecl SnmpVarBindListNode::GetVarBind(void) __ptr64
?GetVarBind@SnmpVarBindListNode@@QEAAPEAVSnmpVarBind@@XZ
; public: virtual int __cdecl SnmpEncodeDecode::GetVarbindList(class SnmpPdu & __ptr64,class SnmpVarBindList & __ptr64) __ptr64
?GetVarbindList@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpVarBindList@@@Z
; public: virtual class SnmpVarBindList & __ptr64 __cdecl SnmpPdu::GetVarbindList(void) __ptr64
?GetVarbindList@SnmpPdu@@UEAAAEAVSnmpVarBindList@@XZ
; public: unsigned long __cdecl SnmpSession::GetVarbindsPerPdu(void)const  __ptr64
?GetVarbindsPerPdu@SnmpSession@@QEBAKXZ
; protected: void * __ptr64 __cdecl SnmpEncodeDecode::GetWinSnmpSession(void) __ptr64
?GetWinSnmpSession@SnmpEncodeDecode@@IEAAPEAXXZ
; protected: void __cdecl SnmpVarBindList::GoBackward(class SnmpVarBindListNode * __ptr64,unsigned int) __ptr64
?GoBackward@SnmpVarBindList@@IEAAXPEAVSnmpVarBindListNode@@I@Z
; protected: void __cdecl SnmpVarBindList::GoForward(class SnmpVarBindListNode * __ptr64,unsigned int) __ptr64
?GoForward@SnmpVarBindList@@IEAAXPEAVSnmpVarBindListNode@@I@Z
; protected: int __cdecl SnmpVarBindList::GotoIndex(unsigned int) __ptr64
?GotoIndex@SnmpVarBindList@@IEAAHI@Z
; protected: void __cdecl SnmpVarBindList::GotoPosition(class SnmpVarBindList::ListPosition * __ptr64) __ptr64
?GotoPosition@SnmpVarBindList@@IEAAXPEAVListPosition@1@@Z
; private: void __cdecl SnmpImpSession::HandleDeletionEvent(void) __ptr64
?HandleDeletionEvent@SnmpImpSession@@AEAAXXZ
; private: void __cdecl SnmpImpSession::HandleSentFrame(unsigned long,class SnmpOperation * __ptr64) __ptr64
?HandleSentFrame@SnmpImpSession@@AEAAXKPEAVSnmpOperation@@@Z
; protected: virtual void __cdecl SnmpImpTransport::HandleSentFrame(unsigned long) __ptr64
?HandleSentFrame@SnmpImpTransport@@MEAAXK@Z
; public: static unsigned long __cdecl SnmpAnalyser::HexCharToDecInteger(char)
?HexCharToDecInteger@SnmpAnalyser@@SAKD@Z
; public: static unsigned long __cdecl SnmpAnalyser::HexWCharToDecInteger(unsigned short)
?HexWCharToDecInteger@SnmpAnalyser@@SAKG@Z
; protected: virtual void __cdecl SnmpAnalyser::Initialise(void) __ptr64
?Initialise@SnmpAnalyser@@MEAAXXZ
; protected: void __cdecl SnmpCommunityBasedSecurity::Initialize(void) __ptr64
?Initialize@SnmpCommunityBasedSecurity@@IEAAXXZ
; protected: virtual void __cdecl SnmpObjectIdentifier::Initialize(unsigned long const * __ptr64,unsigned long) __ptr64
?Initialize@SnmpObjectIdentifier@@MEAAXPEBKK@Z
; protected: virtual void __cdecl SnmpOctetString::Initialize(unsigned char const * __ptr64,unsigned long) __ptr64
?Initialize@SnmpOctetString@@MEAAXPEBEK@Z
; private: void __cdecl SnmpPdu::Initialize(unsigned char const * __ptr64,unsigned long const & __ptr64) __ptr64
?Initialize@SnmpPdu@@AEAAXPEBEAEBK@Z
; protected: void __cdecl SnmpVarBindList::Initialize(class SnmpVarBindList & __ptr64) __ptr64
?Initialize@SnmpVarBindList@@IEAAXAEAV1@@Z
; private: void __cdecl SnmpPdu::InitializeObject(class SnmpPdu & __ptr64) __ptr64
?InitializeObject@SnmpPdu@@AEAAXAEAV1@@Z
; protected: static int __cdecl SnmpEncodeDecode::InitializeStaticComponents(void)
?InitializeStaticComponents@SnmpEncodeDecode@@KAHXZ
; private: void __cdecl SnmpV1EncodeDecode::InitializeVariables(void) __ptr64
?InitializeVariables@SnmpV1EncodeDecode@@AEAAXXZ
; private: void __cdecl SnmpV2CEncodeDecode::InitializeVariables(void) __ptr64
?InitializeVariables@SnmpV2CEncodeDecode@@AEAAXXZ
; protected: void __cdecl SnmpVarBindList::Insert(class SnmpVarBindListNode * __ptr64,class SnmpVarBindListNode * __ptr64) __ptr64
?Insert@SnmpVarBindList@@IEAAXPEAVSnmpVarBindListNode@@0@Z
; public: static int __cdecl SnmpAnalyser::IsAlpha(unsigned short)
?IsAlpha@SnmpAnalyser@@SAHG@Z
; public: static int __cdecl SnmpAnalyser::IsAlphaNumeric(unsigned short)
?IsAlphaNumeric@SnmpAnalyser@@SAHG@Z
; public: static int __cdecl SnmpAnalyser::IsDecimal(unsigned short)
?IsDecimal@SnmpAnalyser@@SAHG@Z
; public: static int __cdecl SnmpAnalyser::IsEof(unsigned short)
?IsEof@SnmpAnalyser@@SAHG@Z
; public: static int __cdecl SnmpAnalyser::IsHex(unsigned short)
?IsHex@SnmpAnalyser@@SAHG@Z
; public: static int __cdecl SnmpAnalyser::IsLeadingDecimal(unsigned short)
?IsLeadingDecimal@SnmpAnalyser@@SAHG@Z
; public: virtual int __cdecl SnmpInstanceType::IsNull(void)const  __ptr64
?IsNull@SnmpInstanceType@@UEBAHXZ
; public: static int __cdecl SnmpAnalyser::IsOctal(unsigned short)
?IsOctal@SnmpAnalyser@@SAHG@Z
; public: int __cdecl SnmpTrapReceiver::IsRegistered(void) __ptr64
?IsRegistered@SnmpTrapReceiver@@QEAAHXZ
; public: virtual int __cdecl SnmpCounter64Type::IsSNMPV1Type(void)const  __ptr64
?IsSNMPV1Type@SnmpCounter64Type@@UEBAHXZ
; public: virtual int __cdecl SnmpInstanceType::IsSNMPV1Type(void)const  __ptr64
?IsSNMPV1Type@SnmpInstanceType@@UEBAHXZ
; public: virtual int __cdecl SnmpInstanceType::IsSNMPV2CType(void)const  __ptr64
?IsSNMPV2CType@SnmpInstanceType@@UEBAHXZ
; public: virtual int __cdecl SnmpNullType::IsSNMPV2CType(void)const  __ptr64
?IsSNMPV2CType@SnmpNullType@@UEBAHXZ
; public: virtual int __cdecl SnmpInstanceType::IsValid(void)const  __ptr64
?IsValid@SnmpInstanceType@@UEBAHXZ
; public: int __cdecl SnmpPositiveRangedType::IsValid(void) __ptr64
?IsValid@SnmpPositiveRangedType@@QEAAHXZ
; public: virtual int __cdecl SnmpTransportIpAddress::IsValid(void)const  __ptr64
?IsValid@SnmpTransportIpAddress@@UEBAHXZ
; public: virtual int __cdecl SnmpTransportIpxAddress::IsValid(void)const  __ptr64
?IsValid@SnmpTransportIpxAddress@@UEBAHXZ
; public: static int __cdecl SnmpAnalyser::IsWhitespace(unsigned short)
?IsWhitespace@SnmpAnalyser@@SAHG@Z
; private: class SnmpLexicon * __ptr64 __cdecl SnmpBitStringType::Match(enum SnmpLexicon::LexiconToken) __ptr64
?Match@SnmpBitStringType@@AEAAPEAVSnmpLexicon@@W4LexiconToken@2@@Z
; private: class SnmpLexicon * __ptr64 __cdecl SnmpDateTimeType::Match(enum SnmpLexicon::LexiconToken) __ptr64
?Match@SnmpDateTimeType@@AEAAPEAVSnmpLexicon@@W4LexiconToken@2@@Z
; private: class SnmpLexicon * __ptr64 __cdecl SnmpEnumeratedType::Match(enum SnmpLexicon::LexiconToken) __ptr64
?Match@SnmpEnumeratedType@@AEAAPEAVSnmpLexicon@@W4LexiconToken@2@@Z
; protected: class SnmpLexicon * __ptr64 __cdecl SnmpPositiveRangedType::Match(enum SnmpLexicon::LexiconToken) __ptr64
?Match@SnmpPositiveRangedType@@IEAAPEAVSnmpLexicon@@W4LexiconToken@2@@Z
; public: int __cdecl SnmpVarBindList::Next(void) __ptr64
?Next@SnmpVarBindList@@QEAAHXZ
; private: void __cdecl SnmpImpSession::NotifyOperation(unsigned long,class SnmpPdu const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
?NotifyOperation@SnmpImpSession@@AEAAXKAEBVSnmpPdu@@AEBVSnmpErrorReport@@@Z
; public: static unsigned long __cdecl SnmpAnalyser::OctCharToDecInteger(char)
?OctCharToDecInteger@SnmpAnalyser@@SAKD@Z
; public: static unsigned long __cdecl SnmpAnalyser::OctWCharToDecInteger(unsigned short)
?OctWCharToDecInteger@SnmpAnalyser@@SAKG@Z
; private: void __cdecl SnmpObjectIdentifier::OverWrite(unsigned long const * __ptr64) __ptr64
?OverWrite@SnmpObjectIdentifier@@AEAAXPEBK@Z
; private: void __cdecl SnmpOctetString::OverWrite(unsigned char const * __ptr64) __ptr64
?OverWrite@SnmpOctetString@@AEAAXPEBE@Z
; private: int __cdecl SnmpBitStringType::Parse(unsigned short const * __ptr64) __ptr64
?Parse@SnmpBitStringType@@AEAAHPEBG@Z
; protected: int __cdecl SnmpCounter64Type::Parse(unsigned short const * __ptr64) __ptr64
?Parse@SnmpCounter64Type@@IEAAHPEBG@Z
; protected: int __cdecl SnmpCounterType::Parse(unsigned short const * __ptr64) __ptr64
?Parse@SnmpCounterType@@IEAAHPEBG@Z
; private: int __cdecl SnmpDateTimeType::Parse(unsigned short const * __ptr64) __ptr64
?Parse@SnmpDateTimeType@@AEAAHPEBG@Z
; private: int __cdecl SnmpEnumeratedType::Parse(unsigned short const * __ptr64) __ptr64
?Parse@SnmpEnumeratedType@@AEAAHPEBG@Z
; protected: int __cdecl SnmpFixedLengthPhysAddressType::Parse(unsigned short const * __ptr64) __ptr64
?Parse@SnmpFixedLengthPhysAddressType@@IEAAHPEBG@Z
; protected: int __cdecl SnmpGaugeType::Parse(unsigned short const * __ptr64) __ptr64
?Parse@SnmpGaugeType@@IEAAHPEBG@Z
; protected: int __cdecl SnmpIPXAddressType::Parse(unsigned short const * __ptr64) __ptr64
?Parse@SnmpIPXAddressType@@IEAAHPEBG@Z
; protected: int __cdecl SnmpIntegerType::Parse(unsigned short const * __ptr64) __ptr64
?Parse@SnmpIntegerType@@IEAAHPEBG@Z
; protected: int __cdecl SnmpIpAddressType::Parse(unsigned short const * __ptr64) __ptr64
?Parse@SnmpIpAddressType@@IEAAHPEBG@Z
; protected: int __cdecl SnmpMacAddressType::Parse(unsigned short const * __ptr64) __ptr64
?Parse@SnmpMacAddressType@@IEAAHPEBG@Z
; protected: int __cdecl SnmpNetworkAddressType::Parse(unsigned short const * __ptr64) __ptr64
?Parse@SnmpNetworkAddressType@@IEAAHPEBG@Z
; protected: int __cdecl SnmpOSIAddressType::Parse(unsigned short const * __ptr64) __ptr64
?Parse@SnmpOSIAddressType@@IEAAHPEBG@Z
; protected: int __cdecl SnmpObjectIdentifierType::Parse(unsigned short const * __ptr64) __ptr64
?Parse@SnmpObjectIdentifierType@@IEAAHPEBG@Z
; protected: int __cdecl SnmpOctetStringType::Parse(unsigned short const * __ptr64) __ptr64
?Parse@SnmpOctetStringType@@IEAAHPEBG@Z
; protected: int __cdecl SnmpOpaqueType::Parse(unsigned short const * __ptr64) __ptr64
?Parse@SnmpOpaqueType@@IEAAHPEBG@Z
; protected: int __cdecl SnmpPhysAddressType::Parse(unsigned short const * __ptr64) __ptr64
?Parse@SnmpPhysAddressType@@IEAAHPEBG@Z
; protected: int __cdecl SnmpPositiveRangedType::Parse(unsigned short const * __ptr64) __ptr64
?Parse@SnmpPositiveRangedType@@IEAAHPEBG@Z
; protected: int __cdecl SnmpTimeTicksType::Parse(unsigned short const * __ptr64) __ptr64
?Parse@SnmpTimeTicksType@@IEAAHPEBG@Z
; protected: int __cdecl SnmpUDPAddressType::Parse(unsigned short const * __ptr64) __ptr64
?Parse@SnmpUDPAddressType@@IEAAHPEBG@Z
; protected: int __cdecl SnmpUInteger32Type::Parse(unsigned short const * __ptr64) __ptr64
?Parse@SnmpUInteger32Type@@IEAAHPEBG@Z
; private: void __cdecl SnmpImpSession::PostSentFrameEvent(unsigned long,class SnmpOperation & __ptr64,class SnmpErrorReport) __ptr64
?PostSentFrameEvent@SnmpImpSession@@AEAAXKAEAVSnmpOperation@@VSnmpErrorReport@@@Z
; public: int __cdecl SnmpObjectIdentifier::Prefix(unsigned long,class SnmpObjectIdentifier & __ptr64)const  __ptr64
?Prefix@SnmpObjectIdentifier@@QEBAHKAEAV1@@Z
; private: long __cdecl SnmpOperation::ProcessInternalEvent(struct HWND__ * __ptr64,unsigned int,unsigned __int64,__int64) __ptr64
?ProcessInternalEvent@SnmpOperation@@AEAAJPEAUHWND__@@I_K_J@Z
; private: int __cdecl GetNextOperation::ProcessRow(void) __ptr64
?ProcessRow@GetNextOperation@@AEAAHXZ
; private: void __cdecl SnmpBitStringType::PushBack(void) __ptr64
?PushBack@SnmpBitStringType@@AEAAXXZ
; private: void __cdecl SnmpDateTimeType::PushBack(void) __ptr64
?PushBack@SnmpDateTimeType@@AEAAXXZ
; private: void __cdecl SnmpEnumeratedType::PushBack(void) __ptr64
?PushBack@SnmpEnumeratedType@@AEAAXXZ
; protected: void __cdecl SnmpPositiveRangedType::PushBack(void) __ptr64
?PushBack@SnmpPositiveRangedType@@IEAAXXZ
; public: void __cdecl SnmpAnalyser::PutBack(class SnmpLexicon const * __ptr64) __ptr64
?PutBack@SnmpAnalyser@@QEAAXPEBVSnmpLexicon@@@Z
; protected: int __cdecl SnmpPositiveRangedType::RangeDef(void) __ptr64
?RangeDef@SnmpPositiveRangedType@@IEAAHXZ
; private: void __cdecl SnmpOperation::ReceiveErroredResponse(unsigned long,class SnmpVarBindList & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
?ReceiveErroredResponse@SnmpOperation@@AEAAXKAEAVSnmpVarBindList@@AEBVSnmpErrorReport@@@Z
; protected: virtual void __cdecl GetNextOperation::ReceiveErroredVarBindResponse(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
?ReceiveErroredVarBindResponse@GetNextOperation@@MEAAXAEBKAEBVSnmpVarBind@@AEBVSnmpErrorReport@@@Z
; protected: virtual void __cdecl SnmpAutoRetrieveOperation::ReceiveErroredVarBindResponse(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
?ReceiveErroredVarBindResponse@SnmpAutoRetrieveOperation@@MEAAXAEBKAEBVSnmpVarBind@@AEBVSnmpErrorReport@@@Z
; protected: virtual void __cdecl SnmpOperation::ReceiveErroredVarBindResponse(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
?ReceiveErroredVarBindResponse@SnmpOperation@@MEAAXAEBKAEBVSnmpVarBind@@AEBVSnmpErrorReport@@@Z
; public: void __cdecl SnmpAutoRetrieveOperation::ReceiveFrame(unsigned long,class SnmpPdu const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
?ReceiveFrame@SnmpAutoRetrieveOperation@@QEAAXKAEBVSnmpPdu@@AEBVSnmpErrorReport@@@Z
; public: void __cdecl SnmpOperation::ReceiveFrame(unsigned long,class SnmpPdu const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
?ReceiveFrame@SnmpOperation@@QEAAXKAEBVSnmpPdu@@AEBVSnmpErrorReport@@@Z
; protected: virtual void __cdecl GetNextOperation::ReceiveResponse(void) __ptr64
?ReceiveResponse@GetNextOperation@@MEAAXXZ
; protected: virtual void __cdecl SnmpAutoRetrieveOperation::ReceiveResponse(void) __ptr64
?ReceiveResponse@SnmpAutoRetrieveOperation@@MEAAXXZ
; protected: virtual void __cdecl SnmpOperation::ReceiveResponse(void) __ptr64
?ReceiveResponse@SnmpOperation@@MEAAXXZ
; protected: virtual void __cdecl SnmpAutoRetrieveOperation::ReceiveRowResponse(void) __ptr64
?ReceiveRowResponse@SnmpAutoRetrieveOperation@@MEAAXXZ
; protected: virtual void __cdecl SnmpAutoRetrieveOperation::ReceiveRowVarBindResponse(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
?ReceiveRowVarBindResponse@SnmpAutoRetrieveOperation@@MEAAXAEBKAEBVSnmpVarBind@@1AEBVSnmpErrorReport@@@Z
; protected: virtual void __cdecl GetNextOperation::ReceiveVarBindResponse(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
?ReceiveVarBindResponse@GetNextOperation@@MEAAXAEBKAEBVSnmpVarBind@@1AEBVSnmpErrorReport@@@Z
; protected: virtual void __cdecl SnmpAutoRetrieveOperation::ReceiveVarBindResponse(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
?ReceiveVarBindResponse@SnmpAutoRetrieveOperation@@MEAAXAEBKAEBVSnmpVarBind@@1AEBVSnmpErrorReport@@@Z
; protected: virtual void __cdecl SnmpOperation::ReceiveVarBindResponse(unsigned long const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpVarBind const & __ptr64,class SnmpErrorReport const & __ptr64) __ptr64
?ReceiveVarBindResponse@SnmpOperation@@MEAAXAEBKAEBVSnmpVarBind@@1AEBVSnmpErrorReport@@@Z
; private: int __cdecl SnmpBitStringType::RecursiveDef(void) __ptr64
?RecursiveDef@SnmpBitStringType@@AEAAHXZ
; private: int __cdecl SnmpEnumeratedType::RecursiveDef(void) __ptr64
?RecursiveDef@SnmpEnumeratedType@@AEAAHXZ
; protected: int __cdecl SnmpPositiveRangedType::RecursiveDef(void) __ptr64
?RecursiveDef@SnmpPositiveRangedType@@IEAAHXZ
; public: virtual void __cdecl SnmpImpSession::RegisterOperation(class SnmpOperation & __ptr64) __ptr64
?RegisterOperation@SnmpImpSession@@UEAAXAEAVSnmpOperation@@@Z
; protected: void __cdecl SnmpVarBindList::Release(class SnmpVarBindListNode * __ptr64) __ptr64
?Release@SnmpVarBindList@@IEAAXPEAVSnmpVarBindListNode@@@Z
; public: void __cdecl SnmpVarBindList::Remove(void) __ptr64
?Remove@SnmpVarBindList@@QEAAXXZ
; protected: virtual unsigned long * __ptr64 __cdecl SnmpObjectIdentifier::Replicate(unsigned long const * __ptr64,unsigned long,unsigned long const * __ptr64,unsigned long)const  __ptr64
?Replicate@SnmpObjectIdentifier@@MEBAPEAKPEBKK0K@Z
; protected: virtual unsigned long * __ptr64 __cdecl SnmpObjectIdentifier::Replicate(unsigned long const * __ptr64,unsigned long)const  __ptr64
?Replicate@SnmpObjectIdentifier@@MEBAPEAKPEBKK@Z
; protected: virtual unsigned char * __ptr64 __cdecl SnmpOctetString::Replicate(unsigned char const * __ptr64,unsigned long) __ptr64
?Replicate@SnmpOctetString@@MEAAPEAEPEBEK@Z
; protected: virtual void __cdecl SnmpVarBind::Replicate(class SnmpObjectIdentifier const & __ptr64,class SnmpValue const & __ptr64) __ptr64
?Replicate@SnmpVarBind@@MEAAXAEBVSnmpObjectIdentifier@@AEBVSnmpValue@@@Z
; public: void __cdecl SnmpVarBindList::Reset(void) __ptr64
?Reset@SnmpVarBindList@@QEAAXXZ
; public: static unsigned long __cdecl SnmpImpSession::RetryCount(unsigned long)
?RetryCount@SnmpImpSession@@SAKK@Z
; public: static unsigned long __cdecl SnmpImpSession::RetryTimeout(unsigned long)
?RetryTimeout@SnmpImpSession@@SAKK@Z
; public: virtual class SnmpErrorReport  __cdecl SnmpCommunityBasedSecurity::Secure(class SnmpEncodeDecode & __ptr64,class SnmpPdu & __ptr64) __ptr64
?Secure@SnmpCommunityBasedSecurity@@UEAA?AVSnmpErrorReport@@AEAVSnmpEncodeDecode@@AEAVSnmpPdu@@@Z
; private: void __cdecl GetNextOperation::Send(void) __ptr64
?Send@GetNextOperation@@AEAAXXZ
; private: void __cdecl SnmpOperation::SendFrame(class VBList & __ptr64) __ptr64
?SendFrame@SnmpOperation@@AEAAXAEAVVBList@@@Z
; public: void __cdecl GetNextOperation::SendRequest(class SnmpVarBindList & __ptr64,class SnmpVarBindList & __ptr64) __ptr64
?SendRequest@GetNextOperation@@QEAAXAEAVSnmpVarBindList@@0@Z
; public: virtual void __cdecl GetNextOperation::SendRequest(class SnmpVarBindList & __ptr64) __ptr64
?SendRequest@GetNextOperation@@UEAAXAEAVSnmpVarBindList@@@Z
; public: virtual void __cdecl SnmpAutoRetrieveOperation::SendRequest(class SnmpVarBindList & __ptr64,class SnmpVarBindList & __ptr64) __ptr64
?SendRequest@SnmpAutoRetrieveOperation@@UEAAXAEAVSnmpVarBindList@@0@Z
; public: virtual void __cdecl SnmpAutoRetrieveOperation::SendRequest(class SnmpVarBindList & __ptr64) __ptr64
?SendRequest@SnmpAutoRetrieveOperation@@UEAAXAEAVSnmpVarBindList@@@Z
; private: void __cdecl SnmpOperation::SendRequest(class SnmpVarBindList & __ptr64,class SnmpSecurity * __ptr64) __ptr64
?SendRequest@SnmpOperation@@AEAAXAEAVSnmpVarBindList@@PEAVSnmpSecurity@@@Z
; public: virtual void __cdecl SnmpOperation::SendRequest(class SnmpVarBindList & __ptr64) __ptr64
?SendRequest@SnmpOperation@@UEAAXAEAVSnmpVarBindList@@@Z
; public: virtual void __cdecl SnmpOperation::SendRequest(class SnmpVarBindList & __ptr64,class SnmpSecurity & __ptr64) __ptr64
?SendRequest@SnmpOperation@@UEAAXAEAVSnmpVarBindList@@AEAVSnmpSecurity@@@Z
; private: void __cdecl SnmpOperation::SendVarBindList(class SnmpVarBindList & __ptr64,unsigned int,unsigned long) __ptr64
?SendVarBindList@SnmpOperation@@AEAAXAEAVSnmpVarBindList@@IK@Z
; protected: virtual void __cdecl GetNextOperation::SentFrame(unsigned long,class SnmpErrorReport const & __ptr64) __ptr64
?SentFrame@GetNextOperation@@MEAAXKAEBVSnmpErrorReport@@@Z
; public: virtual void __cdecl SnmpAutoRetrieveOperation::SentFrame(unsigned long,class SnmpErrorReport const & __ptr64) __ptr64
?SentFrame@SnmpAutoRetrieveOperation@@UEAAXKAEBVSnmpErrorReport@@@Z
; public: virtual void __cdecl SnmpOperation::SentFrame(unsigned long,class SnmpErrorReport const & __ptr64) __ptr64
?SentFrame@SnmpOperation@@UEAAXKAEBVSnmpErrorReport@@@Z
; public: virtual class SnmpErrorReport  __cdecl SnmpImpSession::SessionCancelFrame(unsigned long) __ptr64
?SessionCancelFrame@SnmpImpSession@@UEAA?AVSnmpErrorReport@@K@Z
; protected: virtual void __cdecl SnmpSession::SessionFlowControlOff(void) __ptr64
?SessionFlowControlOff@SnmpSession@@MEAAXXZ
; protected: virtual void __cdecl SnmpSession::SessionFlowControlOn(void) __ptr64
?SessionFlowControlOn@SnmpSession@@MEAAXXZ
; public: virtual void __cdecl SnmpImpSession::SessionReceiveFrame(class SnmpPdu & __ptr64,class SnmpErrorReport & __ptr64) __ptr64
?SessionReceiveFrame@SnmpImpSession@@UEAAXAEAVSnmpPdu@@AEAVSnmpErrorReport@@@Z
; public: virtual void __cdecl SnmpImpSession::SessionSendFrame(class SnmpOperation & __ptr64,unsigned long & __ptr64,class SnmpPdu & __ptr64) __ptr64
?SessionSendFrame@SnmpImpSession@@UEAAXAEAVSnmpOperation@@AEAKAEAVSnmpPdu@@@Z
; public: virtual void __cdecl SnmpImpSession::SessionSendFrame(class SnmpOperation & __ptr64,unsigned long & __ptr64,class SnmpPdu & __ptr64,class SnmpSecurity & __ptr64) __ptr64
?SessionSendFrame@SnmpImpSession@@UEAAXAEAVSnmpOperation@@AEAKAEAVSnmpPdu@@AEAVSnmpSecurity@@@Z
; public: virtual void __cdecl SnmpImpSession::SessionSentFrame(unsigned long,class SnmpErrorReport & __ptr64) __ptr64
?SessionSentFrame@SnmpImpSession@@UEAAXKAEAVSnmpErrorReport@@@Z
; public: void __cdecl SnmpAnalyser::Set(unsigned short const * __ptr64) __ptr64
?Set@SnmpAnalyser@@QEAAXPEBG@Z
; public: void __cdecl SnmpCommunityBasedSecurity::SetCommunityName(class SnmpOctetString const & __ptr64) __ptr64
?SetCommunityName@SnmpCommunityBasedSecurity@@QEAAXAEBVSnmpOctetString@@@Z
; public: void __cdecl SnmpCommunityBasedSecurity::SetCommunityName(char const * __ptr64) __ptr64
?SetCommunityName@SnmpCommunityBasedSecurity@@QEAAXPEBD@Z
; public: virtual int __cdecl SnmpEncodeDecode::SetCommunityName(class SnmpPdu & __ptr64,class SnmpCommunityBasedSecurity & __ptr64) __ptr64
?SetCommunityName@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpCommunityBasedSecurity@@@Z
; public: virtual int __cdecl SnmpPdu::SetCommunityName(class SnmpCommunityBasedSecurity & __ptr64) __ptr64
?SetCommunityName@SnmpPdu@@UEAAHAEAVSnmpCommunityBasedSecurity@@@Z
; public: virtual int __cdecl SnmpEncodeDecode::SetDestinationAddress(class SnmpPdu & __ptr64,class SnmpTransportAddress & __ptr64) __ptr64
?SetDestinationAddress@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpTransportAddress@@@Z
; public: virtual int __cdecl SnmpPdu::SetDestinationAddress(class SnmpTransportAddress & __ptr64) __ptr64
?SetDestinationAddress@SnmpPdu@@UEAAHAEAVSnmpTransportAddress@@@Z
; public: void __cdecl SnmpErrorReport::SetError(enum SnmpError) __ptr64
?SetError@SnmpErrorReport@@QEAAXW4SnmpError@@@Z
; public: virtual int __cdecl SnmpEncodeDecode::SetErrorReport(class SnmpPdu & __ptr64,class SnmpErrorReport & __ptr64) __ptr64
?SetErrorReport@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpErrorReport@@@Z
; public: virtual int __cdecl SnmpPdu::SetErrorReport(class SnmpErrorReport & __ptr64) __ptr64
?SetErrorReport@SnmpPdu@@UEAAHAEAVSnmpErrorReport@@@Z
; public: void __cdecl SnmpErrorReport::SetIndex(unsigned long) __ptr64
?SetIndex@SnmpErrorReport@@QEAAXK@Z
; public: void __cdecl SnmpNegativeRangeType::SetLowerBound(long const & __ptr64) __ptr64
?SetLowerBound@SnmpNegativeRangeType@@QEAAXAEBJ@Z
; public: void __cdecl SnmpPositiveRangeType::SetLowerBound(unsigned long const & __ptr64) __ptr64
?SetLowerBound@SnmpPositiveRangeType@@QEAAXAEBK@Z
; public: void __cdecl SnmpVarBindListNode::SetNext(class SnmpVarBindListNode * __ptr64) __ptr64
?SetNext@SnmpVarBindListNode@@QEAAXPEAV1@@Z
; public: void __cdecl SnmpInstanceType::SetNull(int) __ptr64
?SetNull@SnmpInstanceType@@QEAAXH@Z
; public: void __cdecl SnmpPdu::SetPdu(class SnmpPdu & __ptr64) __ptr64
?SetPdu@SnmpPdu@@QEAAXAEAV1@@Z
; public: void __cdecl SnmpPdu::SetPdu(unsigned char const * __ptr64,unsigned long) __ptr64
?SetPdu@SnmpPdu@@QEAAXPEBEK@Z
; public: virtual int __cdecl SnmpEncodeDecode::SetPduType(class SnmpPdu & __ptr64,enum SnmpEncodeDecode::PduType) __ptr64
?SetPduType@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@W4PduType@1@@Z
; public: virtual int __cdecl SnmpPdu::SetPduType(enum SnmpEncodeDecode::PduType) __ptr64
?SetPduType@SnmpPdu@@UEAAHW4PduType@SnmpEncodeDecode@@@Z
; public: void __cdecl SnmpVarBindListNode::SetPrevious(class SnmpVarBindListNode * __ptr64) __ptr64
?SetPrevious@SnmpVarBindListNode@@QEAAXPEAV1@@Z
; public: virtual int __cdecl SnmpEncodeDecode::SetRequestId(class SnmpPdu & __ptr64,long) __ptr64
?SetRequestId@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@J@Z
; public: virtual int __cdecl SnmpPdu::SetRequestId(long) __ptr64
?SetRequestId@SnmpPdu@@UEAAHJ@Z
; public: virtual int __cdecl SnmpEncodeDecode::SetSourceAddress(class SnmpPdu & __ptr64,class SnmpTransportAddress & __ptr64) __ptr64
?SetSourceAddress@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpTransportAddress@@@Z
; public: virtual int __cdecl SnmpPdu::SetSourceAddress(class SnmpTransportAddress & __ptr64) __ptr64
?SetSourceAddress@SnmpPdu@@UEAAHAEAVSnmpTransportAddress@@@Z
; public: void __cdecl SnmpErrorReport::SetStatus(enum SnmpStatus) __ptr64
?SetStatus@SnmpErrorReport@@QEAAXW4SnmpStatus@@@Z
; public: void __cdecl SnmpInstanceType::SetStatus(int) __ptr64
?SetStatus@SnmpInstanceType@@QEAAXH@Z
; public: void __cdecl SnmpPositiveRangedType::SetStatus(int const & __ptr64) __ptr64
?SetStatus@SnmpPositiveRangedType@@QEAAXAEBH@Z
; public: void __cdecl SnmpLexicon::SetToken(enum SnmpLexicon::LexiconToken) __ptr64
?SetToken@SnmpLexicon@@QEAAXW4LexiconToken@1@@Z
; protected: virtual void __cdecl SnmpV1EncodeDecode::SetTranslateMode(void) __ptr64
?SetTranslateMode@SnmpV1EncodeDecode@@MEAAXXZ
; protected: virtual void __cdecl SnmpV2CEncodeDecode::SetTranslateMode(void) __ptr64
?SetTranslateMode@SnmpV2CEncodeDecode@@MEAAXXZ
; public: void __cdecl SnmpNegativeRangeType::SetUpperBound(long const & __ptr64) __ptr64
?SetUpperBound@SnmpNegativeRangeType@@QEAAXAEBJ@Z
; public: void __cdecl SnmpPositiveRangeType::SetUpperBound(unsigned long const & __ptr64) __ptr64
?SetUpperBound@SnmpPositiveRangeType@@QEAAXAEBK@Z
; public: void __cdecl SnmpCounter64::SetValue(unsigned long,unsigned long) __ptr64
?SetValue@SnmpCounter64@@QEAAXKK@Z
; public: void __cdecl SnmpCounter::SetValue(unsigned long) __ptr64
?SetValue@SnmpCounter@@QEAAXK@Z
; public: void __cdecl SnmpGauge::SetValue(unsigned long) __ptr64
?SetValue@SnmpGauge@@QEAAXK@Z
; public: void __cdecl SnmpInteger::SetValue(long) __ptr64
?SetValue@SnmpInteger@@QEAAXJ@Z
; public: void __cdecl SnmpIpAddress::SetValue(unsigned long) __ptr64
?SetValue@SnmpIpAddress@@QEAAXK@Z
; public: void __cdecl SnmpObjectIdentifier::SetValue(unsigned long const * __ptr64,unsigned long) __ptr64
?SetValue@SnmpObjectIdentifier@@QEAAXPEBKK@Z
; public: void __cdecl SnmpOctetString::SetValue(unsigned char const * __ptr64,unsigned long) __ptr64
?SetValue@SnmpOctetString@@QEAAXPEBEK@Z
; public: void __cdecl SnmpOpaque::SetValue(unsigned char const * __ptr64,unsigned long) __ptr64
?SetValue@SnmpOpaque@@QEAAXPEBEK@Z
; public: void __cdecl SnmpTimeTicks::SetValue(unsigned long) __ptr64
?SetValue@SnmpTimeTicks@@QEAAXK@Z
; public: void __cdecl SnmpUInteger32::SetValue(unsigned long) __ptr64
?SetValue@SnmpUInteger32@@QEAAXK@Z
; public: virtual int __cdecl SnmpEncodeDecode::SetVarBindList(class SnmpPdu & __ptr64,class SnmpVarBindList & __ptr64) __ptr64
?SetVarBindList@SnmpEncodeDecode@@UEAAHAEAVSnmpPdu@@AEAVSnmpVarBindList@@@Z
; public: virtual int __cdecl SnmpPdu::SetVarBindList(class SnmpVarBindList & __ptr64) __ptr64
?SetVarBindList@SnmpPdu@@UEAAHAEAVSnmpVarBindList@@@Z
; public: static int __cdecl SnmpClassLibrary::Startup(void)
?Startup@SnmpClassLibrary@@SAHXZ
; public: int __cdecl SnmpObjectIdentifier::Suffix(unsigned long,class SnmpObjectIdentifier & __ptr64)const  __ptr64
?Suffix@SnmpObjectIdentifier@@QEBAHKAEAV1@@Z
; protected: virtual void __cdecl SnmpImpTransport::TransportFlowControlOff(void) __ptr64
?TransportFlowControlOff@SnmpImpTransport@@MEAAXXZ
; protected: virtual void __cdecl SnmpImpTransport::TransportFlowControlOn(void) __ptr64
?TransportFlowControlOn@SnmpImpTransport@@MEAAXXZ
; public: virtual void __cdecl SnmpImpTransport::TransportReceiveFrame(class SnmpPdu & __ptr64,class SnmpErrorReport & __ptr64) __ptr64
?TransportReceiveFrame@SnmpImpTransport@@UEAAXAEAVSnmpPdu@@AEAVSnmpErrorReport@@@Z
; public: virtual void __cdecl SnmpImpTransport::TransportSendFrame(unsigned long & __ptr64,class SnmpPdu & __ptr64) __ptr64
?TransportSendFrame@SnmpImpTransport@@UEAAXAEAKAEAVSnmpPdu@@@Z
; public: virtual void __cdecl SnmpImpTransport::TransportSentFrame(unsigned long,class SnmpErrorReport & __ptr64) __ptr64
?TransportSentFrame@SnmpImpTransport@@UEAAXKAEAVSnmpErrorReport@@@Z
; protected: virtual void __cdecl SnmpObjectIdentifier::UnReplicate(unsigned long * __ptr64) __ptr64
?UnReplicate@SnmpObjectIdentifier@@MEAAXPEAK@Z
; protected: virtual void __cdecl SnmpOctetString::UnReplicate(unsigned char * __ptr64) __ptr64
?UnReplicate@SnmpOctetString@@MEAAXPEAE@Z
; unsigned short * __ptr64 __cdecl UnicodeStringAppend(unsigned short const * __ptr64,unsigned short const * __ptr64)
?UnicodeStringAppend@@YAPEAGPEBG0@Z
; unsigned short * __ptr64 __cdecl UnicodeStringDuplicate(unsigned short const * __ptr64)
?UnicodeStringDuplicate@@YAPEAGPEBG@Z
; char * __ptr64 __cdecl UnicodeToDbcsString(unsigned short const * __ptr64)
?UnicodeToDbcsString@@YAPEADPEBG@Z
; public: static int __cdecl SnmpTransportIpAddress::ValidateAddress(char const * __ptr64,unsigned long)
?ValidateAddress@SnmpTransportIpAddress@@SAHPEBDK@Z
; public: static int __cdecl SnmpTransportIpxAddress::ValidateAddress(char const * __ptr64)
?ValidateAddress@SnmpTransportIpxAddress@@SAHPEBD@Z
; public: static unsigned long __cdecl SnmpImpSession::VarbindsPerPdu(unsigned long)
?VarbindsPerPdu@SnmpImpSession@@SAKK@Z
; public: static unsigned long __cdecl SnmpImpSession::WindowSize(unsigned long)
?WindowSize@SnmpImpSession@@SAKK@Z
; private: static unsigned long  SnmpImpTransport::next_transport_frame_id
?next_transport_frame_id@SnmpImpTransport@@0KA DATA
; protected: static class CriticalSection  SnmpEncodeDecode::s_CriticalSection
?s_CriticalSection@SnmpEncodeDecode@@1VCriticalSection@@A DATA
; protected: static long  SnmpClassLibrary::s_ReferenceCount
?s_ReferenceCount@SnmpClassLibrary@@1JA DATA
