mirror of https://gitee.com/openkylin/libvirt.git
Add new API virDomainBlockPull* to headers
Set up the types for the block pull functions and insert them into the virDriver structure definition. Symbols are exported in this patch to prevent documentation compile failures. * include/libvirt/libvirt.h.in: new API * src/driver.h: add the new entry to the driver structure * python/generator.py: fix compiler errors, the actual python bindings are implemented later * src/libvirt_public.syms: export symbols Signed-off-by: Adam Litke <agl@us.ibm.com>
This commit is contained in:
parent
98bfdff12c
commit
7d56a16d03
|
@ -1324,6 +1324,45 @@ int virDomainDetachDeviceFlags(virDomainPtr domain,
|
|||
int virDomainUpdateDeviceFlags(virDomainPtr domain,
|
||||
const char *xml, unsigned int flags);
|
||||
|
||||
/*
|
||||
* BlockPull API
|
||||
*/
|
||||
|
||||
/* An iterator for initiating and monitoring block pull operations */
|
||||
typedef unsigned long long virDomainBlockPullCursor;
|
||||
|
||||
typedef struct _virDomainBlockPullInfo virDomainBlockPullInfo;
|
||||
struct _virDomainBlockPullInfo {
|
||||
/*
|
||||
* The following fields provide an indication of block pull progress. @cur
|
||||
* indicates the current position and will be between 0 and @end. @end is
|
||||
* the final cursor position for this operation and represents completion.
|
||||
* To approximate progress, divide @cur by @end.
|
||||
*/
|
||||
virDomainBlockPullCursor cur;
|
||||
virDomainBlockPullCursor end;
|
||||
};
|
||||
typedef virDomainBlockPullInfo *virDomainBlockPullInfoPtr;
|
||||
|
||||
int virDomainBlockPull(virDomainPtr dom,
|
||||
const char *path,
|
||||
virDomainBlockPullInfoPtr info,
|
||||
unsigned int flags);
|
||||
|
||||
int virDomainBlockPullAll(virDomainPtr dom,
|
||||
const char *path,
|
||||
unsigned int flags);
|
||||
|
||||
int virDomainBlockPullAbort(virDomainPtr dom,
|
||||
const char *path,
|
||||
unsigned int flags);
|
||||
|
||||
int virDomainGetBlockPullInfo(virDomainPtr dom,
|
||||
const char *path,
|
||||
virDomainBlockPullInfoPtr info,
|
||||
unsigned int flags);
|
||||
|
||||
|
||||
/*
|
||||
* NUMA support
|
||||
*/
|
||||
|
|
|
@ -184,6 +184,8 @@ def enum(type, name, value):
|
|||
functions_failed = []
|
||||
functions_skipped = [
|
||||
"virConnectListDomains",
|
||||
'virDomainBlockPull',
|
||||
'virDomainGetBlockPullInfo',
|
||||
]
|
||||
|
||||
skipped_modules = {
|
||||
|
@ -198,6 +200,7 @@ skipped_types = {
|
|||
'virConnectDomainEventIOErrorCallback': "No function types in python",
|
||||
'virConnectDomainEventGraphicsCallback': "No function types in python",
|
||||
'virEventAddHandleFunc': "No function types in python",
|
||||
'virDomainBlockPullInfoPtr': "Not implemented yet",
|
||||
}
|
||||
|
||||
#######################################################################
|
||||
|
|
22
src/driver.h
22
src/driver.h
|
@ -644,6 +644,24 @@ typedef int
|
|||
unsigned long flags,
|
||||
int cancelled);
|
||||
|
||||
typedef int
|
||||
(*virDrvDomainBlockPull)(virDomainPtr dom, const char *path,
|
||||
virDomainBlockPullInfoPtr info,
|
||||
unsigned int flags);
|
||||
|
||||
typedef int
|
||||
(*virDrvDomainBlockPullAll)(virDomainPtr dom, const char *path,
|
||||
unsigned int flags);
|
||||
|
||||
typedef int
|
||||
(*virDrvDomainBlockPullAbort)(virDomainPtr dom, const char *path,
|
||||
unsigned int flags);
|
||||
|
||||
typedef int
|
||||
(*virDrvDomainGetBlockPullInfo)(virDomainPtr dom, const char *path,
|
||||
virDomainBlockPullInfoPtr info,
|
||||
unsigned int flags);
|
||||
|
||||
/**
|
||||
* _virDriver:
|
||||
*
|
||||
|
@ -782,6 +800,10 @@ struct _virDriver {
|
|||
virDrvDomainMigrateFinish3 domainMigrateFinish3;
|
||||
virDrvDomainMigrateConfirm3 domainMigrateConfirm3;
|
||||
virDrvDomainSendKey domainSendKey;
|
||||
virDrvDomainBlockPull domainBlockPull;
|
||||
virDrvDomainBlockPullAll domainBlockPullAll;
|
||||
virDrvDomainBlockPullAbort domainBlockPullAbort;
|
||||
virDrvDomainGetBlockPullInfo domainGetBlockPullInfo;
|
||||
};
|
||||
|
||||
typedef int
|
||||
|
|
|
@ -452,6 +452,10 @@ LIBVIRT_0.9.2 {
|
|||
|
||||
LIBVIRT_0.9.3 {
|
||||
global:
|
||||
virDomainBlockPull;
|
||||
virDomainBlockPullAbort;
|
||||
virDomainBlockPullAll;
|
||||
virDomainGetBlockPullInfo;
|
||||
virDomainPinVcpuFlags;
|
||||
virDomainSendKey;
|
||||
virNodeGetCPUStats;
|
||||
|
|
Loading…
Reference in New Issue