#!/usr/bin/python """ Constants and typemaps for the pysmi_dict module. A client only needs this part. """ # SmiLanguage types SMI_LANGUAGE_UNKNOWN = 0 # should not occur SMI_LANGUAGE_SMIV1 = 1 SMI_LANGUAGE_SMIV2 = 2 SMI_LANGUAGE_SMING = 3 LANGUAGEMAP = { "SMIv1" : SMI_LANGUAGE_SMIV1 , "SMIv2" : SMI_LANGUAGE_SMIV2 , "SMIng" : SMI_LANGUAGE_SMING } # SmiBaseTypes SMI_BASETYPE_UNKNOWN = 0 # should not occur SMI_BASETYPE_INTEGER32 = 1 # also SMIv1/v2 INTEGER SMI_BASETYPE_OCTETSTRING = 2 SMI_BASETYPE_OBJECTIDENTIFIER = 3 SMI_BASETYPE_UNSIGNED32 = 4 SMI_BASETYPE_INTEGER64 = 5 # only SMIng SMI_BASETYPE_UNSIGNED64 = 6 # SMIv2 and SMIng SMI_BASETYPE_FLOAT32 = 7 # only SMIng SMI_BASETYPE_FLOAT64 = 8 # only SMIng SMI_BASETYPE_FLOAT128 = 9 # only SMIng SMI_BASETYPE_ENUM = 10 SMI_BASETYPE_BITS = 11 # only SMIv2 and SMIng # additional types for this module SMI_TC_MACADDRESS = 0x45 SMI_TC_DISPLAYSTRING = 0x84 SMI_TC_IPADDRESS = 0x40 SMI_TC_COUNTER32 = 0x41 SMI_TC_GAUGE32 = 0x42 SMI_TC_TIMETICKS = 0x43 SMI_TC_OPAQUE = 0x44 SMI_TC_COUNTER64 = 0x46 SMI_TC_ROWSTATUS = 0xc1 BASETYPEMAP = { "" : SMI_BASETYPE_UNKNOWN , "OctetString" : SMI_BASETYPE_OCTETSTRING , "ObjectIdentifier" : SMI_BASETYPE_OBJECTIDENTIFIER , "Unsigned32" : SMI_BASETYPE_UNSIGNED32 , "Integer32" : SMI_BASETYPE_INTEGER32 , "Unsigned64" : SMI_BASETYPE_UNSIGNED64 , "Integer64" : SMI_BASETYPE_INTEGER64 , "Float32" : SMI_BASETYPE_FLOAT32 , "Float64" : SMI_BASETYPE_FLOAT64 , "Float128" : SMI_BASETYPE_FLOAT128 , "Enumeration" : SMI_BASETYPE_ENUM , "Bits" : SMI_BASETYPE_BITS, # SMI types "MacAddress" : SMI_TC_MACADDRESS, "DisplayString" : SMI_TC_DISPLAYSTRING, "IpAddress" : SMI_TC_IPADDRESS, "RowStatus" : SMI_TC_ROWSTATUS, "Counter32" : SMI_TC_COUNTER32, "Gauge32" : SMI_TC_GAUGE32, "TimeTicks" : SMI_TC_TIMETICKS, "Opaque" : SMI_TC_OPAQUE, "Counter64" : SMI_TC_COUNTER64, } # SmiStatus SMI_STATUS_UNKNOWN = 0 # should not occur SMI_STATUS_CURRENT = 1 # only SMIv2 and SMIng SMI_STATUS_DEPRECATED = 2 # SMIv1, SMIv2 and SMIng SMI_STATUS_MANDATORY = 3 # only SMIv1 SMI_STATUS_OPTIONAL = 4 # only SMIv1 SMI_STATUS_OBSOLETE = 5 # SMIv1 SMIv2 and SMIng STATUSMAP = { "": SMI_STATUS_UNKNOWN , "current" :SMI_STATUS_CURRENT , "deprecated" : SMI_STATUS_DEPRECATED , "obsolete" : SMI_STATUS_OBSOLETE } # SmiAccess SMI_ACCESS_UNKNOWN = 0 # should not occur SMI_ACCESS_NOT_IMPLEMENTED = 1 # only for agent capability variations SMI_ACCESS_NOT_ACCESSIBLE = 2 # the values 2 to 5 are allowed to be SMI_ACCESS_NOTIFY = 3 # compared by relational operators. SMI_ACCESS_READ_ONLY = 4 SMI_ACCESS_READ_WRITE = 5 ACCESSMAP = { "": SMI_ACCESS_UNKNOWN , "noaccess" : SMI_ACCESS_NOT_ACCESSIBLE , "notifyonly" : SMI_ACCESS_NOTIFY , "readonly" : SMI_ACCESS_READ_ONLY , "readwrite" : SMI_ACCESS_READ_WRITE } # SmiNodeKind SMI_NODEKIND_UNKNOWN = 0x0000 # should not occur SMI_NODEKIND_NODE = 0x0001 SMI_NODEKIND_SCALAR = 0x0002 SMI_NODEKIND_TABLE = 0x0004 SMI_NODEKIND_ROW = 0x0008 SMI_NODEKIND_COLUMN = 0x0010 SMI_NODEKIND_NOTIFICATION = 0x0020 SMI_NODEKIND_GROUP = 0x0040 SMI_NODEKIND_COMPLIANCE = 0x0080 SMI_NODEKIND_CAPABILITIES = 0x0100 SMI_NODEKIND_ANY = 0xffff NODEKINDMAP = { "node": SMI_NODEKIND_NODE , "capabilities": SMI_NODEKIND_CAPABILITIES, "table": SMI_NODEKIND_TABLE, "row": SMI_NODEKIND_ROW, "column": SMI_NODEKIND_COLUMN, "scalar": SMI_NODEKIND_SCALAR } CREATEMAP = { "true": 1, "false": 0 } # SmiDecl SMI_DECL_UNKNOWN = 0 # should not occur # SMIv1/v2 ASN.1 statements and macros SMI_DECL_IMPLICIT_TYPE = 1 SMI_DECL_TYPEASSIGNMENT = 2 SMI_DECL_IMPL_SEQUENCEOF = 4 # this will go away SMI_DECL_VALUEASSIGNMENT = 5 SMI_DECL_OBJECTTYPE = 6 SMI_DECL_OBJECTIDENTITY = 7 SMI_DECL_MODULEIDENTITY = 8 SMI_DECL_NOTIFICATIONTYPE = 9 SMI_DECL_TRAPTYPE = 10 SMI_DECL_OBJECTGROUP = 11 SMI_DECL_NOTIFICATIONGROUP = 12 SMI_DECL_MODULECOMPLIANCE = 13 SMI_DECL_AGENTCAPABILITIES = 14 SMI_DECL_TEXTUALCONVENTION = 15 # SMIng statements SMI_DECL_MODULE = 33 SMI_DECL_EXTENSION = 34 SMI_DECL_TYPEDEF = 35 SMI_DECL_NODE = 36 SMI_DECL_SCALAR = 37 SMI_DECL_TABLE = 38 SMI_DECL_ROW = 39 SMI_DECL_COLUMN = 40 SMI_DECL_NOTIFICATION = 41 SMI_DECL_GROUP = 42 SMI_DECL_COMPLIANCE = 43 # SmiIndexKind SMI_INDEX_UNKNOWN = 0 SMI_INDEX_INDEX = 1 SMI_INDEX_AUGMENT = 2 SMI_INDEX_REORDER = 3 SMI_INDEX_SPARSE = 4 SMI_INDEX_EXPAND = 5