[PATCH v2 17/34] docs: manual: enums: add docstring and Since metadata

Victor Toso victortoso at redhat.com
Thu Apr 14 20:47:28 UTC 2022


This commit finishes the script work and adds docstring to types that
are not documented.

>From this commit onwards, all exported typedefs are versioned.
Further commits will enforce that it stays like that with new
additions.

Signed-off-by: Victor Toso <victortoso at redhat.com>
---
 include/libvirt/libvirt-admin.h     |   2 +-
 include/libvirt/libvirt-domain.h    | 310 +++++++++++++++-------------
 include/libvirt/libvirt-event.h     |   8 +-
 include/libvirt/libvirt-host.h      |  22 +-
 include/libvirt/libvirt-interface.h |   4 +-
 include/libvirt/libvirt-network.h   |  38 ++--
 include/libvirt/libvirt-nodedev.h   |  12 +-
 include/libvirt/libvirt-qemu.h      |  12 +-
 include/libvirt/libvirt-secret.h    |  26 ++-
 include/libvirt/libvirt-storage.h   |  24 ++-
 include/libvirt/libvirt-stream.h    |  12 +-
 include/libvirt/virterror.h         |  12 +-
 12 files changed, 253 insertions(+), 229 deletions(-)

diff --git a/include/libvirt/libvirt-admin.h b/include/libvirt/libvirt-admin.h
index f2cb528524..5945fc172c 100644
--- a/include/libvirt/libvirt-admin.h
+++ b/include/libvirt/libvirt-admin.h
@@ -255,7 +255,7 @@ typedef enum {
     VIR_CLIENT_TRANS_TLS,      /* connection via encrypted TCP socket (Since: v1.3.5) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_CLIENT_TRANS_LAST
+    VIR_CLIENT_TRANS_LAST /* (Since: v1.3.5) */
 # endif
 } virClientTransport;
 
diff --git a/include/libvirt/libvirt-domain.h b/include/libvirt/libvirt-domain.h
index 77c6e6f3a7..9163c9dcab 100644
--- a/include/libvirt/libvirt-domain.h
+++ b/include/libvirt/libvirt-domain.h
@@ -74,6 +74,8 @@ typedef enum {
      * NB: this enum value will increase over time as new states are
      * added to the libvirt API. It reflects the last state supported
      * by this version of the libvirt API.
+     *
+     * Since: v1.0.0
      */
 # endif
 } virDomainState;
