# Path: pysnmp/entity/config.py
# def __cookV1SystemInfo(snmpEngine, securityName):
# def addV1System(snmpEngine, securityName, communityName,
#                 contextEngineId=None, contextName=None,
#                 transportTag=None):
# def delV1System(snmpEngine, securityName):
# def __cookV3UserInfo(snmpEngine, securityName, contextEngineId):
# def addV3User(snmpEngine, securityName,
#               authProtocol=usmNoAuthProtocol, authKey=None,
#               privProtocol=usmNoPrivProtocol, privKey=None,
#               contextEngineId=None):
# def delV3User(snmpEngine, securityName, contextEngineId=None):
# def __cookTargetParamsInfo(snmpEngine, name):
# def addTargetParams(
#     snmpEngine,
#     name,
#     securityName,
#     securityLevel,
#     mpModel=3  # 0 == SNMPv1, 1 == SNMPv2c, 3 == SNMPv3
#     ):
# def delTargetParams(snmpEngine, name):
# def __cookTargetAddrInfo(snmpEngine, addrName):
# def addTargetAddr(
#     snmpEngine,
#     addrName,
#     transportDomain,    
#     transportAddress,
#     params,
#     timeout=None,
#     retryCount=None,
#     tagList=null
#     ):
# def delTargetAddr(snmpEngine, addrName):
# def addSocketTransport(snmpEngine, transportDomain, transport):
# def delSocketTransport(snmpEngine, transportDomain):
# def addContext(snmpEngine, contextName):
# def __cookVacmGroupInfo(snmpEngine, securityModel, securityName):
# def addVacmGroup(snmpEngine, groupName, securityModel, securityName):
# def delVacmGroup(snmpEngine, securityModel, securityName):
# def __cookVacmAccessInfo(snmpEngine, groupName, contextName, securityModel,
#                          securityLevel):
# def addVacmAccess(snmpEngine, groupName, contextName, securityModel,
#                   securityLevel, prefix, readView, writeView, notifyView):
# def delVacmAccess(snmpEngine, groupName, contextName, securityModel,
#                   securityLevel):
# def __cookVacmViewInfo(snmpEngine, viewName, subTree):
# def addVacmView(snmpEngine, viewName, viewType, subTree, mask):
# def delVacmView(snmpEngine, viewName, subTree):
# def __cookVacmUserInfo(snmpEngine, securityModel, securityName, securityLevel):
# def addVacmUser(snmpEngine, securityModel, securityName, securityLevel,
#                 readSubTree=(), writeSubTree=(), notifySubTree=(),
#                 contextName=null):
# def delVacmUser(snmpEngine, securityModel, securityName, securityLevel,
#                 readSubTree=(), writeSubTree=(), notifySubTree=()):
# def addRoUser(snmpEngine, securityModel, securityName, securityLevel, subTree):
# def delRoUser(snmpEngine, securityModel, securityName, securityLevel, subTree):
# def addRwUser(snmpEngine, securityModel, securityName, securityLevel, subTree):
# def delRwUser(snmpEngine, securityModel, securityName, securityLevel, subTree):
# def addTrapUser(snmpEngine,securityModel,securityName,securityLevel,subTree):
# def delTrapUser(snmpEngine,securityModel,securityName,securityLevel,subTree):
# def __cookNotificationTargetInfo(snmpEngine, notificationName, paramsName,
#                                  filterSubtree=None):
# def addNotificationTarget(snmpEngine, notificationName, paramsName,
#                           transportTag, notifyType=None, filterSubtree=None,
#                           filterMask=None, filterType=None):
# def delNotificationTarget(snmpEngine, notificationName, paramsName,
#                           filterSubtree=None):
# def setInitialVacmParameters(snmpEngine):


from pysnmp.entity import config
from pyasn1.compat.octets import null
            self.tag = tag
        # Autogenerate securityName if not specified
        if communityName is None:
            self.communityName = securityName
            self.securityName = 's%s' % hash(
                ( securityName, self.mpModel,
                  self.contextEngineId, self.contextName, self.tag )
                )
            
    def __repr__(self):
        return '%s("%s", <COMMUNITY>, %r, %r, %r, %r)' % (
            self.__class__.__name__,
            self.securityName,
            self.mpModel,
            self.contextEngineId,
            self.contextName,
            self.tag
            )

    def __hash__(self): return hash(self.securityName)

    def __eq__(self, other): return self.securityName == other
    def __ne__(self, other): return self.securityName != other
    def __lt__(self, other): return self.securityName < other
    def __le__(self, other): return self.securityName <= other
    def __gt__(self, other): return self.securityName > other
    def __ge__(self, other): return self.securityName >= other

class UsmUserData:
    authKey = privKey = None

