Libvirt provides a portable, long term stable C API for managing the virtualization technologies provided by many operating systems. It includes support for QEMU, KVM, Xen, LXC, bhyve, Virtuozzo, VMware vCenter and ESX, VMware Desktop, Hyper-V, VirtualBox and the POWER Hypervisor.
Go to file
Daniel P. Berrange 11573f3ec1 Helper functions for processing data streams in libvirtd
Defines the extensions to the remote protocol for generic
data streams. Adds a bunch of helper code to the libvirtd
daemon for working with data streams.

* daemon/Makefile.am: Add stream.c/stream.h to build
* daemon/stream.c, qemud/stream.h: Generic helper functions for
  creating new streams, associating streams with clients, finding
  existing streams for a client and removing/deleting streams.
* src/remote/remote_protocol.x: Add a new 'REMOTE_STREAM' constant
  for the 'enum remote_message_type' for encoding stream data
  in wire messages. Add a new 'REMOTE_CONTINUE' constant to
  'enum remote_message_status' to indicate further data stream
  messsages are expected to follow.  Document how the
  remote_message_header is used to encode data streams
* src/remote/remote_protocol.h: Regenerate
* daemon/dispatch.c: Remove assumption that a error message
  sent to client is always type=REMOTE_REPLY. It may now
  also be type=REMOTE_STREAM. Add convenient method for
  sending outgoing stream data packets. Log and ignore
  non-filtered incoming stream packets. Add a method for
  serializing a stream error message
* daemon/dispatch.h:  Add API for serializing stream errors
  and sending stream data packets
* daemon/qemud.h: Add struct qemud_client_stream for tracking
  active data streams for clients. Tweak filter function
  operation so that it accepts a client object too.
* daemon/qemud.c: Refactor code for free'ing message objects
  which have been fully transmitted into separate method.
  Release all active streams when client shuts down. Change
  filter function to be responsible for queueing the message
