On Wed, May 25, 2011 at 05:37:49PM +0800, Lai Jiangshan wrote: > Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxx> > --- > 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 :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list