unsigned int bhyvecaps,
virDomainCapsStringValuesPtr firmwares)
{
- caps->disk.supported = true;
+ caps->disk.supported = VIR_TRISTATE_BOOL_YES;
VIR_DOMAIN_CAPS_ENUM_SET(caps->disk.diskDevice,
VIR_DOMAIN_DISK_DEVICE_DISK,
VIR_DOMAIN_DISK_DEVICE_CDROM);
VIR_DOMAIN_DISK_BUS_SATA,
VIR_DOMAIN_DISK_BUS_VIRTIO);
- caps->os.supported = true;
+ caps->os.supported = VIR_TRISTATE_BOOL_YES;
if (bhyvecaps & BHYVE_CAP_LPC_BOOTROM) {
- caps->os.loader.supported = true;
+ caps->os.loader.supported = VIR_TRISTATE_BOOL_YES;
VIR_DOMAIN_CAPS_ENUM_SET(caps->os.loader.type,
VIR_DOMAIN_LOADER_TYPE_PFLASH);
VIR_DOMAIN_CAPS_ENUM_SET(caps->os.loader.readonly,
if (bhyvecaps & BHYVE_CAP_FBUF) {
- caps->graphics.supported = true;
- caps->video.supported = true;
+ caps->graphics.supported = VIR_TRISTATE_BOOL_YES;
+ caps->video.supported = VIR_TRISTATE_BOOL_YES;
VIR_DOMAIN_CAPS_ENUM_SET(caps->graphics.type, VIR_DOMAIN_GRAPHICS_TYPE_VNC);
VIR_DOMAIN_CAPS_ENUM_SET(caps->video.modelType, VIR_DOMAIN_VIDEO_TYPE_GOP);
}
#define FORMAT_PROLOGUE(item) \
do { \
virBufferAsprintf(buf, "<" #item " supported='%s'%s\n", \
- item->supported ? "yes" : "no", \
- item->supported ? ">" : "/>"); \
- if (!item->supported) \
+ (item->supported == VIR_TRISTATE_BOOL_YES) ? "yes" : "no", \
+ (item->supported == VIR_TRISTATE_BOOL_YES) ? ">" : "/>"); \
+ if (item->supported != VIR_TRISTATE_BOOL_YES) \
return; \
virBufferAdjustIndent(buf, 2); \
} while (0)
#define FORMAT_SINGLE(name, supported) \
do { \
virBufferAsprintf(&buf, "<%s supported='%s'/>\n", name, \
- supported ? "yes" : "no"); \
+ (supported == VIR_TRISTATE_BOOL_YES) ? "yes" : "no"); \
} while (0)
#define ENUM_PROCESS(master, capsEnum, valToStr) \
typedef struct _virDomainCapsLoader virDomainCapsLoader;
typedef virDomainCapsLoader *virDomainCapsLoaderPtr;
struct _virDomainCapsLoader {
- bool supported;
+ virTristateBool supported;
virDomainCapsStringValues values; /* Info about values for the element */
virDomainCapsEnum type; /* Info about virDomainLoader */
virDomainCapsEnum readonly; /* Info about readonly:virTristateBool */
typedef struct _virDomainCapsOS virDomainCapsOS;
typedef virDomainCapsOS *virDomainCapsOSPtr;
struct _virDomainCapsOS {
- bool supported;
+ virTristateBool supported;
virDomainCapsLoader loader; /* Info about virDomainLoaderDef */
};
typedef struct _virDomainCapsDeviceDisk virDomainCapsDeviceDisk;
typedef virDomainCapsDeviceDisk *virDomainCapsDeviceDiskPtr;
struct _virDomainCapsDeviceDisk {
- bool supported;
+ virTristateBool supported;
virDomainCapsEnum diskDevice; /* Info about virDomainDiskDevice enum values */
virDomainCapsEnum bus; /* Info about virDomainDiskBus enum values */
virDomainCapsEnum model; /* Info about virDomainDiskModel enum values */
typedef struct _virDomainCapsDeviceGraphics virDomainCapsDeviceGraphics;
typedef virDomainCapsDeviceGraphics *virDomainCapsDeviceGraphicsPtr;
struct _virDomainCapsDeviceGraphics {
- bool supported;
+ virTristateBool supported;
virDomainCapsEnum type; /* virDomainGraphicsType */
};
typedef struct _virDomainCapsDeviceVideo virDomainCapsDeviceVideo;
typedef virDomainCapsDeviceVideo *virDomainCapsDeviceVideoPtr;
struct _virDomainCapsDeviceVideo {
- bool supported;
+ virTristateBool supported;
virDomainCapsEnum modelType; /* virDomainVideoType */
};
typedef struct _virDomainCapsDeviceHostdev virDomainCapsDeviceHostdev;
typedef virDomainCapsDeviceHostdev *virDomainCapsDeviceHostdevPtr;
struct _virDomainCapsDeviceHostdev {
- bool supported;
+ virTristateBool supported;
virDomainCapsEnum mode; /* Info about virDomainHostdevMode */
virDomainCapsEnum startupPolicy; /* Info about virDomainStartupPolicy */
virDomainCapsEnum subsysType; /* Info about virDomainHostdevSubsysType */
typedef struct _virDomainCapsFeatureGIC virDomainCapsFeatureGIC;
typedef virDomainCapsFeatureGIC *virDomainCapsFeatureGICPtr;
struct _virDomainCapsFeatureGIC {
- bool supported;
+ virTristateBool supported;
virDomainCapsEnum version; /* Info about virGICVersion */
};
/* Some machine specific info */
int maxvcpus;
- bool iothreads; /* Whether I/O threads are supported or not. */
+ virTristateBool iothreads; /* Whether I/O threads are supported or not. */
virDomainCapsOS os;
virDomainCapsCPU cpu;
/* add new domain devices here */
virDomainCapsFeatureGIC gic;
- bool vmcoreinfo;
- bool genid;
+ virTristateBool vmcoreinfo;
+ virTristateBool genid;
virSEVCapabilityPtr sev;
/* add new domain features here */
};
virDomainCapsLoaderPtr capsLoader = &os->loader;
size_t i;
- os->supported = true;
+ os->supported = VIR_TRISTATE_BOOL_YES;
if (STREQ(machine, "xenpv") || STREQ(machine, "xenpvh"))
return 0;
- capsLoader->supported = true;
+ capsLoader->supported = VIR_TRISTATE_BOOL_YES;
if (VIR_ALLOC_N(capsLoader->values.values, nfirmwares) < 0)
return -1;
static int
libxlMakeDomainDeviceDiskCaps(virDomainCapsDeviceDiskPtr dev)
{
- dev->supported = true;
+ dev->supported = VIR_TRISTATE_BOOL_YES;
VIR_DOMAIN_CAPS_ENUM_SET(dev->diskDevice,
VIR_DOMAIN_DISK_DEVICE_DISK,
static int
libxlMakeDomainDeviceGraphicsCaps(virDomainCapsDeviceGraphicsPtr dev)
{
- dev->supported = true;
+ dev->supported = VIR_TRISTATE_BOOL_YES;
VIR_DOMAIN_CAPS_ENUM_SET(dev->type,
VIR_DOMAIN_GRAPHICS_TYPE_SDL,
static int
libxlMakeDomainDeviceVideoCaps(virDomainCapsDeviceVideoPtr dev)
{
- dev->supported = true;
+ dev->supported = VIR_TRISTATE_BOOL_YES;
VIR_DOMAIN_CAPS_ENUM_SET(dev->modelType,
VIR_DOMAIN_VIDEO_TYPE_VGA,
static int
libxlMakeDomainDeviceHostdevCaps(virDomainCapsDeviceHostdevPtr dev)
{
- dev->supported = true;
+ dev->supported = VIR_TRISTATE_BOOL_YES;
/* VIR_DOMAIN_HOSTDEV_MODE_CAPABILITIES is for containers only */
VIR_DOMAIN_CAPS_ENUM_SET(dev->mode,
VIR_DOMAIN_HOSTDEV_MODE_SUBSYS);
{
size_t i;
- capsLoader->supported = true;
+ capsLoader->supported = VIR_TRISTATE_BOOL_YES;
if (VIR_ALLOC_N(capsLoader->values.values, nfirmwares) < 0)
return -1;
{
virDomainCapsLoaderPtr capsLoader = &os->loader;
- os->supported = true;
+ os->supported = VIR_TRISTATE_BOOL_YES;
if (virQEMUCapsFillDomainLoaderCaps(capsLoader, firmwares, nfirmwares) < 0)
return -1;
return 0;
virQEMUCapsFillDomainIOThreadCaps(virQEMUCapsPtr qemuCaps,
virDomainCapsPtr domCaps)
{
- domCaps->iothreads = virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_IOTHREAD);
+ domCaps->iothreads = virTristateBoolFromBool(
+ virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_IOTHREAD));
return 0;
}
const char *machine,
virDomainCapsDeviceDiskPtr disk)
{
- disk->supported = true;
+ disk->supported = VIR_TRISTATE_BOOL_YES;
/* QEMU supports all of these */
VIR_DOMAIN_CAPS_ENUM_SET(disk->diskDevice,
VIR_DOMAIN_DISK_DEVICE_DISK,
virQEMUCapsFillDomainDeviceGraphicsCaps(virQEMUCapsPtr qemuCaps,
virDomainCapsDeviceGraphicsPtr dev)
{
- dev->supported = true;
+ dev->supported = VIR_TRISTATE_BOOL_YES;
VIR_DOMAIN_CAPS_ENUM_SET(dev->type, VIR_DOMAIN_GRAPHICS_TYPE_SDL);
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_VNC))
virQEMUCapsFillDomainDeviceVideoCaps(virQEMUCapsPtr qemuCaps,
virDomainCapsDeviceVideoPtr dev)
{
- dev->supported = true;
+ dev->supported = VIR_TRISTATE_BOOL_YES;
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VGA))
VIR_DOMAIN_CAPS_ENUM_SET(dev->modelType, VIR_DOMAIN_VIDEO_TYPE_VGA);
bool supportsPassthroughKVM = qemuHostdevHostSupportsPassthroughLegacy();
bool supportsPassthroughVFIO = qemuHostdevHostSupportsPassthroughVFIO();
- hostdev->supported = true;
+ hostdev->supported = VIR_TRISTATE_BOOL_YES;
/* VIR_DOMAIN_HOSTDEV_MODE_CAPABILITIES is for containers only */
VIR_DOMAIN_CAPS_ENUM_SET(hostdev->mode,
VIR_DOMAIN_HOSTDEV_MODE_SUBSYS);
version))
continue;
- gic->supported = true;
+ gic->supported = VIR_TRISTATE_BOOL_YES;
VIR_DOMAIN_CAPS_ENUM_SET(gic->version,
version);
}
domCaps->maxvcpus = MIN(domCaps->maxvcpus, hostmaxvcpus);
}
- domCaps->vmcoreinfo = virQEMUCapsGet(qemuCaps,
- QEMU_CAPS_DEVICE_VMCOREINFO);
+ domCaps->vmcoreinfo = virTristateBoolFromBool(
+ virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VMCOREINFO));
- domCaps->genid = virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VMGENID);
+ domCaps->genid = virTristateBoolFromBool(
+ virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VMGENID));
if (virQEMUCapsFillDomainOSCaps(os, firmwares, nfirmwares) < 0 ||
virQEMUCapsFillDomainCPUCaps(caps, qemuCaps, domCaps) < 0 ||