mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 03:12:22 +00:00
cpu: Add virCPUDataNewCopy
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
25890756ec
commit
a9da679bb4
@ -294,6 +294,27 @@ virCPUDataNew(virArch arch)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* virCPUDataNewCopy:
|
||||
*
|
||||
* Returns a copy of @data or NULL on error.
|
||||
*/
|
||||
virCPUData *
|
||||
virCPUDataNewCopy(virCPUData *data)
|
||||
{
|
||||
struct cpuArchDriver *driver;
|
||||
|
||||
VIR_DEBUG("data=%p", data);
|
||||
|
||||
if (!data)
|
||||
return NULL;
|
||||
|
||||
if ((driver = cpuGetSubDriver(data->arch)) && driver->dataCopyNew)
|
||||
return driver->dataCopyNew(data);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* virCPUDataFree:
|
||||
*
|
||||
|
@ -62,6 +62,9 @@ typedef int
|
||||
virCPUData **forbidden,
|
||||
virCPUData **vendor);
|
||||
|
||||
typedef virCPUData *
|
||||
(*cpuArchDataCopyNew)(virCPUData *data);
|
||||
|
||||
typedef void
|
||||
(*cpuArchDataFree) (virCPUData *data);
|
||||
|
||||
@ -134,6 +137,7 @@ struct cpuArchDriver {
|
||||
virCPUArchCompare compare;
|
||||
cpuArchDecode decode;
|
||||
cpuArchEncode encode;
|
||||
cpuArchDataCopyNew dataCopyNew;
|
||||
cpuArchDataFree dataFree;
|
||||
virCPUArchGetHost getHost;
|
||||
virCPUArchBaseline baseline;
|
||||
@ -188,6 +192,9 @@ cpuEncode (virArch arch,
|
||||
virCPUData *
|
||||
virCPUDataNew(virArch arch);
|
||||
|
||||
virCPUData *
|
||||
virCPUDataNewCopy(virCPUData *data);
|
||||
|
||||
void
|
||||
virCPUDataFree(virCPUData *data);
|
||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virCPUData, virCPUDataFree);
|
||||
|
@ -1464,6 +1464,7 @@ virCPUDataFormat;
|
||||
virCPUDataFree;
|
||||
virCPUDataIsIdentical;
|
||||
virCPUDataNew;
|
||||
virCPUDataNewCopy;
|
||||
virCPUDataParse;
|
||||
virCPUDataParseNode;
|
||||
virCPUExpandFeatures;
|
||||
|
Loading…
x
Reference in New Issue
Block a user