Annotation of qemu/blockdev.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * QEMU host block devices
        !             3:  *
        !             4:  * Copyright (c) 2003-2008 Fabrice Bellard
        !             5:  *
        !             6:  * This work is licensed under the terms of the GNU GPL, version 2 or
        !             7:  * later.  See the COPYING file in the top-level directory.
        !             8:  */
        !             9: 
        !            10: #ifndef BLOCKDEV_H
        !            11: #define BLOCKDEV_H
        !            12: 
        !            13: #include "block.h"
        !            14: #include "qemu-queue.h"
        !            15: 
        !            16: void blockdev_mark_auto_del(BlockDriverState *bs);
        !            17: void blockdev_auto_del(BlockDriverState *bs);
        !            18: 
        !            19: typedef enum {
        !            20:     IF_NONE,
        !            21:     IF_IDE, IF_SCSI, IF_FLOPPY, IF_PFLASH, IF_MTD, IF_SD, IF_VIRTIO, IF_XEN,
        !            22:     IF_COUNT
        !            23: } BlockInterfaceType;
        !            24: 
        !            25: #define BLOCK_SERIAL_STRLEN 20
        !            26: 
        !            27: typedef struct DriveInfo {
        !            28:     BlockDriverState *bdrv;
        !            29:     char *id;
        !            30:     const char *devaddr;
        !            31:     BlockInterfaceType type;
        !            32:     int bus;
        !            33:     int unit;
        !            34:     int auto_del;               /* see blockdev_mark_auto_del() */
        !            35:     QemuOpts *opts;
        !            36:     char serial[BLOCK_SERIAL_STRLEN + 1];
        !            37:     QTAILQ_ENTRY(DriveInfo) next;
        !            38: } DriveInfo;
        !            39: 
        !            40: #define MAX_IDE_DEVS   2
        !            41: #define MAX_SCSI_DEVS  7
        !            42: 
        !            43: extern DriveInfo *drive_get(BlockInterfaceType type, int bus, int unit);
        !            44: extern int drive_get_max_bus(BlockInterfaceType type);
        !            45: extern void drive_uninit(DriveInfo *dinfo);
        !            46: extern DriveInfo *drive_get_by_blockdev(BlockDriverState *bs);
        !            47: 
        !            48: extern QemuOpts *drive_add(const char *file, const char *fmt, ...);
        !            49: extern DriveInfo *drive_init(QemuOpts *arg, int default_to_scsi,
        !            50:                              int *fatal_error);
        !            51: 
        !            52: /* device-hotplug */
        !            53: 
        !            54: DriveInfo *add_init_drive(const char *opts);
        !            55: 
        !            56: void do_commit(Monitor *mon, const QDict *qdict);
        !            57: int do_eject(Monitor *mon, const QDict *qdict, QObject **ret_data);
        !            58: int do_block_set_passwd(Monitor *mon, const QDict *qdict, QObject **ret_data);
        !            59: int do_change_block(Monitor *mon, const char *device,
        !            60:                     const char *filename, const char *fmt);
        !            61: 
        !            62: #endif

unix.superglobalmegacorp.com