*/
# define VIR_DOMAIN_GUEST_INFO_FS_SUFFIX_DISK_SUFFIX_DEVICE ".device"
+
+/**
+ * VIR_DOMAIN_GUEST_INFO_DISK_COUNT:
+ *
+ * The number of disks defined on this domain as an unsigned int.
+ *
+ * Since: 11.2.0
+ */
+# define VIR_DOMAIN_GUEST_INFO_DISK_COUNT "disk.count"
+
+/**
+ * VIR_DOMAIN_GUEST_INFO_DISK_PREFIX:
+ *
+ * The parameter name prefix to access each disk entry. Concatenate the
+ * prefix, the entry number formatted as an unsigned integer and one of the
+ * disk suffix parameters to form a complete parameter name.
+ *
+ * Since: 11.2.0
+ */
+# define VIR_DOMAIN_GUEST_INFO_DISK_PREFIX "disk."
+
+/**
+ * VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_NAME:
+ *
+ * Device node (Linux) or device UNC (Windows) as a string.
+ *
+ * Since: 11.2.0
+ */
+# define VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_NAME ".name"
+
+/**
+ * VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_PARTITION:
+ *
+ * Whether this is a partition (true) or disk (false) as a boolean.
+ *
+ * Since: 11.2.0
+ */
+# define VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_PARTITION ".partition"
+
+/**
+ * VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_DEPENDENCY_COUNT:
+ *
+ * The number of device dependencies as an unsigned int.
+ *
+ * e.g. for LVs of the LVM this will hold the list of PVs, for LUKS encrypted
+ * volume this will contain the disk where the volume is placed. (Linux).
+ *
+ * Since: 11.2.0
+ */
+# define VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_DEPENDENCY_COUNT ".dependency.count"
+
+/**
+ * VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_DEPENDENCY_PREFIX:
+ *
+ * The parameter name prefix to access each dependency entry. Concatenate the
+ * disk prefix, the disk entry number formatted as an unsigned integer, the
+ * dependency prefix, the dependency entry number formatted as an unsigned
+ * integer and one of the dependency suffix parameters to form a complete
+ * parameter name.
+ *
+ * Since: 11.2.0
+ */
+# define VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_DEPENDENCY_PREFIX ".dependency."
+
+/**
+ * VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_DEPENDENCY_SUFFIX_NAME:
+ *
+ * A dependency name as a string.
+ *
+ * Since: 11.2.0
+ */
+# define VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_DEPENDENCY_SUFFIX_NAME ".name"
+
+/**
+ * VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_SERIAL:
+ *
+ * Optional disk serial number as a string.
+ *
+ * Since: 11.2.0
+ */
+# define VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_SERIAL ".serial"
+
+/**
+ * VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_ALIAS:
+ *
+ * The device alias of the disk (e.g. sda) as a string.
+ *
+ * Since: 11.2.0
+ */
+# define VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_ALIAS ".alias"
+
+/**
+ * VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_GUEST_ALIAS:
+ *
+ * Optional alias assigned to the disk, on Linux this is a name assigned by
+ * device mapper, as a string.
+ *
+ * Since: 11.2.0
+ */
+# define VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_GUEST_ALIAS ".guest_alias"
+
+/**
+ * VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_GUEST_BUS:
+ *
+ * Disk bus as reported by the guest OS.
+ *
+ * Since: 11.2.0
+ */
+# define VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_GUEST_BUS ".guest_bus"
+
/**
* virDomainGuestInfoTypes:
*
* keys.
*
* VIR_DOMAIN_GUEST_INFO_DISKS:
- * Returns information about the disks within the domain. The typed
- * parameter keys are in this format:
- *
- * "disk.count" - the number of disks defined on this domain
- * as an unsigned int
- * "disk.<num>.name" - device node (Linux) or device UNC (Windows)
- * "disk.<num>.partition" - whether this is a partition or disk
- * "disk.<num>.dependency.count" - the number of device dependencies
- * e.g. for LVs of the LVM this will
- * hold the list of PVs, for LUKS encrypted volume this will
- * contain the disk where the volume is placed. (Linux)
- * "disk.<num>.dependency.<num>.name" - a dependency
- * "disk.<num>.serial" - optional disk serial number (as string)
- * "disk.<num>.alias" - the device alias of the disk (e.g. sda)
- * "disk.<num>.guest_alias" - optional alias assigned to the disk, on Linux
- * this is a name assigned by device mapper
- * "disk.<num>.guest_bus" - disk bus as reported by the guest OS
+ * Returns information about the disks within the domain.
+ * The VIR_DOMAIN_GUEST_INFO_DISK_* constants define the known typed parameter
+ * keys.
*
* VIR_DOMAIN_GUEST_INFO_INTERFACES:
* Returns information about the interfaces within the domain. The typed
{
size_t i;
- virTypedParamListAddUInt(list, ndisks, "disk.count");
+ virTypedParamListAddUInt(list, ndisks, VIR_DOMAIN_GUEST_INFO_DISK_COUNT);
for (i = 0; i < ndisks; i++) {
- virTypedParamListAddString(list, info[i]->name, "disk.%zu.name", i);
- virTypedParamListAddBoolean(list, info[i]->partition, "disk.%zu.partition", i);
+ virTypedParamListAddString(list, info[i]->name,
+ VIR_DOMAIN_GUEST_INFO_DISK_PREFIX "%zu" VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_NAME, i);
+ virTypedParamListAddBoolean(list, info[i]->partition,
+ VIR_DOMAIN_GUEST_INFO_DISK_PREFIX "%zu" VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_PARTITION, i);
if (info[i]->dependencies) {
size_t ndeps = g_strv_length(info[i]->dependencies);
size_t j;
if (ndeps > 0)
- virTypedParamListAddUInt(list, ndeps, "disk.%zu.dependency.count", i);
+ virTypedParamListAddUInt(list, ndeps,
+ VIR_DOMAIN_GUEST_INFO_DISK_PREFIX "%zu" VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_DEPENDENCY_COUNT, i);
for (j = 0; j < ndeps; j++) {
virTypedParamListAddString(list, info[i]->dependencies[j],
- "disk.%zu.dependency.%zu.name", i, j);
+ VIR_DOMAIN_GUEST_INFO_DISK_PREFIX "%zu" VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_DEPENDENCY_PREFIX "%zu" VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_DEPENDENCY_SUFFIX_NAME, i, j);
}
}
virDomainDiskDef *diskdef = NULL;
if (address->serial)
- virTypedParamListAddString(list, address->serial, "disk.%zu.serial", i);
+ virTypedParamListAddString(list, address->serial,
+ VIR_DOMAIN_GUEST_INFO_DISK_PREFIX "%zu" VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_SERIAL, i);
/* match the disk to the target in the vm definition */
diskdef = virDomainDiskByAddress(vmdef,
address->unit);
if (diskdef && diskdef->dst)
- virTypedParamListAddString(list, diskdef->dst, "disk.%zu.alias", i);
+ virTypedParamListAddString(list, diskdef->dst,
+ VIR_DOMAIN_GUEST_INFO_DISK_PREFIX "%zu" VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_ALIAS, i);
if (address->bus_type)
- virTypedParamListAddString(list, address->bus_type, "disk.%zu.guest_bus", i);
+ virTypedParamListAddString(list, address->bus_type,
+ VIR_DOMAIN_GUEST_INFO_DISK_PREFIX "%zu" VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_GUEST_BUS, i);
}
if (info[i]->alias)
- virTypedParamListAddString(list, info[i]->alias, "disk.%zu.guest_alias", i);
+ virTypedParamListAddString(list, info[i]->alias,
+ VIR_DOMAIN_GUEST_INFO_DISK_PREFIX "%zu" VIR_DOMAIN_GUEST_INFO_DISK_SUFFIX_GUEST_ALIAS, i);
}
}