Lines Matching refs:fd

477     def _skip_to(self, fd, offset):  argument
484 if fd.tell() > offset:
486 (offset, fd.tell()))
487 fd.write(tools.get_bytes(self._erase_byte, offset - fd.tell()))
489 def _pad_to(self, fd, offset): argument
496 self._align_to(fd, self._align)
497 upto = fd.tell()
504 fd.write(cbf.get_data_and_offset()[0])
505 self._skip_to(fd, offset)
507 def _align_to(self, fd, align): argument
519 offset = align_int(fd.tell(), align)
521 self._skip_to(fd, offset)
559 def _write_header(self, fd, add_fileheader): argument
567 if fd.tell() > self._header_offset:
569 (self._header_offset, fd.tell()))
571 self._pad_to(fd, self._header_offset)
577 fd.write(struct.pack(FILE_HEADER_FORMAT, FILE_MAGIC, len(hdr),
580 fd.write(name)
581 self._header_offset = fd.tell()
582 fd.write(hdr)
583 self._align_to(fd, self._align)
585 fd.write(hdr)
595 fd = io.BytesIO()
599 self._write_header(fd, add_fileheader=self._add_fileheader)
600 self._skip_to(fd, self._contents_offset)
607 self._pad_to(fd, align_int_down(offset, self._align))
608 pos = fd.tell()
610 fd.write(data)
611 self._align_to(fd, self._align)
614 self._write_header(fd, add_fileheader=self._add_fileheader)
617 self._pad_to(fd, self._base_address or self._size - 4)
619 fd.write(struct.pack('<I', rel_offset & 0xffffffff))
621 return fd.getvalue()
663 with io.BytesIO(self.data) as fd:
665 if not self._find_and_read_header(fd, len(self.data)):
667 fd.seek(self.cbfs_offset)
671 cfile = self._read_next_file(fd)
677 def _find_and_read_header(self, fd, size): argument
691 orig_pos = fd.tell()
692 fd.seek(size - 4)
693 rel_offset, = struct.unpack('<I', fd.read(4))
695 fd.seek(pos)
696 found = self._read_header(fd)
700 fd.seek(pos)
701 found = self._read_header(fd)
704 fd.seek(orig_pos)
707 def _read_next_file(self, fd): argument
718 file_pos = fd.tell()
719 data = fd.read(FILE_HEADER_LEN)
727 pos = fd.tell()
728 name = self._read_string(fd)
737 compress = self._read_attr(fd, file_pos, attr, offset)
744 fd.seek(cbfs_offset, io.SEEK_SET)
746 self._read_header(fd)
748 data = fd.read(STAGE_LEN)
753 cfile.data = fd.read(cfile.data_len)
755 data = fd.read(size)
762 fd.read(size)
771 pad = (self.align - fd.tell() % self.align) % self.align
772 fd.seek(pad, io.SEEK_CUR)
776 def _read_attr(cls, fd, file_pos, attr, offset): argument
797 fd.seek(file_pos + attr, io.SEEK_SET)
799 pos = fd.tell()
800 hdr = fd.read(8)
805 data = hdr + fd.read(alen - 8)
817 def _read_header(self, fd): argument
830 pos = fd.tell()
831 data = fd.read(HEADER_LEN)
843 def _read_string(cls, fd): argument
857 data = fd.read(FILENAME_ALIGN)