mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-10-30 09:53:10 +00:00
conf: Add virDomainDeviceSetData
This is essentially a wrapper for easily setting the variable name in virDomainDeviceDef that matches its associated VIR_DOMAIN_DEVICE_TYPE. Reviewed-by: Andrea Bolognani <abologna@redhat.com> Signed-off-by: Cole Robinson <crobinso@redhat.com>
This commit is contained in:
parent
028f9a6886
commit
4a4c418110
@ -3671,6 +3671,99 @@ virDomainDeviceGetInfo(virDomainDeviceDefPtr device)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* virDomainDeviceSetData
|
||||||
|
* @device: virDomainDeviceDefPtr with ->type filled in
|
||||||
|
* @devicedata: *DefPtr data for a device. Ex: virDomainDiskDefPtr
|
||||||
|
*
|
||||||
|
* Set the data.X variable for the device->type value. Basically
|
||||||
|
* a mapping of virDomainDeviceType to the associated name in
|
||||||
|
* the virDomainDeviceDef union
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
virDomainDeviceSetData(virDomainDeviceDefPtr device,
|
||||||
|
void *devicedata)
|
||||||
|
{
|
||||||
|
switch ((virDomainDeviceType) device->type) {
|
||||||
|
case VIR_DOMAIN_DEVICE_DISK:
|
||||||
|
device->data.disk = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_NET:
|
||||||
|
device->data.net = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_SOUND:
|
||||||
|
device->data.sound = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_HOSTDEV:
|
||||||
|
device->data.hostdev = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_VIDEO:
|
||||||
|
device->data.video = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_CONTROLLER:
|
||||||
|
device->data.controller = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_GRAPHICS:
|
||||||
|
device->data.graphics = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_SMARTCARD:
|
||||||
|
device->data.smartcard = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_CHR:
|
||||||
|
device->data.chr = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_INPUT:
|
||||||
|
device->data.input = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_FS:
|
||||||
|
device->data.fs = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_WATCHDOG:
|
||||||
|
device->data.watchdog = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_MEMBALLOON:
|
||||||
|
device->data.memballoon = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_RNG:
|
||||||
|
device->data.rng = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_NVRAM:
|
||||||
|
device->data.nvram = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_HUB:
|
||||||
|
device->data.hub = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_SHMEM:
|
||||||
|
device->data.shmem = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_TPM:
|
||||||
|
device->data.tpm = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_PANIC:
|
||||||
|
device->data.panic = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_MEMORY:
|
||||||
|
device->data.memory = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_REDIRDEV:
|
||||||
|
device->data.redirdev = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_VSOCK:
|
||||||
|
device->data.vsock = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_IOMMU:
|
||||||
|
device->data.iommu = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_LEASE:
|
||||||
|
device->data.lease = devicedata;
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_DEVICE_NONE:
|
||||||
|
case VIR_DOMAIN_DEVICE_LAST:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
virDomainDefHasDeviceAddressIterator(virDomainDefPtr def ATTRIBUTE_UNUSED,
|
virDomainDefHasDeviceAddressIterator(virDomainDefPtr def ATTRIBUTE_UNUSED,
|
||||||
virDomainDeviceDefPtr dev ATTRIBUTE_UNUSED,
|
virDomainDeviceDefPtr dev ATTRIBUTE_UNUSED,
|
||||||
|
@ -2935,6 +2935,8 @@ virDomainDeviceDefPtr virDomainDeviceDefCopy(virDomainDeviceDefPtr src,
|
|||||||
virCapsPtr caps,
|
virCapsPtr caps,
|
||||||
virDomainXMLOptionPtr xmlopt);
|
virDomainXMLOptionPtr xmlopt);
|
||||||
virDomainDeviceInfoPtr virDomainDeviceGetInfo(virDomainDeviceDefPtr device);
|
virDomainDeviceInfoPtr virDomainDeviceGetInfo(virDomainDeviceDefPtr device);
|
||||||
|
void virDomainDeviceSetData(virDomainDeviceDefPtr device,
|
||||||
|
void *devicedata);
|
||||||
void virDomainTPMDefFree(virDomainTPMDefPtr def);
|
void virDomainTPMDefFree(virDomainTPMDefPtr def);
|
||||||
|
|
||||||
typedef int (*virDomainDeviceInfoCallback)(virDomainDefPtr def,
|
typedef int (*virDomainDeviceInfoCallback)(virDomainDefPtr def,
|
||||||
|
@ -307,6 +307,7 @@ virDomainDeviceDefParse;
|
|||||||
virDomainDeviceFindSCSIController;
|
virDomainDeviceFindSCSIController;
|
||||||
virDomainDeviceGetInfo;
|
virDomainDeviceGetInfo;
|
||||||
virDomainDeviceInfoIterate;
|
virDomainDeviceInfoIterate;
|
||||||
|
virDomainDeviceSetData;
|
||||||
virDomainDeviceTypeToString;
|
virDomainDeviceTypeToString;
|
||||||
virDomainDeviceValidateAliasForHotplug;
|
virDomainDeviceValidateAliasForHotplug;
|
||||||
virDomainDiskBusTypeToString;
|
virDomainDiskBusTypeToString;
|
||||||
|
Loading…
Reference in New Issue
Block a user