; 
; Exports of file TCPMIB.dll
;
; Autogenerated by gen_exportdef
; Written by Kai Tietz, 2007
;
LIBRARY TCPMIB.dll
EXPORTS
; public: __cdecl CTcpMib::CTcpMib(class CTcpMib const & __ptr64) __ptr64
??0CTcpMib@@QEAA@AEBV0@@Z
; public: __cdecl CTcpMib::CTcpMib(void) __ptr64
??0CTcpMib@@QEAA@XZ
; public: __cdecl CTcpMibABC::CTcpMibABC(class CTcpMibABC const & __ptr64) __ptr64
??0CTcpMibABC@@QEAA@AEBV0@@Z
; public: __cdecl CTcpMibABC::CTcpMibABC(void) __ptr64
??0CTcpMibABC@@QEAA@XZ
; public: virtual __cdecl CTcpMib::~CTcpMib(void) __ptr64
??1CTcpMib@@UEAA@XZ
; public: virtual __cdecl CTcpMibABC::~CTcpMibABC(void) __ptr64
??1CTcpMibABC@@UEAA@XZ
; public: class CTcpMib & __ptr64 __cdecl CTcpMib::operator=(class CTcpMib const & __ptr64) __ptr64
??4CTcpMib@@QEAAAEAV0@AEBV0@@Z
; public: class CTcpMibABC & __ptr64 __cdecl CTcpMibABC::operator=(class CTcpMibABC const & __ptr64) __ptr64
??4CTcpMibABC@@QEAAAEAV0@AEBV0@@Z
; const  CTcpMib::`vftable'
??_7CTcpMib@@6B@
; const  CTcpMibABC::`vftable'
??_7CTcpMibABC@@6B@
; private: void __cdecl CTcpMib::EnterCSection(void) __ptr64
?EnterCSection@CTcpMib@@AEAAXXZ
; private: void __cdecl CTcpMib::ExitCSection(void) __ptr64
?ExitCSection@CTcpMib@@AEAAXXZ
; public: virtual unsigned long __cdecl CTcpMib::GetDeviceDescription(char const * __ptr64,char const * __ptr64,unsigned long,unsigned short * __ptr64,unsigned long) __ptr64
?GetDeviceDescription@CTcpMib@@UEAAKPEBD0KPEAGK@Z
; public: virtual unsigned long __cdecl CTcpMib::GetDeviceHWAddress(char const * __ptr64,char const * __ptr64,unsigned long,unsigned long,unsigned short * __ptr64) __ptr64
?GetDeviceHWAddress@CTcpMib@@UEAAKPEBD0KKPEAG@Z
; public: virtual unsigned long __cdecl CTcpMib::GetDeviceName(char const * __ptr64,char const * __ptr64,unsigned long,unsigned long,unsigned short * __ptr64) __ptr64
?GetDeviceName@CTcpMib@@UEAAKPEBD0KKPEAG@Z
; public: virtual unsigned long __cdecl CTcpMib::GetNextRequestId(unsigned long * __ptr64) __ptr64
?GetNextRequestId@CTcpMib@@UEAAKPEAK@Z
; private: static unsigned long __cdecl CTcpMib::GetStatusFromVBL(void * __ptr64,struct smiVALUE * __ptr64,struct smiVALUE * __ptr64,struct smiVALUE * __ptr64)
?GetStatusFromVBL@CTcpMib@@CAKPEAXPEAUsmiVALUE@@11@Z
; public: virtual unsigned long __cdecl CTcpMib::InitSnmp(void) __ptr64
?InitSnmp@CTcpMib@@UEAAKXZ
; public: int __cdecl CTcpMib::IsValid(void)const  __ptr64
?IsValid@CTcpMib@@QEBAHXZ
; private: static int __cdecl CTcpMib::MapAsynchToPortStatus(unsigned long,struct _PORT_INFO_3W * __ptr64)
?MapAsynchToPortStatus@CTcpMib@@CAHKPEAU_PORT_INFO_3W@@@Z
; public: virtual unsigned long __cdecl CTcpMib::RegisterDeviceStatusCallback(unsigned long (__cdecl*)(int,char const * __ptr64,char const * __ptr64,unsigned long,unsigned long,unsigned long),void * __ptr64 * __ptr64) __ptr64
?RegisterDeviceStatusCallback@CTcpMib@@UEAAKP6AKHPEBD0KKK@ZPEAPEAX@Z
; public: virtual unsigned long __cdecl CTcpMib::RequestDeviceStatus(void * __ptr64,unsigned long,unsigned short const * __ptr64,unsigned short const * __ptr64,unsigned long) __ptr64
?RequestDeviceStatus@CTcpMib@@UEAAKPEAXKPEBG1K@Z
; private: static unsigned long __cdecl CTcpMib::SnmpCallback(void * __ptr64,void * __ptr64,unsigned int,unsigned __int64,__int64,void * __ptr64)
?SnmpCallback@CTcpMib@@CAKPEAX0I_K_J0@Z
; public: unsigned long __cdecl CTcpMib::SnmpGet(char const * __ptr64,char const * __ptr64,unsigned long,struct SnmpVarBindList * __ptr64) __ptr64
?SnmpGet@CTcpMib@@QEAAKPEBD0KPEAUSnmpVarBindList@@@Z
; public: virtual unsigned long __cdecl CTcpMib::SnmpGet(char const * __ptr64,char const * __ptr64,unsigned long,struct AsnObjectIdentifier * __ptr64,struct SnmpVarBindList * __ptr64) __ptr64
?SnmpGet@CTcpMib@@UEAAKPEBD0KPEAUAsnObjectIdentifier@@PEAUSnmpVarBindList@@@Z
; public: unsigned long __cdecl CTcpMib::SnmpGetNext(char const * __ptr64,char const * __ptr64,unsigned long,struct SnmpVarBindList * __ptr64) __ptr64
?SnmpGetNext@CTcpMib@@QEAAKPEBD0KPEAUSnmpVarBindList@@@Z
; public: virtual unsigned long __cdecl CTcpMib::SnmpGetNext(char const * __ptr64,char const * __ptr64,unsigned long,struct AsnObjectIdentifier * __ptr64,struct SnmpVarBindList * __ptr64) __ptr64
?SnmpGetNext@CTcpMib@@UEAAKPEBD0KPEAUAsnObjectIdentifier@@PEAUSnmpVarBindList@@@Z
; public: unsigned long __cdecl CTcpMib::SnmpWalk(char const * __ptr64,char const * __ptr64,unsigned long,struct SnmpVarBindList * __ptr64) __ptr64
?SnmpWalk@CTcpMib@@QEAAKPEBD0KPEAUSnmpVarBindList@@@Z
; public: virtual unsigned long __cdecl CTcpMib::SnmpWalk(char const * __ptr64,char const * __ptr64,unsigned long,struct AsnObjectIdentifier * __ptr64,struct SnmpVarBindList * __ptr64) __ptr64
?SnmpWalk@CTcpMib@@UEAAKPEBD0KPEAUAsnObjectIdentifier@@PEAUSnmpVarBindList@@@Z
; public: virtual int __cdecl CTcpMib::SupportsPrinterMib(char const * __ptr64,char const * __ptr64,unsigned long,int * __ptr64) __ptr64
?SupportsPrinterMib@CTcpMib@@UEAAHPEBD0KPEAH@Z
; public: virtual void __cdecl CTcpMib::UnInitSnmp(void) __ptr64
?UnInitSnmp@CTcpMib@@UEAAXXZ
GetTcpMibPtr
Ping