# Path: pysnmp/entity/config.py
# def __cookV1SystemInfo(snmpEngine, securityName):
# def addV1System(snmpEngine, securityName, communityName,
#                 contextEngineId=None, contextName=None,
#                 transportTag=None):
# def delV1System(snmpEngine, securityName):
# def __cookV3UserInfo(snmpEngine, securityName, contextEngineId):
# def addV3User(snmpEngine, securityName,
#               authProtocol=usmNoAuthProtocol, authKey=None,
#               privProtocol=usmNoPrivProtocol, privKey=None,
#               contextEngineId=None):
# def delV3User(snmpEngine, securityName, contextEngineId=None):
# def __cookTargetParamsInfo(snmpEngine, name):
# def addTargetParams(
#     snmpEngine,
#     name,
#     securityName,
#     securityLevel,
#     mpModel=3  # 0 == SNMPv1, 1 == SNMPv2c, 3 == SNMPv3
#     ):
# def delTargetParams(snmpEngine, name):
# def __cookTargetAddrInfo(snmpEngine, addrName):
# def addTargetAddr(
#     snmpEngine,
#     addrName,
#     transportDomain,    
#     transportAddress,
#     params,
#     timeout=None,
#     retryCount=None,
#     tagList=null
#     ):
# def delTargetAddr(snmpEngine, addrName):
# def addSocketTransport(snmpEngine, transportDomain, transport):
# def delSocketTransport(snmpEngine, transportDomain):
# def addContext(snmpEngine, contextName):
# def __cookVacmGroupInfo(snmpEngine, securityModel, securityName):
# def addVacmGroup(snmpEngine, groupName, securityModel, securityName):
# def delVacmGroup(snmpEngine, securityModel, securityName):
# def __cookVacmAccessInfo(snmpEngine, groupName, contextName, securityModel,
#                          securityLevel):
# def addVacmAccess(snmpEngine, groupName, contextName, securityModel,
#                   securityLevel, prefix, readView, writeView, notifyView):
# def delVacmAccess(snmpEngine, groupName, contextName, securityModel,
#                   securityLevel):
# def __cookVacmViewInfo(snmpEngine, viewName, subTree):
# def addVacmView(snmpEngine, viewName, viewType, subTree, mask):
# def delVacmView(snmpEngine, viewName, subTree):
# def __cookVacmUserInfo(snmpEngine, securityModel, securityName, securityLevel):
# def addVacmUser(snmpEngine, securityModel, securityName, securityLevel,
#                 readSubTree=(), writeSubTree=(), notifySubTree=(),
#                 contextName=null):
# def delVacmUser(snmpEngine, securityModel, securityName, securityLevel,
#                 readSubTree=(), writeSubTree=(), notifySubTree=()):
# def addRoUser(snmpEngine, securityModel, securityName, securityLevel, subTree):
# def delRoUser(snmpEngine, securityModel, securityName, securityLevel, subTree):
# def addRwUser(snmpEngine, securityModel, securityName, securityLevel, subTree):
# def delRwUser(snmpEngine, securityModel, securityName, securityLevel, subTree):
# def addTrapUser(snmpEngine,securityModel,securityName,securityLevel,subTree):
# def delTrapUser(snmpEngine,securityModel,securityName,securityLevel,subTree):
# def __cookNotificationTargetInfo(snmpEngine, notificationName, paramsName,
#                                  filterSubtree=None):
# def addNotificationTarget(snmpEngine, notificationName, paramsName,
#                           transportTag, notifyType=None, filterSubtree=None,
#                           filterMask=None, filterType=None):
# def delNotificationTarget(snmpEngine, notificationName, paramsName,
#                           filterSubtree=None):
# def setInitialVacmParameters(snmpEngine):


# Path: pysnmp/entity/rfc3413/oneliner/auth.py
from pysnmp.entity import config
from pyasn1.compat.octets import null

            self.tag = tag
        # Autogenerate securityName if not specified
        if communityName is None:
            self.communityName = securityName
            self.securityName = 's%s' % hash(
                ( securityName, self.mpModel,
                  self.contextEngineId, self.contextName, self.tag )
                )
            
    def __repr__(self):
        return '%s("%s", <COMMUNITY>, %r, %r, %r, %r)' % (
            self.__class__.__name__,
            self.securityName,
            self.mpModel,
            self.contextEngineId,
            self.contextName,
            self.tag
            )

    def __hash__(self): return hash(self.securityName)

    def __eq__(self, other): return self.securityName == other
    def __ne__(self, other): return self.securityName != other
    def __lt__(self, other): return self.securityName < other
    def __le__(self, other): return self.securityName <= other
    def __gt__(self, other): return self.securityName > other
    def __ge__(self, other): return self.securityName >= other

class UsmUserData:
    authKey = privKey = None

    authProtocol = config.usmNoAuthProtocol