2009-09-29 15:48:58 +01:00
.gnulib@28db629d4f build: update gnulib submodule to latest 2009-09-09 12:11:29 +02:00
build-aux generate ChangeLog from git logs into distribution tarball 2009-07-08 16:17:51 +02:00
daemon Helper functions for processing data streams in libvirtd 2009-09-29 15:48:58 +01:00
docs Add public API definition for data stream handling 2009-09-29 15:48:52 +01:00
examples Move example XML files into examples/xml 2009-09-21 14:41:48 +01:00
include Add public API definition for data stream handling 2009-09-29 15:48:52 +01:00
m4 remove all .cvsignore files 2009-07-08 16:17:51 +02:00
po Pull QEMU monitor interaction out to separate file 2009-09-29 11:47:05 +01:00
proxy Introduce virStrncpy. 2009-09-22 20:10:00 +02:00
python Add public API definition for data stream handling 2009-09-29 15:48:52 +01:00
src Helper functions for processing data streams in libvirtd 2009-09-29 15:48:58 +01:00
tests ESX add esxDomainDefineXML() 2009-09-23 15:00:54 +02:00
tools Avoid double free in errors in virsh 2009-09-29 13:46:45 +02:00
.gitignore build: automatically rerun ./bootstrap when needed 2009-07-10 13:39:28 +02:00
.gitmodules make .gnulib a submodule 2009-07-08 16:17:51 +02:00
.hgignore Add qemuhelptest to .*ignore files 2009-06-16 14:06:48 +00:00
.x-sc_avoid_ctype_macros exempt gnulib from ctype-macros prohibition 2008-10-28 17:36:31 +00:00
.x-sc_avoid_if_before_free avoid a "make syntax-check" failure 2009-07-09 20:00:37 +02:00
.x-sc_avoid_write Add public API definition for data stream handling 2009-09-29 15:48:52 +01:00
.x-sc_m4_quote_check syntax-check: enable more checks 2009-02-03 13:08:36 +00:00
.x-sc_prohibit_asprintf add .x-sc_prohibit_asprintf 2008-12-23 13:40:42 +00:00
.x-sc_prohibit_gethostby add more files pulled in via yesterday's gnulib upgrade 2009-01-07 17:11:02 +00:00
.x-sc_prohibit_have_config_h maint: sync from coreutils 2009-01-29 18:06:19 +00:00
.x-sc_prohibit_HAVE_MBRTOWC maint: sync from coreutils 2009-01-29 18:06:19 +00:00
.x-sc_prohibit_nonreentrant Misc syntax-check fixes 2009-09-21 14:41:47 +01:00
.x-sc_prohibit_strcmp exempt gnulib/ from "make syntax-check" strcmp prohibition 2008-05-14 21:18:27 +00:00
.x-sc_prohibit_strcmp_and_strncmp Prepare to use maint.mk from gnulib 2009-07-08 16:17:51 +02:00
.x-sc_prohibit_strncpy Fix up "make syntax-check" after the tree restructuring. 2009-09-23 14:58:13 +02:00
.x-sc_prohibit_VIR_ERR_NO_MEMORY Misc syntax-check fixes 2009-09-21 14:41:47 +01:00
.x-sc_require_config_h Misc syntax-check fixes 2009-09-21 14:41:47 +01:00
.x-sc_require_config_h_first Misc syntax-check fixes 2009-09-21 14:41:47 +01:00
.x-sc_trailing_blank build: exempt *.ico files from the trailing blank check 2008-10-16 13:28:07 +00:00
acinclude.m4 remove all trailing blank lines 2009-07-16 15:06:42 +02:00
AUTHORS Fix cdub's surname spelling 2009-09-24 14:50:51 +01:00
autobuild.sh Enable ESX driver build on Mingw32 2009-07-31 16:15:51 +01:00
autogen.sh build: automatically rerun ./bootstrap when needed 2009-07-10 13:39:28 +02:00
bootstrap Local file implementation of secret driver API 2009-09-11 14:54:46 +01:00
cfg.mk Fix up "make syntax-check" after the tree restructuring. 2009-09-23 14:58:13 +02:00
ChangeLog-old generate ChangeLog from git logs into distribution tarball 2009-07-08 16:17:51 +02:00
configure.in Move docs/examples into examples/ 2009-09-21 14:41:46 +01:00
COPYING.LIB remove all trailing blank lines 2009-07-16 15:06:42 +02:00
HACKING Introduce virStrncpy. 2009-09-22 20:10:00 +02:00
libvirt.pc.in * libvirt.pc.in: applied patch from Daniel Berrange to fix --cflags 2006-03-24 13:18:12 +00:00
libvirt.spec.in Don't require full daemon install for libvirt python bindings 2009-09-28 14:14:43 +01:00
Makefile.am Move example XML files into examples/xml 2009-09-21 14:41:48 +01:00
Makefile.nonreentrant syntax-check: enable prohibit_nonreentrant 2009-02-05 16:28:41 +00:00
mingw32-libvirt.spec.in Make pki_check.sh into an installed & supported tool 2009-09-21 14:41:46 +01:00
NEWS More whitespace problems 2009-09-15 14:31:59 +02:00
README Correct typos in the documentation (Atsushi SAKAI) 2008-01-24 10:15:13 +00:00
README-hacking build: automatically rerun ./bootstrap when needed 2009-07-10 13:39:28 +02:00
TODO Remove all trailing blanks; turn on the rule to detect them. 2008-02-05 19:27:37 +00:00

         LibVirt : simple API for virtualization

  Libvirt is a C toolkit to interact with the virtualization capabilities
of recent versions of Linux (and other OSes). It is free software
available under the GNU Lesser General Public License. Virtualization of
the Linux Operating System means the ability to run multiple instances of
Operating Systems concurrently on a single hardware system where the basic
resources are driven by a Linux instance. The library aim at providing
long term stable C API initially for the Xen paravirtualization but
should be able to integrate other virtualization mechanisms if needed.

Daniel Veillard <veillard@redhat.com>