@@ -85,10 +87,10 @@ typedef enum {
  *
  */
 typedef enum {
-    VIR_DOMAIN_NOSTATE_UNKNOWN = 0,
+    VIR_DOMAIN_NOSTATE_UNKNOWN = 0, /* (Since: v1.0.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_NOSTATE_LAST
+    VIR_DOMAIN_NOSTATE_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainNostateReason;
 
@@ -99,7 +101,7 @@ typedef enum {
  *
  */
 typedef enum {
-    VIR_DOMAIN_RUNNING_UNKNOWN = 0,
+    VIR_DOMAIN_RUNNING_UNKNOWN = 0,         /* (Since: v1.0.0) */
     VIR_DOMAIN_RUNNING_BOOTED = 1,          /* normal startup from boot (Since: v1.0.0) */
     VIR_DOMAIN_RUNNING_MIGRATED = 2,        /* migrated from another host (Since: v1.0.0) */
     VIR_DOMAIN_RUNNING_RESTORED = 3,        /* restored from a state file (Since: v1.0.0) */
@@ -113,7 +115,7 @@ typedef enum {
     VIR_DOMAIN_RUNNING_POSTCOPY = 10,       /* running in post-copy migration mode (Since: v1.3.3) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_RUNNING_LAST
+    VIR_DOMAIN_RUNNING_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainRunningReason;
 
@@ -127,7 +129,7 @@ typedef enum {
     VIR_DOMAIN_BLOCKED_UNKNOWN = 0,     /* the reason is unknown (Since: v1.0.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_BLOCKED_LAST
+    VIR_DOMAIN_BLOCKED_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainBlockedReason;
 
@@ -154,7 +156,7 @@ typedef enum {
     VIR_DOMAIN_PAUSED_POSTCOPY_FAILED = 13, /* paused after failed post-copy (Since: v1.3.3) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_PAUSED_LAST
+    VIR_DOMAIN_PAUSED_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainPausedReason;
 
@@ -169,7 +171,7 @@ typedef enum {
     VIR_DOMAIN_SHUTDOWN_USER = 1,       /* shutting down on user request (Since: v1.0.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_SHUTDOWN_LAST
+    VIR_DOMAIN_SHUTDOWN_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainShutdownReason;
 
@@ -192,7 +194,7 @@ typedef enum {
     VIR_DOMAIN_SHUTOFF_DAEMON = 8,      /* daemon decides to kill domain
                                            during reconnection processing (Since: v4.10.0) */
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_SHUTOFF_LAST
+    VIR_DOMAIN_SHUTOFF_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainShutoffReason;
 
@@ -207,7 +209,7 @@ typedef enum {
     VIR_DOMAIN_CRASHED_PANICKED = 1,    /* domain panicked (Since: v1.1.1) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_CRASHED_LAST
+    VIR_DOMAIN_CRASHED_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainCrashedReason;
 
@@ -218,10 +220,10 @@ typedef enum {
  *
  */
 typedef enum {
-    VIR_DOMAIN_PMSUSPENDED_UNKNOWN = 0,
+    VIR_DOMAIN_PMSUSPENDED_UNKNOWN = 0, /* (Since: v1.0.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_PMSUSPENDED_LAST
+    VIR_DOMAIN_PMSUSPENDED_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainPMSuspendedReason;
 
@@ -232,10 +234,10 @@ typedef enum {
  *
  */
 typedef enum {
-    VIR_DOMAIN_PMSUSPENDED_DISK_UNKNOWN = 0,
+    VIR_DOMAIN_PMSUSPENDED_DISK_UNKNOWN = 0, /* (Since: v1.0.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_PMSUSPENDED_DISK_LAST
+    VIR_DOMAIN_PMSUSPENDED_DISK_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainPMSuspendedDiskReason;
 
@@ -258,7 +260,7 @@ typedef enum {
                                         in the details field (Since: v1.0.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_CONTROL_LAST
+    VIR_DOMAIN_CONTROL_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainControlState;
 
@@ -281,7 +283,7 @@ typedef enum {
                                                      internal failure in libvirt (Since: v1.2.14)
                                                   */
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_CONTROL_ERROR_REASON_LAST
+    VIR_DOMAIN_CONTROL_ERROR_REASON_LAST /* (Since: v1.2.14) */
 # endif
 } virDomainControlErrorReason;
 
@@ -775,6 +777,10 @@ typedef enum {
      *
      */
     VIR_DOMAIN_MEMORY_STAT_MAJOR_FAULT     = 2,
+
+    /*
+     * Since: v1.0.0
+     */
     VIR_DOMAIN_MEMORY_STAT_MINOR_FAULT     = 3,
 
     /*
@@ -867,7 +873,7 @@ typedef enum {
     VIR_DOMAIN_MEMORY_STAT_NR              = 13,
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_MEMORY_STAT_LAST = VIR_DOMAIN_MEMORY_STAT_NR
+    VIR_DOMAIN_MEMORY_STAT_LAST = VIR_DOMAIN_MEMORY_STAT_NR /* (Since: v1.0.0) */
 # endif
 } virDomainMemoryStatTags;
 
@@ -932,6 +938,8 @@ typedef enum {
      * NB: this enum value will increase over time as new formats are
      * added to the libvirt API. It reflects the last format supported
      * by this version of the libvirt API.
+     *
+     * Since: v1.2.3
      */
 # endif
 } virDomainCoreDumpFormat;
@@ -1976,10 +1984,10 @@ typedef enum {
  *
  */
 typedef enum {
-    VIR_DOMAIN_NUMATUNE_MEM_STRICT      = 0,
-    VIR_DOMAIN_NUMATUNE_MEM_PREFERRED   = 1,
-    VIR_DOMAIN_NUMATUNE_MEM_INTERLEAVE  = 2,
-    VIR_DOMAIN_NUMATUNE_MEM_RESTRICTIVE = 3,
+    VIR_DOMAIN_NUMATUNE_MEM_STRICT      = 0, /* (Since: v1.0.0) */
+    VIR_DOMAIN_NUMATUNE_MEM_PREFERRED   = 1, /* (Since: v1.0.0) */
+    VIR_DOMAIN_NUMATUNE_MEM_INTERLEAVE  = 2, /* (Since: v1.0.0) */
+    VIR_DOMAIN_NUMATUNE_MEM_RESTRICTIVE = 3, /* (Since: v7.3.0) */
 
 # ifdef VIR_ENUM_SENTINELS
     VIR_DOMAIN_NUMATUNE_MEM_LAST /* This constant is subject to change (Since: v1.0.0) */
@@ -2067,7 +2075,7 @@ typedef enum {
     VIR_DOMAIN_METADATA_ELEMENT     = 2, /* Operate on <metadata> (Since: v1.0.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_METADATA_LAST
+    VIR_DOMAIN_METADATA_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainMetadataType;
 
@@ -2388,28 +2396,28 @@ int                     virConnectListDefinedDomains (virConnectPtr conn,
  * Since: v1.0.0
  */
 typedef enum {
-    VIR_CONNECT_LIST_DOMAINS_ACTIVE         = 1 << 0,
-    VIR_CONNECT_LIST_DOMAINS_INACTIVE       = 1 << 1,
+    VIR_CONNECT_LIST_DOMAINS_ACTIVE         = 1 << 0, /* (Since: v1.0.0) */
+    VIR_CONNECT_LIST_DOMAINS_INACTIVE       = 1 << 1, /* (Since: v1.0.0) */
 
-    VIR_CONNECT_LIST_DOMAINS_PERSISTENT     = 1 << 2,
-    VIR_CONNECT_LIST_DOMAINS_TRANSIENT      = 1 << 3,
+    VIR_CONNECT_LIST_DOMAINS_PERSISTENT     = 1 << 2, /* (Since: v1.0.0) */
+    VIR_CONNECT_LIST_DOMAINS_TRANSIENT      = 1 << 3, /* (Since: v1.0.0) */
 
-    VIR_CONNECT_LIST_DOMAINS_RUNNING        = 1 << 4,
-    VIR_CONNECT_LIST_DOMAINS_PAUSED         = 1 << 5,
-    VIR_CONNECT_LIST_DOMAINS_SHUTOFF        = 1 << 6,
-    VIR_CONNECT_LIST_DOMAINS_OTHER          = 1 << 7,
+    VIR_CONNECT_LIST_DOMAINS_RUNNING        = 1 << 4, /* (Since: v1.0.0) */
+    VIR_CONNECT_LIST_DOMAINS_PAUSED         = 1 << 5, /* (Since: v1.0.0) */
+    VIR_CONNECT_LIST_DOMAINS_SHUTOFF        = 1 << 6, /* (Since: v1.0.0) */
+    VIR_CONNECT_LIST_DOMAINS_OTHER          = 1 << 7, /* (Since: v1.0.0) */
 
-    VIR_CONNECT_LIST_DOMAINS_MANAGEDSAVE    = 1 << 8,
-    VIR_CONNECT_LIST_DOMAINS_NO_MANAGEDSAVE = 1 << 9,
+    VIR_CONNECT_LIST_DOMAINS_MANAGEDSAVE    = 1 << 8, /* (Since: v1.0.0) */
+    VIR_CONNECT_LIST_DOMAINS_NO_MANAGEDSAVE = 1 << 9, /* (Since: v1.0.0) */
 
-    VIR_CONNECT_LIST_DOMAINS_AUTOSTART      = 1 << 10,
-    VIR_CONNECT_LIST_DOMAINS_NO_AUTOSTART   = 1 << 11,
+    VIR_CONNECT_LIST_DOMAINS_AUTOSTART      = 1 << 10, /* (Since: v1.0.0) */
+    VIR_CONNECT_LIST_DOMAINS_NO_AUTOSTART   = 1 << 11, /* (Since: v1.0.0) */
 
-    VIR_CONNECT_LIST_DOMAINS_HAS_SNAPSHOT   = 1 << 12,
-    VIR_CONNECT_LIST_DOMAINS_NO_SNAPSHOT    = 1 << 13,
+    VIR_CONNECT_LIST_DOMAINS_HAS_SNAPSHOT   = 1 << 12, /* (Since: v1.0.0) */
+    VIR_CONNECT_LIST_DOMAINS_NO_SNAPSHOT    = 1 << 13, /* (Since: v1.0.0) */
 
-    VIR_CONNECT_LIST_DOMAINS_HAS_CHECKPOINT = 1 << 14,
-    VIR_CONNECT_LIST_DOMAINS_NO_CHECKPOINT  = 1 << 15,
+    VIR_CONNECT_LIST_DOMAINS_HAS_CHECKPOINT = 1 << 14, /* (Since: v5.6.0) */
+    VIR_CONNECT_LIST_DOMAINS_NO_CHECKPOINT  = 1 << 15, /* (Since: v5.6.0) */
 } virConnectListAllDomainsFlags;
 
 int                     virConnectListAllDomains (virConnectPtr conn,
@@ -2443,7 +2451,7 @@ typedef enum {
     VIR_VCPU_BLOCKED    = 2,    /* the virtual CPU is blocked on resource (Since: v1.0.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_VCPU_LAST
+    VIR_VCPU_LAST /* (Since: v1.0.0) */
 # endif
 } virVcpuState;
 
@@ -2824,16 +2832,16 @@ typedef enum {
  *
  */
 typedef enum {
-    VIR_CONNECT_GET_ALL_DOMAINS_STATS_ACTIVE = VIR_CONNECT_LIST_DOMAINS_ACTIVE,
-    VIR_CONNECT_GET_ALL_DOMAINS_STATS_INACTIVE = VIR_CONNECT_LIST_DOMAINS_INACTIVE,
+    VIR_CONNECT_GET_ALL_DOMAINS_STATS_ACTIVE = VIR_CONNECT_LIST_DOMAINS_ACTIVE, /* (Since: v1.2.8) */
+    VIR_CONNECT_GET_ALL_DOMAINS_STATS_INACTIVE = VIR_CONNECT_LIST_DOMAINS_INACTIVE, /* (Since: v1.2.8) */
 
-    VIR_CONNECT_GET_ALL_DOMAINS_STATS_PERSISTENT = VIR_CONNECT_LIST_DOMAINS_PERSISTENT,
-    VIR_CONNECT_GET_ALL_DOMAINS_STATS_TRANSIENT = VIR_CONNECT_LIST_DOMAINS_TRANSIENT,
+    VIR_CONNECT_GET_ALL_DOMAINS_STATS_PERSISTENT = VIR_CONNECT_LIST_DOMAINS_PERSISTENT, /* (Since: v1.2.8) */
+    VIR_CONNECT_GET_ALL_DOMAINS_STATS_TRANSIENT = VIR_CONNECT_LIST_DOMAINS_TRANSIENT, /* (Since: v1.2.8) */
 
-    VIR_CONNECT_GET_ALL_DOMAINS_STATS_RUNNING = VIR_CONNECT_LIST_DOMAINS_RUNNING,
-    VIR_CONNECT_GET_ALL_DOMAINS_STATS_PAUSED = VIR_CONNECT_LIST_DOMAINS_PAUSED,
-    VIR_CONNECT_GET_ALL_DOMAINS_STATS_SHUTOFF = VIR_CONNECT_LIST_DOMAINS_SHUTOFF,
-    VIR_CONNECT_GET_ALL_DOMAINS_STATS_OTHER = VIR_CONNECT_LIST_DOMAINS_OTHER,
+    VIR_CONNECT_GET_ALL_DOMAINS_STATS_RUNNING = VIR_CONNECT_LIST_DOMAINS_RUNNING, /* (Since: v1.2.8) */
+    VIR_CONNECT_GET_ALL_DOMAINS_STATS_PAUSED = VIR_CONNECT_LIST_DOMAINS_PAUSED, /* (Since: v1.2.8) */
+    VIR_CONNECT_GET_ALL_DOMAINS_STATS_SHUTOFF = VIR_CONNECT_LIST_DOMAINS_SHUTOFF, /* (Since: v1.2.8) */
+    VIR_CONNECT_GET_ALL_DOMAINS_STATS_OTHER = VIR_CONNECT_LIST_DOMAINS_OTHER, /* (Since: v1.2.8) */
 
     VIR_CONNECT_GET_ALL_DOMAINS_STATS_NOWAIT = 1 << 29, /* report statistics that can be obtained
                                                            immediately without any blocking (Since: v4.5.0) */
@@ -3209,7 +3217,7 @@ typedef enum {
     VIR_DOMAIN_BLOCK_JOB_TYPE_BACKUP = 5,
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_BLOCK_JOB_TYPE_LAST
+    VIR_DOMAIN_BLOCK_JOB_TYPE_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainBlockJobType;
 
@@ -3224,8 +3232,8 @@ typedef enum {
  *
  */
 typedef enum {
-    VIR_DOMAIN_BLOCK_JOB_ABORT_ASYNC = 1 << 0,
-    VIR_DOMAIN_BLOCK_JOB_ABORT_PIVOT = 1 << 1,
+    VIR_DOMAIN_BLOCK_JOB_ABORT_ASYNC = 1 << 0, /* (Since: v1.0.0) */
+    VIR_DOMAIN_BLOCK_JOB_ABORT_PIVOT = 1 << 1, /* (Since: v1.0.0) */
 } virDomainBlockJobAbortFlags;
 
 int virDomainBlockJobAbort(virDomainPtr dom, const char *disk,
@@ -3701,7 +3709,7 @@ typedef enum {
     VIR_DOMAIN_DISK_ERROR_NO_SPACE  = 2, /* no space left on the device (Since: v1.0.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_DISK_ERROR_LAST
+    VIR_DOMAIN_DISK_ERROR_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainDiskErrorCode;
 
@@ -3742,16 +3750,16 @@ int virDomainGetDiskErrors(virDomainPtr dom,
  *
  */
 typedef enum {
-    VIR_KEYCODE_SET_LINUX          = 0,
-    VIR_KEYCODE_SET_XT             = 1,
-    VIR_KEYCODE_SET_ATSET1         = 2,
-    VIR_KEYCODE_SET_ATSET2         = 3,
-    VIR_KEYCODE_SET_ATSET3         = 4,
-    VIR_KEYCODE_SET_OSX            = 5,
-    VIR_KEYCODE_SET_XT_KBD         = 6,
-    VIR_KEYCODE_SET_USB            = 7,
-    VIR_KEYCODE_SET_WIN32          = 8,
-    VIR_KEYCODE_SET_QNUM           = 9,
+    VIR_KEYCODE_SET_LINUX          = 0, /* (Since: v1.0.0) */
+    VIR_KEYCODE_SET_XT             = 1, /* (Since: v1.0.0) */
+    VIR_KEYCODE_SET_ATSET1         = 2, /* (Since: v1.0.0) */
+    VIR_KEYCODE_SET_ATSET2         = 3, /* (Since: v1.0.0) */
+    VIR_KEYCODE_SET_ATSET3         = 4, /* (Since: v1.0.0) */
+    VIR_KEYCODE_SET_OSX            = 5, /* (Since: v1.0.0) */
+    VIR_KEYCODE_SET_XT_KBD         = 6, /* (Since: v1.0.0) */
+    VIR_KEYCODE_SET_USB            = 7, /* (Since: v1.0.0) */
+    VIR_KEYCODE_SET_WIN32          = 8, /* (Since: v1.0.0) */
+    VIR_KEYCODE_SET_QNUM           = 9, /* (Since: v4.2.0) */
 
 # ifdef VIR_ENUM_SENTINELS
     VIR_KEYCODE_SET_LAST
@@ -3759,6 +3767,8 @@ typedef enum {
      * NB: this enum value will increase over time as new keycode sets are
      * added to the libvirt API. It reflects the last keycode set supported
      * by this version of the libvirt API.
+     *
+     * Since: v1.0.0
      */
 # endif
 } virKeycodeSet;
@@ -3842,9 +3852,9 @@ typedef enum {
     VIR_DOMAIN_PROCESS_SIGNAL_PWR        = 30, /* Not in POSIX (SIGPWR on Linux) (Since: v1.0.1) */
     VIR_DOMAIN_PROCESS_SIGNAL_SYS        = 31, /* SIGSYS (also known as SIGUNUSED on Linux) (Since: v1.0.1) */
     VIR_DOMAIN_PROCESS_SIGNAL_RT0        = 32, /* SIGRTMIN (Since: v1.0.1) */
-    VIR_DOMAIN_PROCESS_SIGNAL_RT1        = 33, /* SIGRTMIN + 1 */
-    VIR_DOMAIN_PROCESS_SIGNAL_RT2        = 34, /* SIGRTMIN + 2 */
-    VIR_DOMAIN_PROCESS_SIGNAL_RT3        = 35, /* SIGRTMIN + 3 */
+    VIR_DOMAIN_PROCESS_SIGNAL_RT1        = 33, /* SIGRTMIN + 1 (Since: v1.0.1) */
+    VIR_DOMAIN_PROCESS_SIGNAL_RT2        = 34, /* SIGRTMIN + 2 (Since: v1.0.1) */
+    VIR_DOMAIN_PROCESS_SIGNAL_RT3        = 35, /* SIGRTMIN + 3 (Since: v1.0.1) */
     VIR_DOMAIN_PROCESS_SIGNAL_RT4        = 36, /* SIGRTMIN + 4 (Since: v1.0.1) */
     VIR_DOMAIN_PROCESS_SIGNAL_RT5        = 37, /* SIGRTMIN + 5 (Since: v1.0.1) */
     VIR_DOMAIN_PROCESS_SIGNAL_RT6        = 38, /* SIGRTMIN + 6 (Since: v1.0.1) */
@@ -3879,7 +3889,7 @@ typedef enum {
     VIR_DOMAIN_PROCESS_SIGNAL_RT32       = 64, /* SIGRTMIN + 32 / SIGRTMAX (Since: v1.0.1) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_PROCESS_SIGNAL_LAST
+    VIR_DOMAIN_PROCESS_SIGNAL_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainProcessSignal;
 
@@ -3909,18 +3919,18 @@ virDomainPtr            virDomainCreateLinux    (virConnectPtr conn,
  *
  */
 typedef enum {
-    VIR_DOMAIN_EVENT_DEFINED = 0,
-    VIR_DOMAIN_EVENT_UNDEFINED = 1,
-    VIR_DOMAIN_EVENT_STARTED = 2,
-    VIR_DOMAIN_EVENT_SUSPENDED = 3,
-    VIR_DOMAIN_EVENT_RESUMED = 4,
-    VIR_DOMAIN_EVENT_STOPPED = 5,
-    VIR_DOMAIN_EVENT_SHUTDOWN = 6,
-    VIR_DOMAIN_EVENT_PMSUSPENDED = 7,
-    VIR_DOMAIN_EVENT_CRASHED = 8,
+    VIR_DOMAIN_EVENT_DEFINED = 0, /* (Since: v1.0.0) */
+    VIR_DOMAIN_EVENT_UNDEFINED = 1, /* (Since: v1.0.0) */
+    VIR_DOMAIN_EVENT_STARTED = 2, /* (Since: v1.0.0) */
+    VIR_DOMAIN_EVENT_SUSPENDED = 3, /* (Since: v1.0.0) */
+    VIR_DOMAIN_EVENT_RESUMED = 4, /* (Since: v1.0.0) */
+    VIR_DOMAIN_EVENT_STOPPED = 5, /* (Since: v1.0.0) */
+    VIR_DOMAIN_EVENT_SHUTDOWN = 6, /* (Since: v1.0.0) */
+    VIR_DOMAIN_EVENT_PMSUSPENDED = 7, /* (Since: v1.0.0) */
+    VIR_DOMAIN_EVENT_CRASHED = 8, /* (Since: v1.1.1) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_EVENT_LAST
+    VIR_DOMAIN_EVENT_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainEventType;
 
@@ -3939,7 +3949,7 @@ typedef enum {
     VIR_DOMAIN_EVENT_DEFINED_FROM_SNAPSHOT = 3,   /* Config was restored from a snapshot (Since: v1.3.3) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_EVENT_DEFINED_LAST
+    VIR_DOMAIN_EVENT_DEFINED_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainEventDefinedDetailType;
 
@@ -3956,7 +3966,7 @@ typedef enum {
     VIR_DOMAIN_EVENT_UNDEFINED_RENAMED = 1, /* Domain was renamed (Since: v1.2.19) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_EVENT_UNDEFINED_LAST
+    VIR_DOMAIN_EVENT_UNDEFINED_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainEventUndefinedDetailType;
 
@@ -3976,7 +3986,7 @@ typedef enum {
     VIR_DOMAIN_EVENT_STARTED_WAKEUP = 4,   /* Started due to wakeup event (Since: v1.0.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_EVENT_STARTED_LAST
+    VIR_DOMAIN_EVENT_STARTED_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainEventStartedDetailType;
 
@@ -4000,7 +4010,7 @@ typedef enum {
     VIR_DOMAIN_EVENT_SUSPENDED_POSTCOPY_FAILED = 8, /* suspended after failed post-copy (Since: v1.3.3) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_EVENT_SUSPENDED_LAST
+    VIR_DOMAIN_EVENT_SUSPENDED_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainEventSuspendedDetailType;
 
@@ -4020,7 +4030,7 @@ typedef enum {
                                                 running in post-copy mode (Since: v1.3.3) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_EVENT_RESUMED_LAST
+    VIR_DOMAIN_EVENT_RESUMED_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainEventResumedDetailType;
 
@@ -4042,7 +4052,7 @@ typedef enum {
     VIR_DOMAIN_EVENT_STOPPED_FROM_SNAPSHOT = 6, /* offline snapshot loaded (Since: v1.0.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_EVENT_STOPPED_LAST
+    VIR_DOMAIN_EVENT_STOPPED_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainEventStoppedDetailType;
 
@@ -4071,7 +4081,7 @@ typedef enum {
     VIR_DOMAIN_EVENT_SHUTDOWN_HOST = 2,
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_EVENT_SHUTDOWN_LAST
+    VIR_DOMAIN_EVENT_SHUTDOWN_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainEventShutdownDetailType;
 
@@ -4088,7 +4098,7 @@ typedef enum {
     VIR_DOMAIN_EVENT_PMSUSPENDED_DISK = 1, /* Guest was PM suspended to disk (Since: v1.0.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_EVENT_PMSUSPENDED_LAST
+    VIR_DOMAIN_EVENT_PMSUSPENDED_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainEventPMSuspendedDetailType;
 
@@ -4105,7 +4115,7 @@ typedef enum {
     VIR_DOMAIN_EVENT_CRASHED_CRASHLOADED = 1, /* Guest was crashloaded (Since: v6.1.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_EVENT_CRASHED_LAST
+    VIR_DOMAIN_EVENT_CRASHED_LAST /* (Since: v1.1.1) */
 # endif
 } virDomainEventCrashedDetailType;
 
@@ -4125,7 +4135,7 @@ typedef enum {
     VIR_DOMAIN_EVENT_MEMORY_FAILURE_RECIPIENT_GUEST = 1,
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_EVENT_MEMORY_FAILURE_RECIPIENT_LAST
+    VIR_DOMAIN_EVENT_MEMORY_FAILURE_RECIPIENT_LAST /* (Since: v6.9.0) */
 # endif
 } virDomainMemoryFailureRecipientType;
 
@@ -4169,7 +4179,7 @@ typedef enum {
     VIR_DOMAIN_EVENT_MEMORY_FAILURE_ACTION_RESET = 3,
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_EVENT_MEMORY_FAILURE_ACTION_LAST
+    VIR_DOMAIN_EVENT_MEMORY_FAILURE_ACTION_LAST /* (Since: v6.9.0) */
 # endif
 } virDomainMemoryFailureActionType;
 
@@ -4243,7 +4253,7 @@ typedef enum {
     VIR_DOMAIN_JOB_CANCELLED = 5, /* Job was aborted, but isn't cleaned up (Since: v1.0.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_JOB_LAST
+    VIR_DOMAIN_JOB_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainJobType;
 
@@ -4328,19 +4338,19 @@ int virDomainAbortJob(virDomainPtr dom);
  *
  */
 typedef enum {
-    VIR_DOMAIN_JOB_OPERATION_UNKNOWN = 0,
-    VIR_DOMAIN_JOB_OPERATION_START = 1,
-    VIR_DOMAIN_JOB_OPERATION_SAVE = 2,
-    VIR_DOMAIN_JOB_OPERATION_RESTORE = 3,
-    VIR_DOMAIN_JOB_OPERATION_MIGRATION_IN = 4,
-    VIR_DOMAIN_JOB_OPERATION_MIGRATION_OUT = 5,
-    VIR_DOMAIN_JOB_OPERATION_SNAPSHOT = 6, /* Since: v3.3.0 */
-    VIR_DOMAIN_JOB_OPERATION_SNAPSHOT_REVERT = 7,
-    VIR_DOMAIN_JOB_OPERATION_DUMP = 8,
-    VIR_DOMAIN_JOB_OPERATION_BACKUP = 9,
+    VIR_DOMAIN_JOB_OPERATION_UNKNOWN = 0, /* (Since: v3.3.0) */
+    VIR_DOMAIN_JOB_OPERATION_START = 1, /* (Since: v3.3.0) */
+    VIR_DOMAIN_JOB_OPERATION_SAVE = 2, /* (Since: v3.3.0) */
+    VIR_DOMAIN_JOB_OPERATION_RESTORE = 3, /* (Since: v3.3.0) */
+    VIR_DOMAIN_JOB_OPERATION_MIGRATION_IN = 4, /* (Since: v3.3.0) */
+    VIR_DOMAIN_JOB_OPERATION_MIGRATION_OUT = 5, /* (Since: v3.3.0) */
+    VIR_DOMAIN_JOB_OPERATION_SNAPSHOT = 6, /* (Since: v3.3.0) */
+    VIR_DOMAIN_JOB_OPERATION_SNAPSHOT_REVERT = 7, /* (Since: v3.3.0) */
+    VIR_DOMAIN_JOB_OPERATION_DUMP = 8, /* (Since: v3.3.0) */
+    VIR_DOMAIN_JOB_OPERATION_BACKUP = 9, /* (Since: v6.0.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_JOB_OPERATION_LAST
+    VIR_DOMAIN_JOB_OPERATION_LAST /* (Since: v3.3.0) */
 # endif
 } virDomainJobOperation;
 
@@ -4838,7 +4848,7 @@ typedef enum {
     VIR_DOMAIN_EVENT_WATCHDOG_INJECTNMI,/* Inject a non-maskable interrupt into guest (Since: v1.2.17) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_EVENT_WATCHDOG_LAST
+    VIR_DOMAIN_EVENT_WATCHDOG_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainEventWatchdogAction;
 
@@ -4875,7 +4885,7 @@ typedef enum {
     VIR_DOMAIN_EVENT_IO_ERROR_REPORT,    /* IO error reported to guest OS (Since: v1.0.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_EVENT_IO_ERROR_LAST
+    VIR_DOMAIN_EVENT_IO_ERROR_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainEventIOErrorAction;
 
@@ -4947,7 +4957,7 @@ typedef enum {
     VIR_DOMAIN_EVENT_GRAPHICS_DISCONNECT,   /* Final socket disconnection (Since: v1.0.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_EVENT_GRAPHICS_LAST
+    VIR_DOMAIN_EVENT_GRAPHICS_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainEventGraphicsPhase;
 
@@ -4965,7 +4975,7 @@ typedef enum {
     VIR_DOMAIN_EVENT_GRAPHICS_ADDRESS_UNIX,  /* UNIX socket path (Since: v1.0.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_EVENT_GRAPHICS_ADDRESS_LAST
+    VIR_DOMAIN_EVENT_GRAPHICS_ADDRESS_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainEventGraphicsAddressType;
 
@@ -5100,13 +5110,13 @@ typedef void (*virConnectDomainEventGraphicsCallback)(virConnectPtr conn,
  *
  */
 typedef enum {
-    VIR_DOMAIN_BLOCK_JOB_COMPLETED = 0,
-    VIR_DOMAIN_BLOCK_JOB_FAILED = 1,
-    VIR_DOMAIN_BLOCK_JOB_CANCELED = 2,
-    VIR_DOMAIN_BLOCK_JOB_READY = 3,
+    VIR_DOMAIN_BLOCK_JOB_COMPLETED = 0, /* (Since: v1.0.0) */
+    VIR_DOMAIN_BLOCK_JOB_FAILED = 1, /* (Since: v1.0.0) */
+    VIR_DOMAIN_BLOCK_JOB_CANCELED = 2, /* (Since: v1.0.0) */
+    VIR_DOMAIN_BLOCK_JOB_READY = 3, /* (Since: v1.0.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_BLOCK_JOB_LAST
+    VIR_DOMAIN_BLOCK_JOB_LAST /* (Since: v1.0.0) */
 # endif
 } virConnectDomainEventBlockJobStatus;
 
@@ -5168,7 +5178,7 @@ typedef enum {
     VIR_DOMAIN_EVENT_DISK_DROP_MISSING_ON_START = 1,
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_EVENT_DISK_CHANGE_LAST
+    VIR_DOMAIN_EVENT_DISK_CHANGE_LAST /* (Since: v1.0.0) */
 # endif
 } virConnectDomainEventDiskChangeReason;
 
@@ -5211,11 +5221,11 @@ typedef void (*virConnectDomainEventDiskChangeCallback)(virConnectPtr conn,
  *
  */
 typedef enum {
-    VIR_DOMAIN_EVENT_TRAY_CHANGE_OPEN = 0,
-    VIR_DOMAIN_EVENT_TRAY_CHANGE_CLOSE,
+    VIR_DOMAIN_EVENT_TRAY_CHANGE_OPEN = 0, /* (Since: v1.0.0) */
+    VIR_DOMAIN_EVENT_TRAY_CHANGE_CLOSE, /* (Since: v1.0.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_EVENT_TRAY_CHANGE_LAST
+    VIR_DOMAIN_EVENT_TRAY_CHANGE_LAST /* (Since: v1.0.0) */
 # endif
 } virDomainEventTrayChangeReason;
 
@@ -5873,7 +5883,7 @@ typedef enum {
     VIR_CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_STATE_DISCONNECTED = 2, /* agent disconnected (Since: v1.2.11) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_STATE_LAST
+    VIR_CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_STATE_LAST /* (Since: v1.2.11) */
 # endif
 } virConnectDomainEventAgentLifecycleState;
 
@@ -5889,7 +5899,7 @@ typedef enum {
     VIR_CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_REASON_CHANNEL = 2, /* channel state changed (Since: v1.2.11) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_REASON_LAST
+    VIR_CONNECT_DOMAIN_EVENT_AGENT_LIFECYCLE_REASON_LAST /* (Since: v1.2.11) */
 # endif
 } virConnectDomainEventAgentLifecycleReason;
 
@@ -6061,6 +6071,8 @@ typedef enum {
      * NB: this enum value will increase over time as new events are
      * added to the libvirt API. It reflects the last event ID supported
      * by this version of the libvirt API.
+     *
+     * Since: v1.0.0
      */
 # endif
 } virDomainEventID;
@@ -6121,7 +6133,7 @@ int virDomainOpenChannel(virDomainPtr dom,
  *
  */
 typedef enum {
-    VIR_DOMAIN_OPEN_GRAPHICS_SKIPAUTH = (1 << 0),
+    VIR_DOMAIN_OPEN_GRAPHICS_SKIPAUTH = (1 << 0), /* (Since: v1.0.0) */
 } virDomainOpenGraphicsFlags;
 
 int virDomainOpenGraphics(virDomainPtr dom,
@@ -6212,12 +6224,12 @@ int virDomainSetTime(virDomainPtr dom,
  *
  */
 typedef enum {
-    VIR_DOMAIN_SCHED_FIELD_INT     = VIR_TYPED_PARAM_INT,
-    VIR_DOMAIN_SCHED_FIELD_UINT    = VIR_TYPED_PARAM_UINT,
-    VIR_DOMAIN_SCHED_FIELD_LLONG   = VIR_TYPED_PARAM_LLONG,
-    VIR_DOMAIN_SCHED_FIELD_ULLONG  = VIR_TYPED_PARAM_ULLONG,
-    VIR_DOMAIN_SCHED_FIELD_DOUBLE  = VIR_TYPED_PARAM_DOUBLE,
-    VIR_DOMAIN_SCHED_FIELD_BOOLEAN = VIR_TYPED_PARAM_BOOLEAN,
+    VIR_DOMAIN_SCHED_FIELD_INT     = VIR_TYPED_PARAM_INT, /* (Since: v1.0.0) */
+    VIR_DOMAIN_SCHED_FIELD_UINT    = VIR_TYPED_PARAM_UINT, /* (Since: v1.0.0) */
+    VIR_DOMAIN_SCHED_FIELD_LLONG   = VIR_TYPED_PARAM_LLONG, /* (Since: v1.0.0) */
+    VIR_DOMAIN_SCHED_FIELD_ULLONG  = VIR_TYPED_PARAM_ULLONG, /* (Since: v1.0.0) */
+    VIR_DOMAIN_SCHED_FIELD_DOUBLE  = VIR_TYPED_PARAM_DOUBLE, /* (Since: v1.0.0) */
+    VIR_DOMAIN_SCHED_FIELD_BOOLEAN = VIR_TYPED_PARAM_BOOLEAN, /* (Since: v1.0.0) */
 } virSchedParameterType;
 
 /**
@@ -6267,12 +6279,12 @@ typedef virSchedParameter *virSchedParameterPtr;
  *
  */
 typedef enum {
-    VIR_DOMAIN_BLKIO_PARAM_INT     = VIR_TYPED_PARAM_INT,
-    VIR_DOMAIN_BLKIO_PARAM_UINT    = VIR_TYPED_PARAM_UINT,
-    VIR_DOMAIN_BLKIO_PARAM_LLONG   = VIR_TYPED_PARAM_LLONG,
-    VIR_DOMAIN_BLKIO_PARAM_ULLONG  = VIR_TYPED_PARAM_ULLONG,
-    VIR_DOMAIN_BLKIO_PARAM_DOUBLE  = VIR_TYPED_PARAM_DOUBLE,
-    VIR_DOMAIN_BLKIO_PARAM_BOOLEAN = VIR_TYPED_PARAM_BOOLEAN,
+    VIR_DOMAIN_BLKIO_PARAM_INT     = VIR_TYPED_PARAM_INT, /* (Since: v1.0.0) */
+    VIR_DOMAIN_BLKIO_PARAM_UINT    = VIR_TYPED_PARAM_UINT, /* (Since: v1.0.0) */
+    VIR_DOMAIN_BLKIO_PARAM_LLONG   = VIR_TYPED_PARAM_LLONG, /* (Since: v1.0.0) */
+    VIR_DOMAIN_BLKIO_PARAM_ULLONG  = VIR_TYPED_PARAM_ULLONG, /* (Since: v1.0.0) */
+    VIR_DOMAIN_BLKIO_PARAM_DOUBLE  = VIR_TYPED_PARAM_DOUBLE, /* (Since: v1.0.0) */
+    VIR_DOMAIN_BLKIO_PARAM_BOOLEAN = VIR_TYPED_PARAM_BOOLEAN, /* (Since: v1.0.0) */
 } virBlkioParameterType;
 
 /**
@@ -6322,12 +6334,12 @@ typedef virBlkioParameter *virBlkioParameterPtr;
  *
  */
 typedef enum {
-    VIR_DOMAIN_MEMORY_PARAM_INT     = VIR_TYPED_PARAM_INT,
-    VIR_DOMAIN_MEMORY_PARAM_UINT    = VIR_TYPED_PARAM_UINT,
-    VIR_DOMAIN_MEMORY_PARAM_LLONG   = VIR_TYPED_PARAM_LLONG,
-    VIR_DOMAIN_MEMORY_PARAM_ULLONG  = VIR_TYPED_PARAM_ULLONG,
-    VIR_DOMAIN_MEMORY_PARAM_DOUBLE  = VIR_TYPED_PARAM_DOUBLE,
-    VIR_DOMAIN_MEMORY_PARAM_BOOLEAN = VIR_TYPED_PARAM_BOOLEAN,
+    VIR_DOMAIN_MEMORY_PARAM_INT     = VIR_TYPED_PARAM_INT, /* (Since: v1.0.0) */
+    VIR_DOMAIN_MEMORY_PARAM_UINT    = VIR_TYPED_PARAM_UINT, /* (Since: v1.0.0) */
+    VIR_DOMAIN_MEMORY_PARAM_LLONG   = VIR_TYPED_PARAM_LLONG, /* (Since: v1.0.0) */
+    VIR_DOMAIN_MEMORY_PARAM_ULLONG  = VIR_TYPED_PARAM_ULLONG, /* (Since: v1.0.0) */
+    VIR_DOMAIN_MEMORY_PARAM_DOUBLE  = VIR_TYPED_PARAM_DOUBLE, /* (Since: v1.0.0) */
+    VIR_DOMAIN_MEMORY_PARAM_BOOLEAN = VIR_TYPED_PARAM_BOOLEAN, /* (Since: v1.0.0) */
 } virMemoryParameterType;
 
 /**
@@ -6379,7 +6391,7 @@ typedef enum {
     VIR_DOMAIN_INTERFACE_ADDRESSES_SRC_ARP = 2, /* Query ARP tables (Since: v4.2.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_INTERFACE_ADDRESSES_SRC_LAST
+    VIR_DOMAIN_INTERFACE_ADDRESSES_SRC_LAST /* (Since: v1.2.14) */
 # endif
 } virDomainInterfaceAddressesSource;
 
@@ -6479,12 +6491,12 @@ int virDomainSetBlockThreshold(virDomainPtr domain,
  *
  */
 typedef enum {
-    VIR_DOMAIN_LIFECYCLE_POWEROFF = 0,
-    VIR_DOMAIN_LIFECYCLE_REBOOT = 1,
-    VIR_DOMAIN_LIFECYCLE_CRASH = 2,
+    VIR_DOMAIN_LIFECYCLE_POWEROFF = 0, /* (Since: v3.9.0) */
+    VIR_DOMAIN_LIFECYCLE_REBOOT = 1, /* (Since: v3.9.0) */
+    VIR_DOMAIN_LIFECYCLE_CRASH = 2, /* (Since: v3.9.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_LIFECYCLE_LAST
+    VIR_DOMAIN_LIFECYCLE_LAST /* (Since: v3.9.0) */
 # endif
 } virDomainLifecycle;
 
@@ -6495,15 +6507,15 @@ typedef enum {
  *
  */
 typedef enum {
-    VIR_DOMAIN_LIFECYCLE_ACTION_DESTROY = 0,
-    VIR_DOMAIN_LIFECYCLE_ACTION_RESTART = 1, /* Since: v3.9.0 */
-    VIR_DOMAIN_LIFECYCLE_ACTION_RESTART_RENAME = 2,
-    VIR_DOMAIN_LIFECYCLE_ACTION_PRESERVE = 3,
-    VIR_DOMAIN_LIFECYCLE_ACTION_COREDUMP_DESTROY = 4,
-    VIR_DOMAIN_LIFECYCLE_ACTION_COREDUMP_RESTART = 5,
+    VIR_DOMAIN_LIFECYCLE_ACTION_DESTROY = 0, /* (Since: v3.9.0) */
+    VIR_DOMAIN_LIFECYCLE_ACTION_RESTART = 1, /* (Since: v3.9.0) */
+    VIR_DOMAIN_LIFECYCLE_ACTION_RESTART_RENAME = 2, /* (Since: v3.9.0) */
+    VIR_DOMAIN_LIFECYCLE_ACTION_PRESERVE = 3, /* (Since: v3.9.0) */
+    VIR_DOMAIN_LIFECYCLE_ACTION_COREDUMP_DESTROY = 4, /* (Since: v3.9.0) */
+    VIR_DOMAIN_LIFECYCLE_ACTION_COREDUMP_RESTART = 5, /* (Since: v3.9.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_LIFECYCLE_ACTION_LAST
+    VIR_DOMAIN_LIFECYCLE_ACTION_LAST /* (Since: v3.9.0) */
 # endif
 } virDomainLifecycleAction;
 
@@ -6650,9 +6662,9 @@ int virDomainGetGuestInfo(virDomainPtr domain,
  *
  */
 typedef enum {
-    VIR_DOMAIN_AGENT_RESPONSE_TIMEOUT_BLOCK = -2,
-    VIR_DOMAIN_AGENT_RESPONSE_TIMEOUT_DEFAULT = -1,
-    VIR_DOMAIN_AGENT_RESPONSE_TIMEOUT_NOWAIT = 0,
+    VIR_DOMAIN_AGENT_RESPONSE_TIMEOUT_BLOCK = -2, /* (Since: v5.10.0) */
+    VIR_DOMAIN_AGENT_RESPONSE_TIMEOUT_DEFAULT = -1, /* (Since: v5.10.0) */
+    VIR_DOMAIN_AGENT_RESPONSE_TIMEOUT_NOWAIT = 0, /* (Since: v5.10.0) */
 } virDomainAgentResponseTimeoutValues;
 
 int virDomainAgentSetResponseTimeout(virDomainPtr domain,
@@ -6708,8 +6720,8 @@ int virDomainAuthorizedSSHKeysSet(virDomainPtr domain,
  *
  */
 typedef enum {
-    VIR_DOMAIN_MESSAGE_DEPRECATION = (1 << 0),
-    VIR_DOMAIN_MESSAGE_TAINTING = (1 << 1),
+    VIR_DOMAIN_MESSAGE_DEPRECATION = (1 << 0), /* (Since: v7.1.0) */
+    VIR_DOMAIN_MESSAGE_TAINTING = (1 << 1), /* (Since: v7.1.0) */
 } virDomainMessageType;
 
 int virDomainGetMessages(virDomainPtr domain,
@@ -6733,7 +6745,7 @@ typedef enum {
                                            completed (Since: v7.2.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_DOMAIN_DIRTYRATE_LAST
+    VIR_DOMAIN_DIRTYRATE_LAST /* (Since: v7.2.0) */
 # endif
 } virDomainDirtyRateStatus;
 
diff --git a/include/libvirt/libvirt-event.h b/include/libvirt/libvirt-event.h
index 078439f3d6..c8f1b2fc85 100644
--- a/include/libvirt/libvirt-event.h
+++ b/include/libvirt/libvirt-event.h
@@ -39,10 +39,10 @@
  *
  */
 typedef enum {
-    VIR_EVENT_HANDLE_READABLE  = (1 << 0),
-    VIR_EVENT_HANDLE_WRITABLE  = (1 << 1),
-    VIR_EVENT_HANDLE_ERROR     = (1 << 2),
-    VIR_EVENT_HANDLE_HANGUP    = (1 << 3),
+    VIR_EVENT_HANDLE_READABLE  = (1 << 0), /* (Since: v1.0.0) */
+    VIR_EVENT_HANDLE_WRITABLE  = (1 << 1), /* (Since: v1.0.0) */
+    VIR_EVENT_HANDLE_ERROR     = (1 << 2), /* (Since: v1.0.0) */
+    VIR_EVENT_HANDLE_HANGUP    = (1 << 3), /* (Since: v1.0.0) */
 } virEventHandleType;
 
 /**
diff --git a/include/libvirt/libvirt-host.h b/include/libvirt/libvirt-host.h
index 74d3583bd7..ad955ea7e0 100644
--- a/include/libvirt/libvirt-host.h
+++ b/include/libvirt/libvirt-host.h
@@ -60,9 +60,9 @@ typedef virConnect *virConnectPtr;
  *
  */
 typedef enum {
-    VIR_NODE_SUSPEND_TARGET_MEM     = 0,
-    VIR_NODE_SUSPEND_TARGET_DISK    = 1,
-    VIR_NODE_SUSPEND_TARGET_HYBRID  = 2,
+    VIR_NODE_SUSPEND_TARGET_MEM     = 0, /* (Since: v1.0.0) */
+    VIR_NODE_SUSPEND_TARGET_DISK    = 1, /* (Since: v1.0.0) */
+    VIR_NODE_SUSPEND_TARGET_HYBRID  = 2, /* (Since: v1.0.0) */
 
 # ifdef VIR_ENUM_SENTINELS
     VIR_NODE_SUSPEND_TARGET_LAST /* This constant is subject to change (Since: v1.0.0) */
@@ -228,7 +228,7 @@ struct _virNodeInfo {
  *
  */
 typedef enum {
-    VIR_NODE_CPU_STATS_ALL_CPUS = -1,
+    VIR_NODE_CPU_STATS_ALL_CPUS = -1, /* (Since: v1.0.0) */
 } virNodeGetCPUStatsAllCPUs;
 
 /**
@@ -333,7 +333,7 @@ struct _virNodeCPUStats {
  *
  */
 typedef enum {
-    VIR_NODE_MEMORY_STATS_ALL_CELLS = -1,
+    VIR_NODE_MEMORY_STATS_ALL_CELLS = -1, /* (Since: v1.0.0) */
 } virNodeGetMemoryStatsAllCells;
 
 /**
@@ -658,7 +658,7 @@ typedef enum {
     VIR_CRED_CNONCE = 4,       /* client supplies a nonce (Since: v1.0.0) */
     VIR_CRED_PASSPHRASE = 5,   /* Passphrase secret (Since: v1.0.0) */
     VIR_CRED_ECHOPROMPT = 6,   /* Challenge response (Since: v1.0.0) */
-    VIR_CRED_NOECHOPROMPT = 7, /* Challenge response */
+    VIR_CRED_NOECHOPROMPT = 7, /* Challenge response (Since: v1.0.0) */
     VIR_CRED_REALM = 8,        /* Authentication realm (Since: v1.0.0) */
     VIR_CRED_EXTERNAL = 9,     /* Externally managed credential (Since: v1.0.0) */
 
@@ -987,13 +987,13 @@ int virConnectIsAlive(virConnectPtr conn);
  *
  */
 typedef enum {
-    VIR_CPU_COMPARE_ERROR           = -1,
-    VIR_CPU_COMPARE_INCOMPATIBLE    = 0,
-    VIR_CPU_COMPARE_IDENTICAL       = 1,
-    VIR_CPU_COMPARE_SUPERSET        = 2,
+    VIR_CPU_COMPARE_ERROR           = -1, /* (Since: v1.0.0) */
+    VIR_CPU_COMPARE_INCOMPATIBLE    = 0, /* (Since: v1.0.0) */
+    VIR_CPU_COMPARE_IDENTICAL       = 1, /* (Since: v1.0.0) */
+    VIR_CPU_COMPARE_SUPERSET        = 2, /* (Since: v1.0.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_CPU_COMPARE_LAST
+    VIR_CPU_COMPARE_LAST /* (Since: v1.0.0) */
 # endif
 } virCPUCompareResult;
 
diff --git a/include/libvirt/libvirt-interface.h b/include/libvirt/libvirt-interface.h
index bf7e915432..9bdffef14b 100644
--- a/include/libvirt/libvirt-interface.h
+++ b/include/libvirt/libvirt-interface.h
@@ -68,8 +68,8 @@ int                     virConnectListDefinedInterfaces  (virConnectPtr conn,
  *
  */
 typedef enum {
-    VIR_CONNECT_LIST_INTERFACES_INACTIVE      = 1 << 0,
-    VIR_CONNECT_LIST_INTERFACES_ACTIVE        = 1 << 1,
+    VIR_CONNECT_LIST_INTERFACES_INACTIVE      = 1 << 0, /* (Since: v1.0.0) */
+    VIR_CONNECT_LIST_INTERFACES_ACTIVE        = 1 << 1, /* (Since: v1.0.0) */
 } virConnectListAllInterfacesFlags;
 
 int                     virConnectListAllInterfaces (virConnectPtr conn,
diff --git a/include/libvirt/libvirt-network.h b/include/libvirt/libvirt-network.h
index 953a11e8f3..3b9fe35afe 100644
--- a/include/libvirt/libvirt-network.h
+++ b/include/libvirt/libvirt-network.h
@@ -110,14 +110,14 @@ int                     virConnectListDefinedNetworks   (virConnectPtr conn,
  *
  */
 typedef enum {
-    VIR_CONNECT_LIST_NETWORKS_INACTIVE      = 1 << 0,
-    VIR_CONNECT_LIST_NETWORKS_ACTIVE        = 1 << 1,
+    VIR_CONNECT_LIST_NETWORKS_INACTIVE      = 1 << 0, /* (Since: v1.0.0) */
+    VIR_CONNECT_LIST_NETWORKS_ACTIVE        = 1 << 1, /* (Since: v1.0.0) */
 
-    VIR_CONNECT_LIST_NETWORKS_PERSISTENT    = 1 << 2,
-    VIR_CONNECT_LIST_NETWORKS_TRANSIENT     = 1 << 3,
+    VIR_CONNECT_LIST_NETWORKS_PERSISTENT    = 1 << 2, /* (Since: v1.0.0) */
+    VIR_CONNECT_LIST_NETWORKS_TRANSIENT     = 1 << 3, /* (Since: v1.0.0) */
 
-    VIR_CONNECT_LIST_NETWORKS_AUTOSTART     = 1 << 4,
-    VIR_CONNECT_LIST_NETWORKS_NO_AUTOSTART  = 1 << 5,
+    VIR_CONNECT_LIST_NETWORKS_AUTOSTART     = 1 << 4, /* (Since: v1.0.0) */
+    VIR_CONNECT_LIST_NETWORKS_NO_AUTOSTART  = 1 << 5, /* (Since: v1.0.0) */
 } virConnectListAllNetworksFlags;
 
 int                     virConnectListAllNetworks       (virConnectPtr conn,
@@ -191,7 +191,7 @@ typedef enum {
     VIR_NETWORK_UPDATE_COMMAND_ADD_LAST  = 3, /* add an element at end of list (Since: v1.0.0) */
     VIR_NETWORK_UPDATE_COMMAND_ADD_FIRST = 4, /* add an element at start of list (Since: v1.0.0) */
 # ifdef VIR_ENUM_SENTINELS
-    VIR_NETWORK_UPDATE_COMMAND_LAST
+    VIR_NETWORK_UPDATE_COMMAND_LAST /* (Since: v1.0.0) */
 # endif
 } virNetworkUpdateCommand;
 
@@ -208,10 +208,10 @@ typedef enum {
     VIR_NETWORK_SECTION_NONE              =  0, /* (invalid (Since: v1.0.0)) */
     VIR_NETWORK_SECTION_BRIDGE            =  1, /* <bridge> (Since: v1.0.0) */
     VIR_NETWORK_SECTION_DOMAIN            =  2, /* <domain> (Since: v1.0.0) */
-    VIR_NETWORK_SECTION_IP                =  3, /* <ip> */
+    VIR_NETWORK_SECTION_IP                =  3, /* <ip> (Since: v1.0.0) */
     VIR_NETWORK_SECTION_IP_DHCP_HOST      =  4, /* <ip>/<dhcp>/<host> (Since: v1.0.0) */
     VIR_NETWORK_SECTION_IP_DHCP_RANGE     =  5, /* <ip>/<dhcp>/<range> (Since: v1.0.0) */
-    VIR_NETWORK_SECTION_FORWARD           =  6, /* <forward> */
+    VIR_NETWORK_SECTION_FORWARD           =  6, /* <forward> (Since: v1.0.0) */
     VIR_NETWORK_SECTION_FORWARD_INTERFACE =  7, /* <forward>/<interface> (Since: v1.0.0) */
     VIR_NETWORK_SECTION_FORWARD_PF        =  8, /* <forward>/<pf> (Since: v1.0.0) */
     VIR_NETWORK_SECTION_PORTGROUP         =  9, /* <portgroup> (Since: v1.0.0) */
@@ -219,7 +219,7 @@ typedef enum {
     VIR_NETWORK_SECTION_DNS_TXT           = 11, /* <dns>/<txt> (Since: v1.0.0) */
     VIR_NETWORK_SECTION_DNS_SRV           = 12, /* <dns>/<srv> (Since: v1.0.0) */
 # ifdef VIR_ENUM_SENTINELS
-    VIR_NETWORK_SECTION_LAST
+    VIR_NETWORK_SECTION_LAST /* (Since: v1.0.0) */
 # endif
 } virNetworkUpdateSection;
 
@@ -289,13 +289,13 @@ int virNetworkIsPersistent(virNetworkPtr net);
  *
  */
 typedef enum {
-    VIR_NETWORK_EVENT_DEFINED = 0,
-    VIR_NETWORK_EVENT_UNDEFINED = 1,
-    VIR_NETWORK_EVENT_STARTED = 2,
-    VIR_NETWORK_EVENT_STOPPED = 3,
+    VIR_NETWORK_EVENT_DEFINED = 0, /* (Since: v1.2.1) */
+    VIR_NETWORK_EVENT_UNDEFINED = 1, /* (Since: v1.2.1) */
+    VIR_NETWORK_EVENT_STARTED = 2, /* (Since: v1.2.1) */
+    VIR_NETWORK_EVENT_STOPPED = 3, /* (Since: v1.2.1) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_NETWORK_EVENT_LAST
+    VIR_NETWORK_EVENT_LAST /* (Since: v1.2.1) */
 # endif
 } virNetworkEventLifecycleType;
 
@@ -352,6 +352,8 @@ typedef enum {
      * NB: this enum value will increase over time as new events are
      * added to the libvirt API. It reflects the last event ID supported
      * by this version of the libvirt API.
+     *
+     * Since: v1.2.1
      */
 # endif
 } virNetworkEventID;
@@ -363,11 +365,11 @@ typedef enum {
  *
  */
 typedef enum {
-    VIR_IP_ADDR_TYPE_IPV4,
-    VIR_IP_ADDR_TYPE_IPV6,
+    VIR_IP_ADDR_TYPE_IPV4, /* (Since: v1.2.6) */
+    VIR_IP_ADDR_TYPE_IPV6, /* (Since: v1.2.6) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_IP_ADDR_TYPE_LAST
+    VIR_IP_ADDR_TYPE_LAST /* (Since: v1.2.6) */
 # endif
 } virIPAddrType;
 
diff --git a/include/libvirt/libvirt-nodedev.h b/include/libvirt/libvirt-nodedev.h
index 4d05237cbe..f349289e8c 100644
--- a/include/libvirt/libvirt-nodedev.h
+++ b/include/libvirt/libvirt-nodedev.h
@@ -192,6 +192,8 @@ typedef enum {
      * NB: this enum value will increase over time as new events are
      * added to the libvirt API. It reflects the last event ID supported
      * by this version of the libvirt API.
+     *
+     * Since: v2.0.0
      */
 # endif
 } virNodeDeviceEventID;
@@ -236,13 +238,13 @@ int virConnectNodeDeviceEventDeregisterAny(virConnectPtr conn,
  *
  */
 typedef enum {
-    VIR_NODE_DEVICE_EVENT_CREATED = 0,
-    VIR_NODE_DEVICE_EVENT_DELETED = 1,
-    VIR_NODE_DEVICE_EVENT_DEFINED = 2,
-    VIR_NODE_DEVICE_EVENT_UNDEFINED = 3,
+    VIR_NODE_DEVICE_EVENT_CREATED = 0, /* (Since: v2.2.0) */
+    VIR_NODE_DEVICE_EVENT_DELETED = 1, /* (Since: v2.2.0) */
+    VIR_NODE_DEVICE_EVENT_DEFINED = 2, /* (Since: v7.3.0) */
+    VIR_NODE_DEVICE_EVENT_UNDEFINED = 3, /* (Since: v7.3.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_NODE_DEVICE_EVENT_LAST
+    VIR_NODE_DEVICE_EVENT_LAST /* (Since: v2.2.0) */
 # endif
 } virNodeDeviceEventLifecycleType;
 
diff --git a/include/libvirt/libvirt-qemu.h b/include/libvirt/libvirt-qemu.h
index e4c74d72c6..8acb442ab0 100644
--- a/include/libvirt/libvirt-qemu.h
+++ b/include/libvirt/libvirt-qemu.h
@@ -37,7 +37,7 @@ extern "C" {
  *
  */
 typedef enum {
-    VIR_DOMAIN_QEMU_MONITOR_COMMAND_DEFAULT = 0,
+    VIR_DOMAIN_QEMU_MONITOR_COMMAND_DEFAULT = 0, /* (Since: v1.0.0) */
     VIR_DOMAIN_QEMU_MONITOR_COMMAND_HMP     = (1 << 0), /* cmd is in HMP (Since: v1.0.0) */
 } virDomainQemuMonitorCommandFlags;
 
@@ -63,11 +63,11 @@ virDomainPtr virDomainQemuAttach(virConnectPtr domain,
  *
  */
 typedef enum {
-    VIR_DOMAIN_QEMU_AGENT_COMMAND_MIN = VIR_DOMAIN_AGENT_RESPONSE_TIMEOUT_BLOCK,
-    VIR_DOMAIN_QEMU_AGENT_COMMAND_BLOCK = VIR_DOMAIN_AGENT_RESPONSE_TIMEOUT_BLOCK,
-    VIR_DOMAIN_QEMU_AGENT_COMMAND_DEFAULT = VIR_DOMAIN_AGENT_RESPONSE_TIMEOUT_DEFAULT,
-    VIR_DOMAIN_QEMU_AGENT_COMMAND_NOWAIT = VIR_DOMAIN_AGENT_RESPONSE_TIMEOUT_NOWAIT,
-    VIR_DOMAIN_QEMU_AGENT_COMMAND_SHUTDOWN = 60,
+    VIR_DOMAIN_QEMU_AGENT_COMMAND_MIN = VIR_DOMAIN_AGENT_RESPONSE_TIMEOUT_BLOCK, /* (Since: v1.0.0) */
+    VIR_DOMAIN_QEMU_AGENT_COMMAND_BLOCK = VIR_DOMAIN_AGENT_RESPONSE_TIMEOUT_BLOCK, /* (Since: v1.0.0) */
+    VIR_DOMAIN_QEMU_AGENT_COMMAND_DEFAULT = VIR_DOMAIN_AGENT_RESPONSE_TIMEOUT_DEFAULT, /* (Since: v1.0.0) */
+    VIR_DOMAIN_QEMU_AGENT_COMMAND_NOWAIT = VIR_DOMAIN_AGENT_RESPONSE_TIMEOUT_NOWAIT, /* (Since: v1.0.0) */
+    VIR_DOMAIN_QEMU_AGENT_COMMAND_SHUTDOWN = 60, /* (Since: v1.2.15) */
 } virDomainQemuAgentCommandTimeoutValues;
 
 char *virDomainQemuAgentCommand(virDomainPtr domain, const char *cmd,
diff --git a/include/libvirt/libvirt-secret.h b/include/libvirt/libvirt-secret.h
index a33cbc8779..7fe73dbc5c 100644
--- a/include/libvirt/libvirt-secret.h
+++ b/include/libvirt/libvirt-secret.h
@@ -54,12 +54,12 @@ typedef virSecret *virSecretPtr;
  *
  */
 typedef enum {
-    VIR_SECRET_USAGE_TYPE_NONE = 0,
-    VIR_SECRET_USAGE_TYPE_VOLUME = 1,
-    VIR_SECRET_USAGE_TYPE_CEPH = 2,
-    VIR_SECRET_USAGE_TYPE_ISCSI = 3,
-    VIR_SECRET_USAGE_TYPE_TLS = 4,
-    VIR_SECRET_USAGE_TYPE_VTPM = 5,
+    VIR_SECRET_USAGE_TYPE_NONE = 0, /* (Since: v1.0.0) */
+    VIR_SECRET_USAGE_TYPE_VOLUME = 1, /* (Since: v1.0.0) */
+    VIR_SECRET_USAGE_TYPE_CEPH = 2, /* (Since: v1.0.0) */
+    VIR_SECRET_USAGE_TYPE_ISCSI = 3, /* (Since: v1.0.4) */
+    VIR_SECRET_USAGE_TYPE_TLS = 4, /* (Since: v2.3.0) */
+    VIR_SECRET_USAGE_TYPE_VTPM = 5, /* (Since: v5.6.0) */
 
 # ifdef VIR_ENUM_SENTINELS
     VIR_SECRET_USAGE_TYPE_LAST
@@ -67,6 +67,8 @@ typedef enum {
      * NB: this enum value will increase over time as new usage types are
      * added to the libvirt API. It reflects the last usage type supported
      * by this version of the libvirt API.
+     *
+     * Since: v1.0.0
      */
 # endif
 } virSecretUsageType;
@@ -89,12 +91,12 @@ int                     virConnectListSecrets   (virConnectPtr conn,
 typedef enum {
     VIR_CONNECT_LIST_SECRETS_EPHEMERAL    = 1 << 0, /* kept in memory, never
                                                        stored persistently (Since: v1.0.0) */
-    VIR_CONNECT_LIST_SECRETS_NO_EPHEMERAL = 1 << 1,
+    VIR_CONNECT_LIST_SECRETS_NO_EPHEMERAL = 1 << 1, /* (Since: v1.0.0) */
 
     VIR_CONNECT_LIST_SECRETS_PRIVATE      = 1 << 2, /* not revealed to any caller
                                                        of libvirt, nor to any other
                                                        node (Since: v1.0.0) */
-    VIR_CONNECT_LIST_SECRETS_NO_PRIVATE   = 1 << 3,
+    VIR_CONNECT_LIST_SECRETS_NO_PRIVATE   = 1 << 3, /* (Since: v1.0.0) */
 } virConnectListAllSecretsFlags;
 
 int                     virConnectListAllSecrets(virConnectPtr conn,
@@ -170,6 +172,8 @@ typedef enum {
      * NB: this enum value will increase over time as new events are
      * added to the libvirt API. It reflects the last event ID supported
      * by this version of the libvirt API.
+     *
+     * Since: v3.0.0
      */
 # endif
 } virSecretEventID;
@@ -214,11 +218,11 @@ int virConnectSecretEventDeregisterAny(virConnectPtr conn,
  *
  */
 typedef enum {
-    VIR_SECRET_EVENT_DEFINED = 0,
-    VIR_SECRET_EVENT_UNDEFINED = 1,
+    VIR_SECRET_EVENT_DEFINED = 0, /* (Since: v3.0.0) */
+    VIR_SECRET_EVENT_UNDEFINED = 1, /* (Since: v3.0.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_SECRET_EVENT_LAST
+    VIR_SECRET_EVENT_LAST /* (Since: v3.0.0) */
 # endif
 } virSecretEventLifecycleType;
 
diff --git a/include/libvirt/libvirt-storage.h b/include/libvirt/libvirt-storage.h
index 3ce8ca92d6..9a0439f348 100644
--- a/include/libvirt/libvirt-storage.h
+++ b/include/libvirt/libvirt-storage.h
@@ -64,7 +64,7 @@ typedef enum {
     VIR_STORAGE_POOL_INACCESSIBLE = 4, /* Running, but not accessible (Since: v1.0.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_STORAGE_POOL_STATE_LAST
+    VIR_STORAGE_POOL_STATE_LAST /* (Since: v1.0.0) */
 # endif
 } virStoragePoolState;
 
@@ -185,7 +185,7 @@ typedef enum {
     VIR_STORAGE_VOL_PLOOP = 5,    /* Ploop based volumes (Since: v1.3.4) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_STORAGE_VOL_LAST
+    VIR_STORAGE_VOL_LAST /* (Since: v1.0.0) */
 # endif
 } virStorageVolType;
 
@@ -235,6 +235,8 @@ typedef enum {
      * NB: this enum value will increase over time as new algorithms are
      * added to the libvirt API. It reflects the last algorithm supported
      * by this version of the libvirt API.
+     *
+     * Since: v1.0.0
      */
 # endif
 } virStorageVolWipeAlgorithm;
@@ -457,7 +459,7 @@ const char*             virStorageVolGetKey             (virStorageVolPtr vol);
  *
  */
 typedef enum {
-    VIR_STORAGE_VOL_CREATE_PREALLOC_METADATA = 1 << 0,
+    VIR_STORAGE_VOL_CREATE_PREALLOC_METADATA = 1 << 0, /* (Since: v1.0.1) */
     VIR_STORAGE_VOL_CREATE_REFLINK = 1 << 1, /* perform a btrfs lightweight copy (Since: v1.2.13) */
 } virStorageVolCreateFlags;
 
@@ -569,6 +571,8 @@ typedef enum {
      * NB: this enum value will increase over time as new events are
      * added to the libvirt API. It reflects the last event ID supported
      * by this version of the libvirt API.
+     *
+     * Since: v2.0.0
      */
 # endif
 } virStoragePoolEventID;
@@ -613,15 +617,15 @@ int virConnectStoragePoolEventDeregisterAny(virConnectPtr conn,
  *
  */
 typedef enum {
-    VIR_STORAGE_POOL_EVENT_DEFINED = 0,
-    VIR_STORAGE_POOL_EVENT_UNDEFINED = 1,
-    VIR_STORAGE_POOL_EVENT_STARTED = 2,
-    VIR_STORAGE_POOL_EVENT_STOPPED = 3,
-    VIR_STORAGE_POOL_EVENT_CREATED = 4,
-    VIR_STORAGE_POOL_EVENT_DELETED = 5,
+    VIR_STORAGE_POOL_EVENT_DEFINED = 0, /* (Since: v2.0.0) */
+    VIR_STORAGE_POOL_EVENT_UNDEFINED = 1, /* (Since: v2.0.0) */
+    VIR_STORAGE_POOL_EVENT_STARTED = 2, /* (Since: v2.0.0) */
+    VIR_STORAGE_POOL_EVENT_STOPPED = 3, /* (Since: v2.0.0) */
+    VIR_STORAGE_POOL_EVENT_CREATED = 4, /* (Since: v3.8.0) */
+    VIR_STORAGE_POOL_EVENT_DELETED = 5, /* (Since: v3.8.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_STORAGE_POOL_EVENT_LAST
+    VIR_STORAGE_POOL_EVENT_LAST /* (Since: v2.0.0) */
 # endif
 } virStoragePoolEventLifecycleType;
 
diff --git a/include/libvirt/libvirt-stream.h b/include/libvirt/libvirt-stream.h
index 1850b06684..9c72b79806 100644
--- a/include/libvirt/libvirt-stream.h
+++ b/include/libvirt/libvirt-stream.h
@@ -35,7 +35,7 @@
  *
  */
 typedef enum {
-    VIR_STREAM_NONBLOCK = (1 << 0),
+    VIR_STREAM_NONBLOCK = (1 << 0), /* (Since: v1.0.0) */
 } virStreamFlags;
 
 virStreamPtr virStreamNew(virConnectPtr conn,
@@ -57,7 +57,7 @@ int virStreamRecv(virStreamPtr st,
  *
  */
 typedef enum {
-    VIR_STREAM_RECV_STOP_AT_HOLE = (1 << 0),
+    VIR_STREAM_RECV_STOP_AT_HOLE = (1 << 0), /* (Since: v3.4.0) */
 } virStreamRecvFlagsValues;
 
 int virStreamRecvFlags(virStreamPtr st,
@@ -263,10 +263,10 @@ int virStreamSparseRecvAll(virStreamPtr stream,
  *
  */
 typedef enum {
-    VIR_STREAM_EVENT_READABLE  = (1 << 0),
-    VIR_STREAM_EVENT_WRITABLE  = (1 << 1),
-    VIR_STREAM_EVENT_ERROR     = (1 << 2),
-    VIR_STREAM_EVENT_HANGUP    = (1 << 3),
+    VIR_STREAM_EVENT_READABLE  = (1 << 0), /* (Since: v1.0.0) */
+    VIR_STREAM_EVENT_WRITABLE  = (1 << 1), /* (Since: v1.0.0) */
+    VIR_STREAM_EVENT_ERROR     = (1 << 2), /* (Since: v1.0.0) */
+    VIR_STREAM_EVENT_HANGUP    = (1 << 3), /* (Since: v1.0.0) */
 } virStreamEventType;
 
 
diff --git a/include/libvirt/virterror.h b/include/libvirt/virterror.h
index aa47d59ba1..79ed8006d8 100644
--- a/include/libvirt/virterror.h
+++ b/include/libvirt/virterror.h
@@ -39,7 +39,7 @@ extern "C" {
  *
  */
 typedef enum {
-    VIR_ERR_NONE = 0,
+    VIR_ERR_NONE = 0, /* (Since: v1.0.0) */
     VIR_ERR_WARNING = 1,        /* A simple warning (Since: v1.0.0) */
     VIR_ERR_ERROR = 2           /* An error (Since: v1.0.0) */
 } virErrorLevel;
@@ -54,7 +54,7 @@ typedef enum {
  *
  */
 typedef enum {
-    VIR_FROM_NONE = 0,
+    VIR_FROM_NONE = 0,          /* (Since: v1.0.0) */
     VIR_FROM_XEN = 1,           /* Error at Xen hypervisor layer (Since: v1.0.0) */
     VIR_FROM_XEND = 2,          /* Error at connection with xend daemon (Since: v1.0.0) */
     VIR_FROM_XENSTORE = 3,      /* Error at connection with xen store (Since: v1.0.0) */
@@ -145,7 +145,7 @@ typedef enum {
     VIR_FROM_CH = 72,           /* Error from Cloud-Hypervisor driver (Since: v7.5.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_ERR_DOMAIN_LAST
+    VIR_ERR_DOMAIN_LAST /* (Since: v1.0.0) */
 # endif
 } virErrorDomain;
 
@@ -226,7 +226,7 @@ struct _virError {
  *
  */
 typedef enum {
-    VIR_ERR_OK = 0,
+    VIR_ERR_OK = 0, /* (Since: v1.0.0) */
     VIR_ERR_INTERNAL_ERROR = 1,         /* internal error (Since: v1.0.0) */
     VIR_ERR_NO_MEMORY = 2,              /* memory allocation failure (Since: v1.0.0) */
     VIR_ERR_NO_SUPPORT = 3,             /* no support for this function (Since: v1.0.0) */
@@ -297,7 +297,7 @@ typedef enum {
     VIR_WAR_NO_NWFILTER = 60,           /* failed to start nwfilter driver (Since: v1.0.0) */
     VIR_ERR_INVALID_NWFILTER = 61,      /* invalid nwfilter object (Since: v1.0.0) */
     VIR_ERR_NO_NWFILTER = 62,           /* nw filter pool not found (Since: v1.0.0) */
-    VIR_ERR_BUILD_FIREWALL = 63,        /* nw filter pool not found */
+    VIR_ERR_BUILD_FIREWALL = 63,        /* nw filter pool not found (Since: v1.0.0) */
     VIR_WAR_NO_SECRET = 64,             /* failed to start secret storage (Since: v1.0.0) */
     VIR_ERR_INVALID_SECRET = 65,        /* invalid secret (Since: v1.0.0) */
     VIR_ERR_NO_SECRET = 66,             /* secret not found (Since: v1.0.0) */
@@ -356,7 +356,7 @@ typedef enum {
     VIR_ERR_MULTIPLE_DOMAINS = 110,     /* more than one matching domain found (Since: v7.1.0) */
 
 # ifdef VIR_ENUM_SENTINELS
-    VIR_ERR_NUMBER_LAST
+    VIR_ERR_NUMBER_LAST /* (Since: v5.0.0) */
 # endif
 } virErrorNumber;
 
-- 
2.35.1



More information about the libvir-list mailing list