On 11/12/20 12:51 PM, Matt Coleman wrote:
Signed-off-by: Matt Coleman <m...@datto.com>
---
  include/libvirt/libvirt-domain.h | 16 +++++++++++++++-
  1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
index b3310729bf..d52733190f 100644
--- a/include/libvirt/libvirt-domain.h
+++ b/include/libvirt/libvirt-domain.h
@@ -1915,10 +1915,24 @@ struct _virVcpuInfo {
      unsigned int number;        /* virtual CPU number */
      int state;                  /* value from virVcpuState */
      unsigned long long cpuTime; /* CPU time used, in nanoseconds */
-    int cpu;                    /* real CPU number, or -1 if offline */
+    int cpu;                    /* real CPU number, or one of the 
VIR_VCPU_INFO_CPU_* constants */
  };
  typedef virVcpuInfo *virVcpuInfoPtr;
+/**
+ * VIR_VCPU_INFO_CPU_OFFLINE:
+ *
+ * The VCPU is offline.
+ */
+# define VIR_VCPU_INFO_CPU_OFFLINE -1
+
+/**
+ * VIR_VCPU_INFO_CPU_UNAVAILABLE:
+ *
+ * The hypervisor does not expose real CPU information for VCPUs.
+ */
+# define VIR_VCPU_INFO_CPU_UNAVAILABLE -2
+
  /* Flags for controlling virtual CPU hot-plugging.  */
  typedef enum {
      /* See virDomainModificationImpact for these flags.  */


How about making this an enum instead?

diff --git c/include/libvirt/libvirt-domain.h w/include/libvirt/libvirt-domain.h
index b3310729bf..a12a8e6625 100644
--- c/include/libvirt/libvirt-domain.h
+++ w/include/libvirt/libvirt-domain.h
@@ -1910,12 +1910,19 @@ typedef enum {
 # endif
 } virVcpuState;

+
+typedef enum {
+    VIR_VCPU_INFO_CPU_OFFLINE = -1,     /* the vCPU is offline */
+ VIR_VCPU_INFO_CPU_UNAVAILABLE = -2, /* the hypervisor does not expose real
+                                           CPU information for vCPUs. */
+} virVcpuHostCpuState;
+
 typedef struct _virVcpuInfo virVcpuInfo;
 struct _virVcpuInfo {
     unsigned int number;        /* virtual CPU number */
     int state;                  /* value from virVcpuState */
     unsigned long long cpuTime; /* CPU time used, in nanoseconds */
-    int cpu;                    /* real CPU number, or -1 if offline */
+ int cpu; /* real CPU number, or one of the virVcpuHostCpuState */
 };
 typedef virVcpuInfo *virVcpuInfoPtr;



Michal

Reply via email to