1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
/*++
Copyright (c) 1992-1996 Microsoft Corporation
Module Name:
mgmtapi.h
Abstract:
Definitions for SNMP Management API Development.
--*/
#ifndef _INC_MGMTAPI
#define _INC_MGMTAPI
///////////////////////////////////////////////////////////////////////////////
// //
// Additional header files //
// //
///////////////////////////////////////////////////////////////////////////////
#include <snmp.h>
#include <winsock.h>
#ifdef __cplusplus
extern "C" {
#endif
///////////////////////////////////////////////////////////////////////////////
// //
// MGMT API error code definitions //
// //
///////////////////////////////////////////////////////////////////////////////
#define SNMP_MGMTAPI_TIMEOUT 40
#define SNMP_MGMTAPI_SELECT_FDERRORS 41
#define SNMP_MGMTAPI_TRAP_ERRORS 42
#define SNMP_MGMTAPI_TRAP_DUPINIT 43
#define SNMP_MGMTAPI_NOTRAPS 44
#define SNMP_MGMTAPI_AGAIN 45
///////////////////////////////////////////////////////////////////////////////
// //
// MGMT API type definitions //
// //
///////////////////////////////////////////////////////////////////////////////
typedef PVOID LPSNMP_MGR_SESSION;
///////////////////////////////////////////////////////////////////////////////
// //
// MGMT API prototypes //
// //
///////////////////////////////////////////////////////////////////////////////
LPSNMP_MGR_SESSION
SNMP_FUNC_TYPE
SnmpMgrOpen(
IN LPSTR lpAgentAddress, // Name/address of target agent
IN LPSTR lpAgentCommunity, // Community for target agent
IN INT nTimeOut, // Comm time-out in milliseconds
IN INT nRetries // Comm time-out/retry count
);
BOOL
SNMP_FUNC_TYPE
SnmpMgrClose(
IN LPSNMP_MGR_SESSION session // SNMP session pointer
);
SNMPAPI
SNMP_FUNC_TYPE
SnmpMgrRequest(
IN LPSNMP_MGR_SESSION session, // SNMP session pointer
IN BYTE requestType, // Get, GetNext, or Set
IN OUT RFC1157VarBindList *variableBindings, // Varible bindings
OUT AsnInteger *errorStatus, // Result error status
OUT AsnInteger *errorIndex // Result error index
);
BOOL
SNMP_FUNC_TYPE
SnmpMgrStrToOid(
IN LPSTR string, // OID string to be converted
OUT AsnObjectIdentifier *oid // OID internal representation
);
BOOL
SNMP_FUNC_TYPE
SnmpMgrOidToStr(
IN AsnObjectIdentifier *oid, // OID to be converted
OUT LPSTR *string // OID string representation
);
BOOL
SNMP_FUNC_TYPE
SnmpMgrTrapListen(
OUT HANDLE *phTrapAvailable // Event indicating trap available
);
BOOL
SNMP_FUNC_TYPE
SnmpMgrGetTrap(
OUT AsnObjectIdentifier *enterprise, // Generating enterprise
OUT AsnNetworkAddress *IPAddress, // Generating IP address
OUT AsnInteger *genericTrap, // Generic trap type
OUT AsnInteger *specificTrap, // Enterprise specific type
OUT AsnTimeticks *timeStamp, // Time stamp
OUT RFC1157VarBindList *variableBindings // Variable bindings
);
BOOL
SNMP_FUNC_TYPE
SnmpMgrGetTrapEx(
OUT AsnObjectIdentifier *enterprise, // Generating enterprise
OUT AsnNetworkAddress *agentAddress, // Generating agent addr
OUT AsnNetworkAddress *sourceAddress, // Generating network addr
OUT AsnInteger *genericTrap, // Generic trap type
OUT AsnInteger *specificTrap, // Enterprise specific type
OUT AsnOctetString *community, // Generating community
OUT AsnTimeticks *timeStamp, // Time stamp
OUT RFC1157VarBindList *variableBindings // Variable bindings
);
#ifdef __cplusplus
}
#endif
#endif // _INC_MGMTAPI
|