code: def read_block_idb(self, block, _):
          
          options = block[16:]
          tsresol = 1000000
          while len(options) >= 4:
              code, length = struct.unpack(self.endian + "HH", options[:4])
              # PCAP Next Generation (pcapng) Capture File Format
              # 4.2. - Interface Description Block
              # http://xml2rfc.tools.ietf.org/cgi-bin/xml2rfc.cgi?url=https://raw.githubusercontent.com/pcapng/pcapng/master/draft-tuexen-opsawg-pcapng.xml&modeAsFormat=html/ascii&type=ascii#rfc.section.4.2
              if code == 9 and length == 1 and len(options) >= 5:
                  tsresol = orb(options[4])
                  tsresol = (2 if tsresol & 128 else 10) ** (tsresol & 127)
              if code == 0:
                  if length != 0:
                      warning("PcapNg: invalid option length %d for end-of-option" % length)  # noqa: E501
                  break
              if length % 4:
                  length += (4 - (length % 4))
              options = options[4 + length:]
          self.interfaces.append(struct.unpack(self.endian + "HxxI", block[:8]) +
                                 (tsresol,))
docs: Interface Description Block