1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef _INC_MGMTAPI
7 #define _INC_MGMTAPI
8 
9 #include <snmp.h>
10 #include <winsock.h>
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 #define SNMP_MGMTAPI_TIMEOUT 40
17 #define SNMP_MGMTAPI_SELECT_FDERRORS 41
18 #define SNMP_MGMTAPI_TRAP_ERRORS 42
19 #define SNMP_MGMTAPI_TRAP_DUPINIT 43
20 #define SNMP_MGMTAPI_NOTRAPS 44
21 #define SNMP_MGMTAPI_AGAIN 45
22 #define SNMP_MGMTAPI_INVALID_CTL 46
23 #define SNMP_MGMTAPI_INVALID_SESSION 47
24 #define SNMP_MGMTAPI_INVALID_BUFFER 48
25 
26 #define MGMCTL_SETAGENTPORT 0x01
27 
28   typedef PVOID LPSNMP_MGR_SESSION;
29 
30   LPSNMP_MGR_SESSION SNMP_FUNC_TYPE SnmpMgrOpen(LPSTR lpAgentAddress,LPSTR lpAgentCommunity,INT nTimeOut,INT nRetries);
31   WINBOOL SNMP_FUNC_TYPE SnmpMgrCtl(LPSNMP_MGR_SESSION session,DWORD dwCtlCode,LPVOID lpvInBuffer,DWORD cbInBuffer,LPVOID lpvOUTBuffer,DWORD cbOUTBuffer,LPDWORD lpcbBytesReturned);
32   WINBOOL SNMP_FUNC_TYPE SnmpMgrClose(LPSNMP_MGR_SESSION session);
33   SNMPAPI SNMP_FUNC_TYPE SnmpMgrRequest(LPSNMP_MGR_SESSION session,BYTE requestType,RFC1157VarBindList *variableBindings,AsnInteger *errorStatus,AsnInteger *errorIndex);
34   WINBOOL SNMP_FUNC_TYPE SnmpMgrStrToOid(LPSTR string,AsnObjectIdentifier *oid);
35   WINBOOL SNMP_FUNC_TYPE SnmpMgrOidToStr(AsnObjectIdentifier *oid,LPSTR *string);
36   WINBOOL SNMP_FUNC_TYPE SnmpMgrTrapListen(HANDLE *phTrapAvailable);
37   WINBOOL SNMP_FUNC_TYPE SnmpMgrGetTrap(AsnObjectIdentifier *enterprise,AsnNetworkAddress *IPAddress,AsnInteger *genericTrap,AsnInteger *specificTrap,AsnTimeticks *timeStamp,RFC1157VarBindList *variableBindings);
38   WINBOOL SNMP_FUNC_TYPE SnmpMgrGetTrapEx(AsnObjectIdentifier *enterprise,AsnNetworkAddress *agentAddress,AsnNetworkAddress *sourceAddress,AsnInteger *genericTrap,AsnInteger *specificTrap,AsnOctetString *community,AsnTimeticks *timeStamp,RFC1157VarBindList *variableBindings);
39 
40 #ifdef __cplusplus
41 }
42 #endif
43 #endif
44