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

Generated on Wed Oct 26 14:46:51 2005 for Lgi by  doxygen 1.4.1