Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

MibAccess.h

00001 
00002 // FILE  : MibAccess.h
00003 //
00004 //
00005 
00006 #ifndef _SNMP_ACCESS_H_
00007 #define _SNMP_ACCESS_H_
00008 
00009 #include <snmp.h>
00010 
00011 #define SNMP_FUNC_TYPE                          WINAPI
00012 
00014 // Defenitoin of pointers to the four functions in the Mib Dll
00015 //
00016 typedef BOOL (WINAPI *pSnmpExtensionInit)(
00017                                           IN  DWORD               dwTimeZeroReference,
00018                                           OUT HANDLE              *hPollForTrapEvent,
00019                                           OUT AsnObjectIdentifier *supportedView);
00020 
00021 typedef BOOL (WINAPI *pSnmpExtensionTrap)(
00022                                           OUT AsnObjectIdentifier *enterprise,
00023                                           OUT AsnInteger          *genericTrap,
00024                                           OUT AsnInteger          *specificTrap,
00025                                           OUT AsnTimeticks        *timeStamp,
00026                                           OUT RFC1157VarBindList  *variableBindings);
00027 
00028 typedef BOOL (WINAPI *pSnmpExtensionQuery)(
00029                                            IN BYTE                   requestType,
00030                                            IN OUT RFC1157VarBindList *variableBindings,
00031                                            OUT AsnInteger            *errorStatus,
00032                                            OUT AsnInteger            *errorIndex);
00033 
00034 typedef BOOL (WINAPI *pSnmpExtensionInitEx)(OUT AsnObjectIdentifier *supportedView);
00035 
00036 typedef VOID (SNMP_FUNC_TYPE *pSnmpUtilVarBindFree)
00037                     (SnmpVarBind * pVb);
00038 typedef SNMPAPI (SNMP_FUNC_TYPE *pSnmpUtilOidNCmp)
00039                     (AsnObjectIdentifier * pOid1,
00040                     AsnObjectIdentifier * pOid2,
00041                     UINT nSubIds);
00042 typedef SNMPAPI (SNMP_FUNC_TYPE *pSnmpUtilOidCpy)
00043                     (AsnObjectIdentifier * pOidDst,
00044                     AsnObjectIdentifier * pOidSrc);
00045 
00046 class MibExtLoad
00047 {
00048 public:
00049     MibExtLoad(LPSTR MibDllName, LPSTR SnmpDllName);
00050     ~MibExtLoad();
00051     BOOL Init(DWORD dwTimeZeroReference,HANDLE *hPollForTrapEvent,AsnObjectIdentifier *supportedView);
00052     BOOL InitEx(AsnObjectIdentifier *supportedView);
00053     BOOL Query(BYTE requestType,OUT RFC1157VarBindList *variableBindings,
00054             AsnInteger *errorStatus,AsnInteger *errorIndex);
00055 
00056     BOOL Trap(AsnObjectIdentifier *enterprise, AsnInteger *genericTrap, 
00057         AsnInteger *specificTrap, AsnTimeticks *timeStamp, 
00058         RFC1157VarBindList  *variableBindings);
00059 
00060 private:    
00061     HINSTANCE               m_hInst;
00062     pSnmpExtensionInit      m_Init;
00063     pSnmpExtensionInitEx    m_InitEx;
00064     pSnmpExtensionQuery     m_Query;
00065     pSnmpExtensionTrap      m_Trap;
00066 
00067 protected:
00068     HINSTANCE               m_hSnmp;
00069     pSnmpUtilVarBindFree    m_SnmpUtilVarBindFree;
00070     pSnmpUtilOidNCmp        m_SnmpUtilOidNCmp;
00071     pSnmpUtilOidCpy         m_SnmpUtilOidCpy;
00072 };
00073 
00074 
00075 class MibII : public MibExtLoad
00076 {
00077 public:
00078     MibII();
00079     ~MibII();
00080     BOOL Init();
00081     BOOL GetIPAddress(UINT IpArray[],UINT &IpArraySize);
00082     BOOL GetIPMask(UINT IpArray[],UINT &IpArraySize);
00083 };
00084 
00085 
00086 #endif

Generated on Tue May 2 10:24:43 2006 for Lgi by  doxygen 1.4.1