[libvirt] [PATCH 3/6] Introduce virDomainGetControlInfo API
Daniel Veillard
veillard at redhat.com
Mon Jun 13 08:20:50 UTC 2011
On Tue, Jun 07, 2011 at 03:01:57PM +0200, Jiri Denemark wrote:
> The API can be used to query current state of an interface to VMM used
> to control a domain. In QEMU world this translates into monitor
> connection.
[...]
> diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
> index df213f1..1454ca0 100644
> --- a/include/libvirt/libvirt.h.in
> +++ b/include/libvirt/libvirt.h.in
> @@ -141,6 +141,43 @@ typedef enum {
> VIR_DOMAIN_CRASHED_UNKNOWN = 0, /* crashed for unknown reason */
> } virDomainCrashedReason;
>
> +
> +/**
> + * virDomainControlState:
> + *
> + * Current state of a control interface to the domain.
> + */
> +typedef enum {
> + VIR_DOMAIN_CONTROL_OK = 0, /* operational, ready to accept commands */
> + VIR_DOMAIN_CONTROL_JOB = 1, /* background job is running (can be
> + monitored by virDomainGetJobInfo); only
> + limited set of commands may be allowed */
> + VIR_DOMAIN_CONTROL_OCCUPIED = 2, /* occupied by a running command */
> + VIR_DOMAIN_CONTROL_ERROR = 3, /* unusable, domain cannot be fully operated */
> +} virDomainControlState;
> +
> +/**
> + * virDomainControlInfo:
> + *
> + * Structure filled in by virDomainGetControlInfo and providing details about
> + * current state of control interface to a domain.
> + */
> +typedef struct _virDomainControlInfo virDomainControlInfo;
> +struct _virDomainControlInfo {
> + unsigned int state; /* control state, one of virDomainControlState */
> + unsigned int details; /* state details, currently 0 */
> + unsigned long long stateTime; /* for how long (in msec) control interface
> + has been in current state (except for OK
> + and ERROR states) */
> +};
> +
> +/**
> + * virDomainControlInfoPtr:
> + *
> + * Pointer to virDomainControlInfo structure.
> + */
> +typedef virDomainControlInfo *virDomainControlInfoPtr;
> +
> /**
> * virDomainModificationImpact:
> *
> @@ -781,6 +818,9 @@ int virDomainGetState (virDomainPtr domain,
> int *state,
> int *reason,
> unsigned int flags);
> +int virDomainGetControlInfo (virDomainPtr domain,
> + virDomainControlInfoPtr info,
> + unsigned int flags);
>
that's really the "meat" of that patchset, it looks fine, ACK from me
but since you intent a v2 don't commit right now :-)
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel at veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
More information about the libvir-list
mailing list