mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-31 20:44:16 +00:00 
			
		
		
		
	 8063396bf3
			
		
	
	
		8063396bf3
		
	
	
	
	
		
			
			This converts existing DECLARE_INSTANCE_CHECKER usage to OBJECT_DECLARE_SIMPLE_TYPE when possible. $ ./scripts/codeconverter/converter.py -i \ --pattern=AddObjectDeclareSimpleType $(git grep -l '' -- '*.[ch]') Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Acked-by: Paul Durrant <paul@xen.org> Message-Id: <20200916182519.415636-6-ehabkost@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
		
			
				
	
	
		
			90 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2018  Citrix Systems Inc.
 | |
|  *
 | |
|  * This work is licensed under the terms of the GNU GPL, version 2 or later.
 | |
|  * See the COPYING file in the top-level directory.
 | |
|  */
 | |
| 
 | |
| #ifndef HW_XEN_BLOCK_H
 | |
| #define HW_XEN_BLOCK_H
 | |
| 
 | |
| #include "hw/xen/xen-bus.h"
 | |
| #include "hw/block/block.h"
 | |
| #include "hw/block/dataplane/xen-block.h"
 | |
| #include "sysemu/iothread.h"
 | |
| #include "qom/object.h"
 | |
| 
 | |
| typedef enum XenBlockVdevType {
 | |
|     XEN_BLOCK_VDEV_TYPE_INVALID,
 | |
|     XEN_BLOCK_VDEV_TYPE_DP,
 | |
|     XEN_BLOCK_VDEV_TYPE_XVD,
 | |
|     XEN_BLOCK_VDEV_TYPE_HD,
 | |
|     XEN_BLOCK_VDEV_TYPE_SD,
 | |
|     XEN_BLOCK_VDEV_TYPE__MAX
 | |
| } XenBlockVdevType;
 | |
| 
 | |
| typedef struct XenBlockVdev {
 | |
|     XenBlockVdevType type;
 | |
|     unsigned long disk;
 | |
|     unsigned long partition;
 | |
|     unsigned long number;
 | |
| } XenBlockVdev;
 | |
| 
 | |
| 
 | |
| typedef struct XenBlockProperties {
 | |
|     XenBlockVdev vdev;
 | |
|     BlockConf conf;
 | |
|     unsigned int max_ring_page_order;
 | |
|     IOThread *iothread;
 | |
| } XenBlockProperties;
 | |
| 
 | |
| typedef struct XenBlockDrive {
 | |
|     char *id;
 | |
|     char *node_name;
 | |
| } XenBlockDrive;
 | |
| 
 | |
| typedef struct XenBlockIOThread {
 | |
|     char *id;
 | |
| } XenBlockIOThread;
 | |
| 
 | |
| struct XenBlockDevice {
 | |
|     XenDevice xendev;
 | |
|     XenBlockProperties props;
 | |
|     const char *device_type;
 | |
|     unsigned int info;
 | |
|     XenBlockDataPlane *dataplane;
 | |
|     XenBlockDrive *drive;
 | |
|     XenBlockIOThread *iothread;
 | |
| };
 | |
| typedef struct XenBlockDevice XenBlockDevice;
 | |
| 
 | |
| typedef void (*XenBlockDeviceRealize)(XenBlockDevice *blockdev, Error **errp);
 | |
| typedef void (*XenBlockDeviceUnrealize)(XenBlockDevice *blockdev);
 | |
| 
 | |
| struct XenBlockDeviceClass {
 | |
|     /*< private >*/
 | |
|     XenDeviceClass parent_class;
 | |
|     /*< public >*/
 | |
|     XenBlockDeviceRealize realize;
 | |
|     XenBlockDeviceUnrealize unrealize;
 | |
| };
 | |
| 
 | |
| #define TYPE_XEN_BLOCK_DEVICE  "xen-block"
 | |
| OBJECT_DECLARE_TYPE(XenBlockDevice, XenBlockDeviceClass, XEN_BLOCK_DEVICE)
 | |
| 
 | |
| struct XenDiskDevice {
 | |
|     XenBlockDevice blockdev;
 | |
| };
 | |
| 
 | |
| #define TYPE_XEN_DISK_DEVICE  "xen-disk"
 | |
| OBJECT_DECLARE_SIMPLE_TYPE(XenDiskDevice, XEN_DISK_DEVICE)
 | |
| 
 | |
| struct XenCDRomDevice {
 | |
|     XenBlockDevice blockdev;
 | |
| };
 | |
| 
 | |
| #define TYPE_XEN_CDROM_DEVICE  "xen-cdrom"
 | |
| OBJECT_DECLARE_SIMPLE_TYPE(XenCDRomDevice, XEN_CDROM_DEVICE)
 | |
| 
 | |
| #endif /* HW_XEN_BLOCK_H */
 |