pci: virPCIDeviceListAddCopy API

Make a copy of the device and add the copy to the
list. (virPCIDeviceListAdd() adds the original object to the list
instead).
This commit is contained in:
Laine Stump 2013-06-24 21:27:52 -04:00
parent 6e8003ad30
commit 0e89a543be
3 changed files with 19 additions and 0 deletions

View File

@ -1709,6 +1709,7 @@ virPCIDeviceGetUnbindFromStub;
virPCIDeviceGetUsedBy; virPCIDeviceGetUsedBy;
virPCIDeviceIsAssignable; virPCIDeviceIsAssignable;
virPCIDeviceListAdd; virPCIDeviceListAdd;
virPCIDeviceListAddCopy;
virPCIDeviceListCount; virPCIDeviceListCount;
virPCIDeviceListDel; virPCIDeviceListDel;
virPCIDeviceListFind; virPCIDeviceListFind;

View File

@ -1705,6 +1705,23 @@ virPCIDeviceListAdd(virPCIDeviceListPtr list,
return 0; return 0;
} }
/* virPCIDeviceListAddCopy - add a *copy* of the device to this list */
int
virPCIDeviceListAddCopy(virPCIDeviceListPtr list, virPCIDevicePtr dev)
{
virPCIDevicePtr copy = virPCIDeviceCopy(dev);
if (!copy)
return -1;
if (virPCIDeviceListAdd(list, copy) < 0) {
virPCIDeviceFree(copy);
return -1;
}
return 0;
}
virPCIDevicePtr virPCIDevicePtr
virPCIDeviceListGet(virPCIDeviceListPtr list, virPCIDeviceListGet(virPCIDeviceListPtr list,
int idx) int idx)

View File

@ -83,6 +83,7 @@ void virPCIDeviceReattachInit(virPCIDevice *dev);
virPCIDeviceListPtr virPCIDeviceListNew(void); virPCIDeviceListPtr virPCIDeviceListNew(void);
int virPCIDeviceListAdd(virPCIDeviceListPtr list, int virPCIDeviceListAdd(virPCIDeviceListPtr list,
virPCIDevicePtr dev); virPCIDevicePtr dev);
int virPCIDeviceListAddCopy(virPCIDeviceListPtr list, virPCIDevicePtr dev);
virPCIDevicePtr virPCIDeviceListGet(virPCIDeviceListPtr list, virPCIDevicePtr virPCIDeviceListGet(virPCIDeviceListPtr list,
int idx); int idx);
int virPCIDeviceListCount(virPCIDeviceListPtr list); int virPCIDeviceListCount(virPCIDeviceListPtr list);