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