Lines Matching refs:bs

74 read_uint64(BlockDriverState *bs, int64_t offset, uint64_t *result)  in read_uint64()  argument
79 ret = bdrv_pread(bs->file, offset, 8, &buffer, 0); in read_uint64()
89 read_uint32(BlockDriverState *bs, int64_t offset, uint32_t *result) in read_uint32() argument
94 ret = bdrv_pread(bs->file, offset, 4, &buffer, 0); in read_uint32()
151 BlockDriverState *file_bs = file->bs; in dmg_find_koly_offset()
327 dmg_read_resource_fork(BlockDriverState *bs, DmgHeaderState *ds, in dmg_read_resource_fork() argument
330 BDRVDMGState *s = bs->opaque; in dmg_read_resource_fork()
338 ret = read_uint32(bs, info_begin, &rsrc_data_offset); in dmg_read_resource_fork()
347 ret = read_uint32(bs, info_begin + 8, &count); in dmg_read_resource_fork()
365 ret = read_uint32(bs, offset, &count); in dmg_read_resource_fork()
375 ret = bdrv_pread(bs->file, offset, count, buffer, 0); in dmg_read_resource_fork()
395 dmg_read_plist_xml(BlockDriverState *bs, DmgHeaderState *ds, in dmg_read_plist_xml() argument
398 BDRVDMGState *s = bs->opaque; in dmg_read_plist_xml()
413 ret = bdrv_pread(bs->file, info_begin, info_length, buffer, 0); in dmg_read_plist_xml()
449 static int dmg_open(BlockDriverState *bs, QDict *options, int flags, in dmg_open() argument
452 BDRVDMGState *s = bs->opaque; in dmg_open()
462 ret = bdrv_apply_auto_read_only(bs, NULL, errp); in dmg_open()
468 ret = bdrv_open_file_child(NULL, options, "file", bs, errp); in dmg_open()
495 offset = dmg_find_koly_offset(bs->file, errp); in dmg_open()
502 ret = read_uint64(bs, offset + 0x18, &ds.data_fork_offset); in dmg_open()
511 ret = read_uint64(bs, offset + 0x28, &rsrc_fork_offset); in dmg_open()
515 ret = read_uint64(bs, offset + 0x30, &rsrc_fork_length); in dmg_open()
525 ret = read_uint64(bs, offset + 0xd8, &plist_xml_offset); in dmg_open()
529 ret = read_uint64(bs, offset + 0xe0, &plist_xml_length); in dmg_open()
538 ret = read_uint64(bs, offset + 0x1ec, (uint64_t *)&bs->total_sectors); in dmg_open()
542 if (bs->total_sectors < 0) { in dmg_open()
547 ret = dmg_read_resource_fork(bs, &ds, in dmg_open()
553 ret = dmg_read_plist_xml(bs, &ds, plist_xml_offset, plist_xml_length); in dmg_open()
563 s->compressed_chunk = qemu_try_blockalign(bs->file->bs, in dmg_open()
565 s->uncompressed_chunk = qemu_try_blockalign(bs->file->bs, in dmg_open()
593 static void dmg_refresh_limits(BlockDriverState *bs, Error **errp) in dmg_refresh_limits() argument
595 bs->bl.request_alignment = BDRV_SECTOR_SIZE; /* No sub-sector I/O */ in dmg_refresh_limits()
631 dmg_read_chunk(BlockDriverState *bs, uint64_t sector_num) in dmg_read_chunk() argument
633 BDRVDMGState *s = bs->opaque; in dmg_read_chunk()
648 ret = bdrv_co_pread(bs->file, s->offsets[chunk], s->lengths[chunk], in dmg_read_chunk()
674 ret = bdrv_co_pread(bs->file, s->offsets[chunk], s->lengths[chunk], in dmg_read_chunk()
695 ret = bdrv_co_pread(bs->file, s->offsets[chunk], s->lengths[chunk], in dmg_read_chunk()
711 ret = bdrv_co_pread(bs->file, s->offsets[chunk], s->lengths[chunk], in dmg_read_chunk()
729 dmg_co_preadv(BlockDriverState *bs, int64_t offset, int64_t bytes, in dmg_co_preadv() argument
732 BDRVDMGState *s = bs->opaque; in dmg_co_preadv()
746 if (dmg_read_chunk(bs, sector_num + i) != 0) { in dmg_co_preadv()
769 static void dmg_close(BlockDriverState *bs) in dmg_close() argument
771 BDRVDMGState *s = bs->opaque; in dmg_close()