📄 snmp.h
字号:
#define SNMP_MSG_GET (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x0)
#define SNMP_MSG_GETNEXT (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x1)
#define SNMP_MSG_RESPONSE (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x2)
#define SNMP_MSG_SET (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x3)
/* PDU types in SNMPv1 and SNMPsec */
#define SNMP_MSG_TRAP (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x4)
/* PDU types in SNMPv2p, SNMPv2c, SNMPv2u, SNMPv2*, and SNMPv3 */
#define SNMP_MSG_GETBULK (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x5)
#define SNMP_MSG_INFORM (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x6)
#define SNMP_MSG_TRAP2 (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x7)
/* PDU types in SNMPv2u, SNMPv2*, and SNMPv3 */
#define SNMP_MSG_REPORT (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x8)
/* test for member of Confirmed Class i.e., reportable */
#define SNMP_CMD_CONFIRMED(c) (c == SNMP_MSG_INFORM || c == SNMP_MSG_GETBULK ||\ c == SNMP_MSG_GETNEXT || c == SNMP_MSG_GET || \ c == SNMP_MSG_SET)
/* Exception values for SNMPv2p, SNMPv2c, SNMPv2u, SNMPv2*, and SNMPv3 */
#define SNMP_NOSUCHOBJECT (ASN_CONTEXT | ASN_PRIMITIVE | 0x0)
#define SNMP_NOSUCHINSTANCE (ASN_CONTEXT | ASN_PRIMITIVE | 0x1)
#define SNMP_ENDOFMIBVIEW (ASN_CONTEXT | ASN_PRIMITIVE | 0x2)
/* Error codes (the value of the field error-status in PDUs) */
/* in SNMPv1, SNMPsec, SNMPv2p, SNMPv2c, SNMPv2u, SNMPv2*, and SNMPv3 PDUs */
#define SNMP_ERR_NOERROR (0) /* XXX Used only for PDUs? */
#define SNMP_ERR_TOOBIG (1)
#define SNMP_ERR_NOSUCHNAME (2)
#define SNMP_ERR_BADVALUE (3)
#define SNMP_ERR_READONLY (4)
#define SNMP_ERR_GENERR (5)
/* in SNMPv2p, SNMPv2c, SNMPv2u, SNMPv2*, and SNMPv3 PDUs */
#define SNMP_ERR_NOACCESS (6)
#define SNMP_ERR_WRONGTYPE (7)
#define SNMP_ERR_WRONGLENGTH (8)
#define SNMP_ERR_WRONGENCODING (9)
#define SNMP_ERR_WRONGVALUE (10)
#define SNMP_ERR_NOCREATION (11)
#define SNMP_ERR_INCONSISTENTVALUE (12)
#define SNMP_ERR_RESOURCEUNAVAILABLE (13)
#define SNMP_ERR_COMMITFAILED (14)
#define SNMP_ERR_UNDOFAILED (15)
#define SNMP_ERR_AUTHORIZATIONERROR (16)
#define SNMP_ERR_NOTWRITABLE (17)
/* in SNMPv2c, SNMPv2u, SNMPv2*, and SNMPv3 PDUs */
#define SNMP_ERR_INCONSISTENTNAME (18)
#define MAX_SNMP_ERR 18
/* values of the generic-trap field in trap PDUs */
#define SNMP_TRAP_COLDSTART (0)
#define SNMP_TRAP_WARMSTART (1)
#define SNMP_TRAP_LINKDOWN (2)
#define SNMP_TRAP_LINKUP (3)
#define SNMP_TRAP_AUTHFAIL (4)
#define SNMP_TRAP_EGPNEIGHBORLOSS (5)
#define SNMP_TRAP_ENTERPRISESPECIFIC (6)
/* row status values */
#define SNMP_ROW_NONEXISTENT 0
#define SNMP_ROW_ACTIVE 1
#define SNMP_ROW_NOTINSERVICE 2
#define SNMP_ROW_NOTREADY 3
#define SNMP_ROW_CREATEANDGO 4
#define SNMP_ROW_CREATEANDWAIT 5
#define SNMP_ROW_DESTROY 6
/* row storage values */
#define SNMP_STORAGE_OTHER 1
#define SNMP_STORAGE_VOLATILE 2
#define SNMP_STORAGE_NONVOLATILE 3
#define SNMP_STORAGE_PERMANENT 4
#define SNMP_STORAGE_READONLY 5
/* message processing models */
#define SNMP_MP_MODEL_SNMPv1 0
#define SNMP_MP_MODEL_SNMPv2c 1
#define SNMP_MP_MODEL_SNMPv2u 2
#define SNMP_MP_MODEL_SNMPv3 3
#define SNMP_MP_MODEL_SNMPv2p 256
/* security values */
#define SNMP_SEC_MODEL_ANY 0
#define SNMP_SEC_MODEL_SNMPv1 1
#define SNMP_SEC_MODEL_SNMPv2c 2
#define SNMP_SEC_MODEL_USM 3
#define SNMP_SEC_MODEL_SNMPv2p 256
#define SNMP_SEC_LEVEL_NOAUTH 1
#define SNMP_SEC_LEVEL_AUTHNOPRIV 2
#define SNMP_SEC_LEVEL_AUTHPRIV 3
#define SNMP_MSG_FLAG_AUTH_BIT 0x01
#define SNMP_MSG_FLAG_PRIV_BIT 0x02
#define SNMP_MSG_FLAG_RPRT_BIT 0x04
/* control PDU handling characteristics */
#define UCD_MSG_FLAG_RESPONSE_PDU 0x100
#define UCD_MSG_FLAG_EXPECT_RESPONSE 0x200
#define UCD_MSG_FLAG_FORCE_PDU_COPY 0x400
#define UCD_MSG_FLAG_ALWAYS_IN_VIEW 0x800
/* view status */
#define SNMP_VIEW_INCLUDED 1
#define SNMP_VIEW_EXCLUDED 2
/* basic oid values */
#define SNMP_OID_INTERNET 1, 3, 6, 1
#define SNMP_OID_ENTERPRISES SNMP_OID_INTERNET, 4, 1
#define SNMP_OID_MIB2 SNMP_OID_INTERNET, 2, 1
#define SNMP_OID_SNMPV2 SNMP_OID_INTERNET, 6
#define SNMP_OID_SNMPMODULES SNMP_OID_SNMPV2, 3
/* lengths as defined by TCs */
#define SNMPADMINLENGTH 255
#ifdef CMU_COMPATIBLE
/* PDU types in SNMPv1, SNMPsec, SNMPv2p, SNMPv2c, SNMPv2u, SNMPv2*, and SNMPv3 */
#define GET_REQ_MSG SNMP_MSG_GET
#define GETNEXT_REQ_MSG SNMP_MSG_GETNEXT
#define GET_RSP_MSG SNMP_MSG_RESPONSE
#define SET_REQ_MSG SNMP_MSG_SET
/* PDU types in SNMPv1 and SNMPsec */
#define TRP_REQ_MSG SNMP_MSG_TRAP
/* PDU types in SNMPv2p, SNMPv2c, SNMPv2u, SNMPv2*, and SNMPv3 */
#define BULK_REQ_MSG SNMP_MSG_GETBULK
#define INFORM_REQ_MSG SNMP_MSG_INFORM
#define TRP2_REQ_MSG SNMP_MSG_TRAP2
/* PDU types in SNMPv2u, SNMPv2*, and SNMPv3 */
#define REPORT_RSP_MSG SNMP_MSG_REPORT
/* since CMU V1.5 */
#define SNMP_PDU_GET SNMP_MSG_GET
#define SNMP_PDU_GETNEXT SNMP_MSG_GETNEXT
#define SNMP_PDU_RESPONSE SNMP_MSG_RESPONSE
#define SNMP_PDU_SET SNMP_MSG_SET
#define SNMP_PDU_GETBULK SNMP_MSG_GETBULK
#define SNMP_PDU_INFORM SNMP_MSG_INFORM
#define SNMP_PDU_V2TRAP SNMP_MSG_TRAP2
#define SNMP_PDU_REPORT SNMP_MSG_REPORT
#define SNMP_TRAP_AUTHENTICATIONFAILURE SNMP_TRAP_AUTHFAIL
#define SMI_INTEGER ASN_INTEGER
#define SMI_STRING ASN_OCTET_STR
#define SMI_OBJID ASN_OBJECT_ID
#define SMI_NULLOBJ ASN_NULL
#define SMI_IPADDRESS ASN_IPADDRESS
#define SMI_COUNTER32 ASN_COUNTER
#define SMI_GAUGE32 ASN_GAUGE
#define SMI_UNSIGNED32 SMI_GAUGE32
#define SMI_TIMETICKS ASN_TIMETICKS
#define SMI_OPAQUE ASN_OPAQUE
#define SMI_COUNTER64 ASN_COUNTER64
int mib_TxtToOid (char *, oid **, size_t *);
int mib_OidToTxt (oid *, size_t , char *, size_t );
struct snmp_pdu;
char *snmp_pdu_type (struct snmp_pdu *);
struct snmp_session;
u_char * cmu_snmp_parse (struct snmp_session *session,
struct snmp_pdu *pdu,
u_char *data,
size_t length);
#endif /* CMU_COMPATIBLE */
char *uptime_string (u_long, char *);
void xdump (const u_char *, size_t, const char *);
u_char *snmp_parse_var_op (u_char *, oid *, size_t *, u_char *, size_t *,
u_char **, size_t *);
u_char *snmp_build_var_op (u_char *, oid *, size_t *, u_char, size_t, u_char *,
size_t *);
#ifdef __cplusplus
}
#endif
#endif /* SNMP_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -