if (vendor) {
if (virStrToLong_ui(vendor, NULL, 0,
- &def->source.subsys.usb.vendor) < 0) {
+ &def->source.subsys.u.usb.vendor) < 0) {
virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR,
_("cannot parse vendor id %s"), vendor);
VIR_FREE(vendor);
if (product) {
if (virStrToLong_ui(product, NULL, 0,
- &def->source.subsys.usb.product) < 0) {
+ &def->source.subsys.u.usb.product) < 0) {
virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR,
_("cannot parse product %s"), product);
VIR_FREE(product);
bus = virXMLPropString(cur, "bus");
if (bus) {
if (virStrToLong_ui(bus, NULL, 0,
- &def->source.subsys.usb.bus) < 0) {
+ &def->source.subsys.u.usb.bus) < 0) {
virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR,
_("cannot parse bus %s"), bus);
VIR_FREE(bus);
device = virXMLPropString(cur, "device");
if (device) {
if (virStrToLong_ui(device, NULL, 0,
- &def->source.subsys.usb.device) < 0) {
+ &def->source.subsys.u.usb.device) < 0) {
virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR,
_("cannot parse device %s"),
device);
cur = cur->next;
}
- if (def->source.subsys.usb.vendor == 0 &&
- def->source.subsys.usb.product != 0) {
+ if (def->source.subsys.u.usb.vendor == 0 &&
+ def->source.subsys.u.usb.product != 0) {
virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR,
"%s", _("missing vendor"));
goto out;
}
- if (def->source.subsys.usb.vendor != 0 &&
- def->source.subsys.usb.product == 0) {
+ if (def->source.subsys.u.usb.vendor != 0 &&
+ def->source.subsys.u.usb.product == 0) {
virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR,
"%s", _("missing product"));
goto out;
virBufferVSprintf(buf, " <hostdev mode='%s' type='%s'>\n", mode, type);
virBufferAddLit(buf, " <source>\n");
- if (def->source.subsys.usb.vendor) {
+ if (def->source.subsys.u.usb.vendor) {
virBufferVSprintf(buf, " <vendor id='0x%.4x'/>\n",
- def->source.subsys.usb.vendor);
+ def->source.subsys.u.usb.vendor);
virBufferVSprintf(buf, " <product id='0x%.4x'/>\n",
- def->source.subsys.usb.product);
+ def->source.subsys.u.usb.product);
} else {
virBufferVSprintf(buf, " <address bus='%d' device='%d'/>\n",
- def->source.subsys.usb.bus,
- def->source.subsys.usb.device);
+ def->source.subsys.u.usb.bus,
+ def->source.subsys.u.usb.device);
}
virBufferAddLit(buf, " </source>\n");
if (hostdev->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS &&
hostdev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB) {
- if(hostdev->source.subsys.usb.vendor) {
+ if(hostdev->source.subsys.u.usb.vendor) {
ret = asprintf(&usbdev, "host:%.4x:%.4x",
- hostdev->source.subsys.usb.vendor,
- hostdev->source.subsys.usb.product);
+ hostdev->source.subsys.u.usb.vendor,
+ hostdev->source.subsys.u.usb.product);
} else {
ret = asprintf(&usbdev, "host:%.3d.%.3d",
- hostdev->source.subsys.usb.bus,
- hostdev->source.subsys.usb.device);
+ hostdev->source.subsys.u.usb.bus,
+ hostdev->source.subsys.u.usb.device);
}
if (ret < 0) {
usbdev = NULL;
return -1;
}
- if (dev->data.hostdev->source.subsys.usb.vendor) {
+ if (dev->data.hostdev->source.subsys.u.usb.vendor) {
ret = asprintf(&cmd, "usb_add host:%.4x:%.4x",
- dev->data.hostdev->source.subsys.usb.vendor,
- dev->data.hostdev->source.subsys.usb.product);
+ dev->data.hostdev->source.subsys.u.usb.vendor,
+ dev->data.hostdev->source.subsys.u.usb.product);
} else {
ret = asprintf(&cmd, "usb_add host:%.3d.%.3d",
- dev->data.hostdev->source.subsys.usb.bus,
- dev->data.hostdev->source.subsys.usb.device);
+ dev->data.hostdev->source.subsys.u.usb.bus,
+ dev->data.hostdev->source.subsys.u.usb.device);
}
if (ret == -1) {
qemudReportError(conn, NULL, NULL, VIR_ERR_NO_MEMORY, NULL);