[libvirt] [PATCH 07/13] send-key: Implementing the public API
Daniel P. Berrange
berrange at redhat.com
Wed May 25 20:23:57 UTC 2011
On Wed, May 25, 2011 at 05:37:49PM +0800, Lai Jiangshan wrote:
> Signed-off-by: Lai Jiangshan <laijs at fujitsu.com>
> ---
> src/libvirt.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 files changed, 54 insertions(+), 0 deletions(-)
>
> diff --git a/src/libvirt.c b/src/libvirt.c
> index ff16c48..8246975 100644
> --- a/src/libvirt.c
> +++ b/src/libvirt.c
> @@ -6080,6 +6080,60 @@ error:
> }
>
> /**
> + * virDomainSendKey:
> + * @domain: pointer to domain object, or NULL for Domain0
> + * @codeset: the code set of keycodes
> + * @holdtime: the time (in millsecond) how long the keys will be held
> + * @nkeycodes: number of keycodes
> + * @keycodes: array of keycodes
> + * @flags: the flags for controlling behavior, pass 0 for now
> + *
> + * Send key to the guest
> + *
> + * Returns 0 in case of success, -1 in case of failure.
> + */
> +
> +int virDomainSendKey(virDomainPtr domain,
> + unsigned int codeset,
> + unsigned int holdtime,
> + unsigned int nkeycodes,
> + unsigned int *keycodes,
> + unsigned int flags)
> +{
> + virConnectPtr conn;
> + VIR_DOMAIN_DEBUG(domain, "flags=%u", flags);
Should include the other parameters in this debug message too
> +
> + virResetLastError();
> +
> + if (!VIR_IS_CONNECTED_DOMAIN(domain)) {
> + virLibDomainError(VIR_ERR_INVALID_DOMAIN, __FUNCTION__);
> + virDispatchError(NULL);
> + return -1;
> + }
> + if (domain->conn->flags & VIR_CONNECT_RO) {
> + virLibDomainError(VIR_ERR_OPERATION_DENIED, __FUNCTION__);
> + goto error;
> + }
> +
> + conn = domain->conn;
> +
> + if (conn->driver->domainSendKey) {
> + int ret;
> + ret = conn->driver->domainSendKey(domain, codeset, holdtime,
> + nkeycodes, keycodes, flags);
> + if (ret < 0)
> + goto error;
> + return ret;
> + }
> +
> + virLibConnError (VIR_ERR_NO_SUPPORT, __FUNCTION__);
> +
> +error:
> + virDispatchError(domain->conn);
> + return -1;
> +}
> +
> +/**
> * virDomainSetVcpus:
> * @domain: pointer to domain object, or NULL for Domain0
> * @nvcpus: the new number of virtual CPUs for this domain
ACK, pending the changes suggest to the public API signature
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list