int
virDomainDriverNodeDeviceGetPCIInfo(virNodeDeviceDefPtr def,
- unsigned *domain,
- unsigned *bus,
- unsigned *slot,
- unsigned *function)
+ virPCIDeviceAddressPtr devAddr)
{
virNodeDevCapsDefPtr cap;
cap = def->caps;
while (cap) {
if (cap->data.type == VIR_NODE_DEV_CAP_PCI_DEV) {
- *domain = cap->data.pci_dev.domain;
- *bus = cap->data.pci_dev.bus;
- *slot = cap->data.pci_dev.slot;
- *function = cap->data.pci_dev.function;
+ devAddr->domain = cap->data.pci_dev.domain;
+ devAddr->bus = cap->data.pci_dev.bus;
+ devAddr->slot = cap->data.pci_dev.slot;
+ devAddr->function = cap->data.pci_dev.function;
break;
}
int nparams);
int virDomainDriverNodeDeviceGetPCIInfo(virNodeDeviceDefPtr def,
- unsigned *domain,
- unsigned *bus,
- unsigned *slot,
- unsigned *function);
+ virPCIDeviceAddressPtr devAddr);
unsigned int flags)
{
virPCIDevicePtr pci = NULL;
- unsigned domain = 0, bus = 0, slot = 0, function = 0;
+ virPCIDeviceAddress devAddr;
int ret = -1;
virNodeDeviceDefPtr def = NULL;
char *xml = NULL;
if (virNodeDeviceDetachFlagsEnsureACL(dev->conn, def) < 0)
goto cleanup;
- if (virDomainDriverNodeDeviceGetPCIInfo(def, &domain, &bus, &slot, &function) < 0)
+ if (virDomainDriverNodeDeviceGetPCIInfo(def, &devAddr) < 0)
goto cleanup;
- pci = virPCIDeviceNew(domain, bus, slot, function);
+ pci = virPCIDeviceNew(devAddr.domain, devAddr.bus, devAddr.slot, devAddr.function);
if (!pci)
goto cleanup;
libxlNodeDeviceReAttach(virNodeDevicePtr dev)
{
virPCIDevicePtr pci = NULL;
- unsigned domain = 0, bus = 0, slot = 0, function = 0;
+ virPCIDeviceAddress devAddr;
int ret = -1;
virNodeDeviceDefPtr def = NULL;
char *xml = NULL;
if (virNodeDeviceReAttachEnsureACL(dev->conn, def) < 0)
goto cleanup;
- if (virDomainDriverNodeDeviceGetPCIInfo(def, &domain, &bus, &slot, &function) < 0)
+ if (virDomainDriverNodeDeviceGetPCIInfo(def, &devAddr) < 0)
goto cleanup;
- pci = virPCIDeviceNew(domain, bus, slot, function);
+ pci = virPCIDeviceNew(devAddr.domain, devAddr.bus, devAddr.slot, devAddr.function);
if (!pci)
goto cleanup;
libxlNodeDeviceReset(virNodeDevicePtr dev)
{
virPCIDevicePtr pci = NULL;
- unsigned domain = 0, bus = 0, slot = 0, function = 0;
+ virPCIDeviceAddress devAddr;
int ret = -1;
virNodeDeviceDefPtr def = NULL;
char *xml = NULL;
if (virNodeDeviceResetEnsureACL(dev->conn, def) < 0)
goto cleanup;
- if (virDomainDriverNodeDeviceGetPCIInfo(def, &domain, &bus, &slot, &function) < 0)
+ if (virDomainDriverNodeDeviceGetPCIInfo(def, &devAddr) < 0)
goto cleanup;
- pci = virPCIDeviceNew(domain, bus, slot, function);
+ pci = virPCIDeviceNew(devAddr.domain, devAddr.bus, devAddr.slot, devAddr.function);
if (!pci)
goto cleanup;
{
virQEMUDriverPtr driver = dev->conn->privateData;
virPCIDevicePtr pci = NULL;
- unsigned domain = 0, bus = 0, slot = 0, function = 0;
+ virPCIDeviceAddress devAddr;
int ret = -1;
virNodeDeviceDefPtr def = NULL;
g_autofree char *xml = NULL;
if (virNodeDeviceDetachFlagsEnsureACL(dev->conn, def) < 0)
goto cleanup;
- if (virDomainDriverNodeDeviceGetPCIInfo(def, &domain, &bus, &slot, &function) < 0)
+ if (virDomainDriverNodeDeviceGetPCIInfo(def, &devAddr) < 0)
goto cleanup;
- pci = virPCIDeviceNew(domain, bus, slot, function);
+ pci = virPCIDeviceNew(devAddr.domain, devAddr.bus, devAddr.slot, devAddr.function);
if (!pci)
goto cleanup;
{
virQEMUDriverPtr driver = dev->conn->privateData;
virPCIDevicePtr pci = NULL;
- unsigned domain = 0, bus = 0, slot = 0, function = 0;
+ virPCIDeviceAddress devAddr;
int ret = -1;
virNodeDeviceDefPtr def = NULL;
g_autofree char *xml = NULL;
if (virNodeDeviceReAttachEnsureACL(dev->conn, def) < 0)
goto cleanup;
- if (virDomainDriverNodeDeviceGetPCIInfo(def, &domain, &bus, &slot, &function) < 0)
+ if (virDomainDriverNodeDeviceGetPCIInfo(def, &devAddr) < 0)
goto cleanup;
- pci = virPCIDeviceNew(domain, bus, slot, function);
+ pci = virPCIDeviceNew(devAddr.domain, devAddr.bus, devAddr.slot, devAddr.function);
if (!pci)
goto cleanup;
{
virQEMUDriverPtr driver = dev->conn->privateData;
virPCIDevicePtr pci;
- unsigned domain = 0, bus = 0, slot = 0, function = 0;
+ virPCIDeviceAddress devAddr;
int ret = -1;
virNodeDeviceDefPtr def = NULL;
g_autofree char *xml = NULL;
if (virNodeDeviceResetEnsureACL(dev->conn, def) < 0)
goto cleanup;
- if (virDomainDriverNodeDeviceGetPCIInfo(def, &domain, &bus, &slot, &function) < 0)
+ if (virDomainDriverNodeDeviceGetPCIInfo(def, &devAddr) < 0)
goto cleanup;
- pci = virPCIDeviceNew(domain, bus, slot, function);
+ pci = virPCIDeviceNew(devAddr.domain, devAddr.bus, devAddr.slot, devAddr.function);
if (!pci)
goto cleanup;