You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
2.1 KiB
81 lines
2.1 KiB
/*****************************************************************************
|
|
*
|
|
* $Workfile: SnmpMgr.h $
|
|
*
|
|
* Copyright (C) 1997 Hewlett-Packard Company.
|
|
* Copyright (C) 1997 Microsoft Corporation.
|
|
* All rights reserved.
|
|
*
|
|
* 11311 Chinden Blvd.
|
|
* Boise, Idaho 83714
|
|
*
|
|
*****************************************************************************/
|
|
|
|
#ifndef INC_SNMPMGR_H
|
|
#define INC_SNMPMGR_H
|
|
|
|
#define DEFAULT_IP_GET_COMMUNITY_ALT "internal" // HP devices only
|
|
|
|
|
|
#define MAX_JDPORTS 3 // # of JetDirect Ex ports
|
|
#define MAX_COMMUNITY_LEN 32 // maximum community length
|
|
#define DEFAULT_SNMP_REQUEST ASN_RFC1157_GETREQUEST // get request is the default
|
|
#define DEFAULT_TIMEOUT 6000 // milliseconds
|
|
#define DEFAULT_RETRIES 3
|
|
|
|
typedef enum {
|
|
DEV_UNKNOWN = 0,
|
|
DEV_OTHER = 1,
|
|
DEV_HP_JETDIRECT= 2,
|
|
DEV_TEK_PRINTER = 3,
|
|
DEV_LEX_PRINTER = 4,
|
|
DEV_IBM_PRINTER = 5,
|
|
DEV_KYO_PRINTER = 6,
|
|
DEV_XER_PRINTER = 7
|
|
} DeviceType;
|
|
|
|
class CMemoryDebug;
|
|
|
|
|
|
class CSnmpMgr
|
|
#if defined _DEBUG || defined DEBUG
|
|
: public CMemoryDebug
|
|
#endif
|
|
{
|
|
public:
|
|
CSnmpMgr();
|
|
CSnmpMgr( const char *pHost,
|
|
const char *pCommunity,
|
|
DWORD dwDevIndex);
|
|
CSnmpMgr( const char *pHost,
|
|
const char *pCommunity,
|
|
DWORD dwDevIndex,
|
|
AsnObjectIdentifier *pMibObjId,
|
|
RFC1157VarBindList *pVarBindList);
|
|
~CSnmpMgr();
|
|
|
|
INT GetLastError(void) { return m_iLastError; };
|
|
INT Get( RFC1157VarBindList *pVariableBindings);
|
|
INT Walk(RFC1157VarBindList *pVariableBindings);
|
|
INT WalkNext(RFC1157VarBindList *pVariableBindings);
|
|
INT GetNext(RFC1157VarBindList *pVariableBindings);
|
|
DWORD BldVarBindList( AsnObjectIdentifier *pMibObjId, // builds the varBindList
|
|
RFC1157VarBindList *pVarBindList);
|
|
|
|
private: // methods
|
|
BOOL Open(); // establish a session
|
|
void Close(); // close the previously established session
|
|
|
|
private: // attributes
|
|
LPSTR m_pCommunity;
|
|
LPSTR m_pAgent;
|
|
LPSNMP_MGR_SESSION m_pSession;
|
|
|
|
INT m_iLastError;
|
|
INT m_iTimeout;
|
|
INT m_iRetries;
|
|
BYTE m_bRequestType;
|
|
};
|
|
|
|
|
|
#endif // INC_SNMPMGR_H
|