ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/Windows/router/mib/mibaccess.h
Revision: 1.1
Committed: 2004-12-05T16:48:36Z (19 years, 11 months ago) by gbeauche
Content type: text/plain
Branch: MAIN
CVS Tags: nigel-build-19, nigel-build-17, HEAD
Log Message:
import NAT-Router code from original Basilisk II for Windows

File Contents

# User Rev Content
1 gbeauche 1.1 //////////////////////////////////////////////////////
2     // FILE : MibAccess.h
3     //
4     //
5    
6     #ifndef _SNMP_ACCESS_H_
7     #define _SNMP_ACCESS_H_
8    
9     #include <snmp.h>
10     #ifndef SNMP_FUNC_TYPE
11     #define SNMP_FUNC_TYPE WINAPI
12     #endif
13    
14     //////////////////////////////////////////////////////////////
15     // Definition of pointers to the four functions in the Mib Dll
16     //
17     typedef BOOL (WINAPI *pSnmpExtensionInit)(
18     IN DWORD dwTimeZeroReference,
19     OUT HANDLE *hPollForTrapEvent,
20     OUT AsnObjectIdentifier *supportedView);
21    
22     typedef BOOL (WINAPI *pSnmpExtensionTrap)(
23     OUT AsnObjectIdentifier *enterprise,
24     OUT AsnInteger *genericTrap,
25     OUT AsnInteger *specificTrap,
26     OUT AsnTimeticks *timeStamp,
27     OUT RFC1157VarBindList *variableBindings);
28    
29     typedef BOOL (WINAPI *pSnmpExtensionQuery)(
30     IN BYTE requestType,
31     IN OUT RFC1157VarBindList *variableBindings,
32     OUT AsnInteger *errorStatus,
33     OUT AsnInteger *errorIndex);
34    
35     typedef BOOL (WINAPI *pSnmpExtensionInitEx)(OUT AsnObjectIdentifier *supportedView);
36    
37    
38     class MibExtLoad
39     {
40     public:
41     MibExtLoad( LPSTR MibDllName, LPSTR SnmpDllName );
42     ~MibExtLoad();
43     BOOL Init(DWORD dwTimeZeroReference,HANDLE *hPollForTrapEvent,AsnObjectIdentifier *supportedView);
44     BOOL InitEx(AsnObjectIdentifier *supportedView);
45     BOOL Query(BYTE requestType,OUT RFC1157VarBindList *variableBindings,
46     AsnInteger *errorStatus,AsnInteger *errorIndex);
47    
48     BOOL Trap(AsnObjectIdentifier *enterprise, AsnInteger *genericTrap,
49     AsnInteger *specificTrap, AsnTimeticks *timeStamp,
50     RFC1157VarBindList *variableBindings);
51    
52     public:
53     HINSTANCE m_hInst;
54     HINSTANCE m_hInst_snmputil;
55    
56     private:
57     pSnmpExtensionInit m_Init;
58     pSnmpExtensionInitEx m_InitEx;
59     pSnmpExtensionQuery m_Query;
60     pSnmpExtensionTrap m_Trap;
61    
62     public:
63     VOID (SNMP_FUNC_TYPE *m_SnmpUtilVarBindFree) (SnmpVarBind *);
64     SNMPAPI (SNMP_FUNC_TYPE *m_SnmpUtilOidNCmp) (AsnObjectIdentifier *, AsnObjectIdentifier *, UINT);
65     SNMPAPI (SNMP_FUNC_TYPE *m_SnmpUtilOidCpy) (AsnObjectIdentifier *, AsnObjectIdentifier *);
66     };
67    
68    
69     class MibII: public MibExtLoad
70     {
71     public:
72     MibII( bool load_winsock );
73     ~MibII();
74     BOOL Init();
75    
76     void GetIPAddress(UINT IpArray[],UINT &IpArraySize);
77     void GetIPMask(UINT IpArray[],UINT &IpArraySize);
78    
79     protected:
80     bool m_load_winsock;
81     };
82    
83     #endif