xref: /kvmtool/include/kvm/disk-image.h (revision 2924f993edf90c0adea98f98e0845c5a45ea8d10)
19f532d00SPekka Enberg #ifndef KVM__DISK_IMAGE_H
29f532d00SPekka Enberg #define KVM__DISK_IMAGE_H
39f532d00SPekka Enberg 
49f532d00SPekka Enberg #include <stdint.h>
59f532d00SPekka Enberg 
6*2924f993SAsias He #define SECTOR_SHIFT		9
7*2924f993SAsias He #define SECTOR_SIZE		(1UL << SECTOR_SHIFT)
8*2924f993SAsias He 
99f532d00SPekka Enberg struct disk_image {
109f532d00SPekka Enberg 	void		*mmap;
119f532d00SPekka Enberg 	int		fd;
129f532d00SPekka Enberg 	uint64_t	size;
139f532d00SPekka Enberg };
149f532d00SPekka Enberg 
159f532d00SPekka Enberg struct disk_image *disk_image__open(const char *filename);
169f532d00SPekka Enberg void disk_image__close(struct disk_image *self);
175a24a9f2SPekka Enberg int disk_image__read_sector(struct disk_image *self, uint64_t sector, void *dst, uint32_t dst_len);
18258dd093SPekka Enberg int disk_image__write_sector(struct disk_image *self, uint64_t sector, void *src, uint32_t src_len);
199f532d00SPekka Enberg 
209f532d00SPekka Enberg #endif /* KVM__DISK_IMAGE_H */
21