#include "nsISupports.idl" #include "snmppdu.idl" #include "nsIRDFResource.idl" #include "snmpsession.idl" [scriptable, uuid(664DC98C-A4F6-43fd-8CB3-08F3513F8D12)] interface mkISNMPStack : nsISupports { const short NO_AUTHORIZATION = 0; const short MD5_AUTHORIZATION = 1; const short SHA_AUTHORIZATION = 2; const short NO_PRIVACY = 0; const short DES_PRIVACY = 1; // possible opstatus values const short SNMP_SUCCESS = 0; const short SNMP_TIMEOUT = 1; const short SNMP_ERROR = 2; // pdu versions values used for the version field const short SNMPV1=1; const short SNMPV2=2; const short SNMPV3=3; mkISnmpPdu createPdu(); void startHandleTraps(); void stopHandleTraps(); // constants indicating whether the trap handler is in a state in which it recieves traps const short TRAPHANDLER_ACTIVE=1; const short TRAPHANDLER_INACTIVE=2; readonly attribute short trapHandlerStatus; void readConfiguration(); attribute ACString SNMPV3EngineIDText; readonly attribute ACString SNMPV3EngineIDHex; void engineId([const] in ACString host, in short port, out string engineId, out short len); void addSNMPV3Context([const] in string EngineId, in short EngineIdLen, [const] in ACString User, in short AuthorizationType, [const] in ACString AuthorizationPassphrase, in short PrivacyType, [const] in ACString PrivacyPassphrase); void delSNMPV3Context([const] in string EngineId, in short EngineIdLen, [const] in ACString User); mkISnmpSession createSession(in ACString Ip, in short port, [const] in string engineid, in short engineidlen, in short version, in short authorizationType, in ACString authorizationPassword, in short privacyType, in ACString privacyPassword, in ACString user, in ACString contextname, in unsigned short retries, in unsigned short timeout); void dispatch(in mkISnmpPdu pdu, in mkISnmpSession session); void dispatchWaitResponseBlocking(in mkISnmpPdu pdu, in mkISnmpSession session, out short opstatus, out mkISnmpPdu responsePdu); void dispatchWaitResponse(in mkISnmpPdu pdu, in mkISnmpSession session, in mkIPDUResponse responseHandler); };