]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
vcpu: add new public API
authorEric Blake <eblake@redhat.com>
Fri, 24 Sep 2010 22:48:45 +0000 (16:48 -0600)
committerEric Blake <eblake@redhat.com>
Tue, 19 Oct 2010 16:00:17 +0000 (10:00 -0600)
API agreed on in
https://www.redhat.com/archives/libvir-list/2010-September/msg00456.html,
but modified for enum names to be consistent with virDomainDeviceModifyFlags.

* include/libvirt/libvirt.h.in (virDomainVcpuFlags)
(virDomainSetVcpusFlags, virDomainGetVcpusFlags): New
declarations.
* src/libvirt_public.syms: Export new symbols.

include/libvirt/libvirt.h.in
src/libvirt_public.syms

index 2eba61ee50f19e2db97288bfcfcc20a7e217f1a0..d0cc4c0631a0edfa6988fbb59e3a0e2f8dbf70c8 100644 (file)
@@ -915,8 +915,23 @@ struct _virVcpuInfo {
 };
 typedef virVcpuInfo *virVcpuInfoPtr;
 
+/* Flags for controlling virtual CPU hot-plugging.  */
+typedef enum {
+    /* Must choose at least one of these two bits; SetVcpus can choose both */
+    VIR_DOMAIN_VCPU_LIVE    = (1 << 0), /* Affect active domain */
+    VIR_DOMAIN_VCPU_CONFIG  = (1 << 1), /* Affect next boot */
+
+    /* Additional flags to be bit-wise OR'd in */
+    VIR_DOMAIN_VCPU_MAXIMUM = (1 << 2), /* Max rather than current count */
+} virDomainVcpuFlags;
+
 int                     virDomainSetVcpus       (virDomainPtr domain,
                                                  unsigned int nvcpus);
+int                     virDomainSetVcpusFlags  (virDomainPtr domain,
+                                                 unsigned int nvcpus,
+                                                 unsigned int flags);
+int                     virDomainGetVcpusFlags  (virDomainPtr domain,
+                                                 unsigned int flags);
 
 int                     virDomainPinVcpu        (virDomainPtr domain,
                                                  unsigned int vcpu,
index fceb516e3e1b30e5add2c4be5f47d0888755eec5..a8091b18e9408c93d4a971f4de47f414c825344b 100644 (file)
@@ -409,6 +409,8 @@ LIBVIRT_0.8.5 {
     global:
         virDomainSetMemoryParameters;
         virDomainGetMemoryParameters;
+        virDomainGetVcpusFlags;
+        virDomainSetVcpusFlags;
 } LIBVIRT_0.8.2;
 
 # .... define new API here using predicted next version number ....