rfc1157.py (2876B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\carbon\common\lib\pyasn1_modules\rfc1157.py 2 from pyasn1.type import univ, namedtype, namedval, tag, constraint 3 from pyasn1_modules import rfc1155 4 5 class Version(univ.Integer): 6 namedValues = namedval.NamedValues(('version-1', 0)) 7 defaultValue = 0 8 9 10 class Community(univ.OctetString): 11 pass 12 13 14 class RequestID(univ.Integer): 15 pass 16 17 18 class ErrorStatus(univ.Integer): 19 namedValues = namedval.NamedValues(('noError', 0), ('tooBig', 1), ('noSuchName', 2), ('badValue', 3), ('readOnly', 4), ('genErr', 5)) 20 21 22 class ErrorIndex(univ.Integer): 23 pass 24 25 26 class VarBind(univ.Sequence): 27 componentType = namedtype.NamedTypes(namedtype.NamedType('name', rfc1155.ObjectName()), namedtype.NamedType('value', rfc1155.ObjectSyntax())) 28 29 30 class VarBindList(univ.SequenceOf): 31 componentType = VarBind() 32 33 34 class _RequestBase(univ.Sequence): 35 componentType = namedtype.NamedTypes(namedtype.NamedType('request-id', RequestID()), namedtype.NamedType('error-status', ErrorStatus()), namedtype.NamedType('error-index', ErrorIndex()), namedtype.NamedType('variable-bindings', VarBindList())) 36 37 38 class GetRequestPDU(_RequestBase): 39 tagSet = _RequestBase.tagSet.tagImplicitly(tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0)) 40 41 42 class GetNextRequestPDU(_RequestBase): 43 tagSet = _RequestBase.tagSet.tagImplicitly(tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 1)) 44 45 46 class GetResponsePDU(_RequestBase): 47 tagSet = _RequestBase.tagSet.tagImplicitly(tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 2)) 48 49 50 class SetRequestPDU(_RequestBase): 51 tagSet = _RequestBase.tagSet.tagImplicitly(tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 3)) 52 53 54 class TrapPDU(univ.Sequence): 55 componentType = namedtype.NamedTypes(namedtype.NamedType('enterprise', univ.ObjectIdentifier()), namedtype.NamedType('agent-addr', rfc1155.NetworkAddress()), namedtype.NamedType('generic-trap', univ.Integer().clone(namedValues=namedval.NamedValues(('coldStart', 0), ('warmStart', 1), ('linkDown', 2), ('linkUp', 3), ('authenticationFailure', 4), ('egpNeighborLoss', 5), ('enterpriseSpecific', 6)))), namedtype.NamedType('specific-trap', univ.Integer()), namedtype.NamedType('time-stamp', rfc1155.TimeTicks()), namedtype.NamedType('variable-bindings', VarBindList())) 56 57 58 class Pdus(univ.Choice): 59 componentType = namedtype.NamedTypes(namedtype.NamedType('get-request', GetRequestPDU()), namedtype.NamedType('get-next-request', GetNextRequestPDU()), namedtype.NamedType('get-response', GetResponsePDU()), namedtype.NamedType('set-request', SetRequestPDU()), namedtype.NamedType('trap', TrapPDU())) 60 61 62 class Message(univ.Sequence): 63 componentType = namedtype.NamedTypes(namedtype.NamedType('version', Version()), namedtype.NamedType('community', Community()), namedtype.NamedType('data', Pdus()))