aboutsummaryrefslogtreecommitdiff
path: root/block_int.h
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2006-08-19 11:45:59 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2006-08-19 11:45:59 +0000
commit19cb37389f4641d48803f0c5d72708749cbcf318 (patch)
tree49f6e683fddfe863a8ded2becbba527d9978a849 /block_int.h
parent66c6ef7678939f2119eb649074babf5d5b2666f6 (diff)
better support of host drives
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2124 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'block_int.h')
-rw-r--r--block_int.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/block_int.h b/block_int.h
index 8fd241f2a9..25f6717b5c 100644
--- a/block_int.h
+++ b/block_int.h
@@ -70,6 +70,12 @@ struct BlockDriver {
QEMUSnapshotInfo **psn_info);
int (*bdrv_get_info)(BlockDriverState *bs, BlockDriverInfo *bdi);
+ /* removable device specific */
+ int (*bdrv_is_inserted)(BlockDriverState *bs);
+ int (*bdrv_media_changed)(BlockDriverState *bs);
+ int (*bdrv_eject)(BlockDriverState *bs, int eject_flag);
+ int (*bdrv_set_locked)(BlockDriverState *bs, int locked);
+
BlockDriverAIOCB *free_aiocb;
struct BlockDriver *next;
};
@@ -78,7 +84,6 @@ struct BlockDriverState {
int64_t total_sectors; /* if we are reading a disk image, give its
size in sectors */
int read_only; /* if true, the media is read only */
- int inserted; /* if true, the media is present */
int removable; /* if true, the media can be removed */
int locked; /* if true, the media cannot temporarily be ejected */
int encrypted; /* if true, the media is encrypted */
@@ -86,7 +91,7 @@ struct BlockDriverState {
void (*change_cb)(void *opaque);
void *change_opaque;
- BlockDriver *drv;
+ BlockDriver *drv; /* NULL means no media */
void *opaque;
int boot_sector_enabled;
@@ -96,7 +101,8 @@ struct BlockDriverState {
char backing_file[1024]; /* if non zero, the image is a diff of
this file image */
int is_temporary;
-
+ int media_changed;
+
BlockDriverState *backing_hd;
/* async read/write emulation */