snmp2 0.5.0

SNMP v1/v2/v3 sync/async client library with traps and MIB support
Documentation
#![allow(dead_code, clippy::identity_op, clippy::eq_op)]

use crate::asn1;

pub const MSG_GET: u8 = asn1::CLASS_CONTEXTSPECIFIC | asn1::CONSTRUCTED | 0;
pub const MSG_GET_NEXT: u8 = asn1::CLASS_CONTEXTSPECIFIC | asn1::CONSTRUCTED | 1;
pub const MSG_RESPONSE: u8 = asn1::CLASS_CONTEXTSPECIFIC | asn1::CONSTRUCTED | 2;
pub const MSG_SET: u8 = asn1::CLASS_CONTEXTSPECIFIC | asn1::CONSTRUCTED | 3;
pub const MSG_TRAP_V1: u8 = asn1::CLASS_CONTEXTSPECIFIC | asn1::CONSTRUCTED | 4;
pub const MSG_GET_BULK: u8 = asn1::CLASS_CONTEXTSPECIFIC | asn1::CONSTRUCTED | 5;
pub const MSG_INFORM: u8 = asn1::CLASS_CONTEXTSPECIFIC | asn1::CONSTRUCTED | 6;
pub const MSG_TRAP: u8 = asn1::CLASS_CONTEXTSPECIFIC | asn1::CONSTRUCTED | 7;
pub const MSG_REPORT: u8 = asn1::CLASS_CONTEXTSPECIFIC | asn1::CONSTRUCTED | 8;

pub const TYPE_IPADDRESS: u8 = asn1::CLASS_APPLICATION | 0;
pub const TYPE_COUNTER32: u8 = asn1::CLASS_APPLICATION | 1;
pub const TYPE_UNSIGNED32: u8 = asn1::CLASS_APPLICATION | 2;
pub const TYPE_GAUGE32: u8 = TYPE_UNSIGNED32;
pub const TYPE_TIMETICKS: u8 = asn1::CLASS_APPLICATION | 3;
pub const TYPE_OPAQUE: u8 = asn1::CLASS_APPLICATION | 4;
pub const TYPE_COUNTER64: u8 = asn1::CLASS_APPLICATION | 6;

pub const SNMP_NOSUCHOBJECT: u8 = asn1::CLASS_CONTEXTSPECIFIC | asn1::PRIMITIVE | 0x0; // 80=128
pub const SNMP_NOSUCHINSTANCE: u8 = asn1::CLASS_CONTEXTSPECIFIC | asn1::PRIMITIVE | 0x1; // 81=129
pub const SNMP_ENDOFMIBVIEW: u8 = asn1::CLASS_CONTEXTSPECIFIC | asn1::PRIMITIVE | 0x2; // 82=130

pub const ERRSTATUS_NOERROR: u32 = 0;
pub const ERRSTATUS_TOOBIG: u32 = 1;
pub const ERRSTATUS_NOSUCHNAME: u32 = 2;
pub const ERRSTATUS_BADVALUE: u32 = 3;
pub const ERRSTATUS_READONLY: u32 = 4;
pub const ERRSTATUS_GENERR: u32 = 5;
pub const ERRSTATUS_NOACCESS: u32 = 6;
pub const ERRSTATUS_WRONGTYPE: u32 = 7;
pub const ERRSTATUS_WRONGLENGTH: u32 = 8;
pub const ERRSTATUS_WRONGENCODING: u32 = 9;
pub const ERRSTATUS_WRONGVALUE: u32 = 10;
pub const ERRSTATUS_NOCREATION: u32 = 11;
pub const ERRSTATUS_INCONSISTENTVALUE: u32 = 12;
pub const ERRSTATUS_RESOURCEUNAVAILABLE: u32 = 13;
pub const ERRSTATUS_COMMITFAILED: u32 = 14;
pub const ERRSTATUS_UNDOFAILED: u32 = 15;
pub const ERRSTATUS_AUTHORIZATIONERROR: u32 = 16;
pub const ERRSTATUS_NOTWRITABLE: u32 = 17;
pub const ERRSTATUS_INCONSISTENTNAME: u32 = 18;

pub const V3_MSG_FLAGS_REPORTABLE: u8 = 0x04;
pub const V3_MSG_FLAGS_PRIVACY: u8 = 0x02;
pub const V3_MSG_FLAGS_AUTH: u8 = 0x01;