With the large number of APIs in libvirt the driver.h file,
it is easy to get lost looking for things. Split each driver
into a separate header file based on the functional driver
groups.
Signed-off-by: Daniel P. Berrange <berrange(a)redhat.com>
---
src/driver-hypervisor.h | 1396 ++++++++++++++++++++++++++++++
src/driver-interface.h | 131 +++
src/driver-network.h | 166 ++++
src/driver-nodedev.h | 112 +++
src/driver-nwfilter.h | 94 ++
src/driver-secret.h | 114 +++
src/driver-state.h | 58 ++
src/driver-storage.h | 265 ++++++
src/driver-stream.h | 72 ++
src/driver.h | 2170 +----------------------------------------------
10 files changed, 2423 insertions(+), 2155 deletions(-)
create mode 100644 src/driver-hypervisor.h
create mode 100644 src/driver-interface.h
create mode 100644 src/driver-network.h
create mode 100644 src/driver-nodedev.h
create mode 100644 src/driver-nwfilter.h
create mode 100644 src/driver-secret.h
create mode 100644 src/driver-state.h
create mode 100644 src/driver-storage.h
create mode 100644 src/driver-stream.h
diff --git a/src/driver-hypervisor.h b/src/driver-hypervisor.h
new file mode 100644
index 0000000..ad66629
--- /dev/null
+++ b/src/driver-hypervisor.h
@@ -0,0 +1,1396 @@
+/*
+ * driver-hypervisor.h: entry points for hypervisor drivers
+ *
+ * Copyright (C) 2006-2014 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <
http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __VIR_DRIVER_HYPERVISOR_H__
+# define __VIR_DRIVER_HYPERVISOR_H__
+
+# ifndef __VIR_DRIVER_H_INCLUDES___
+# error "Don't include this file directly, only use driver.h"
+# endif
+
+typedef virDrvOpenStatus
+(*virDrvConnectOpen)(virConnectPtr conn,
+ virConnectAuthPtr auth,
+ unsigned int flags);
+
+typedef int
+(*virDrvConnectClose)(virConnectPtr conn);
+
+
+typedef int
+(*virDrvConnectSupportsFeature)(virConnectPtr conn,
+ int feature);
+
+typedef const char *
+(*virDrvConnectGetType)(virConnectPtr conn);
+
+typedef int
+(*virDrvConnectGetVersion)(virConnectPtr conn,
+ unsigned long *hvVer);
+
+typedef int
+(*virDrvConnectGetLibVersion)(virConnectPtr conn,
+ unsigned long *libVer);
+
+typedef char *
+(*virDrvConnectGetHostname)(virConnectPtr conn);
+
+typedef char *
+(*virDrvConnectGetURI)(virConnectPtr conn);
+
+typedef char *
+(*virDrvConnectGetSysinfo)(virConnectPtr conn,
+ unsigned int flags);
+
+typedef int
+(*virDrvConnectGetMaxVcpus)(virConnectPtr conn,
+ const char *type);
+
+typedef int
+(*virDrvNodeGetInfo)(virConnectPtr conn,
+ virNodeInfoPtr info);
+
+typedef char *
+(*virDrvConnectGetCapabilities)(virConnectPtr conn);
+
+typedef char *
+(*virDrvConnectGetDomainCapabilities)(virConnectPtr conn,
+ const char *emulatorbin,
+ const char *arch,
+ const char *machine,
+ const char *virttype,
+ unsigned int flags);
+
+typedef int
+(*virDrvConnectListDomains)(virConnectPtr conn,
+ int *ids,
+ int maxids);
+
+typedef int
+(*virDrvConnectNumOfDomains)(virConnectPtr conn);
+
+typedef virDomainPtr
+(*virDrvDomainCreateXML)(virConnectPtr conn,
+ const char *xmlDesc,
+ unsigned int flags);
+typedef virDomainPtr
+(*virDrvDomainCreateXMLWithFiles)(virConnectPtr conn,
+ const char *xmlDesc,
+ unsigned int nfiles,
+ int *files,
+ unsigned int flags);
+
+typedef virDomainPtr
+(*virDrvDomainLookupByID)(virConnectPtr conn,
+ int id);
+
+typedef virDomainPtr
+(*virDrvDomainLookupByUUID)(virConnectPtr conn,
+ const unsigned char *uuid);
+
+typedef virDomainPtr
+(*virDrvDomainLookupByName)(virConnectPtr conn,
+ const char *name);
+
+typedef int
+(*virDrvDomainSuspend)(virDomainPtr domain);
+
+typedef int
+(*virDrvDomainResume)(virDomainPtr domain);
+
+typedef int
+ (*virDrvDomainPMSuspendForDuration)(virDomainPtr,
+ unsigned int target,
+ unsigned long long duration,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainPMWakeup)(virDomainPtr domain,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainShutdown)(virDomainPtr domain);
+
+typedef int
+(*virDrvDomainReboot)(virDomainPtr domain,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainReset)(virDomainPtr domain,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainDestroy)(virDomainPtr domain);
+
+typedef int
+(*virDrvDomainDestroyFlags)(virDomainPtr domain,
+ unsigned int flags);
+
+typedef char *
+(*virDrvDomainGetOSType)(virDomainPtr domain);
+
+typedef char *
+(*virDrvDomainGetHostname)(virDomainPtr domain,
+ unsigned int flags);
+
+typedef unsigned long long
+(*virDrvDomainGetMaxMemory)(virDomainPtr domain);
+
+typedef int
+(*virDrvDomainSetMaxMemory)(virDomainPtr domain,
+ unsigned long memory);
+
+typedef int
+(*virDrvDomainSetMemory)(virDomainPtr domain,
+ unsigned long memory);
+
+typedef int
+(*virDrvDomainSetMemoryFlags)(virDomainPtr domain,
+ unsigned long memory,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainSetMemoryStatsPeriod)(virDomainPtr domain,
+ int period,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainSetMemoryParameters)(virDomainPtr domain,
+ virTypedParameterPtr params,
+ int nparams,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainGetMemoryParameters)(virDomainPtr domain,
+ virTypedParameterPtr params,
+ int *nparams,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainSetNumaParameters)(virDomainPtr domain,
+ virTypedParameterPtr params,
+ int nparams,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainGetNumaParameters)(virDomainPtr domain,
+ virTypedParameterPtr params,
+ int *nparams,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainSetBlkioParameters)(virDomainPtr domain,
+ virTypedParameterPtr params,
+ int nparams,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainGetBlkioParameters)(virDomainPtr domain,
+ virTypedParameterPtr params,
+ int *nparams,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainGetInfo)(virDomainPtr domain,
+ virDomainInfoPtr info);
+
+typedef int
+(*virDrvDomainGetState)(virDomainPtr domain,
+ int *state,
+ int *reason,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainGetControlInfo)(virDomainPtr domain,
+ virDomainControlInfoPtr info,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainSave)(virDomainPtr domain,
+ const char *to);
+
+typedef int
+(*virDrvDomainSaveFlags)(virDomainPtr domain,
+ const char *to,
+ const char *dxml,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainRestore)(virConnectPtr conn,
+ const char *from);
+
+typedef int
+(*virDrvDomainRestoreFlags)(virConnectPtr conn,
+ const char *from,
+ const char *dxml,
+ unsigned int flags);
+
+typedef char *
+(*virDrvDomainSaveImageGetXMLDesc)(virConnectPtr conn,
+ const char *file,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainSaveImageDefineXML)(virConnectPtr conn,
+ const char *file,
+ const char *dxml,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainCoreDump)(virDomainPtr domain,
+ const char *to,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainCoreDumpWithFormat)(virDomainPtr domain,
+ const char *to,
+ unsigned int dumpformat,
+ unsigned int flags);
+
+typedef char *
+(*virDrvDomainScreenshot)(virDomainPtr domain,
+ virStreamPtr stream,
+ unsigned int screen,
+ unsigned int flags);
+
+typedef char *
+(*virDrvDomainGetXMLDesc)(virDomainPtr dom,
+ unsigned int flags);
+
+typedef char *
+(*virDrvConnectDomainXMLFromNative)(virConnectPtr conn,
+ const char *nativeFormat,
+ const char *nativeConfig,
+ unsigned int flags);
+
+typedef char *
+(*virDrvConnectDomainXMLToNative)(virConnectPtr conn,
+ const char *nativeFormat,
+ const char *domainXml,
+ unsigned int flags);
+
+typedef int
+(*virDrvConnectListDefinedDomains)(virConnectPtr conn,
+ char **const names,
+ int maxnames);
+
+typedef int
+(*virDrvConnectListAllDomains)(virConnectPtr conn,
+ virDomainPtr **domains,
+ unsigned int flags);
+
+typedef int
+(*virDrvConnectNumOfDefinedDomains)(virConnectPtr conn);
+
+typedef int
+(*virDrvDomainCreate)(virDomainPtr dom);
+
+typedef int
+(*virDrvDomainCreateWithFlags)(virDomainPtr dom,
+ unsigned int flags);
+typedef int
+(*virDrvDomainCreateWithFiles)(virDomainPtr dom,
+ unsigned int nfiles,
+ int *files,
+ unsigned int flags);
+
+typedef virDomainPtr
+(*virDrvDomainDefineXML)(virConnectPtr conn,
+ const char *xml);
+
+typedef int
+(*virDrvDomainUndefine)(virDomainPtr dom);
+
+typedef int
+(*virDrvDomainUndefineFlags)(virDomainPtr dom,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainSetVcpus)(virDomainPtr domain,
+ unsigned int nvcpus);
+
+typedef int
+(*virDrvDomainSetVcpusFlags)(virDomainPtr domain,
+ unsigned int nvcpus,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainGetVcpusFlags)(virDomainPtr domain,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainPinVcpu)(virDomainPtr domain,
+ unsigned int vcpu,
+ unsigned char *cpumap,
+ int maplen);
+
+typedef int
+(*virDrvDomainPinVcpuFlags)(virDomainPtr domain,
+ unsigned int vcpu,
+ unsigned char *cpumap,
+ int maplen,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainGetVcpuPinInfo)(virDomainPtr domain,
+ int ncpumaps,
+ unsigned char *cpumaps,
+ int maplen,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainPinEmulator)(virDomainPtr domain,
+ unsigned char *cpumap,
+ int maplen,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainGetEmulatorPinInfo)(virDomainPtr domain,
+ unsigned char *cpumaps,
+ int maplen,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainGetVcpus)(virDomainPtr domain,
+ virVcpuInfoPtr info,
+ int maxinfo,
+ unsigned char *cpumaps,
+ int maplen);
+
+typedef int
+(*virDrvDomainGetMaxVcpus)(virDomainPtr domain);
+
+typedef int
+(*virDrvDomainGetSecurityLabel)(virDomainPtr domain,
+ virSecurityLabelPtr seclabel);
+
+typedef int
+(*virDrvDomainGetSecurityLabelList)(virDomainPtr domain,
+ virSecurityLabelPtr* seclabels);
+
+typedef int
+(*virDrvNodeGetSecurityModel)(virConnectPtr conn,
+ virSecurityModelPtr secmodel);
+
+typedef int
+(*virDrvDomainAttachDevice)(virDomainPtr domain,
+ const char *xml);
+
+typedef int
+(*virDrvDomainAttachDeviceFlags)(virDomainPtr domain,
+ const char *xml,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainDetachDevice)(virDomainPtr domain,
+ const char *xml);
+
+typedef int
+(*virDrvDomainDetachDeviceFlags)(virDomainPtr domain,
+ const char *xml,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainUpdateDeviceFlags)(virDomainPtr domain,
+ const char *xml,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainGetAutostart)(virDomainPtr domain,
+ int *autostart);
+
+typedef int
+(*virDrvDomainSetAutostart)(virDomainPtr domain,
+ int autostart);
+
+typedef char *
+(*virDrvDomainGetSchedulerType)(virDomainPtr domain,
+ int *nparams);
+
+typedef int
+(*virDrvDomainGetSchedulerParameters)(virDomainPtr domain,
+ virTypedParameterPtr params,
+ int *nparams);
+
+typedef int
+(*virDrvDomainGetSchedulerParametersFlags)(virDomainPtr domain,
+ virTypedParameterPtr params,
+ int *nparams,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainSetSchedulerParameters)(virDomainPtr domain,
+ virTypedParameterPtr params,
+ int nparams);
+
+typedef int
+(*virDrvDomainSetSchedulerParametersFlags)(virDomainPtr domain,
+ virTypedParameterPtr params,
+ int nparams,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainBlockStats)(virDomainPtr domain,
+ const char *path,
+ virDomainBlockStatsPtr stats);
+
+typedef int
+(*virDrvDomainBlockStatsFlags)(virDomainPtr domain,
+ const char *path,
+ virTypedParameterPtr params,
+ int *nparams,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainInterfaceStats)(virDomainPtr domain,
+ const char *path,
+ virDomainInterfaceStatsPtr stats);
+
+typedef int
+(*virDrvDomainSetInterfaceParameters)(virDomainPtr dom,
+ const char *device,
+ virTypedParameterPtr params,
+ int nparams,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainGetInterfaceParameters)(virDomainPtr dom,
+ const char *device,
+ virTypedParameterPtr params,
+ int *nparams,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainMemoryStats)(virDomainPtr domain,
+ virDomainMemoryStatPtr stats,
+ unsigned int nr_stats,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainBlockPeek)(virDomainPtr domain,
+ const char *path,
+ unsigned long long offset,
+ size_t size,
+ void *buffer,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainBlockResize)(virDomainPtr domain,
+ const char *path,
+ unsigned long long size,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainMemoryPeek)(virDomainPtr domain,
+ unsigned long long start,
+ size_t size,
+ void *buffer,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainGetBlockInfo)(virDomainPtr domain,
+ const char *path,
+ virDomainBlockInfoPtr info,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainMigratePrepare)(virConnectPtr dconn,
+ char **cookie,
+ int *cookielen,
+ const char *uri_in,
+ char **uri_out,
+ unsigned long flags,
+ const char *dname,
+ unsigned long resource);
+
+typedef int
+(*virDrvDomainMigratePerform)(virDomainPtr domain,
+ const char *cookie,
+ int cookielen,
+ const char *uri,
+ unsigned long flags,
+ const char *dname,
+ unsigned long resource);
+
+typedef virDomainPtr
+(*virDrvDomainMigrateFinish)(virConnectPtr dconn,
+ const char *dname,
+ const char *cookie,
+ int cookielen,
+ const char *uri,
+ unsigned long flags);
+
+typedef int
+(*virDrvNodeGetCPUStats)(virConnectPtr conn,
+ int cpuNum,
+ virNodeCPUStatsPtr params,
+ int *nparams,
+ unsigned int flags);
+
+typedef int
+(*virDrvNodeGetMemoryStats)(virConnectPtr conn,
+ int cellNum,
+ virNodeMemoryStatsPtr params,
+ int *nparams,
+ unsigned int flags);
+
+typedef int
+(*virDrvNodeGetCellsFreeMemory)(virConnectPtr conn,
+ unsigned long long *freeMems,
+ int startCell,
+ int maxCells);
+
+typedef unsigned long long
+(*virDrvNodeGetFreeMemory)(virConnectPtr conn);
+
+typedef int
+(*virDrvConnectDomainEventRegister)(virConnectPtr conn,
+ virConnectDomainEventCallback cb,
+ void *opaque,
+ virFreeCallback freecb);
+
+typedef int
+(*virDrvConnectDomainEventDeregister)(virConnectPtr conn,
+ virConnectDomainEventCallback cb);
+
+typedef int
+(*virDrvDomainMigratePrepare2)(virConnectPtr dconn,
+ char **cookie,
+ int *cookielen,
+ const char *uri_in,
+ char **uri_out,
+ unsigned long flags,
+ const char *dname,
+ unsigned long resource,
+ const char *dom_xml);
+
+typedef virDomainPtr
+(*virDrvDomainMigrateFinish2)(virConnectPtr dconn,
+ const char *dname,
+ const char *cookie,
+ int cookielen,
+ const char *uri,
+ unsigned long flags,
+ int retcode);
+
+typedef int
+(*virDrvNodeDeviceDettach)(virNodeDevicePtr dev);
+
+typedef int
+(*virDrvNodeDeviceDetachFlags)(virNodeDevicePtr dev,
+ const char *driverName,
+ unsigned int flags);
+
+typedef int
+(*virDrvNodeDeviceReAttach)(virNodeDevicePtr dev);
+
+typedef int
+(*virDrvNodeDeviceReset)(virNodeDevicePtr dev);
+
+typedef int
+(*virDrvDomainMigratePrepareTunnel)(virConnectPtr dconn,
+ virStreamPtr st,
+ unsigned long flags,
+ const char *dname,
+ unsigned long resource,
+ const char *dom_xml);
+
+typedef int
+(*virDrvConnectIsEncrypted)(virConnectPtr conn);
+
+typedef int
+(*virDrvConnectIsSecure)(virConnectPtr conn);
+
+typedef int
+(*virDrvConnectIsAlive)(virConnectPtr conn);
+
+typedef int
+(*virDrvDomainIsActive)(virDomainPtr dom);
+
+typedef int
+(*virDrvDomainIsPersistent)(virDomainPtr dom);
+
+typedef int
+(*virDrvDomainIsUpdated)(virDomainPtr dom);
+
+typedef int
+(*virDrvConnectCompareCPU)(virConnectPtr conn,
+ const char *cpu,
+ unsigned int flags);
+
+typedef char *
+(*virDrvConnectBaselineCPU)(virConnectPtr conn,
+ const char **xmlCPUs,
+ unsigned int ncpus,
+ unsigned int flags);
+
+typedef int
+(*virDrvConnectGetCPUModelNames)(virConnectPtr conn,
+ const char *args,
+ char ***models,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainGetJobInfo)(virDomainPtr domain,
+ virDomainJobInfoPtr info);
+
+typedef int
+(*virDrvDomainGetJobStats)(virDomainPtr domain,
+ int *type,
+ virTypedParameterPtr *params,
+ int *nparams,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainAbortJob)(virDomainPtr domain);
+
+typedef int
+(*virDrvDomainMigrateSetMaxDowntime)(virDomainPtr domain,
+ unsigned long long downtime,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainMigrateGetCompressionCache)(virDomainPtr domain,
+ unsigned long long *cacheSize,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainMigrateSetCompressionCache)(virDomainPtr domain,
+ unsigned long long cacheSize,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainMigrateSetMaxSpeed)(virDomainPtr domain,
+ unsigned long bandwidth,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainMigrateGetMaxSpeed)(virDomainPtr domain,
+ unsigned long *bandwidth,
+ unsigned int flags);
+
+typedef int
+(*virDrvConnectDomainEventRegisterAny)(virConnectPtr conn,
+ virDomainPtr dom,
+ int eventID,
+ virConnectDomainEventGenericCallback cb,
+ void *opaque,
+ virFreeCallback freecb);
+
+typedef int
+(*virDrvConnectDomainEventDeregisterAny)(virConnectPtr conn,
+ int callbackID);
+
+typedef int
+(*virDrvDomainManagedSave)(virDomainPtr domain,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainHasManagedSaveImage)(virDomainPtr domain,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainManagedSaveRemove)(virDomainPtr domain,
+ unsigned int flags);
+
+typedef virDomainSnapshotPtr
+(*virDrvDomainSnapshotCreateXML)(virDomainPtr domain,
+ const char *xmlDesc,
+ unsigned int flags);
+
+typedef char *
+(*virDrvDomainSnapshotGetXMLDesc)(virDomainSnapshotPtr snapshot,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainSnapshotNum)(virDomainPtr domain,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainSnapshotListNames)(virDomainPtr domain,
+ char **names,
+ int nameslen,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainListAllSnapshots)(virDomainPtr domain,
+ virDomainSnapshotPtr **snaps,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainSnapshotNumChildren)(virDomainSnapshotPtr snapshot,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainSnapshotListChildrenNames)(virDomainSnapshotPtr snapshot,
+ char **names,
+ int nameslen,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainSnapshotListAllChildren)(virDomainSnapshotPtr snapshot,
+ virDomainSnapshotPtr **snaps,
+ unsigned int flags);
+
+typedef virDomainSnapshotPtr
+(*virDrvDomainSnapshotLookupByName)(virDomainPtr domain,
+ const char *name,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainHasCurrentSnapshot)(virDomainPtr domain,
+ unsigned int flags);
+
+typedef virDomainSnapshotPtr
+(*virDrvDomainSnapshotGetParent)(virDomainSnapshotPtr snapshot,
+ unsigned int flags);
+
+typedef virDomainSnapshotPtr
+(*virDrvDomainSnapshotCurrent)(virDomainPtr domain,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainSnapshotIsCurrent)(virDomainSnapshotPtr snapshot,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainSnapshotHasMetadata)(virDomainSnapshotPtr snapshot,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainRevertToSnapshot)(virDomainSnapshotPtr snapshot,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainSnapshotDelete)(virDomainSnapshotPtr snapshot,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainQemuMonitorCommand)(virDomainPtr domain,
+ const char *cmd,
+ char **result,
+ unsigned int flags);
+
+typedef char *
+(*virDrvDomainQemuAgentCommand)(virDomainPtr domain,
+ const char *cmd,
+ int timeout,
+ unsigned int flags);
+
+/* Choice of unsigned int rather than pid_t is intentional. */
+typedef virDomainPtr
+(*virDrvDomainQemuAttach)(virConnectPtr conn,
+ unsigned int pid_value,
+ unsigned int flags);
+
+typedef int
+(*virDrvConnectDomainQemuMonitorEventRegister)(virConnectPtr conn,
+ virDomainPtr dom,
+ const char *event,
+ virConnectDomainQemuMonitorEventCallback
cb,
+ void *opaque,
+ virFreeCallback freecb,
+ unsigned int flags);
+
+typedef int
+(*virDrvConnectDomainQemuMonitorEventDeregister)(virConnectPtr conn,
+ int callbackID);
+
+typedef int
+(*virDrvDomainOpenConsole)(virDomainPtr dom,
+ const char *dev_name,
+ virStreamPtr st,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainOpenChannel)(virDomainPtr dom,
+ const char *name,
+ virStreamPtr st,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainOpenGraphics)(virDomainPtr dom,
+ unsigned int idx,
+ int fd,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainOpenGraphicsFD)(virDomainPtr dom,
+ unsigned int idx,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainInjectNMI)(virDomainPtr dom,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainSendKey)(virDomainPtr dom,
+ unsigned int codeset,
+ unsigned int holdtime,
+ unsigned int *keycodes,
+ int nkeycodes,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainSendProcessSignal)(virDomainPtr dom,
+ long long pid_value,
+ unsigned int signum,
+ unsigned int flags);
+
+typedef char *
+(*virDrvDomainMigrateBegin3)(virDomainPtr domain,
+ const char *xmlin,
+ char **cookieout,
+ int *cookieoutlen,
+ unsigned long flags,
+ const char *dname,
+ unsigned long resource);
+
+typedef int
+(*virDrvDomainMigratePrepare3)(virConnectPtr dconn,
+ const char *cookiein,
+ int cookieinlen,
+ char **cookieout,
+ int *cookieoutlen,
+ const char *uri_in,
+ char **uri_out,
+ unsigned long flags,
+ const char *dname,
+ unsigned long resource,
+ const char *dom_xml);
+
+typedef int
+(*virDrvDomainMigratePrepareTunnel3)(virConnectPtr dconn,
+ virStreamPtr st,
+ const char *cookiein,
+ int cookieinlen,
+ char **cookieout,
+ int *cookieoutlen,
+ unsigned long flags,
+ const char *dname,
+ unsigned long resource,
+ const char *dom_xml);
+
+
+typedef int
+(*virDrvDomainMigratePerform3)(virDomainPtr dom,
+ const char *xmlin,
+ const char *cookiein,
+ int cookieinlen,
+ char **cookieout,
+ int *cookieoutlen,
+ const char *dconnuri,
+ const char *uri,
+ unsigned long flags,
+ const char *dname,
+ unsigned long resource);
+
+typedef virDomainPtr
+(*virDrvDomainMigrateFinish3)(virConnectPtr dconn,
+ const char *dname,
+ const char *cookiein,
+ int cookieinlen,
+ char **cookieout,
+ int *cookieoutlen,
+ const char *dconnuri,
+ const char *uri,
+ unsigned long flags,
+ int cancelled);
+
+typedef int
+(*virDrvDomainMigrateConfirm3)(virDomainPtr domain,
+ const char *cookiein,
+ int cookieinlen,
+ unsigned long flags,
+ int cancelled);
+
+typedef int
+(*virDrvNodeSuspendForDuration)(virConnectPtr conn,
+ unsigned int target,
+ unsigned long long duration,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainBlockJobAbort)(virDomainPtr dom,
+ const char *path,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainGetBlockJobInfo)(virDomainPtr dom,
+ const char *path,
+ virDomainBlockJobInfoPtr info,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainBlockJobSetSpeed)(virDomainPtr dom,
+ const char *path,
+ unsigned long bandwidth,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainBlockPull)(virDomainPtr dom,
+ const char *path,
+ unsigned long bandwidth,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainBlockRebase)(virDomainPtr dom,
+ const char *path,
+ const char *base,
+ unsigned long bandwidth,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainBlockCopy)(virDomainPtr dom,
+ const char *path,
+ const char *destxml,
+ virTypedParameterPtr params,
+ int nparams,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainBlockCommit)(virDomainPtr dom,
+ const char *disk,
+ const char *base,
+ const char *top,
+ unsigned long bandwidth,
+ unsigned int flags);
+
+typedef int
+(*virDrvConnectSetKeepAlive)(virConnectPtr conn,
+ int interval,
+ unsigned int count);
+
+typedef int
+(*virDrvDomainSetBlockIoTune)(virDomainPtr dom,
+ const char *disk,
+ virTypedParameterPtr params,
+ int nparams,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainGetBlockIoTune)(virDomainPtr dom,
+ const char *disk,
+ virTypedParameterPtr params,
+ int *nparams,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainShutdownFlags)(virDomainPtr domain,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainGetCPUStats)(virDomainPtr domain,
+ virTypedParameterPtr params,
+ unsigned int nparams,
+ int start_cpu,
+ unsigned int ncpus,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainGetDiskErrors)(virDomainPtr dom,
+ virDomainDiskErrorPtr errors,
+ unsigned int maxerrors,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainSetMetadata)(virDomainPtr dom,
+ int type,
+ const char *metadata,
+ const char *key,
+ const char *uri,
+ unsigned int flags);
+
+typedef char *
+(*virDrvDomainGetMetadata)(virDomainPtr dom,
+ int type,
+ const char *uri,
+ unsigned int flags);
+
+typedef int
+(*virDrvNodeGetMemoryParameters)(virConnectPtr conn,
+ virTypedParameterPtr params,
+ int *nparams,
+ unsigned int flags);
+
+typedef int
+(*virDrvNodeSetMemoryParameters)(virConnectPtr conn,
+ virTypedParameterPtr params,
+ int nparams,
+ unsigned int flags);
+
+typedef int
+(*virDrvNodeGetCPUMap)(virConnectPtr conn,
+ unsigned char **cpumap,
+ unsigned int *online,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainFSTrim)(virDomainPtr dom,
+ const char *mountPoint,
+ unsigned long long minimum,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainGetTime)(virDomainPtr dom,
+ long long *seconds,
+ unsigned int *nseconds,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainSetTime)(virDomainPtr dom,
+ long long seconds,
+ unsigned int nseconds,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainLxcOpenNamespace)(virDomainPtr dom,
+ int **fdlist,
+ unsigned int flags);
+
+typedef char *
+(*virDrvDomainMigrateBegin3Params)(virDomainPtr domain,
+ virTypedParameterPtr params,
+ int nparams,
+ char **cookieout,
+ int *cookieoutlen,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainMigratePrepare3Params)(virConnectPtr dconn,
+ virTypedParameterPtr params,
+ int nparams,
+ const char *cookiein,
+ int cookieinlen,
+ char **cookieout,
+ int *cookieoutlen,
+ char **uri_out,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainMigratePrepareTunnel3Params)(virConnectPtr dconn,
+ virStreamPtr st,
+ virTypedParameterPtr params,
+ int nparams,
+ const char *cookiein,
+ int cookieinlen,
+ char **cookieout,
+ int *cookieoutlen,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainMigratePerform3Params)(virDomainPtr dom,
+ const char *dconnuri,
+ virTypedParameterPtr params,
+ int nparams,
+ const char *cookiein,
+ int cookieinlen,
+ char **cookieout,
+ int *cookieoutlen,
+ unsigned int flags);
+
+typedef virDomainPtr
+(*virDrvDomainMigrateFinish3Params)(virConnectPtr dconn,
+ virTypedParameterPtr params,
+ int nparams,
+ const char *cookiein,
+ int cookieinlen,
+ char **cookieout,
+ int *cookieoutlen,
+ unsigned int flags,
+ int cancelled);
+
+typedef int
+(*virDrvDomainMigrateConfirm3Params)(virDomainPtr domain,
+ virTypedParameterPtr params,
+ int nparams,
+ const char *cookiein,
+ int cookieinlen,
+ unsigned int flags,
+ int cancelled);
+
+typedef int
+(*virDrvDomainFSFreeze)(virDomainPtr dom,
+ const char **mountpoints,
+ unsigned int nmountpoints,
+ unsigned int flags);
+
+typedef int
+(*virDrvDomainFSThaw)(virDomainPtr dom,
+ const char **mountpoints,
+ unsigned int nmountpoints,
+ unsigned int flags);
+
+typedef int
+(*virDrvNodeGetFreePages)(virConnectPtr conn,
+ unsigned int npages,
+ unsigned int *pages,
+ int startCell,
+ unsigned int cellCount,
+ unsigned long long *counts,
+ unsigned int flags);
+
+
+typedef int
+(*virDrvConnectGetAllDomainStats)(virConnectPtr conn,
+ virDomainPtr *doms,
+ unsigned int ndoms,
+ unsigned int stats,
+ virDomainStatsRecordPtr **retStats,
+ unsigned int flags);
+
+typedef int
+(*virDrvNodeAllocPages)(virConnectPtr conn,
+ unsigned int npages,
+ unsigned int *pageSizes,
+ unsigned long long *pageCounts,
+ int startCell,
+ unsigned int cellCount,
+ unsigned int flags);
+
+
+typedef struct _virHypervisorDriver virHypervisorDriver;
+typedef virHypervisorDriver *virHypervisorDriverPtr;
+
+/**
+ * _virHypervisorDriver:
+ *
+ * Structure associated to a virtualization driver, defining the various
+ * entry points for it.
+ *
+ * All drivers must support the following fields/methods:
+ * - no
+ * - name
+ * - open
+ * - close
+ */
+struct _virHypervisorDriver {
+ int no; /* the number virDrvNo */
+ const char *name; /* the name of the driver */
+ virDrvConnectOpen connectOpen;
+ virDrvConnectClose connectClose;
+ virDrvConnectSupportsFeature connectSupportsFeature;
+ virDrvConnectGetType connectGetType;
+ virDrvConnectGetVersion connectGetVersion;
+ virDrvConnectGetLibVersion connectGetLibVersion;
+ virDrvConnectGetHostname connectGetHostname;
+ virDrvConnectGetSysinfo connectGetSysinfo;
+ virDrvConnectGetMaxVcpus connectGetMaxVcpus;
+ virDrvNodeGetInfo nodeGetInfo;
+ virDrvConnectGetCapabilities connectGetCapabilities;
+ virDrvConnectListDomains connectListDomains;
+ virDrvConnectNumOfDomains connectNumOfDomains;
+ virDrvConnectListAllDomains connectListAllDomains;
+ virDrvDomainCreateXML domainCreateXML;
+ virDrvDomainCreateXMLWithFiles domainCreateXMLWithFiles;
+ virDrvDomainLookupByID domainLookupByID;
+ virDrvDomainLookupByUUID domainLookupByUUID;
+ virDrvDomainLookupByName domainLookupByName;
+ virDrvDomainSuspend domainSuspend;
+ virDrvDomainResume domainResume;
+ virDrvDomainPMSuspendForDuration domainPMSuspendForDuration;
+ virDrvDomainPMWakeup domainPMWakeup;
+ virDrvDomainShutdown domainShutdown;
+ virDrvDomainShutdownFlags domainShutdownFlags;
+ virDrvDomainReboot domainReboot;
+ virDrvDomainReset domainReset;
+ virDrvDomainDestroy domainDestroy;
+ virDrvDomainDestroyFlags domainDestroyFlags;
+ virDrvDomainGetOSType domainGetOSType;
+ virDrvDomainGetHostname domainGetHostname;
+ virDrvDomainGetMaxMemory domainGetMaxMemory;
+ virDrvDomainSetMaxMemory domainSetMaxMemory;
+ virDrvDomainSetMemory domainSetMemory;
+ virDrvDomainSetMemoryFlags domainSetMemoryFlags;
+ virDrvDomainSetMemoryStatsPeriod domainSetMemoryStatsPeriod;
+ virDrvDomainSetMemoryParameters domainSetMemoryParameters;
+ virDrvDomainGetMemoryParameters domainGetMemoryParameters;
+ virDrvDomainSetNumaParameters domainSetNumaParameters;
+ virDrvDomainGetNumaParameters domainGetNumaParameters;
+ virDrvDomainSetBlkioParameters domainSetBlkioParameters;
+ virDrvDomainGetBlkioParameters domainGetBlkioParameters;
+ virDrvDomainGetInfo domainGetInfo;
+ virDrvDomainGetState domainGetState;
+ virDrvDomainGetControlInfo domainGetControlInfo;
+ virDrvDomainSave domainSave;
+ virDrvDomainSaveFlags domainSaveFlags;
+ virDrvDomainRestore domainRestore;
+ virDrvDomainRestoreFlags domainRestoreFlags;
+ virDrvDomainSaveImageGetXMLDesc domainSaveImageGetXMLDesc;
+ virDrvDomainSaveImageDefineXML domainSaveImageDefineXML;
+ virDrvDomainCoreDump domainCoreDump;
+ virDrvDomainCoreDumpWithFormat domainCoreDumpWithFormat;
+ virDrvDomainScreenshot domainScreenshot;
+ virDrvDomainSetVcpus domainSetVcpus;
+ virDrvDomainSetVcpusFlags domainSetVcpusFlags;
+ virDrvDomainGetVcpusFlags domainGetVcpusFlags;
+ virDrvDomainPinVcpu domainPinVcpu;
+ virDrvDomainPinVcpuFlags domainPinVcpuFlags;
+ virDrvDomainGetVcpuPinInfo domainGetVcpuPinInfo;
+ virDrvDomainPinEmulator domainPinEmulator;
+ virDrvDomainGetEmulatorPinInfo domainGetEmulatorPinInfo;
+ virDrvDomainGetVcpus domainGetVcpus;
+ virDrvDomainGetMaxVcpus domainGetMaxVcpus;
+ virDrvDomainGetSecurityLabel domainGetSecurityLabel;
+ virDrvDomainGetSecurityLabelList domainGetSecurityLabelList;
+ virDrvNodeGetSecurityModel nodeGetSecurityModel;
+ virDrvDomainGetXMLDesc domainGetXMLDesc;
+ virDrvConnectDomainXMLFromNative connectDomainXMLFromNative;
+ virDrvConnectDomainXMLToNative connectDomainXMLToNative;
+ virDrvConnectListDefinedDomains connectListDefinedDomains;
+ virDrvConnectNumOfDefinedDomains connectNumOfDefinedDomains;
+ virDrvDomainCreate domainCreate;
+ virDrvDomainCreateWithFlags domainCreateWithFlags;
+ virDrvDomainCreateWithFiles domainCreateWithFiles;
+ virDrvDomainDefineXML domainDefineXML;
+ virDrvDomainUndefine domainUndefine;
+ virDrvDomainUndefineFlags domainUndefineFlags;
+ virDrvDomainAttachDevice domainAttachDevice;
+ virDrvDomainAttachDeviceFlags domainAttachDeviceFlags;
+ virDrvDomainDetachDevice domainDetachDevice;
+ virDrvDomainDetachDeviceFlags domainDetachDeviceFlags;
+ virDrvDomainUpdateDeviceFlags domainUpdateDeviceFlags;
+ virDrvDomainGetAutostart domainGetAutostart;
+ virDrvDomainSetAutostart domainSetAutostart;
+ virDrvDomainGetSchedulerType domainGetSchedulerType;
+ virDrvDomainGetSchedulerParameters domainGetSchedulerParameters;
+ virDrvDomainGetSchedulerParametersFlags domainGetSchedulerParametersFlags;
+ virDrvDomainSetSchedulerParameters domainSetSchedulerParameters;
+ virDrvDomainSetSchedulerParametersFlags domainSetSchedulerParametersFlags;
+ virDrvDomainMigratePrepare domainMigratePrepare;
+ virDrvDomainMigratePerform domainMigratePerform;
+ virDrvDomainMigrateFinish domainMigrateFinish;
+ virDrvDomainBlockResize domainBlockResize;
+ virDrvDomainBlockStats domainBlockStats;
+ virDrvDomainBlockStatsFlags domainBlockStatsFlags;
+ virDrvDomainInterfaceStats domainInterfaceStats;
+ virDrvDomainSetInterfaceParameters domainSetInterfaceParameters;
+ virDrvDomainGetInterfaceParameters domainGetInterfaceParameters;
+ virDrvDomainMemoryStats domainMemoryStats;
+ virDrvDomainBlockPeek domainBlockPeek;
+ virDrvDomainMemoryPeek domainMemoryPeek;
+ virDrvDomainGetBlockInfo domainGetBlockInfo;
+ virDrvNodeGetCPUStats nodeGetCPUStats;
+ virDrvNodeGetMemoryStats nodeGetMemoryStats;
+ virDrvNodeGetCellsFreeMemory nodeGetCellsFreeMemory;
+ virDrvNodeGetFreeMemory nodeGetFreeMemory;
+ virDrvConnectDomainEventRegister connectDomainEventRegister;
+ virDrvConnectDomainEventDeregister connectDomainEventDeregister;
+ virDrvDomainMigratePrepare2 domainMigratePrepare2;
+ virDrvDomainMigrateFinish2 domainMigrateFinish2;
+ virDrvNodeDeviceDettach nodeDeviceDettach;
+ virDrvNodeDeviceDetachFlags nodeDeviceDetachFlags;
+ virDrvNodeDeviceReAttach nodeDeviceReAttach;
+ virDrvNodeDeviceReset nodeDeviceReset;
+ virDrvDomainMigratePrepareTunnel domainMigratePrepareTunnel;
+ virDrvConnectIsEncrypted connectIsEncrypted;
+ virDrvConnectIsSecure connectIsSecure;
+ virDrvDomainIsActive domainIsActive;
+ virDrvDomainIsPersistent domainIsPersistent;
+ virDrvDomainIsUpdated domainIsUpdated;
+ virDrvConnectCompareCPU connectCompareCPU;
+ virDrvConnectBaselineCPU connectBaselineCPU;
+ virDrvDomainGetJobInfo domainGetJobInfo;
+ virDrvDomainGetJobStats domainGetJobStats;
+ virDrvDomainAbortJob domainAbortJob;
+ virDrvDomainMigrateSetMaxDowntime domainMigrateSetMaxDowntime;
+ virDrvDomainMigrateGetCompressionCache domainMigrateGetCompressionCache;
+ virDrvDomainMigrateSetCompressionCache domainMigrateSetCompressionCache;
+ virDrvDomainMigrateGetMaxSpeed domainMigrateGetMaxSpeed;
+ virDrvDomainMigrateSetMaxSpeed domainMigrateSetMaxSpeed;
+ virDrvConnectDomainEventRegisterAny connectDomainEventRegisterAny;
+ virDrvConnectDomainEventDeregisterAny connectDomainEventDeregisterAny;
+ virDrvDomainManagedSave domainManagedSave;
+ virDrvDomainHasManagedSaveImage domainHasManagedSaveImage;
+ virDrvDomainManagedSaveRemove domainManagedSaveRemove;
+ virDrvDomainSnapshotCreateXML domainSnapshotCreateXML;
+ virDrvDomainSnapshotGetXMLDesc domainSnapshotGetXMLDesc;
+ virDrvDomainSnapshotNum domainSnapshotNum;
+ virDrvDomainSnapshotListNames domainSnapshotListNames;
+ virDrvDomainListAllSnapshots domainListAllSnapshots;
+ virDrvDomainSnapshotNumChildren domainSnapshotNumChildren;
+ virDrvDomainSnapshotListChildrenNames domainSnapshotListChildrenNames;
+ virDrvDomainSnapshotListAllChildren domainSnapshotListAllChildren;
+ virDrvDomainSnapshotLookupByName domainSnapshotLookupByName;
+ virDrvDomainHasCurrentSnapshot domainHasCurrentSnapshot;
+ virDrvDomainSnapshotGetParent domainSnapshotGetParent;
+ virDrvDomainSnapshotCurrent domainSnapshotCurrent;
+ virDrvDomainSnapshotIsCurrent domainSnapshotIsCurrent;
+ virDrvDomainSnapshotHasMetadata domainSnapshotHasMetadata;
+ virDrvDomainRevertToSnapshot domainRevertToSnapshot;
+ virDrvDomainSnapshotDelete domainSnapshotDelete;
+ virDrvDomainQemuMonitorCommand domainQemuMonitorCommand;
+ virDrvDomainQemuAttach domainQemuAttach;
+ virDrvDomainQemuAgentCommand domainQemuAgentCommand;
+ virDrvConnectDomainQemuMonitorEventRegister connectDomainQemuMonitorEventRegister;
+ virDrvConnectDomainQemuMonitorEventDeregister
connectDomainQemuMonitorEventDeregister;
+ virDrvDomainOpenConsole domainOpenConsole;
+ virDrvDomainOpenChannel domainOpenChannel;
+ virDrvDomainOpenGraphics domainOpenGraphics;
+ virDrvDomainOpenGraphicsFD domainOpenGraphicsFD;
+ virDrvDomainInjectNMI domainInjectNMI;
+ virDrvDomainMigrateBegin3 domainMigrateBegin3;
+ virDrvDomainMigratePrepare3 domainMigratePrepare3;
+ virDrvDomainMigratePrepareTunnel3 domainMigratePrepareTunnel3;
+ virDrvDomainMigratePerform3 domainMigratePerform3;
+ virDrvDomainMigrateFinish3 domainMigrateFinish3;
+ virDrvDomainMigrateConfirm3 domainMigrateConfirm3;
+ virDrvDomainSendKey domainSendKey;
+ virDrvDomainBlockJobAbort domainBlockJobAbort;
+ virDrvDomainGetBlockJobInfo domainGetBlockJobInfo;
+ virDrvDomainBlockJobSetSpeed domainBlockJobSetSpeed;
+ virDrvDomainBlockPull domainBlockPull;
+ virDrvDomainBlockRebase domainBlockRebase;
+ virDrvDomainBlockCopy domainBlockCopy;
+ virDrvDomainBlockCommit domainBlockCommit;
+ virDrvConnectSetKeepAlive connectSetKeepAlive;
+ virDrvConnectIsAlive connectIsAlive;
+ virDrvNodeSuspendForDuration nodeSuspendForDuration;
+ virDrvDomainSetBlockIoTune domainSetBlockIoTune;
+ virDrvDomainGetBlockIoTune domainGetBlockIoTune;
+ virDrvDomainGetCPUStats domainGetCPUStats;
+ virDrvDomainGetDiskErrors domainGetDiskErrors;
+ virDrvDomainSetMetadata domainSetMetadata;
+ virDrvDomainGetMetadata domainGetMetadata;
+ virDrvNodeGetMemoryParameters nodeGetMemoryParameters;
+ virDrvNodeSetMemoryParameters nodeSetMemoryParameters;
+ virDrvNodeGetCPUMap nodeGetCPUMap;
+ virDrvDomainFSTrim domainFSTrim;
+ virDrvDomainSendProcessSignal domainSendProcessSignal;
+ virDrvDomainLxcOpenNamespace domainLxcOpenNamespace;
+ virDrvDomainMigrateBegin3Params domainMigrateBegin3Params;
+ virDrvDomainMigratePrepare3Params domainMigratePrepare3Params;
+ virDrvDomainMigratePrepareTunnel3Params domainMigratePrepareTunnel3Params;
+ virDrvDomainMigratePerform3Params domainMigratePerform3Params;
+ virDrvDomainMigrateFinish3Params domainMigrateFinish3Params;
+ virDrvDomainMigrateConfirm3Params domainMigrateConfirm3Params;
+ virDrvConnectGetCPUModelNames connectGetCPUModelNames;
+ virDrvDomainFSFreeze domainFSFreeze;
+ virDrvDomainFSThaw domainFSThaw;
+ virDrvDomainGetTime domainGetTime;
+ virDrvDomainSetTime domainSetTime;
+ virDrvNodeGetFreePages nodeGetFreePages;
+ virDrvConnectGetDomainCapabilities connectGetDomainCapabilities;
+ virDrvConnectGetAllDomainStats connectGetAllDomainStats;
+ virDrvNodeAllocPages nodeAllocPages;
+};
+
+
+#endif /* __VIR_DRIVER_HYPERVISOR_H__ */
diff --git a/src/driver-interface.h b/src/driver-interface.h
new file mode 100644
index 0000000..eb9b1ad
--- /dev/null
+++ b/src/driver-interface.h
@@ -0,0 +1,131 @@
+/*
+ * driver-interface.h: entry points for interface drivers
+ *
+ * Copyright (C) 2006-2014 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <
http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __VIR_DRIVER_INTERFACE_H__
+# define __VIR_DRIVER_INTERFACE_H__
+
+# ifndef __VIR_DRIVER_H_INCLUDES___
+# error "Don't include this file directly, only use driver.h"
+# endif
+
+typedef virDrvConnectOpen virDrvInterfaceOpen;
+typedef virDrvConnectClose virDrvInterfaceClose;
+
+typedef int
+(*virDrvConnectNumOfInterfaces)(virConnectPtr conn);
+
+typedef int
+(*virDrvConnectListInterfaces)(virConnectPtr conn,
+ char **const names,
+ int maxnames);
+
+typedef int
+(*virDrvConnectNumOfDefinedInterfaces)(virConnectPtr conn);
+
+typedef int
+(*virDrvConnectListDefinedInterfaces)(virConnectPtr conn,
+ char **const names,
+ int maxnames);
+
+typedef int
+(*virDrvConnectListAllInterfaces)(virConnectPtr conn,
+ virInterfacePtr **ifaces,
+ unsigned int flags);
+
+typedef virInterfacePtr
+(*virDrvInterfaceLookupByName)(virConnectPtr conn,
+ const char *name);
+
+typedef virInterfacePtr
+(*virDrvInterfaceLookupByMACString)(virConnectPtr conn,
+ const char *mac);
+
+typedef char *
+(*virDrvInterfaceGetXMLDesc)(virInterfacePtr iface,
+ unsigned int flags);
+
+typedef virInterfacePtr
+(*virDrvInterfaceDefineXML)(virConnectPtr conn,
+ const char *xmlDesc,
+ unsigned int flags);
+
+typedef int
+(*virDrvInterfaceUndefine)(virInterfacePtr iface);
+
+typedef int
+(*virDrvInterfaceCreate)(virInterfacePtr iface,
+ unsigned int flags);
+
+typedef int
+(*virDrvInterfaceDestroy)(virInterfacePtr iface,
+ unsigned int flags);
+
+typedef int
+(*virDrvInterfaceIsActive)(virInterfacePtr iface);
+
+typedef int
+(*virDrvInterfaceChangeBegin)(virConnectPtr conn,
+ unsigned int flags);
+
+typedef int
+(*virDrvInterfaceChangeCommit)(virConnectPtr conn,
+ unsigned int flags);
+
+typedef int
+(*virDrvInterfaceChangeRollback)(virConnectPtr conn,
+ unsigned int flags);
+
+typedef struct _virInterfaceDriver virInterfaceDriver;
+typedef virInterfaceDriver *virInterfaceDriverPtr;
+
+/**
+ * _virInterfaceDriver:
+ *
+ * Structure associated to a network interface driver, defining the various
+ * entry points for it.
+ *
+ * All drivers must support the following fields/methods:
+ * - open
+ * - close
+ */
+struct _virInterfaceDriver {
+ const char *name; /* the name of the driver */
+ virDrvInterfaceOpen interfaceOpen;
+ virDrvInterfaceClose interfaceClose;
+ virDrvConnectNumOfInterfaces connectNumOfInterfaces;
+ virDrvConnectListInterfaces connectListInterfaces;
+ virDrvConnectNumOfDefinedInterfaces connectNumOfDefinedInterfaces;
+ virDrvConnectListDefinedInterfaces connectListDefinedInterfaces;
+ virDrvConnectListAllInterfaces connectListAllInterfaces;
+ virDrvInterfaceLookupByName interfaceLookupByName;
+ virDrvInterfaceLookupByMACString interfaceLookupByMACString;
+ virDrvInterfaceGetXMLDesc interfaceGetXMLDesc;
+ virDrvInterfaceDefineXML interfaceDefineXML;
+ virDrvInterfaceUndefine interfaceUndefine;
+ virDrvInterfaceCreate interfaceCreate;
+ virDrvInterfaceDestroy interfaceDestroy;
+ virDrvInterfaceIsActive interfaceIsActive;
+ virDrvInterfaceChangeBegin interfaceChangeBegin;
+ virDrvInterfaceChangeCommit interfaceChangeCommit;
+ virDrvInterfaceChangeRollback interfaceChangeRollback;
+};
+
+
+#endif /* __VIR_DRIVER_INTERFACE_H__ */
diff --git a/src/driver-network.h b/src/driver-network.h
new file mode 100644
index 0000000..9ede53c
--- /dev/null
+++ b/src/driver-network.h
@@ -0,0 +1,166 @@
+/*
+ * driver-network.h: entry points for network drivers
+ *
+ * Copyright (C) 2006-2014 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <
http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __VIR_DRIVER_NETWORK_H__
+# define __VIR_DRIVER_NETWORK_H__
+
+# ifndef __VIR_DRIVER_H_INCLUDES___
+# error "Don't include this file directly, only use driver.h"
+# endif
+
+typedef virDrvConnectOpen virDrvNetworkOpen;
+typedef virDrvConnectClose virDrvNetworkClose;
+
+typedef int
+(*virDrvConnectNumOfNetworks)(virConnectPtr conn);
+
+typedef int
+(*virDrvConnectListNetworks)(virConnectPtr conn,
+ char **const names,
+ int maxnames);
+
+typedef int
+(*virDrvConnectNumOfDefinedNetworks)(virConnectPtr conn);
+
+typedef int
+(*virDrvConnectListDefinedNetworks)(virConnectPtr conn,
+ char **const names,
+ int maxnames);
+
+typedef int
+(*virDrvConnectListAllNetworks)(virConnectPtr conn,
+ virNetworkPtr **nets,
+ unsigned int flags);
+
+typedef int
+(*virDrvConnectNetworkEventRegisterAny)(virConnectPtr conn,
+ virNetworkPtr dom,
+ int eventID,
+ virConnectNetworkEventGenericCallback cb,
+ void *opaque,
+ virFreeCallback freecb);
+
+typedef int
+(*virDrvConnectNetworkEventDeregisterAny)(virConnectPtr conn,
+ int callbackID);
+
+typedef virNetworkPtr
+(*virDrvNetworkLookupByUUID)(virConnectPtr conn,
+ const unsigned char *uuid);
+
+typedef virNetworkPtr
+(*virDrvNetworkLookupByName)(virConnectPtr conn,
+ const char *name);
+
+typedef virNetworkPtr
+(*virDrvNetworkCreateXML)(virConnectPtr conn,
+ const char *xmlDesc);
+
+typedef virNetworkPtr
+(*virDrvNetworkDefineXML)(virConnectPtr conn,
+ const char *xml);
+
+typedef int
+(*virDrvNetworkUndefine)(virNetworkPtr network);
+
+typedef int
+(*virDrvNetworkUpdate)(virNetworkPtr network,
+ unsigned int command, /* virNetworkUpdateCommand */
+ unsigned int section, /* virNetworkUpdateSection */
+ int parentIndex,
+ const char *xml,
+ unsigned int flags);
+
+typedef int
+(*virDrvNetworkCreate)(virNetworkPtr network);
+
+typedef int
+(*virDrvNetworkDestroy)(virNetworkPtr network);
+
+typedef char *
+(*virDrvNetworkGetXMLDesc)(virNetworkPtr network,
+ unsigned int flags);
+
+typedef char *
+(*virDrvNetworkGetBridgeName)(virNetworkPtr network);
+
+typedef int
+(*virDrvNetworkGetAutostart)(virNetworkPtr network,
+ int *autostart);
+
+typedef int
+(*virDrvNetworkSetAutostart)(virNetworkPtr network,
+ int autostart);
+
+typedef int
+(*virDrvNetworkIsActive)(virNetworkPtr net);
+
+typedef int
+(*virDrvNetworkIsPersistent)(virNetworkPtr net);
+
+typedef int
+(*virDrvNetworkGetDHCPLeases)(virNetworkPtr network,
+ const char *mac,
+ virNetworkDHCPLeasePtr **leases,
+ unsigned int flags);
+
+typedef struct _virNetworkDriver virNetworkDriver;
+typedef virNetworkDriver *virNetworkDriverPtr;
+
+/**
+ * _virNetworkDriver:
+ *
+ * Structure associated to a network virtualization driver, defining the various
+ * entry points for it.
+ *
+ * All drivers must support the following fields/methods:
+ * - open
+ * - close
+ */
+struct _virNetworkDriver {
+ const char * name; /* the name of the driver */
+ virDrvNetworkOpen networkOpen;
+ virDrvNetworkClose networkClose;
+ virDrvConnectNumOfNetworks connectNumOfNetworks;
+ virDrvConnectListNetworks connectListNetworks;
+ virDrvConnectNumOfDefinedNetworks connectNumOfDefinedNetworks;
+ virDrvConnectListDefinedNetworks connectListDefinedNetworks;
+ virDrvConnectListAllNetworks connectListAllNetworks;
+ virDrvConnectNetworkEventRegisterAny connectNetworkEventRegisterAny;
+ virDrvConnectNetworkEventDeregisterAny connectNetworkEventDeregisterAny;
+ virDrvNetworkLookupByUUID networkLookupByUUID;
+ virDrvNetworkLookupByName networkLookupByName;
+ virDrvNetworkCreateXML networkCreateXML;
+ virDrvNetworkDefineXML networkDefineXML;
+ virDrvNetworkUndefine networkUndefine;
+ virDrvNetworkUpdate networkUpdate;
+ virDrvNetworkCreate networkCreate;
+ virDrvNetworkDestroy networkDestroy;
+ virDrvNetworkGetXMLDesc networkGetXMLDesc;
+ virDrvNetworkGetBridgeName networkGetBridgeName;
+ virDrvNetworkGetAutostart networkGetAutostart;
+ virDrvNetworkSetAutostart networkSetAutostart;
+ virDrvNetworkIsActive networkIsActive;
+ virDrvNetworkIsPersistent networkIsPersistent;
+ virDrvNetworkGetDHCPLeases networkGetDHCPLeases;
+};
+
+
+#endif /* __VIR_DRIVER_NETWORK_H__ */
diff --git a/src/driver-nodedev.h b/src/driver-nodedev.h
new file mode 100644
index 0000000..8d1c8a9
--- /dev/null
+++ b/src/driver-nodedev.h
@@ -0,0 +1,112 @@
+/*
+ * driver-nodedev.h: entry points for nodedev drivers
+ *
+ * Copyright (C) 2006-2014 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <
http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __VIR_DRIVER_NODEDEV_H__
+# define __VIR_DRIVER_NODEDEV_H__
+
+# ifndef __VIR_DRIVER_H_INCLUDES___
+# error "Don't include this file directly, only use driver.h"
+# endif
+
+typedef virDrvConnectOpen virDrvNodeDeviceOpen;
+typedef virDrvConnectClose virDrvNodeDeviceClose;
+
+
+typedef int
+(*virDrvNodeNumOfDevices)(virConnectPtr conn,
+ const char *cap,
+ unsigned int flags);
+
+typedef int
+(*virDrvNodeListDevices)(virConnectPtr conn,
+ const char *cap,
+ char **const names,
+ int maxnames,
+ unsigned int flags);
+
+typedef int
+(*virDrvConnectListAllNodeDevices)(virConnectPtr conn,
+ virNodeDevicePtr **devices,
+ unsigned int flags);
+
+typedef virNodeDevicePtr
+(*virDrvNodeDeviceLookupByName)(virConnectPtr conn,
+ const char *name);
+
+typedef virNodeDevicePtr
+(*virDrvNodeDeviceLookupSCSIHostByWWN)(virConnectPtr conn,
+ const char *wwnn,
+ const char *wwpn,
+ unsigned int flags);
+
+typedef char *
+(*virDrvNodeDeviceGetXMLDesc)(virNodeDevicePtr dev,
+ unsigned int flags);
+
+typedef char *
+(*virDrvNodeDeviceGetParent)(virNodeDevicePtr dev);
+
+typedef int
+(*virDrvNodeDeviceNumOfCaps)(virNodeDevicePtr dev);
+
+typedef int
+(*virDrvNodeDeviceListCaps)(virNodeDevicePtr dev,
+ char **const names,
+ int maxnames);
+
+typedef virNodeDevicePtr
+(*virDrvNodeDeviceCreateXML)(virConnectPtr conn,
+ const char *xmlDesc,
+ unsigned int flags);
+
+typedef int
+(*virDrvNodeDeviceDestroy)(virNodeDevicePtr dev);
+
+
+
+typedef struct _virNodeDeviceDriver virNodeDeviceDriver;
+typedef virNodeDeviceDriver *virNodeDeviceDriverPtr;
+
+/**
+ * _virNodeDeviceDriver:
+ *
+ * Structure associated with monitoring the devices
+ * on a virtualized node.
+ *
+ */
+struct _virNodeDeviceDriver {
+ const char * name; /* the name of the driver */
+ virDrvNodeDeviceOpen nodeDeviceOpen;
+ virDrvNodeDeviceClose nodeDeviceClose;
+ virDrvNodeNumOfDevices nodeNumOfDevices;
+ virDrvNodeListDevices nodeListDevices;
+ virDrvConnectListAllNodeDevices connectListAllNodeDevices;
+ virDrvNodeDeviceLookupByName nodeDeviceLookupByName;
+ virDrvNodeDeviceLookupSCSIHostByWWN nodeDeviceLookupSCSIHostByWWN;
+ virDrvNodeDeviceGetXMLDesc nodeDeviceGetXMLDesc;
+ virDrvNodeDeviceGetParent nodeDeviceGetParent;
+ virDrvNodeDeviceNumOfCaps nodeDeviceNumOfCaps;
+ virDrvNodeDeviceListCaps nodeDeviceListCaps;
+ virDrvNodeDeviceCreateXML nodeDeviceCreateXML;
+ virDrvNodeDeviceDestroy nodeDeviceDestroy;
+};
+
+
+#endif /* __VIR_DRIVER_NODEDEV_H__ */
diff --git a/src/driver-nwfilter.h b/src/driver-nwfilter.h
new file mode 100644
index 0000000..502700f
--- /dev/null
+++ b/src/driver-nwfilter.h
@@ -0,0 +1,94 @@
+/*
+ * driver-nwfilter.h: entry points for nwfilter drivers
+ *
+ * Copyright (C) 2006-2014 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <
http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __VIR_DRIVER_NWFILTER_H__
+# define __VIR_DRIVER_NWFILTER_H__
+
+# ifndef __VIR_DRIVER_H_INCLUDES___
+# error "Don't include this file directly, only use driver.h"
+# endif
+
+
+typedef virDrvConnectOpen virDrvNWFilterOpen;
+typedef virDrvConnectClose virDrvNWFilterClose;
+
+
+typedef int
+(*virDrvConnectNumOfNWFilters)(virConnectPtr conn);
+
+typedef int
+(*virDrvConnectListNWFilters)(virConnectPtr conn,
+ char **const names,
+ int maxnames);
+
+typedef int
+(*virDrvConnectListAllNWFilters)(virConnectPtr conn,
+ virNWFilterPtr **filters,
+ unsigned int flags);
+
+typedef virNWFilterPtr
+(*virDrvNWFilterLookupByName)(virConnectPtr conn,
+ const char *name);
+
+typedef virNWFilterPtr
+(*virDrvNWFilterLookupByUUID)(virConnectPtr conn,
+ const unsigned char *uuid);
+
+typedef virNWFilterPtr
+(*virDrvNWFilterDefineXML)(virConnectPtr conn,
+ const char *xmlDesc);
+
+typedef int
+(*virDrvNWFilterUndefine)(virNWFilterPtr nwfilter);
+
+typedef char *
+(*virDrvNWFilterGetXMLDesc)(virNWFilterPtr nwfilter,
+ unsigned int flags);
+
+
+typedef struct _virNWFilterDriver virNWFilterDriver;
+typedef virNWFilterDriver *virNWFilterDriverPtr;
+
+/**
+ * _virNWFilterDriver:
+ *
+ * Structure associated to a network filter driver, defining the various
+ * entry points for it.
+ *
+ * All drivers must support the following fields/methods:
+ * - open
+ * - close
+ */
+struct _virNWFilterDriver {
+ const char * name; /* the name of the driver */
+ virDrvNWFilterOpen nwfilterOpen;
+ virDrvNWFilterClose nwfilterClose;
+ virDrvConnectNumOfNWFilters connectNumOfNWFilters;
+ virDrvConnectListNWFilters connectListNWFilters;
+ virDrvConnectListAllNWFilters connectListAllNWFilters;
+ virDrvNWFilterLookupByName nwfilterLookupByName;
+ virDrvNWFilterLookupByUUID nwfilterLookupByUUID;
+ virDrvNWFilterDefineXML nwfilterDefineXML;
+ virDrvNWFilterUndefine nwfilterUndefine;
+ virDrvNWFilterGetXMLDesc nwfilterGetXMLDesc;
+};
+
+
+#endif /* __VIR_DRIVER_NWFILTER_H__ */
diff --git a/src/driver-secret.h b/src/driver-secret.h
new file mode 100644
index 0000000..d82e7df
--- /dev/null
+++ b/src/driver-secret.h
@@ -0,0 +1,114 @@
+/*
+ * driver-secret.h: entry points for secret drivers
+ *
+ * Copyright (C) 2006-2014 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <
http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __VIR_DRIVER_SECRET_H__
+# define __VIR_DRIVER_SECRET_H__
+
+# ifndef __VIR_DRIVER_H_INCLUDES___
+# error "Don't include this file directly, only use driver.h"
+# endif
+
+enum {
+ /* This getValue call is inside libvirt, override the "private" flag.
+ This flag cannot be set by outside callers. */
+ VIR_SECRET_GET_VALUE_INTERNAL_CALL = 1 << 0,
+};
+
+typedef virDrvConnectOpen virDrvSecretOpen;
+typedef virDrvConnectClose virDrvSecretClose;
+
+
+typedef virSecretPtr
+(*virDrvSecretLookupByUUID)(virConnectPtr conn,
+ const unsigned char *uuid);
+
+typedef virSecretPtr
+(*virDrvSecretLookupByUsage)(virConnectPtr conn,
+ int usageType,
+ const char *usageID);
+
+typedef virSecretPtr
+(*virDrvSecretDefineXML)(virConnectPtr conn,
+ const char *xml,
+ unsigned int flags);
+
+typedef char *
+(*virDrvSecretGetXMLDesc)(virSecretPtr secret,
+ unsigned int flags);
+
+typedef int
+(*virDrvSecretSetValue)(virSecretPtr secret,
+ const unsigned char *value,
+ size_t value_size,
+ unsigned int flags);
+
+typedef unsigned char *
+(*virDrvSecretGetValue)(virSecretPtr secret,
+ size_t *value_size,
+ unsigned int flags,
+ unsigned int internalFlags);
+
+typedef int
+(*virDrvSecretUndefine)(virSecretPtr secret);
+
+typedef int
+(*virDrvConnectNumOfSecrets)(virConnectPtr conn);
+
+typedef int
+(*virDrvConnectListSecrets)(virConnectPtr conn,
+ char **uuids,
+ int maxuuids);
+
+typedef int
+(*virDrvConnectListAllSecrets)(virConnectPtr conn,
+ virSecretPtr **secrets,
+ unsigned int flags);
+
+typedef struct _virSecretDriver virSecretDriver;
+typedef virSecretDriver *virSecretDriverPtr;
+
+/**
+ * _virSecretDriver:
+ *
+ * Structure associated to a driver for storing secrets, defining the various
+ * entry points for it.
+ *
+ * All drivers must support the following fields/methods:
+ * - open
+ * - close
+ */
+struct _virSecretDriver {
+ const char *name;
+ virDrvSecretOpen secretOpen;
+ virDrvSecretClose secretClose;
+ virDrvConnectNumOfSecrets connectNumOfSecrets;
+ virDrvConnectListSecrets connectListSecrets;
+ virDrvConnectListAllSecrets connectListAllSecrets;
+ virDrvSecretLookupByUUID secretLookupByUUID;
+ virDrvSecretLookupByUsage secretLookupByUsage;
+ virDrvSecretDefineXML secretDefineXML;
+ virDrvSecretGetXMLDesc secretGetXMLDesc;
+ virDrvSecretSetValue secretSetValue;
+ virDrvSecretGetValue secretGetValue;
+ virDrvSecretUndefine secretUndefine;
+};
+
+
+#endif /* __VIR_DRIVER_SECRET_H__ */
diff --git a/src/driver-state.h b/src/driver-state.h
new file mode 100644
index 0000000..1cb3e4f
--- /dev/null
+++ b/src/driver-state.h
@@ -0,0 +1,58 @@
+/*
+ * driver-state.h: entry points for state drivers
+ *
+ * Copyright (C) 2006-2014 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <
http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __VIR_DRIVER_STATE_H__
+# define __VIR_DRIVER_STATE_H__
+
+# ifndef __VIR_DRIVER_H_INCLUDES___
+# error "Don't include this file directly, only use driver.h"
+# endif
+
+typedef int
+(*virDrvStateInitialize)(bool privileged,
+ virStateInhibitCallback callback,
+ void *opaque);
+
+typedef void
+(*virDrvStateAutoStart)(void);
+
+typedef int
+(*virDrvStateCleanup)(void);
+
+typedef int
+(*virDrvStateReload)(void);
+
+typedef int
+(*virDrvStateStop)(void);
+
+typedef struct _virStateDriver virStateDriver;
+typedef virStateDriver *virStateDriverPtr;
+
+struct _virStateDriver {
+ const char *name;
+ virDrvStateInitialize stateInitialize;
+ virDrvStateAutoStart stateAutoStart;
+ virDrvStateCleanup stateCleanup;
+ virDrvStateReload stateReload;
+ virDrvStateStop stateStop;
+};
+
+
+#endif /* __VIR_DRIVER_STATE_H__ */
diff --git a/src/driver-storage.h b/src/driver-storage.h
new file mode 100644
index 0000000..4848dd3
--- /dev/null
+++ b/src/driver-storage.h
@@ -0,0 +1,265 @@
+/*
+ * driver-storage.h: entry points for storage drivers
+ *
+ * Copyright (C) 2006-2014 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <
http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __VIR_DRIVER_STORAGE_H__
+# define __VIR_DRIVER_STORAGE_H__
+
+# ifndef __VIR_DRIVER_H_INCLUDES___
+# error "Don't include this file directly, only use driver.h"
+# endif
+
+typedef virDrvConnectOpen virDrvStorageOpen;
+typedef virDrvConnectClose virDrvStorageClose;
+
+
+typedef int
+(*virDrvConnectNumOfStoragePools)(virConnectPtr conn);
+
+typedef int
+(*virDrvConnectListStoragePools)(virConnectPtr conn,
+ char **const names,
+ int maxnames);
+
+typedef int
+(*virDrvConnectNumOfDefinedStoragePools)(virConnectPtr conn);
+
+typedef int
+(*virDrvConnectListDefinedStoragePools)(virConnectPtr conn,
+ char **const names,
+ int maxnames);
+
+typedef int
+(*virDrvConnectListAllStoragePools)(virConnectPtr conn,
+ virStoragePoolPtr **pools,
+ unsigned int flags);
+
+typedef char *
+(*virDrvConnectFindStoragePoolSources)(virConnectPtr conn,
+ const char *type,
+ const char *srcSpec,
+ unsigned int flags);
+
+typedef virStoragePoolPtr
+(*virDrvStoragePoolLookupByName)(virConnectPtr conn,
+ const char *name);
+
+typedef virStoragePoolPtr
+(*virDrvStoragePoolLookupByUUID)(virConnectPtr conn,
+ const unsigned char *uuid);
+
+typedef virStoragePoolPtr
+(*virDrvStoragePoolLookupByVolume)(virStorageVolPtr vol);
+
+typedef virStoragePoolPtr
+(*virDrvStoragePoolCreateXML)(virConnectPtr conn,
+ const char *xmlDesc,
+ unsigned int flags);
+
+typedef virStoragePoolPtr
+(*virDrvStoragePoolDefineXML)(virConnectPtr conn,
+ const char *xmlDesc,
+ unsigned int flags);
+
+typedef int
+(*virDrvStoragePoolUndefine)(virStoragePoolPtr pool);
+
+typedef int
+(*virDrvStoragePoolBuild)(virStoragePoolPtr pool,
+ unsigned int flags);
+
+typedef int
+(*virDrvStoragePoolCreate)(virStoragePoolPtr pool,
+ unsigned int flags);
+
+typedef int
+(*virDrvStoragePoolDestroy)(virStoragePoolPtr pool);
+
+typedef int
+(*virDrvStoragePoolDelete)(virStoragePoolPtr pool,
+ unsigned int flags);
+
+typedef int
+(*virDrvStoragePoolRefresh)(virStoragePoolPtr pool,
+ unsigned int flags);
+
+typedef int
+(*virDrvStoragePoolGetInfo)(virStoragePoolPtr vol,
+ virStoragePoolInfoPtr info);
+
+typedef char *
+(*virDrvStoragePoolGetXMLDesc)(virStoragePoolPtr pool,
+ unsigned int flags);
+
+typedef int
+(*virDrvStoragePoolGetAutostart)(virStoragePoolPtr pool,
+ int *autostart);
+
+typedef int
+(*virDrvStoragePoolSetAutostart)(virStoragePoolPtr pool,
+ int autostart);
+
+typedef int
+(*virDrvStoragePoolNumOfVolumes)(virStoragePoolPtr pool);
+
+typedef int
+(*virDrvStoragePoolListVolumes)(virStoragePoolPtr pool,
+ char **const names,
+ int maxnames);
+
+typedef int
+(*virDrvStoragePoolListAllVolumes)(virStoragePoolPtr pool,
+ virStorageVolPtr **vols,
+ unsigned int flags);
+
+typedef virStorageVolPtr
+(*virDrvStorageVolLookupByName)(virStoragePoolPtr pool,
+ const char *name);
+
+typedef virStorageVolPtr
+(*virDrvStorageVolLookupByKey)(virConnectPtr pool,
+ const char *key);
+
+typedef virStorageVolPtr
+(*virDrvStorageVolLookupByPath)(virConnectPtr pool,
+ const char *path);
+
+typedef virStorageVolPtr
+(*virDrvStorageVolCreateXML)(virStoragePoolPtr pool,
+ const char *xmldesc,
+ unsigned int flags);
+
+typedef int
+(*virDrvStorageVolDelete)(virStorageVolPtr vol,
+ unsigned int flags);
+
+typedef int
+(*virDrvStorageVolWipe)(virStorageVolPtr vol,
+ unsigned int flags);
+
+typedef int
+(*virDrvStorageVolWipePattern)(virStorageVolPtr vol,
+ unsigned int algorithm,
+ unsigned int flags);
+
+typedef int
+(*virDrvStorageVolGetInfo)(virStorageVolPtr vol,
+ virStorageVolInfoPtr info);
+
+typedef char *
+(*virDrvStorageVolGetXMLDesc)(virStorageVolPtr pool,
+ unsigned int flags);
+
+typedef char *
+(*virDrvStorageVolGetPath)(virStorageVolPtr vol);
+
+typedef virStorageVolPtr
+(*virDrvStorageVolCreateXMLFrom)(virStoragePoolPtr pool,
+ const char *xmldesc,
+ virStorageVolPtr clonevol,
+ unsigned int flags);
+
+typedef int
+(*virDrvStorageVolDownload)(virStorageVolPtr vol,
+ virStreamPtr stream,
+ unsigned long long offset,
+ unsigned long long length,
+ unsigned int flags);
+
+typedef int
+(*virDrvStorageVolUpload)(virStorageVolPtr vol,
+ virStreamPtr stream,
+ unsigned long long offset,
+ unsigned long long length,
+ unsigned int flags);
+
+typedef int
+(*virDrvStorageVolResize)(virStorageVolPtr vol,
+ unsigned long long capacity,
+ unsigned int flags);
+
+typedef int
+(*virDrvStoragePoolIsActive)(virStoragePoolPtr pool);
+
+typedef int
+(*virDrvStoragePoolIsPersistent)(virStoragePoolPtr pool);
+
+
+
+typedef struct _virStorageDriver virStorageDriver;
+typedef virStorageDriver *virStorageDriverPtr;
+
+/**
+ * _virStorageDriver:
+ *
+ * Structure associated to a storage driver, defining the various
+ * entry points for it.
+ *
+ * All drivers must support the following fields/methods:
+ * - open
+ * - close
+ */
+struct _virStorageDriver {
+ const char * name; /* the name of the driver */
+ virDrvStorageOpen storageOpen;
+ virDrvStorageClose storageClose;
+ virDrvConnectNumOfStoragePools connectNumOfStoragePools;
+ virDrvConnectListStoragePools connectListStoragePools;
+ virDrvConnectNumOfDefinedStoragePools connectNumOfDefinedStoragePools;
+ virDrvConnectListDefinedStoragePools connectListDefinedStoragePools;
+ virDrvConnectListAllStoragePools connectListAllStoragePools;
+ virDrvConnectFindStoragePoolSources connectFindStoragePoolSources;
+ virDrvStoragePoolLookupByName storagePoolLookupByName;
+ virDrvStoragePoolLookupByUUID storagePoolLookupByUUID;
+ virDrvStoragePoolLookupByVolume storagePoolLookupByVolume;
+ virDrvStoragePoolCreateXML storagePoolCreateXML;
+ virDrvStoragePoolDefineXML storagePoolDefineXML;
+ virDrvStoragePoolBuild storagePoolBuild;
+ virDrvStoragePoolUndefine storagePoolUndefine;
+ virDrvStoragePoolCreate storagePoolCreate;
+ virDrvStoragePoolDestroy storagePoolDestroy;
+ virDrvStoragePoolDelete storagePoolDelete;
+ virDrvStoragePoolRefresh storagePoolRefresh;
+ virDrvStoragePoolGetInfo storagePoolGetInfo;
+ virDrvStoragePoolGetXMLDesc storagePoolGetXMLDesc;
+ virDrvStoragePoolGetAutostart storagePoolGetAutostart;
+ virDrvStoragePoolSetAutostart storagePoolSetAutostart;
+ virDrvStoragePoolNumOfVolumes storagePoolNumOfVolumes;
+ virDrvStoragePoolListVolumes storagePoolListVolumes;
+ virDrvStoragePoolListAllVolumes storagePoolListAllVolumes;
+ virDrvStorageVolLookupByName storageVolLookupByName;
+ virDrvStorageVolLookupByKey storageVolLookupByKey;
+ virDrvStorageVolLookupByPath storageVolLookupByPath;
+ virDrvStorageVolCreateXML storageVolCreateXML;
+ virDrvStorageVolCreateXMLFrom storageVolCreateXMLFrom;
+ virDrvStorageVolDownload storageVolDownload;
+ virDrvStorageVolUpload storageVolUpload;
+ virDrvStorageVolDelete storageVolDelete;
+ virDrvStorageVolWipe storageVolWipe;
+ virDrvStorageVolWipePattern storageVolWipePattern;
+ virDrvStorageVolGetInfo storageVolGetInfo;
+ virDrvStorageVolGetXMLDesc storageVolGetXMLDesc;
+ virDrvStorageVolGetPath storageVolGetPath;
+ virDrvStorageVolResize storageVolResize;
+ virDrvStoragePoolIsActive storagePoolIsActive;
+ virDrvStoragePoolIsPersistent storagePoolIsPersistent;
+};
+
+
+#endif /* __VIR_DRIVER_STORAGE_H__ */
diff --git a/src/driver-stream.h b/src/driver-stream.h
new file mode 100644
index 0000000..85b4e3b
--- /dev/null
+++ b/src/driver-stream.h
@@ -0,0 +1,72 @@
+/*
+ * driver-stream.h: entry points for stream drivers
+ *
+ * Copyright (C) 2006-2014 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <
http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __VIR_DRIVER_STREAM_H__
+# define __VIR_DRIVER_STREAM_H__
+
+# ifndef __VIR_DRIVER_H_INCLUDES___
+# error "Don't include this file directly, only use driver.h"
+# endif
+
+typedef int
+(*virDrvStreamSend)(virStreamPtr st,
+ const char *data,
+ size_t nbytes);
+
+typedef int
+(*virDrvStreamRecv)(virStreamPtr st,
+ char *data,
+ size_t nbytes);
+
+typedef int
+(*virDrvStreamEventAddCallback)(virStreamPtr stream,
+ int events,
+ virStreamEventCallback cb,
+ void *opaque,
+ virFreeCallback ff);
+
+typedef int
+(*virDrvStreamEventUpdateCallback)(virStreamPtr stream,
+ int events);
+
+typedef int
+(*virDrvStreamEventRemoveCallback)(virStreamPtr stream);
+
+typedef int
+(*virDrvStreamFinish)(virStreamPtr st);
+
+typedef int
+(*virDrvStreamAbort)(virStreamPtr st);
+
+typedef struct _virStreamDriver virStreamDriver;
+typedef virStreamDriver *virStreamDriverPtr;
+
+struct _virStreamDriver {
+ virDrvStreamSend streamSend;
+ virDrvStreamRecv streamRecv;
+ virDrvStreamEventAddCallback streamEventAddCallback;
+ virDrvStreamEventUpdateCallback streamEventUpdateCallback;
+ virDrvStreamEventRemoveCallback streamEventRemoveCallback;
+ virDrvStreamFinish streamFinish;
+ virDrvStreamAbort streamAbort;
+};
+
+
+#endif /* __VIR_DRIVER_STREAM_H__ */
diff --git a/src/driver.h b/src/driver.h
index 4b5e123..f7e10a1 100644
--- a/src/driver.h
+++ b/src/driver.h
@@ -82,2175 +82,35 @@ typedef enum {
((drv)->connectSupportsFeature ? \
(drv)->connectSupportsFeature((conn), (feature)) > 0 : 0)
-typedef virDrvOpenStatus
-(*virDrvConnectOpen)(virConnectPtr conn,
- virConnectAuthPtr auth,
- unsigned int flags);
-typedef int
-(*virDrvConnectClose)(virConnectPtr conn);
-
-typedef int
-(*virDrvConnectSupportsFeature)(virConnectPtr conn,
- int feature);
-
-typedef const char *
-(*virDrvConnectGetType)(virConnectPtr conn);
-
-typedef int
-(*virDrvConnectGetVersion)(virConnectPtr conn,
- unsigned long *hvVer);
-
-typedef int
-(*virDrvConnectGetLibVersion)(virConnectPtr conn,
- unsigned long *libVer);
-
-typedef char *
-(*virDrvConnectGetHostname)(virConnectPtr conn);
-
-typedef char *
-(*virDrvConnectGetURI)(virConnectPtr conn);
-
-typedef char *
-(*virDrvConnectGetSysinfo)(virConnectPtr conn,
- unsigned int flags);
-
-typedef int
-(*virDrvConnectGetMaxVcpus)(virConnectPtr conn,
- const char *type);
-
-typedef int
-(*virDrvNodeGetInfo)(virConnectPtr conn,
- virNodeInfoPtr info);
-
-typedef char *
-(*virDrvConnectGetCapabilities)(virConnectPtr conn);
-
-typedef char *
-(*virDrvConnectGetDomainCapabilities)(virConnectPtr conn,
- const char *emulatorbin,
- const char *arch,
- const char *machine,
- const char *virttype,
- unsigned int flags);
-
-typedef int
-(*virDrvConnectListDomains)(virConnectPtr conn,
- int *ids,
- int maxids);
-
-typedef int
-(*virDrvConnectNumOfDomains)(virConnectPtr conn);
-
-typedef virDomainPtr
-(*virDrvDomainCreateXML)(virConnectPtr conn,
- const char *xmlDesc,
- unsigned int flags);
-typedef virDomainPtr
-(*virDrvDomainCreateXMLWithFiles)(virConnectPtr conn,
- const char *xmlDesc,
- unsigned int nfiles,
- int *files,
- unsigned int flags);
-
-typedef virDomainPtr
-(*virDrvDomainLookupByID)(virConnectPtr conn,
- int id);
-
-typedef virDomainPtr
-(*virDrvDomainLookupByUUID)(virConnectPtr conn,
- const unsigned char *uuid);
-
-typedef virDomainPtr
-(*virDrvDomainLookupByName)(virConnectPtr conn,
- const char *name);
-
-typedef int
-(*virDrvDomainSuspend)(virDomainPtr domain);
-
-typedef int
-(*virDrvDomainResume)(virDomainPtr domain);
-
-typedef int
- (*virDrvDomainPMSuspendForDuration)(virDomainPtr,
- unsigned int target,
- unsigned long long duration,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainPMWakeup)(virDomainPtr domain,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainShutdown)(virDomainPtr domain);
-
-typedef int
-(*virDrvDomainReboot)(virDomainPtr domain,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainReset)(virDomainPtr domain,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainDestroy)(virDomainPtr domain);
-
-typedef int
-(*virDrvDomainDestroyFlags)(virDomainPtr domain,
- unsigned int flags);
-
-typedef char *
-(*virDrvDomainGetOSType)(virDomainPtr domain);
-
-typedef char *
-(*virDrvDomainGetHostname)(virDomainPtr domain,
- unsigned int flags);
-
-typedef unsigned long long
-(*virDrvDomainGetMaxMemory)(virDomainPtr domain);
-
-typedef int
-(*virDrvDomainSetMaxMemory)(virDomainPtr domain,
- unsigned long memory);
-
-typedef int
-(*virDrvDomainSetMemory)(virDomainPtr domain,
- unsigned long memory);
-
-typedef int
-(*virDrvDomainSetMemoryFlags)(virDomainPtr domain,
- unsigned long memory,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainSetMemoryStatsPeriod)(virDomainPtr domain,
- int period,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainSetMemoryParameters)(virDomainPtr domain,
- virTypedParameterPtr params,
- int nparams,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainGetMemoryParameters)(virDomainPtr domain,
- virTypedParameterPtr params,
- int *nparams,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainSetNumaParameters)(virDomainPtr domain,
- virTypedParameterPtr params,
- int nparams,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainGetNumaParameters)(virDomainPtr domain,
- virTypedParameterPtr params,
- int *nparams,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainSetBlkioParameters)(virDomainPtr domain,
- virTypedParameterPtr params,
- int nparams,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainGetBlkioParameters)(virDomainPtr domain,
- virTypedParameterPtr params,
- int *nparams,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainGetInfo)(virDomainPtr domain,
- virDomainInfoPtr info);
-
-typedef int
-(*virDrvDomainGetState)(virDomainPtr domain,
- int *state,
- int *reason,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainGetControlInfo)(virDomainPtr domain,
- virDomainControlInfoPtr info,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainSave)(virDomainPtr domain,
- const char *to);
-
-typedef int
-(*virDrvDomainSaveFlags)(virDomainPtr domain,
- const char *to,
- const char *dxml,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainRestore)(virConnectPtr conn,
- const char *from);
-
-typedef int
-(*virDrvDomainRestoreFlags)(virConnectPtr conn,
- const char *from,
- const char *dxml,
- unsigned int flags);
-
-typedef char *
-(*virDrvDomainSaveImageGetXMLDesc)(virConnectPtr conn,
- const char *file,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainSaveImageDefineXML)(virConnectPtr conn,
- const char *file,
- const char *dxml,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainCoreDump)(virDomainPtr domain,
- const char *to,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainCoreDumpWithFormat)(virDomainPtr domain,
- const char *to,
- unsigned int dumpformat,
- unsigned int flags);
-
-typedef char *
-(*virDrvDomainScreenshot)(virDomainPtr domain,
- virStreamPtr stream,
- unsigned int screen,
- unsigned int flags);
-
-typedef char *
-(*virDrvDomainGetXMLDesc)(virDomainPtr dom,
- unsigned int flags);
-
-typedef char *
-(*virDrvConnectDomainXMLFromNative)(virConnectPtr conn,
- const char *nativeFormat,
- const char *nativeConfig,
- unsigned int flags);
-
-typedef char *
-(*virDrvConnectDomainXMLToNative)(virConnectPtr conn,
- const char *nativeFormat,
- const char *domainXml,
- unsigned int flags);
-
-typedef int
-(*virDrvConnectListDefinedDomains)(virConnectPtr conn,
- char **const names,
- int maxnames);
-
-typedef int
-(*virDrvConnectListAllDomains)(virConnectPtr conn,
- virDomainPtr **domains,
- unsigned int flags);
-
-typedef int
-(*virDrvConnectNumOfDefinedDomains)(virConnectPtr conn);
-
-typedef int
-(*virDrvDomainCreate)(virDomainPtr dom);
-
-typedef int
-(*virDrvDomainCreateWithFlags)(virDomainPtr dom,
- unsigned int flags);
-typedef int
-(*virDrvDomainCreateWithFiles)(virDomainPtr dom,
- unsigned int nfiles,
- int *files,
- unsigned int flags);
-
-typedef virDomainPtr
-(*virDrvDomainDefineXML)(virConnectPtr conn,
- const char *xml);
-
-typedef int
-(*virDrvDomainUndefine)(virDomainPtr dom);
-
-typedef int
-(*virDrvDomainUndefineFlags)(virDomainPtr dom,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainSetVcpus)(virDomainPtr domain,
- unsigned int nvcpus);
-
-typedef int
-(*virDrvDomainSetVcpusFlags)(virDomainPtr domain,
- unsigned int nvcpus,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainGetVcpusFlags)(virDomainPtr domain,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainPinVcpu)(virDomainPtr domain,
- unsigned int vcpu,
- unsigned char *cpumap,
- int maplen);
-
-typedef int
-(*virDrvDomainPinVcpuFlags)(virDomainPtr domain,
- unsigned int vcpu,
- unsigned char *cpumap,
- int maplen,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainGetVcpuPinInfo)(virDomainPtr domain,
- int ncpumaps,
- unsigned char *cpumaps,
- int maplen,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainPinEmulator)(virDomainPtr domain,
- unsigned char *cpumap,
- int maplen,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainGetEmulatorPinInfo)(virDomainPtr domain,
- unsigned char *cpumaps,
- int maplen,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainGetVcpus)(virDomainPtr domain,
- virVcpuInfoPtr info,
- int maxinfo,
- unsigned char *cpumaps,
- int maplen);
-
-typedef int
-(*virDrvDomainGetMaxVcpus)(virDomainPtr domain);
-
-typedef int
-(*virDrvDomainGetSecurityLabel)(virDomainPtr domain,
- virSecurityLabelPtr seclabel);
-
-typedef int
-(*virDrvDomainGetSecurityLabelList)(virDomainPtr domain,
- virSecurityLabelPtr* seclabels);
-
-typedef int
-(*virDrvNodeGetSecurityModel)(virConnectPtr conn,
- virSecurityModelPtr secmodel);
-
-typedef int
-(*virDrvDomainAttachDevice)(virDomainPtr domain,
- const char *xml);
-
-typedef int
-(*virDrvDomainAttachDeviceFlags)(virDomainPtr domain,
- const char *xml,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainDetachDevice)(virDomainPtr domain,
- const char *xml);
-
-typedef int
-(*virDrvDomainDetachDeviceFlags)(virDomainPtr domain,
- const char *xml,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainUpdateDeviceFlags)(virDomainPtr domain,
- const char *xml,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainGetAutostart)(virDomainPtr domain,
- int *autostart);
-
-typedef int
-(*virDrvDomainSetAutostart)(virDomainPtr domain,
- int autostart);
-
-typedef char *
-(*virDrvDomainGetSchedulerType)(virDomainPtr domain,
- int *nparams);
-
-typedef int
-(*virDrvDomainGetSchedulerParameters)(virDomainPtr domain,
- virTypedParameterPtr params,
- int *nparams);
-
-typedef int
-(*virDrvDomainGetSchedulerParametersFlags)(virDomainPtr domain,
- virTypedParameterPtr params,
- int *nparams,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainSetSchedulerParameters)(virDomainPtr domain,
- virTypedParameterPtr params,
- int nparams);
-
-typedef int
-(*virDrvDomainSetSchedulerParametersFlags)(virDomainPtr domain,
- virTypedParameterPtr params,
- int nparams,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainBlockStats)(virDomainPtr domain,
- const char *path,
- virDomainBlockStatsPtr stats);
-
-typedef int
-(*virDrvDomainBlockStatsFlags)(virDomainPtr domain,
- const char *path,
- virTypedParameterPtr params,
- int *nparams,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainInterfaceStats)(virDomainPtr domain,
- const char *path,
- virDomainInterfaceStatsPtr stats);
-
-typedef int
-(*virDrvDomainSetInterfaceParameters)(virDomainPtr dom,
- const char *device,
- virTypedParameterPtr params,
- int nparams,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainGetInterfaceParameters)(virDomainPtr dom,
- const char *device,
- virTypedParameterPtr params,
- int *nparams,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainMemoryStats)(virDomainPtr domain,
- virDomainMemoryStatPtr stats,
- unsigned int nr_stats,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainBlockPeek)(virDomainPtr domain,
- const char *path,
- unsigned long long offset,
- size_t size,
- void *buffer,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainBlockResize)(virDomainPtr domain,
- const char *path,
- unsigned long long size,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainMemoryPeek)(virDomainPtr domain,
- unsigned long long start,
- size_t size,
- void *buffer,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainGetBlockInfo)(virDomainPtr domain,
- const char *path,
- virDomainBlockInfoPtr info,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainMigratePrepare)(virConnectPtr dconn,
- char **cookie,
- int *cookielen,
- const char *uri_in,
- char **uri_out,
- unsigned long flags,
- const char *dname,
- unsigned long resource);
-
-typedef int
-(*virDrvDomainMigratePerform)(virDomainPtr domain,
- const char *cookie,
- int cookielen,
- const char *uri,
- unsigned long flags,
- const char *dname,
- unsigned long resource);
-
-typedef virDomainPtr
-(*virDrvDomainMigrateFinish)(virConnectPtr dconn,
- const char *dname,
- const char *cookie,
- int cookielen,
- const char *uri,
- unsigned long flags);
-
-typedef int
-(*virDrvNodeGetCPUStats)(virConnectPtr conn,
- int cpuNum,
- virNodeCPUStatsPtr params,
- int *nparams,
- unsigned int flags);
-
-typedef int
-(*virDrvNodeGetMemoryStats)(virConnectPtr conn,
- int cellNum,
- virNodeMemoryStatsPtr params,
- int *nparams,
- unsigned int flags);
-
-typedef int
-(*virDrvNodeGetCellsFreeMemory)(virConnectPtr conn,
- unsigned long long *freeMems,
- int startCell,
- int maxCells);
-
-typedef unsigned long long
-(*virDrvNodeGetFreeMemory)(virConnectPtr conn);
-
-typedef int
-(*virDrvConnectDomainEventRegister)(virConnectPtr conn,
- virConnectDomainEventCallback cb,
- void *opaque,
- virFreeCallback freecb);
-
-typedef int
-(*virDrvConnectDomainEventDeregister)(virConnectPtr conn,
- virConnectDomainEventCallback cb);
-
-typedef int
-(*virDrvDomainMigratePrepare2)(virConnectPtr dconn,
- char **cookie,
- int *cookielen,
- const char *uri_in,
- char **uri_out,
- unsigned long flags,
- const char *dname,
- unsigned long resource,
- const char *dom_xml);
-
-typedef virDomainPtr
-(*virDrvDomainMigrateFinish2)(virConnectPtr dconn,
- const char *dname,
- const char *cookie,
- int cookielen,
- const char *uri,
- unsigned long flags,
- int retcode);
-
-typedef int
-(*virDrvNodeDeviceDettach)(virNodeDevicePtr dev);
-
-typedef int
-(*virDrvNodeDeviceDetachFlags)(virNodeDevicePtr dev,
- const char *driverName,
- unsigned int flags);
-
-typedef int
-(*virDrvNodeDeviceReAttach)(virNodeDevicePtr dev);
-
-typedef int
-(*virDrvNodeDeviceReset)(virNodeDevicePtr dev);
-
-typedef int
-(*virDrvDomainMigratePrepareTunnel)(virConnectPtr dconn,
- virStreamPtr st,
- unsigned long flags,
- const char *dname,
- unsigned long resource,
- const char *dom_xml);
-
-typedef int
-(*virDrvConnectIsEncrypted)(virConnectPtr conn);
-
-typedef int
-(*virDrvConnectIsSecure)(virConnectPtr conn);
-
-typedef int
-(*virDrvConnectIsAlive)(virConnectPtr conn);
-
-typedef int
-(*virDrvDomainIsActive)(virDomainPtr dom);
-
-typedef int
-(*virDrvDomainIsPersistent)(virDomainPtr dom);
-
-typedef int
-(*virDrvDomainIsUpdated)(virDomainPtr dom);
-
-typedef int
-(*virDrvConnectCompareCPU)(virConnectPtr conn,
- const char *cpu,
- unsigned int flags);
-
-typedef char *
-(*virDrvConnectBaselineCPU)(virConnectPtr conn,
- const char **xmlCPUs,
- unsigned int ncpus,
- unsigned int flags);
-
-typedef int
-(*virDrvConnectGetCPUModelNames)(virConnectPtr conn,
- const char *args,
- char ***models,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainGetJobInfo)(virDomainPtr domain,
- virDomainJobInfoPtr info);
-
-typedef int
-(*virDrvDomainGetJobStats)(virDomainPtr domain,
- int *type,
- virTypedParameterPtr *params,
- int *nparams,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainAbortJob)(virDomainPtr domain);
-
-typedef int
-(*virDrvDomainMigrateSetMaxDowntime)(virDomainPtr domain,
- unsigned long long downtime,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainMigrateGetCompressionCache)(virDomainPtr domain,
- unsigned long long *cacheSize,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainMigrateSetCompressionCache)(virDomainPtr domain,
- unsigned long long cacheSize,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainMigrateSetMaxSpeed)(virDomainPtr domain,
- unsigned long bandwidth,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainMigrateGetMaxSpeed)(virDomainPtr domain,
- unsigned long *bandwidth,
- unsigned int flags);
-
-typedef int
-(*virDrvConnectDomainEventRegisterAny)(virConnectPtr conn,
- virDomainPtr dom,
- int eventID,
- virConnectDomainEventGenericCallback cb,
- void *opaque,
- virFreeCallback freecb);
-
-typedef int
-(*virDrvConnectDomainEventDeregisterAny)(virConnectPtr conn,
- int callbackID);
-
-typedef int
-(*virDrvDomainManagedSave)(virDomainPtr domain,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainHasManagedSaveImage)(virDomainPtr domain,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainManagedSaveRemove)(virDomainPtr domain,
- unsigned int flags);
-
-typedef virDomainSnapshotPtr
-(*virDrvDomainSnapshotCreateXML)(virDomainPtr domain,
- const char *xmlDesc,
- unsigned int flags);
-
-typedef char *
-(*virDrvDomainSnapshotGetXMLDesc)(virDomainSnapshotPtr snapshot,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainSnapshotNum)(virDomainPtr domain,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainSnapshotListNames)(virDomainPtr domain,
- char **names,
- int nameslen,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainListAllSnapshots)(virDomainPtr domain,
- virDomainSnapshotPtr **snaps,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainSnapshotNumChildren)(virDomainSnapshotPtr snapshot,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainSnapshotListChildrenNames)(virDomainSnapshotPtr snapshot,
- char **names,
- int nameslen,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainSnapshotListAllChildren)(virDomainSnapshotPtr snapshot,
- virDomainSnapshotPtr **snaps,
- unsigned int flags);
-
-typedef virDomainSnapshotPtr
-(*virDrvDomainSnapshotLookupByName)(virDomainPtr domain,
- const char *name,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainHasCurrentSnapshot)(virDomainPtr domain,
- unsigned int flags);
-
-typedef virDomainSnapshotPtr
-(*virDrvDomainSnapshotGetParent)(virDomainSnapshotPtr snapshot,
- unsigned int flags);
-
-typedef virDomainSnapshotPtr
-(*virDrvDomainSnapshotCurrent)(virDomainPtr domain,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainSnapshotIsCurrent)(virDomainSnapshotPtr snapshot,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainSnapshotHasMetadata)(virDomainSnapshotPtr snapshot,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainRevertToSnapshot)(virDomainSnapshotPtr snapshot,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainSnapshotDelete)(virDomainSnapshotPtr snapshot,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainQemuMonitorCommand)(virDomainPtr domain,
- const char *cmd,
- char **result,
- unsigned int flags);
-
-typedef char *
-(*virDrvDomainQemuAgentCommand)(virDomainPtr domain,
- const char *cmd,
- int timeout,
- unsigned int flags);
-
-/* Choice of unsigned int rather than pid_t is intentional. */
-typedef virDomainPtr
-(*virDrvDomainQemuAttach)(virConnectPtr conn,
- unsigned int pid_value,
- unsigned int flags);
-
-typedef int
-(*virDrvConnectDomainQemuMonitorEventRegister)(virConnectPtr conn,
- virDomainPtr dom,
- const char *event,
- virConnectDomainQemuMonitorEventCallback
cb,
- void *opaque,
- virFreeCallback freecb,
- unsigned int flags);
-
-typedef int
-(*virDrvConnectDomainQemuMonitorEventDeregister)(virConnectPtr conn,
- int callbackID);
-
-typedef int
-(*virDrvDomainOpenConsole)(virDomainPtr dom,
- const char *dev_name,
- virStreamPtr st,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainOpenChannel)(virDomainPtr dom,
- const char *name,
- virStreamPtr st,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainOpenGraphics)(virDomainPtr dom,
- unsigned int idx,
- int fd,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainOpenGraphicsFD)(virDomainPtr dom,
- unsigned int idx,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainInjectNMI)(virDomainPtr dom,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainSendKey)(virDomainPtr dom,
- unsigned int codeset,
- unsigned int holdtime,
- unsigned int *keycodes,
- int nkeycodes,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainSendProcessSignal)(virDomainPtr dom,
- long long pid_value,
- unsigned int signum,
- unsigned int flags);
-
-typedef char *
-(*virDrvDomainMigrateBegin3)(virDomainPtr domain,
- const char *xmlin,
- char **cookieout,
- int *cookieoutlen,
- unsigned long flags,
- const char *dname,
- unsigned long resource);
-
-typedef int
-(*virDrvDomainMigratePrepare3)(virConnectPtr dconn,
- const char *cookiein,
- int cookieinlen,
- char **cookieout,
- int *cookieoutlen,
- const char *uri_in,
- char **uri_out,
- unsigned long flags,
- const char *dname,
- unsigned long resource,
- const char *dom_xml);
-
-typedef int
-(*virDrvDomainMigratePrepareTunnel3)(virConnectPtr dconn,
- virStreamPtr st,
- const char *cookiein,
- int cookieinlen,
- char **cookieout,
- int *cookieoutlen,
- unsigned long flags,
- const char *dname,
- unsigned long resource,
- const char *dom_xml);
-
-
-typedef int
-(*virDrvDomainMigratePerform3)(virDomainPtr dom,
- const char *xmlin,
- const char *cookiein,
- int cookieinlen,
- char **cookieout,
- int *cookieoutlen,
- const char *dconnuri,
- const char *uri,
- unsigned long flags,
- const char *dname,
- unsigned long resource);
-
-typedef virDomainPtr
-(*virDrvDomainMigrateFinish3)(virConnectPtr dconn,
- const char *dname,
- const char *cookiein,
- int cookieinlen,
- char **cookieout,
- int *cookieoutlen,
- const char *dconnuri,
- const char *uri,
- unsigned long flags,
- int cancelled);
-
-typedef int
-(*virDrvDomainMigrateConfirm3)(virDomainPtr domain,
- const char *cookiein,
- int cookieinlen,
- unsigned long flags,
- int cancelled);
-
-typedef int
-(*virDrvNodeSuspendForDuration)(virConnectPtr conn,
- unsigned int target,
- unsigned long long duration,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainBlockJobAbort)(virDomainPtr dom,
- const char *path,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainGetBlockJobInfo)(virDomainPtr dom,
- const char *path,
- virDomainBlockJobInfoPtr info,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainBlockJobSetSpeed)(virDomainPtr dom,
- const char *path,
- unsigned long bandwidth,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainBlockPull)(virDomainPtr dom,
- const char *path,
- unsigned long bandwidth,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainBlockRebase)(virDomainPtr dom,
- const char *path,
- const char *base,
- unsigned long bandwidth,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainBlockCopy)(virDomainPtr dom,
- const char *path,
- const char *destxml,
- virTypedParameterPtr params,
- int nparams,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainBlockCommit)(virDomainPtr dom,
- const char *disk,
- const char *base,
- const char *top,
- unsigned long bandwidth,
- unsigned int flags);
-
-typedef int
-(*virDrvConnectSetKeepAlive)(virConnectPtr conn,
- int interval,
- unsigned int count);
-
-typedef int
-(*virDrvDomainSetBlockIoTune)(virDomainPtr dom,
- const char *disk,
- virTypedParameterPtr params,
- int nparams,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainGetBlockIoTune)(virDomainPtr dom,
- const char *disk,
- virTypedParameterPtr params,
- int *nparams,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainShutdownFlags)(virDomainPtr domain,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainGetCPUStats)(virDomainPtr domain,
- virTypedParameterPtr params,
- unsigned int nparams,
- int start_cpu,
- unsigned int ncpus,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainGetDiskErrors)(virDomainPtr dom,
- virDomainDiskErrorPtr errors,
- unsigned int maxerrors,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainSetMetadata)(virDomainPtr dom,
- int type,
- const char *metadata,
- const char *key,
- const char *uri,
- unsigned int flags);
-
-typedef char *
-(*virDrvDomainGetMetadata)(virDomainPtr dom,
- int type,
- const char *uri,
- unsigned int flags);
-
-typedef int
-(*virDrvNodeGetMemoryParameters)(virConnectPtr conn,
- virTypedParameterPtr params,
- int *nparams,
- unsigned int flags);
-
-typedef int
-(*virDrvNodeSetMemoryParameters)(virConnectPtr conn,
- virTypedParameterPtr params,
- int nparams,
- unsigned int flags);
-
-typedef int
-(*virDrvNodeGetCPUMap)(virConnectPtr conn,
- unsigned char **cpumap,
- unsigned int *online,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainFSTrim)(virDomainPtr dom,
- const char *mountPoint,
- unsigned long long minimum,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainGetTime)(virDomainPtr dom,
- long long *seconds,
- unsigned int *nseconds,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainSetTime)(virDomainPtr dom,
- long long seconds,
- unsigned int nseconds,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainLxcOpenNamespace)(virDomainPtr dom,
- int **fdlist,
- unsigned int flags);
-
-typedef char *
-(*virDrvDomainMigrateBegin3Params)(virDomainPtr domain,
- virTypedParameterPtr params,
- int nparams,
- char **cookieout,
- int *cookieoutlen,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainMigratePrepare3Params)(virConnectPtr dconn,
- virTypedParameterPtr params,
- int nparams,
- const char *cookiein,
- int cookieinlen,
- char **cookieout,
- int *cookieoutlen,
- char **uri_out,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainMigratePrepareTunnel3Params)(virConnectPtr dconn,
- virStreamPtr st,
- virTypedParameterPtr params,
- int nparams,
- const char *cookiein,
- int cookieinlen,
- char **cookieout,
- int *cookieoutlen,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainMigratePerform3Params)(virDomainPtr dom,
- const char *dconnuri,
- virTypedParameterPtr params,
- int nparams,
- const char *cookiein,
- int cookieinlen,
- char **cookieout,
- int *cookieoutlen,
- unsigned int flags);
-
-typedef virDomainPtr
-(*virDrvDomainMigrateFinish3Params)(virConnectPtr dconn,
- virTypedParameterPtr params,
- int nparams,
- const char *cookiein,
- int cookieinlen,
- char **cookieout,
- int *cookieoutlen,
- unsigned int flags,
- int cancelled);
-
-typedef int
-(*virDrvDomainMigrateConfirm3Params)(virDomainPtr domain,
- virTypedParameterPtr params,
- int nparams,
- const char *cookiein,
- int cookieinlen,
- unsigned int flags,
- int cancelled);
-
-typedef int
-(*virDrvDomainFSFreeze)(virDomainPtr dom,
- const char **mountpoints,
- unsigned int nmountpoints,
- unsigned int flags);
-
-typedef int
-(*virDrvDomainFSThaw)(virDomainPtr dom,
- const char **mountpoints,
- unsigned int nmountpoints,
- unsigned int flags);
-
-typedef int
-(*virDrvNodeGetFreePages)(virConnectPtr conn,
- unsigned int npages,
- unsigned int *pages,
- int startCell,
- unsigned int cellCount,
- unsigned long long *counts,
- unsigned int flags);
-
-
-typedef int
-(*virDrvConnectGetAllDomainStats)(virConnectPtr conn,
- virDomainPtr *doms,
- unsigned int ndoms,
- unsigned int stats,
- virDomainStatsRecordPtr **retStats,
- unsigned int flags);
-
-typedef int
-(*virDrvNodeAllocPages)(virConnectPtr conn,
- unsigned int npages,
- unsigned int *pageSizes,
- unsigned long long *pageCounts,
- int startCell,
- unsigned int cellCount,
- unsigned int flags);
-
-typedef struct _virHypervisorDriver virHypervisorDriver;
-typedef virHypervisorDriver *virHypervisorDriverPtr;
-
-/**
- * _virHypervisorDriver:
- *
- * Structure associated to a virtualization driver, defining the various
- * entry points for it.
- *
- * All drivers must support the following fields/methods:
- * - no
- * - name
- * - open
- * - close
- */
-struct _virHypervisorDriver {
- int no; /* the number virDrvNo */
- const char *name; /* the name of the driver */
- virDrvConnectOpen connectOpen;
- virDrvConnectClose connectClose;
- virDrvConnectSupportsFeature connectSupportsFeature;
- virDrvConnectGetType connectGetType;
- virDrvConnectGetVersion connectGetVersion;
- virDrvConnectGetLibVersion connectGetLibVersion;
- virDrvConnectGetHostname connectGetHostname;
- virDrvConnectGetSysinfo connectGetSysinfo;
- virDrvConnectGetMaxVcpus connectGetMaxVcpus;
- virDrvNodeGetInfo nodeGetInfo;
- virDrvConnectGetCapabilities connectGetCapabilities;
- virDrvConnectListDomains connectListDomains;
- virDrvConnectNumOfDomains connectNumOfDomains;
- virDrvConnectListAllDomains connectListAllDomains;
- virDrvDomainCreateXML domainCreateXML;
- virDrvDomainCreateXMLWithFiles domainCreateXMLWithFiles;
- virDrvDomainLookupByID domainLookupByID;
- virDrvDomainLookupByUUID domainLookupByUUID;
- virDrvDomainLookupByName domainLookupByName;
- virDrvDomainSuspend domainSuspend;
- virDrvDomainResume domainResume;
- virDrvDomainPMSuspendForDuration domainPMSuspendForDuration;
- virDrvDomainPMWakeup domainPMWakeup;
- virDrvDomainShutdown domainShutdown;
- virDrvDomainShutdownFlags domainShutdownFlags;
- virDrvDomainReboot domainReboot;
- virDrvDomainReset domainReset;
- virDrvDomainDestroy domainDestroy;
- virDrvDomainDestroyFlags domainDestroyFlags;
- virDrvDomainGetOSType domainGetOSType;
- virDrvDomainGetHostname domainGetHostname;
- virDrvDomainGetMaxMemory domainGetMaxMemory;
- virDrvDomainSetMaxMemory domainSetMaxMemory;
- virDrvDomainSetMemory domainSetMemory;
- virDrvDomainSetMemoryFlags domainSetMemoryFlags;
- virDrvDomainSetMemoryStatsPeriod domainSetMemoryStatsPeriod;
- virDrvDomainSetMemoryParameters domainSetMemoryParameters;
- virDrvDomainGetMemoryParameters domainGetMemoryParameters;
- virDrvDomainSetNumaParameters domainSetNumaParameters;
- virDrvDomainGetNumaParameters domainGetNumaParameters;
- virDrvDomainSetBlkioParameters domainSetBlkioParameters;
- virDrvDomainGetBlkioParameters domainGetBlkioParameters;
- virDrvDomainGetInfo domainGetInfo;
- virDrvDomainGetState domainGetState;
- virDrvDomainGetControlInfo domainGetControlInfo;
- virDrvDomainSave domainSave;
- virDrvDomainSaveFlags domainSaveFlags;
- virDrvDomainRestore domainRestore;
- virDrvDomainRestoreFlags domainRestoreFlags;
- virDrvDomainSaveImageGetXMLDesc domainSaveImageGetXMLDesc;
- virDrvDomainSaveImageDefineXML domainSaveImageDefineXML;
- virDrvDomainCoreDump domainCoreDump;
- virDrvDomainCoreDumpWithFormat domainCoreDumpWithFormat;
- virDrvDomainScreenshot domainScreenshot;
- virDrvDomainSetVcpus domainSetVcpus;
- virDrvDomainSetVcpusFlags domainSetVcpusFlags;
- virDrvDomainGetVcpusFlags domainGetVcpusFlags;
- virDrvDomainPinVcpu domainPinVcpu;
- virDrvDomainPinVcpuFlags domainPinVcpuFlags;
- virDrvDomainGetVcpuPinInfo domainGetVcpuPinInfo;
- virDrvDomainPinEmulator domainPinEmulator;
- virDrvDomainGetEmulatorPinInfo domainGetEmulatorPinInfo;
- virDrvDomainGetVcpus domainGetVcpus;
- virDrvDomainGetMaxVcpus domainGetMaxVcpus;
- virDrvDomainGetSecurityLabel domainGetSecurityLabel;
- virDrvDomainGetSecurityLabelList domainGetSecurityLabelList;
- virDrvNodeGetSecurityModel nodeGetSecurityModel;
- virDrvDomainGetXMLDesc domainGetXMLDesc;
- virDrvConnectDomainXMLFromNative connectDomainXMLFromNative;
- virDrvConnectDomainXMLToNative connectDomainXMLToNative;
- virDrvConnectListDefinedDomains connectListDefinedDomains;
- virDrvConnectNumOfDefinedDomains connectNumOfDefinedDomains;
- virDrvDomainCreate domainCreate;
- virDrvDomainCreateWithFlags domainCreateWithFlags;
- virDrvDomainCreateWithFiles domainCreateWithFiles;
- virDrvDomainDefineXML domainDefineXML;
- virDrvDomainUndefine domainUndefine;
- virDrvDomainUndefineFlags domainUndefineFlags;
- virDrvDomainAttachDevice domainAttachDevice;
- virDrvDomainAttachDeviceFlags domainAttachDeviceFlags;
- virDrvDomainDetachDevice domainDetachDevice;
- virDrvDomainDetachDeviceFlags domainDetachDeviceFlags;
- virDrvDomainUpdateDeviceFlags domainUpdateDeviceFlags;
- virDrvDomainGetAutostart domainGetAutostart;
- virDrvDomainSetAutostart domainSetAutostart;
- virDrvDomainGetSchedulerType domainGetSchedulerType;
- virDrvDomainGetSchedulerParameters domainGetSchedulerParameters;
- virDrvDomainGetSchedulerParametersFlags domainGetSchedulerParametersFlags;
- virDrvDomainSetSchedulerParameters domainSetSchedulerParameters;
- virDrvDomainSetSchedulerParametersFlags domainSetSchedulerParametersFlags;
- virDrvDomainMigratePrepare domainMigratePrepare;
- virDrvDomainMigratePerform domainMigratePerform;
- virDrvDomainMigrateFinish domainMigrateFinish;
- virDrvDomainBlockResize domainBlockResize;
- virDrvDomainBlockStats domainBlockStats;
- virDrvDomainBlockStatsFlags domainBlockStatsFlags;
- virDrvDomainInterfaceStats domainInterfaceStats;
- virDrvDomainSetInterfaceParameters domainSetInterfaceParameters;
- virDrvDomainGetInterfaceParameters domainGetInterfaceParameters;
- virDrvDomainMemoryStats domainMemoryStats;
- virDrvDomainBlockPeek domainBlockPeek;
- virDrvDomainMemoryPeek domainMemoryPeek;
- virDrvDomainGetBlockInfo domainGetBlockInfo;
- virDrvNodeGetCPUStats nodeGetCPUStats;
- virDrvNodeGetMemoryStats nodeGetMemoryStats;
- virDrvNodeGetCellsFreeMemory nodeGetCellsFreeMemory;
- virDrvNodeGetFreeMemory nodeGetFreeMemory;
- virDrvConnectDomainEventRegister connectDomainEventRegister;
- virDrvConnectDomainEventDeregister connectDomainEventDeregister;
- virDrvDomainMigratePrepare2 domainMigratePrepare2;
- virDrvDomainMigrateFinish2 domainMigrateFinish2;
- virDrvNodeDeviceDettach nodeDeviceDettach;
- virDrvNodeDeviceDetachFlags nodeDeviceDetachFlags;
- virDrvNodeDeviceReAttach nodeDeviceReAttach;
- virDrvNodeDeviceReset nodeDeviceReset;
- virDrvDomainMigratePrepareTunnel domainMigratePrepareTunnel;
- virDrvConnectIsEncrypted connectIsEncrypted;
- virDrvConnectIsSecure connectIsSecure;
- virDrvDomainIsActive domainIsActive;
- virDrvDomainIsPersistent domainIsPersistent;
- virDrvDomainIsUpdated domainIsUpdated;
- virDrvConnectCompareCPU connectCompareCPU;
- virDrvConnectBaselineCPU connectBaselineCPU;
- virDrvDomainGetJobInfo domainGetJobInfo;
- virDrvDomainGetJobStats domainGetJobStats;
- virDrvDomainAbortJob domainAbortJob;
- virDrvDomainMigrateSetMaxDowntime domainMigrateSetMaxDowntime;
- virDrvDomainMigrateGetCompressionCache domainMigrateGetCompressionCache;
- virDrvDomainMigrateSetCompressionCache domainMigrateSetCompressionCache;
- virDrvDomainMigrateGetMaxSpeed domainMigrateGetMaxSpeed;
- virDrvDomainMigrateSetMaxSpeed domainMigrateSetMaxSpeed;
- virDrvConnectDomainEventRegisterAny connectDomainEventRegisterAny;
- virDrvConnectDomainEventDeregisterAny connectDomainEventDeregisterAny;
- virDrvDomainManagedSave domainManagedSave;
- virDrvDomainHasManagedSaveImage domainHasManagedSaveImage;
- virDrvDomainManagedSaveRemove domainManagedSaveRemove;
- virDrvDomainSnapshotCreateXML domainSnapshotCreateXML;
- virDrvDomainSnapshotGetXMLDesc domainSnapshotGetXMLDesc;
- virDrvDomainSnapshotNum domainSnapshotNum;
- virDrvDomainSnapshotListNames domainSnapshotListNames;
- virDrvDomainListAllSnapshots domainListAllSnapshots;
- virDrvDomainSnapshotNumChildren domainSnapshotNumChildren;
- virDrvDomainSnapshotListChildrenNames domainSnapshotListChildrenNames;
- virDrvDomainSnapshotListAllChildren domainSnapshotListAllChildren;
- virDrvDomainSnapshotLookupByName domainSnapshotLookupByName;
- virDrvDomainHasCurrentSnapshot domainHasCurrentSnapshot;
- virDrvDomainSnapshotGetParent domainSnapshotGetParent;
- virDrvDomainSnapshotCurrent domainSnapshotCurrent;
- virDrvDomainSnapshotIsCurrent domainSnapshotIsCurrent;
- virDrvDomainSnapshotHasMetadata domainSnapshotHasMetadata;
- virDrvDomainRevertToSnapshot domainRevertToSnapshot;
- virDrvDomainSnapshotDelete domainSnapshotDelete;
- virDrvDomainQemuMonitorCommand domainQemuMonitorCommand;
- virDrvDomainQemuAttach domainQemuAttach;
- virDrvDomainQemuAgentCommand domainQemuAgentCommand;
- virDrvConnectDomainQemuMonitorEventRegister connectDomainQemuMonitorEventRegister;
- virDrvConnectDomainQemuMonitorEventDeregister
connectDomainQemuMonitorEventDeregister;
- virDrvDomainOpenConsole domainOpenConsole;
- virDrvDomainOpenChannel domainOpenChannel;
- virDrvDomainOpenGraphics domainOpenGraphics;
- virDrvDomainOpenGraphicsFD domainOpenGraphicsFD;
- virDrvDomainInjectNMI domainInjectNMI;
- virDrvDomainMigrateBegin3 domainMigrateBegin3;
- virDrvDomainMigratePrepare3 domainMigratePrepare3;
- virDrvDomainMigratePrepareTunnel3 domainMigratePrepareTunnel3;
- virDrvDomainMigratePerform3 domainMigratePerform3;
- virDrvDomainMigrateFinish3 domainMigrateFinish3;
- virDrvDomainMigrateConfirm3 domainMigrateConfirm3;
- virDrvDomainSendKey domainSendKey;
- virDrvDomainBlockJobAbort domainBlockJobAbort;
- virDrvDomainGetBlockJobInfo domainGetBlockJobInfo;
- virDrvDomainBlockJobSetSpeed domainBlockJobSetSpeed;
- virDrvDomainBlockPull domainBlockPull;
- virDrvDomainBlockRebase domainBlockRebase;
- virDrvDomainBlockCopy domainBlockCopy;
- virDrvDomainBlockCommit domainBlockCommit;
- virDrvConnectSetKeepAlive connectSetKeepAlive;
- virDrvConnectIsAlive connectIsAlive;
- virDrvNodeSuspendForDuration nodeSuspendForDuration;
- virDrvDomainSetBlockIoTune domainSetBlockIoTune;
- virDrvDomainGetBlockIoTune domainGetBlockIoTune;
- virDrvDomainGetCPUStats domainGetCPUStats;
- virDrvDomainGetDiskErrors domainGetDiskErrors;
- virDrvDomainSetMetadata domainSetMetadata;
- virDrvDomainGetMetadata domainGetMetadata;
- virDrvNodeGetMemoryParameters nodeGetMemoryParameters;
- virDrvNodeSetMemoryParameters nodeSetMemoryParameters;
- virDrvNodeGetCPUMap nodeGetCPUMap;
- virDrvDomainFSTrim domainFSTrim;
- virDrvDomainSendProcessSignal domainSendProcessSignal;
- virDrvDomainLxcOpenNamespace domainLxcOpenNamespace;
- virDrvDomainMigrateBegin3Params domainMigrateBegin3Params;
- virDrvDomainMigratePrepare3Params domainMigratePrepare3Params;
- virDrvDomainMigratePrepareTunnel3Params domainMigratePrepareTunnel3Params;
- virDrvDomainMigratePerform3Params domainMigratePerform3Params;
- virDrvDomainMigrateFinish3Params domainMigrateFinish3Params;
- virDrvDomainMigrateConfirm3Params domainMigrateConfirm3Params;
- virDrvConnectGetCPUModelNames connectGetCPUModelNames;
- virDrvDomainFSFreeze domainFSFreeze;
- virDrvDomainFSThaw domainFSThaw;
- virDrvDomainGetTime domainGetTime;
- virDrvDomainSetTime domainSetTime;
- virDrvNodeGetFreePages nodeGetFreePages;
- virDrvConnectGetDomainCapabilities connectGetDomainCapabilities;
- virDrvConnectGetAllDomainStats connectGetAllDomainStats;
- virDrvNodeAllocPages nodeAllocPages;
-};
-
-
-typedef virDrvConnectOpen virDrvNetworkOpen;
-typedef virDrvConnectClose virDrvNetworkClose;
-
-typedef int
-(*virDrvConnectNumOfNetworks)(virConnectPtr conn);
-
-typedef int
-(*virDrvConnectListNetworks)(virConnectPtr conn,
- char **const names,
- int maxnames);
-
-typedef int
-(*virDrvConnectNumOfDefinedNetworks)(virConnectPtr conn);
-
-typedef int
-(*virDrvConnectListDefinedNetworks)(virConnectPtr conn,
- char **const names,
- int maxnames);
-
-typedef int
-(*virDrvConnectListAllNetworks)(virConnectPtr conn,
- virNetworkPtr **nets,
- unsigned int flags);
-
-typedef int
-(*virDrvConnectNetworkEventRegisterAny)(virConnectPtr conn,
- virNetworkPtr dom,
- int eventID,
- virConnectNetworkEventGenericCallback cb,
- void *opaque,
- virFreeCallback freecb);
-
-typedef int
-(*virDrvConnectNetworkEventDeregisterAny)(virConnectPtr conn,
- int callbackID);
-
-typedef virNetworkPtr
-(*virDrvNetworkLookupByUUID)(virConnectPtr conn,
- const unsigned char *uuid);
-
-typedef virNetworkPtr
-(*virDrvNetworkLookupByName)(virConnectPtr conn,
- const char *name);
-
-typedef virNetworkPtr
-(*virDrvNetworkCreateXML)(virConnectPtr conn,
- const char *xmlDesc);
-
-typedef virNetworkPtr
-(*virDrvNetworkDefineXML)(virConnectPtr conn,
- const char *xml);
-
-typedef int
-(*virDrvNetworkUndefine)(virNetworkPtr network);
-
-typedef int
-(*virDrvNetworkUpdate)(virNetworkPtr network,
- unsigned int command, /* virNetworkUpdateCommand */
- unsigned int section, /* virNetworkUpdateSection */
- int parentIndex,
- const char *xml,
- unsigned int flags);
-
-typedef int
-(*virDrvNetworkCreate)(virNetworkPtr network);
-
-typedef int
-(*virDrvNetworkDestroy)(virNetworkPtr network);
-
-typedef char *
-(*virDrvNetworkGetXMLDesc)(virNetworkPtr network,
- unsigned int flags);
-
-typedef char *
-(*virDrvNetworkGetBridgeName)(virNetworkPtr network);
-
-typedef int
-(*virDrvNetworkGetAutostart)(virNetworkPtr network,
- int *autostart);
-
-typedef int
-(*virDrvNetworkSetAutostart)(virNetworkPtr network,
- int autostart);
-
-typedef int
-(*virDrvNetworkIsActive)(virNetworkPtr net);
-
-typedef int
-(*virDrvNetworkIsPersistent)(virNetworkPtr net);
-
-typedef int
-(*virDrvNetworkGetDHCPLeases)(virNetworkPtr network,
- const char *mac,
- virNetworkDHCPLeasePtr **leases,
- unsigned int flags);
-
-typedef struct _virNetworkDriver virNetworkDriver;
-typedef virNetworkDriver *virNetworkDriverPtr;
-
-/**
- * _virNetworkDriver:
- *
- * Structure associated to a network virtualization driver, defining the various
- * entry points for it.
- *
- * All drivers must support the following fields/methods:
- * - open
- * - close
- */
-struct _virNetworkDriver {
- const char * name; /* the name of the driver */
- virDrvNetworkOpen networkOpen;
- virDrvNetworkClose networkClose;
- virDrvConnectNumOfNetworks connectNumOfNetworks;
- virDrvConnectListNetworks connectListNetworks;
- virDrvConnectNumOfDefinedNetworks connectNumOfDefinedNetworks;
- virDrvConnectListDefinedNetworks connectListDefinedNetworks;
- virDrvConnectListAllNetworks connectListAllNetworks;
- virDrvConnectNetworkEventRegisterAny connectNetworkEventRegisterAny;
- virDrvConnectNetworkEventDeregisterAny connectNetworkEventDeregisterAny;
- virDrvNetworkLookupByUUID networkLookupByUUID;
- virDrvNetworkLookupByName networkLookupByName;
- virDrvNetworkCreateXML networkCreateXML;
- virDrvNetworkDefineXML networkDefineXML;
- virDrvNetworkUndefine networkUndefine;
- virDrvNetworkUpdate networkUpdate;
- virDrvNetworkCreate networkCreate;
- virDrvNetworkDestroy networkDestroy;
- virDrvNetworkGetXMLDesc networkGetXMLDesc;
- virDrvNetworkGetBridgeName networkGetBridgeName;
- virDrvNetworkGetAutostart networkGetAutostart;
- virDrvNetworkSetAutostart networkSetAutostart;
- virDrvNetworkIsActive networkIsActive;
- virDrvNetworkIsPersistent networkIsPersistent;
- virDrvNetworkGetDHCPLeases networkGetDHCPLeases;
-};
-
-
-typedef virDrvConnectOpen virDrvInterfaceOpen;
-typedef virDrvConnectClose virDrvInterfaceClose;
-
-typedef int
-(*virDrvConnectNumOfInterfaces)(virConnectPtr conn);
-
-typedef int
-(*virDrvConnectListInterfaces)(virConnectPtr conn,
- char **const names,
- int maxnames);
-
-typedef int
-(*virDrvConnectNumOfDefinedInterfaces)(virConnectPtr conn);
-
-typedef int
-(*virDrvConnectListDefinedInterfaces)(virConnectPtr conn,
- char **const names,
- int maxnames);
-
-typedef int
-(*virDrvConnectListAllInterfaces)(virConnectPtr conn,
- virInterfacePtr **ifaces,
- unsigned int flags);
-
-typedef virInterfacePtr
-(*virDrvInterfaceLookupByName)(virConnectPtr conn,
- const char *name);
-
-typedef virInterfacePtr
-(*virDrvInterfaceLookupByMACString)(virConnectPtr conn,
- const char *mac);
-
-typedef char *
-(*virDrvInterfaceGetXMLDesc)(virInterfacePtr iface,
- unsigned int flags);
-
-typedef virInterfacePtr
-(*virDrvInterfaceDefineXML)(virConnectPtr conn,
- const char *xmlDesc,
- unsigned int flags);
-
-typedef int
-(*virDrvInterfaceUndefine)(virInterfacePtr iface);
-
-typedef int
-(*virDrvInterfaceCreate)(virInterfacePtr iface,
- unsigned int flags);
-
-typedef int
-(*virDrvInterfaceDestroy)(virInterfacePtr iface,
- unsigned int flags);
-
-typedef int
-(*virDrvInterfaceIsActive)(virInterfacePtr iface);
-
-typedef int
-(*virDrvInterfaceChangeBegin)(virConnectPtr conn,
- unsigned int flags);
-
-typedef int
-(*virDrvInterfaceChangeCommit)(virConnectPtr conn,
- unsigned int flags);
-
-typedef int
-(*virDrvInterfaceChangeRollback)(virConnectPtr conn,
- unsigned int flags);
-
-typedef struct _virInterfaceDriver virInterfaceDriver;
-typedef virInterfaceDriver *virInterfaceDriverPtr;
-
-/**
- * _virInterfaceDriver:
- *
- * Structure associated to a network interface driver, defining the various
- * entry points for it.
- *
- * All drivers must support the following fields/methods:
- * - open
- * - close
- */
-struct _virInterfaceDriver {
- const char *name; /* the name of the driver */
- virDrvInterfaceOpen interfaceOpen;
- virDrvInterfaceClose interfaceClose;
- virDrvConnectNumOfInterfaces connectNumOfInterfaces;
- virDrvConnectListInterfaces connectListInterfaces;
- virDrvConnectNumOfDefinedInterfaces connectNumOfDefinedInterfaces;
- virDrvConnectListDefinedInterfaces connectListDefinedInterfaces;
- virDrvConnectListAllInterfaces connectListAllInterfaces;
- virDrvInterfaceLookupByName interfaceLookupByName;
- virDrvInterfaceLookupByMACString interfaceLookupByMACString;
- virDrvInterfaceGetXMLDesc interfaceGetXMLDesc;
- virDrvInterfaceDefineXML interfaceDefineXML;
- virDrvInterfaceUndefine interfaceUndefine;
- virDrvInterfaceCreate interfaceCreate;
- virDrvInterfaceDestroy interfaceDestroy;
- virDrvInterfaceIsActive interfaceIsActive;
- virDrvInterfaceChangeBegin interfaceChangeBegin;
- virDrvInterfaceChangeCommit interfaceChangeCommit;
- virDrvInterfaceChangeRollback interfaceChangeRollback;
-};
-
-
-typedef virDrvConnectOpen virDrvStorageOpen;
-typedef virDrvConnectClose virDrvStorageClose;
-
-
-typedef int
-(*virDrvConnectNumOfStoragePools)(virConnectPtr conn);
-
-typedef int
-(*virDrvConnectListStoragePools)(virConnectPtr conn,
- char **const names,
- int maxnames);
-
-typedef int
-(*virDrvConnectNumOfDefinedStoragePools)(virConnectPtr conn);
-
-typedef int
-(*virDrvConnectListDefinedStoragePools)(virConnectPtr conn,
- char **const names,
- int maxnames);
-
-typedef int
-(*virDrvConnectListAllStoragePools)(virConnectPtr conn,
- virStoragePoolPtr **pools,
- unsigned int flags);
-
-typedef char *
-(*virDrvConnectFindStoragePoolSources)(virConnectPtr conn,
- const char *type,
- const char *srcSpec,
- unsigned int flags);
-
-typedef virStoragePoolPtr
-(*virDrvStoragePoolLookupByName)(virConnectPtr conn,
- const char *name);
-
-typedef virStoragePoolPtr
-(*virDrvStoragePoolLookupByUUID)(virConnectPtr conn,
- const unsigned char *uuid);
-
-typedef virStoragePoolPtr
-(*virDrvStoragePoolLookupByVolume)(virStorageVolPtr vol);
-
-typedef virStoragePoolPtr
-(*virDrvStoragePoolCreateXML)(virConnectPtr conn,
- const char *xmlDesc,
- unsigned int flags);
-
-typedef virStoragePoolPtr
-(*virDrvStoragePoolDefineXML)(virConnectPtr conn,
- const char *xmlDesc,
- unsigned int flags);
-
-typedef int
-(*virDrvStoragePoolUndefine)(virStoragePoolPtr pool);
-
-typedef int
-(*virDrvStoragePoolBuild)(virStoragePoolPtr pool,
- unsigned int flags);
-
-typedef int
-(*virDrvStoragePoolCreate)(virStoragePoolPtr pool,
- unsigned int flags);
-
-typedef int
-(*virDrvStoragePoolDestroy)(virStoragePoolPtr pool);
-
-typedef int
-(*virDrvStoragePoolDelete)(virStoragePoolPtr pool,
- unsigned int flags);
-
-typedef int
-(*virDrvStoragePoolRefresh)(virStoragePoolPtr pool,
- unsigned int flags);
-
-typedef int
-(*virDrvStoragePoolGetInfo)(virStoragePoolPtr vol,
- virStoragePoolInfoPtr info);
-
-typedef char *
-(*virDrvStoragePoolGetXMLDesc)(virStoragePoolPtr pool,
- unsigned int flags);
-
-typedef int
-(*virDrvStoragePoolGetAutostart)(virStoragePoolPtr pool,
- int *autostart);
-
-typedef int
-(*virDrvStoragePoolSetAutostart)(virStoragePoolPtr pool,
- int autostart);
-
-typedef int
-(*virDrvStoragePoolNumOfVolumes)(virStoragePoolPtr pool);
-
-typedef int
-(*virDrvStoragePoolListVolumes)(virStoragePoolPtr pool,
- char **const names,
- int maxnames);
-
-typedef int
-(*virDrvStoragePoolListAllVolumes)(virStoragePoolPtr pool,
- virStorageVolPtr **vols,
- unsigned int flags);
-
-typedef virStorageVolPtr
-(*virDrvStorageVolLookupByName)(virStoragePoolPtr pool,
- const char *name);
-
-typedef virStorageVolPtr
-(*virDrvStorageVolLookupByKey)(virConnectPtr pool,
- const char *key);
-
-typedef virStorageVolPtr
-(*virDrvStorageVolLookupByPath)(virConnectPtr pool,
- const char *path);
-
-typedef virStorageVolPtr
-(*virDrvStorageVolCreateXML)(virStoragePoolPtr pool,
- const char *xmldesc,
- unsigned int flags);
-
-typedef int
-(*virDrvStorageVolDelete)(virStorageVolPtr vol,
- unsigned int flags);
-
-typedef int
-(*virDrvStorageVolWipe)(virStorageVolPtr vol,
- unsigned int flags);
-
-typedef int
-(*virDrvStorageVolWipePattern)(virStorageVolPtr vol,
- unsigned int algorithm,
- unsigned int flags);
-
-typedef int
-(*virDrvStorageVolGetInfo)(virStorageVolPtr vol,
- virStorageVolInfoPtr info);
-
-typedef char *
-(*virDrvStorageVolGetXMLDesc)(virStorageVolPtr pool,
- unsigned int flags);
-
-typedef char *
-(*virDrvStorageVolGetPath)(virStorageVolPtr vol);
-
-typedef virStorageVolPtr
-(*virDrvStorageVolCreateXMLFrom)(virStoragePoolPtr pool,
- const char *xmldesc,
- virStorageVolPtr clonevol,
- unsigned int flags);
-
-typedef int
-(*virDrvStorageVolDownload)(virStorageVolPtr vol,
- virStreamPtr stream,
- unsigned long long offset,
- unsigned long long length,
- unsigned int flags);
-
-typedef int
-(*virDrvStorageVolUpload)(virStorageVolPtr vol,
- virStreamPtr stream,
- unsigned long long offset,
- unsigned long long length,
- unsigned int flags);
-
-typedef int
-(*virDrvStorageVolResize)(virStorageVolPtr vol,
- unsigned long long capacity,
- unsigned int flags);
-
-typedef int
-(*virDrvStoragePoolIsActive)(virStoragePoolPtr pool);
-
-typedef int
-(*virDrvStoragePoolIsPersistent)(virStoragePoolPtr pool);
-
-
-
-typedef struct _virStorageDriver virStorageDriver;
-typedef virStorageDriver *virStorageDriverPtr;
-
-/**
- * _virStorageDriver:
- *
- * Structure associated to a storage driver, defining the various
- * entry points for it.
- *
- * All drivers must support the following fields/methods:
- * - open
- * - close
- */
-struct _virStorageDriver {
- const char * name; /* the name of the driver */
- virDrvStorageOpen storageOpen;
- virDrvStorageClose storageClose;
- virDrvConnectNumOfStoragePools connectNumOfStoragePools;
- virDrvConnectListStoragePools connectListStoragePools;
- virDrvConnectNumOfDefinedStoragePools connectNumOfDefinedStoragePools;
- virDrvConnectListDefinedStoragePools connectListDefinedStoragePools;
- virDrvConnectListAllStoragePools connectListAllStoragePools;
- virDrvConnectFindStoragePoolSources connectFindStoragePoolSources;
- virDrvStoragePoolLookupByName storagePoolLookupByName;
- virDrvStoragePoolLookupByUUID storagePoolLookupByUUID;
- virDrvStoragePoolLookupByVolume storagePoolLookupByVolume;
- virDrvStoragePoolCreateXML storagePoolCreateXML;
- virDrvStoragePoolDefineXML storagePoolDefineXML;
- virDrvStoragePoolBuild storagePoolBuild;
- virDrvStoragePoolUndefine storagePoolUndefine;
- virDrvStoragePoolCreate storagePoolCreate;
- virDrvStoragePoolDestroy storagePoolDestroy;
- virDrvStoragePoolDelete storagePoolDelete;
- virDrvStoragePoolRefresh storagePoolRefresh;
- virDrvStoragePoolGetInfo storagePoolGetInfo;
- virDrvStoragePoolGetXMLDesc storagePoolGetXMLDesc;
- virDrvStoragePoolGetAutostart storagePoolGetAutostart;
- virDrvStoragePoolSetAutostart storagePoolSetAutostart;
- virDrvStoragePoolNumOfVolumes storagePoolNumOfVolumes;
- virDrvStoragePoolListVolumes storagePoolListVolumes;
- virDrvStoragePoolListAllVolumes storagePoolListAllVolumes;
- virDrvStorageVolLookupByName storageVolLookupByName;
- virDrvStorageVolLookupByKey storageVolLookupByKey;
- virDrvStorageVolLookupByPath storageVolLookupByPath;
- virDrvStorageVolCreateXML storageVolCreateXML;
- virDrvStorageVolCreateXMLFrom storageVolCreateXMLFrom;
- virDrvStorageVolDownload storageVolDownload;
- virDrvStorageVolUpload storageVolUpload;
- virDrvStorageVolDelete storageVolDelete;
- virDrvStorageVolWipe storageVolWipe;
- virDrvStorageVolWipePattern storageVolWipePattern;
- virDrvStorageVolGetInfo storageVolGetInfo;
- virDrvStorageVolGetXMLDesc storageVolGetXMLDesc;
- virDrvStorageVolGetPath storageVolGetPath;
- virDrvStorageVolResize storageVolResize;
- virDrvStoragePoolIsActive storagePoolIsActive;
- virDrvStoragePoolIsPersistent storagePoolIsPersistent;
-};
+# define __VIR_DRIVER_H_INCLUDES___
+# include "driver-hypervisor.h"
+# include "driver-interface.h"
+# include "driver-network.h"
+# include "driver-nodedev.h"
+# include "driver-nwfilter.h"
+# include "driver-secret.h"
# ifdef WITH_LIBVIRTD
-
-typedef int
-(*virDrvStateInitialize)(bool privileged,
- virStateInhibitCallback callback,
- void *opaque);
-
-typedef void
-(*virDrvStateAutoStart)(void);
-
-typedef int
-(*virDrvStateCleanup)(void);
-
-typedef int
-(*virDrvStateReload)(void);
-
-typedef int
-(*virDrvStateStop)(void);
-
-typedef struct _virStateDriver virStateDriver;
-typedef virStateDriver *virStateDriverPtr;
-
-struct _virStateDriver {
- const char *name;
- virDrvStateInitialize stateInitialize;
- virDrvStateAutoStart stateAutoStart;
- virDrvStateCleanup stateCleanup;
- virDrvStateReload stateReload;
- virDrvStateStop stateStop;
-};
+# include "driver-state.h"
# endif
+# include "driver-stream.h"
+# include "driver-storage.h"
+# undef __VIR_DRIVER_H_INCLUDES___
-typedef virDrvConnectOpen virDrvNodeDeviceOpen;
-typedef virDrvConnectClose virDrvNodeDeviceClose;
-
-
-typedef int
-(*virDrvNodeNumOfDevices)(virConnectPtr conn,
- const char *cap,
- unsigned int flags);
-
-typedef int
-(*virDrvNodeListDevices)(virConnectPtr conn,
- const char *cap,
- char **const names,
- int maxnames,
- unsigned int flags);
-
-typedef int
-(*virDrvConnectListAllNodeDevices)(virConnectPtr conn,
- virNodeDevicePtr **devices,
- unsigned int flags);
-
-typedef virNodeDevicePtr
-(*virDrvNodeDeviceLookupByName)(virConnectPtr conn,
- const char *name);
-
-typedef virNodeDevicePtr
-(*virDrvNodeDeviceLookupSCSIHostByWWN)(virConnectPtr conn,
- const char *wwnn,
- const char *wwpn,
- unsigned int flags);
-
-typedef char *
-(*virDrvNodeDeviceGetXMLDesc)(virNodeDevicePtr dev,
- unsigned int flags);
-
-typedef char *
-(*virDrvNodeDeviceGetParent)(virNodeDevicePtr dev);
-
-typedef int
-(*virDrvNodeDeviceNumOfCaps)(virNodeDevicePtr dev);
-
-typedef int
-(*virDrvNodeDeviceListCaps)(virNodeDevicePtr dev,
- char **const names,
- int maxnames);
-
-typedef virNodeDevicePtr
-(*virDrvNodeDeviceCreateXML)(virConnectPtr conn,
- const char *xmlDesc,
- unsigned int flags);
-
-typedef int
-(*virDrvNodeDeviceDestroy)(virNodeDevicePtr dev);
-
-
-
-typedef struct _virNodeDeviceDriver virNodeDeviceDriver;
-typedef virNodeDeviceDriver *virNodeDeviceDriverPtr;
-
-/**
- * _virNodeDeviceDriver:
- *
- * Structure associated with monitoring the devices
- * on a virtualized node.
- *
- */
-struct _virNodeDeviceDriver {
- const char * name; /* the name of the driver */
- virDrvNodeDeviceOpen nodeDeviceOpen;
- virDrvNodeDeviceClose nodeDeviceClose;
- virDrvNodeNumOfDevices nodeNumOfDevices;
- virDrvNodeListDevices nodeListDevices;
- virDrvConnectListAllNodeDevices connectListAllNodeDevices;
- virDrvNodeDeviceLookupByName nodeDeviceLookupByName;
- virDrvNodeDeviceLookupSCSIHostByWWN nodeDeviceLookupSCSIHostByWWN;
- virDrvNodeDeviceGetXMLDesc nodeDeviceGetXMLDesc;
- virDrvNodeDeviceGetParent nodeDeviceGetParent;
- virDrvNodeDeviceNumOfCaps nodeDeviceNumOfCaps;
- virDrvNodeDeviceListCaps nodeDeviceListCaps;
- virDrvNodeDeviceCreateXML nodeDeviceCreateXML;
- virDrvNodeDeviceDestroy nodeDeviceDestroy;
-};
-
-enum {
- /* This getValue call is inside libvirt, override the "private" flag.
- This flag cannot be set by outside callers. */
- VIR_SECRET_GET_VALUE_INTERNAL_CALL = 1 << 0,
-};
-
-typedef virDrvConnectOpen virDrvSecretOpen;
-typedef virDrvConnectClose virDrvSecretClose;
-
-
-typedef virSecretPtr
-(*virDrvSecretLookupByUUID)(virConnectPtr conn,
- const unsigned char *uuid);
-
-typedef virSecretPtr
-(*virDrvSecretLookupByUsage)(virConnectPtr conn,
- int usageType,
- const char *usageID);
-
-typedef virSecretPtr
-(*virDrvSecretDefineXML)(virConnectPtr conn,
- const char *xml,
- unsigned int flags);
-
-typedef char *
-(*virDrvSecretGetXMLDesc)(virSecretPtr secret,
- unsigned int flags);
-
-typedef int
-(*virDrvSecretSetValue)(virSecretPtr secret,
- const unsigned char *value,
- size_t value_size,
- unsigned int flags);
-
-typedef unsigned char *
-(*virDrvSecretGetValue)(virSecretPtr secret,
- size_t *value_size,
- unsigned int flags,
- unsigned int internalFlags);
-
-typedef int
-(*virDrvSecretUndefine)(virSecretPtr secret);
-
-typedef int
-(*virDrvConnectNumOfSecrets)(virConnectPtr conn);
-
-typedef int
-(*virDrvConnectListSecrets)(virConnectPtr conn,
- char **uuids,
- int maxuuids);
-
-typedef int
-(*virDrvConnectListAllSecrets)(virConnectPtr conn,
- virSecretPtr **secrets,
- unsigned int flags);
-
-typedef struct _virSecretDriver virSecretDriver;
-typedef virSecretDriver *virSecretDriverPtr;
-
-/**
- * _virSecretDriver:
- *
- * Structure associated to a driver for storing secrets, defining the various
- * entry points for it.
- *
- * All drivers must support the following fields/methods:
- * - open
- * - close
- */
-struct _virSecretDriver {
- const char *name;
- virDrvSecretOpen secretOpen;
- virDrvSecretClose secretClose;
- virDrvConnectNumOfSecrets connectNumOfSecrets;
- virDrvConnectListSecrets connectListSecrets;
- virDrvConnectListAllSecrets connectListAllSecrets;
- virDrvSecretLookupByUUID secretLookupByUUID;
- virDrvSecretLookupByUsage secretLookupByUsage;
- virDrvSecretDefineXML secretDefineXML;
- virDrvSecretGetXMLDesc secretGetXMLDesc;
- virDrvSecretSetValue secretSetValue;
- virDrvSecretGetValue secretGetValue;
- virDrvSecretUndefine secretUndefine;
-};
-
-
-typedef int
-(*virDrvStreamSend)(virStreamPtr st,
- const char *data,
- size_t nbytes);
-
-typedef int
-(*virDrvStreamRecv)(virStreamPtr st,
- char *data,
- size_t nbytes);
-
-typedef int
-(*virDrvStreamEventAddCallback)(virStreamPtr stream,
- int events,
- virStreamEventCallback cb,
- void *opaque,
- virFreeCallback ff);
-
-typedef int
-(*virDrvStreamEventUpdateCallback)(virStreamPtr stream,
- int events);
-
-typedef int
-(*virDrvStreamEventRemoveCallback)(virStreamPtr stream);
-
-typedef int
-(*virDrvStreamFinish)(virStreamPtr st);
-
-typedef int
-(*virDrvStreamAbort)(virStreamPtr st);
-
-typedef struct _virStreamDriver virStreamDriver;
-typedef virStreamDriver *virStreamDriverPtr;
-
-struct _virStreamDriver {
- virDrvStreamSend streamSend;
- virDrvStreamRecv streamRecv;
- virDrvStreamEventAddCallback streamEventAddCallback;
- virDrvStreamEventUpdateCallback streamEventUpdateCallback;
- virDrvStreamEventRemoveCallback streamEventRemoveCallback;
- virDrvStreamFinish streamFinish;
- virDrvStreamAbort streamAbort;
-};
-
-
-typedef virDrvConnectOpen virDrvNWFilterOpen;
-typedef virDrvConnectClose virDrvNWFilterClose;
-
-
-typedef int
-(*virDrvConnectNumOfNWFilters)(virConnectPtr conn);
-
-typedef int
-(*virDrvConnectListNWFilters)(virConnectPtr conn,
- char **const names,
- int maxnames);
-
-typedef int
-(*virDrvConnectListAllNWFilters)(virConnectPtr conn,
- virNWFilterPtr **filters,
- unsigned int flags);
-
-typedef virNWFilterPtr
-(*virDrvNWFilterLookupByName)(virConnectPtr conn,
- const char *name);
-
-typedef virNWFilterPtr
-(*virDrvNWFilterLookupByUUID)(virConnectPtr conn,
- const unsigned char *uuid);
-
-typedef virNWFilterPtr
-(*virDrvNWFilterDefineXML)(virConnectPtr conn,
- const char *xmlDesc);
-
-typedef int
-(*virDrvNWFilterUndefine)(virNWFilterPtr nwfilter);
-
-typedef char *
-(*virDrvNWFilterGetXMLDesc)(virNWFilterPtr nwfilter,
- unsigned int flags);
-
-
-typedef struct _virNWFilterDriver virNWFilterDriver;
-typedef virNWFilterDriver *virNWFilterDriverPtr;
-
-/**
- * _virNWFilterDriver:
- *
- * Structure associated to a network filter driver, defining the various
- * entry points for it.
- *
- * All drivers must support the following fields/methods:
- * - open
- * - close
- */
-struct _virNWFilterDriver {
- const char * name; /* the name of the driver */
- virDrvNWFilterOpen nwfilterOpen;
- virDrvNWFilterClose nwfilterClose;
- virDrvConnectNumOfNWFilters connectNumOfNWFilters;
- virDrvConnectListNWFilters connectListNWFilters;
- virDrvConnectListAllNWFilters connectListAllNWFilters;
- virDrvNWFilterLookupByName nwfilterLookupByName;
- virDrvNWFilterLookupByUUID nwfilterLookupByUUID;
- virDrvNWFilterDefineXML nwfilterDefineXML;
- virDrvNWFilterUndefine nwfilterUndefine;
- virDrvNWFilterGetXMLDesc nwfilterGetXMLDesc;
-};
-
-
-/*
- * Registration
- * TODO: also need ways to (des)activate a given driver
- * lookup based on the URI given in a virConnectOpen(ReadOnly)
- */
int virRegisterHypervisorDriver(virHypervisorDriverPtr) ATTRIBUTE_RETURN_CHECK;
int virRegisterNetworkDriver(virNetworkDriverPtr) ATTRIBUTE_RETURN_CHECK;
int virRegisterInterfaceDriver(virInterfaceDriverPtr) ATTRIBUTE_RETURN_CHECK;
-int virRegisterStorageDriver(virStorageDriverPtr) ATTRIBUTE_RETURN_CHECK;
+int virRegisterNetworkDriver(virNetworkDriverPtr) ATTRIBUTE_RETURN_CHECK;
int virRegisterNodeDeviceDriver(virNodeDeviceDriverPtr) ATTRIBUTE_RETURN_CHECK;
-int virRegisterSecretDriver(virSecretDriverPtr) ATTRIBUTE_RETURN_CHECK;
int virRegisterNWFilterDriver(virNWFilterDriverPtr) ATTRIBUTE_RETURN_CHECK;
+int virRegisterSecretDriver(virSecretDriverPtr) ATTRIBUTE_RETURN_CHECK;
# ifdef WITH_LIBVIRTD
int virRegisterStateDriver(virStateDriverPtr) ATTRIBUTE_RETURN_CHECK;
# endif
+int virRegisterStorageDriver(virStorageDriverPtr) ATTRIBUTE_RETURN_CHECK;
+
void *virDriverLoadModule(const char *name);
#endif /* __VIR_DRIVER_H__ */
--
2.1.0