o
    JPZF                     @   sX   d dl Z d dlmZ e jd  dkreZeZdd Zndd Zdd Z	G d	d
 d
e
ZdS )    N)error   c                 C   s   t | S N)reprs r   4/usr/lib/python3/dist-packages/pysmi/codegen/base.pydorepr   s   r
   c                 C   s   t | ddS )Nzutf-8)r   encodedecoder   r   r   r	   r
      s   c                 C   s   |  | | S r   )update)Zd1Zd2r   r   r	   
updateDict   s   
r   c                   @   s 	  e Zd ZdZi ddgddgddgdd	gd
dgddgddgddgddgddgddgddgddgddgddgdd gd!d"gi d#d$gd%d&gd'd(gd)d*gd+d,gd-d.gd/d0gd1d2gd3d4gd5d6gd7d8gd9d:gd;d<gd=d>gd?d@gdAdBgdCdDgi dEdFgdGdHgdIdJgdKdLgdMdNgdOdPgdQdRgdSdTgdUdVgdWdXgdYdZgd[d\gd]d^gd_d`gdadbgdcddgdedfgi dgdhgdidjgdkdlgdmdngdodpgdqdrgdsdtgdudvgdwdxgdydzgd{d|gd}d~gddgddgddgddgddgi ddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgi ddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgi ddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgi ddgddgddgddgddgddgddgddgdd gddgddgddgddgd	d
gddgddgddgi ddgddgddgddgddgddgddgdd gd!d"gd#d$gd%d&gd'd(gd)d*gd+d,gd-d.gd/d0gd1d2gi d3d4gd5d6gd7d8gd9d:gd;d<gd=d>gd?d@gdAdBgdCdDgdEdFgdGdHgdIdJgdKdLgdMdNgdOdPgdQdRgdSdTgdUgdVgdWgdXgdYdZZed[ ed[ eeed[ g d\d]gfd^d_gfd`dagfdbdcgfdddegfdfdggfdhdigfdjdkgfdldmgfdndogfdpdqgfdrdsgfdtdugfdvdwgfdxdygfdzd{gfd|d}gfd~dgfddgfddgfddgfddgfddgfddgfddgfddgfddgfddgfddgfddgfddgfddgfddgfddgfddgfddgfddXgfR ddgieeed ddgffddgidZdd Zdd Z	e
dd Ze
dd Zdd ZdS (  AbstractCodeGen)
RFC1065-SMIRFC1155-SMIRFC1158-MIBRFC-1212RFC1213-MIBRFC-1215
SNMPv2-SMI	SNMPv2-TCz	SNMPv2-TMzSNMPv2-CONFinternet)r   r   	directory)r   r   mgmt)r   r   experimental)r   r   private)r   r   enterprises)r   r   OBJECT-TYPE)r   r   
ObjectName)r   r   ObjectSyntax)r   r    SimpleSyntax)r   r!   ApplicationSyntax)r   r"   ZNetworkAddress)r   	IpAddressr#   Counter)r   Z	Counter32ZGauge)r   ZGauge32	TimeTicks)r   r%   Opaque)r   r&   mib-2)r   r'   DisplayString)r   r(   system)
SNMPv2-MIBr)   
interfaces)IF-MIBr+   ip)IP-MIBr-   icmp)r.   r/   tcp)TCP-MIBr0   udp)UDP-MIBr2   transmission)r   r4   snmp)r*   r5   sysDescr)r*   r6   sysObjectID)r*   r7   	sysUpTime)r*   r8   
sysContact)r*   r9   sysName)r*   r:   sysLocation)r*   r;   sysServices)r*   r<   ifNumber)r,   r=   ifTable)r,   r>   ifEntry)r,   r?   ifIndex)r,   r@   ifDescr)r,   rA   ifType)r,   rB   ifMtu)r,   rC   ifSpeed)r,   rD   ifPhysAddress)r,   rE   ifAdminStatus)r,   rF   ifOperStatus)r,   rG   ifLastChange)r,   rH   
ifInOctets)r,   rI   ifInUcastPkts)r,   rJ   ifInNUcastPkts)r,   rK   ifInDiscards)r,   rL   
ifInErrors)r,   rM   ifInUnknownProtos)r,   rN   ifOutOctets)r,   rO   ifOutUcastPkts)r,   rP   ifOutNUcastPkts)r,   rQ   ifOutDiscards)r,   rR   ifOutErrors)r,   rS   	ifOutQLen)r,   rT   
ifSpecific)r,   rU   ipForwarding)r.   rV   ipDefaultTTL)r.   rW   ipInReceives)r.   rX   ipInHdrErrors)r.   rY   ipInAddrErrors)r.   rZ   ipForwDatagrams)r.   r[   ipInUnknownProtos)r.   r\   ipInDiscards)r.   r]   ipInDelivers)r.   r^   ipOutRequests)r.   r_   ipOutDiscards)r.   r`   ipOutNoRoutes)r.   ra   ipReasmTimeout)r.   rb   ipReasmReqds)r.   rc   
ipReasmOKs)r.   rd   ipReasmFails)r.   re   	ipFragOKs)r.   rf   ipFragFails)r.   rg   ipFragCreates)r.   rh   ipAddrTable)r.   ri   ipAddrEntry)r.   rj   ipAdEntAddr)r.   rk   ipAdEntIfIndex)r.   rl   ipAdEntNetMask)r.   rm   ipAdEntBcastAddr)r.   rn   ipAdEntReasmMaxSize)r.   ro   ipNetToMediaTable)r.   rp   ipNetToMediaEntry)r.   rq   ipNetToMediaIfIndex)r.   rr   ipNetToMediaPhysAddress)r.   rs   ipNetToMediaNetAddress)r.   rt   ipNetToMediaType)r.   ru   
icmpInMsgs)r.   rv   icmpInErrors)r.   rw   icmpInDestUnreachs)r.   rx   icmpInTimeExcds)r.   ry   icmpInParmProbs)r.   rz   icmpInSrcQuenchs)r.   r{   icmpInRedirects)r.   r|   icmpInEchos)r.   r}   icmpInEchoReps)r.   r~   icmpInTimestamps)r.   r   icmpInTimestampReps)r.   r   icmpInAddrMasks)r.   r   icmpInAddrMaskReps)r.   r   icmpOutMsgs)r.   r   icmpOutErrors)r.   r   icmpOutDestUnreachs)r.   r   icmpOutTimeExcds)r.   r   icmpOutParmProbs)r.   r   icmpOutSrcQuenchs)r.   r   icmpOutRedirects)r.   r   icmpOutEchos)r.   r   icmpOutEchoReps)r.   r   icmpOutTimestamps)r.   r   icmpOutTimestampReps)r.   r   icmpOutAddrMasks)r.   r   icmpOutAddrMaskReps)r.   r   tcpRtoAlgorithm)r1   r   	tcpRtoMin)r1   r   	tcpRtoMax)r1   r   
tcpMaxConn)r1   r   tcpActiveOpens)r1   r   tcpPassiveOpens)r1   r   tcpAttemptFails)r1   r   tcpEstabResets)r1   r   tcpCurrEstab)r1   r   	tcpInSegs)r1   r   
tcpOutSegs)r1   r   tcpRetransSegs)r1   r   tcpConnTable)r1   r   tcpConnEntry)r1   r   tcpConnState)r1   r   tcpConnLocalAddress)r1   r   tcpConnLocalPort)r1   r   tcpConnRemAddress)r1   r   tcpConnRemPort)r1   r   	tcpInErrs)r1   r   
tcpOutRsts)r1   r   udpInDatagrams)r3   r   
udpNoPorts)r3   r   udpInErrors)r3   r   udpOutDatagrams)r3   r   udpTable)r3   r   udpEntry)r3   r   udpLocalAddress)r3   r   udpLocalPort)r3   r   
snmpInPkts)r*   r   snmpOutPkts)r*   r   snmpInBadVersions)r*   r   snmpInBadCommunityNames)r*   r   snmpInBadCommunityUses)r*   r   snmpInASNParseErrs)r*   r   snmpInTooBigs)r*   r   snmpInNoSuchNames)r*   r   snmpInBadValues)r*   r   snmpInReadOnlys)r*   r   snmpInGenErrs)r*   r   snmpInTotalReqVars)r*   r   snmpInTotalSetVars)r*   r   snmpInGetRequests)r*   r   snmpInGetNexts)r*   r   snmpInSetRequests)r*   r   snmpInGetResponses)r*   r   snmpInTraps)r*   r   snmpOutTooBigs)r*   r   snmpOutNoSuchNames)r*   r   snmpOutBadValues)r*   r   snmpOutGenErrs)r*   r   snmpOutGetRequests)r*   r   snmpOutGetNexts)r*   r   )r*   snmpOutSetRequests)r*   snmpOutGetResponses)r*   snmpOutTraps)r*   snmpEnableAuthenTraps)r   r   r   r   )RFC1155-SMI/RFC1065-SMIRFC1158-MIB/RFC1213-MIBr   ZnullSpecific)r   ZzeroDotZeroZipRoutingTable)r   ZipRouteTableipRouteEntry)r   r   ipRouteDest)r   r   ipRouteIfIndex)r   r   ipRouteMetric1)r   r   ipRouteMetric2)r   r   ipRouteMetric3)r   r   ipRouteMetric4)r   r   ipRouteNextHop)r   r   ipRouteType)r   r   ipRouteProto)r   r   
ipRouteAge)r   r   ipRouteMask)r   r   	egpInMsgs)r   r   egpInErrors)r   r   
egpOutMsgs)r   r   egpOutErrors)r   r   egpNeighTable)r   r   egpNeighEntry)r   r   egpNeighState)r   r   egpNeighAddr)r   r   
egpNeighAs)r   r   egpNeighInMsgs)r   r   egpNeighInErrs)r   r   egpNeighOutMsgs)r   r   egpNeighOutErrs)r   r   egpNeighInErrMsgs)r   r   egpNeighOutErrMsgs)r   r   egpNeighStateUps)r   r   egpNeighStateDowns)r   r   egpNeighIntervalHello)r   r   egpNeighIntervalPoll)r   r   egpNeighMode)r   r   egpNeighEventTrigger)r   r   egpAs)r   r   ZsnmpEnableAuthTrapsr   PhysAddress)r   r   	TRAP-TYPE)r   r   )r   r   r   r   r   r   c                 K      t  r   NotImplementedError)selfastZsymbolTablekwargsr   r   r	   genCode     zAbstractCodeGen.genCodec                 K   r   r   r   )r   ZmibsMapr   r   r   r	   genIndex  r   zAbstractCodeGen.genIndexc                 C   *   t | ttfo| d dko| dd  dv S )Nr   ')z'bz'B
isinstancestrunicoder   r   r   r	   isBinary  s
   
zAbstractCodeGen.isBinaryc                 C   r   )Nr   r   r   )z'hz'Hr   r   r   r   r	   isHex  s   zAbstractCodeGen.isHexc                 C   sl   |  |r|dd rt|dd dS td| |r2|dd r-t|dd dS tdt|S )N   r   r   z%empty binary string to int conversion   z"empty hex string to int conversion)r   intr   ZPySmiSemanticErrorr   )r   r   r   r   r	   str2int"  s   



zAbstractCodeGen.str2intN)__name__
__module____qualname__ZbaseMibsZ
commonSymsr   dictZconvertImportv2r   r   staticmethodr   r   r  r   r   r   r	   r      s   
	

	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
 
  
  
  
  
  
  
  
  
	  

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
    3	
 !"#$(3r   )sysZpysmir   version_infor   r   r  Zlongr
   r   objectr   r   r   r   r	   <module>   s   
