code: def fast_sync_inspect( fd ):
      
      sb = os.fstat(fd.fileno())
      ptr = sb.st_size
      if ptr < 8:
          log.debug("fd is {} bytes".format(ptr))
          return {'error': 'File is too small to be a snapshot'}
  
      signatures = []
      sig_append_offset = 0
      
      fd.seek(0, os.SEEK_SET)
  
      # read number of signatures
      num_signatures = snapshot_peek_number(fd, ptr)
      if num_signatures is None or num_signatures > 256:
          log.error("Unparseable num_signatures field")
          return {'error': 'Unparseable num_signatures'}
  
      # consumed
      ptr -= 8
  
      # future signatures get written here
      sig_append_offset = ptr
  
      # read signatures
      for i in xrange(0, num_signatures):
          sigb64_len = snapshot_peek_number(fd, ptr)
          if sigb64_len is None or sigb64_len > 100:
              log.error("Unparseable signature length field")
              return {'error': 'Unparseable signature length'}
  
          # consumed length
          ptr -= 8
  
          sigb64 = snapshot_peek_sigb64(fd, ptr, sigb64_len)
          if sigb64 is None:
              log.error("Unparseable signature")
              return {'error': 'Unparseable signature'}
  
          # consumed signature
          ptr -= len(sigb64)
  
          signatures.append( sigb64 )
  
      return {'status': True, 'signatures': signatures, 'payload_size': ptr, 'sig_append_offset': sig_append_offset}
docs: Inspect a snapshot, given its file descriptor.
      Get the signatures and payload size
      Return {'status': True, 
              'signatures': signatures,
              'payload_size': payload size,
              'sig_append_offset': offset} on success
      Return {'error': ...} on error