vhost-scsi-common.h (1369B)
1/* 2 * vhost_scsi host device 3 * 4 * Copyright (c) 2016 Nutanix Inc. All rights reserved. 5 * 6 * Author: 7 * Felipe Franciosi <felipe@nutanix.com> 8 * 9 * This work is licensed under the terms of the GNU LGPL, version 2 or later. 10 * See the COPYING.LIB file in the top-level directory. 11 * 12 */ 13 14#ifndef VHOST_SCSI_COMMON_H 15#define VHOST_SCSI_COMMON_H 16 17#include "hw/virtio/virtio-scsi.h" 18#include "hw/virtio/vhost.h" 19#include "hw/fw-path-provider.h" 20#include "qom/object.h" 21 22#define TYPE_VHOST_SCSI_COMMON "vhost-scsi-common" 23OBJECT_DECLARE_SIMPLE_TYPE(VHostSCSICommon, VHOST_SCSI_COMMON) 24 25struct VHostSCSICommon { 26 VirtIOSCSICommon parent_obj; 27 28 Error *migration_blocker; 29 30 struct vhost_dev dev; 31 const int *feature_bits; 32 int32_t bootindex; 33 int channel; 34 int target; 35 int lun; 36 uint64_t host_features; 37 bool migratable; 38 39 struct vhost_inflight *inflight; 40}; 41 42int vhost_scsi_common_start(VHostSCSICommon *vsc); 43void vhost_scsi_common_stop(VHostSCSICommon *vsc); 44char *vhost_scsi_common_get_fw_dev_path(FWPathProvider *p, BusState *bus, 45 DeviceState *dev); 46void vhost_scsi_common_set_config(VirtIODevice *vdev, const uint8_t *config); 47uint64_t vhost_scsi_common_get_features(VirtIODevice *vdev, uint64_t features, 48 Error **errp); 49 50#endif /* VHOST_SCSI_COMMON_H */