; 
; Exports of file SNMPTHRD.dll
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY SNMPTHRD.dll
EXPORTS
; protected: __cdecl SnmpAbstractTaskObject::SnmpAbstractTaskObject(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
??0SnmpAbstractTaskObject@@IEAA@PEBG0K@Z
; public: __cdecl SnmpAbstractTaskObject::SnmpAbstractTaskObject(class SnmpAbstractTaskObject const & __ptr64) __ptr64
??0SnmpAbstractTaskObject@@QEAA@AEBV0@@Z
; public: __cdecl SnmpEventObject::SnmpEventObject(class SnmpEventObject const & __ptr64) __ptr64
??0SnmpEventObject@@QEAA@AEBV0@@Z
; public: __cdecl SnmpEventObject::SnmpEventObject(unsigned short const * __ptr64) __ptr64
??0SnmpEventObject@@QEAA@PEBG@Z
; public: __cdecl SnmpTaskObject::SnmpTaskObject(class SnmpTaskObject const & __ptr64) __ptr64
??0SnmpTaskObject@@QEAA@AEBV0@@Z
; public: __cdecl SnmpTaskObject::SnmpTaskObject(unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
??0SnmpTaskObject@@QEAA@PEBG00K@Z
; public: __cdecl SnmpThreadObject::SnmpThreadObject(class SnmpThreadObject const & __ptr64) __ptr64
??0SnmpThreadObject@@QEAA@AEBV0@@Z
; public: __cdecl SnmpThreadObject::SnmpThreadObject(char const * __ptr64,unsigned long) __ptr64
??0SnmpThreadObject@@QEAA@PEBDK@Z
; public: virtual __cdecl SnmpAbstractTaskObject::~SnmpAbstractTaskObject(void) __ptr64
??1SnmpAbstractTaskObject@@UEAA@XZ
; public: virtual __cdecl SnmpEventObject::~SnmpEventObject(void) __ptr64
??1SnmpEventObject@@UEAA@XZ
; public: virtual __cdecl SnmpTaskObject::~SnmpTaskObject(void) __ptr64
??1SnmpTaskObject@@UEAA@XZ
; public: virtual __cdecl SnmpThreadObject::~SnmpThreadObject(void) __ptr64
??1SnmpThreadObject@@UEAA@XZ
; public: class SnmpAbstractTaskObject & __ptr64 __cdecl SnmpAbstractTaskObject::operator=(class SnmpAbstractTaskObject const & __ptr64) __ptr64
??4SnmpAbstractTaskObject@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpDebugLog & __ptr64 __cdecl SnmpDebugLog::operator=(class SnmpDebugLog const & __ptr64) __ptr64
??4SnmpDebugLog@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpEventObject & __ptr64 __cdecl SnmpEventObject::operator=(class SnmpEventObject const & __ptr64) __ptr64
??4SnmpEventObject@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpTaskObject & __ptr64 __cdecl SnmpTaskObject::operator=(class SnmpTaskObject const & __ptr64) __ptr64
??4SnmpTaskObject@@QEAAAEAV0@AEBV0@@Z
; public: class SnmpThreadObject & __ptr64 __cdecl SnmpThreadObject::operator=(class SnmpThreadObject const & __ptr64) __ptr64
??4SnmpThreadObject@@QEAAAEAV0@AEBV0@@Z
; const  SnmpAbstractTaskObject::`vftable'
??_7SnmpAbstractTaskObject@@6B@
; const  SnmpEventObject::`vftable'
??_7SnmpEventObject@@6B@
; const  SnmpTaskObject::`vftable'
??_7SnmpTaskObject@@6B@
; const  SnmpThreadObject::`vftable'
??_7SnmpThreadObject@@6B@
; public: void __cdecl SnmpAbstractTaskObject::`default constructor closure'(void) __ptr64
??_FSnmpAbstractTaskObject@@QEAAXXZ
; public: void __cdecl SnmpEventObject::`default constructor closure'(void) __ptr64
??_FSnmpEventObject@@QEAAXXZ
; public: void __cdecl SnmpTaskObject::`default constructor closure'(void) __ptr64
??_FSnmpTaskObject@@QEAAXXZ
; public: void __cdecl SnmpThreadObject::`default constructor closure'(void) __ptr64
??_FSnmpThreadObject@@QEAAXXZ
; public: virtual void __cdecl SnmpAbstractTaskObject::Acknowledge(void) __ptr64
?Acknowledge@SnmpAbstractTaskObject@@UEAAXXZ
; private: void __cdecl SnmpAbstractTaskObject::AttachTaskToThread(class SnmpThreadObject & __ptr64) __ptr64
?AttachTaskToThread@SnmpAbstractTaskObject@@AEAAXAEAVSnmpThreadObject@@@Z
; public: void __cdecl SnmpThreadObject::BeginThread(void) __ptr64
?BeginThread@SnmpThreadObject@@QEAAXXZ
; public: void __cdecl SnmpEventObject::Clear(void) __ptr64
?Clear@SnmpEventObject@@QEAAXXZ
; public: static void __cdecl SnmpThreadObject::Closedown(void)
?Closedown@SnmpThreadObject@@SAXXZ
; public: virtual void __cdecl SnmpAbstractTaskObject::Complete(void) __ptr64
?Complete@SnmpAbstractTaskObject@@UEAAXXZ
; public: virtual void __cdecl SnmpEventObject::Complete(void) __ptr64
?Complete@SnmpEventObject@@UEAAXXZ
; private: void __cdecl SnmpThreadObject::ConstructEventContainer(void) __ptr64
?ConstructEventContainer@SnmpThreadObject@@AEAAXXZ
; private: void __cdecl SnmpAbstractTaskObject::DetachTaskFromThread(class SnmpThreadObject & __ptr64) __ptr64
?DetachTaskFromThread@SnmpAbstractTaskObject@@AEAAXAEAVSnmpThreadObject@@@Z
; public: virtual void __cdecl SnmpAbstractTaskObject::Exec(void) __ptr64
?Exec@SnmpAbstractTaskObject@@UEAAXXZ
; public: virtual void __cdecl SnmpTaskObject::Exec(void) __ptr64
?Exec@SnmpTaskObject@@UEAAXXZ
; private: void * __ptr64 * __ptr64 __cdecl SnmpThreadObject::GetEventHandles(void) __ptr64
?GetEventHandles@SnmpThreadObject@@AEAAPEAPEAXXZ
; private: unsigned long __cdecl SnmpThreadObject::GetEventHandlesSize(void) __ptr64
?GetEventHandlesSize@SnmpThreadObject@@AEAAKXZ
; public: void * __ptr64 __cdecl SnmpEventObject::GetHandle(void) __ptr64
?GetHandle@SnmpEventObject@@QEAAPEAXXZ
; public: virtual void * __ptr64 __cdecl SnmpTaskObject::GetHandle(void) __ptr64
?GetHandle@SnmpTaskObject@@UEAAPEAXXZ
; private: class SnmpAbstractTaskObject * __ptr64 __cdecl SnmpThreadObject::GetTaskObject(void * __ptr64 & __ptr64) __ptr64
?GetTaskObject@SnmpThreadObject@@AEAAPEAVSnmpAbstractTaskObject@@AEAPEAX@Z
; public: void * __ptr64 __cdecl SnmpThreadObject::GetThreadHandle(void) __ptr64
?GetThreadHandle@SnmpThreadObject@@QEAAPEAXXZ
; private: void * __ptr64 * __ptr64 __cdecl SnmpThreadObject::GetThreadHandleReference(void) __ptr64
?GetThreadHandleReference@SnmpThreadObject@@AEAAPEAPEAXXZ
; public: unsigned long __cdecl SnmpThreadObject::GetThreadId(void) __ptr64
?GetThreadId@SnmpThreadObject@@QEAAKXZ
; public: static class SnmpThreadObject * __ptr64 __cdecl SnmpThreadObject::GetThreadObject(void)
?GetThreadObject@SnmpThreadObject@@SAPEAV1@XZ
; public: virtual void __cdecl SnmpThreadObject::Initialise(void) __ptr64
?Initialise@SnmpThreadObject@@UEAAXXZ
; public: void __cdecl SnmpThreadObject::PostSignalThreadShutdown(void) __ptr64
?PostSignalThreadShutdown@SnmpThreadObject@@QEAAXXZ
; public: virtual void __cdecl SnmpAbstractTaskObject::Process(void) __ptr64
?Process@SnmpAbstractTaskObject@@UEAAXXZ
; public: virtual void __cdecl SnmpEventObject::Process(void) __ptr64
?Process@SnmpEventObject@@UEAAXXZ
; private: virtual void __cdecl SnmpThreadObject::Process(void) __ptr64
?Process@SnmpThreadObject@@EEAAXXZ
; private: static void __cdecl SnmpThreadObject::ProcessAttach(void)
?ProcessAttach@SnmpThreadObject@@CAXXZ
; private: static void __cdecl SnmpThreadObject::ProcessDetach(int)
?ProcessDetach@SnmpThreadObject@@CAXH@Z
; public: int __cdecl SnmpThreadObject::ReapTask(class SnmpAbstractTaskObject & __ptr64) __ptr64
?ReapTask@SnmpThreadObject@@QEAAHAEAVSnmpAbstractTaskObject@@@Z
; private: int __cdecl SnmpThreadObject::RegisterThread(void) __ptr64
?RegisterThread@SnmpThreadObject@@AEAAHXZ
; private: int __cdecl SnmpThreadObject::RemoveThread(void) __ptr64
?RemoveThread@SnmpThreadObject@@AEAAHXZ
; private: void __cdecl SnmpThreadObject::RotateTask(class SnmpAbstractTaskObject * __ptr64) __ptr64
?RotateTask@SnmpThreadObject@@AEAAXPEAVSnmpAbstractTaskObject@@@Z
; public: int __cdecl SnmpThreadObject::ScheduleTask(class SnmpAbstractTaskObject & __ptr64) __ptr64
?ScheduleTask@SnmpThreadObject@@QEAAHAEAVSnmpAbstractTaskObject@@@Z
; public: void __cdecl SnmpEventObject::Set(void) __ptr64
?Set@SnmpEventObject@@QEAAXXZ
; public: void __cdecl SnmpThreadObject::SignalThreadShutdown(void) __ptr64
?SignalThreadShutdown@SnmpThreadObject@@QEAAXXZ
; public: static int __cdecl SnmpThreadObject::Startup(void)
?Startup@SnmpThreadObject@@SAHXZ
; private: void __cdecl SnmpThreadObject::TerminateThread(void) __ptr64
?TerminateThread@SnmpThreadObject@@AEAAXXZ
; private: static void __cdecl SnmpThreadObject::ThreadExecutionProcedure(void * __ptr64)
?ThreadExecutionProcedure@SnmpThreadObject@@CAXPEAX@Z
; public: virtual void __cdecl SnmpAbstractTaskObject::TimedOut(void) __ptr64
?TimedOut@SnmpAbstractTaskObject@@UEAAXXZ
; public: virtual void __cdecl SnmpThreadObject::TimedOut(void) __ptr64
?TimedOut@SnmpThreadObject@@UEAAXXZ
; public: virtual void __cdecl SnmpThreadObject::Uninitialise(void) __ptr64
?Uninitialise@SnmpThreadObject@@UEAAXXZ
; public: virtual int __cdecl SnmpAbstractTaskObject::Wait(int) __ptr64
?Wait@SnmpAbstractTaskObject@@UEAAHH@Z
; public: virtual int __cdecl SnmpEventObject::Wait(void) __ptr64
?Wait@SnmpEventObject@@UEAAHXZ
; private: virtual int __cdecl SnmpThreadObject::Wait(void) __ptr64
?Wait@SnmpThreadObject@@EEAAHXZ
; public: virtual int __cdecl SnmpAbstractTaskObject::WaitAcknowledgement(int) __ptr64
?WaitAcknowledgement@SnmpAbstractTaskObject@@UEAAHH@Z
; private: int __cdecl SnmpAbstractTaskObject::WaitAcknowledgementDispatch(class SnmpThreadObject * __ptr64,void * __ptr64,int & __ptr64) __ptr64
?WaitAcknowledgementDispatch@SnmpAbstractTaskObject@@AEAAHPEAVSnmpThreadObject@@PEAXAEAH@Z
; private: int __cdecl SnmpAbstractTaskObject::WaitDispatch(class SnmpThreadObject * __ptr64,void * __ptr64,int & __ptr64) __ptr64
?WaitDispatch@SnmpAbstractTaskObject@@AEAAHPEAVSnmpThreadObject@@PEAXAEAH@Z
; private: int __cdecl SnmpThreadObject::WaitDispatch(unsigned long,int & __ptr64) __ptr64
?WaitDispatch@SnmpThreadObject@@AEAAHKAEAH@Z
; public: int __cdecl SnmpThreadObject::WaitForStartup(void) __ptr64
?WaitForStartup@SnmpThreadObject@@QEAAHXZ
; private: static class CCriticalSection  SnmpThreadObject::s_Lock
?s_Lock@SnmpThreadObject@@0VCCriticalSection@@A DATA
; public: static long  SnmpThreadObject::s_ReferenceCount
?s_ReferenceCount@SnmpThreadObject@@2JA DATA
; public: static class ProvDebugLog * __ptr64  __ptr64 SnmpDebugLog::s_SnmpDebugLog
?s_SnmpDebugLog@SnmpDebugLog@@2PEAVProvDebugLog@@EA DATA
; private: static class SnmpMap<unsigned long,unsigned long,class SnmpThreadObject * __ptr64,class SnmpThreadObject * __ptr64>  SnmpThreadObject::s_ThreadContainer
?s_ThreadContainer@SnmpThreadObject@@0V?$SnmpMap@KKPEAVSnmpThreadObject@@PEAV1@@@A DATA
