mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
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,
|
int virDomainUpdateDeviceFlags(virDomainPtr domain,
|
||||||
const char *xml, unsigned int flags);
|
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
|
* NUMA support
|
||||||
*/
|
*/
|
||||||
|
@ -184,6 +184,8 @@ def enum(type, name, value):
|
|||||||
functions_failed = []
|
functions_failed = []
|
||||||
functions_skipped = [
|
functions_skipped = [
|
||||||
"virConnectListDomains",
|
"virConnectListDomains",
|
||||||
|
'virDomainBlockPull',
|
||||||
|
'virDomainGetBlockPullInfo',
|
||||||
]
|
]
|
||||||
|
|
||||||
skipped_modules = {
|
skipped_modules = {
|
||||||
@ -198,6 +200,7 @@ skipped_types = {
|
|||||||
'virConnectDomainEventIOErrorCallback': "No function types in python",
|
'virConnectDomainEventIOErrorCallback': "No function types in python",
|
||||||
'virConnectDomainEventGraphicsCallback': "No function types in python",
|
'virConnectDomainEventGraphicsCallback': "No function types in python",
|
||||||
'virEventAddHandleFunc': "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,
|
unsigned long flags,
|
||||||
int cancelled);
|
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:
|
* _virDriver:
|
||||||
*
|
*
|
||||||
@ -782,6 +800,10 @@ struct _virDriver {
|
|||||||
virDrvDomainMigrateFinish3 domainMigrateFinish3;
|
virDrvDomainMigrateFinish3 domainMigrateFinish3;
|
||||||
virDrvDomainMigrateConfirm3 domainMigrateConfirm3;
|
virDrvDomainMigrateConfirm3 domainMigrateConfirm3;
|
||||||
virDrvDomainSendKey domainSendKey;
|
virDrvDomainSendKey domainSendKey;
|
||||||
|
virDrvDomainBlockPull domainBlockPull;
|
||||||
|
virDrvDomainBlockPullAll domainBlockPullAll;
|
||||||
|
virDrvDomainBlockPullAbort domainBlockPullAbort;
|
||||||
|
virDrvDomainGetBlockPullInfo domainGetBlockPullInfo;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef int
|
typedef int
|
||||||
|
@ -452,6 +452,10 @@ LIBVIRT_0.9.2 {
|
|||||||
|
|
||||||
LIBVIRT_0.9.3 {
|
LIBVIRT_0.9.3 {
|
||||||
global:
|
global:
|
||||||
|
virDomainBlockPull;
|
||||||
|
virDomainBlockPullAbort;
|
||||||
|
virDomainBlockPullAll;
|
||||||
|
virDomainGetBlockPullInfo;
|
||||||
virDomainPinVcpuFlags;
|
virDomainPinVcpuFlags;
|
||||||
virDomainSendKey;
|
virDomainSendKey;
|
||||||
virNodeGetCPUStats;
|
virNodeGetCPUStats;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user