diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in index 2eba61ee50f19e2db97288bfcfcc20a7e217f1a0..d0cc4c0631a0edfa6988fbb59e3a0e2f8dbf70c8 100644 --- a/include/libvirt/libvirt.h.in +++ b/include/libvirt/libvirt.h.in @@ -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, diff --git a/src/libvirt_public.syms b/src/libvirt_public.syms index fceb516e3e1b30e5add2c4be5f47d0888755eec5..a8091b18e9408c93d4a971f4de47f414c825344b 100644 --- a/src/libvirt_public.syms +++ b/src/libvirt_public.syms @@ -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 ....