On Fri, Aug 14, 2026 at 13:47:47 +0200, Michal Privoznik via Devel wrote:
> From: Michal Privoznik <[email protected]>
> 
> QEMU guest agent has 'guest-get-devices` command, which returns
> information on guest devices (driver name, version, release date,
> and so on). In this commit the public API part is introduced.
> 
> Signed-off-by: Michal Privoznik <[email protected]>
> ---
>  include/libvirt/libvirt-domain.h | 78 ++++++++++++++++++++++++++++++++
>  src/libvirt-domain.c             |  5 ++
>  2 files changed, 83 insertions(+)
> 
> diff --git a/include/libvirt/libvirt-domain.h 
> b/include/libvirt/libvirt-domain.h
> index f4dfe9fb1a..874fc4b455 100644
> --- a/include/libvirt/libvirt-domain.h
> +++ b/include/libvirt/libvirt-domain.h
> @@ -8867,6 +8867,83 @@ int virDomainSetLaunchSecurityState(virDomainPtr 
> domain,
>   */
>  # define VIR_DOMAIN_GUEST_INFO_LOAD_15M "load.15m"
>  
> +/**
> + * VIR_DOMAIN_GUEST_INFO_DEVICE_COUNT:
> + *
> + * The number of guest devices that detailed information is fetched for as
> + * unsigned int.
> + *
> + * Since: 12.7.0
> + */
> +# define VIR_DOMAIN_GUEST_INFO_DEVICE_COUNT "device.count"
> +
> +/**
> + * VIR_DOMAIN_GUEST_INFO_DEVICE_PREFIX:
> + *
> + * The parameter name prefix to access each device entry. Concatenate the
> + * prefix, the entry number formatted as an unsigned integer and one of the
> + * device suffix parameters to form a complete parameter name.
> + *
> + * Since: 12.7.0
> + */
> +# define VIR_DOMAIN_GUEST_INFO_DEVICE_PREFIX "device."
> +
> +/**
> + * VIR_DOMAIN_GUEST_INFO_DEVICE_SUFFIX_DRIVER_NAME:
> + *
> + * Name of the device driver (e.g. ``VirtIO Balloon Driver``) as a string.
> + *
> + * Since: 12.7.0
> + */
> +# define VIR_DOMAIN_GUEST_INFO_DEVICE_SUFFIX_DRIVER_NAME ".driverName"
> +
> +/**
> + * VIR_DOMAIN_GUEST_INFO_DEVICE_SUFFIX_DRIVER_DATE:
> + *
> + * Driver release date in seconds since the epoch (e.g. 1736726400000) as 
> long long.

The example number seems to be in milliseconds (13 january 2025).
QEMU documents the passed value as nanoseconds.
You document it as seconds.

So, which one is it? :D


> + *
> + * Since: 12.7.0
> + */
> +# define VIR_DOMAIN_GUEST_INFO_DEVICE_SUFFIX_DRIVER_DATE ".driverDate"
> +
> +/**
> + * VIR_DOMAIN_GUEST_INFO_DEVICE_SUFFIX_DRIVER_VERSION:
> + *
> + * Driver version (e.g. ``100.100.104.27100``) as a string.
> + *
> + * Since: 12.7.0
> + */
> +# define VIR_DOMAIN_GUEST_INFO_DEVICE_SUFFIX_DRIVER_VERSION ".driverVersion"
> +
> +/**
> + * VIR_DOMAIN_GUEST_INFO_DEVICE_SUFFIX_ID_TYPE:
> + *
> + * Device identification (e.g. ``pci``) as a string.
> + *
> + * Since: 12.7.0
> + */
> +# define VIR_DOMAIN_GUEST_INFO_DEVICE_SUFFIX_ID_TYPE ".idType"
> +
> +/**
> + * VIR_DOMAIN_GUEST_INFO_DEVICE_SUFFIX_PCI_VENDOR:
> + *
> + * PCI device (a device with VIR_DOMAIN_GUEST_INFO_DEVICE_SUFFIX_ID_TYPE 
> equal
> + * to ``pci``) vendor id (e.g. 6900) as a unsigned int.
> + *
> + * Since: 12.7.0
> + */
> +# define VIR_DOMAIN_GUEST_INFO_DEVICE_SUFFIX_PCI_VENDOR ".pciVendor"
> +
> +/**
> + * VIR_DOMAIN_GUEST_INFO_DEVICE_SUFFIX_PCI_DEVICE:
> + *
> + * PCI device (a device with VIR_DOMAIN_GUEST_INFO_DEVICE_SUFFIX_ID_TYPE 
> equal
> + * to ``pci``) device id (e.g. 4165) as a unsigned int.
> + *
> + * Since: 12.7.0
> + */
> +# define VIR_DOMAIN_GUEST_INFO_DEVICE_SUFFIX_PCI_DEVICE ".pciDevice"

Here it's okay since it's numeric, but in virsh we'll have to explicitly
document that this is not in the usual hexadecimal format.

Reply via email to