Example #1
0
 def __init__(self,
              parent,
              name,
              nbits,
              description="Padding",
              pattern=None):
     Bits.__init__(self, parent, name, nbits, description)
     self.pattern = pattern
     self._display_pattern = self.checkPattern()
Example #2
0
 def __init__(self, parent, name, description=None):
     Bits.__init__(self, parent, name, 8, description)
     stream = parent.stream
     addr = self.absolute_address
     value = 0
     while True:
         bits = stream.readBits(addr, 8, parent.endian)
         value = (value << 7) + (bits & 127)
         if not (bits & 128):
             break
         addr += 8
         self._size += 8
         if 32 < self._size:
             raise ParserError("Integer size is bigger than 32-bit")
     self.createValue = lambda: value
Example #3
0
 def __init__(self, parent, name, description=None):
     Bits.__init__(self, parent, name, 8, description)
     stream = parent.stream
     addr = self.absolute_address
     value = 0
     while True:
         bits = stream.readBits(addr, 8, parent.endian)
         value = (value << 7) + (bits & 127)
         if not (bits & 128):
             break
         addr += 8
         self._size += 8
         if 32 < self._size:
             raise ParserError("Integer size is bigger than 32-bit")
     self.createValue = lambda: value
Example #4
0
 def __init__(self, parent, name, description=None):
     Bits.__init__(self, parent, name, 8, description)
     stream = self._parent.stream
     addr = self.absolute_address
     size = 8
     value = 0
     byte = stream.readBits(addr, 8, BIG_ENDIAN)
     value = byte & 127
     while 128 <= byte:
         addr += 8
         size += 8
         if 64 < size:
             # Arbitrary limit to catch errors
             raise ParserError("ASN.1: Object identifier is limited 64 bits")
         byte = stream.readBits(addr, 8, BIG_ENDIAN)
         value = (value << 7) + (byte & 127)
     self._size = size
     self.createValue = lambda: value
Example #5
0
 def __init__(self, parent, name, signed=False, nbits=30, description=None):
     Bits.__init__(self, parent, name, 8, description)
     stream = self._parent.stream
     addr = self.absolute_address
     size = 0
     value = 0
     mult = 1
     while True:
         byte = stream.readBits(addr+size, 8, LITTLE_ENDIAN)
         value += mult * (byte & 0x7f)
         size += 8
         mult <<= 7
         if byte < 128:
             break
     self._size = size
     if signed and (1 << (nbits-1)) <= value:
         value -= (1 << nbits)
     self.createValue = lambda: value
Example #6
0
 def __init__(self, parent, name, signed=False, nbits=30, description=None):
     Bits.__init__(self, parent, name, 8, description)
     stream = self._parent.stream
     addr = self.absolute_address
     size = 0
     value = 0
     mult = 1
     while True:
         byte = stream.readBits(addr + size, 8, LITTLE_ENDIAN)
         value += mult * (byte & 0x7f)
         size += 8
         mult <<= 7
         if byte < 128:
             break
     self._size = size
     if signed and (1 << (nbits - 1)) <= value:
         value -= (1 << nbits)
     self.createValue = lambda: value
Example #7
0
 def __init__(self, parent, name, description=None):
     Bits.__init__(self, parent, name, 8, description)
     stream = self._parent.stream
     addr = self.absolute_address
     size = 8
     value = 0
     byte = stream.readBits(addr, 8, BIG_ENDIAN)
     value = byte & 127
     while 128 <= byte:
         addr += 8
         size += 8
         if 64 < size:
             # Arbitrary limit to catch errors
             raise ParserError(
                 "ASN.1: Object identifier is limited 64 bits")
         byte = stream.readBits(addr, 8, BIG_ENDIAN)
         value = (value << 7) + (byte & 127)
     self._size = size
     self.createValue = lambda: value
Example #8
0
 def __init__(self, parent, name, size, description=None):
     Bits.__init__(self, parent, name, size, description)
Example #9
0
 def __init__(self, parent, name):
     Bits.__init__(self, parent, name, 4)
Example #10
0
 def __init__(self, parent, name, size):
     Bits.__init__(self, parent, name, size)
     self.bias = 2 ** (size-1) - 1
Example #11
0
 def __init__(self, parent, name, signed, size, description=None):
     if not (8 <= size <= 256):
         raise FieldError("Invalid integer size (%s): have to be in 8..256" % size)
     Bits.__init__(self, parent, name, size, description)
     self.signed = signed
Example #12
0
 def __init__(self, parent, name, signed, endian, size, description=None):
     if not (8 <= size <= 16384):
         raise FieldError("Invalid integer size (%s): have to be in 8..16384" % size)
     Bits.__init__(self, parent, name, size, description)
     self.signed = signed
     self.endian = endian or self._parent.endian
Example #13
0
 def __init__(self, parent, name, size):
     Bits.__init__(self, parent, name, size)
     self.bias = 2**(size - 1) - 1
Example #14
0
 def __init__(self, parent, name, signed, size, description=None):
     if not (8 <= size <= 256):
         raise FieldError(
             "Invalid integer size (%s): have to be in 8..256" % size)
     Bits.__init__(self, parent, name, size, description)
     self.signed = signed
Example #15
0
 def __init__(self, parent, name, description=None):
     Bits.__init__(self, parent, name, 24, description=None)
Example #16
0
 def __init__(self, parent, name, size, description=None):
     Bits.__init__(self, parent, name, size, None)
     self.desc = description
 def __init__(self, parent, name, nbits, description="Padding", pattern=None):
     Bits.__init__(self, parent, name, nbits, description)
     self.pattern = pattern
     self._display_pattern = self.checkPattern()