[PATCH v3 08/30] docstring: macros: libvirt: Add 'Since version' metadata

Victor Toso victortoso at redhat.com
Wed Apr 20 19:07:57 UTC 2022


Either create or append to existing docstring, the version (git tag)
that a given macro was introduced in the format:

    Since: v1.2.3

Signed-off-by: Victor Toso <victortoso at redhat.com>
---
 include/libvirt/libvirt-domain.h  | 663 +++++++++++++++++++++++++++++-
 include/libvirt/libvirt-host.h    | 123 ++++++
 include/libvirt/libvirt-network.h |  24 ++
 include/libvirt/libvirt-nodedev.h |   3 +
 include/libvirt/libvirt-secret.h  |   3 +
 include/libvirt/libvirt-storage.h |   3 +
 6 files changed, 810 insertions(+), 9 deletions(-)

diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
index de2d14d4af..01ea2a750f 100644
--- a/include/libvirt/libvirt-domain.h
+++ b/include/libvirt/libvirt-domain.h
@@ -315,6 +315,9 @@ typedef enum {
  *
  * Macro represents proportional weight of the scheduler used on the
  * host cpu, when using the posix scheduler, as a ullong.
+ *
+ * Since: v0.9.7
+ *
  */
 # define VIR_DOMAIN_SCHEDULER_CPU_SHARES "cpu_shares"
 
@@ -323,6 +326,9 @@ typedef enum {
  *
  * Macro represents the enforcement period for a quota, in microseconds,
  * for whole domain, when using the posix scheduler, as a ullong.
+ *
+ * Since: v1.3.3
+ *
  */
 # define VIR_DOMAIN_SCHEDULER_GLOBAL_PERIOD "global_period"
 
@@ -331,6 +337,9 @@ typedef enum {
  *
  * Macro represents the maximum bandwidth to be used within a period for
  * whole domain, when using the posix scheduler, as an llong.
+ *
+ * Since: v1.3.3
+ *
  */
 # define VIR_DOMAIN_SCHEDULER_GLOBAL_QUOTA "global_quota"
 
@@ -339,6 +348,9 @@ typedef enum {
  *
  * Macro represents the enforcement period for a quota, in microseconds,
  * for vcpus only, when using the posix scheduler, as a ullong.
+ *
+ * Since: v0.9.7
+ *
  */
 # define VIR_DOMAIN_SCHEDULER_VCPU_PERIOD "vcpu_period"
 
@@ -347,6 +359,9 @@ typedef enum {
  *
  * Macro represents the maximum bandwidth to be used within a period for
  * vcpus only, when using the posix scheduler, as an llong.
+ *
+ * Since: v0.9.7
+ *
  */
 # define VIR_DOMAIN_SCHEDULER_VCPU_QUOTA "vcpu_quota"
 
@@ -356,6 +371,9 @@ typedef enum {
  * Macro represents the enforcement period for a quota in microseconds,
  * when using the posix scheduler, for all emulator activity not tied to
  * vcpus, as a ullong.
+ *
+ * Since: v0.10.0
+ *
  */
 # define VIR_DOMAIN_SCHEDULER_EMULATOR_PERIOD "emulator_period"
 
@@ -365,6 +383,9 @@ typedef enum {
  * Macro represents the maximum bandwidth to be used within a period for
  * all emulator activity not tied to vcpus, when using the posix scheduler,
  * as an llong.
+ *
+ * Since: v0.10.0
+ *
  */
 # define VIR_DOMAIN_SCHEDULER_EMULATOR_QUOTA "emulator_quota"
 
@@ -373,6 +394,9 @@ typedef enum {
  *
  * Macro represents the enforcement period for a quota, in microseconds,
  * for IOThreads only, when using the posix scheduler, as a ullong.
+ *
+ * Since: v2.2.0
+ *
  */
 # define VIR_DOMAIN_SCHEDULER_IOTHREAD_PERIOD "iothread_period"
 
@@ -381,6 +405,9 @@ typedef enum {
  *
  * Macro represents the maximum bandwidth to be used within a period for
  * IOThreads only, when using the posix scheduler, as an llong.
+ *
+ * Since: v2.2.0
+ *
  */
 # define VIR_DOMAIN_SCHEDULER_IOTHREAD_QUOTA "iothread_quota"
 
@@ -389,6 +416,9 @@ typedef enum {
  *
  * Macro represents the relative weight,  when using the credit
  * scheduler, as a uint.
+ *
+ * Since: v0.9.7
+ *
  */
 # define VIR_DOMAIN_SCHEDULER_WEIGHT "weight"
 
@@ -397,6 +427,9 @@ typedef enum {
  *
  * Macro represents the maximum scheduler cap, when using the credit
  * scheduler, as a uint.
+ *
+ * Since: v0.9.7
+ *
  */
 # define VIR_DOMAIN_SCHEDULER_CAP "cap"
 
@@ -405,6 +438,9 @@ typedef enum {
  *
  * Macro represents the scheduler reservation value, when using the
  * allocation scheduler, as an llong.
+ *
+ * Since: v0.9.7
+ *
  */
 # define VIR_DOMAIN_SCHEDULER_RESERVATION "reservation"
 
@@ -413,6 +449,9 @@ typedef enum {
  *
  * Macro represents the scheduler limit value, when using the
  * allocation scheduler, as an llong.
+ *
+ * Since: v0.9.7
+ *
  */
 # define VIR_DOMAIN_SCHEDULER_LIMIT "limit"
 
@@ -421,6 +460,9 @@ typedef enum {
  *
  * Macro represents the scheduler shares value, when using the
  * allocation scheduler, as an int.
+ *
+ * Since: v0.9.7
+ *
  */
 # define VIR_DOMAIN_SCHEDULER_SHARES "shares"
 
@@ -479,6 +521,9 @@ typedef virDomainBlockStatsStruct *virDomainBlockStatsPtr;
  *
  * Macro providing the field length of parameter names when using
  * virDomainBlockStatsFlags().
+ *
+ * Since: v0.9.5
+ *
  */
 # define VIR_DOMAIN_BLOCK_STATS_FIELD_LENGTH VIR_TYPED_PARAM_FIELD_LENGTH
 
@@ -487,6 +532,9 @@ typedef virDomainBlockStatsStruct *virDomainBlockStatsPtr;
  *
  * Macro represents the total number of read bytes of the
  * block device, as an llong.
+ *
+ * Since: v0.9.5
+ *
  */
 # define VIR_DOMAIN_BLOCK_STATS_READ_BYTES "rd_bytes"
 
@@ -495,6 +543,9 @@ typedef virDomainBlockStatsStruct *virDomainBlockStatsPtr;
  *
  * Macro represents the total read requests of the
  * block device, as an llong.
+ *
+ * Since: v0.9.5
+ *
  */
 # define VIR_DOMAIN_BLOCK_STATS_READ_REQ "rd_operations"
 
@@ -503,6 +554,9 @@ typedef virDomainBlockStatsStruct *virDomainBlockStatsPtr;
  *
  * Macro represents the total time spend on cache reads in
  * nano-seconds of the block device, as an llong.
+ *
+ * Since: v0.9.5
+ *
  */
 # define VIR_DOMAIN_BLOCK_STATS_READ_TOTAL_TIMES "rd_total_times"
 
@@ -511,6 +565,9 @@ typedef virDomainBlockStatsStruct *virDomainBlockStatsPtr;
  *
  * Macro represents the total number of write bytes of the
  * block device, as an llong.
+ *
+ * Since: v0.9.5
+ *
  */
 # define VIR_DOMAIN_BLOCK_STATS_WRITE_BYTES "wr_bytes"
 
@@ -519,6 +576,9 @@ typedef virDomainBlockStatsStruct *virDomainBlockStatsPtr;
  *
  * Macro represents the total write requests of the
  * block device, as an llong.
+ *
+ * Since: v0.9.5
+ *
  */
 # define VIR_DOMAIN_BLOCK_STATS_WRITE_REQ "wr_operations"
 
@@ -527,6 +587,9 @@ typedef virDomainBlockStatsStruct *virDomainBlockStatsPtr;
  *
  * Macro represents the total time spend on cache writes in
  * nano-seconds of the block device, as an llong.
+ *
+ * Since: v0.9.5
+ *
  */
 # define VIR_DOMAIN_BLOCK_STATS_WRITE_TOTAL_TIMES "wr_total_times"
 
@@ -535,6 +598,9 @@ typedef virDomainBlockStatsStruct *virDomainBlockStatsPtr;
  *
  * Macro represents the total flush requests of the
  * block device, as an llong.
+ *
+ * Since: v0.9.5
+ *
  */
 # define VIR_DOMAIN_BLOCK_STATS_FLUSH_REQ "flush_operations"
 
@@ -543,6 +609,9 @@ typedef virDomainBlockStatsStruct *virDomainBlockStatsPtr;
  *
  * Macro represents the total time spend on cache flushing in
  * nano-seconds of the block device, as an llong.
+ *
+ * Since: v0.9.5
+ *
  */
 # define VIR_DOMAIN_BLOCK_STATS_FLUSH_TOTAL_TIMES "flush_total_times"
 
@@ -550,6 +619,9 @@ typedef virDomainBlockStatsStruct *virDomainBlockStatsPtr;
  * VIR_DOMAIN_BLOCK_STATS_ERRS:
  *
  * In Xen this returns the mysterious 'oo_req', as an llong.
+ *
+ * Since: v0.9.5
+ *
  */
 # define VIR_DOMAIN_BLOCK_STATS_ERRS "errs"
 
@@ -977,6 +1049,9 @@ typedef enum {
  * required to transmit migration data.
  *
  * This field may not be used when VIR_MIGRATE_TUNNELLED flag is set.
+ *
+ * Since: v1.1.0
+ *
  */
 # define VIR_MIGRATE_PARAM_URI               "migrate_uri"
 
@@ -987,6 +1062,9 @@ typedef enum {
  * destination host as VIR_TYPED_PARAM_STRING. Omitting this parameter keeps
  * the domain name the same. This field is only allowed to be used with
  * hypervisors that support domain renaming during migration.
+ *
+ * Since: v1.1.0
+ *
  */
 # define VIR_MIGRATE_PARAM_DEST_NAME         "destination_name"
 
@@ -1006,6 +1084,9 @@ typedef enum {
  * Omitting this parameter keeps the original domain configuration. Using this
  * field with hypervisors that do not support changing domain configuration
  * during migration will result in a failure.
+ *
+ * Since: v1.1.0
+ *
  */
 # define VIR_MIGRATE_PARAM_DEST_XML          "destination_xml"
 
@@ -1021,6 +1102,9 @@ typedef enum {
  * Omitting this parameter keeps the original domain persistent configuration.
  * Using this field with hypervisors that do not support changing domain
  * configuration during migration will result in a failure.
+ *
+ * Since: v1.3.4
+ *
  */
 # define VIR_MIGRATE_PARAM_PERSIST_XML  "persistent_xml"
 
@@ -1031,6 +1115,9 @@ typedef enum {
  * be used for migration as VIR_TYPED_PARAM_ULLONG. If set to 0 or omitted,
  * libvirt will choose a suitable default. Some hypervisors do not support this
  * feature and will return an error if this field is used and is not 0.
+ *
+ * Since: v1.1.0
+ *
  */
 # define VIR_MIGRATE_PARAM_BANDWIDTH         "bandwidth"
 
@@ -1040,6 +1127,9 @@ typedef enum {
  * virDomainMigrate* params field: the maximum bandwidth (in MiB/s) that will
  * be used for post-copy phase of a migration as VIR_TYPED_PARAM_ULLONG. If set
  * to 0 or omitted, post-copy migration speed will not be limited.
+ *
+ * Since: v5.1.0
+ *
  */
 # define VIR_MIGRATE_PARAM_BANDWIDTH_POSTCOPY "bandwidth.postcopy"
 
@@ -1061,6 +1151,9 @@ typedef enum {
  * parameters are "tlsPort" and "tlsSubject". For example,
  *
  *      spice://target.host.com:1234/?tlsPort=4567
+ *
+ * Since: v1.1.0
+ *
  */
 # define VIR_MIGRATE_PARAM_GRAPHICS_URI      "graphics_uri"
 
@@ -1072,6 +1165,9 @@ typedef enum {
  * addresses are accepted as well as hostnames (the resolving is done on
  * destination). Some hypervisors do not support this feature and will return
  * an error if this field is used.
+ *
+ * Since: v1.1.4
+ *
  */
 # define VIR_MIGRATE_PARAM_LISTEN_ADDRESS    "listen_address"
 
@@ -1081,6 +1177,9 @@ typedef enum {
  * virDomainMigrate* params multiple field: The multiple values that list
  * the block devices to be migrated. At the moment this is only supported
  * by the QEMU driver but not for the tunnelled migration.
+ *
+ * Since: v1.2.17
+ *
  */
 # define VIR_MIGRATE_PARAM_MIGRATE_DISKS    "migrate_disks"
 
@@ -1091,6 +1190,9 @@ typedef enum {
  * for incoming disks migration. Type is VIR_TYPED_PARAM_INT. If set to 0 or
  * omitted, libvirt will choose a suitable default. At the moment this is only
  * supported by the QEMU driver.
+ *
+ * Since: v1.3.3
+ *
  */
 # define VIR_MIGRATE_PARAM_DISKS_PORT    "disks_port"
 
@@ -1104,6 +1206,9 @@ typedef enum {
  * currently only supported by the QEMU driver.  UNIX URI is only usable if the
  * management application makes sure that socket created with this name on the
  * destination will be reachable from the source under the same exact path.
+ *
+ * Since: v6.8.0
+ *
  */
 # define VIR_MIGRATE_PARAM_DISKS_URI    "disks_uri"
 
@@ -1114,6 +1219,9 @@ typedef enum {
  * compress migration traffic. Supported compression methods: xbzrle, mt.
  * The parameter may be specified multiple times if more than one method
  * should be used.
+ *
+ * Since: v1.3.4
+ *
  */
 # define VIR_MIGRATE_PARAM_COMPRESSION    "compression"
 
@@ -1123,6 +1231,9 @@ typedef enum {
  * virDomainMigrate* params field: the level of compression for multithread
  * compression as VIR_TYPED_PARAM_INT. Accepted values are in range 0-9.
  * 0 is no compression, 1 is maximum speed and 9 is maximum compression.
+ *
+ * Since: v1.3.4
+ *
  */
 # define VIR_MIGRATE_PARAM_COMPRESSION_MT_LEVEL    "compression.mt.level"
 
@@ -1131,6 +1242,9 @@ typedef enum {
  *
  * virDomainMigrate* params field: the number of compression threads for
  * multithread compression as VIR_TYPED_PARAM_INT.
+ *
+ * Since: v1.3.4
+ *
  */
 # define VIR_MIGRATE_PARAM_COMPRESSION_MT_THREADS "compression.mt.threads"
 
@@ -1139,6 +1253,9 @@ typedef enum {
  *
  * virDomainMigrate* params field: the number of decompression threads for
  * multithread compression as VIR_TYPED_PARAM_INT.
+ *
+ * Since: v1.3.4
+ *
  */
 # define VIR_MIGRATE_PARAM_COMPRESSION_MT_DTHREADS "compression.mt.dthreads"
 
@@ -1147,6 +1264,9 @@ typedef enum {
  *
  * virDomainMigrate* params field: the size of page cache for xbzrle
  * compression as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.3.4
+ *
  */
 # define VIR_MIGRATE_PARAM_COMPRESSION_XBZRLE_CACHE "compression.xbzrle.cache"
 
@@ -1156,6 +1276,9 @@ typedef enum {
  * virDomainMigrate* params field: the initial percentage guest CPUs are
  * throttled to when auto-convergence decides migration is not converging.
  * As VIR_TYPED_PARAM_INT.
+ *
+ * Since: v2.0.0
+ *
  */
 # define VIR_MIGRATE_PARAM_AUTO_CONVERGE_INITIAL    "auto_converge.initial"
 
@@ -1166,6 +1289,9 @@ typedef enum {
  * VIR_MIGRATE_PARAM_AUTO_CONVERGE_INITIAL whenever the hypervisor decides
  * the current rate is not enough to ensure convergence of the migration.
  * As VIR_TYPED_PARAM_INT.
+ *
+ * Since: v2.0.0
+ *
  */
 # define VIR_MIGRATE_PARAM_AUTO_CONVERGE_INCREMENT  "auto_converge.increment"
 
@@ -1174,6 +1300,9 @@ typedef enum {
  *
  * virDomainMigrate* params field: number of connections used during parallel
  * migration. As VIR_TYPED_PARAM_INT.
+ *
+ * Since: v5.2.0
+ *
  */
 # define VIR_MIGRATE_PARAM_PARALLEL_CONNECTIONS     "parallel.connections"
 
@@ -1188,6 +1317,9 @@ typedef enum {
  * the destination hostname and the expected certificate's hostname is known,
  * this parameter can be used to pass this expected hostname when starting
  * the migration.
+ *
+ * Since: v6.0.0
+ *
  */
 # define VIR_MIGRATE_PARAM_TLS_DESTINATION          "tls.destination"
 
@@ -1450,18 +1582,27 @@ int                     virDomainGetState       (virDomainPtr domain,
  * VIR_DOMAIN_CPU_STATS_CPUTIME:
  * cpu usage (sum of both vcpu and hypervisor usage) in nanoseconds,
  * as a ullong
+ *
+ * Since: v0.9.10
+ *
  */
 # define VIR_DOMAIN_CPU_STATS_CPUTIME "cpu_time"
 
 /**
  * VIR_DOMAIN_CPU_STATS_USERTIME:
  * cpu time charged to user instructions in nanoseconds, as a ullong
+ *
+ * Since: v0.9.11
+ *
  */
 # define VIR_DOMAIN_CPU_STATS_USERTIME "user_time"
 
 /**
  * VIR_DOMAIN_CPU_STATS_SYSTEMTIME:
  * cpu time charged to system instructions in nanoseconds, as a ullong
+ *
+ * Since: v0.9.11
+ *
  */
 # define VIR_DOMAIN_CPU_STATS_SYSTEMTIME "system_time"
 
@@ -1469,6 +1610,9 @@ int                     virDomainGetState       (virDomainPtr domain,
  * VIR_DOMAIN_CPU_STATS_VCPUTIME:
  * vcpu usage in nanoseconds (cpu_time excluding hypervisor time),
  * as a ullong
+ *
+ * Since: v0.9.13
+ *
  */
 # define VIR_DOMAIN_CPU_STATS_VCPUTIME "vcpu_time"
 
@@ -1497,6 +1641,9 @@ char *                  virDomainGetSchedulerType(virDomainPtr domain,
  *
  * Macro for the Blkio tunable weight: it represents the io weight
  * the guest can use, as a uint.
+ *
+ * Since: v0.9.0
+ *
  */
 
 # define VIR_DOMAIN_BLKIO_WEIGHT "weight"
@@ -1507,6 +1654,9 @@ char *                  virDomainGetSchedulerType(virDomainPtr domain,
  * Macro for the blkio tunable weight_device: it represents the
  * per-device weight, as a string.  The string is parsed as a
  * series of /path/to/device,weight elements, separated by ','.
+ *
+ * Since: v0.9.8
+ *
  */
 
 # define VIR_DOMAIN_BLKIO_DEVICE_WEIGHT "device_weight"
@@ -1518,6 +1668,9 @@ char *                  virDomainGetSchedulerType(virDomainPtr domain,
  * the number of reading the block device per second, as a string. The
  * string is parsed as a series of /path/to/device, read_iops elements,
  * separated by ','.
+ *
+ * Since: v1.2.2
+ *
  */
 
 # define VIR_DOMAIN_BLKIO_DEVICE_READ_IOPS "device_read_iops_sec"
@@ -1530,6 +1683,9 @@ char *                  virDomainGetSchedulerType(virDomainPtr domain,
  * the number of writing the block device per second, as a string. The
  * string is parsed as a series of /path/to/device, write_iops elements,
  * separated by ','.
+ *
+ * Since: v1.2.2
+ *
  */
 # define VIR_DOMAIN_BLKIO_DEVICE_WRITE_IOPS "device_write_iops_sec"
 
@@ -1541,6 +1697,9 @@ char *                  virDomainGetSchedulerType(virDomainPtr domain,
  * the bytes of reading the block device per second, as a string. The
  * string is parsed as a series of /path/to/device, read_bps elements,
  * separated by ','.
+ *
+ * Since: v1.2.2
+ *
  */
 # define VIR_DOMAIN_BLKIO_DEVICE_READ_BPS "device_read_bytes_sec"
 
@@ -1552,6 +1711,9 @@ char *                  virDomainGetSchedulerType(virDomainPtr domain,
  * the number of reading the block device per second, as a string. The
  * string is parsed as a series of /path/to/device, write_bps elements,
  * separated by ','.
+ *
+ * Since: v1.2.2
+ *
  */
 # define VIR_DOMAIN_BLKIO_DEVICE_WRITE_BPS "device_write_bytes_sec"
 
@@ -1570,6 +1732,9 @@ int     virDomainGetBlkioParameters(virDomainPtr domain,
  * VIR_DOMAIN_MEMORY_PARAM_UNLIMITED:
  *
  * Macro providing the virMemoryParameter value that indicates "unlimited"
+ *
+ * Since: v0.8.8
+ *
  */
 
 # define VIR_DOMAIN_MEMORY_PARAM_UNLIMITED 9007199254740991LL /* = INT64_MAX >> 10 */
@@ -1579,6 +1744,9 @@ int     virDomainGetBlkioParameters(virDomainPtr domain,
  *
  * Macro for the memory tunable hard_limit: it represents the maximum memory
  * the guest can use, as a ullong.
+ *
+ * Since: v0.8.5
+ *
  */
 
 # define VIR_DOMAIN_MEMORY_HARD_LIMIT "hard_limit"
@@ -1588,6 +1756,9 @@ int     virDomainGetBlkioParameters(virDomainPtr domain,
  *
  * Macro for the memory tunable soft_limit: it represents the memory upper
  * limit enforced during memory contention, as a ullong.
+ *
+ * Since: v0.8.5
+ *
  */
 
 # define VIR_DOMAIN_MEMORY_SOFT_LIMIT "soft_limit"
@@ -1597,6 +1768,9 @@ int     virDomainGetBlkioParameters(virDomainPtr domain,
  *
  * Macro for the memory tunable min_guarantee: it represents the minimum
  * memory guaranteed to be reserved for the guest, as a ullong.
+ *
+ * Since: v0.8.5
+ *
  */
 
 # define VIR_DOMAIN_MEMORY_MIN_GUARANTEE "min_guarantee"
@@ -1607,6 +1781,9 @@ int     virDomainGetBlkioParameters(virDomainPtr domain,
  * Macro for the swap tunable swap_hard_limit: it represents the maximum swap
  * plus memory the guest can use, as a ullong. This limit has to be more than
  * VIR_DOMAIN_MEMORY_HARD_LIMIT.
+ *
+ * Since: v0.8.5
+ *
  */
 
 # define VIR_DOMAIN_MEMORY_SWAP_HARD_LIMIT "swap_hard_limit"
@@ -1654,6 +1831,9 @@ typedef enum {
  *
  * Macro for typed parameter name that lists the numa nodeset of a
  * domain, as a string.
+ *
+ * Since: v0.9.9
+ *
  */
 # define VIR_DOMAIN_NUMA_NODESET "numa_nodeset"
 
@@ -1662,6 +1842,9 @@ typedef enum {
  *
  * Macro for typed parameter name that lists the numa mode of a domain,
  * as an int containing a virDomainNumatuneMemMode value.
+ *
+ * Since: v0.9.9
+ *
  */
 # define VIR_DOMAIN_NUMA_MODE "numa_mode"
 
@@ -1784,6 +1967,9 @@ int                     virDomainInterfaceStats (virDomainPtr dom,
  * VIR_DOMAIN_BANDWIDTH_IN_AVERAGE:
  *
  * Macro represents the inbound average of NIC bandwidth, as a uint.
+ *
+ * Since: v0.9.9
+ *
  */
 # define VIR_DOMAIN_BANDWIDTH_IN_AVERAGE "inbound.average"
 
@@ -1791,6 +1977,9 @@ int                     virDomainInterfaceStats (virDomainPtr dom,
  * VIR_DOMAIN_BANDWIDTH_IN_PEAK:
  *
  * Macro represents the inbound peak of NIC bandwidth, as a uint.
+ *
+ * Since: v0.9.9
+ *
  */
 # define VIR_DOMAIN_BANDWIDTH_IN_PEAK "inbound.peak"
 
@@ -1798,6 +1987,9 @@ int                     virDomainInterfaceStats (virDomainPtr dom,
  * VIR_DOMAIN_BANDWIDTH_IN_BURST:
  *
  * Macro represents the inbound burst of NIC bandwidth, as a uint.
+ *
+ * Since: v0.9.9
+ *
  */
 # define VIR_DOMAIN_BANDWIDTH_IN_BURST "inbound.burst"
 
@@ -1805,6 +1997,9 @@ int                     virDomainInterfaceStats (virDomainPtr dom,
  * VIR_DOMAIN_BANDWIDTH_IN_FLOOR:
  *
  * Macro represents the inbound floor of NIC bandwidth, as a uint.
+ *
+ * Since: v1.2.19
+ *
  */
 # define VIR_DOMAIN_BANDWIDTH_IN_FLOOR "inbound.floor"
 
@@ -1812,6 +2007,9 @@ int                     virDomainInterfaceStats (virDomainPtr dom,
  * VIR_DOMAIN_BANDWIDTH_OUT_AVERAGE:
  *
  * Macro represents the outbound average of NIC bandwidth, as a uint.
+ *
+ * Since: v0.9.9
+ *
  */
 # define VIR_DOMAIN_BANDWIDTH_OUT_AVERAGE "outbound.average"
 
@@ -1819,6 +2017,9 @@ int                     virDomainInterfaceStats (virDomainPtr dom,
  * VIR_DOMAIN_BANDWIDTH_OUT_PEAK:
  *
  * Macro represents the outbound peak of NIC bandwidth, as a uint.
+ *
+ * Since: v0.9.9
+ *
  */
 # define VIR_DOMAIN_BANDWIDTH_OUT_PEAK "outbound.peak"
 
@@ -1826,6 +2027,9 @@ int                     virDomainInterfaceStats (virDomainPtr dom,
  * VIR_DOMAIN_BANDWIDTH_OUT_BURST:
  *
  * Macro represents the outbound burst of NIC bandwidth, as a uint.
+ *
+ * Since: v0.9.9
+ *
  */
 # define VIR_DOMAIN_BANDWIDTH_OUT_BURST "outbound.burst"
 
@@ -2131,6 +2335,9 @@ int                  virDomainDelIOThread(virDomainPtr domain,
  * will cause more CPU time to be allocated the guest. A value set too
  * small will not provide enough cycles for the guest to process data.
  * The polling interval is not available for statistical purposes.
+ *
+ * Since: v4.10.0
+ *
  */
 # define VIR_DOMAIN_IOTHREAD_POLL_MAX_NS "poll_max_ns"
 
@@ -2141,6 +2348,9 @@ int                  virDomainDelIOThread(virDomainPtr domain,
  * use to grow its polling interval up to the poll_max_ns value. A value
  * of 0 (zero) allows the hypervisor to choose its own value. The algorithm
  * to use for adjustment is hypervisor specific.
+ *
+ * Since: v4.10.0
+ *
  */
 # define VIR_DOMAIN_IOTHREAD_POLL_GROW "poll_grow"
 
@@ -2152,6 +2362,9 @@ int                  virDomainDelIOThread(virDomainPtr domain,
  * the poll_max_ns value. A value of 0 (zero) allows the hypervisor to
  * choose its own value. The algorithm to use for adjustment is hypervisor
  * specific.
+ *
+ * Since: v4.10.0
+ *
  */
 # define VIR_DOMAIN_IOTHREAD_POLL_SHRINK "poll_shrink"
 
@@ -2169,6 +2382,9 @@ int                  virDomainSetIOThreadParams(virDomainPtr domain,
  *
  * This macro is to be used in conjunction with virDomainPinVcpu() API.
  * It sets the bit (CPU usable) of the related cpu in cpumap.
+ *
+ * Since: v0.1.4
+ *
  */
 
 # define VIR_USE_CPU(cpumap, cpu) ((cpumap)[(cpu) / 8] |= (1 << ((cpu) % 8)))
@@ -2180,6 +2396,9 @@ int                  virDomainSetIOThreadParams(virDomainPtr domain,
  *
  * This macro is to be used in conjunction with virDomainPinVcpu() API.
  * It resets the bit (CPU not usable) of the related cpu in cpumap.
+ *
+ * Since: v0.1.4
+ *
  */
 
 # define VIR_UNUSE_CPU(cpumap, cpu) ((cpumap)[(cpu) / 8] &= ~(1 << ((cpu) % 8)))
@@ -2191,6 +2410,9 @@ int                  virDomainSetIOThreadParams(virDomainPtr domain,
  *
  * This macro can be used in conjunction with virNodeGetCPUMap() API.
  * It returns non-zero if the bit of the related CPU is set.
+ *
+ * Since: v1.0.0
+ *
  */
 
 # define VIR_CPU_USED(cpumap, cpu) ((cpumap)[(cpu) / 8] & (1 << ((cpu) % 8)))
@@ -2202,6 +2424,9 @@ int                  virDomainSetIOThreadParams(virDomainPtr domain,
  * This macro is to be used in conjunction with virDomainPinVcpu() API.
  * It returns the length (in bytes) required to store the complete
  * CPU map between a single virtual & all physical CPUs of a domain.
+ *
+ * Since: v0.1.4
+ *
  */
 
 # define VIR_CPU_MAPLEN(cpu) (((cpu) + 7) / 8)
@@ -2223,6 +2448,9 @@ int                     virDomainGetVcpus       (virDomainPtr domain,
  * This macro is to be used in conjunction with virDomainGetVcpus() API.
  * VIR_CPU_USABLE macro returns a non-zero value (true) if the cpu
  * is usable by the vcpu, and 0 otherwise.
+ *
+ * Since: v0.1.4
+ *
  */
 
 # define VIR_CPU_USABLE(cpumaps, maplen, vcpu, cpu) \
@@ -2241,6 +2469,9 @@ int                     virDomainGetVcpus       (virDomainPtr domain,
  * virDomainPinVcpu() APIs. VIR_COPY_CPUMAP macro extracts the cpumap of
  * the specified vcpu from cpumaps array and copies it into cpumap to be used
  * later by virDomainPinVcpu() API.
+ *
+ * Since: v0.1.4
+ *
  */
 # define VIR_COPY_CPUMAP(cpumaps, maplen, vcpu, cpumap) \
     memcpy(cpumap, VIR_GET_CPUMAP(cpumaps, maplen, vcpu), maplen)
@@ -2255,6 +2486,9 @@ int                     virDomainGetVcpus       (virDomainPtr domain,
  * This macro is to be used in conjunction with virDomainGetVcpus() and
  * virDomainPinVcpu() APIs. VIR_GET_CPUMAP macro returns a pointer to the
  * cpumap of the specified vcpu from cpumaps array.
+ *
+ * Since: v0.1.4
+ *
  */
 # define VIR_GET_CPUMAP(cpumaps, maplen, vcpu) (&((cpumaps)[(vcpu) * (maplen)]))
 
@@ -2345,6 +2579,9 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
  * which can be used to measure the usage of cache (bytes) by
  * applications running on the platform. It corresponds to the
  * "perf.cmt" field in the *Stats APIs.
+ *
+ * Since: v1.3.3
+ *
  */
 # define VIR_PERF_PARAM_CMT "cmt"
 
@@ -2355,6 +2592,9 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
  * which can be used to monitor total system bandwidth (bytes/s)
  * from one level of cache to another. It corresponds to the
  * "perf.mbmt" field in the *Stats APIs.
+ *
+ * Since: v1.3.5
+ *
 
  */
 # define VIR_PERF_PARAM_MBMT "mbmt"
@@ -2366,6 +2606,9 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
  * which can be used to monitor the amount of data (bytes/s) sent
  * through the memory controller on the socket. It corresponds to
  * the "perf.mbml" field in the *Stats APIs.
+ *
+ * Since: v1.3.5
+ *
  */
 # define VIR_PERF_PARAM_MBML "mbml"
 
@@ -2376,6 +2619,9 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
  * event which can be used to measure the count of cache misses by
  * applications running on the platform. It corresponds to the
  * "perf.cache_misses" field in the *Stats APIs.
+ *
+ * Since: v2.3.0
+ *
  */
 # define VIR_PERF_PARAM_CACHE_MISSES "cache_misses"
 
@@ -2386,6 +2632,9 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
  * perf event which can be used to measure the count of cache hits
  * by applications running on the platform. It corresponds to the
  * "perf.cache_references" field in the *Stats APIs.
+ *
+ * Since: v2.3.0
+ *
  */
 # define VIR_PERF_PARAM_CACHE_REFERENCES "cache_references"
 
@@ -2396,6 +2645,9 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
  * event which can be used to measure the count of instructions
  * by applications running on the platform. It corresponds to the
  * "perf.instructions" field in the *Stats APIs.
+ *
+ * Since: v2.3.0
+ *
  */
 # define VIR_PERF_PARAM_INSTRUCTIONS "instructions"
 
@@ -2406,6 +2658,9 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
  * describing the total/elapsed cpu cycles. This can be used to measure
  * how many cpu cycles one instruction needs.
  * It corresponds to the "perf.cpu_cycles" field in the *Stats APIs.
+ *
+ * Since: v2.3.0
+ *
  */
 # define VIR_PERF_PARAM_CPU_CYCLES "cpu_cycles"
 
@@ -2416,6 +2671,9 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
  * perf event which can be used to measure the count of branch instructions
  * by applications running on the platform. It corresponds to the
  * "perf.branch_instructions" field in the *Stats APIs.
+ *
+ * Since: v3.0.0
+ *
  */
 # define VIR_PERF_PARAM_BRANCH_INSTRUCTIONS "branch_instructions"
 
@@ -2426,6 +2684,9 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
  * perf event which can be used to measure the count of branch misses
  * by applications running on the platform. It corresponds to the
  * "perf.branch_misses" field in the *Stats APIs.
+ *
+ * Since: v3.0.0
+ *
  */
 # define VIR_PERF_PARAM_BRANCH_MISSES "branch_misses"
 
@@ -2436,6 +2697,9 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
  * perf event which can be used to measure the count of bus cycles
  * by applications running on the platform. It corresponds to the
  * "perf.bus_cycles" field in the *Stats APIs.
+ *
+ * Since: v3.0.0
+ *
  */
 # define VIR_PERF_PARAM_BUS_CYCLES "bus_cycles"
 
@@ -2447,6 +2711,9 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
  * in the frontend of the instruction processor pipeline by applications
  * running on the platform. It corresponds to the
  * "perf.stalled_cycles_frontend" field in the *Stats APIs.
+ *
+ * Since: v3.0.0
+ *
  */
 # define VIR_PERF_PARAM_STALLED_CYCLES_FRONTEND "stalled_cycles_frontend"
 
@@ -2458,6 +2725,9 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
  * in the backend of the instruction processor pipeline by application
  * running on the platform. It corresponds to the
  * "perf.stalled_cycles_backend" field in the *Stats APIs.
+ *
+ * Since: v3.0.0
+ *
  */
 # define VIR_PERF_PARAM_STALLED_CYCLES_BACKEND "stalled_cycles_backend"
 
@@ -2469,6 +2739,9 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
  * cycles not affected by CPU frequency scaling by applications
  * running on the platform. It corresponds to the
  * "perf.ref_cpu_cycles" field in the *Stats APIs.
+ *
+ * Since: v3.0.0
+ *
  */
 # define VIR_PERF_PARAM_REF_CPU_CYCLES "ref_cpu_cycles"
 
@@ -2480,6 +2753,9 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
  * clock time by applications running on the platform. It
  * corresponds to the "perf.cpu_clock" field in the *Stats
  * APIs.
+ *
+ * Since: v3.2.0
+ *
  */
 # define VIR_PERF_PARAM_CPU_CLOCK "cpu_clock"
 
@@ -2491,6 +2767,9 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
  * clock time by applications running on the platform. It
  * corresponds to the "perf.task_clock" field in the *Stats
  * APIs.
+ *
+ * Since: v3.2.0
+ *
  */
 # define VIR_PERF_PARAM_TASK_CLOCK "task_clock"
 
@@ -2501,6 +2780,9 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
 * perf event which can be used to measure the count of page
 * faults by applications running on the platform. It corresponds
 * to the "perf.page_faults" field in the *Stats APIs.
+*
+* Since: v3.2.0
+*
 */
 # define VIR_PERF_PARAM_PAGE_FAULTS "page_faults"
 
@@ -2511,6 +2793,9 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
  * perf event which can be used to measure the count of context
  * switches by applications running on the platform. It corresponds
  * to the "perf.context_switches" field in the *Stats APIs.
+ *
+ * Since: v3.2.0
+ *
  */
 # define VIR_PERF_PARAM_CONTEXT_SWITCHES "context_switches"
 
@@ -2521,6 +2806,9 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
  * perf event which can be used to measure the count of cpu
  * migrations by applications running on the platform. It corresponds
  * to the "perf.cpu_migrations" field in the *Stats APIs.
+ *
+ * Since: v3.2.0
+ *
  */
 # define VIR_PERF_PARAM_CPU_MIGRATIONS "cpu_migrations"
 
@@ -2531,6 +2819,9 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
  * perf event which can be used to measure the count of minor page
  * faults by applications running on the platform. It corresponds
  * to the "perf.page_faults_min" field in the *Stats APIs.
+ *
+ * Since: v3.2.0
+ *
  */
 # define VIR_PERF_PARAM_PAGE_FAULTS_MIN  "page_faults_min"
 
@@ -2541,6 +2832,9 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
  * perf event which can be used to measure the count of major page
  * faults by applications running on the platform. It corresponds
  * to the "perf.page_faults_maj" field in the *Stats APIs.
+ *
+ * Since: v3.2.0
+ *
  */
 # define VIR_PERF_PARAM_PAGE_FAULTS_MAJ  "page_faults_maj"
 
@@ -2551,6 +2845,9 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
  * perf event which can be used to measure the count of alignment
  * faults by applications running on the platform. It corresponds
  * to the "perf.alignment_faults" field in the *Stats APIs.
+ *
+ * Since: v3.2.0
+ *
  */
 # define VIR_PERF_PARAM_ALIGNMENT_FAULTS  "alignment_faults"
 
@@ -2561,6 +2858,9 @@ void virDomainStatsRecordListFree(virDomainStatsRecordPtr *stats);
  * perf event which can be used to measure the count of emulation
  * faults by applications running on the platform. It corresponds
  * to the "perf.emulation_faults" field in the *Stats APIs.
+ *
+ * Since: v3.2.0
+ *
  */
 # define VIR_PERF_PARAM_EMULATION_FAULTS  "emulation_faults"
 
@@ -2752,6 +3052,9 @@ typedef enum {
  * allowing a subsequent change of bandwidth via
  * virDomainBlockJobSetSpeed().  The actual speed can be determined
  * with virDomainGetBlockJobInfo().
+ *
+ * Since: v1.2.8
+ *
  */
 # define VIR_DOMAIN_BLOCK_COPY_BANDWIDTH "bandwidth"
 
@@ -2763,6 +3066,9 @@ typedef enum {
  * restrict this to be a power of two or fall within a certain
  * range. Specifying 0 is the same as omitting this parameter, to
  * request the hypervisor default.
+ *
+ * Since: v1.2.8
+ *
  */
 # define VIR_DOMAIN_BLOCK_COPY_GRANULARITY "granularity"
 
@@ -2772,6 +3078,9 @@ typedef enum {
  * how much data in bytes can be in flight between source and destination,
  * as an unsigned long long. Specifying 0 is the same as omitting this
  * parameter, to request the hypervisor default.
+ *
+ * Since: v1.2.8
+ *
  */
 # define VIR_DOMAIN_BLOCK_COPY_BUF_SIZE "buf-size"
 
@@ -2813,6 +3122,9 @@ int virDomainBlockCommit(virDomainPtr dom, const char *disk, const char *base,
  *
  * Macro for the BlockIoTune tunable weight: it represents the total
  * bytes per second permitted through a block device, as a ullong.
+ *
+ * Since: v0.9.8
+ *
  */
 # define VIR_DOMAIN_BLOCK_IOTUNE_TOTAL_BYTES_SEC "total_bytes_sec"
 
@@ -2821,6 +3133,9 @@ int virDomainBlockCommit(virDomainPtr dom, const char *disk, const char *base,
  *
  * Macro for the BlockIoTune tunable weight: it represents the read
  * bytes per second permitted through a block device, as a ullong.
+ *
+ * Since: v0.9.8
+ *
  */
 # define VIR_DOMAIN_BLOCK_IOTUNE_READ_BYTES_SEC "read_bytes_sec"
 
@@ -2829,6 +3144,9 @@ int virDomainBlockCommit(virDomainPtr dom, const char *disk, const char *base,
  *
  * Macro for the BlockIoTune tunable weight: it represents the write
  * bytes per second permitted through a block device, as a ullong.
+ *
+ * Since: v0.9.8
+ *
  */
 # define VIR_DOMAIN_BLOCK_IOTUNE_WRITE_BYTES_SEC "write_bytes_sec"
 
@@ -2837,6 +3155,9 @@ int virDomainBlockCommit(virDomainPtr dom, const char *disk, const char *base,
  *
  * Macro for the BlockIoTune tunable weight: it represents the total
  * I/O operations per second permitted through a block device, as a ullong.
+ *
+ * Since: v0.9.8
+ *
  */
 # define VIR_DOMAIN_BLOCK_IOTUNE_TOTAL_IOPS_SEC "total_iops_sec"
 
@@ -2845,6 +3166,9 @@ int virDomainBlockCommit(virDomainPtr dom, const char *disk, const char *base,
  *
  * Macro for the BlockIoTune tunable weight: it represents the read
  * I/O operations per second permitted through a block device, as a ullong.
+ *
+ * Since: v0.9.8
+ *
  */
 # define VIR_DOMAIN_BLOCK_IOTUNE_READ_IOPS_SEC "read_iops_sec"
 
@@ -2852,6 +3176,9 @@ int virDomainBlockCommit(virDomainPtr dom, const char *disk, const char *base,
  * VIR_DOMAIN_BLOCK_IOTUNE_WRITE_IOPS_SEC:
  * Macro for the BlockIoTune tunable weight: it represents the write
  * I/O operations per second permitted through a block device, as a ullong.
+ *
+ * Since: v0.9.8
+ *
  */
 # define VIR_DOMAIN_BLOCK_IOTUNE_WRITE_IOPS_SEC "write_iops_sec"
 
@@ -2860,6 +3187,9 @@ int virDomainBlockCommit(virDomainPtr dom, const char *disk, const char *base,
  *
  * Macro for the BlockIoTune tunable weight: it represents the maximum total
  * bytes per second permitted through a block device, as a ullong.
+ *
+ * Since: v1.2.11
+ *
  */
 # define VIR_DOMAIN_BLOCK_IOTUNE_TOTAL_BYTES_SEC_MAX "total_bytes_sec_max"
 
@@ -2868,6 +3198,9 @@ int virDomainBlockCommit(virDomainPtr dom, const char *disk, const char *base,
  *
  * Macro for the BlockIoTune tunable weight: it represents the maximum read
  * bytes per second permitted through a block device, as a ullong.
+ *
+ * Since: v1.2.11
+ *
  */
 # define VIR_DOMAIN_BLOCK_IOTUNE_READ_BYTES_SEC_MAX "read_bytes_sec_max"
 
@@ -2876,6 +3209,9 @@ int virDomainBlockCommit(virDomainPtr dom, const char *disk, const char *base,
  *
  * Macro for the BlockIoTune tunable weight: it represents the maximum write
  * bytes per second permitted through a block device, as a ullong.
+ *
+ * Since: v1.2.11
+ *
  */
 # define VIR_DOMAIN_BLOCK_IOTUNE_WRITE_BYTES_SEC_MAX "write_bytes_sec_max"
 
@@ -2884,6 +3220,9 @@ int virDomainBlockCommit(virDomainPtr dom, const char *disk, const char *base,
  *
  * Macro for the BlockIoTune tunable weight: it represents the maximum
  * I/O operations per second permitted through a block device, as a ullong.
+ *
+ * Since: v1.2.11
+ *
  */
 # define VIR_DOMAIN_BLOCK_IOTUNE_TOTAL_IOPS_SEC_MAX "total_iops_sec_max"
 
@@ -2892,6 +3231,9 @@ int virDomainBlockCommit(virDomainPtr dom, const char *disk, const char *base,
  *
  * Macro for the BlockIoTune tunable weight: it represents the maximum read
  * I/O operations per second permitted through a block device, as a ullong.
+ *
+ * Since: v1.2.11
+ *
  */
 # define VIR_DOMAIN_BLOCK_IOTUNE_READ_IOPS_SEC_MAX "read_iops_sec_max"
 
@@ -2899,6 +3241,9 @@ int virDomainBlockCommit(virDomainPtr dom, const char *disk, const char *base,
  * VIR_DOMAIN_BLOCK_IOTUNE_WRITE_IOPS_SEC_MAX:
  * Macro for the BlockIoTune tunable weight: it represents the maximum write
  * I/O operations per second permitted through a block device, as a ullong.
+ *
+ * Since: v1.2.11
+ *
  */
 # define VIR_DOMAIN_BLOCK_IOTUNE_WRITE_IOPS_SEC_MAX "write_iops_sec_max"
 
@@ -2907,6 +3252,9 @@ int virDomainBlockCommit(virDomainPtr dom, const char *disk, const char *base,
  *
  * Macro for the BlockIoTune tunable weight: it represents the duration in
  * seconds for the burst allowed by total_bytes_sec_max, as a ullong.
+ *
+ * Since: v2.4.0
+ *
  */
 # define VIR_DOMAIN_BLOCK_IOTUNE_TOTAL_BYTES_SEC_MAX_LENGTH "total_bytes_sec_max_length"
 
@@ -2915,6 +3263,9 @@ int virDomainBlockCommit(virDomainPtr dom, const char *disk, const char *base,
  *
  * Macro for the BlockIoTune tunable weight: it represents the duration in
  * seconds for the burst allowed by read_bytes_sec_max, as a ullong.
+ *
+ * Since: v2.4.0
+ *
  */
 # define VIR_DOMAIN_BLOCK_IOTUNE_READ_BYTES_SEC_MAX_LENGTH "read_bytes_sec_max_length"
 
@@ -2923,6 +3274,9 @@ int virDomainBlockCommit(virDomainPtr dom, const char *disk, const char *base,
  *
  * Macro for the BlockIoTune tunable weight: it represents the duration in
  * seconds for the burst allowed by write_bytes_sec_max, as a ullong.
+ *
+ * Since: v2.4.0
+ *
  */
 # define VIR_DOMAIN_BLOCK_IOTUNE_WRITE_BYTES_SEC_MAX_LENGTH "write_bytes_sec_max_length"
 
@@ -2931,6 +3285,9 @@ int virDomainBlockCommit(virDomainPtr dom, const char *disk, const char *base,
  *
  * Macro for the BlockIoTune tunable weight: it represents the duration in
  * seconds for the burst allowed by total_iops_sec_max, as a ullong.
+ *
+ * Since: v2.4.0
+ *
  */
 # define VIR_DOMAIN_BLOCK_IOTUNE_TOTAL_IOPS_SEC_MAX_LENGTH "total_iops_sec_max_length"
 
@@ -2939,6 +3296,9 @@ int virDomainBlockCommit(virDomainPtr dom, const char *disk, const char *base,
  *
  * Macro for the BlockIoTune tunable weight: it represents the duration in
  * seconds for the burst allowed by read_iops_sec_max, as a ullong.
+ *
+ * Since: v2.4.0
+ *
  */
 # define VIR_DOMAIN_BLOCK_IOTUNE_READ_IOPS_SEC_MAX_LENGTH "read_iops_sec_max_length"
 
@@ -2947,6 +3307,9 @@ int virDomainBlockCommit(virDomainPtr dom, const char *disk, const char *base,
  *
  * Macro for the BlockIoTune tunable weight: it represents the duration in
  * seconds for the burst allowed by write_iops_sec_max, as a ullong.
+ *
+ * Since: v2.4.0
+ *
  */
 # define VIR_DOMAIN_BLOCK_IOTUNE_WRITE_IOPS_SEC_MAX_LENGTH "write_iops_sec_max_length"
 
@@ -2954,6 +3317,9 @@ int virDomainBlockCommit(virDomainPtr dom, const char *disk, const char *base,
  * VIR_DOMAIN_BLOCK_IOTUNE_SIZE_IOPS_SEC:
  * Macro for the BlockIoTune tunable weight: it represents the size
  * I/O operations per second permitted through a block device, as a ullong.
+ *
+ * Since: v1.2.11
+ *
  */
 # define VIR_DOMAIN_BLOCK_IOTUNE_SIZE_IOPS_SEC "size_iops_sec"
 
@@ -2961,6 +3327,9 @@ int virDomainBlockCommit(virDomainPtr dom, const char *disk, const char *base,
  * VIR_DOMAIN_BLOCK_IOTUNE_GROUP_NAME:
  * Macro for the BlockIoTune tunable weight: it represents a group name to
  * allow sharing of I/O throttling quota between multiple drives, as a string.
+ *
+ * Since: v3.0.0
+ *
  */
 # define VIR_DOMAIN_BLOCK_IOTUNE_GROUP_NAME "group_name"
 
@@ -3044,6 +3413,9 @@ typedef enum {
  * VIR_KEYCODE_SET_RFB:
  *
  * Compatibility alias for VIR_KEYCODE_SET_QNUM, which replaced it since 4.2.0.
+ *
+ * Since: v0.9.5
+ *
  */
 # define VIR_KEYCODE_SET_RFB VIR_KEYCODE_SET_QNUM
 
@@ -3051,6 +3423,9 @@ typedef enum {
  * VIR_DOMAIN_SEND_KEY_MAX_KEYS:
  *
  * Maximum number of keycodes that can be sent in one virDomainSendKey() call.
+ *
+ * Since: v0.9.3
+ *
  */
 # define VIR_DOMAIN_SEND_KEY_MAX_KEYS  16
 
@@ -3543,6 +3918,9 @@ typedef enum {
  * virDomainGetJobStats field: the operation which started the job as
  * VIR_TYPED_PARAM_INT. The values correspond to the items in
  * virDomainJobOperation enum.
+ *
+ * Since: v3.3.0
+ *
  */
 # define VIR_DOMAIN_JOB_OPERATION                "operation"
 
@@ -3553,6 +3931,9 @@ typedef enum {
  * job, as VIR_TYPED_PARAM_ULLONG.
  *
  * This field corresponds to timeElapsed field in virDomainJobInfo.
+ *
+ * Since: v1.0.3
+ *
  */
 # define VIR_DOMAIN_JOB_TIME_ELAPSED             "time_elapsed"
 
@@ -3563,6 +3944,9 @@ typedef enum {
  * migration job NOT including the time required to transfer control
  * flow from the source host to the destination host,
  * as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.2.15
+ *
  */
 # define VIR_DOMAIN_JOB_TIME_ELAPSED_NET         "time_elapsed_net"
 
@@ -3573,6 +3957,9 @@ typedef enum {
  * jobs, as VIR_TYPED_PARAM_ULLONG.
  *
  * This field corresponds to timeRemaining field in virDomainJobInfo.
+ *
+ * Since: v1.0.3
+ *
  */
 # define VIR_DOMAIN_JOB_TIME_REMAINING           "time_remaining"
 
@@ -3583,6 +3970,9 @@ typedef enum {
  * during migration, as VIR_TYPED_PARAM_ULLONG. The real computed downtime
  * between the time guest CPUs were paused and the time they were resumed
  * is reported for completed migration.
+ *
+ * Since: v1.0.3
+ *
  */
 # define VIR_DOMAIN_JOB_DOWNTIME                 "downtime"
 
@@ -3592,6 +3982,9 @@ typedef enum {
  * virDomainGetJobStats field: real measured downtime (ms) NOT including
  * the time required to transfer control flow from the source host to the
  * destination host, as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.2.15
+ *
  */
 # define VIR_DOMAIN_JOB_DOWNTIME_NET             "downtime_net"
 
@@ -3601,6 +3994,9 @@ typedef enum {
  * virDomainGetJobStats field: total time in milliseconds spent preparing
  * the migration in the 'setup' phase before the iterations begin, as
  * VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.2.9
+ *
  */
 # define VIR_DOMAIN_JOB_SETUP_TIME               "setup_time"
 
@@ -3616,6 +4012,9 @@ typedef enum {
  * VIR_DOMAIN_JOB_DATA_PROCESSED + VIR_DOMAIN_JOB_DATA_REMAINING.
  *
  * This field corresponds to dataTotal field in virDomainJobInfo.
+ *
+ * Since: v1.0.3
+ *
  */
 # define VIR_DOMAIN_JOB_DATA_TOTAL               "data_total"
 
@@ -3626,6 +4025,9 @@ typedef enum {
  * beginning of the job, as VIR_TYPED_PARAM_ULLONG.
  *
  * This field corresponds to dataProcessed field in virDomainJobInfo.
+ *
+ * Since: v1.0.3
+ *
  */
 # define VIR_DOMAIN_JOB_DATA_PROCESSED           "data_processed"
 
@@ -3636,6 +4038,9 @@ typedef enum {
  * transferred, as VIR_TYPED_PARAM_ULLONG.
  *
  * This field corresponds to dataRemaining field in virDomainJobInfo.
+ *
+ * Since: v1.0.3
+ *
  */
 # define VIR_DOMAIN_JOB_DATA_REMAINING           "data_remaining"
 
@@ -3646,6 +4051,9 @@ typedef enum {
  * tracking guest memory progress, as VIR_TYPED_PARAM_ULLONG.
  *
  * This field corresponds to memTotal field in virDomainJobInfo.
+ *
+ * Since: v1.0.3
+ *
  */
 # define VIR_DOMAIN_JOB_MEMORY_TOTAL             "memory_total"
 
@@ -3656,6 +4064,9 @@ typedef enum {
  * tracking guest memory progress, as VIR_TYPED_PARAM_ULLONG.
  *
  * This field corresponds to memProcessed field in virDomainJobInfo.
+ *
+ * Since: v1.0.3
+ *
  */
 # define VIR_DOMAIN_JOB_MEMORY_PROCESSED         "memory_processed"
 
@@ -3666,6 +4077,9 @@ typedef enum {
  * tracking guest memory progress, as VIR_TYPED_PARAM_ULLONG.
  *
  * This field corresponds to memRemaining field in virDomainJobInfo.
+ *
+ * Since: v1.0.3
+ *
  */
 # define VIR_DOMAIN_JOB_MEMORY_REMAINING         "memory_remaining"
 
@@ -3678,6 +4092,9 @@ typedef enum {
  *
  * The most common example of such pages are zero pages, i.e., pages filled
  * with zero bytes.
+ *
+ * Since: v1.0.3
+ *
  */
 # define VIR_DOMAIN_JOB_MEMORY_CONSTANT          "memory_constant"
 
@@ -3688,6 +4105,9 @@ typedef enum {
  * any kind of compression (i.e., pages which were not filled with a constant
  * byte and which could not be compressed) transferred since the beginning
  * of the migration job, as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.0.3
+ *
  */
 # define VIR_DOMAIN_JOB_MEMORY_NORMAL            "memory_normal"
 
@@ -3698,6 +4118,9 @@ typedef enum {
  * as VIR_TYPED_PARAM_ULLONG.
  *
  * See VIR_DOMAIN_JOB_MEMORY_NORMAL for more details.
+ *
+ * Since: v1.0.3
+ *
  */
 # define VIR_DOMAIN_JOB_MEMORY_NORMAL_BYTES      "memory_normal_bytes"
 
@@ -3706,6 +4129,9 @@ typedef enum {
  *
  * virDomainGetJobStats field: network throughput used while migrating
  * memory in Bytes per second, as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.2.9
+ *
  */
 # define VIR_DOMAIN_JOB_MEMORY_BPS               "memory_bps"
 
@@ -3714,6 +4140,9 @@ typedef enum {
  * virDomainGetJobStats field: number of memory pages dirtied by the guest
  * per second, as VIR_TYPED_PARAM_ULLONG. This statistics makes sense only
  * when live migration is running.
+ *
+ * Since: v1.3.1
+ *
  */
 # define VIR_DOMAIN_JOB_MEMORY_DIRTY_RATE        "memory_dirty_rate"
 
@@ -3725,6 +4154,9 @@ typedef enum {
  * convert other page based statistics, such as
  * VIR_DOMAIN_JOB_MEMORY_DIRTY_RATE or VIR_DOMAIN_JOB_COMPRESSION_PAGES
  * to bytes.
+ *
+ * Since: v3.9.0
+ *
  */
 # define VIR_DOMAIN_JOB_MEMORY_PAGE_SIZE         "memory_page_size"
 
@@ -3736,6 +4168,9 @@ typedef enum {
  * when memory starts to be transferred and the value is increased by one
  * every time a new iteration is started to transfer memory pages dirtied
  * since the last iteration.
+ *
+ * Since: v1.3.1
+ *
  */
 # define VIR_DOMAIN_JOB_MEMORY_ITERATION         "memory_iteration"
 
@@ -3746,6 +4181,9 @@ typedef enum {
  * destination host during post-copy migration, as VIR_TYPED_PARAM_ULLONG.
  * This counter is incremented whenever the migrated domain tries to access
  * a memory page which has not been transferred from the source host yet.
+ *
+ * Since: v5.0.0
+ *
  */
 # define VIR_DOMAIN_JOB_MEMORY_POSTCOPY_REQS     "memory_postcopy_requests"
 
@@ -3756,6 +4194,9 @@ typedef enum {
  * tracking guest disk progress, as VIR_TYPED_PARAM_ULLONG.
  *
  * This field corresponds to fileTotal field in virDomainJobInfo.
+ *
+ * Since: v1.0.3
+ *
  */
 # define VIR_DOMAIN_JOB_DISK_TOTAL               "disk_total"
 
@@ -3766,6 +4207,9 @@ typedef enum {
  * tracking guest disk progress, as VIR_TYPED_PARAM_ULLONG.
  *
  * This field corresponds to fileProcessed field in virDomainJobInfo.
+ *
+ * Since: v1.0.3
+ *
  */
 # define VIR_DOMAIN_JOB_DISK_PROCESSED           "disk_processed"
 
@@ -3776,6 +4220,9 @@ typedef enum {
  * tracking guest disk progress, as VIR_TYPED_PARAM_ULLONG.
  *
  * This field corresponds to fileRemaining field in virDomainJobInfo.
+ *
+ * Since: v1.0.3
+ *
  */
 # define VIR_DOMAIN_JOB_DISK_REMAINING           "disk_remaining"
 
@@ -3784,6 +4231,9 @@ typedef enum {
  *
  * virDomainGetJobStats field: network throughput used while migrating
  * disks in Bytes per second, as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.2.9
+ *
  */
 # define VIR_DOMAIN_JOB_DISK_BPS                 "disk_bps"
 
@@ -3793,6 +4243,9 @@ typedef enum {
  * virDomainGetJobStats field: size of the cache (in bytes) used for
  * compressing repeatedly transferred memory pages during live migration,
  * as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.0.3
+ *
  */
 # define VIR_DOMAIN_JOB_COMPRESSION_CACHE        "compression_cache"
 
@@ -3801,6 +4254,9 @@ typedef enum {
  *
  * virDomainGetJobStats field: number of compressed bytes transferred
  * since the beginning of migration, as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.0.3
+ *
  */
 # define VIR_DOMAIN_JOB_COMPRESSION_BYTES        "compression_bytes"
 
@@ -3809,6 +4265,9 @@ typedef enum {
  *
  * virDomainGetJobStats field: number of compressed pages transferred
  * since the beginning of migration, as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.0.3
+ *
  */
 # define VIR_DOMAIN_JOB_COMPRESSION_PAGES        "compression_pages"
 
@@ -3818,6 +4277,9 @@ typedef enum {
  * virDomainGetJobStats field: number of repeatedly changing pages that
  * were not found in compression cache and thus could not be compressed,
  * as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.0.3
+ *
  */
 # define VIR_DOMAIN_JOB_COMPRESSION_CACHE_MISSES "compression_cache_misses"
 
@@ -3828,6 +4290,9 @@ typedef enum {
  * were found in compression cache but were sent uncompressed because
  * the result of compression was larger than the original page as a whole,
  * as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.0.3
+ *
  */
 # define VIR_DOMAIN_JOB_COMPRESSION_OVERFLOW     "compression_overflow"
 
@@ -3837,6 +4302,9 @@ typedef enum {
  * virDomainGetJobStats field: current percentage guest CPUs are throttled
  * to when auto-convergence decided migration was not converging, as
  * VIR_TYPED_PARAM_INT.
+ *
+ * Since: v2.0.0
+ *
  */
 # define VIR_DOMAIN_JOB_AUTO_CONVERGE_THROTTLE  "auto_converge_throttle"
 
@@ -3845,6 +4313,9 @@ typedef enum {
  *
  * virDomainGetJobStats field: Present only in statistics for a completed job.
  * Successful completion of the job as VIR_TYPED_PARAM_BOOLEAN.
+ *
+ * Since: v6.0.0
+ *
  */
 # define VIR_DOMAIN_JOB_SUCCESS "success"
 
@@ -3853,6 +4324,9 @@ typedef enum {
  *
  * virDomainGetJobStats field: Present only in statistics for a completed job.
  * Optional error message for a failed job.
+ *
+ * Since: v6.3.0
+ *
  */
 # define VIR_DOMAIN_JOB_ERRMSG "errmsg"
 
@@ -3861,6 +4335,9 @@ typedef enum {
  * VIR_DOMAIN_JOB_DISK_TEMP_USED:
  * virDomainGetJobStats field: current usage of temporary disk space for the
  * job in bytes as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v6.0.0
+ *
  */
 # define VIR_DOMAIN_JOB_DISK_TEMP_USED "disk_temp_used"
 
@@ -3868,6 +4345,9 @@ typedef enum {
  * VIR_DOMAIN_JOB_DISK_TEMP_TOTAL:
  * virDomainGetJobStats field: possible total temporary disk space for the
  * job in bytes as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v6.0.0
+ *
  */
 # define VIR_DOMAIN_JOB_DISK_TEMP_TOTAL "disk_temp_total"
 
@@ -4429,6 +4909,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  * Macro represents formatted pinning for one vcpu specified by id which is
  * appended to the parameter name, for example "cputune.vcpupin1",
  * as VIR_TYPED_PARAM_STRING.
+ *
+ * Since: v1.2.9
+ *
  */
 # define VIR_DOMAIN_TUNABLE_CPU_VCPUPIN "cputune.vcpupin%u"
 
@@ -4437,6 +4920,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  *
  * Macro represents formatted pinning for emulator process,
  * as VIR_TYPED_PARAM_STRING.
+ *
+ * Since: v1.2.9
+ *
  */
 # define VIR_DOMAIN_TUNABLE_CPU_EMULATORPIN "cputune.emulatorpin"
 
@@ -4446,6 +4932,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  * Macro represents formatted pinning for one IOThread specified by id which is
  * appended to the parameter name, for example "cputune.iothreadpin1",
  * as VIR_TYPED_PARAM_STRING.
+ *
+ * Since: v1.2.14
+ *
  */
 # define VIR_DOMAIN_TUNABLE_CPU_IOTHREADSPIN "cputune.iothreadpin%u"
 
@@ -4454,6 +4943,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  *
  * Macro represents proportional weight of the scheduler used on the
  * host cpu, when using the posix scheduler, as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.2.9
+ *
  */
 # define VIR_DOMAIN_TUNABLE_CPU_CPU_SHARES "cputune.cpu_shares"
 
@@ -4462,6 +4954,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  *
  * Macro represents the enforcement period for a quota, in microseconds,
  * for whole domain, when using the posix scheduler, as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.3.3
+ *
  */
 # define VIR_DOMAIN_TUNABLE_CPU_GLOBAL_PERIOD "cputune.global_period"
 
@@ -4470,6 +4965,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  *
  * Macro represents the maximum bandwidth to be used within a period for
  * whole domain, when using the posix scheduler, as VIR_TYPED_PARAM_LLONG.
+ *
+ * Since: v1.3.3
+ *
  */
 # define VIR_DOMAIN_TUNABLE_CPU_GLOBAL_QUOTA "cputune.global_quota"
 
@@ -4478,6 +4976,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  *
  * Macro represents the enforcement period for a quota, in microseconds,
  * for vcpus only, when using the posix scheduler, as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.2.9
+ *
  */
 # define VIR_DOMAIN_TUNABLE_CPU_VCPU_PERIOD "cputune.vcpu_period"
 
@@ -4486,6 +4987,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  *
  * Macro represents the maximum bandwidth to be used within a period for
  * vcpus only, when using the posix scheduler, as VIR_TYPED_PARAM_LLONG.
+ *
+ * Since: v1.2.9
+ *
  */
 # define VIR_DOMAIN_TUNABLE_CPU_VCPU_QUOTA "cputune.vcpu_quota"
 
@@ -4495,6 +4999,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  * Macro represents the enforcement period for a quota in microseconds,
  * when using the posix scheduler, for all emulator activity not tied to
  * vcpus, as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.2.9
+ *
  */
 # define VIR_DOMAIN_TUNABLE_CPU_EMULATOR_PERIOD "cputune.emulator_period"
 
@@ -4504,6 +5011,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  * Macro represents the maximum bandwidth to be used within a period for
  * all emulator activity not tied to vcpus, when using the posix scheduler,
  * as an VIR_TYPED_PARAM_LLONG.
+ *
+ * Since: v1.2.9
+ *
  */
 # define VIR_DOMAIN_TUNABLE_CPU_EMULATOR_QUOTA "cputune.emulator_quota"
 
@@ -4512,6 +5022,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  *
  * Macro represents the enforcement period for a quota, in microseconds, for
  * iothreads only, when using the posix scheduler, as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v2.2.0
+ *
  */
 # define VIR_DOMAIN_TUNABLE_CPU_IOTHREAD_PERIOD "cputune.iothread_period"
 
@@ -4520,6 +5033,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  *
  * Macro represents the maximum bandwidth to be used within a period for
  * iothreads only, when using the posix scheduler, as VIR_TYPED_PARAM_LLONG.
+ *
+ * Since: v2.2.0
+ *
  */
 # define VIR_DOMAIN_TUNABLE_CPU_IOTHREAD_QUOTA "cputune.iothread_quota"
 
@@ -4528,6 +5044,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  *
  * Macro represents the name of guest disk for which the values are updated,
  * as VIR_TYPED_PARAM_STRING.
+ *
+ * Since: v1.2.9
+ *
  */
 # define VIR_DOMAIN_TUNABLE_BLKDEV_DISK "blkdeviotune.disk"
 
@@ -4536,6 +5055,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  *
  * Macro represents the total throughput limit in bytes per second,
  * as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.2.9
+ *
  */
 # define VIR_DOMAIN_TUNABLE_BLKDEV_TOTAL_BYTES_SEC "blkdeviotune.total_bytes_sec"
 
@@ -4544,6 +5066,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  *
  * Macro represents the read throughput limit in bytes per second,
  * as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.2.9
+ *
  */
 # define VIR_DOMAIN_TUNABLE_BLKDEV_READ_BYTES_SEC "blkdeviotune.read_bytes_sec"
 
@@ -4552,6 +5077,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  *
  * Macro represents the write throughput limit in bytes per second,
  * as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.2.9
+ *
  */
 # define VIR_DOMAIN_TUNABLE_BLKDEV_WRITE_BYTES_SEC "blkdeviotune.write_bytes_sec"
 
@@ -4560,6 +5088,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  *
  * Macro represents the total I/O operations per second,
  * as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.2.9
+ *
  */
 # define VIR_DOMAIN_TUNABLE_BLKDEV_TOTAL_IOPS_SEC "blkdeviotune.total_iops_sec"
 
@@ -4568,6 +5099,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  *
  * Macro represents the read I/O operations per second,
  * as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.2.9
+ *
  */
 # define VIR_DOMAIN_TUNABLE_BLKDEV_READ_IOPS_SEC "blkdeviotune.read_iops_sec"
 
@@ -4576,6 +5110,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  *
  * Macro represents the write I/O operations per second,
  * as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.2.9
+ *
  */
 # define VIR_DOMAIN_TUNABLE_BLKDEV_WRITE_IOPS_SEC "blkdeviotune.write_iops_sec"
 
@@ -4584,6 +5121,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  *
  * Macro represents the total throughput limit during bursts in
  * maximum bytes per second, as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.2.11
+ *
  */
 # define VIR_DOMAIN_TUNABLE_BLKDEV_TOTAL_BYTES_SEC_MAX "blkdeviotune.total_bytes_sec_max"
 
@@ -4592,6 +5132,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  *
  * Macro represents the read throughput limit during bursts in
  * maximum bytes per second, as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.2.11
+ *
  */
 # define VIR_DOMAIN_TUNABLE_BLKDEV_READ_BYTES_SEC_MAX "blkdeviotune.read_bytes_sec_max"
 
@@ -4600,6 +5143,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  *
  * Macro represents the write throughput limit during bursts in
  * maximum bytes per second, as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.2.11
+ *
  */
 # define VIR_DOMAIN_TUNABLE_BLKDEV_WRITE_BYTES_SEC_MAX "blkdeviotune.write_bytes_sec_max"
 
@@ -4608,6 +5154,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  *
  * Macro represents the total maximum I/O operations per second during bursts,
  * as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.2.11
+ *
  */
 # define VIR_DOMAIN_TUNABLE_BLKDEV_TOTAL_IOPS_SEC_MAX "blkdeviotune.total_iops_sec_max"
 
@@ -4616,6 +5165,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  *
  * Macro represents the read maximum I/O operations per second during bursts,
  * as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.2.11
+ *
  */
 # define VIR_DOMAIN_TUNABLE_BLKDEV_READ_IOPS_SEC_MAX "blkdeviotune.read_iops_sec_max"
 
@@ -4624,6 +5176,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  *
  * Macro represents the write maximum I/O operations per second during bursts,
  * as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.2.11
+ *
  */
 # define VIR_DOMAIN_TUNABLE_BLKDEV_WRITE_IOPS_SEC_MAX "blkdeviotune.write_iops_sec_max"
 
@@ -4632,6 +5187,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  *
  * Macro represents the size maximum I/O operations per second,
  * as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v1.2.11
+ *
  */
 # define VIR_DOMAIN_TUNABLE_BLKDEV_SIZE_IOPS_SEC "blkdeviotune.size_iops_sec"
 
@@ -4640,6 +5198,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  *
  * Macro represents the group name to be used,
  * as VIR_TYPED_PARAM_STRING.
+ *
+ * Since: v3.0.0
+ *
  */
 # define VIR_DOMAIN_TUNABLE_BLKDEV_GROUP_NAME "blkdeviotune.group_name"
 
@@ -4649,6 +5210,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  * Macro represents the length in seconds allowed for a burst period
  * for the blkdeviotune.total_bytes_sec_max,
  * as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v2.4.0
+ *
  */
 # define VIR_DOMAIN_TUNABLE_BLKDEV_TOTAL_BYTES_SEC_MAX_LENGTH "blkdeviotune.total_bytes_sec_max_length"
 
@@ -4658,6 +5222,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  * Macro represents the length in seconds allowed for a burst period
  * for the blkdeviotune.read_bytes_sec_max
  * as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v2.4.0
+ *
  */
 # define VIR_DOMAIN_TUNABLE_BLKDEV_READ_BYTES_SEC_MAX_LENGTH "blkdeviotune.read_bytes_sec_max_length"
 
@@ -4667,6 +5234,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  * Macro represents the length in seconds allowed for a burst period
  * for the blkdeviotune.write_bytes_sec_max
  * as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v2.4.0
+ *
  */
 # define VIR_DOMAIN_TUNABLE_BLKDEV_WRITE_BYTES_SEC_MAX_LENGTH "blkdeviotune.write_bytes_sec_max_length"
 
@@ -4676,6 +5246,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  * Macro represents the length in seconds allowed for a burst period
  * for the blkdeviotune.total_iops_sec_max
  * as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v2.4.0
+ *
  */
 # define VIR_DOMAIN_TUNABLE_BLKDEV_TOTAL_IOPS_SEC_MAX_LENGTH "blkdeviotune.total_iops_sec_max_length"
 
@@ -4685,6 +5258,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  * Macro represents the length in seconds allowed for a burst period
  * for the blkdeviotune.read_iops_sec_max
  * as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v2.4.0
+ *
  */
 # define VIR_DOMAIN_TUNABLE_BLKDEV_READ_IOPS_SEC_MAX_LENGTH "blkdeviotune.read_iops_sec_max_length"
 
@@ -4694,6 +5270,9 @@ typedef void (*virConnectDomainEventJobCompletedCallback)(virConnectPtr conn,
  * Macro represents the length in seconds allowed for a burst period
  * for the blkdeviotune.write_iops_sec_max
  * as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v2.4.0
+ *
  */
 # define VIR_DOMAIN_TUNABLE_BLKDEV_WRITE_IOPS_SEC_MAX_LENGTH "blkdeviotune.write_iops_sec_max_length"
 
@@ -4846,6 +5425,9 @@ typedef void (*virConnectDomainEventMemoryDeviceSizeChangeCallback)(virConnectPt
  *
  * Used to cast the event specific callback into the generic one
  * for use for virConnectDomainEventRegisterAny()
+ *
+ * Since: v0.8.0
+ *
  */
 # define VIR_DOMAIN_EVENT_CALLBACK(cb) ((virConnectDomainEventGenericCallback)(cb))
 
@@ -5033,18 +5615,31 @@ typedef enum {
  *
  * Macro providing the field length of virSchedParameter.  Provided
  * for backwards compatibility; VIR_TYPED_PARAM_FIELD_LENGTH is the
- * preferred value since 0.9.2.
+ * preferred value
+ *
+ * Since: v0.2.3
+ *
  */
 # define VIR_DOMAIN_SCHED_FIELD_LENGTH VIR_TYPED_PARAM_FIELD_LENGTH
 
+/**
+ * _virSchedParameter:
+ *
+ * Since: v0.2.3
+ *
+ */
+# define _virSchedParameter _virTypedParameter
+
 /**
  * virSchedParameter:
  *
  * a virSchedParameter is the set of scheduler parameters.
  * Provided for backwards compatibility; virTypedParameter is the
- * preferred alias since 0.9.2.
+ * preferred alias.
+ *
+ * Since: v0.9.2
+ *
  */
-# define _virSchedParameter _virTypedParameter
 typedef struct _virTypedParameter virSchedParameter;
 
 /**
@@ -5077,18 +5672,31 @@ typedef enum {
  *
  * Macro providing the field length of virBlkioParameter.  Provided
  * for backwards compatibility; VIR_TYPED_PARAM_FIELD_LENGTH is the
- * preferred value since 0.9.2.
+ * preferred value.
+ *
+ * Since: v0.9.0
+ *
  */
 # define VIR_DOMAIN_BLKIO_FIELD_LENGTH VIR_TYPED_PARAM_FIELD_LENGTH
 
+/**
+ * _virBlkioParameter:
+ *
+ * Since: v0.9.0
+ *
+ */
+# define _virBlkioParameter _virTypedParameter
+
 /**
  * virBlkioParameter:
  *
  * a virBlkioParameter is the set of blkio parameters.
  * Provided for backwards compatibility; virTypedParameter is the
- * preferred alias since 0.9.2.
+ * preferred alias.
+ *
+ * Since: v0.9.2
+ *
  */
-# define _virBlkioParameter _virTypedParameter
 typedef struct _virTypedParameter virBlkioParameter;
 
 /**
@@ -5121,18 +5729,31 @@ typedef enum {
  *
  * Macro providing the field length of virMemoryParameter.  Provided
  * for backwards compatibility; VIR_TYPED_PARAM_FIELD_LENGTH is the
- * preferred value since 0.9.2.
+ * preferred value.
+ *
+ * Since: v0.8.5
+ *
  */
 # define VIR_DOMAIN_MEMORY_FIELD_LENGTH VIR_TYPED_PARAM_FIELD_LENGTH
 
+/**
+ * _virMemoryParameter:
+ *
+ * Since: v0.8.5
+ *
+ */
+# define _virMemoryParameter _virTypedParameter
+
 /**
  * virMemoryParameter:
  *
  * a virMemoryParameter is the set of scheduler parameters.
  * Provided for backwards compatibility; virTypedParameter is the
- * preferred alias since 0.9.2.
+ * preferred alias.
+ *
+ * Since: v0.9.2
+ *
  */
-# define _virMemoryParameter _virTypedParameter
 typedef struct _virTypedParameter virMemoryParameter;
 
 /**
@@ -5248,6 +5869,9 @@ int virDomainSetLifecycleAction(virDomainPtr domain,
  *
  * Macro represents the launch measurement of the SEV guest,
  * as VIR_TYPED_PARAM_STRING.
+ *
+ * Since: v4.5.0
+ *
  */
 # define VIR_DOMAIN_LAUNCH_SECURITY_SEV_MEASUREMENT "sev-measurement"
 
@@ -5257,6 +5881,9 @@ int virDomainSetLifecycleAction(virDomainPtr domain,
  *
  * Macro represents the API major version of the SEV host,
  * as VIR_TYPED_PARAM_UINT.
+ *
+ * Since: v8.0.0
+ *
  */
 # define VIR_DOMAIN_LAUNCH_SECURITY_SEV_API_MAJOR "sev-api-major"
 
@@ -5265,6 +5892,9 @@ int virDomainSetLifecycleAction(virDomainPtr domain,
  *
  * Macro represents the API minor version of the SEV guest,
  * as VIR_TYPED_PARAM_UINT.
+ *
+ * Since: v8.0.0
+ *
  */
 # define VIR_DOMAIN_LAUNCH_SECURITY_SEV_API_MINOR "sev-api-minor"
 
@@ -5273,6 +5903,9 @@ int virDomainSetLifecycleAction(virDomainPtr domain,
  *
  * Macro represents the build ID of the SEV host,
  * as VIR_TYPED_PARAM_UINT.
+ *
+ * Since: v8.0.0
+ *
  */
 # define VIR_DOMAIN_LAUNCH_SECURITY_SEV_BUILD_ID "sev-build-id"
 
@@ -5281,6 +5914,9 @@ int virDomainSetLifecycleAction(virDomainPtr domain,
  *
  * Macro represents the policy of the SEV guest,
  * as VIR_TYPED_PARAM_UINT.
+ *
+ * Since: v8.0.0
+ *
  */
 # define VIR_DOMAIN_LAUNCH_SECURITY_SEV_POLICY "sev-policy"
 
@@ -5292,6 +5928,9 @@ int virDomainSetLifecycleAction(virDomainPtr domain,
  * the SEV firmware to recover the plain text of the launch secret. See
  * section "6.6 LAUNCH_SECRET" in the SEV API specification for a detailed
  * description of the secret header.
+ *
+ * Since: v8.0.0
+ *
  */
 # define VIR_DOMAIN_LAUNCH_SECURITY_SEV_SECRET_HEADER "sev-secret-header"
 
@@ -5302,6 +5941,9 @@ int virDomainSetLifecycleAction(virDomainPtr domain,
  * base64-encoded VIR_TYPED_PARAM_STRING containing an encrypted launch
  * secret. The secret is created by the domain owner after the SEV launch
  * measurement is retrieved and verified.
+ *
+ * Since: v8.0.0
+ *
  */
 # define VIR_DOMAIN_LAUNCH_SECURITY_SEV_SECRET "sev-secret"
 
@@ -5311,6 +5953,9 @@ int virDomainSetLifecycleAction(virDomainPtr domain,
  * A macro used to represent the physical address within the guest's memory
  * where the secret will be set, as VIR_TYPED_PARAM_ULLONG. If not specified,
  * the address will be determined by the hypervisor.
+ *
+ * Since: v8.0.0
+ *
  */
 # define VIR_DOMAIN_LAUNCH_SECURITY_SEV_SECRET_SET_ADDRESS "sev-secret-set-address"
 
diff --git a/include/libvirt/libvirt-host.h b/include/libvirt/libvirt-host.h
index 15e4e7ea72..de08dcc118 100644
--- a/include/libvirt/libvirt-host.h
+++ b/include/libvirt/libvirt-host.h
@@ -80,6 +80,9 @@ typedef virStream *virStreamPtr;
  *
  * Macro providing the maximum length of the virSecurityLabel label string.
  * Note that this value is based on that used by Labeled NFS.
+ *
+ * Since: v0.6.1
+ *
  */
 # define VIR_SECURITY_LABEL_BUFLEN (4096 + 1)
 
@@ -108,6 +111,9 @@ typedef virSecurityLabel *virSecurityLabelPtr;
  * VIR_SECURITY_MODEL_BUFLEN:
  *
  * Macro providing the maximum length of the virSecurityModel model string.
+ *
+ * Since: v0.6.1
+ *
  */
 # define VIR_SECURITY_MODEL_BUFLEN (256 + 1)
 
@@ -115,6 +121,9 @@ typedef virSecurityLabel *virSecurityLabelPtr;
  * VIR_SECURITY_DOI_BUFLEN:
  *
  * Macro providing the maximum length of the virSecurityModel doi string.
+ *
+ * Since: v0.6.1
+ *
  */
 # define VIR_SECURITY_DOI_BUFLEN (256 + 1)
 
@@ -176,6 +185,9 @@ struct _virNodeInfo {
  * VIR_NODE_CPU_STATS_FIELD_LENGTH:
  *
  * Macro providing the field length of virNodeCPUStats
+ *
+ * Since: v0.9.3
+ *
  */
 # define VIR_NODE_CPU_STATS_FIELD_LENGTH 80
 
@@ -193,6 +205,9 @@ typedef enum {
  *
  * Macro for the cumulative CPU time which was spent by the kernel,
  * since the node booting up (in nanoseconds).
+ *
+ * Since: v0.9.3
+ *
  */
 # define VIR_NODE_CPU_STATS_KERNEL "kernel"
 
@@ -201,6 +216,9 @@ typedef enum {
  *
  * The cumulative CPU time which was spent by user processes,
  * since the node booting up (in nanoseconds).
+ *
+ * Since: v0.9.3
+ *
  */
 # define VIR_NODE_CPU_STATS_USER "user"
 
@@ -209,6 +227,9 @@ typedef enum {
  *
  * The cumulative idle CPU time,
  * since the node booting up (in nanoseconds).
+ *
+ * Since: v0.9.3
+ *
  */
 # define VIR_NODE_CPU_STATS_IDLE "idle"
 
@@ -217,6 +238,9 @@ typedef enum {
  *
  * The cumulative I/O wait CPU time,
  * since the node booting up (in nanoseconds).
+ *
+ * Since: v0.9.3
+ *
  */
 # define VIR_NODE_CPU_STATS_IOWAIT "iowait"
 
@@ -225,6 +249,9 @@ typedef enum {
  *
  * The cumulative interrupt CPU time,
  * since the node booting up (in nanoseconds).
+ *
+ * Since: v1.2.2
+ *
  */
 # define VIR_NODE_CPU_STATS_INTR "intr"
 
@@ -234,6 +261,9 @@ typedef enum {
  * The CPU utilization of a node.
  * The usage value is in percent and 100% represents all CPUs of
  * the node.
+ *
+ * Since: v0.9.3
+ *
  */
 # define VIR_NODE_CPU_STATS_UTILIZATION "utilization"
 
@@ -254,6 +284,9 @@ struct _virNodeCPUStats {
  * VIR_NODE_MEMORY_STATS_FIELD_LENGTH:
  *
  * Macro providing the field length of virNodeMemoryStats
+ *
+ * Since: v0.9.3
+ *
  */
 # define VIR_NODE_MEMORY_STATS_FIELD_LENGTH 80
 
@@ -271,6 +304,9 @@ typedef enum {
  *
  * Macro for the total memory of specified cell:
  * it represents the maximum memory.
+ *
+ * Since: v0.9.3
+ *
  */
 # define VIR_NODE_MEMORY_STATS_TOTAL "total"
 
@@ -280,6 +316,9 @@ typedef enum {
  * Macro for the free memory of specified cell:
  * On Linux, it includes buffer and cached memory, in case of
  * VIR_NODE_MEMORY_STATS_ALL_CELLS.
+ *
+ * Since: v0.9.3
+ *
  */
 # define VIR_NODE_MEMORY_STATS_FREE "free"
 
@@ -288,6 +327,9 @@ typedef enum {
  *
  * Macro for the buffer memory: On Linux, it is only returned in case of
  * VIR_NODE_MEMORY_STATS_ALL_CELLS.
+ *
+ * Since: v0.9.3
+ *
  */
 # define VIR_NODE_MEMORY_STATS_BUFFERS "buffers"
 
@@ -296,6 +338,9 @@ typedef enum {
  *
  * Macro for the cached memory: On Linux, it is only returned in case of
  * VIR_NODE_MEMORY_STATS_ALL_CELLS.
+ *
+ * Since: v0.9.3
+ *
  */
 # define VIR_NODE_MEMORY_STATS_CACHED "cached"
 
@@ -317,6 +362,9 @@ struct _virNodeMemoryStats {
  *
  * Macro for typed parameter that represents how many present pages
  * to scan before the shared memory service goes to sleep.
+ *
+ * Since: v0.10.2
+ *
  */
 # define VIR_NODE_MEMORY_SHARED_PAGES_TO_SCAN      "shm_pages_to_scan"
 
@@ -325,6 +373,9 @@ struct _virNodeMemoryStats {
  *
  * Macro for typed parameter that represents how many milliseconds
  * the shared memory service should sleep before next scan.
+ *
+ * Since: v0.10.2
+ *
  */
 # define VIR_NODE_MEMORY_SHARED_SLEEP_MILLISECS    "shm_sleep_millisecs"
 
@@ -333,6 +384,9 @@ struct _virNodeMemoryStats {
  *
  * Macro for typed parameter that represents how many the shared
  * memory pages are being used.
+ *
+ * Since: v0.10.2
+ *
  */
 # define VIR_NODE_MEMORY_SHARED_PAGES_SHARED       "shm_pages_shared"
 
@@ -341,6 +395,9 @@ struct _virNodeMemoryStats {
  *
  * Macro for typed parameter that represents how many sites are
  * sharing the pages i.e. how much saved.
+ *
+ * Since: v0.10.2
+ *
  */
 # define VIR_NODE_MEMORY_SHARED_PAGES_SHARING      "shm_pages_sharing"
 
@@ -349,6 +406,9 @@ struct _virNodeMemoryStats {
  *
  * Macro for typed parameter that represents how many pages unique
  * but repeatedly checked for merging.
+ *
+ * Since: v0.10.2
+ *
  */
 # define VIR_NODE_MEMORY_SHARED_PAGES_UNSHARED     "shm_pages_unshared"
 
@@ -357,6 +417,9 @@ struct _virNodeMemoryStats {
  *
  * Macro for typed parameter that represents how many pages changing
  * too fast to be placed in a tree.
+ *
+ * Since: v0.10.2
+ *
  */
 # define VIR_NODE_MEMORY_SHARED_PAGES_VOLATILE     "shm_pages_volatile"
 
@@ -365,6 +428,9 @@ struct _virNodeMemoryStats {
  *
  * Macro for typed parameter that represents how many times all
  * mergeable areas have been scanned.
+ *
+ * Since: v0.10.2
+ *
  */
 # define VIR_NODE_MEMORY_SHARED_FULL_SCANS         "shm_full_scans"
 
@@ -377,6 +443,9 @@ struct _virNodeMemoryStats {
  * memory area of same NUMA node are merged; When its value is 1,
  * pages from all nodes can be merged. Other values are reserved
  * for future use.
+ *
+ * Since: v1.0.0
+ *
  */
 # define VIR_NODE_MEMORY_SHARED_MERGE_ACROSS_NODES "shm_merge_across_nodes"
 
@@ -406,6 +475,9 @@ int virNodeGetCPUMap(virConnectPtr conn,
  *
  * This macro is to calculate the total number of CPUs supported
  * but not necessary active in the host.
+ *
+ * Since: v0.1.4
+ *
  */
 
 
@@ -445,6 +517,9 @@ typedef virNodeMemoryStats *virNodeMemoryStatsPtr;
  * VIR_NODE_SEV_PDH:
  *
  * Macro represents the Platform Diffie-Hellman key, as VIR_TYPED_PARAMS_STRING.
+ *
+ * Since: v4.5.0
+ *
  */
 # define VIR_NODE_SEV_PDH "pdh"
 
@@ -454,6 +529,9 @@ typedef virNodeMemoryStats *virNodeMemoryStatsPtr;
  * Macro represents the platform certificate chain that includes the platform
  * endorsement key (PEK), owner certificate authority (OCD) and chip
  * endorsement key (CEK), as VIR_TYPED_PARAMS_STRING.
+ *
+ * Since: v4.5.0
+ *
  */
 # define VIR_NODE_SEV_CERT_CHAIN "cert-chain"
 
@@ -461,6 +539,9 @@ typedef virNodeMemoryStats *virNodeMemoryStatsPtr;
  * VIR_NODE_SEV_CBITPOS:
  *
  * Macro represents the CBit Position used by hypervisor when SEV is enabled.
+ *
+ * Since: v4.5.0
+ *
  */
 # define VIR_NODE_SEV_CBITPOS "cbitpos"
 
@@ -469,6 +550,9 @@ typedef virNodeMemoryStats *virNodeMemoryStatsPtr;
  *
  * Macro represents the number of bits we lose in physical address space
  * when SEV is enabled in the guest.
+ *
+ * Since: v4.5.0
+ *
  */
 # define VIR_NODE_SEV_REDUCED_PHYS_BITS "reduced-phys-bits"
 
@@ -477,6 +561,9 @@ typedef virNodeMemoryStats *virNodeMemoryStatsPtr;
  *
  * Macro represents the number of SEV guests that can
  * be run on the host, as a VIR_TYPED_PARAM_UINT.
+ *
+ * Since: v8.0.0
+ *
  */
 # define VIR_NODE_SEV_MAX_GUESTS "max-guests"
 
@@ -485,6 +572,9 @@ typedef virNodeMemoryStats *virNodeMemoryStatsPtr;
  *
  * Macro represents the number of SEV-ES guests that can
  * be run on the host, as a VIR_TYPED_PARAM_UINT.
+ *
+ * Since: v8.0.0
+ *
  */
 # define VIR_NODE_SEV_MAX_ES_GUESTS "max-es-guests"
 
@@ -582,6 +672,9 @@ VIR_EXPORT_VAR virConnectAuthPtr virConnectAuthPtrDefault;
  *
  * This macro provides the length of the buffer required
  * for virDomainGetUUID()
+ *
+ * Since: v0.2.0
+ *
  */
 
 # define VIR_UUID_BUFLEN (16)
@@ -591,6 +684,9 @@ VIR_EXPORT_VAR virConnectAuthPtr virConnectAuthPtrDefault;
  *
  * This macro provides the length of the buffer required
  * for virDomainGetUUIDString()
+ *
+ * Since: v0.2.0
+ *
  */
 
 # define VIR_UUID_STRING_BUFLEN (36+1)
@@ -617,6 +713,9 @@ int                     virConnectClose         (virConnectPtr conn);
  * VIR_CONNECT_IDENTITY_USER_NAME:
  *
  * The operating system user name as VIR_TYPED_PARAM_STRING.
+ *
+ * Since: v5.8.0
+ *
  */
 # define VIR_CONNECT_IDENTITY_USER_NAME "user-name"
 
@@ -624,6 +723,9 @@ int                     virConnectClose         (virConnectPtr conn);
  * VIR_CONNECT_IDENTITY_UNIX_USER_ID:
  *
  * The UNIX user ID as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v5.8.0
+ *
  */
 # define VIR_CONNECT_IDENTITY_UNIX_USER_ID "unix-user-id"
 
@@ -631,6 +733,9 @@ int                     virConnectClose         (virConnectPtr conn);
  * VIR_CONNECT_IDENTITY_GROUP_NAME:
  *
  * The operating system group name as VIR_TYPED_PARAM_STRING.
+ *
+ * Since: v5.8.0
+ *
  */
 # define VIR_CONNECT_IDENTITY_GROUP_NAME "group-name"
 
@@ -638,6 +743,9 @@ int                     virConnectClose         (virConnectPtr conn);
  * VIR_CONNECT_IDENTITY_UNIX_GROUP_ID:
  *
  * The UNIX group ID as VIR_TYPED_PARAM_ULLONG.
+ *
+ * Since: v5.8.0
+ *
  */
 # define VIR_CONNECT_IDENTITY_UNIX_GROUP_ID "unix-group-id"
 
@@ -645,6 +753,9 @@ int                     virConnectClose         (virConnectPtr conn);
  * VIR_CONNECT_IDENTITY_PROCESS_ID:
  *
  * The operating system process ID as VIR_TYPED_PARAM_LLONG.
+ *
+ * Since: v5.8.0
+ *
  */
 # define VIR_CONNECT_IDENTITY_PROCESS_ID "process-id"
 
@@ -656,6 +767,9 @@ int                     virConnectClose         (virConnectPtr conn);
  * The units the time is measured in vary according to the
  * host operating system. On Linux this is usually clock
  * ticks (as reported in /proc/$PID/stat field 22).
+ *
+ * Since: v5.8.0
+ *
  */
 # define VIR_CONNECT_IDENTITY_PROCESS_TIME "process-time"
 
@@ -663,6 +777,9 @@ int                     virConnectClose         (virConnectPtr conn);
  * VIR_CONNECT_IDENTITY_SASL_USER_NAME:
  *
  * The SASL authenticated username as VIR_TYPED_PARAM_STRING
+ *
+ * Since: v5.8.0
+ *
  */
 # define VIR_CONNECT_IDENTITY_SASL_USER_NAME "sasl-user-name"
 
@@ -670,6 +787,9 @@ int                     virConnectClose         (virConnectPtr conn);
  * VIR_CONNECT_IDENTITY_X509_DISTINGUISHED_NAME:
  *
  * The TLS x509 certificate distinguished named as VIR_TYPED_PARAM_STRING
+ *
+ * Since: v5.8.0
+ *
  */
 # define VIR_CONNECT_IDENTITY_X509_DISTINGUISHED_NAME "x509-distinguished-name"
 
@@ -677,6 +797,9 @@ int                     virConnectClose         (virConnectPtr conn);
  * VIR_CONNECT_IDENTITY_SELINUX_CONTEXT:
  *
  * The application's SELinux context as VIR_TYPED_PARAM_STRING.
+ *
+ * Since: v5.8.0
+ *
  */
 # define VIR_CONNECT_IDENTITY_SELINUX_CONTEXT "selinux-context"
 
diff --git a/include/libvirt/libvirt-network.h b/include/libvirt/libvirt-network.h
index ad02e4d5f4..161c61de28 100644
--- a/include/libvirt/libvirt-network.h
+++ b/include/libvirt/libvirt-network.h
@@ -283,6 +283,9 @@ typedef void (*virConnectNetworkEventLifecycleCallback)(virConnectPtr conn,
  *
  * Used to cast the event specific callback into the generic one
  * for use for virConnectNetworkEventRegisterAny()
+ *
+ * Since: v1.2.1
+ *
  */
 # define VIR_NETWORK_EVENT_CALLBACK(cb) ((virConnectNetworkEventGenericCallback)(cb))
 
@@ -404,6 +407,9 @@ virNetworkPortGetUUIDString(virNetworkPortPtr port,
  * VIR_NETWORK_PORT_BANDWIDTH_IN_AVERAGE:
  *
  * Macro represents the inbound average of NIC bandwidth, as a uint.
+ *
+ * Since: v5.5.0
+ *
  */
 # define VIR_NETWORK_PORT_BANDWIDTH_IN_AVERAGE "inbound.average"
 
@@ -411,6 +417,9 @@ virNetworkPortGetUUIDString(virNetworkPortPtr port,
  * VIR_NETWORK_PORT_BANDWIDTH_IN_PEAK:
  *
  * Macro represents the inbound peak of NIC bandwidth, as a uint.
+ *
+ * Since: v5.5.0
+ *
  */
 # define VIR_NETWORK_PORT_BANDWIDTH_IN_PEAK "inbound.peak"
 
@@ -418,6 +427,9 @@ virNetworkPortGetUUIDString(virNetworkPortPtr port,
  * VIR_NETWORK_PORT_BANDWIDTH_IN_BURST:
  *
  * Macro represents the inbound burst of NIC bandwidth, as a uint.
+ *
+ * Since: v5.5.0
+ *
  */
 # define VIR_NETWORK_PORT_BANDWIDTH_IN_BURST "inbound.burst"
 
@@ -425,6 +437,9 @@ virNetworkPortGetUUIDString(virNetworkPortPtr port,
  * VIR_NETWORK_PORT_BANDWIDTH_IN_FLOOR:
  *
  * Macro represents the inbound floor of NIC bandwidth, as a uint.
+ *
+ * Since: v5.5.0
+ *
  */
 # define VIR_NETWORK_PORT_BANDWIDTH_IN_FLOOR "inbound.floor"
 
@@ -432,6 +447,9 @@ virNetworkPortGetUUIDString(virNetworkPortPtr port,
  * VIR_NETWORK_PORT_BANDWIDTH_OUT_AVERAGE:
  *
  * Macro represents the outbound average of NIC bandwidth, as a uint.
+ *
+ * Since: v5.5.0
+ *
  */
 # define VIR_NETWORK_PORT_BANDWIDTH_OUT_AVERAGE "outbound.average"
 
@@ -439,6 +457,9 @@ virNetworkPortGetUUIDString(virNetworkPortPtr port,
  * VIR_NETWORK_PORT_BANDWIDTH_OUT_PEAK:
  *
  * Macro represents the outbound peak of NIC bandwidth, as a uint.
+ *
+ * Since: v5.5.0
+ *
  */
 # define VIR_NETWORK_PORT_BANDWIDTH_OUT_PEAK "outbound.peak"
 
@@ -446,6 +467,9 @@ virNetworkPortGetUUIDString(virNetworkPortPtr port,
  * VIR_NETWORK_PORT_BANDWIDTH_OUT_BURST:
  *
  * Macro represents the outbound burst of NIC bandwidth, as a uint.
+ *
+ * Since: v5.5.0
+ *
  */
 # define VIR_NETWORK_PORT_BANDWIDTH_OUT_BURST "outbound.burst"
 
diff --git a/include/libvirt/libvirt-nodedev.h b/include/libvirt/libvirt-nodedev.h
index 4e68d09814..8fdded2f34 100644
--- a/include/libvirt/libvirt-nodedev.h
+++ b/include/libvirt/libvirt-nodedev.h
@@ -156,6 +156,9 @@ int virNodeDeviceIsActive(virNodeDevicePtr dev);
  *
  * Used to cast the event specific callback into the generic one
  * for use for virConnectNodeDeviceEventRegisterAny()
+ *
+ * Since: v2.2.0
+ *
  */
 # define VIR_NODE_DEVICE_EVENT_CALLBACK(cb)((virConnectNodeDeviceEventGenericCallback)(cb))
 
diff --git a/include/libvirt/libvirt-secret.h b/include/libvirt/libvirt-secret.h
index 94722a46af..cee27155a3 100644
--- a/include/libvirt/libvirt-secret.h
+++ b/include/libvirt/libvirt-secret.h
@@ -122,6 +122,9 @@ int                     virSecretFree           (virSecretPtr secret);
  *
  * Used to cast the event specific callback into the generic one
  * for use for virConnectSecretEventRegisterAny()
+ *
+ * Since: v3.0.0
+ *
  */
 # define VIR_SECRET_EVENT_CALLBACK(cb)((virConnectSecretEventGenericCallback)(cb))
 
diff --git a/include/libvirt/libvirt-storage.h b/include/libvirt/libvirt-storage.h
index 9ffcdc6180..9bd437bf66 100644
--- a/include/libvirt/libvirt-storage.h
+++ b/include/libvirt/libvirt-storage.h
@@ -422,6 +422,9 @@ int virStoragePoolIsPersistent(virStoragePoolPtr pool);
  *
  * Used to cast the event specific callback into the generic one
  * for use for virConnectStoragePoolEventRegisterAny()
+ *
+ * Since: v2.0.0
+ *
  */
 # define VIR_STORAGE_POOL_EVENT_CALLBACK(cb)((virConnectStoragePoolEventGenericCallback)(cb))
 
-- 
2.35.1



More information about the libvir-list mailing list