; 
; 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
