1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-08-23 05:50:03 +03:00

Compare commits

..

30 Commits

Author SHA1 Message Date
5fe8d8b3ff Fixing generation, Daniel 2006-02-09 18:03:54 +00:00
8c423e6c83 * //* : renamed the project libvirt , this affects all makefiles,
the specs, the icons, the docs, etc ...
* configure.in: prepare for 0.0.3
Daniel
2006-02-09 17:45:11 +00:00
1c40364403 fixing an error pointed by sct, Daniel 2006-02-03 16:51:36 +00:00
17202ea686 fix visrh "save" cmd 2006-02-03 14:49:41 +00:00
7871d455b3 * configure.in docs/examples/*: starting to add examples. the XSLT
still need to be fixed for web site
Daniel
2006-01-31 18:13:27 +00:00
b6022c2ad3 * python/*: update of the python bindings, fix names, add
missing features like list of domains and domain info extraction
Daniel
2006-01-31 10:24:12 +00:00
ca586e5a80 Release of 0.0.2, daniel 2006-01-31 10:21:10 +00:00
3afad0b2f0 * NEWS docs/news.xsl: added stylesheet to generate NEWS file
* docs/*: updated docs preparing for the release
Daniel
2006-01-29 10:56:15 +00:00
eece06a14f * docs/site.xsl docs/*.html: credits to Diana Fong for graphics
and web site design
Daniel
2006-01-29 08:52:59 +00:00
e9736c7d92 * python/libvir.c: fix a stupid bug in python bindings (DomainDestroy
is still mishandled though)
Daniel
2006-01-28 20:24:55 +00:00
b259e6be88 * src/libvir.c src/xml.c: applied patch from Anthony Liguori
to remove the XenStore transactions as this is not needed
  anymore.
Daniel
2006-01-27 08:59:42 +00:00
b2764c3d94 * TODO: updated
* docs/search.php: use the new web site design
* python/generator.py: fix a generation bug on python keyword
Daniel
2006-01-26 12:11:32 +00:00
b64c353863 add xshandle checks, fix virsh grammar 2006-01-25 09:46:22 +00:00
41e990528a * src/libvir.c: Karel pointed out handle was lost in
virConnectOpenReadOnly()
Daniel
2006-01-24 13:10:39 +00:00
46202b3705 * docs/site.xsl docs/*.png docs/*.html: update the images from Diana,
added favicon to page.
* src/libvir.c: reorganized the include imports.
Daniel
2006-01-23 22:55:41 +00:00
d0a71d23da * doc/*: augment and try to complete the doc in its current state
Daniel
2006-01-23 13:24:07 +00:00
abd2214b44 Updated and fixed a broken link, Daniel 2006-01-22 17:03:48 +00:00
3333cec207 * doc/*: started to augment and update the documentation
Daniel
2006-01-22 16:27:09 +00:00
ff97523083 * doc//*: mostly finished the revamp in the plane, starts to look good
Daniel
2006-01-21 23:34:36 +00:00
76777c51f7 * doc/* : total revamp of the web site based on Diana Fong design
but not completely integrated yet
Daniel
2006-01-20 15:49:04 +00:00
474e4b8425 * include/libvir.h include/libvir.h.in src/libvir.c: revamped the
restore API (though it would be better if it was returning
  a domain pointer in case of success)
* src/virsh.c: added save and restore to the commands, tested,
  the option handling need work though
Daniel
2006-01-20 10:00:08 +00:00
6e9443aeb1 * src/libvir.c src/xend_internal.c src/xend_internal.h: continue
the integration of more xend based accesses, virsh seems to work
  without accessing the xen store now.
Daniel
2006-01-19 10:23:15 +00:00
563d3d06d0 * src/libvir.c: small change w.r.t. reboot.
Daniel
2006-01-18 18:58:35 +00:00
34dee79f1d * include/libvir.h include/libvir.h.in src/libvir.c: more integration
of libxend capabilities, including checkpointing and restoring
  in a file.
* docs//*: regenerated the docs
Daniel
2006-01-18 10:37:08 +00:00
dc08f2d858 oops removing a debug warning, Daniel 2006-01-17 16:57:17 +00:00
f7e03b9312 * include/libvir.h[.in]: added VIR_DOMAIN_CRASHED status, small
doc fix
* src/virsh.c: fix a integer being formatted as %s in idof
* src/internal.h src/libvir.c src/xend_internal.[ch]: started to
  integrated the xend back-end, especially for getting informations
  about a domain.
Daniel
2006-01-17 16:56:17 +00:00
c568ebea25 * include/libvir.h.in include/libvir.h src/internal.h src/libvir.c
src/xend_internal.c src/xend_internal.h: starting to plug the
  xend code in, replacing structures mostly, but not finished.
Daniel
2006-01-13 16:41:01 +00:00
fe64a1d852 * src/Makefile.am src/xend_internal.c src/xend_internal.h:
added more of Anthony Liquori libxend code, commented and reformatted
  this still need to be plugged, it's still dead code ATM.
Daniel
2006-01-12 15:38:07 +00:00
f18b6c0ec6 * docs/libvir.html: grammatical fix
* src/Makefile.am src/sexpr.c src/sexpr.h: starting to integrate
  Anthony Liquori libxend code
* src/libvir.c: fix an uninitialized value
Daniel
2006-01-11 13:58:32 +00:00
2b019dd2f7 * docs/architecture.* docs/*: added a section on the architecture
and regenerated the docs.
Daniel
2005-12-21 16:59:34 +00:00
79 changed files with 7948 additions and 2468 deletions

144
ChangeLog
View File

@ -1,3 +1,147 @@
Wed Feb 8 11:43:43 EST 2006 Daniel Veillard <veillard@redhat.com>
* //* : renamed the project libvirt , this affects all makefiles,
the specs, the icons, the docs, etc ...
* configure.in: prepare for 0.0.3
Fri Feb 3 15:47:32 CET 2006 Karel Zak <kzak@redhat.com>
* src/virsh.c: fix order of the save command options
Tue Jan 31 19:12:19 CET 2006 Daniel Veillard <veillard@redhat.com>
* configure.in docs/examples/*: starting to add examples. the XSLT
still need to be fixed for web site
Tue Jan 31 11:22:51 CET 2006 Daniel Veillard <veillard@redhat.com>
* python/*: update of the python bindings, fix names, add
missing features like list of domains and domain info extraction
Tue Jan 31 11:21:56 CET 2006 Daniel Veillard <veillard@redhat.com>
* configure.in libvir.spec.in NEWS docs/*: commiting the state of 0.0.2
release
Sun Jan 29 11:55:13 CET 2006 Daniel Veillard <veillard@redhat.com>
* NEWS docs/news.xsl: added stylesheet to generate NEWS file
* docs/*: updated docs preparing for the release
Sun Jan 29 09:52:03 CET 2006 Daniel Veillard <veillard@redhat.com>
* docs/site.xsl docs/*.html: credits to Diana Fong for graphics
and web site design
Sat Jan 28 21:24:05 CET 2006 Daniel Veillard <veillard@redhat.com>
* python/libvir.c: fix a stupid bug in python bindings (DomainDestroy
is still mishandled though)
Fri Jan 27 09:58:31 CET 2006 Daniel Veillard <veillard@redhat.com>
* src/libvir.c src/xml.c: applied patch from Anthony Liguori
to remove the XenStore transactions as this is not needed
anymore.
Thu Jan 26 13:10:43 CET 2006 Daniel Veillard <veillard@redhat.com>
* TODO: updated
* docs/search.php: use the new web site design
* python/generator.py: fix a generation bug on python keyword
Tue Jan 24 11:44:53 CET 2006 Karel Zak <kzak@redhat.com>
* src/libvir_sym.version: add virDeomainRestore and virDomainSave
* src/virsh.c: support '=' in options, fix command grammar
* src/libvir.c: add conn->xshandle checks
Tue Jan 24 14:09:37 CET 2006 Daniel Veillard <veillard@redhat.com>
* src/libvir.c: Karel pointed out handle was lost in
virConnectOpenReadOnly()
Mon Jan 23 23:53:07 CET 2006 Daniel Veillard <veillard@redhat.com>
* docs/site.xsl docs/*.png docs/*.html: update the images from Diana,
added favicon to page.
* src/libvir.c: reorganized the include imports.
Mon Jan 23 14:23:16 CET 2006 Daniel Veillard <veillard@redhat.com>
* docs/*: augment and try to complete the doc in its current state
Sun Jan 22 17:26:20 CET 2006 Daniel Veillard <veillard@redhat.com>
* docs/*: started to augment and update the documentation
Sat Jan 21 23:33:46 GMT 2006 Daniel Veillard <veillard@redhat.com>
* docs//*: mostly finished the revamp in the plane, starts to look good
Fri Jan 20 16:48:05 CET 2006 Daniel Veillard <veillard@redhat.com>
* docs/* : total revamp of the web site based on Diana Fong design
but not completely integrated yet
Fri Jan 20 10:57:44 CET 2006 Daniel Veillard <veillard@redhat.com>
* include/libvir.h include/libvir.h.in src/libvir.c: revamped the
restore API (though it would be better if it was returning
a domain pointer in case of success)
* src/virsh.c: added save and restore to the commands, tested,
the option handling need work though
Thu Jan 19 11:21:57 CET 2006 Daniel Veillard <veillard@redhat.com>
* src/libvir.c src/xend_internal.c src/xend_internal.h: continue
the integration of more xend based accesses, virsh seems to work
without accessing the xen store now.
Wed Jan 18 19:57:53 CET 2006 Daniel Veillard <veillard@redhat.com>
* src/libvir.c: small change w.r.t. reboot.
Wed Jan 18 11:32:04 CET 2006 Daniel Veillard <veillard@redhat.com>
* include/libvir.h include/libvir.h.in src/libvir.c: more integration
of libxend capabilities, including checkpointing and restoring
in a file.
* docs//*: regenerated the docs
Tue Jan 17 17:53:43 CET 2006 Daniel Veillard <veillard@redhat.com>
* include/libvir.h[.in]: added VIR_DOMAIN_CRASHED status, small
doc fix
* src/virsh.c: fix a integer being formatted as %s in idof
* src/internal.h src/libvir.c src/xend_internal.[ch]: started to
integrated the xend back-end, especially for getting informations
about a domain.
Fri Jan 13 17:39:24 CET 2006 Daniel Veillard <veillard@redhat.com>
* include/libvir.h.in include/libvir.h src/internal.h src/libvir.c
src/xend_internal.c src/xend_internal.h: starting to plug the
xend code in, replacing structures mostly, but not finished.
Thu Jan 12 16:36:21 CET 2006 Daniel Veillard <veillard@redhat.com>
* src/Makefile.am src/xend_internal.c src/xend_internal.h:
added more of Anthony Liquori libxend code, commented and reformatted
this still need to be plugged, it's still dead code ATM.
Wed Jan 11 14:57:01 CET 2006 Daniel Veillard <veillard@redhat.com>
* docs/libvir.html: grammatical fix
* src/Makefile.am src/sexpr.c src/sexpr.h: starting to integrate
Anthony Liquori libxend code
* src/libvir.c: fix an uninitialized value
Wed Dec 21 17:58:45 CET 2005 Daniel Veillard <veillard@redhat.com>
* docs/architecture.* docs/*: added a section on the architecture
and regenerated the docs.
Mon Dec 19 19:04:11 CET 2005 Daniel Veillard <veillard@redhat.com>
* NEWS docs/libvir.html docs/news.html: preparing 0.0.1 release

View File

@ -2,12 +2,12 @@
SUBDIRS = src include docs @PYTHON_SUBDIR@
EXTRA_DIST = libvir.spec.in libvir.spec COPYING.LIB \
libvir.pc.in libvir.pc TODO AUTHORS ChangeLog \
EXTRA_DIST = libvirt.spec.in libvirt.spec COPYING.LIB \
libvirt.pc.in libvirt.pc TODO AUTHORS ChangeLog \
NEWS README
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libvir.pc
pkgconfig_DATA = libvirt.pc
rpm: clean
@(unset CDPATH ; $(MAKE) dist && rpmbuild -ta $(distdir).tar.gz)

26
NEWS
View File

@ -1,8 +1,22 @@
Mon Dec 19 2005
- first release 0.0.1
Thu Dec 15 2005
- project announced publicly
NEWS file for libvirt
Note that this is automatically generated from the news webpage at:
http://libvirt.org/news.html
Releases
0.0.2: Jan 29 2006:
- Update of the documentation, web site redesign (Diana Fong)
- integration of HTTP xend RPC based on libxend by Anthony Liquori for
most operations
- Adding Save and Restore APIs
- extended the virsh command line tool (Karel Zak)
- remove xenstore transactions (Anthony Liguori)
- fix the Python bindings bug when domain and connections where freed
0.0.1: Dec 19 2005:
- First release
- Basic management of existing Xen domains
- Minimal autogenerated Python bindings
Wed Nov 2 2005
- the very first work was checked in a CVS on veillard.com

12
README
View File

@ -1,7 +1,13 @@
LibVir : simple library to use the Xen hypervisor
LibVirt : simple API for virtualization
As of Wed Nov 2 2005, this is a completely new project, it is not
usable in any way yet.
Libvir is a C toolkit to interract 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 concurently 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>

21
TODO
View File

@ -1,5 +1,24 @@
- nearly everything at this point
Absolute TODOs:
- Create() API, how do we best keep flexibility and allow various
specific environment and space for evolution (VMX)
- thread protection, reentrancy, refcounting, etc ...
- documentation and examples on using the toolkit
- Error API. probably similar to libxml2 structured API
TODO:
- track change of xend API, XML-RPC, UUID based lookup and naming
- API for the Node: extracting informations, selecting scheduling policy
- better resources allocation APIs (%CPU, set memory)
Probable TODOs:
- event on big domain state change (create, crashed, paused, shutdown, destroy)
- bindings for more languages
Would-be-nice TODO:
- man page for virsh and the libraries entry points
- support for QEmu and other virtualization engines
Done:
- make dist and make rpm targets
- set a no public by default policy for libvir symbols
- fix the python bindings

View File

@ -1,11 +1,11 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT(src/libvir.c)
AC_INIT(src/libvirt.c)
AM_CONFIG_HEADER(config.h)
AC_CANONICAL_HOST
LIBVIR_MAJOR_VERSION=0
LIBVIR_MINOR_VERSION=0
LIBVIR_MICRO_VERSION=1
LIBVIR_MICRO_VERSION=3
LIBVIR_MICRO_VERSION_SUFFIX=
LIBVIR_VERSION=$LIBVIR_MAJOR_VERSION.$LIBVIR_MINOR_VERSION.$LIBVIR_MICRO_VERSION$LIBVIR_MICRO_VERSION_SUFFIX
LIBVIR_VERSION_INFO=`expr $LIBVIR_MAJOR_VERSION + $LIBVIR_MINOR_VERSION`:$LIBVIR_MICRO_VERSION:$LIBVIR_MINOR_VERSION
@ -31,7 +31,7 @@ AC_SUBST(LIBVIR_VERSION_EXTRA)
VERSION=${LIBVIR_VERSION}
AM_INIT_AUTOMAKE(libvir, $VERSION)
AM_INIT_AUTOMAKE(libvirt, $VERSION)
dnl Checks for programs.
AC_PROG_CC
@ -191,4 +191,5 @@ fi
rm -f COPYING
AC_OUTPUT(Makefile src/Makefile include/Makefile docs/Makefile \
libvir.pc libvir.spec include/libvir.h python/Makefile)
docs/examples/Makefile \
libvirt.pc libvirt.spec include/libvirt.h python/Makefile)

BIN
docs/16favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

BIN
docs/32favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 783 B

View File

@ -1,239 +1,256 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>API Alphabetic Index A-f for libvir</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>API Alphabetic Index A-f for libvir</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="architecture.html">libvir architecture</a></li><li><a href="libvir.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-f</a>
<a href="APIchunk1.html">g-s</a>
<a href="APIchunk2.html">t-z</a>
</h2><h2>Letter A:</h2><dl><dt>ABI</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>API</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>APIs</dt><dd><a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd></dl><h2>Letter C:</h2><dl><dt>CPU</dt><dd><a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>Collect</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
</dd></dl><h2>Letter D:</h2><dl><dt>Destroy</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
</dd><dt>Domain0</dt><dd><a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>Dynamically</dt><dd><a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd></dl><h2>Letter E:</h2><dl><dt>Extract</dt><dd><a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd></dl><h2>Letter F:</h2><dl><dt>Free</dt><dd><a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
</dd></dl><h2>Letter G:</h2><dl><dt>Get</dt><dd><a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
</dd></dl><h2>Letter H:</h2><dl><dt>Hypervisor</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
</dd></dl><h2>Letter I:</h2><dl><dt>IDs</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
</dd><dt>Informations</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd></dl><h2>Letter K:</h2><dl><dt>KBytes</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd></dl><h2>Letter L:</h2><dl><dt>Launch</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>Linux</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd></dl><h2>Letter M:</h2><dl><dt>Macro</dt><dd><a href="html/libvir-libvir.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
</dd></dl><h2>Letter N:</h2><dl><dt>NOTE:</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>NULL</dt><dd><a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>Note</dt><dd><a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd></dl><h2>Letter O:</h2><dl><dt>OUT</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2>Letter P:</h2><dl><dt>Provide</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>Provides</dt><dd><a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2>Letter R:</h2><dl><dt>Read-Only</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
</dd><dt>Resume</dt><dd><a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
</dd><dt>Retrieve</dt><dd><a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
</dd></dl><h2>Letter S:</h2><dl><dt>Shutdown</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>Suspends</dt><dd><a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd></dl><h2>Letter T:</h2><dl><dt>TODO:</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>This</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>Try</dt><dd><a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd></dl><h2>Letter U:</h2><dl><dt>UTF-8</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>Use</dt><dd><a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd></dl><h2>Letter X:</h2><dl><dt>XML</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>Xen</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2>Letter a:</h2><dl><dt>about</dt><dd><a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>access</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>active</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>add</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>after</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>against</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>alive</dt><dd><a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
</dd><dt>all</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
</dd><dt>allocated</dt><dd><a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>allowed</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>already</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
</dd><dt>amount</dt><dd><a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>application</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>are</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
</dd><dt>argument</dt><dd><a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>array</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
</dd><dt>assumed</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>available</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>availble</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2>Letter b:</h2><dl><dt>back</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>based</dt><dd><a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd><dt>being</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>below</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>but</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd></dl><h2>Letter c:</h2><dl><dt>call</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
</dd><dt>called</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>caller</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>calling</dt><dd><a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
</dd><dt>can</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>capacities</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
</dd><dt>change</dt><dd><a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>changes</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>check</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>clients</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>closes</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
</dd><dt>code</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>collect</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
</dd><dt>command</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>compiled</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>connection</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd><dt>currently</dt><dd><a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd></dl><h2>Letter d:</h2><dl><dt>data</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
</dd><dt>deallocated</dt><dd><a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
</dd><dt>defined</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>description</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>doable</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>does</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
</dd><dt>domains</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
</dd><dt>down</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
</dd></dl><h2>Letter e:</h2><dl><dt>encoded</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>error</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>especially</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
</dd><dt>extracted</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>extraction</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd></dl><h2>Letter f:</h2><dl><dt>failure</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>file</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>find</dt><dd><a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
</dd><dt>first</dt><dd><a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>flags</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>for</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>format</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>found</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
</dd><dt>free</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>freed</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
</dd><dt>from</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
</dd><dt>frozen</dt><dd><a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>full</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>function</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>further</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>API Alphabetic Index A-f for libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">API Alphabetic Index A-f for libvirt</h1><h2 align="center"><a href="APIchunk0.html">A-f</a>
<a href="APIchunk1.html">g-r</a>
<a href="APIchunk2.html">s-z</a>
</h2><h2>Letter A:</h2><dl><dt>ABI</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>API</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>APIs</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>After</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd></dl><h2>Letter C:</h2><dl><dt>CPU</dt><dd><a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>Collect</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
</dd></dl><h2>Letter D:</h2><dl><dt>Destroy</dt><dd><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
</dd><dt>Domain0</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>Dynamically</dt><dd><a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd></dl><h2>Letter E:</h2><dl><dt>Extract</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd></dl><h2>Letter F:</h2><dl><dt>Free</dt><dd><a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
</dd></dl><h2>Letter G:</h2><dl><dt>Get</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
</dd></dl><h2>Letter H:</h2><dl><dt>Hypervisor</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
</dd></dl><h2>Letter I:</h2><dl><dt>IDs</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
</dd><dt>Informations</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
</dd></dl><h2>Letter K:</h2><dl><dt>KBytes</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
</dd></dl><h2>Letter L:</h2><dl><dt>Launch</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>Linux</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd></dl><h2>Letter M:</h2><dl><dt>Macro</dt><dd><a href="html/libvirt-libvirt.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
</dd></dl><h2>Letter N:</h2><dl><dt>NOTE:</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>NULL</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>Note</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd></dl><h2>Letter O:</h2><dl><dt>OUT</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2>Letter P:</h2><dl><dt>Provide</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>Provides</dt><dd><a href="html/libvirt-libvirt.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2>Letter R:</h2><dl><dt>Read-Only</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
</dd><dt>Resume</dt><dd><a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
</dd><dt>Retrieve</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
</dd></dl><h2>Letter S:</h2><dl><dt>Shutdown</dt><dd><a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>Suspends</dt><dd><a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd></dl><h2>Letter T:</h2><dl><dt>TODO:</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>This</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>Try</dt><dd><a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd></dl><h2>Letter U:</h2><dl><dt>UTF-8</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>Use</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd></dl><h2>Letter X:</h2><dl><dt>XML</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>Xen</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2>Letter a:</h2><dl><dt>about</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>access</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>active</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>add</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>after</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>against</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>alive</dt><dd><a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
</dd><dt>all</dt><dd><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
</dd><dt>allocated</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>allowed</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>already</dt><dd><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
</dd><dt>amount</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>anymore</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>application</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>are</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
</dd><dt>argument</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>array</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
</dd><dt>assumed</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>available</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>availble</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2>Letter b:</h2><dl><dt>back</dt><dd><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>based</dt><dd><a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd><dt>being</dt><dd><a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>below</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>block</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
</dd><dt>but</dt><dd><a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd></dl><h2>Letter c:</h2><dl><dt>call</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>called</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>caller</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>calling</dt><dd><a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
</dd><dt>can</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>capacities</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
</dd><dt>change</dt><dd><a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>changes</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>check</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>clients</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>closes</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
</dd><dt>code</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>collect</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
</dd><dt>command</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>compiled</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>connection</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
</dd><dt>contents</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>control</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>currently</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd></dl><h2>Letter d:</h2><dl><dt>data</dt><dd><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
</dd><dt>deallocated</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
</dd><dt>defined</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>description</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>device</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
</dd><dt>disk</dt><dd><a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>doable</dt><dd><a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>does</dt><dd><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
</dd><dt>domains</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>down</dt><dd><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
</dd></dl><h2>Letter e:</h2><dl><dt>encoded</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>error</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>especially</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
</dd><dt>extracted</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>extraction</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd></dl><h2>Letter f:</h2><dl><dt>failure</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>file</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>filename</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
</dd><dt>find</dt><dd><a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
</dd><dt>first</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>flags</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>for</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>format</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>found</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
</dd><dt>free</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>freed</dt><dd><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
</dd><dt>from</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
</dd><dt>frozen</dt><dd><a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>full</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>function</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>functionalities</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>further</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd></dl><h2 align="center"><a href="APIchunk0.html">A-f</a>
<a href="APIchunk1.html">g-s</a>
<a href="APIchunk2.html">t-z</a>
</h2><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<a href="APIchunk1.html">g-r</a>
<a href="APIchunk2.html">s-z</a>
</h2></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -1,245 +1,226 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>API Alphabetic Index g-s for libvir</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>API Alphabetic Index g-s for libvir</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="architecture.html">libvir architecture</a></li><li><a href="libvir.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-f</a>
<a href="APIchunk1.html">g-s</a>
<a href="APIchunk2.html">t-z</a>
</h2><h2>Letter g:</h2><dl><dt>general</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>get</dt><dd><a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
</dd><dt>given</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd><dt>guest</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd></dl><h2>Letter h:</h2><dl><dt>have</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>hypervisor</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2>Letter i:</h2><dl><dt>image</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>information</dt><dd><a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>informations</dt><dd><a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>initrd</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>instance</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>int</dt><dd><a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
</dd><dt>interaction</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
</dd><dt>its</dt><dd><a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd></dl><h2>Letter k:</h2><dl><dt>kept</dt><dd><a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
</dd><dt>kernel</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>kilobytes</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>knowing</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd></dl><h2>Letter l:</h2><dl><dt>lack</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
</dd><dt>level</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>library</dt><dd><a href="html/libvir-libvir.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>lifetime</dt><dd><a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
</dd><dt>limited</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>line</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>list</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
</dd><dt>long</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>lookup</dt><dd><a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd></dl><h2>Letter m:</h2><dl><dt>major</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>maximum</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>may</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>memory</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>micro</dt><dd><a href="html/libvir-libvir.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
</dd><dt>minor</dt><dd><a href="html/libvir-libvir.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>monitoring</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
</dd><dt>must</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd></dl><h2>Letter n:</h2><dl><dt>name</dt><dd><a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd><dt>need</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
</dd><dt>needed</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
</dd><dt>new</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd><dt>not</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>number</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
</dd></dl><h2>Letter o:</h2><dl><dt>object</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>one</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>only</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>operation</dt><dd><a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
</dd><dt>option</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>optional</dt><dd><a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>otherwise</dt><dd><a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2>Letter p:</h2><dl><dt>padding</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>parameters</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>partial</dt><dd><a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>pass</dt><dd><a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>path</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>physical</dt><dd><a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>pointer</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd><dt>private</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>priviledged</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>process</dt><dd><a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>protection</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>providing</dt><dd><a href="html/libvir-libvir.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
</dd><dt>public</dt><dd><a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
</dd><dt>publicly</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd></dl><h2>Letter r:</h2><dl><dt>reactivate</dt><dd><a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>read-only</dt><dd><a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>reboot</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>release</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>requires</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>reserved</dt><dd><a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>resources</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>restarted</dt><dd><a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
</dd><dt>restricted</dt><dd><a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>return</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>returned</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>returns</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
</dd><dt>running</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
</dd><dt>runs</dt><dd><a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd></dl><h2>Letter s:</h2><dl><dt>same</dt><dd><a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
</dd><dt>set</dt><dd><a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>should</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>shutdown</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
</dd><dt>size</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>software</dt><dd><a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
</dd><dt>state</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
</dd><dt>static</dt><dd><a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
</dd><dt>stay</dt><dd><a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>still</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>stopped</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>store</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>string</dt><dd><a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
</dd><dt>structure</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>subject</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>success</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>suspended</dt><dd><a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
</dd><dt>system</dt><dd><a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>API Alphabetic Index g-r for libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">API Alphabetic Index g-r for libvirt</h1><h2 align="center"><a href="APIchunk0.html">A-f</a>
<a href="APIchunk1.html">g-r</a>
<a href="APIchunk2.html">s-z</a>
</h2><h2>Letter g:</h2><dl><dt>general</dt><dd><a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>get</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
</dd><dt>given</dt><dd><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd><dt>guest</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd></dl><h2>Letter h:</h2><dl><dt>have</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>hypervisor</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2>Letter i:</h2><dl><dt>ignore</dt><dd><a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>image</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>information</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>informations</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>init</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
</dd><dt>initrd</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>instance</dt><dd><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>int</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetID">virDomainGetID</a><br />
</dd><dt>interaction</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
</dd><dt>its</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd></dl><h2>Letter k:</h2><dl><dt>kept</dt><dd><a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
</dd><dt>kernel</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>kilobytes</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>knowing</dt><dd><a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd></dl><h2>Letter l:</h2><dl><dt>lack</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
</dd><dt>level</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>libbrary</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>library</dt><dd><a href="html/libvirt-libvirt.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>lifetime</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
</dd><dt>limited</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>line</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>list</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
</dd><dt>listed</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>long</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>lookup</dt><dd><a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd></dl><h2>Letter m:</h2><dl><dt>major</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>maximum</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>may</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>memory</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>method</dt><dd><a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>methods</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>micro</dt><dd><a href="html/libvirt-libvirt.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
</dd><dt>minor</dt><dd><a href="html/libvirt-libvirt.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>monitoring</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
</dd><dt>must</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd></dl><h2>Letter n:</h2><dl><dt>name</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd><dt>need</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
</dd><dt>needed</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
</dd><dt>new</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd><dt>not</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>number</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
</dd></dl><h2>Letter o:</h2><dl><dt>object</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>one</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>only</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>operation</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
</dd><dt>option</dt><dd><a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>optional</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>otherwise</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>output</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd></dl><h2>Letter p:</h2><dl><dt>padding</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>parameters</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>partial</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>pass</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>path</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>physical</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>pointer</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
</dd><dt>pointing</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
</dd><dt>private</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>priviledged</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>problem</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>process</dt><dd><a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>protection</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>providing</dt><dd><a href="html/libvirt-libvirt.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
</dd><dt>public</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
</dd><dt>publicly</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
</dd></dl><h2>Letter r:</h2><dl><dt>ramdisk</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
</dd><dt>reactivate</dt><dd><a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>reboot</dt><dd><a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>release</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>request</dt><dd><a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>requires</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>reserved</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>resources</dt><dd><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>restarted</dt><dd><a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
</dd><dt>restore</dt><dd><a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>restricted</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>return</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>returned</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>returns</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
</dd><dt>root</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
</dd><dt>running</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>runs</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd></dl><h2 align="center"><a href="APIchunk0.html">A-f</a>
<a href="APIchunk1.html">g-s</a>
<a href="APIchunk2.html">t-z</a>
</h2><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<a href="APIchunk1.html">g-r</a>
<a href="APIchunk2.html">s-z</a>
</h2></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -1,87 +1,135 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>API Alphabetic Index t-z for libvir</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>API Alphabetic Index t-z for libvir</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="architecture.html">libvir architecture</a></li><li><a href="libvir.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-f</a>
<a href="APIchunk1.html">g-s</a>
<a href="APIchunk2.html">t-z</a>
</h2><h2>Letter t:</h2><dl><dt>term</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>terminated</dt><dd><a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>that</dt><dd><a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
</dd><dt>their</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
</dd><dt>then</dt><dd><a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>there</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>thereafter</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
</dd><dt>this</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>two</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>type</dt><dd><a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2>Letter u:</h2><dl><dt>unimplemented</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>unknown</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>unsigned</dt><dd><a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
</dd><dt>unused</dt><dd><a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>usable</dt><dd><a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>used</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>user</dt><dd><a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd></dl><h2>Letter v:</h2><dl><dt>value</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>values</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>version</dt><dd><a href="html/libvir-libvir.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>virDomainFlags</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>virDomainInfo</dt><dd><a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>virDomainResume</dt><dd><a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>virSuspendDomain</dt><dd><a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
</dd></dl><h2>Letter w:</h2><dl><dt>was</dt><dd><a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>what</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>where</dt><dd><a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>which</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>while</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>will</dt><dd><a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>with</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
</dd><dt>without</dt><dd><a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>work</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
</dd><dt>would</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd></dl><h2>Letter x:</h2><dl><dt>xen</dt><dd><a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>xenstore</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd></dl><h2>Letter y:</h2><dl><dt>yet</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd></dl><h2>Letter z:</h2><dl><dt>zero</dt><dd><a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>API Alphabetic Index s-z for libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">API Alphabetic Index s-z for libvirt</h1><h2 align="center"><a href="APIchunk0.html">A-f</a>
<a href="APIchunk1.html">g-r</a>
<a href="APIchunk2.html">s-z</a>
</h2><h2>Letter s:</h2><dl><dt>same</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
</dd><dt>save</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>saved</dt><dd><a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
</dd><dt>saving</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>set</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>should</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>shutdown</dt><dd><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
</dd><dt>size</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>software</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
</dd><dt>state</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
</dd><dt>static</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
</dd><dt>stay</dt><dd><a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>still</dt><dd><a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>stopped</dt><dd><a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>store</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
</dd><dt>string</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
</dd><dt>structure</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>subject</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>success</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>successful</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>suspend</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>suspended</dt><dd><a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
</dd><dt>system</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
</dd></dl><h2>Letter t:</h2><dl><dt>term</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>terminated</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>that</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>their</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
</dd><dt>then</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>there</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>thereafter</dt><dd><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
</dd><dt>this</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>two</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>type</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2>Letter u:</h2><dl><dt>unimplemented</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>unknown</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>unsigned</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetID">virDomainGetID</a><br />
</dd><dt>unused</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>usable</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>used</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>user</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd></dl><h2>Letter v:</h2><dl><dt>value</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>values</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>version</dt><dd><a href="html/libvirt-libvirt.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>virDomainFlags</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>virDomainInfo</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>virDomainRestore</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>virDomainResume</dt><dd><a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>virDomainSave</dt><dd><a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
</dd><dt>virSuspendDomain</dt><dd><a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
</dd></dl><h2>Letter w:</h2><dl><dt>was</dt><dd><a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>what</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>where</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>which</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>while</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>will</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>with</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
</dd><dt>without</dt><dd><a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>work</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
</dd><dt>would</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd></dl><h2>Letter x:</h2><dl><dt>xen</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
</dd><dt>xenstore</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
</dd></dl><h2>Letter y:</h2><dl><dt>yet</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd></dl><h2>Letter z:</h2><dl><dt>zero</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
</dd></dl><h2 align="center"><a href="APIchunk0.html">A-f</a>
<a href="APIchunk1.html">g-s</a>
<a href="APIchunk2.html">t-z</a>
</h2><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<a href="APIchunk1.html">g-r</a>
<a href="APIchunk2.html">s-z</a>
</h2></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -1,17 +1,10 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>List of constructors for libvir</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>List of constructors for libvir</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="architecture.html">libvir architecture</a></li><li><a href="libvir.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Type unsigned int:</h2><p><a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
</p><h2>Type unsigned long:</h2><p><a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
</p><h2>Type virConnectPtr:</h2><p><a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</p><h2>Type virDomainPtr:</h2><p><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>List of constructors for libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">List of constructors for libvirt</h1><h2>Type unsigned int:</h2><p><a href="html/libvirt-libvirt.html#virDomainGetID">virDomainGetID</a><br />
</p><h2>Type unsigned long:</h2><p><a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
</p><h2>Type virConnectPtr:</h2><p><a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</p><h2>Type virDomainPtr:</h2><p><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
</p></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -1,50 +1,59 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>List of Symbols per Module for libvir</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>List of Symbols per Module for libvir</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="architecture.html">libvir architecture</a></li><li><a href="libvir.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2><a name="libvir" id="libvir">Module libvir</a>:</h2><p><a href="html/libvir-libvir.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_BLOCKED">VIR_DOMAIN_BLOCKED</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_NONE">VIR_DOMAIN_NONE</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_NOSTATE">VIR_DOMAIN_NOSTATE</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_PAUSED">VIR_DOMAIN_PAUSED</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_RUNNING">VIR_DOMAIN_RUNNING</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_SHUTDOWN">VIR_DOMAIN_SHUTDOWN</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_SHUTOFF">VIR_DOMAIN_SHUTOFF</a><br />
<a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnect">virConnect</a><br />
<a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virConnectPtr">virConnectPtr</a><br />
<a href="html/libvir-libvir.html#virDomain">virDomain</a><br />
<a href="html/libvir-libvir.html#virDomainCreateFlags">virDomainCreateFlags</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvir-libvir.html#virDomainInfo">virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainInfoPtr">virDomainInfoPtr</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvir-libvir.html#virDomainPtr">virDomainPtr</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvir-libvir.html#virDomainState">virDomainState</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>List of Symbols per Module for libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">List of Symbols per Module for libvirt</h1><h2><a name="libvirt" id="libvirt">Module libvirt</a>:</h2><p><a href="html/libvirt-libvirt.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
<a href="html/libvirt-libvirt.html#VIR_DEVICE_DEFAULT">VIR_DEVICE_DEFAULT</a><br />
<a href="html/libvirt-libvirt.html#VIR_DEVICE_RO">VIR_DEVICE_RO</a><br />
<a href="html/libvirt-libvirt.html#VIR_DEVICE_RW">VIR_DEVICE_RW</a><br />
<a href="html/libvirt-libvirt.html#VIR_DEVICE_RW_FORCE">VIR_DEVICE_RW_FORCE</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_BLOCKED">VIR_DOMAIN_BLOCKED</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_CRASHED">VIR_DOMAIN_CRASHED</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_DESTROY">VIR_DOMAIN_DESTROY</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_NONE">VIR_DOMAIN_NONE</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_NOSTATE">VIR_DOMAIN_NOSTATE</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_PAUSED">VIR_DOMAIN_PAUSED</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_PRESERVE">VIR_DOMAIN_PRESERVE</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_RENAME_RESTART">VIR_DOMAIN_RENAME_RESTART</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_RESTART">VIR_DOMAIN_RESTART</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_RUNNING">VIR_DOMAIN_RUNNING</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_SHUTDOWN">VIR_DOMAIN_SHUTDOWN</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_SHUTOFF">VIR_DOMAIN_SHUTOFF</a><br />
<a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
<a href="html/libvirt-libvirt.html#virConnect">virConnect</a><br />
<a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virConnectPtr">virConnectPtr</a><br />
<a href="html/libvirt-libvirt.html#virDeviceMode">virDeviceMode</a><br />
<a href="html/libvirt-libvirt.html#virDomain">virDomain</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateFlags">virDomainCreateFlags</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvirt-libvirt.html#virDomainInfo">virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainInfoPtr">virDomainInfoPtr</a><br />
<a href="html/libvirt-libvirt.html#virDomainKernel">virDomainKernel</a><br />
<a href="html/libvirt-libvirt.html#virDomainKernelPtr">virDomainKernelPtr</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvirt-libvirt.html#virDomainPtr">virDomainPtr</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestart">virDomainRestart</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvirt-libvirt.html#virDomainState">virDomainState</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</p></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -1,37 +1,32 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>List of function manipulating types in libvir</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>List of function manipulating types in libvir</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="architecture.html">libvir architecture</a></li><li><a href="libvir.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Type int *:</h2><p><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
</p><h2>Type unsigned int:</h2><p><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</p><h2>Type unsigned long:</h2><p><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</p><h2>Type unsigned long *:</h2><p><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</p><h2>Type virConnectPtr:</h2><p><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
</p><h2>Type virDomainInfoPtr:</h2><p><a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</p><h2>Type virDomainPtr:</h2><p><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>List of function manipulating types in libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">List of function manipulating types in libvirt</h1><h2>Type int *:</h2><p><a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
</p><h2>Type unsigned int:</h2><p><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</p><h2>Type unsigned long:</h2><p><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</p><h2>Type unsigned long *:</h2><p><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</p><h2>Type virConnectPtr:</h2><p><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
</p><h2>Type virDomainInfoPtr:</h2><p><a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
</p><h2>Type virDomainPtr:</h2><p><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</p></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -1,50 +1,59 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>Alphabetic List of Symbols in libvir</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>Alphabetic List of Symbols in libvir</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="architecture.html">libvir architecture</a></li><li><a href="libvir.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Letter L:</h2><p><a href="html/libvir-libvir.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
</p><h2>Letter V:</h2><p><a href="html/libvir-libvir.html#VIR_DOMAIN_BLOCKED">VIR_DOMAIN_BLOCKED</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_NONE">VIR_DOMAIN_NONE</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_NOSTATE">VIR_DOMAIN_NOSTATE</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_PAUSED">VIR_DOMAIN_PAUSED</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_RUNNING">VIR_DOMAIN_RUNNING</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_SHUTDOWN">VIR_DOMAIN_SHUTDOWN</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_SHUTOFF">VIR_DOMAIN_SHUTOFF</a><br />
</p><h2>Letter _:</h2><p><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</p><h2>Letter v:</h2><p><a href="html/libvir-libvir.html#virConnect">virConnect</a><br />
<a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virConnectPtr">virConnectPtr</a><br />
<a href="html/libvir-libvir.html#virDomain">virDomain</a><br />
<a href="html/libvir-libvir.html#virDomainCreateFlags">virDomainCreateFlags</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvir-libvir.html#virDomainInfo">virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainInfoPtr">virDomainInfoPtr</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvir-libvir.html#virDomainPtr">virDomainPtr</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvir-libvir.html#virDomainState">virDomainState</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Alphabetic List of Symbols in libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Alphabetic List of Symbols in libvirt</h1><h2>Letter L:</h2><p><a href="html/libvirt-libvirt.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
</p><h2>Letter V:</h2><p><a href="html/libvirt-libvirt.html#VIR_DEVICE_DEFAULT">VIR_DEVICE_DEFAULT</a><br />
<a href="html/libvirt-libvirt.html#VIR_DEVICE_RO">VIR_DEVICE_RO</a><br />
<a href="html/libvirt-libvirt.html#VIR_DEVICE_RW">VIR_DEVICE_RW</a><br />
<a href="html/libvirt-libvirt.html#VIR_DEVICE_RW_FORCE">VIR_DEVICE_RW_FORCE</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_BLOCKED">VIR_DOMAIN_BLOCKED</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_CRASHED">VIR_DOMAIN_CRASHED</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_DESTROY">VIR_DOMAIN_DESTROY</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_NONE">VIR_DOMAIN_NONE</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_NOSTATE">VIR_DOMAIN_NOSTATE</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_PAUSED">VIR_DOMAIN_PAUSED</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_PRESERVE">VIR_DOMAIN_PRESERVE</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_RENAME_RESTART">VIR_DOMAIN_RENAME_RESTART</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_RESTART">VIR_DOMAIN_RESTART</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_RUNNING">VIR_DOMAIN_RUNNING</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_SHUTDOWN">VIR_DOMAIN_SHUTDOWN</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_SHUTOFF">VIR_DOMAIN_SHUTOFF</a><br />
</p><h2>Letter _:</h2><p><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
</p><h2>Letter v:</h2><p><a href="html/libvirt-libvirt.html#virConnect">virConnect</a><br />
<a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virConnectPtr">virConnectPtr</a><br />
<a href="html/libvirt-libvirt.html#virDeviceMode">virDeviceMode</a><br />
<a href="html/libvirt-libvirt.html#virDomain">virDomain</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateFlags">virDomainCreateFlags</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvirt-libvirt.html#virDomainInfo">virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainInfoPtr">virDomainInfoPtr</a><br />
<a href="html/libvirt-libvirt.html#virDomainKernel">virDomainKernel</a><br />
<a href="html/libvirt-libvirt.html#virDomainKernelPtr">virDomainKernelPtr</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvirt-libvirt.html#virDomainPtr">virDomainPtr</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestart">virDomainRestart</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvirt-libvirt.html#virDomainState">virDomainState</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</p></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -11,7 +11,7 @@
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<xsl:param name="module">libvir</xsl:param>
<xsl:param name="module">libvirt</xsl:param>
<!-- The table of content for the HTML page -->
<xsl:variable name="menu_name">API Menu</xsl:variable>
@ -58,51 +58,27 @@
<xsl:variable name="title">ChangeLog last entries of <xsl:value-of select="$module"/></xsl:variable>
<html>
<head>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
</head>
<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<xsl:call-template name="develtoc"/>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<xsl:apply-templates select="entry"/>
<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<body>
<div id="container">
<div id="intro">
<div id="adjustments"/>
<div id="pageHeader"/>
<div id="content2">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<xsl:apply-templates select="entry"/>
</div>
</div>
<xsl:call-template name="linkList2"/>
<xsl:call-template name="bottom"/>
</div>
</body>
</html>
</xsl:template>

View File

@ -1,13 +1,6 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>FAQ</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>FAQ</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Contents:</p><ul><li><a href="FAQ.html#License">License(s)</a></li>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>FAQ</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">FAQ</h1><p>Table of Contents:</p><ul><li><a href="FAQ.html#License">License(s)</a></li>
<li><a href="FAQ.html#Installati">Installation</a></li>
<li><a href="FAQ.html#Compilatio">Compilation</a></li>
<li><a href="FAQ.html#Developer">Developer corner</a></li>
@ -41,11 +34,20 @@ A:link, A:visited, A:active { text-decoration: underline }
<p><code>make rpm</code></p>
</li>
<li><em>Failure to use the API for non-root users</em>
<p>Large parts of the API are only accessible as root, however the read
only access to the xenstore data doesnot have to be forbidden to user, at
least for monitoring purposes. If "virsh info" fails to run as an user,
change the mode of the xenstore read-only socket with:</p>
<p>Large parts of the API may only be accessible with root priviledges,
however the read only access to the xenstore data doesnot have to be
forbidden to user, at least for monitoring purposes. If "virsh dinfo"
fails to run as an user, change the mode of the xenstore read-only socket
with:</p>
<p><code>chmod 666 /var/run/xenstored/socket_ro</code></p>
<p>and also make sure that the Xen Daemon is running correctly with local
HTTP server enabled, this is defined in
<code>/etc/xen/xend-config.sxp</code> which need the following line to be
enabled:</p>
<p><code>(xend-http-server yes)</code></p>
<p>If needed restart the xend daemon after making the change with the
following command run as root:</p>
<p><code>service xend restart</code></p>
</li>
</ol><h3><a name="Compilatio" id="Compilatio">Compilation</a></h3><ol><li><em>What is the process to compile libvir ?</em>
<p>As most UNIX libraries libvir follows the "standard":</p>
@ -75,4 +77,4 @@ A:link, A:visited, A:active { text-decoration: underline }
via the pkg-config command line tool, like:</p>
<p><code>pkg-config libvir --libs</code></p>
</li>
</ol><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
</ol></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="architecture.html">libvir architecture</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -1,5 +1,5 @@
## Process this file with automake to produce Makefile.in
SUBDIRS=
SUBDIRS=examples
# The directory containing the source code (if it contains documentation).
DOC_SOURCE_DIR=../src
@ -8,15 +8,15 @@ PAGES= index.html bugs.html FAQ.html
APIPAGES=APIconstructors.html APIfiles.html APIfunctions.html \
APIsymbols.html APIchunk0.html
EXTRA_DIST= \
libvir-api.xml libxen-refs.xml apibuild.py \
libvirt-api.xml libvirt-refs.xml apibuild.py \
*.xsl *.html *.gif html/*.html html/*.png
man_MANS=
all: web $(man_MANS)
all: web $(top_builddir)/NEWS $(man_MANS)
api: libvir-api.xml libvir-refs.xml $(APIPAGES) $(srcdir)/html/index.html
api: libvirt-api.xml libvirt-refs.xml $(APIPAGES) $(srcdir)/html/index.html
web: $(PAGES)
@ -29,31 +29,35 @@ $(PAGES): libvir.html site.xsl
$(XMLLINT) --nonet --valid --noout $(PAGES) ; fi );
$(APIPAGES): libvir-api.xml libvir-refs.xml $(top_srcdir)/docs/site.xsl $(top_srcdir)/docs/api.xsl
$(APIPAGES): libvirt-api.xml libvirt-refs.xml $(top_srcdir)/docs/site.xsl $(top_srcdir)/docs/api.xsl
-@(if [ -x $(XSLTPROC) ] ; then \
echo "Rebuilding the HTML API pages from libvir-refs.xml" ; \
echo "Rebuilding the HTML API pages from libvirt-refs.xml" ; \
$(XSLTPROC) --nonet --html $(top_srcdir)/docs/api.xsl \
$(top_srcdir)/docs/libvir.html ; fi );
-@(if [ -x $(XMLLINT) ] ; then \
echo "Validating the HTML API pages" ; \
$(XMLLINT) --nonet --valid --noout API*.html ; fi );
$(srcdir)/html/index.html: libvir-api.xml $(srcdir)/newapi.xsl
$(srcdir)/html/index.html: libvirt-api.xml $(srcdir)/newapi.xsl
-@(if [ -x $(XSLTPROC) ] ; then \
echo "Rebuilding the HTML pages from the XML API" ; \
$(XSLTPROC) --nonet $(srcdir)/newapi.xsl libvir-api.xml ; fi )
$(XSLTPROC) --nonet $(srcdir)/newapi.xsl libvirt-api.xml ; fi )
-@(if [ -x $(XMLLINT) ] ; then \
echo "Validating the resulting XHTML pages" ; \
$(XMLLINT) --nonet --valid --noout html/*.html ; fi );
libvir-api.xml libvir-refs.xml: apibuild.py ../include/*.h ../src/*.h ../src/*.c
libvirt-api.xml libvirt-refs.xml: apibuild.py ../include/*.h ../src/*.h ../src/*.c
-(./apibuild.py)
$(top_builddir)/NEWS: $(top_srcdir)/docs/news.xsl $(top_srcdir)/docs/news.html
-@(if [ -x $(XSLTPROC) ] ; then \
$(XSLTPROC) --nonet $(top_srcdir)/docs/news.xsl $(top_srcdir)/docs/news.html > $(top_builddir)/NEWS ; fi );
clean-local:
rm -f *~ *.bak *.hierarchy *.signals *-unused.txt
maintainer-clean-local: clean-local
rm -rf libvir-api.xml libvir-refs.xml
rm -rf libvirt-api.xml libvirt-refs.xml
rebuild: api all

View File

@ -1,5 +1,5 @@
<?xml version="1.0"?>
<!-- this stylesheet builds the API*.html , it works based on libvir-refs.xml
<!-- this stylesheet builds the API*.html , it works based on libvirt-refs.xml
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
@ -16,13 +16,13 @@
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<xsl:variable name="href_base" select="''"/>
<xsl:variable name="apirefs" select="document('libvir-refs.xml')"/>
<xsl:variable name="apirefs" select="document('libvirt-refs.xml')"/>
<xsl:variable name="module" select="$apirefs/apirefs/@name"/>
<xsl:key name="refhref" match="reference" use="@name"/>
<xsl:template match="ref" mode="anchor">
<xsl:variable name="name" select="@name"/>
<xsl:for-each select="document('libvir-refs.xml')">
<xsl:for-each select="document('libvirt-refs.xml')">
<a href="{key('refhref', $name)/@href}"><xsl:value-of select="$name"/></a><br/>
</xsl:for-each>
</xsl:template>
@ -80,51 +80,27 @@
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
</head>
<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<xsl:call-template name="develtoc"/>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<xsl:apply-templates mode="reflist" select="type"/>
<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<body>
<div id="container">
<div id="intro">
<div id="adjustments"/>
<div id="pageHeader"/>
<div id="content2">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<xsl:apply-templates mode="reflist" select="type"/>
</div>
</div>
<xsl:call-template name="linkList2"/>
<xsl:call-template name="bottom"/>
</div>
</body>
</html>
</xsl:document>
</xsl:template>
@ -136,51 +112,27 @@
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
</head>
<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<xsl:call-template name="develtoc"/>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<xsl:apply-templates mode="reflist" select="file"/>
<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<body>
<div id="container">
<div id="intro">
<div id="adjustments"/>
<div id="pageHeader"/>
<div id="content2">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<xsl:apply-templates mode="reflist" select="file"/>
</div>
</div>
<xsl:call-template name="linkList2"/>
<xsl:call-template name="bottom"/>
</div>
</body>
</html>
</xsl:document>
</xsl:template>
@ -192,51 +144,27 @@
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
</head>
<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<xsl:call-template name="develtoc"/>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<xsl:apply-templates mode="reflist" select="type"/>
<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<body>
<div id="container">
<div id="intro">
<div id="adjustments"/>
<div id="pageHeader"/>
<div id="content2">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<xsl:apply-templates mode="reflist" select="type"/>
</div>
</div>
<xsl:call-template name="linkList2"/>
<xsl:call-template name="bottom"/>
</div>
</body>
</html>
</xsl:document>
</xsl:template>
@ -248,51 +176,27 @@
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
</head>
<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<xsl:call-template name="develtoc"/>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<xsl:apply-templates mode="reflist" select="letter"/>
<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<body>
<div id="container">
<div id="intro">
<div id="adjustments"/>
<div id="pageHeader"/>
<div id="content2">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<xsl:apply-templates mode="reflist" select="letter"/>
</div>
</div>
<xsl:call-template name="linkList2"/>
<xsl:call-template name="bottom"/>
</div>
</body>
</html>
</xsl:document>
</xsl:template>
@ -321,54 +225,30 @@
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
</head>
<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<xsl:call-template name="develtoc"/>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<xsl:call-template name="apichunks"/>
<xsl:apply-templates mode="wordlist"
select="$target/letter"/>
<xsl:call-template name="apichunks"/>
<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<body>
<div id="container">
<div id="intro">
<div id="adjustments"/>
<div id="pageHeader"/>
<div id="content2">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<xsl:call-template name="apichunks"/>
<xsl:apply-templates mode="wordlist"
select="$target/letter"/>
<xsl:call-template name="apichunks"/>
</div>
</div>
<xsl:call-template name="linkList2"/>
<xsl:call-template name="bottom"/>
</div>
</body>
</html>
</xsl:document>
</xsl:template>

View File

@ -22,6 +22,10 @@ ignored_files = {
"hash.c": "internal hash table stuff",
"hash.h": "internal hash table stuff",
"internal.h": "internal includes and defines",
"xend_internal.h": "internal includes and defines",
"xend_internal.c": "internal code",
"sexpr.h": "internal includes and defines",
"sexpr.c": "internal code",
}
ignored_words = {
@ -2069,13 +2073,13 @@ class docBuilder:
def rebuild():
builder = None
if glob.glob("../src/libvir.c") != [] :
print "Rebuilding API description for libvir"
builder = docBuilder("libvir", ["../src", "../include"],
if glob.glob("../src/libvirt.c") != [] :
print "Rebuilding API description for libvirt"
builder = docBuilder("libvirt", ["../src", "../include"],
[])
elif glob.glob("src/parser.c") != [] :
elif glob.glob("src/libvirt.c") != [] :
print "Rebuilding API description for libvir"
builder = docBuilder("libvir", ["src", "include"],
builder = docBuilder("libvirt", ["src", "include"],
[])
else:
print "rebuild() failed, unable to guess the module"

87
docs/architecture.fig Normal file
View File

@ -0,0 +1,87 @@
#FIG 3.2
Landscape
Center
Inches
Letter
100.00
Single
-2
1200 2
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1050 7500 9375 7500 9375 8700 1050 8700 1050 7500
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
3525 7275 3525 4125 1050 4125 1050 7275 3525 7275
2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
1050 6540 3540 6525
2 4 0 1 0 7 50 -1 -1 4.000 0 0 7 0 0 5
1590 6900 1590 6645 1140 6645 1140 6900 1590 6900
2 4 0 1 0 7 50 -1 -1 4.000 0 0 7 0 0 5
1590 7185 1590 6930 1140 6930 1140 7185 1590 7185
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
1 1 2.00 120.00 240.00
1 1 2.00 120.00 240.00
1875 7725 8625 7725
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1650 5625 3000 5625 3000 6375 1650 6375 1650 5625
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
2850 7725 2850 6375
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
6450 7275 6450 4125 3975 4125 3975 7275 6450 7275
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
9300 7275 9300 4125 6825 4125 6825 7275 9300 7275
2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
3975 6540 6465 6525
2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
6825 6540 9315 6525
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
5400 7725 5400 7050
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
8025 7725 8025 7050
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1050 8925 9375 8925 9375 9900 1050 9900 1050 8925
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
2100 4575 3450 4575 3450 5325 2100 5325 2100 4575
2 1 1 3 0 7 50 -1 -1 2.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
3225 5325 3225 8325
2 1 1 3 0 7 50 -1 -1 2.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
6225 6900 6225 8250
2 1 1 3 0 7 50 -1 -1 2.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
8925 6900 8925 8250
2 1 1 3 0 7 50 -1 -1 2.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
1725 7125 1725 8325
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
1 1 2.00 120.00 240.00
1 1 2.00 120.00 240.00
2850 5850 2850 5025
2 1 1 3 0 7 50 -1 -1 2.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
5175 8475 5175 9375
2 1 1 3 0 7 50 -1 -1 2.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
1350 7125 1350 9450
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
2325 7725 2325 7200
2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 1
900 3975
2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 1
9525 9975
4 0 0 50 -1 0 18 0.0000 4 195 870 4350 7980 XenBus\001
4 0 0 50 -1 0 18 0.0000 4 195 780 1680 6870 drivers\001
4 0 0 50 -1 0 18 0.0000 4 195 1050 1800 6075 XenStore\001
4 0 0 50 -1 0 18 0.0000 4 195 900 1875 7125 Kernel0\001
4 0 0 50 -1 0 18 0.0000 4 195 960 4875 6975 KernelU\001
4 0 0 50 -1 0 18 0.0000 4 195 960 7650 6975 KernelU\001
4 0 0 50 -1 0 18 0.0000 4 255 1740 4050 8400 Xen Hypervisor\001
4 0 0 50 -1 0 18 0.0000 4 195 585 2325 4950 Xend\001
4 0 0 50 -1 0 18 0.0000 4 195 690 1200 4725 Dom0\001
4 0 0 50 -1 0 18 0.0000 4 195 750 4875 5325 DomU\001
4 0 0 50 -1 0 18 0.0000 4 195 750 7650 5325 DomU\001
4 0 0 50 -1 0 18 0.0000 4 195 1080 3750 9450 Hardware\001

BIN
docs/architecture.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@ -1,10 +1,27 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>libvir architecture</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>libvir architecture</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="architecture.html">libvir architecture</a></li><li><a href="libvir.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p></p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>libvir architecture</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">libvir architecture</h1><h3>This is Xen specific since this is the only hypervisor supported at the
moment</h3><p>When running in a Xen environment, programs using libvir have to execute
in "Domain 0", which is the primary Linux OS loaded on the machine. That OS
kernel provides most if not all of the actual drivers used by the set of
domains. It also runs the Xen Store, a database of informations shared by the
hypervisor, the kernels, the drivers and the xen daemon. Xend. The xen daemon
supervise the control and execution of the sets of domains. The hypervisor,
drivers, kernels and daemons communicate though a shared system bus
implemented in the hypervisor. The figure below tries to provide a view of
this environment:</p><img src="architecture.gif" alt="The Xen architecture" /><p>The library can be initialized in 2 ways depending on the level of
priviledge of the embedding program. If it runs with root access,
virConnectOpen() can be used, it will use three different ways to connect to
the Xen infrastructure:</p><ul><li>a connection to the Xen Daemon though an HTTP RPC layer</li>
<li>a read/write connection to the Xen Store</li>
<li>use Xen Hypervisor calls</li>
</ul><p>The library will usually interract with the Xen daemon for any operation
changing the state of the system, but for performance and accuracy reasons
may talk directly to the hypervisor when gathering state informations at
least when possible (i.e. when the running program using libvir has root
priviledge access).</p><p>If it runs without root access virConnectOpenReadOnly() should be used to
connect to initialize the library. It will try to open the read-only socket
<code>/var/run/xenstored/socket_ro</code> to connect to the Xen Store and
also try to use the RPC to the Xen daemon. In this case use of hypervisor
calls and write to the Xen Store will not be possible, restraining the amount
of APIs available and slowing down information gathering about domains.</p></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="architecture.html">libvir architecture</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

BIN
docs/background.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 B

View File

@ -1,17 +1,10 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>Reporting bugs and getting help</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>Reporting bugs and getting help</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>There is a mailing-list <a href="mailto:libvir-list@redhat.com">libvir-list@redhat.com</a> for libvir,
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Reporting bugs and getting help</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Reporting bugs and getting help</h1><p>There is a mailing-list <a href="mailto:libvir-list@redhat.com">libvir-list@redhat.com</a> for libvir,
with an <a href="https://www.redhat.com/archives/libvir-list/">on-line
archive</a>. Please subscribe to this list before posting by visiting the <a href="https://www.redhat.com/mailman/listinfo/libvir-list">associated Web</a>
page and follow the instructions. Patches with explanations and provided as
attachments are really appreciated and will be discussed on the mailing list.
If possible generate the patches by using cvs diff -u in a CVS checkout.</p><p>We expect to use <a href="https://bugzilla.redhat.com/">Red Hat
Bugzilla</a> to track bugs for libvir, though there isn't yet a libvir
software module.</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
Bugzilla</a> to track bugs for libvir, though there isn't a libvir software
module defined yet, in the meantime use the mailing-list, thanks !.</p></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="architecture.html">libvir architecture</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -1,16 +1,9 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>Downloads</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>Downloads</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>The latest versions of libvir can be found on the <a href="ftp://libvir.org/libvir/">libvir.org</a> server ( <a href="http://libvir.org/sources/">HTTP</a>, <a href="ftp://libvir.org/libvir/">FTP</a>). You will find there the released
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Downloads</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Downloads</h1><p>The latest versions of libvir can be found on the <a href="ftp://libvir.org/libvir/">libvir.org</a> server ( <a href="http://libvir.org/sources/">HTTP</a>, <a href="ftp://libvir.org/libvir/">FTP</a>). You will find there the released
versions as well as <a href="http://libvir.org/sources/libvir-cvs-snapshot.tar.gz">snapshot
tarballs</a> updated from CVS head every hour</p><p>Anonymous <a href="http://ximbiot.com/cvs/cvshome/docs/">CVS</a> is also
available, first register onto the server:</p><p><code>cvs -d :pserver:anoncvs@libvir.org:2401/data/cvs login</code></p><p>it will request a password, enter <strong>anoncvs</strong>. Then you can
checkout the development tree with:</p><p><code>cvs -d :pserver:anoncvs@libvir.org:2401/data/cvs co libvir</code></p><p>Use ./autogen.sh to configure the local checkout, then <code>make</code>
and <code>make install</code>, as usual. All normal cvs commands are now
available except commiting to the base.</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
available except commiting to the base.</p></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="architecture.html">libvir architecture</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

34
docs/examples/Makefile.am Normal file
View File

@ -0,0 +1,34 @@
# Beware this is autogenerated by index.py
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I@srcdir@/include
DEPS = $(top_builddir)/src/libvirt.la
LDADDS = @STATIC_BINARIES@ $(top_builddir)/src/libvirt.la
rebuild: examples.xml index.html
examples.xml: index.py *.c
-@($(srcdir)/index.py)
index.html: examples.xml examples.xsl
-@(xsltproc examples.xsl examples.xml && echo "Rebuilt web page" && xmllint --valid --noout index.html)
install-data-local:
$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)
-@INSTALL@ -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(srcdir)/*.xml $(srcdir)/*.xsl $(srcdir)/*.res $(DESTDIR)$(HTML_DIR)
EXTRA_DIST=examples.xsl index.py examples.xml
noinst_PROGRAMS=info1
info1_SOURCES=info1.c
info1_LDFLAGS=
info1_DEPENDENCIES= $(DEPS)
info1_LDADD= $(LDADDS)
valgrind:
$(MAKE) CHECKER='valgrind' tests
tests: $(noinst_PROGRAMS)
@(echo '## examples regression tests')
@($(CHECKER) ./info1)

View File

@ -0,0 +1,46 @@
<examples>
<example filename='info1.c'>
<synopsis>Extract informations about Xen domain 0</synopsis>
<purpose>Demonstrate the basic use of the library to connect to the hypervisor and extract domain informations.</purpose>
<usage>info1</usage>
<test>info1</test>
<author>Daniel Veillard</author>
<copy>see Copyright for the status of this software. </copy>
<section>Informations</section>
<includes>
</includes>
<uses>
<function line='43' file='libvirt' name='virDomainGetInfo'/>
<function line='53' file='libvirt' name='virDomainFree'/>
<function line='36' file='libvirt' name='virDomainLookupByID'/>
<function line='55' file='libvirt' name='virConnectClose'/>
<struct line='25' file='libvirt' name='virDomainInfo'/>
<function line='29' file='libvirt' name='virConnectOpenReadOnly'/>
</uses>
</example>
<symbols>
<symbol name='virConnectClose'>
<ref filename='info1.c'/>
</symbol>
<symbol name='virConnectOpenReadOnly'>
<ref filename='info1.c'/>
</symbol>
<symbol name='virDomainFree'>
<ref filename='info1.c'/>
</symbol>
<symbol name='virDomainGetInfo'>
<ref filename='info1.c'/>
</symbol>
<symbol name='virDomainInfo'>
<ref filename='info1.c'/>
</symbol>
<symbol name='virDomainLookupByID'>
<ref filename='info1.c'/>
</symbol>
</symbols>
<sections>
<section name='Informations'>
<example filename='info1.c'/>
</section>
</sections>
</examples>

174
docs/examples/examples.xsl Normal file
View File

@ -0,0 +1,174 @@
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common"
extension-element-prefixes="exsl"
exclude-result-prefixes="exsl">
<xsl:import href="../site.xsl"/>
<xsl:variable name="href_base">../</xsl:variable>
<xsl:variable name="menu_name">Examples Menu</xsl:variable>
<xsl:variable name="toc">
<form action="../search.php"
enctype="application/x-www-form-urlencoded" method="get">
<input name="query" type="text" size="20" value=""/>
<input name="submit" type="submit" value="Search ..."/>
</form>
<ul><!-- style="margin-left: -1em" -->
<li><a href="{$href_base}index.html">Home</a></li>
<li><a style="font-weight:bold"
href="{$href_base}docs.html">Developer Menu</a></li>
<li><a style="font-weight:bold"
href="{$href_base}html/index.html">API Menu</a></li>
<xsl:for-each select="/examples/sections/section">
<li><a href="#{@name}"><xsl:value-of select="@name"/> Examples</a></li>
</xsl:for-each>
<li><a href="{$href_base}guidelines.html">XML Guidelines</a></li>
</ul>
</xsl:variable>
<xsl:template match="include">
<xsl:variable name="header" select="substring-before(substring-after(., '/'), '&gt;')"/>
<xsl:variable name="doc" select="concat('../html/libxml-', $header, 'tml')"/>
<li><a href="{$doc}"><xsl:value-of select="."/></a></li>
</xsl:template>
<xsl:template match="typedef">
<xsl:variable name="name" select="@name"/>
<xsl:variable name="header" select="concat(@file, '.h')"/>
<xsl:variable name="doc" select="concat('../html/libxml-', @file, '.html#', $name)"/>
<li> line <xsl:value-of select="@line"/>: Type <a href="{$doc}"><xsl:value-of select="$name"/></a> from <xsl:value-of select="$header"/></li>
</xsl:template>
<xsl:template match="function">
<xsl:variable name="name" select="@name"/>
<xsl:variable name="header" select="concat(@file, '.h')"/>
<xsl:variable name="doc" select="concat('../html/libxml-', @file, '.html#', $name)"/>
<li> line <xsl:value-of select="@line"/>: Function <a href="{$doc}"><xsl:value-of select="$name"/></a> from <xsl:value-of select="$header"/></li>
</xsl:template>
<xsl:template match="macro">
<xsl:variable name="name" select="@name"/>
<xsl:variable name="header" select="concat(@file, '.h')"/>
<xsl:variable name="doc" select="concat('../html/libxml-', @file, '.html#', $name)"/>
<li> line <xsl:value-of select="@line"/>: Macro <a href="{$doc}"><xsl:value-of select="$name"/></a> from <xsl:value-of select="$header"/></li>
</xsl:template>
<xsl:template match="example">
<xsl:variable name="filename" select="string(@filename)"/>
<h3><a name="{$filename}" href="{$filename}"><xsl:value-of select="$filename"/></a>: <xsl:value-of select="synopsis"/></h3>
<p><xsl:value-of select="purpose"/></p>
<p>Includes:</p>
<ul>
<xsl:for-each select="includes/include">
<xsl:apply-templates select='.'/>
</xsl:for-each>
</ul>
<p>Uses:</p>
<ul>
<xsl:for-each select="uses/*">
<xsl:sort select="@line" data-type="number"/>
<xsl:apply-templates select='.'/>
</xsl:for-each>
</ul>
<p>Usage:</p>
<p><xsl:value-of select="usage"/></p>
<p>Author: <xsl:value-of select="author"/></p>
</xsl:template>
<xsl:template match="section">
<li><p> <a href="#{@name}"><xsl:value-of select="@name"/></a> :</p>
<ul>
<xsl:for-each select="example">
<xsl:sort select='.'/>
<xsl:variable name="filename" select="@filename"/>
<li> <a href="#{$filename}"><xsl:value-of select="$filename"/></a>: <xsl:value-of select="/examples/example[@filename = $filename]/synopsis"/></li>
</xsl:for-each>
</ul>
</li>
</xsl:template>
<xsl:template match="sections">
<p> The examples are stored per section depending on the main focus
of the example:</p>
<ul>
<xsl:for-each select="section">
<xsl:sort select='.'/>
<xsl:apply-templates select='.'/>
</xsl:for-each>
</ul>
<p> Getting the compilation options and libraries dependancies needed
to generate binaries from the examples is best done on Linux/Unix by using
the xml2-config script which should have been installed as part of <i>make
install</i> step or when installing the libxml2 development package:</p>
<pre>gcc -o example `xml2-config --cflags` example.c `xml2-config --libs`</pre>
</xsl:template>
<xsl:template name="sections-list">
<xsl:for-each select="sections/section">
<xsl:variable name="section" select="@name"/>
<h2> <a name="{$section}"></a><xsl:value-of select="$section"/> Examples</h2>
<xsl:apply-templates select='/examples/example[section = $section]'/>
</xsl:for-each>
</xsl:template>
<xsl:template match="examples">
<xsl:variable name="title">Libxml2 set of examples</xsl:variable>
<xsl:document href="index.html" method="xml" encoding="ISO-8859-1"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
</head>
<body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<xsl:call-template name="toc"/>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<xsl:apply-templates select="sections"/>
<xsl:call-template name="sections-list"/>
<p><a href="../bugs.html">Daniel Veillard</a></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
</xsl:document>
</xsl:template>
</xsl:stylesheet>

298
docs/examples/index.py Executable file
View File

@ -0,0 +1,298 @@
#!/usr/bin/python -u
#
# Indexes the examples and build an XML description
#
import string
import glob
import sys
try:
import libxml2
except:
sys.exit(1)
sys.path.insert(0, "..")
from apibuild import CParser, escape
examples = []
extras = ['examples.xsl', 'index.py']
tests = []
sections = {}
symbols = {}
api_dict = None
api_doc = None
def load_api():
global api_dict
global api_doc
if api_dict != None:
return
api_dict = {}
try:
print "loading ../libvirt-api.xml"
api_doc = libxml2.parseFile("../libvirt-api.xml")
except:
print "failed to parse ../libvirt-api.xml"
sys.exit(1)
def find_symbol(name):
global api_dict
global api_doc
if api_doc == None:
load_api()
if name == None:
return
if api_dict.has_key(name):
return api_dict[name]
ctxt = api_doc.xpathNewContext()
res = ctxt.xpathEval("/api/symbols/*[@name = '%s']" % (name))
if type(res) == type([]) and len(res) >= 1:
if len(res) > 1:
print "Found %d references to %s in the API" % (len(res), name)
node = res[0]
typ = node.name
file = node.xpathEval("string(@file)")
info = node.xpathEval("string(info)")
else:
print "Reference %s not found in the API" % (name)
return None
ret = (typ, file, info)
api_dict[name] = ret
return ret
def parse_top_comment(filename, comment):
res = {}
lines = string.split(comment, "\n")
item = None
for line in lines:
while line != "" and (line[0] == ' ' or line[0] == '\t'):
line = line[1:]
while line != "" and line[0] == '*':
line = line[1:]
while line != "" and (line[0] == ' ' or line[0] == '\t'):
line = line[1:]
try:
(it, line) = string.split(line, ":", 1)
item = it
while line != "" and (line[0] == ' ' or line[0] == '\t'):
line = line[1:]
if res.has_key(item):
res[item] = res[item] + " " + line
else:
res[item] = line
except:
if item != None:
if res.has_key(item):
res[item] = res[item] + " " + line
else:
res[item] = line
return res
def parse(filename, output):
global symbols
global sections
parser = CParser(filename)
parser.collect_references()
idx = parser.parse()
info = parse_top_comment(filename, parser.top_comment)
output.write(" <example filename='%s'>\n" % filename)
try:
synopsis = info['synopsis']
output.write(" <synopsis>%s</synopsis>\n" % escape(synopsis));
except:
print "Example %s lacks a synopsis description" % (filename)
try:
purpose = info['purpose']
output.write(" <purpose>%s</purpose>\n" % escape(purpose));
except:
print "Example %s lacks a purpose description" % (filename)
try:
usage = info['usage']
output.write(" <usage>%s</usage>\n" % escape(usage));
except:
print "Example %s lacks an usage description" % (filename)
try:
test = info['test']
output.write(" <test>%s</test>\n" % escape(test));
progname=filename[0:-2]
command=string.replace(test, progname, './' + progname, 1)
tests.append(command)
except:
pass
try:
author = info['author']
output.write(" <author>%s</author>\n" % escape(author));
except:
print "Example %s lacks an author description" % (filename)
try:
copy = info['copy']
output.write(" <copy>%s</copy>\n" % escape(copy));
except:
print "Example %s lacks a copyright description" % (filename)
try:
section = info['section']
output.write(" <section>%s</section>\n" % escape(section));
if sections.has_key(section):
sections[section].append(filename)
else:
sections[section] = [filename]
except:
print "Example %s lacks a section description" % (filename)
for topic in info.keys():
if topic != "purpose" and topic != "usage" and \
topic != "author" and topic != "copy" and \
topic != "section" and topic != "synopsis" and topic != "test":
str = info[topic]
output.write(" <extra topic='%s'>%s</extra>\n" % (
escape(topic), escape(str)))
output.write(" <includes>\n")
for include in idx.includes.keys():
if include.find("libxml") != -1:
output.write(" <include>%s</include>\n" % (escape(include)))
output.write(" </includes>\n")
output.write(" <uses>\n")
for ref in idx.references.keys():
id = idx.references[ref]
name = id.get_name()
line = id.get_lineno()
if symbols.has_key(name):
sinfo = symbols[name]
refs = sinfo[0]
# gather at most 5 references per symbols
if refs > 5:
continue
sinfo.append(filename)
sinfo[0] = refs + 1
else:
symbols[name] = [1, filename]
info = find_symbol(name)
if info != None:
type = info[0]
file = info[1]
output.write(" <%s line='%d' file='%s' name='%s'/>\n" % (type,
line, file, name))
else:
type = id.get_type()
output.write(" <%s line='%d' name='%s'/>\n" % (type,
line, name))
output.write(" </uses>\n")
output.write(" </example>\n")
return idx
def dump_symbols(output):
global symbols
output.write(" <symbols>\n")
keys = symbols.keys()
keys.sort()
for symbol in keys:
output.write(" <symbol name='%s'>\n" % (symbol))
info = symbols[symbol]
i = 1
while i < len(info):
output.write(" <ref filename='%s'/>\n" % (info[i]))
i = i + 1
output.write(" </symbol>\n")
output.write(" </symbols>\n")
def dump_sections(output):
global sections
output.write(" <sections>\n")
keys = sections.keys()
keys.sort()
for section in keys:
output.write(" <section name='%s'>\n" % (section))
info = sections[section]
i = 0
while i < len(info):
output.write(" <example filename='%s'/>\n" % (info[i]))
i = i + 1
output.write(" </section>\n")
output.write(" </sections>\n")
def dump_Makefile():
for file in glob.glob('*.xml'):
extras.append(file)
for file in glob.glob('*.res'):
extras.append(file)
Makefile="""# Beware this is autogenerated by index.py
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I@srcdir@/include
DEPS = $(top_builddir)/src/libvirt.la
LDADDS = @STATIC_BINARIES@ $(top_builddir)/src/libvirt.la
rebuild: examples.xml index.html
examples.xml: index.py *.c
-@($(srcdir)/index.py)
index.html: examples.xml examples.xsl
-@(xsltproc examples.xsl examples.xml && echo "Rebuilt web page" && xmllint --valid --noout index.html)
install-data-local:
$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)
-@INSTALL@ -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(srcdir)/*.xml $(srcdir)/*.xsl $(srcdir)/*.res $(DESTDIR)$(HTML_DIR)
"""
EXTRA_DIST=""
for extra in extras:
EXTRA_DIST = EXTRA_DIST + extra + " "
Makefile = Makefile + "EXTRA_DIST=%s\n\n" % (EXTRA_DIST)
noinst_PROGRAMS=""
for example in examples:
noinst_PROGRAMS = noinst_PROGRAMS + example + " "
Makefile = Makefile + "noinst_PROGRAMS=%s\n\n" % (noinst_PROGRAMS)
for example in examples:
Makefile = Makefile + "%s_SOURCES=%s.c\n%s_LDFLAGS=\n%s_DEPENDENCIES= $(DEPS)\n%s_LDADD= $(LDADDS)\n\n" % (example, example, example,
example, example)
Makefile = Makefile + "valgrind: \n\t$(MAKE) CHECKER='valgrind' tests\n\n"
Makefile = Makefile + "tests: $(noinst_PROGRAMS)\n"
Makefile = Makefile + "\t@(echo '## examples regression tests')\n"
# Makefile = Makefile + "\t@(echo > .memdump)\n"
for test in tests:
Makefile = Makefile + "\t@($(CHECKER) %s)\n" % (test)
# Makefile = Makefile + '\t@(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)\n'
Makefile = Makefile + "\n\n"
try:
old = open("Makefile.am", "r").read()
if old != Makefile:
n = open("Makefile.am", "w").write(Makefile)
print "Updated Makefile.am"
except:
print "Failed to read or save Makefile.am"
#
# Autogenerate the .cvsignore too ...
#
ignore = """.memdump
Makefile.in
Makefile
"""
for example in examples:
ignore = ignore + "%s\n" % (example)
try:
old = open(".cvsignore", "r").read()
if old != ignore:
n = open(".cvsignore", "w").write(ignore)
print "Updated .cvsignore"
except:
print "Failed to read or save .cvsignore"
if __name__ == "__main__":
load_api()
output = open("examples.xml", "w")
output.write("<examples>\n")
for file in glob.glob('*.c'):
parse(file, output)
examples.append(file[:-2])
dump_symbols(output)
dump_sections(output)
output.write("</examples>\n")
output.close()
dump_Makefile()

63
docs/examples/info1.c Normal file
View File

@ -0,0 +1,63 @@
/**
* section: Informations
* synopsis: Extract informations about Xen domain 0
* purpose: Demonstrate the basic use of the library to connect to the
* hypervisor and extract domain informations.
* usage: info1
* test: info1
* author: Daniel Veillard
* copy: see Copyright for the status of this software.
*/
#include <stdio.h>
#include <libvirt.h>
/**
* getDomainInfo:
* @id: the id of the domain
*
* extract the domain 0 informations
*/
static void
getDomainInfo(int id) {
virConnectPtr conn = NULL; /* the hypervisor connection */
virDomainPtr dom = NULL; /* the domain being checked */
virDomainInfo info; /* the informations being fetched */
int ret;
/* NULL means connect to local Xen hypervisor */
conn = virConnectOpenReadOnly(NULL);
if (conn == NULL) {
fprintf(stderr, "Failed to connect to hypervisor\n");
goto error;
}
/* Find the domain of the given id */
dom = virDomainLookupByID(conn, id);
if (dom == NULL) {
fprintf(stderr, "Failed to find Domain %d\n", id);
goto error;
}
/* Get the informations */
ret = virDomainGetInfo(dom, &info);
if (ret < 0) {
fprintf(stderr, "Failed to get informations for Domain %d\n", id);
goto error;
}
printf("Domains %d: %d CPUs\n", id, info.nrVirtCpu);
error:
if (dom != NULL)
virDomainFree(dom);
if (conn != NULL)
virConnectClose(conn);
}
int main(int argc, char **argv) {
getDomainInfo(0);
return(0);
}

View File

@ -1,13 +1,3 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><style type="text/css">
div.deprecated pre.programlisting {border-style: double;border-color:red}
pre.programlisting {border-style: double;background: #EECFA1}
</style><title>Reference Manual for libvir</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libvir</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libvir-libvir.html">libvir</a>: core interfaces for the libvir library</li></ul><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="../libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Reference Manual for libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Reference Manual for libvirt</h1><h2>Table of Contents</h2><ul><li><a href="libvirt-libvirt.html">libvirt</a>: core interfaces for the libvirt library</li></ul></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="../index.html">Home</a></li><li><a style="font-weight:bold" href="../html/index.html">API Menu</a></li><li><a href="../ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -1,13 +1,3 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><style type="text/css">
div.deprecated pre.programlisting {border-style: double;border-color:red}
pre.programlisting {border-style: double;background: #EECFA1}
</style><title>Reference Manual for libvir</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libvir</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libvir-libvir.html">libvir</a>: core interfaces for the libvir library</li></ul><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="../libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Reference Manual for libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Reference Manual for libvirt</h1><h2>Table of Contents</h2><ul><li><a href="libvirt-libvirt.html">libvirt</a>: core interfaces for the libvirt library</li></ul></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="../index.html">Home</a></li><li><a style="font-weight:bold" href="../html/index.html">API Menu</a></li><li><a href="../ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -1,13 +1,3 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><style type="text/css">
div.deprecated pre.programlisting {border-style: double;border-color:red}
pre.programlisting {border-style: double;background: #EECFA1}
</style><title>Reference Manual for libvir</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libvir</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libvir-libvir.html">libvir</a>: core interfaces for the libvir library</li></ul><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="../libvir.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Reference Manual for libvir</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Reference Manual for libvir</h1><h2>Table of Contents</h2><ul><li><a href="libvir-libvir.html">libvir</a>: core interfaces for the libvir library</li></ul></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="../index.html">Home</a></li><li><a style="font-weight:bold" href="../html/index.html">API Menu</a></li><li><a href="../ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -1,24 +1,18 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><style type="text/css">
div.deprecated pre.programlisting {border-style: double;border-color:red}
pre.programlisting {border-style: double;background: #EECFA1}
</style><title>Module libvir from libvir</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module libvir from libvir</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The virtualization API</a></th></tr></table><p>Provides the interfaces of the libvir library to handle Xen domains from a process running in domain 0 </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a></pre><pre class="programlisting">Structure <a href="#virConnect">virConnect</a><br />struct _virConnect
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="../libvir.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Module libvir from libvir</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Module libvir from libvir</h1><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The virtualization API</a></th></tr></table><p>Provides the interfaces of the libvir library to handle Xen domains from a process running in domain 0 </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a></pre><pre class="programlisting">Structure <a href="#virConnect">virConnect</a><br />struct _virConnect
The content of this structure is not made public by the API.
</pre><pre class="programlisting">Typedef <a href="libvir-libvir.html#virConnect">virConnect</a> * <a name="virConnectPtr" id="virConnectPtr">virConnectPtr</a>
</pre><pre class="programlisting">Enum <a href="#virDeviceMode">virDeviceMode</a>
</pre><pre class="programlisting">Structure <a href="#virDomain">virDomain</a><br />struct _virDomain
The content of this structure is not made public by the API.
</pre><pre class="programlisting">Enum <a href="#virDomainCreateFlags">virDomainCreateFlags</a>
</pre><pre class="programlisting">Structure <a href="#virDomainInfo">virDomainInfo</a><br />struct _virDomainInfo
</pre><pre class="programlisting">Typedef <a href="libvir-libvir.html#virDomainInfo">virDomainInfo</a> * <a name="virDomainInfoPtr" id="virDomainInfoPtr">virDomainInfoPtr</a>
</pre><pre class="programlisting">Structure <a href="#virDomainKernel">virDomainKernel</a><br />struct _virDomainKernel
</pre><pre class="programlisting">Typedef <a href="libvir-libvir.html#virDomainKernel">virDomainKernel</a> * <a name="virDomainKernelPtr" id="virDomainKernelPtr">virDomainKernelPtr</a>
</pre><pre class="programlisting">Typedef <a href="libvir-libvir.html#virDomain">virDomain</a> * <a name="virDomainPtr" id="virDomainPtr">virDomainPtr</a>
</pre><pre class="programlisting">Enum <a href="#virDomainRestart">virDomainRestart</a>
</pre><pre class="programlisting">Enum <a href="#virDomainState">virDomainState</a>
</pre><pre class="programlisting">int <a href="#virConnectClose">virConnectClose</a> (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn)</pre>
<pre class="programlisting">const char * <a href="#virConnectGetType">virConnectGetType</a> (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn)</pre>
@ -38,7 +32,9 @@ The content of this structure is not made public by the API.
<pre class="programlisting">char * <a href="#virDomainGetXMLDesc">virDomainGetXMLDesc</a> (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain, <br /> int flags)</pre>
<pre class="programlisting"><a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> <a href="#virDomainLookupByID">virDomainLookupByID</a> (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn, <br /> int id)</pre>
<pre class="programlisting"><a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> <a href="#virDomainLookupByName">virDomainLookupByName</a> (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * name)</pre>
<pre class="programlisting">int <a href="#virDomainRestore">virDomainRestore</a> (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * from)</pre>
<pre class="programlisting">int <a href="#virDomainResume">virDomainResume</a> (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)</pre>
<pre class="programlisting">int <a href="#virDomainSave">virDomainSave</a> (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain, <br /> const char * to)</pre>
<pre class="programlisting">int <a href="#virDomainSetMaxMemory">virDomainSetMaxMemory</a> (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain, <br /> unsigned long memory)</pre>
<pre class="programlisting">int <a href="#virDomainShutdown">virDomainShutdown</a> (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)</pre>
<pre class="programlisting">int <a href="#virDomainSuspend">virDomainSuspend</a> (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)</pre>
@ -49,7 +45,13 @@ The content of this structure is not made public by the API.
The content of this structure is not made public by the API.
}</pre>
a virConnectPtr is pointer to a virConnect private structure, this is the type used to reference a connection to the Xen Hypervisor in the API.
<h3><a name="virDomain" id="virDomain">Structure virDomain</a></h3><pre class="programlisting">Structure virDomain<br />struct _virDomain {
<h3>Enum <a name="virDeviceMode" id="virDeviceMode">virDeviceMode</a></h3><pre class="programlisting">Enum virDeviceMode {
<a name="VIR_DEVICE_DEFAULT" id="VIR_DEVICE_DEFAULT">VIR_DEVICE_DEFAULT</a> = 0 : Default mode
<a name="VIR_DEVICE_RO" id="VIR_DEVICE_RO">VIR_DEVICE_RO</a> = 1 : Access read-only
<a name="VIR_DEVICE_RW" id="VIR_DEVICE_RW">VIR_DEVICE_RW</a> = 2 : Access read-write
<a name="VIR_DEVICE_RW_FORCE" id="VIR_DEVICE_RW_FORCE">VIR_DEVICE_RW_FORCE</a> = 3 : Forced read-write even if already used
}
</pre><h3><a name="virDomain" id="virDomain">Structure virDomain</a></h3><pre class="programlisting">Structure virDomain<br />struct _virDomain {
The content of this structure is not made public by the API.
}</pre><h3>Enum <a name="virDomainCreateFlags" id="virDomainCreateFlags">virDomainCreateFlags</a></h3><pre class="programlisting">Enum virDomainCreateFlags {
<a name="VIR_DOMAIN_NONE" id="VIR_DOMAIN_NONE">VIR_DOMAIN_NONE</a> = 0
@ -62,15 +64,29 @@ The content of this structure is not made public by the API.
unsigned long long cpuTime : * TODO: * - check what can be extracted
}</pre>
a virDomainInfoPtr is a pointer to a virDomainInfo structure.
<h3><a name="virDomainKernel" id="virDomainKernel">Structure virDomainKernel</a></h3><pre class="programlisting">Structure virDomainKernel<br />struct _virDomainKernel {
const char * kernel : filename pointing to the kernel image
const char * ramdisk : an optional init ramdisk
const char * root : an optional root block device
const char * extra : optional kernel command line parameters
}</pre>
a virDomainKernelPtr is a pointer to a virDomainKernel structure.
a virDomainPtr is pointer to a virDomain private structure, this is the type used to reference a Xen domain in the API.
<h3>Enum <a name="virDomainState" id="virDomainState">virDomainState</a></h3><pre class="programlisting">Enum virDomainState {
<h3>Enum <a name="virDomainRestart" id="virDomainRestart">virDomainRestart</a></h3><pre class="programlisting">Enum virDomainRestart {
<a name="VIR_DOMAIN_DESTROY" id="VIR_DOMAIN_DESTROY">VIR_DOMAIN_DESTROY</a> = 1 : destroy the domain
<a name="VIR_DOMAIN_RESTART" id="VIR_DOMAIN_RESTART">VIR_DOMAIN_RESTART</a> = 2 : restart the domain
<a name="VIR_DOMAIN_PRESERVE" id="VIR_DOMAIN_PRESERVE">VIR_DOMAIN_PRESERVE</a> = 3 : keep as is, need manual destroy, for debug
<a name="VIR_DOMAIN_RENAME_RESTART" id="VIR_DOMAIN_RENAME_RESTART">VIR_DOMAIN_RENAME_RESTART</a> = 4 : restart under an new unique name
}
</pre><h3>Enum <a name="virDomainState" id="virDomainState">virDomainState</a></h3><pre class="programlisting">Enum virDomainState {
<a name="VIR_DOMAIN_NOSTATE" id="VIR_DOMAIN_NOSTATE">VIR_DOMAIN_NOSTATE</a> = 0 : no state
<a name="VIR_DOMAIN_RUNNING" id="VIR_DOMAIN_RUNNING">VIR_DOMAIN_RUNNING</a> = 1 : the domain is running
<a name="VIR_DOMAIN_BLOCKED" id="VIR_DOMAIN_BLOCKED">VIR_DOMAIN_BLOCKED</a> = 2 : the domain is blocked on resource
<a name="VIR_DOMAIN_PAUSED" id="VIR_DOMAIN_PAUSED">VIR_DOMAIN_PAUSED</a> = 3 : the domain is paused by user
<a name="VIR_DOMAIN_SHUTDOWN" id="VIR_DOMAIN_SHUTDOWN">VIR_DOMAIN_SHUTDOWN</a> = 4 : the domain is being shut down
<a name="VIR_DOMAIN_SHUTOFF" id="VIR_DOMAIN_SHUTOFF">VIR_DOMAIN_SHUTOFF</a> = 5 : the domain is shut off
<a name="VIR_DOMAIN_CRASHED" id="VIR_DOMAIN_CRASHED">VIR_DOMAIN_CRASHED</a> = 6 : the domain is crashed
}
</pre><h3><a name="virConnectClose" id="virConnectClose"></a>Function: virConnectClose</h3><pre class="programlisting">int virConnectClose (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn)<br />
</pre><p>This function closes the connection to the Hypervisor. This should not be called if further interaction with the Hypervisor are needed especially if there is running domain which need further monitoring by the application.</p>
@ -85,11 +101,11 @@ The content of this structure is not made public by the API.
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of domain found or -1 in case of error</td></tr></tbody></table></div><h3><a name="virConnectOpen" id="virConnectOpen"></a>Function: virConnectOpen</h3><pre class="programlisting"><a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> virConnectOpen (const char * name)<br />
</pre><p>This function should be called first to get a connection to the Hypervisor and xen store</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>optional argument currently unused, pass NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the hypervisor connection or NULL in case of error</td></tr></tbody></table></div><h3><a name="virConnectOpenReadOnly" id="virConnectOpenReadOnly"></a>Function: virConnectOpenReadOnly</h3><pre class="programlisting"><a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> virConnectOpenReadOnly (const char * name)<br />
</pre><p>This function should be called first to get a read-only connection to the xen store. The set of APIs usable are then restricted.</p>
</pre><p>This function should be called first to get a restricted connection to the libbrary functionalities. The set of APIs usable are then restricted on the available methods to control the domains.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>optional argument currently unused, pass NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the hypervisor connection or NULL in case of error</td></tr></tbody></table></div><h3><a name="virDomainCreateLinux" id="virDomainCreateLinux"></a>Function: virDomainCreateLinux</h3><pre class="programlisting"><a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> virDomainCreateLinux (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * kernel_path, <br /> const char * initrd_path, <br /> const char * cmdline, <br /> unsigned long memory, <br /> unsigned int flags)<br />
</pre><p>Launch a new Linux guest domain, unimplemented yet, API to be defined. This would function requires priviledged access to the hypervisor.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><span class="term"><i><tt>kernel_path</tt></i>:</span></td><td>the file path to the kernel image</td></tr><tr><td><span class="term"><i><tt>initrd_path</tt></i>:</span></td><td>an optional file path to an initrd</td></tr><tr><td><span class="term"><i><tt>cmdline</tt></i>:</span></td><td>optional command line parameters for the kernel</td></tr><tr><td><span class="term"><i><tt>memory</tt></i>:</span></td><td>the memory size in kilobytes</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>an optional set of virDomainFlags</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new domain object or NULL in case of failure</td></tr></tbody></table></div><h3><a name="virDomainDestroy" id="virDomainDestroy"></a>Function: virDomainDestroy</h3><pre class="programlisting">int virDomainDestroy (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Destroy the domain object. The running instance is shutdown if not down already and all resources used by it are given back to the hypervisor. The data structure is freed and should not be used thereafter if the call does not return an error. This function requires priviledged access to the hypervisor.</p>
</pre><p>Destroy the domain object. The running instance is shutdown if not down already and all resources used by it are given back to the hypervisor. The data structure is freed and should not be used thereafter if the call does not return an error. This function may requires priviledged access</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainFree" id="virDomainFree"></a>Function: virDomainFree</h3><pre class="programlisting">int virDomainFree (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Free the domain object. The running instance is kept alive. The data structure is freed and should not be used thereafter.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainGetID" id="virDomainGetID"></a>Function: virDomainGetID</h3><pre class="programlisting">unsigned int virDomainGetID (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)<br />
@ -108,14 +124,18 @@ The content of this structure is not made public by the API.
</pre><p>Try to find a domain based on the hypervisor ID number</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><span class="term"><i><tt>id</tt></i>:</span></td><td>the domain ID number</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new domain object or NULL in case of failure</td></tr></tbody></table></div><h3><a name="virDomainLookupByName" id="virDomainLookupByName"></a>Function: virDomainLookupByName</h3><pre class="programlisting"><a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> virDomainLookupByName (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * name)<br />
</pre><p>Try to lookup a domain on the given hypervisor based on its name.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>name for the domain</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new domain object or NULL in case of failure</td></tr></tbody></table></div><h3><a name="virDomainResume" id="virDomainResume"></a>Function: virDomainResume</h3><pre class="programlisting">int virDomainResume (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Resume an suspended domain, the process is restarted from the state where it was frozen by calling virSuspendDomain(). This function requires priviledged access to the hypervisor.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainSetMaxMemory" id="virDomainSetMaxMemory"></a>Function: virDomainSetMaxMemory</h3><pre class="programlisting">int virDomainSetMaxMemory (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain, <br /> unsigned long memory)<br />
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>name for the domain</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new domain object or NULL in case of failure</td></tr></tbody></table></div><h3><a name="virDomainRestore" id="virDomainRestore"></a>Function: virDomainRestore</h3><pre class="programlisting">int virDomainRestore (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * from)<br />
</pre><p>This method will restore a domain saved to disk by virDomainSave().</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>path to the</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainResume" id="virDomainResume"></a>Function: virDomainResume</h3><pre class="programlisting">int virDomainResume (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Resume an suspended domain, the process is restarted from the state where it was frozen by calling virSuspendDomain(). This function may requires priviledged access</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainSave" id="virDomainSave"></a>Function: virDomainSave</h3><pre class="programlisting">int virDomainSave (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain, <br /> const char * to)<br />
</pre><p>This method will suspend a domain and save its memory contents to a file on disk. After the call, if successful, the domain is not listed as running anymore (this may be a problem). Use virDomainRestore() to restore a domain after saving.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>path for the output file</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainSetMaxMemory" id="virDomainSetMaxMemory"></a>Function: virDomainSetMaxMemory</h3><pre class="programlisting">int virDomainSetMaxMemory (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain, <br /> unsigned long memory)<br />
</pre><p>Dynamically change the maximum amount of physical memory allocated to a domain. If domain is NULL, then this change the amount of memory reserved to Domain0 i.e. the domain where the application runs. This function requires priviledged access to the hypervisor.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object or NULL</td></tr><tr><td><span class="term"><i><tt>memory</tt></i>:</span></td><td>the memory size in kilobytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainShutdown" id="virDomainShutdown"></a>Function: virDomainShutdown</h3><pre class="programlisting">int virDomainShutdown (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Shutdown a domain, the domain object is still usable there after but the domain OS is being stopped. TODO: should we add an option for reboot, knowing it may not be doable in the general case ?</p>
</pre><p>Shutdown a domain, the domain object is still usable there after but the domain OS is being stopped. Note that the guest OS may ignore the request. TODO: should we add an option for reboot, knowing it may not be doable in the general case ?</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainSuspend" id="virDomainSuspend"></a>Function: virDomainSuspend</h3><pre class="programlisting">int virDomainSuspend (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Suspends an active domain, the process is frozen without further access to CPU resources and I/O but the memory used by the domain at the hypervisor level will stay allocated. Use virDomainResume() to reactivate the domain. This function requires priviledged access to the hypervisor.</p>
</pre><p>Suspends an active domain, the process is frozen without further access to CPU resources and I/O but the memory used by the domain at the hypervisor level will stay allocated. Use virDomainResume() to reactivate the domain. This function may requires priviledged access.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virGetVersion" id="virGetVersion"></a>Function: virGetVersion</h3><pre class="programlisting">int virGetVersion (unsigned long * libVer, <br /> const char * type, <br /> unsigned long * typeVer)<br />
</pre><p>Provides two information back, @libVer is the version of the library while @typeVer will be the version of the hypervisor type @type against which the library was compiled. If @type is NULL, "Xen" is assumed, if @type is unknown or not availble, an error code will be returned and @typeVer will be 0.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>libVer</tt></i>:</span></td><td>return value for the library version (OUT)</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>hypervisor type</td></tr><tr><td><span class="term"><i><tt>typeVer</tt></i>:</span></td><td>return value for the version of the hypervisor (OUT)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 otherwise, and values for @libVer and @typeVer have the format major * 1,000,000 + minor * 1,000 + release.</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>libVer</tt></i>:</span></td><td>return value for the library version (OUT)</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>hypervisor type</td></tr><tr><td><span class="term"><i><tt>typeVer</tt></i>:</span></td><td>return value for the version of the hypervisor (OUT)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 otherwise, and values for @libVer and @typeVer have the format major * 1,000,000 + minor * 1,000 + release.</td></tr></tbody></table></div></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="../index.html">Home</a></li><li><a style="font-weight:bold" href="../html/index.html">API Menu</a></li><li><a href="../ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -3,160 +3,92 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<link rel="SHORTCUT ICON" href="/favicon.ico" />
<style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style>
<title>Libvir the virtualization API</title>
<link rel="stylesheet" type="text/css" href="libvirt.css" />
<link rel="SHORTCUT ICON" href="/32favicon.png" />
<title>the virtualization API</title>
</head>
<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center">
<tr>
<td width="120">
<a href="http://www.redhat.com/">
<img src="redhat.gif" alt="Red Hat Logo" />
</a>
</td>
<td>
<table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000">
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd">
<tr>
<td align="center">
<h1>Libvir the virtualization API</h1>
<h2>libvir</h2>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td colspan="1" bgcolor="#eecfa1" align="center">
<center>
<b>Main Menu</b>
</center>
</td>
</tr>
<tr>
<td bgcolor="#fffacd">
<form action="search.php" enctype="application/x-www-form-urlencoded" method="get">
<input name="query" type="text" size="20" value="" />
<input name="submit" type="submit" value="Search ..." />
</form>
<ul>
<li>
<a href="index.html">Home</a>
</li>
<li>
<a href="news.html">Releases</a>
</li>
<li>
<a href="intro.html">Introduction</a>
</li>
<li>
<a href="downloads.html">Downloads</a>
</li>
<li>
<a href="FAQ.html">FAQ</a>
</li>
<li>
<a href="bugs.html">Reporting bugs and getting help</a>
</li>
<li>
<a style="font-weight:bold" href="html/index.html">API Menu</a>
</li>
<li>
<a href="ChangeLog.html">Recent Changes</a>
</li>
</ul>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td colspan="1" bgcolor="#eecfa1" align="center">
<center>
<b>Related links</b>
</center>
</td>
</tr>
<tr>
<td bgcolor="#fffacd">
<ul>
<li>
<a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a>
</li>
<li>
<a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a>
</li>
</ul>
</td>
</tr>
</table>
</td>
</tr>
</table>
<a href="http://xmlsoft.org/">
<img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" />
</a>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<p>Libvir is a C toolkit to interract with the virtualization capabilities of
<body>
<div id="container">
<div id="intro">
<div id="adjustments">
<p class="p1"></p>
</div>
<div id="content">
<h3>what is <span class="style1">libvir?</span></h3>
<p>Libvir is a C toolkit to interract with the virtualization capabilities of
recent versions of Linux (and other OSes). It is free software available
under the <a href="http://www.opensource.org/licenses/lgpl-license.html">GNU
Lesser General Public License</a>. Virtualization of the Linux Operating
System means the ability to run multiple instances of Operating Systems
concurently 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
primarily for the <a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen
paravirtualization</a> mechanism but should be able to integrate other
virtualization mechanisms if needed.</p>
<p>
<a href="bugs.html">Daniel Veillard</a>
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
initially for the <a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen
paravirtualization</a> but should be able to integrate other virtualization
mechanisms if needed.</p>
</div>
</div>
<div class="linkList">
<div class="llinks">
<h3 class="links">
<span>main menu</span>
</h3>
<ul>
<li>Home</li>
<li>
<a href="news.html">Releases</a>
</li>
<li>
<a href="intro.html">Introduction</a>
</li>
<li>
<a href="architecture.html">libvir architecture</a>
</li>
<li>
<a href="downloads.html">Downloads</a>
</li>
<li>
<a href="FAQ.html">FAQ</a>
</li>
<li>
<a href="bugs.html">Reporting bugs and getting help</a>
</li>
<li>
<a style="font-weight:bold" href="html/index.html">API Menu</a>
</li>
<li>
<a href="ChangeLog.html">Recent Changes</a>
</li>
</ul>
</div>
<div class="llinks">
<h3 class="links">
<span>related links</span>
</h3>
<ul>
<li>
<a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a>
</li>
<li>
<a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a>
</li>
<li>
<form action="search.php" enctype="application/x-www-form-urlencoded" method="get">
<input name="query" type="text" size="12" value="Search..." />
<input name="submit" type="submit" value="Go" />
</form>
</li>
<li>
<a href="http://xmlsoft.org/">
<img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" />
</a>
</li>
</ul>
<p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p>
</div>
</div>
<div id="bottom">
<p class="p1"></p>
</div>
</div>
</body>
</html>

View File

@ -1,10 +1,30 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>Introduction</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>Introduction</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p></p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Introduction</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Introduction</h1><p>Libvir is a C toolkit to interact with the virtualization capabilities of
recent versions of Linux (and other OSes), but libvir won't try to provide
all possible interfaces for interacting with the virtualization features.</p><p>To avoid ambiguity about the terms used here here are the definitions for
some of the specific concepts used in libvir documentation:</p><ul><li>a <strong>node</strong> is a single physical machine</li>
<li>an <strong>hypervisor</strong> is a layer of software allowing to
virtualize a node in a set of virtual machines with possibly different
configurations than the node itself</li>
<li>a <strong>domain</strong> is an instance of an operating system running
on a virtualized machine provided by the hypervisor</li>
</ul><p style="text-align: center"><img alt="Hypervisor and domains running on a node" src="node.gif" /></p><p>Now we can define the goal of libvir: to provide the lowest possible
generic and stable layer to manage domains on a node.</p><p>This implies the following:</p><ul><li>the API should not be targetted to a single virtualization environment
though Xen is the current default, which also means that some very
specific capabilities which are not generic enough may not be provided as
libvir APIs</li>
<li>the API should allow to do efficiently and cleanly all the operations
needed to manage domains on a node</li>
<li>the API will not try to provide hight level multi-nodes management
features like load balancing, though they could be implemented on top of
libvir</li>
<li>stability of the API is a big concern, libvir should isolate
applications from the frequent changes expected at the lower level of the
virtualization framework</li>
</ul><p>So libvir should be a building block for higher level management tools and
for applications focusing on virtualization of a single node (the only
exception being domain migration between node capabilities which may need to
be added at the libvir level). Where possible libvir should be extendable to
be able to provide the same API for remote nodes, however this is not the
case at the moment, the code currently handle only local node accesses.</p></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="architecture.html">libvir architecture</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -12,6 +12,8 @@ site</a></h1>
<h1 style="text-align: center">libvir</h1>
<h3>what is <span class="style1">libvir?</span></h3>
<p>Libvir is a C toolkit to interract with the virtualization capabilities of
recent versions of Linux (and other OSes). It is free software available
under the <a href="http://www.opensource.org/licenses/lgpl-license.html">GNU
@ -19,18 +21,27 @@ Lesser General Public License</a>. Virtualization of the Linux Operating
System means the ability to run multiple instances of Operating Systems
concurently 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
primarily for the <a
initially for the <a
href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen
paravirtualization</a> mechanism but should be able to integrate other
virtualization mechanisms if needed.</p>
paravirtualization</a> but should be able to integrate other virtualization
mechanisms if needed.</p>
<h2><a name="News">Releases</a></h2>
<p>There is no official release yet, just CVS state and snapshot, contact the
mailing list and check the <a href="ChangeLog.html">ChangeLog</a> to gauge
progresses.</p>
<p>Here is the list of official releases, however since it is early on in the
development of libvir, it is preferable when possible to just use the <a
href="downloads.html">CVS version or snapshot</a>, contact the mailing list
and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progresses.</p>
<h3>0.0.2: Jan 29 2006</h3>
<ul>
<li>Extending the API</li>
<li>Update of the documentation, web site redesign (Diana Fong)</li>
<li>integration of HTTP xend RPC based on libxend by Anthony Liquori for
most operations</li>
<li>Adding Save and Restore APIs</li>
<li>extended the virsh command line tool (Karel Zak)</li>
<li>remove xenstore transactions (Anthony Liguori)</li>
<li>fix the Python bindings bug when domain and connections where freed</li>
</ul>
<h3>0.0.1: Dec 19 2005</h3>
@ -42,11 +53,88 @@ progresses.</p>
<h2><a name="Introducti">Introduction</a></h2>
<p></p>
<p>Libvir is a C toolkit to interact with the virtualization capabilities of
recent versions of Linux (and other OSes), but libvir won't try to provide
all possible interfaces for interacting with the virtualization features.</p>
<p>To avoid ambiguity about the terms used here here are the definitions for
some of the specific concepts used in libvir documentation:</p>
<ul>
<li>a <strong>node</strong> is a single physical machine</li>
<li>an <strong>hypervisor</strong> is a layer of software allowing to
virtualize a node in a set of virtual machines with possibly different
configurations than the node itself</li>
<li>a <strong>domain</strong> is an instance of an operating system running
on a virtualized machine provided by the hypervisor</li>
</ul>
<p style="text-align: center"><img
alt="Hypervisor and domains running on a node" src="node.gif"></p>
<p>Now we can define the goal of libvir: to provide the lowest possible
generic and stable layer to manage domains on a node.</p>
<p>This implies the following:</p>
<ul>
<li>the API should not be targetted to a single virtualization environment
though Xen is the current default, which also means that some very
specific capabilities which are not generic enough may not be provided as
libvir APIs</li>
<li>the API should allow to do efficiently and cleanly all the operations
needed to manage domains on a node</li>
<li>the API will not try to provide hight level multi-nodes management
features like load balancing, though they could be implemented on top of
libvir</li>
<li>stability of the API is a big concern, libvir should isolate
applications from the frequent changes expected at the lower level of the
virtualization framework</li>
</ul>
<p>So libvir should be a building block for higher level management tools and
for applications focusing on virtualization of a single node (the only
exception being domain migration between node capabilities which may need to
be added at the libvir level). Where possible libvir should be extendable to
be able to provide the same API for remote nodes, however this is not the
case at the moment, the code currently handle only local node accesses.</p>
<h2><a name="architecture">libvir architecture</a></h2>
<p></p>
<h3>This is Xen specific since this is the only hypervisor supported at the
moment</h3>
<p>When running in a Xen environment, programs using libvir have to execute
in "Domain 0", which is the primary Linux OS loaded on the machine. That OS
kernel provides most if not all of the actual drivers used by the set of
domains. It also runs the Xen Store, a database of informations shared by the
hypervisor, the kernels, the drivers and the xen daemon. Xend. The xen daemon
supervise the control and execution of the sets of domains. The hypervisor,
drivers, kernels and daemons communicate though a shared system bus
implemented in the hypervisor. The figure below tries to provide a view of
this environment:</p>
<img src="architecture.gif" alt="The Xen architecture">
<p>The library can be initialized in 2 ways depending on the level of
priviledge of the embedding program. If it runs with root access,
virConnectOpen() can be used, it will use three different ways to connect to
the Xen infrastructure:</p>
<ul>
<li>a connection to the Xen Daemon though an HTTP RPC layer</li>
<li>a read/write connection to the Xen Store</li>
<li>use Xen Hypervisor calls</li>
</ul>
<p>The library will usually interract with the Xen daemon for any operation
changing the state of the system, but for performance and accuracy reasons
may talk directly to the hypervisor when gathering state informations at
least when possible (i.e. when the running program using libvir has root
priviledge access).</p>
<p>If it runs without root access virConnectOpenReadOnly() should be used to
connect to initialize the library. It will try to open the read-only socket
<code>/var/run/xenstored/socket_ro</code> to connect to the Xen Store and
also try to use the RPC to the Xen daemon. In this case use of hypervisor
calls and write to the Xen Store will not be possible, restraining the amount
of APIs available and slowing down information gathering about domains.</p>
<h2><a name="Downloads">Downloads</a></h2>
@ -120,11 +208,20 @@ available except commiting to the base.</p>
<p><code>make rpm</code></p>
</li>
<li><em>Failure to use the API for non-root users</em>
<p>Large parts of the API are only accessible as root, however the read
only access to the xenstore data doesnot have to be forbidden to user, at
least for monitoring purposes. If "virsh info" fails to run as an user,
change the mode of the xenstore read-only socket with:</p>
<p>Large parts of the API may only be accessible with root priviledges,
however the read only access to the xenstore data doesnot have to be
forbidden to user, at least for monitoring purposes. If "virsh dinfo"
fails to run as an user, change the mode of the xenstore read-only socket
with:</p>
<p><code>chmod 666 /var/run/xenstored/socket_ro</code></p>
<p>and also make sure that the Xen Daemon is running correctly with local
HTTP server enabled, this is defined in
<code>/etc/xen/xend-config.sxp</code> which need the following line to be
enabled:</p>
<p><code>(xend-http-server yes)</code></p>
<p>If needed restart the xend daemon after making the change with the
following command run as root:</p>
<p><code>service xend restart</code></p>
</li>
</ol>
@ -176,7 +273,7 @@ attachments are really appreciated and will be discussed on the mailing list.
If possible generate the patches by using cvs diff -u in a CVS checkout.</p>
<p>We expect to use <a href="https://bugzilla.redhat.com/">Red Hat
Bugzilla</a> to track bugs for libvir, though there isn't yet a libvir
software module.</p>
Bugzilla</a> to track bugs for libvir, though there isn't a libvir software
module defined yet, in the meantime use the mailing-list, thanks !.</p>
</body>
</html>

BIN
docs/libvirHeader.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

BIN
docs/libvirLogo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -1,32 +1,48 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<api name='libvir'>
<api name='libvirt'>
<files>
<file name='libvir'>
<summary>core interfaces for the libvir library</summary>
<description>Provides the interfaces of the libvir library to handle Xen domains from a process running in domain 0 </description>
<file name='libvirt'>
<summary>core interfaces for the libvirt library</summary>
<description>Provides the interfaces of the libvirt library to handle Xen domains from a process running in domain 0 </description>
<author>Daniel Veillard &lt;veillard@redhat.com&gt; </author>
<exports symbol='LIBVIR_VERSION_NUMBER' type='macro'/>
<exports symbol='VIR_DOMAIN_SHUTOFF' type='enum'/>
<exports symbol='VIR_DOMAIN_DESTROY' type='enum'/>
<exports symbol='VIR_DEVICE_DEFAULT' type='enum'/>
<exports symbol='VIR_DOMAIN_RENAME_RESTART' type='enum'/>
<exports symbol='VIR_DOMAIN_PRESERVE' type='enum'/>
<exports symbol='VIR_DOMAIN_SHUTDOWN' type='enum'/>
<exports symbol='VIR_DEVICE_RO' type='enum'/>
<exports symbol='VIR_DEVICE_RW_FORCE' type='enum'/>
<exports symbol='VIR_DOMAIN_CRASHED' type='enum'/>
<exports symbol='VIR_DOMAIN_NONE' type='enum'/>
<exports symbol='VIR_DEVICE_RW' type='enum'/>
<exports symbol='VIR_DOMAIN_BLOCKED' type='enum'/>
<exports symbol='VIR_DOMAIN_PAUSED' type='enum'/>
<exports symbol='VIR_DOMAIN_RESTART' type='enum'/>
<exports symbol='VIR_DOMAIN_RUNNING' type='enum'/>
<exports symbol='VIR_DOMAIN_NOSTATE' type='enum'/>
<exports symbol='virDomainInfoPtr' type='typedef'/>
<exports symbol='virDomainKernelPtr' type='typedef'/>
<exports symbol='virConnectPtr' type='typedef'/>
<exports symbol='virDomainKernel' type='typedef'/>
<exports symbol='virDomainState' type='typedef'/>
<exports symbol='virDeviceMode' type='typedef'/>
<exports symbol='virDomain' type='typedef'/>
<exports symbol='virDomainPtr' type='typedef'/>
<exports symbol='virDomainRestart' type='typedef'/>
<exports symbol='virConnect' type='typedef'/>
<exports symbol='virDomainCreateFlags' type='typedef'/>
<exports symbol='virDomainInfo' type='typedef'/>
<exports symbol='_virDomainInfo' type='struct'/>
<exports symbol='_virDomainKernel' type='struct'/>
<exports symbol='virDomainGetInfo' type='function'/>
<exports symbol='virDomainShutdown' type='function'/>
<exports symbol='virGetVersion' type='function'/>
<exports symbol='virDomainLookupByName' type='function'/>
<exports symbol='virDomainRestore' type='function'/>
<exports symbol='virConnectGetType' type='function'/>
<exports symbol='virDomainSave' type='function'/>
<exports symbol='virConnectListDomains' type='function'/>
<exports symbol='virDomainLookupByID' type='function'/>
<exports symbol='virDomainGetOSType' type='function'/>
@ -48,23 +64,33 @@
</file>
</files>
<symbols>
<macro name='LIBVIR_VERSION_NUMBER' file='libvir'>
<macro name='LIBVIR_VERSION_NUMBER' file='libvirt'>
<info>Macro providing the version of the library as version * 1,000,000 + minor * 1000 + micro</info>
</macro>
<enum name='VIR_DOMAIN_BLOCKED' file='libvir' value='2' type='virDomainState' info='the domain is blocked on resource'/>
<enum name='VIR_DOMAIN_NONE' file='libvir' value='0' type='virDomainCreateFlags'/>
<enum name='VIR_DOMAIN_NOSTATE' file='libvir' value='0' type='virDomainState' info='no state'/>
<enum name='VIR_DOMAIN_PAUSED' file='libvir' value='3' type='virDomainState' info='the domain is paused by user'/>
<enum name='VIR_DOMAIN_RUNNING' file='libvir' value='1' type='virDomainState' info='the domain is running'/>
<enum name='VIR_DOMAIN_SHUTDOWN' file='libvir' value='4' type='virDomainState' info='the domain is being shut down'/>
<enum name='VIR_DOMAIN_SHUTOFF' file='libvir' value='5' type='virDomainState' info=' the domain is shut off'/>
<struct name='virConnect' file='libvir' type='struct _virConnect'/>
<typedef name='virConnectPtr' file='libvir' type='virConnect *'>
<enum name='VIR_DEVICE_DEFAULT' file='libvirt' value='0' type='virDeviceMode' info='Default mode'/>
<enum name='VIR_DEVICE_RO' file='libvirt' value='1' type='virDeviceMode' info='Access read-only'/>
<enum name='VIR_DEVICE_RW' file='libvirt' value='2' type='virDeviceMode' info='Access read-write'/>
<enum name='VIR_DEVICE_RW_FORCE' file='libvirt' value='3' type='virDeviceMode' info=' Forced read-write even if already used'/>
<enum name='VIR_DOMAIN_BLOCKED' file='libvirt' value='2' type='virDomainState' info='the domain is blocked on resource'/>
<enum name='VIR_DOMAIN_CRASHED' file='libvirt' value='6' type='virDomainState' info=' the domain is crashed'/>
<enum name='VIR_DOMAIN_DESTROY' file='libvirt' value='1' type='virDomainRestart' info='destroy the domain'/>
<enum name='VIR_DOMAIN_NONE' file='libvirt' value='0' type='virDomainCreateFlags'/>
<enum name='VIR_DOMAIN_NOSTATE' file='libvirt' value='0' type='virDomainState' info='no state'/>
<enum name='VIR_DOMAIN_PAUSED' file='libvirt' value='3' type='virDomainState' info='the domain is paused by user'/>
<enum name='VIR_DOMAIN_PRESERVE' file='libvirt' value='3' type='virDomainRestart' info='keep as is, need manual destroy, for debug'/>
<enum name='VIR_DOMAIN_RENAME_RESTART' file='libvirt' value='4' type='virDomainRestart' info=' restart under an new unique name'/>
<enum name='VIR_DOMAIN_RESTART' file='libvirt' value='2' type='virDomainRestart' info='restart the domain'/>
<enum name='VIR_DOMAIN_RUNNING' file='libvirt' value='1' type='virDomainState' info='the domain is running'/>
<enum name='VIR_DOMAIN_SHUTDOWN' file='libvirt' value='4' type='virDomainState' info='the domain is being shut down'/>
<enum name='VIR_DOMAIN_SHUTOFF' file='libvirt' value='5' type='virDomainState' info='the domain is shut off'/>
<struct name='virConnect' file='libvirt' type='struct _virConnect'/>
<typedef name='virConnectPtr' file='libvirt' type='virConnect *'>
<info>a virConnectPtr is pointer to a virConnect private structure, this is the type used to reference a connection to the Xen Hypervisor in the API.</info>
</typedef>
<struct name='virDomain' file='libvir' type='struct _virDomain'/>
<typedef name='virDomainCreateFlags' file='libvir' type='enum'/>
<struct name='virDomainInfo' file='libvir' type='struct _virDomainInfo'>
<typedef name='virDeviceMode' file='libvirt' type='enum'/>
<struct name='virDomain' file='libvirt' type='struct _virDomain'/>
<typedef name='virDomainCreateFlags' file='libvirt' type='enum'/>
<struct name='virDomainInfo' file='libvirt' type='struct _virDomainInfo'>
<field name='state' type='unsigned char' info=' the running state, one of virDomainFlags'/>
<field name='maxMem' type='unsigned long' info=' the maximum memory in KBytes allowed'/>
<field name='memory' type='unsigned long' info=' the memory in KBytes used by the domain'/>
@ -77,52 +103,62 @@
* - add padding to this structure for ABI long term protection
*'/>
</struct>
<typedef name='virDomainInfoPtr' file='libvir' type='virDomainInfo *'>
<typedef name='virDomainInfoPtr' file='libvirt' type='virDomainInfo *'>
<info>a virDomainInfoPtr is a pointer to a virDomainInfo structure.</info>
</typedef>
<typedef name='virDomainPtr' file='libvir' type='virDomain *'>
<struct name='virDomainKernel' file='libvirt' type='struct _virDomainKernel'>
<field name='kernel' type='const char *' info=' filename pointing to the kernel image'/>
<field name='ramdisk' type='const char *' info=' an optional init ramdisk'/>
<field name='root' type='const char *' info=' an optional root block device'/>
<field name='extra' type='const char *' info=' optional kernel command line parameters'/>
</struct>
<typedef name='virDomainKernelPtr' file='libvirt' type='virDomainKernel *'>
<info>a virDomainKernelPtr is a pointer to a virDomainKernel structure.</info>
</typedef>
<typedef name='virDomainPtr' file='libvirt' type='virDomain *'>
<info>a virDomainPtr is pointer to a virDomain private structure, this is the type used to reference a Xen domain in the API.</info>
</typedef>
<typedef name='virDomainState' file='libvir' type='enum'/>
<function name='virConnectClose' file='libvir' module='libvir'>
<typedef name='virDomainRestart' file='libvirt' type='enum'/>
<typedef name='virDomainState' file='libvirt' type='enum'/>
<function name='virConnectClose' file='libvirt' module='libvirt'>
<info>This function closes the connection to the Hypervisor. This should not be called if further interaction with the Hypervisor are needed especially if there is running domain which need further monitoring by the application.</info>
<return type='int' info='0 in case of success or -1 in case of error.'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
</function>
<function name='virConnectGetType' file='libvir' module='libvir'>
<function name='virConnectGetType' file='libvirt' module='libvirt'>
<info>Get the name of the Hypervisor software used.</info>
<return type='const char *' info='NULL in case of error, a static zero terminated string otherwise.'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
</function>
<function name='virConnectGetVersion' file='libvir' module='libvir'>
<function name='virConnectGetVersion' file='libvirt' module='libvirt'>
<info>Get the version level of the Hypervisor running. This may work only with hypervisor call, i.e. with priviledged access to the hypervisor, not with a Read-Only connection.</info>
<return type='int' info='-1 in case of error, 0 otherwise. if the version can&apos;t be extracted by lack of capacities returns 0 and @hvVer is 0, otherwise @hvVer value is major * 1,000,000 + minor * 1,000 + release'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='hvVer' type='unsigned long *' info='return value for the version of the running hypervisor (OUT)'/>
</function>
<function name='virConnectListDomains' file='libvir' module='libvir'>
<function name='virConnectListDomains' file='libvirt' module='libvirt'>
<info>Collect the list of active domains, and store their ID in @maxids</info>
<return type='int' info='the number of domain found or -1 in case of error'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='ids' type='int *' info='array to collect the list of IDs of active domains'/>
<arg name='maxids' type='int' info='size of @ids'/>
</function>
<function name='virConnectNumOfDomains' file='libvir' module='libvir'>
<function name='virConnectNumOfDomains' file='libvirt' module='libvirt'>
<info>Provides the number of active domains.</info>
<return type='int' info='the number of domain found or -1 in case of error'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
</function>
<function name='virConnectOpen' file='libvir' module='libvir'>
<function name='virConnectOpen' file='libvirt' module='libvirt'>
<info>This function should be called first to get a connection to the Hypervisor and xen store</info>
<return type='virConnectPtr' info='a pointer to the hypervisor connection or NULL in case of error'/>
<arg name='name' type='const char *' info='optional argument currently unused, pass NULL'/>
</function>
<function name='virConnectOpenReadOnly' file='libvir' module='libvir'>
<info>This function should be called first to get a read-only connection to the xen store. The set of APIs usable are then restricted.</info>
<function name='virConnectOpenReadOnly' file='libvirt' module='libvirt'>
<info>This function should be called first to get a restricted connection to the libbrary functionalities. The set of APIs usable are then restricted on the available methods to control the domains.</info>
<return type='virConnectPtr' info='a pointer to the hypervisor connection or NULL in case of error'/>
<arg name='name' type='const char *' info='optional argument currently unused, pass NULL'/>
</function>
<function name='virDomainCreateLinux' file='libvir' module='libvir'>
<function name='virDomainCreateLinux' file='libvirt' module='libvirt'>
<info>Launch a new Linux guest domain, unimplemented yet, API to be defined. This would function requires priviledged access to the hypervisor.</info>
<return type='virDomainPtr' info='a new domain object or NULL in case of failure'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
@ -132,82 +168,94 @@
<arg name='memory' type='unsigned long' info='the memory size in kilobytes'/>
<arg name='flags' type='unsigned int' info='an optional set of virDomainFlags'/>
</function>
<function name='virDomainDestroy' file='libvir' module='libvir'>
<info>Destroy the domain object. The running instance is shutdown if not down already and all resources used by it are given back to the hypervisor. The data structure is freed and should not be used thereafter if the call does not return an error. This function requires priviledged access to the hypervisor.</info>
<function name='virDomainDestroy' file='libvirt' module='libvirt'>
<info>Destroy the domain object. The running instance is shutdown if not down already and all resources used by it are given back to the hypervisor. The data structure is freed and should not be used thereafter if the call does not return an error. This function may requires priviledged access</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virDomainFree' file='libvir' module='libvir'>
<function name='virDomainFree' file='libvirt' module='libvirt'>
<info>Free the domain object. The running instance is kept alive. The data structure is freed and should not be used thereafter.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virDomainGetID' file='libvir' module='libvir'>
<function name='virDomainGetID' file='libvirt' module='libvirt'>
<info>Get the hypervisor ID number for the domain</info>
<return type='unsigned int' info='the domain ID number or (unsigned int) -1 in case of error'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virDomainGetInfo' file='libvir' module='libvir'>
<function name='virDomainGetInfo' file='libvirt' module='libvirt'>
<info>Extract information about a domain. Note that if the connection used to get the domain is limited only a partial set of the informations can be extracted.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
<arg name='info' type='virDomainInfoPtr' info='pointer to a virDomainInfo structure allocated by the user'/>
</function>
<function name='virDomainGetMaxMemory' file='libvir' module='libvir'>
<function name='virDomainGetMaxMemory' file='libvirt' module='libvirt'>
<info>Retrieve the maximum amount of physical memory allocated to a domain. If domain is NULL, then this get the amount of memory reserved to Domain0 i.e. the domain where the application runs.</info>
<return type='unsigned long' info='the memory size in kilobytes or 0 in case of error.'/>
<arg name='domain' type='virDomainPtr' info='a domain object or NULL'/>
</function>
<function name='virDomainGetName' file='libvir' module='libvir'>
<function name='virDomainGetName' file='libvirt' module='libvirt'>
<info>Get the public name for that domain</info>
<return type='const char *' info='a pointer to the name or NULL, the string need not be deallocated its lifetime will be the same as the domain object.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virDomainGetOSType' file='libvir' module='libvir'>
<function name='virDomainGetOSType' file='libvirt' module='libvirt'>
<info>Get the type of domain operation system.</info>
<return type='char *' info='the new string or NULL in case of error'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virDomainGetXMLDesc' file='libvir' module='xml'>
<function name='virDomainGetXMLDesc' file='libvirt' module='xml'>
<info>Provide an XML description of the domain. NOTE: this API is subject to changes.</info>
<return type='char *' info='a 0 terminated UTF-8 encoded XML instance, or NULL in case of error. the caller must free() the returned value.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
<arg name='flags' type='int' info='and OR&apos;ed set of extraction flags, not used yet'/>
</function>
<function name='virDomainLookupByID' file='libvir' module='libvir'>
<function name='virDomainLookupByID' file='libvirt' module='libvirt'>
<info>Try to find a domain based on the hypervisor ID number</info>
<return type='virDomainPtr' info='a new domain object or NULL in case of failure'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='id' type='int' info='the domain ID number'/>
</function>
<function name='virDomainLookupByName' file='libvir' module='libvir'>
<function name='virDomainLookupByName' file='libvirt' module='libvirt'>
<info>Try to lookup a domain on the given hypervisor based on its name.</info>
<return type='virDomainPtr' info='a new domain object or NULL in case of failure'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='name' type='const char *' info='name for the domain'/>
</function>
<function name='virDomainResume' file='libvir' module='libvir'>
<info>Resume an suspended domain, the process is restarted from the state where it was frozen by calling virSuspendDomain(). This function requires priviledged access to the hypervisor.</info>
<function name='virDomainRestore' file='libvirt' module='libvirt'>
<info>This method will restore a domain saved to disk by virDomainSave().</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='from' type='const char *' info='path to the'/>
</function>
<function name='virDomainResume' file='libvirt' module='libvirt'>
<info>Resume an suspended domain, the process is restarted from the state where it was frozen by calling virSuspendDomain(). This function may requires priviledged access</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virDomainSetMaxMemory' file='libvir' module='libvir'>
<function name='virDomainSave' file='libvirt' module='libvirt'>
<info>This method will suspend a domain and save its memory contents to a file on disk. After the call, if successful, the domain is not listed as running anymore (this may be a problem). Use virDomainRestore() to restore a domain after saving.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
<arg name='to' type='const char *' info='path for the output file'/>
</function>
<function name='virDomainSetMaxMemory' file='libvirt' module='libvirt'>
<info>Dynamically change the maximum amount of physical memory allocated to a domain. If domain is NULL, then this change the amount of memory reserved to Domain0 i.e. the domain where the application runs. This function requires priviledged access to the hypervisor.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object or NULL'/>
<arg name='memory' type='unsigned long' info='the memory size in kilobytes'/>
</function>
<function name='virDomainShutdown' file='libvir' module='libvir'>
<info>Shutdown a domain, the domain object is still usable there after but the domain OS is being stopped. TODO: should we add an option for reboot, knowing it may not be doable in the general case ?</info>
<function name='virDomainShutdown' file='libvirt' module='libvirt'>
<info>Shutdown a domain, the domain object is still usable there after but the domain OS is being stopped. Note that the guest OS may ignore the request. TODO: should we add an option for reboot, knowing it may not be doable in the general case ?</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virDomainSuspend' file='libvir' module='libvir'>
<info>Suspends an active domain, the process is frozen without further access to CPU resources and I/O but the memory used by the domain at the hypervisor level will stay allocated. Use virDomainResume() to reactivate the domain. This function requires priviledged access to the hypervisor.</info>
<function name='virDomainSuspend' file='libvirt' module='libvirt'>
<info>Suspends an active domain, the process is frozen without further access to CPU resources and I/O but the memory used by the domain at the hypervisor level will stay allocated. Use virDomainResume() to reactivate the domain. This function may requires priviledged access.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virGetVersion' file='libvir' module='libvir'>
<function name='virGetVersion' file='libvirt' module='libvirt'>
<info>Provides two information back, @libVer is the version of the library while @typeVer will be the version of the hypervisor type @type against which the library was compiled. If @type is NULL, &quot;Xen&quot; is assumed, if @type is unknown or not availble, an error code will be returned and @typeVer will be 0.</info>
<return type='int' info='-1 in case of failure, 0 otherwise, and values for @libVer and @typeVer have the format major * 1,000,000 + minor * 1,000 + release.'/>
<arg name='libVer' type='unsigned long *' info='return value for the library version (OUT)'/>

View File

@ -1,62 +1,88 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<apirefs name='libvir'>
<apirefs name='libvirt'>
<references>
<reference name='LIBVIR_VERSION_NUMBER' href='html/libvir-libvir.html#LIBVIR_VERSION_NUMBER'/>
<reference name='VIR_DOMAIN_BLOCKED' href='html/libvir-libvir.html#VIR_DOMAIN_BLOCKED'/>
<reference name='VIR_DOMAIN_NONE' href='html/libvir-libvir.html#VIR_DOMAIN_NONE'/>
<reference name='VIR_DOMAIN_NOSTATE' href='html/libvir-libvir.html#VIR_DOMAIN_NOSTATE'/>
<reference name='VIR_DOMAIN_PAUSED' href='html/libvir-libvir.html#VIR_DOMAIN_PAUSED'/>
<reference name='VIR_DOMAIN_RUNNING' href='html/libvir-libvir.html#VIR_DOMAIN_RUNNING'/>
<reference name='VIR_DOMAIN_SHUTDOWN' href='html/libvir-libvir.html#VIR_DOMAIN_SHUTDOWN'/>
<reference name='VIR_DOMAIN_SHUTOFF' href='html/libvir-libvir.html#VIR_DOMAIN_SHUTOFF'/>
<reference name='_virDomainInfo' href='html/libvir-libvir.html#_virDomainInfo'/>
<reference name='virConnect' href='html/libvir-libvir.html#virConnect'/>
<reference name='virConnectClose' href='html/libvir-libvir.html#virConnectClose'/>
<reference name='virConnectGetType' href='html/libvir-libvir.html#virConnectGetType'/>
<reference name='virConnectGetVersion' href='html/libvir-libvir.html#virConnectGetVersion'/>
<reference name='virConnectListDomains' href='html/libvir-libvir.html#virConnectListDomains'/>
<reference name='virConnectNumOfDomains' href='html/libvir-libvir.html#virConnectNumOfDomains'/>
<reference name='virConnectOpen' href='html/libvir-libvir.html#virConnectOpen'/>
<reference name='virConnectOpenReadOnly' href='html/libvir-libvir.html#virConnectOpenReadOnly'/>
<reference name='virConnectPtr' href='html/libvir-libvir.html#virConnectPtr'/>
<reference name='virDomain' href='html/libvir-libvir.html#virDomain'/>
<reference name='virDomainCreateFlags' href='html/libvir-libvir.html#virDomainCreateFlags'/>
<reference name='virDomainCreateLinux' href='html/libvir-libvir.html#virDomainCreateLinux'/>
<reference name='virDomainDestroy' href='html/libvir-libvir.html#virDomainDestroy'/>
<reference name='virDomainFree' href='html/libvir-libvir.html#virDomainFree'/>
<reference name='virDomainGetID' href='html/libvir-libvir.html#virDomainGetID'/>
<reference name='virDomainGetInfo' href='html/libvir-libvir.html#virDomainGetInfo'/>
<reference name='virDomainGetMaxMemory' href='html/libvir-libvir.html#virDomainGetMaxMemory'/>
<reference name='virDomainGetName' href='html/libvir-libvir.html#virDomainGetName'/>
<reference name='virDomainGetOSType' href='html/libvir-libvir.html#virDomainGetOSType'/>
<reference name='virDomainGetXMLDesc' href='html/libvir-libvir.html#virDomainGetXMLDesc'/>
<reference name='virDomainInfo' href='html/libvir-libvir.html#virDomainInfo'/>
<reference name='virDomainInfoPtr' href='html/libvir-libvir.html#virDomainInfoPtr'/>
<reference name='virDomainLookupByID' href='html/libvir-libvir.html#virDomainLookupByID'/>
<reference name='virDomainLookupByName' href='html/libvir-libvir.html#virDomainLookupByName'/>
<reference name='virDomainPtr' href='html/libvir-libvir.html#virDomainPtr'/>
<reference name='virDomainResume' href='html/libvir-libvir.html#virDomainResume'/>
<reference name='virDomainSetMaxMemory' href='html/libvir-libvir.html#virDomainSetMaxMemory'/>
<reference name='virDomainShutdown' href='html/libvir-libvir.html#virDomainShutdown'/>
<reference name='virDomainState' href='html/libvir-libvir.html#virDomainState'/>
<reference name='virDomainSuspend' href='html/libvir-libvir.html#virDomainSuspend'/>
<reference name='virGetVersion' href='html/libvir-libvir.html#virGetVersion'/>
<reference name='LIBVIR_VERSION_NUMBER' href='html/libvirt-libvirt.html#LIBVIR_VERSION_NUMBER'/>
<reference name='VIR_DEVICE_DEFAULT' href='html/libvirt-libvirt.html#VIR_DEVICE_DEFAULT'/>
<reference name='VIR_DEVICE_RO' href='html/libvirt-libvirt.html#VIR_DEVICE_RO'/>
<reference name='VIR_DEVICE_RW' href='html/libvirt-libvirt.html#VIR_DEVICE_RW'/>
<reference name='VIR_DEVICE_RW_FORCE' href='html/libvirt-libvirt.html#VIR_DEVICE_RW_FORCE'/>
<reference name='VIR_DOMAIN_BLOCKED' href='html/libvirt-libvirt.html#VIR_DOMAIN_BLOCKED'/>
<reference name='VIR_DOMAIN_CRASHED' href='html/libvirt-libvirt.html#VIR_DOMAIN_CRASHED'/>
<reference name='VIR_DOMAIN_DESTROY' href='html/libvirt-libvirt.html#VIR_DOMAIN_DESTROY'/>
<reference name='VIR_DOMAIN_NONE' href='html/libvirt-libvirt.html#VIR_DOMAIN_NONE'/>
<reference name='VIR_DOMAIN_NOSTATE' href='html/libvirt-libvirt.html#VIR_DOMAIN_NOSTATE'/>
<reference name='VIR_DOMAIN_PAUSED' href='html/libvirt-libvirt.html#VIR_DOMAIN_PAUSED'/>
<reference name='VIR_DOMAIN_PRESERVE' href='html/libvirt-libvirt.html#VIR_DOMAIN_PRESERVE'/>
<reference name='VIR_DOMAIN_RENAME_RESTART' href='html/libvirt-libvirt.html#VIR_DOMAIN_RENAME_RESTART'/>
<reference name='VIR_DOMAIN_RESTART' href='html/libvirt-libvirt.html#VIR_DOMAIN_RESTART'/>
<reference name='VIR_DOMAIN_RUNNING' href='html/libvirt-libvirt.html#VIR_DOMAIN_RUNNING'/>
<reference name='VIR_DOMAIN_SHUTDOWN' href='html/libvirt-libvirt.html#VIR_DOMAIN_SHUTDOWN'/>
<reference name='VIR_DOMAIN_SHUTOFF' href='html/libvirt-libvirt.html#VIR_DOMAIN_SHUTOFF'/>
<reference name='_virDomainInfo' href='html/libvirt-libvirt.html#_virDomainInfo'/>
<reference name='_virDomainKernel' href='html/libvirt-libvirt.html#_virDomainKernel'/>
<reference name='virConnect' href='html/libvirt-libvirt.html#virConnect'/>
<reference name='virConnectClose' href='html/libvirt-libvirt.html#virConnectClose'/>
<reference name='virConnectGetType' href='html/libvirt-libvirt.html#virConnectGetType'/>
<reference name='virConnectGetVersion' href='html/libvirt-libvirt.html#virConnectGetVersion'/>
<reference name='virConnectListDomains' href='html/libvirt-libvirt.html#virConnectListDomains'/>
<reference name='virConnectNumOfDomains' href='html/libvirt-libvirt.html#virConnectNumOfDomains'/>
<reference name='virConnectOpen' href='html/libvirt-libvirt.html#virConnectOpen'/>
<reference name='virConnectOpenReadOnly' href='html/libvirt-libvirt.html#virConnectOpenReadOnly'/>
<reference name='virConnectPtr' href='html/libvirt-libvirt.html#virConnectPtr'/>
<reference name='virDeviceMode' href='html/libvirt-libvirt.html#virDeviceMode'/>
<reference name='virDomain' href='html/libvirt-libvirt.html#virDomain'/>
<reference name='virDomainCreateFlags' href='html/libvirt-libvirt.html#virDomainCreateFlags'/>
<reference name='virDomainCreateLinux' href='html/libvirt-libvirt.html#virDomainCreateLinux'/>
<reference name='virDomainDestroy' href='html/libvirt-libvirt.html#virDomainDestroy'/>
<reference name='virDomainFree' href='html/libvirt-libvirt.html#virDomainFree'/>
<reference name='virDomainGetID' href='html/libvirt-libvirt.html#virDomainGetID'/>
<reference name='virDomainGetInfo' href='html/libvirt-libvirt.html#virDomainGetInfo'/>
<reference name='virDomainGetMaxMemory' href='html/libvirt-libvirt.html#virDomainGetMaxMemory'/>
<reference name='virDomainGetName' href='html/libvirt-libvirt.html#virDomainGetName'/>
<reference name='virDomainGetOSType' href='html/libvirt-libvirt.html#virDomainGetOSType'/>
<reference name='virDomainGetXMLDesc' href='html/libvirt-libvirt.html#virDomainGetXMLDesc'/>
<reference name='virDomainInfo' href='html/libvirt-libvirt.html#virDomainInfo'/>
<reference name='virDomainInfoPtr' href='html/libvirt-libvirt.html#virDomainInfoPtr'/>
<reference name='virDomainKernel' href='html/libvirt-libvirt.html#virDomainKernel'/>
<reference name='virDomainKernelPtr' href='html/libvirt-libvirt.html#virDomainKernelPtr'/>
<reference name='virDomainLookupByID' href='html/libvirt-libvirt.html#virDomainLookupByID'/>
<reference name='virDomainLookupByName' href='html/libvirt-libvirt.html#virDomainLookupByName'/>
<reference name='virDomainPtr' href='html/libvirt-libvirt.html#virDomainPtr'/>
<reference name='virDomainRestart' href='html/libvirt-libvirt.html#virDomainRestart'/>
<reference name='virDomainRestore' href='html/libvirt-libvirt.html#virDomainRestore'/>
<reference name='virDomainResume' href='html/libvirt-libvirt.html#virDomainResume'/>
<reference name='virDomainSave' href='html/libvirt-libvirt.html#virDomainSave'/>
<reference name='virDomainSetMaxMemory' href='html/libvirt-libvirt.html#virDomainSetMaxMemory'/>
<reference name='virDomainShutdown' href='html/libvirt-libvirt.html#virDomainShutdown'/>
<reference name='virDomainState' href='html/libvirt-libvirt.html#virDomainState'/>
<reference name='virDomainSuspend' href='html/libvirt-libvirt.html#virDomainSuspend'/>
<reference name='virGetVersion' href='html/libvirt-libvirt.html#virGetVersion'/>
</references>
<alpha>
<letter name='L'>
<ref name='LIBVIR_VERSION_NUMBER'/>
</letter>
<letter name='V'>
<ref name='VIR_DEVICE_DEFAULT'/>
<ref name='VIR_DEVICE_RO'/>
<ref name='VIR_DEVICE_RW'/>
<ref name='VIR_DEVICE_RW_FORCE'/>
<ref name='VIR_DOMAIN_BLOCKED'/>
<ref name='VIR_DOMAIN_CRASHED'/>
<ref name='VIR_DOMAIN_DESTROY'/>
<ref name='VIR_DOMAIN_NONE'/>
<ref name='VIR_DOMAIN_NOSTATE'/>
<ref name='VIR_DOMAIN_PAUSED'/>
<ref name='VIR_DOMAIN_PRESERVE'/>
<ref name='VIR_DOMAIN_RENAME_RESTART'/>
<ref name='VIR_DOMAIN_RESTART'/>
<ref name='VIR_DOMAIN_RUNNING'/>
<ref name='VIR_DOMAIN_SHUTDOWN'/>
<ref name='VIR_DOMAIN_SHUTOFF'/>
</letter>
<letter name='_'>
<ref name='_virDomainInfo'/>
<ref name='_virDomainKernel'/>
</letter>
<letter name='v'>
<ref name='virConnect'/>
@ -68,6 +94,7 @@
<ref name='virConnectOpen'/>
<ref name='virConnectOpenReadOnly'/>
<ref name='virConnectPtr'/>
<ref name='virDeviceMode'/>
<ref name='virDomain'/>
<ref name='virDomainCreateFlags'/>
<ref name='virDomainCreateLinux'/>
@ -81,10 +108,15 @@
<ref name='virDomainGetXMLDesc'/>
<ref name='virDomainInfo'/>
<ref name='virDomainInfoPtr'/>
<ref name='virDomainKernel'/>
<ref name='virDomainKernelPtr'/>
<ref name='virDomainLookupByID'/>
<ref name='virDomainLookupByName'/>
<ref name='virDomainPtr'/>
<ref name='virDomainRestart'/>
<ref name='virDomainRestore'/>
<ref name='virDomainResume'/>
<ref name='virDomainSave'/>
<ref name='virDomainSetMaxMemory'/>
<ref name='virDomainShutdown'/>
<ref name='virDomainState'/>
@ -133,6 +165,7 @@
<ref name='virDomainCreateLinux'/>
<ref name='virDomainLookupByID'/>
<ref name='virDomainLookupByName'/>
<ref name='virDomainRestore'/>
</type>
<type name='virDomainInfoPtr'>
<ref name='virDomainGetInfo'/>
@ -147,22 +180,33 @@
<ref name='virDomainGetOSType'/>
<ref name='virDomainGetXMLDesc'/>
<ref name='virDomainResume'/>
<ref name='virDomainSave'/>
<ref name='virDomainSetMaxMemory'/>
<ref name='virDomainShutdown'/>
<ref name='virDomainSuspend'/>
</type>
</functions>
<files>
<file name='libvir'>
<file name='libvirt'>
<ref name='LIBVIR_VERSION_NUMBER'/>
<ref name='VIR_DEVICE_DEFAULT'/>
<ref name='VIR_DEVICE_RO'/>
<ref name='VIR_DEVICE_RW'/>
<ref name='VIR_DEVICE_RW_FORCE'/>
<ref name='VIR_DOMAIN_BLOCKED'/>
<ref name='VIR_DOMAIN_CRASHED'/>
<ref name='VIR_DOMAIN_DESTROY'/>
<ref name='VIR_DOMAIN_NONE'/>
<ref name='VIR_DOMAIN_NOSTATE'/>
<ref name='VIR_DOMAIN_PAUSED'/>
<ref name='VIR_DOMAIN_PRESERVE'/>
<ref name='VIR_DOMAIN_RENAME_RESTART'/>
<ref name='VIR_DOMAIN_RESTART'/>
<ref name='VIR_DOMAIN_RUNNING'/>
<ref name='VIR_DOMAIN_SHUTDOWN'/>
<ref name='VIR_DOMAIN_SHUTOFF'/>
<ref name='_virDomainInfo'/>
<ref name='_virDomainKernel'/>
<ref name='virConnect'/>
<ref name='virConnectClose'/>
<ref name='virConnectGetType'/>
@ -172,6 +216,7 @@
<ref name='virConnectOpen'/>
<ref name='virConnectOpenReadOnly'/>
<ref name='virConnectPtr'/>
<ref name='virDeviceMode'/>
<ref name='virDomain'/>
<ref name='virDomainCreateFlags'/>
<ref name='virDomainCreateLinux'/>
@ -185,10 +230,15 @@
<ref name='virDomainGetXMLDesc'/>
<ref name='virDomainInfo'/>
<ref name='virDomainInfoPtr'/>
<ref name='virDomainKernel'/>
<ref name='virDomainKernelPtr'/>
<ref name='virDomainLookupByID'/>
<ref name='virDomainLookupByName'/>
<ref name='virDomainPtr'/>
<ref name='virDomainRestart'/>
<ref name='virDomainRestore'/>
<ref name='virDomainResume'/>
<ref name='virDomainSave'/>
<ref name='virDomainSetMaxMemory'/>
<ref name='virDomainShutdown'/>
<ref name='virDomainState'/>
@ -209,6 +259,9 @@
<word name='APIs'>
<ref name='virConnectOpenReadOnly'/>
</word>
<word name='After'>
<ref name='virDomainSave'/>
</word>
</letter>
<letter name='C'>
<word name='CPU'>
@ -303,6 +356,7 @@
</word>
<word name='Note'>
<ref name='virDomainGetInfo'/>
<ref name='virDomainShutdown'/>
</word>
</letter>
<letter name='O'>
@ -351,7 +405,9 @@
<ref name='virConnectOpenReadOnly'/>
<ref name='virDomainCreateLinux'/>
<ref name='virDomainDestroy'/>
<ref name='virDomainRestore'/>
<ref name='virDomainResume'/>
<ref name='virDomainSave'/>
<ref name='virDomainSetMaxMemory'/>
<ref name='virDomainSuspend'/>
</word>
@ -365,6 +421,7 @@
<ref name='virDomainGetXMLDesc'/>
</word>
<word name='Use'>
<ref name='virDomainSave'/>
<ref name='virDomainSuspend'/>
</word>
</letter>
@ -399,6 +456,7 @@
<ref name='virDomainShutdown'/>
</word>
<word name='after'>
<ref name='virDomainSave'/>
<ref name='virDomainShutdown'/>
</word>
<word name='against'>
@ -426,6 +484,9 @@
<ref name='virDomainGetMaxMemory'/>
<ref name='virDomainSetMaxMemory'/>
</word>
<word name='anymore'>
<ref name='virDomainSave'/>
</word>
<word name='application'>
<ref name='virConnectClose'/>
<ref name='virDomainGetMaxMemory'/>
@ -449,6 +510,7 @@
</word>
<word name='available'>
<ref name='_virDomainInfo'/>
<ref name='virConnectOpenReadOnly'/>
</word>
<word name='availble'>
<ref name='virGetVersion'/>
@ -469,6 +531,9 @@
<word name='below'>
<ref name='_virDomainInfo'/>
</word>
<word name='block'>
<ref name='_virDomainKernel'/>
</word>
<word name='but'>
<ref name='virDomainShutdown'/>
<ref name='virDomainSuspend'/>
@ -479,6 +544,7 @@
<ref name='_virDomainInfo'/>
<ref name='virConnectGetVersion'/>
<ref name='virDomainDestroy'/>
<ref name='virDomainSave'/>
</word>
<word name='called'>
<ref name='virConnectClose'/>
@ -521,6 +587,7 @@
<ref name='virConnectListDomains'/>
</word>
<word name='command'>
<ref name='_virDomainKernel'/>
<ref name='virDomainCreateLinux'/>
</word>
<word name='compiled'>
@ -539,6 +606,13 @@
<ref name='virDomainGetInfo'/>
<ref name='virDomainLookupByID'/>
<ref name='virDomainLookupByName'/>
<ref name='virDomainRestore'/>
</word>
<word name='contents'>
<ref name='virDomainSave'/>
</word>
<word name='control'>
<ref name='virConnectOpenReadOnly'/>
</word>
<word name='currently'>
<ref name='virConnectOpen'/>
@ -559,6 +633,13 @@
<word name='description'>
<ref name='virDomainGetXMLDesc'/>
</word>
<word name='device'>
<ref name='_virDomainKernel'/>
</word>
<word name='disk'>
<ref name='virDomainRestore'/>
<ref name='virDomainSave'/>
</word>
<word name='doable'>
<ref name='virDomainShutdown'/>
</word>
@ -568,6 +649,7 @@
<word name='domains'>
<ref name='virConnectListDomains'/>
<ref name='virConnectNumOfDomains'/>
<ref name='virConnectOpenReadOnly'/>
</word>
<word name='down'>
<ref name='virDomainDestroy'/>
@ -612,7 +694,9 @@
<ref name='virDomainGetInfo'/>
<ref name='virDomainLookupByID'/>
<ref name='virDomainLookupByName'/>
<ref name='virDomainRestore'/>
<ref name='virDomainResume'/>
<ref name='virDomainSave'/>
<ref name='virDomainSetMaxMemory'/>
<ref name='virDomainShutdown'/>
<ref name='virDomainSuspend'/>
@ -620,6 +704,10 @@
</word>
<word name='file'>
<ref name='virDomainCreateLinux'/>
<ref name='virDomainSave'/>
</word>
<word name='filename'>
<ref name='_virDomainKernel'/>
</word>
<word name='find'>
<ref name='virDomainLookupByID'/>
@ -638,6 +726,7 @@
<ref name='virDomainGetID'/>
<ref name='virDomainGetName'/>
<ref name='virDomainLookupByName'/>
<ref name='virDomainSave'/>
<ref name='virDomainShutdown'/>
<ref name='virGetVersion'/>
</word>
@ -676,6 +765,9 @@
<ref name='virDomainSetMaxMemory'/>
<ref name='virDomainSuspend'/>
</word>
<word name='functionalities'>
<ref name='virConnectOpenReadOnly'/>
</word>
<word name='further'>
<ref name='virConnectClose'/>
<ref name='virDomainSuspend'/>
@ -699,6 +791,7 @@
</word>
<word name='guest'>
<ref name='virDomainCreateLinux'/>
<ref name='virDomainShutdown'/>
</word>
</letter>
<letter name='h'>
@ -719,14 +812,18 @@
<ref name='virDomainGetID'/>
<ref name='virDomainLookupByID'/>
<ref name='virDomainLookupByName'/>
<ref name='virDomainResume'/>
<ref name='virDomainRestore'/>
<ref name='virDomainSetMaxMemory'/>
<ref name='virDomainSuspend'/>
<ref name='virGetVersion'/>
</word>
</letter>
<letter name='i'>
<word name='ignore'>
<ref name='virDomainShutdown'/>
</word>
<word name='image'>
<ref name='_virDomainKernel'/>
<ref name='virDomainCreateLinux'/>
</word>
<word name='information'>
@ -736,6 +833,9 @@
<word name='informations'>
<ref name='virDomainGetInfo'/>
</word>
<word name='init'>
<ref name='_virDomainKernel'/>
</word>
<word name='initrd'>
<ref name='virDomainCreateLinux'/>
</word>
@ -753,6 +853,7 @@
<word name='its'>
<ref name='virDomainGetName'/>
<ref name='virDomainLookupByName'/>
<ref name='virDomainSave'/>
</word>
</letter>
<letter name='k'>
@ -760,6 +861,7 @@
<ref name='virDomainFree'/>
</word>
<word name='kernel'>
<ref name='_virDomainKernel'/>
<ref name='virDomainCreateLinux'/>
</word>
<word name='kilobytes'>
@ -779,6 +881,9 @@
<ref name='virConnectGetVersion'/>
<ref name='virDomainSuspend'/>
</word>
<word name='libbrary'>
<ref name='virConnectOpenReadOnly'/>
</word>
<word name='library'>
<ref name='LIBVIR_VERSION_NUMBER'/>
<ref name='virGetVersion'/>
@ -791,11 +896,15 @@
<ref name='virDomainGetInfo'/>
</word>
<word name='line'>
<ref name='_virDomainKernel'/>
<ref name='virDomainCreateLinux'/>
</word>
<word name='list'>
<ref name='virConnectListDomains'/>
</word>
<word name='listed'>
<ref name='virDomainSave'/>
</word>
<word name='long'>
<ref name='_virDomainInfo'/>
</word>
@ -815,15 +924,27 @@
</word>
<word name='may'>
<ref name='virConnectGetVersion'/>
<ref name='virDomainDestroy'/>
<ref name='virDomainResume'/>
<ref name='virDomainSave'/>
<ref name='virDomainShutdown'/>
<ref name='virDomainSuspend'/>
</word>
<word name='memory'>
<ref name='_virDomainInfo'/>
<ref name='virDomainCreateLinux'/>
<ref name='virDomainGetMaxMemory'/>
<ref name='virDomainSave'/>
<ref name='virDomainSetMaxMemory'/>
<ref name='virDomainSuspend'/>
</word>
<word name='method'>
<ref name='virDomainRestore'/>
<ref name='virDomainSave'/>
</word>
<word name='methods'>
<ref name='virConnectOpenReadOnly'/>
</word>
<word name='micro'>
<ref name='LIBVIR_VERSION_NUMBER'/>
</word>
@ -865,6 +986,7 @@
<ref name='virDomainFree'/>
<ref name='virDomainGetName'/>
<ref name='virDomainGetXMLDesc'/>
<ref name='virDomainSave'/>
<ref name='virDomainShutdown'/>
<ref name='virGetVersion'/>
</word>
@ -889,6 +1011,7 @@
<ref name='virDomainLookupByID'/>
<ref name='virDomainLookupByName'/>
<ref name='virDomainResume'/>
<ref name='virDomainSave'/>
<ref name='virDomainSetMaxMemory'/>
<ref name='virDomainShutdown'/>
<ref name='virDomainSuspend'/>
@ -908,6 +1031,7 @@
<ref name='virDomainShutdown'/>
</word>
<word name='optional'>
<ref name='_virDomainKernel'/>
<ref name='virConnectOpen'/>
<ref name='virConnectOpenReadOnly'/>
<ref name='virDomainCreateLinux'/>
@ -917,12 +1041,16 @@
<ref name='virConnectGetVersion'/>
<ref name='virGetVersion'/>
</word>
<word name='output'>
<ref name='virDomainSave'/>
</word>
</letter>
<letter name='p'>
<word name='padding'>
<ref name='_virDomainInfo'/>
</word>
<word name='parameters'>
<ref name='_virDomainKernel'/>
<ref name='virDomainCreateLinux'/>
</word>
<word name='partial'>
@ -934,6 +1062,8 @@
</word>
<word name='path'>
<ref name='virDomainCreateLinux'/>
<ref name='virDomainRestore'/>
<ref name='virDomainSave'/>
</word>
<word name='physical'>
<ref name='virDomainGetMaxMemory'/>
@ -952,6 +1082,10 @@
<ref name='virDomainGetName'/>
<ref name='virDomainLookupByID'/>
<ref name='virDomainLookupByName'/>
<ref name='virDomainRestore'/>
</word>
<word name='pointing'>
<ref name='_virDomainKernel'/>
</word>
<word name='private'>
<ref name='_virDomainInfo'/>
@ -964,6 +1098,9 @@
<ref name='virDomainSetMaxMemory'/>
<ref name='virDomainSuspend'/>
</word>
<word name='problem'>
<ref name='virDomainSave'/>
</word>
<word name='process'>
<ref name='virDomainResume'/>
<ref name='virDomainSuspend'/>
@ -982,12 +1119,12 @@
</word>
</letter>
<letter name='r'>
<word name='ramdisk'>
<ref name='_virDomainKernel'/>
</word>
<word name='reactivate'>
<ref name='virDomainSuspend'/>
</word>
<word name='read-only'>
<ref name='virConnectOpenReadOnly'/>
</word>
<word name='reboot'>
<ref name='virDomainShutdown'/>
</word>
@ -995,6 +1132,9 @@
<ref name='virConnectGetVersion'/>
<ref name='virGetVersion'/>
</word>
<word name='request'>
<ref name='virDomainShutdown'/>
</word>
<word name='requires'>
<ref name='virDomainCreateLinux'/>
<ref name='virDomainDestroy'/>
@ -1013,6 +1153,10 @@
<word name='restarted'>
<ref name='virDomainResume'/>
</word>
<word name='restore'>
<ref name='virDomainRestore'/>
<ref name='virDomainSave'/>
</word>
<word name='restricted'>
<ref name='virConnectOpenReadOnly'/>
</word>
@ -1028,22 +1172,37 @@
<word name='returns'>
<ref name='virConnectGetVersion'/>
</word>
<word name='root'>
<ref name='_virDomainKernel'/>
</word>
<word name='running'>
<ref name='_virDomainInfo'/>
<ref name='virConnectClose'/>
<ref name='virConnectGetVersion'/>
<ref name='virDomainDestroy'/>
<ref name='virDomainFree'/>
<ref name='virDomainSave'/>
</word>
<word name='runs'>
<ref name='virDomainGetMaxMemory'/>
<ref name='virDomainSetMaxMemory'/>
</word>
</letter>
</chunk>
<chunk name='chunk2'>
<letter name='s'>
<word name='same'>
<ref name='virDomainGetName'/>
</word>
<word name='save'>
<ref name='virDomainSave'/>
</word>
<word name='saved'>
<ref name='virDomainRestore'/>
</word>
<word name='saving'>
<ref name='virDomainSave'/>
</word>
<word name='set'>
<ref name='virConnectOpenReadOnly'/>
<ref name='virDomainCreateLinux'/>
@ -1089,7 +1248,6 @@
<word name='store'>
<ref name='virConnectListDomains'/>
<ref name='virConnectOpen'/>
<ref name='virConnectOpenReadOnly'/>
</word>
<word name='string'>
<ref name='virConnectGetType'/>
@ -1110,11 +1268,19 @@
<ref name='virDomainDestroy'/>
<ref name='virDomainFree'/>
<ref name='virDomainGetInfo'/>
<ref name='virDomainRestore'/>
<ref name='virDomainResume'/>
<ref name='virDomainSave'/>
<ref name='virDomainSetMaxMemory'/>
<ref name='virDomainShutdown'/>
<ref name='virDomainSuspend'/>
</word>
<word name='successful'>
<ref name='virDomainSave'/>
</word>
<word name='suspend'>
<ref name='virDomainSave'/>
</word>
<word name='suspended'>
<ref name='virDomainResume'/>
</word>
@ -1122,8 +1288,6 @@
<ref name='virDomainGetOSType'/>
</word>
</letter>
</chunk>
<chunk name='chunk2'>
<letter name='t'>
<word name='term'>
<ref name='_virDomainInfo'/>
@ -1135,6 +1299,7 @@
<word name='that'>
<ref name='virDomainGetInfo'/>
<ref name='virDomainGetName'/>
<ref name='virDomainShutdown'/>
</word>
<word name='their'>
<ref name='virConnectListDomains'/>
@ -1156,6 +1321,7 @@
<ref name='_virDomainInfo'/>
<ref name='virDomainGetMaxMemory'/>
<ref name='virDomainGetXMLDesc'/>
<ref name='virDomainSave'/>
<ref name='virDomainSetMaxMemory'/>
</word>
<word name='two'>
@ -1218,9 +1384,15 @@
<word name='virDomainInfo'>
<ref name='virDomainGetInfo'/>
</word>
<word name='virDomainRestore'>
<ref name='virDomainSave'/>
</word>
<word name='virDomainResume'>
<ref name='virDomainSuspend'/>
</word>
<word name='virDomainSave'>
<ref name='virDomainRestore'/>
</word>
<word name='virSuspendDomain'>
<ref name='virDomainResume'/>
</word>
@ -1247,6 +1419,8 @@
</word>
<word name='will'>
<ref name='virDomainGetName'/>
<ref name='virDomainRestore'/>
<ref name='virDomainSave'/>
<ref name='virDomainSuspend'/>
<ref name='virGetVersion'/>
</word>
@ -1268,7 +1442,6 @@
<letter name='x'>
<word name='xen'>
<ref name='virConnectOpen'/>
<ref name='virConnectOpenReadOnly'/>
</word>
<word name='xenstore'>
<ref name='_virDomainInfo'/>
@ -1288,8 +1461,8 @@
</chunk>
<chunks>
<chunk name='chunk0' start='A' end='f'/>
<chunk name='chunk1' start='g' end='s'/>
<chunk name='chunk2' start='t' end='z'/>
<chunk name='chunk1' start='g' end='r'/>
<chunk name='chunk2' start='s' end='z'/>
</chunks>
</index>
</apirefs>

171
docs/libvirt.css Normal file
View File

@ -0,0 +1,171 @@
body
{
margin: 0;
padding: 0;
color: #333333;
font: 13px Verdana, Arial, Helvetica, sans;
background: #898989;
text-align: justify;
}
a
{
color: #0D7520;
}
a:hover
{
color: #a8a8a8;
}
img
{
border: 0;
}
#container
{
margin: 0 auto;
width: 766px;
position: relative;
background: #fff;
padding: 0 10px 0 10px;
text-align: justify;
}
* html #container
{
width: 766px;
}
#pageHeader
{
position: absolute;
background: url(libvirHeader.png) center no-repeat;
top: 30px;
height: 76px;
width: 766px;
}
#content h3
{
text-align: right;
color: #a8a8a8;
}
#content2 h1
{
text-align: right;
color: #0d7520;
}
#content h3
{
text-align: right;
font-size: 24px;
}
#content h3 .style1
{
color: #0d7520;
}
#adjustments
{
padding-top: 15px;
}
#container #adjustments .p1
{
font-size: 11px;
height: 300px;
background: url(libvirLogo.png) center no-repeat;
margin: 0;
width: 766px;
}
#container #bottom .p1
{
font-size: 11px;
height: 600px;
margin: 0;
width: 766px;
}
#content2
{
margin: 100px 10px 0 160px;
}
#content2 p
{
line-height: 150%;
margin: 10px 0 10px 0;
}
#content
{
margin: 0 10px 0 160px;
}
#content p
{
line-height: 150%;
margin: 10px 0 10px 0;
}
.linkList
{
position: absolute;
top: 320px;
left: 10px;
width: 140px;
}
.llinks ul
{
list-style-type: none;
margin: 0;
padding: 0 0 0 10px;
}
.linkList .llinks ul li
{
font-size: 13px;
border-bottom: 1px solid #E6EEF0;
display: block;
padding: 8px 0;
}
.llinks h3.links
{
background: #e6e6e6;
color: #999999;
font-size: 14px;
height: 25px;
padding: 10px 0 0 5px;
margin: 15px 0 5px 5px;
}
.linkList2
{
position: absolute;
top: 100px;
left: 10px;
width: 140px;
}
.llinks2 ul
{
list-style-type: none;
margin: 0;
padding: 0 0 0 10px;
}
.linkList2 .llinks2 ul li
{
font-size: 13px;
border-bottom: 1px solid #E6EEF0;
display: block;
padding: 8px 0;
}
.llinks2 h3.links2
{
background: #e6e6e6;
color: #999999;
font-size: 14px;
height: 25px;
padding: 10px 0 0 5px;
margin: 15px 0 5px 5px;
}
div.deprecated pre.programlisting
{
border-style: double;
border-color: red;
}
pre.programlisting
{
border-style: double;
background: #F0F0F0;
}

BIN
docs/libvirtHeader.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

BIN
docs/libvirtLogo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
docs/madeWith.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!--
Stylesheet to generate the HTML documentation from an XML API descriptions:
xsltproc newapi.xsl libvir-api.xml
xsltproc newapi.xsl libvirt-api.xml
Daniel Veillard
-->
@ -27,79 +27,6 @@
<xsl:variable name="htmldir">html</xsl:variable>
<xsl:variable name="href_base">../</xsl:variable>
<!-- The table of content for the HTML API pages -->
<xsl:variable name="menu_name">API Menu</xsl:variable>
<xsl:variable name="apitoc">
<form action="../search.php"
enctype="application/x-www-form-urlencoded" method="get">
<input name="query" type="text" size="20" value=""/>
<input name="submit" type="submit" value="Search ..."/>
</form>
<ul><!-- style="margin-left: -1em" -->
<li><a style="font-weight:bold"
href="{$href_base}index.html">Main Menu</a></li>
<li><a style="font-weight:bold"
href="index.html">API Menu</a></li>
<li><a href="{$href_base}ChangeLog.html">ChangeLog</a></li>
</ul>
</xsl:variable>
<xsl:template name="apitoc">
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td colspan="1" bgcolor="#eecfa1" align="center">
<center>
<b><xsl:value-of select="$menu_name"/></b>
</center>
</td>
</tr>
<tr>
<td bgcolor="#fffacd">
<xsl:copy-of select="$apitoc"/>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td colspan="1" bgcolor="#eecfa1" align="center">
<center>
<b>API Indexes</b>
</center>
</td>
</tr>
<tr>
<td bgcolor="#fffacd">
<xsl:copy-of select="$api"/>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td colspan="1" bgcolor="#eecfa1" align="center">
<center>
<b>Related links</b>
</center>
</td>
</tr>
<tr>
<td bgcolor="#fffacd">
<xsl:copy-of select="$related"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</xsl:template>
<xsl:template name="docstyle">
<style type="text/css">
div.deprecated pre.programlisting {border-style: double;border-color:red}
pre.programlisting {border-style: double;background: #EECFA1}
</style>
</xsl:template>
<xsl:template name="navbar">
<xsl:variable name="previous" select="preceding-sibling::file[1]"/>
<xsl:variable name="next" select="following-sibling::file[1]"/>
@ -107,16 +34,16 @@
cellpadding="2" cellspacing="2">
<tr valign="middle">
<xsl:if test="$previous">
<td><a accesskey="p" href="libvir-{$previous/@name}.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></img></a></td>
<th align="left"><a href="libvir-{$previous/@name}.html"><xsl:value-of select="$previous/@name"/></a></th>
<td><a accesskey="p" href="libvirt-{$previous/@name}.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></img></a></td>
<th align="left"><a href="libvirt-{$previous/@name}.html"><xsl:value-of select="$previous/@name"/></a></th>
</xsl:if>
<td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></img></a></td>
<th align="left"><a href="index.html">API documentation</a></th>
<td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></img></a></td>
<th align="center"><a href="../index.html">The virtualization API</a></th>
<xsl:if test="$next">
<th align="right"><a href="libvir-{$next/@name}.html"><xsl:value-of select="$next/@name"/></a></th>
<td><a accesskey="n" href="libvir-{$next/@name}.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></img></a></td>
<th align="right"><a href="libvirt-{$next/@name}.html"><xsl:value-of select="$next/@name"/></a></th>
<td><a accesskey="n" href="libvirt-{$next/@name}.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></img></a></td>
</xsl:if>
</tr>
</table>
@ -130,7 +57,7 @@
<xsl:variable name="ref" select="key('symbols', $token)"/>
<xsl:choose>
<xsl:when test="$ref">
<a href="libvir-{$ref/@file}.html#{$ref/@name}"><xsl:value-of select="$token"/></a>
<a href="libvirt-{$ref/@file}.html#{$ref/@name}"><xsl:value-of select="$token"/></a>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$token"/>
@ -570,37 +497,25 @@
<xsl:template match="file">
<xsl:variable name="name" select="@name"/>
<xsl:variable name="title">Module <xsl:value-of select="$name"/> from <xsl:value-of select="/api/@name"/></xsl:variable>
<xsl:document href="{$htmldir}/libvir-{$name}.html" method="xml" encoding="ISO-8859-1"
<xsl:document href="{$htmldir}/libvirt-{$name}.html" method="xml" encoding="ISO-8859-1"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<xsl:call-template name="style"/>
<xsl:call-template name="docstyle"/>
<title><xsl:value-of select="$title"/></title>
</head>
<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<xsl:call-template name="apitoc"/>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<html>
<head>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
</head>
<body>
<div id="container">
<div id="intro">
<div id="adjustments"/>
<div id="pageHeader"/>
<div id="content2">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<xsl:call-template name="navbar"/>
<xsl:call-template name="description"/>
<xsl:choose>
@ -651,31 +566,20 @@
</xsl:apply-templates>
</xsl:otherwise>
</xsl:choose>
<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
</div>
</div>
<xsl:call-template name="linkList2"/>
<xsl:call-template name="bottom"/>
</div>
</body>
</html>
</xsl:document>
</xsl:template>
<xsl:template match="file" mode="toc">
<xsl:variable name="name" select="@name"/>
<li>
<a href="libvir-{$name}.html"><xsl:value-of select="$name"/></a>
<a href="libvirt-{$name}.html"><xsl:value-of select="$name"/></a>
<xsl:text>: </xsl:text>
<xsl:value-of select="summary"/>
</li>
@ -687,56 +591,33 @@
<xsl:document href="{$file}" method="xml" encoding="ISO-8859-1"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<xsl:call-template name="style"/>
<xsl:call-template name="docstyle"/>
<title><xsl:value-of select="$title"/></title>
</head>
<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<xsl:call-template name="apitoc"/>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<h2>Table of Contents</h2>
<ul>
<xsl:apply-templates select="/api/files/file" mode="toc"/>
</ul>
<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
<html>
<head>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
</head>
<body>
<div id="container">
<div id="intro">
<div id="adjustments"/>
<div id="pageHeader"/>
<div id="content2">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<h2>Table of Contents</h2>
<ul>
<xsl:apply-templates select="/api/files/file" mode="toc"/>
</ul>
</div>
</div>
<xsl:call-template name="linkList2"/>
<xsl:call-template name="bottom"/>
</div>
</body>
</html>
</xsl:document>
</xsl:template>
@ -747,7 +628,7 @@
<xsl:with-param name="file" select="concat($htmldir, '/book1.html')"/>
</xsl:call-template>
<xsl:call-template name="mainpage">
<xsl:with-param name="file" select="concat($htmldir, '/libvir-lib.html')"/>
<xsl:with-param name="file" select="concat($htmldir, '/libvirt-lib.html')"/>
</xsl:call-template>
<!-- now build the file for each of the modules -->
<xsl:apply-templates select="/api/files/file"/>

View File

@ -1,16 +1,15 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>Releases</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>Releases</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>There is no official release yet, just CVS state and snapshot, contact the
mailing list and check the <a href="ChangeLog.html">ChangeLog</a> to gauge
progresses.</p><ul><li>Extending the API</li>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Releases</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Releases</h1><p>Here is the list of official releases, however since it is early on in the
development of libvir, it is preferable when possible to just use the <a href="downloads.html">CVS version or snapshot</a>, contact the mailing list
and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progresses.</p><h3>0.0.2: Jan 29 2006</h3><ul><li>Update of the documentation, web site redesign (Diana Fong)</li>
<li>integration of HTTP xend RPC based on libxend by Anthony Liquori for
most operations</li>
<li>Adding Save and Restore APIs</li>
<li>extended the virsh command line tool (Karel Zak)</li>
<li>remove xenstore transactions (Anthony Liguori)</li>
<li>fix the Python bindings bug when domain and connections where freed</li>
</ul><h3>0.0.1: Dec 19 2005</h3><ul><li>First release</li>
<li>Basic management of existing Xen domains</li>
<li>Minimal autogenerated Python bindings</li>
</ul><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
</ul></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="architecture.html">libvir architecture</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

46
docs/news.xsl Normal file
View File

@ -0,0 +1,46 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
version="1.0">
<xsl:output method="text" encoding="ISO-8859-1"/>
<xsl:template match="/">
<xsl:text>
NEWS file for libvirt
Note that this is automatically generated from the news webpage at:
http://libvirt.org/news.html
</xsl:text>
<xsl:apply-templates select="//xhtml:div[@id='content2']//xhtml:h3[1]/.."/>
</xsl:template>
<xsl:template match="xhtml:h3">
<xsl:text>
</xsl:text>
<xsl:apply-templates/>
<xsl:text>:
</xsl:text>
</xsl:template>
<xsl:template match="xhtml:ul">
<xsl:apply-templates select=".//xhtml:li"/>
<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="xhtml:li">
<xsl:text> - </xsl:text>
<xsl:value-of select="."/>
<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="xhtml:a">
<xsl:value-of select="."/>
<xsl:text> at
</xsl:text>
<xsl:value-of select="@href"/>
<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="xhtml:p">
</xsl:template>
</xsl:stylesheet>

30
docs/node.fig Normal file
View File

@ -0,0 +1,30 @@
#FIG 3.2
Landscape
Center
Inches
Letter
100.00
Single
-2
1200 2
6 1275 1800 2550 2250
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
2550 2250 2550 1800 1275 1800 1275 2250 2550 2250
4 0 0 50 -1 0 20 0.0000 4 195 930 1500 2100 Domain\001
-6
6 1275 2325 2550 2775
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
2550 2775 2550 2325 1275 2325 1275 2775 2550 2775
4 0 0 50 -1 0 20 0.0000 4 195 930 1500 2625 Domain\001
-6
6 1275 2850 2550 3300
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
2550 3300 2550 2850 1275 2850 1275 3300 2550 3300
4 0 0 50 -1 0 20 0.0000 4 195 930 1500 3150 Domain\001
-6
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
975 1500 3375 1500 3375 4125 975 4125 975 1500
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
3225 3975 3225 3450 1125 3450 1125 3975 3225 3975
4 0 0 50 -1 0 20 0.0000 4 255 1260 1500 3825 Hypervisor\001
4 0 0 50 -1 0 20 0.0000 4 195 600 2700 2850 Node\001

BIN
docs/node.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -1,63 +1,17 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link rel="SHORTCUT ICON" href="/favicon.ico">
<style type="text/css"><!--
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
--></style>
<title>Search the documentation on Libvir.org</title>
</head>
<body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr>
<td width="180">
<a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo"></a>
</td>
<td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center">
<h1>Libvir the virtualization library</h1>
<h2>Search engine</h2>
</td></tr></table></td></tr></table></td>
</tr></table>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr>
<td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr>
<tr><td bgcolor="#fffacd"><ul>
<li><a href="index.html">Home</a></li>
<li><a href="intro.html">Introduction</a></li>
<li><a href="FAQ.html">FAQ</a></li>
<li><a href="bugs.html">Reporting bugs and getting help</a></li>
<li><a href="downloads.html">Downloads</a></li>
<li><a href="news.html">News</a></li>
<li>
<a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a>
</li>
</ul></td></tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
<tr><td bgcolor="#fffacd"><ul>
<li><a href="APIchunk0.html">Alphabetic</a></li>
<li><a href="APIconstructors.html">Constructors</a></li>
<li><a href="APIfunctions.html">Functions/Types</a></li>
<li><a href="APIfiles.html">Modules</a></li>
<li><a href="APIsymbols.html">Symbols</a></li>
</ul></td></tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
<tr><td bgcolor="#fffacd"><ul>
<li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li>
<li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li>
</ul></td></tr>
</table>
</td></tr></table></td>
<td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<link rel="stylesheet" type="text/css" href="libvir.css" />
<link rel="SHORTCUT ICON" href="/32favicon.png" />
<title>Search the documentation on Libvir.org</title>
</head>
<body>
<div id="container">
<div id="intro">
<div id="adjustments">
<p class="p1"></p>
</div>
<div id="content">
<?php
$query = $HTTP_GET_VARS[ "query" ];
$scope = $HTTP_GET_VARS[ "scope" ];
@ -286,9 +240,71 @@ A:link, A:visited, A:active { text-decoration: underline }
}
}
?>
</td></tr></table></td></tr></table></td></tr></table></td>
</tr></table></td></tr></table>
</body>
</div>
</div>
<div class="linkList">
<div class="llinks">
<h3 class="links">
<span>main menu</span>
</h3>
<ul>
<li>
<a href="index.html">Home</a>
</li>
<li>
<a href="news.html">Releases</a>
</li>
<li>
<a href="intro.html">Introduction</a>
</li>
<li>
<a href="architecture.html">libvir architecture</a>
</li>
<li>
<a href="downloads.html">Downloads</a>
</li>
<li>
<a href="FAQ.html">FAQ</a>
</li>
<li>
<a href="bugs.html">Reporting bugs and getting help</a>
</li>
<li>
<a style="font-weight:bold" href="html/index.html">API Menu</a>
</li>
<li>
<a href="ChangeLog.html">Recent Changes</a>
</li>
</ul>
</div>
<div class="llinks">
<h3 class="links">
<span>related links</span>
</h3>
<ul>
<li>
<a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a>
</li>
<li>
<a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a>
</li>
<li>
<form action="search.php" enctype="application/x-www-form-urlencoded" method="get">
<input name="query" type="text" size="12" value="Search..." />
<input name="submit" type="submit" value="Go" />
</form>
</li>
<li>
<a href="http://xmlsoft.org/">
<img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" />
</a>
</li>
</ul>
</div>
</div>
<div id="bottom">
<p class="p1"></p>
</div>
</div>
</body>
</html>

View File

@ -67,7 +67,7 @@
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#architecture'">
<xsl:text></xsl:text>
<xsl:text>architecture.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Namespaces'">
<xsl:text>namespaces.html</xsl:text>
@ -107,104 +107,6 @@
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="docfilename">
<xsl:param name="name" select="string(@href)"/>
<xsl:choose>
<xsl:when test="$name = '#Introducti'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Documentat'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Reporting'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#help'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Help'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Downloads'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#News'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Contributi'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#xsltproc'">
<xsl:text>xsltproc2.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#API'">
<xsl:text>API.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#XSLT'">
<xsl:text>XSLT.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#XML'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Validation'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#tree'">
<xsl:text>tree.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#library'">
<xsl:text>library.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#interface'">
<xsl:text>interface.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Example'">
<xsl:text>example.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Entities'">
<xsl:text>entities.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#architecture'">
<xsl:text>architecture.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Namespaces'">
<xsl:text>namespaces.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#DOM'">
<xsl:text>DOM.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Catalog'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Upgrading'">
<xsl:text>upgrade.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Encodings'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#IO'">
<xsl:text>xmlio.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Memory'">
<xsl:text>xmlmem.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Thread'">
<xsl:text>threads.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#FAQ'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Python'">
<xsl:text>python.html</xsl:text>
</xsl:when>
<xsl:when test="$name = ''">
<xsl:text>unknown.html</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$name"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="filename">
<xsl:param name="name" select="string(@href)"/>
<xsl:choose>
@ -236,7 +138,7 @@
<xsl:text>xsltproc2.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#API'">
<xsl:text>API.html</xsl:text>
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#XSLT'">
<xsl:text>XSLT.html</xsl:text>
@ -248,19 +150,19 @@
<xsl:text>xmldtd.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#tree'">
<xsl:text>tree.html</xsl:text>
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#library'">
<xsl:text>library.html</xsl:text>
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#interface'">
<xsl:text>interface.html</xsl:text>
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Example'">
<xsl:text>example.html</xsl:text>
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Entities'">
<xsl:text>entities.html</xsl:text>
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#architecture'">
<xsl:text>architecture.html</xsl:text>
@ -269,31 +171,31 @@
<xsl:text>namespaces.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#DOM'">
<xsl:text>DOM.html</xsl:text>
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Catalog'">
<xsl:text>catalog.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Upgrading'">
<xsl:text>upgrade.html</xsl:text>
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Encodings'">
<xsl:text>encoding.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#IO'">
<xsl:text>xmlio.html</xsl:text>
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Memory'">
<xsl:text>xmlmem.html</xsl:text>
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Thread'">
<xsl:text>threads.html</xsl:text>
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#FAQ'">
<xsl:text>FAQ.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Python'">
<xsl:text>python.html</xsl:text>
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = ''">
<xsl:text>unknown.html</xsl:text>
@ -307,262 +209,214 @@
- The global title
-->
<xsl:variable name="globaltitle" select="string(/html/body/h1[1])"/>
<!--
- The table of content
the main menu box
-->
<xsl:variable name="toc">
<xsl:template name="linkList">
<div class="linkList">
<div class="llinks">
<h3 class="links"><span>main menu</span></h3>
<ul>
<li>Home</li>
<xsl:for-each select="/html/body/h2">
<xsl:variable name="filename">
<xsl:call-template name="tocfilename">
<xsl:with-param name="name" select="concat('#', string(a[1]/@name))"/>
</xsl:call-template>
</xsl:variable>
<xsl:if test="$filename != ''">
<li>
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="$filename"/>
</xsl:attribute>
<xsl:if test="$filename = 'docs.html'">
<xsl:attribute name="style">font-weight:bold</xsl:attribute>
</xsl:if>
<xsl:value-of select="."/>
</xsl:element>
</li>
</xsl:if>
</xsl:for-each>
<li><a style="font-weight:bold"
href="{$href_base}html/index.html">API Menu</a></li>
<li><a href="{$href_base}ChangeLog.html">Recent Changes</a></li>
</ul>
</div>
<div class="llinks">
<h3 class="links"><span>related links</span></h3>
<ul>
<li> <a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li>
<li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li>
<li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get">
<input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" />
</form></li>
<li><a href="http://xmlsoft.org/"> <img src="{$href_base}Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li>
</ul>
<p class='credits'>Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p>
</div>
</div>
</xsl:template>
<xsl:template name="linkList2">
<div class="linkList2">
<div class="llinks2">
<h3 class="links2"><span>main menu</span></h3>
<ul>
<li><a href="{$href_base}index.html">Home</a></li>
<xsl:for-each select="/html/body/h2">
<xsl:variable name="filename">
<xsl:call-template name="tocfilename">
<xsl:with-param name="name" select="concat('#', string(a[1]/@name))"/>
</xsl:call-template>
</xsl:variable>
<xsl:if test="$filename != ''">
<li>
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="$filename"/>
</xsl:attribute>
<xsl:if test="$filename = 'docs.html'">
<xsl:attribute name="style">font-weight:bold</xsl:attribute>
</xsl:if>
<xsl:value-of select="."/>
</xsl:element>
</li>
</xsl:if>
</xsl:for-each>
<li><a style="font-weight:bold"
href="{$href_base}html/index.html">API Menu</a></li>
<li><a href="{$href_base}ChangeLog.html">Recent Changes</a></li>
</ul>
</div>
<div class="llinks2">
<h3 class="links2"><span>related links</span></h3>
<ul>
<li> <a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li>
<li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li>
<li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get">
<input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" />
</form></li>
<li><a href="http://xmlsoft.org/"> <img src="{$href_base}Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li>
</ul>
<p class='credits'>Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p>
</div>
</div>
</xsl:template>
<!--
the main menu box
-->
<xsl:template name="develtoc">
<div class="left">
<form action="search.php"
enctype="application/x-www-form-urlencoded" method="get">
<input name="query" type="text" size="20" value=""/>
<input name="submit" type="submit" value="Search ..."/>
</form>
<ul><!-- style="margin-left: -1em" -->
<li><a href="index.html">Home</a></li>
<xsl:for-each select="/html/body/h2">
<xsl:variable name="filename">
<xsl:call-template name="tocfilename">
<xsl:with-param name="name" select="concat('#', string(a[1]/@name))"/>
</xsl:call-template>
</xsl:variable>
<xsl:if test="$filename != ''">
<li>
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="$filename"/>
</xsl:attribute>
<xsl:if test="$filename = 'docs.html'">
<xsl:attribute name="style">font-weight:bold</xsl:attribute>
</xsl:if>
<xsl:value-of select="."/>
</xsl:element>
</li>
</xsl:if>
</xsl:for-each>
<li><a style="font-weight:bold"
href="html/index.html">API Menu</a></li>
<li><a href="ChangeLog.html">Recent Changes</a></li>
</ul>
</xsl:variable>
<xsl:variable name="develtoc">
<form action="search.php"
enctype="application/x-www-form-urlencoded" method="get">
<input name="query" type="text" size="20" value=""/>
<input name="submit" type="submit" value="Search ..."/>
</form>
<ul><!-- style="margin-left: -1em" -->
<li><a href="index.html" style="font-weight:bold">Main Menu</a></li>
<li><a style="font-weight:bold"
href="html/index.html">API Menu</a></li>
<li><a href="ChangeLog.html">ChangeLog</a></li>
<xsl:for-each select="/html/body/h2">
<xsl:variable name="filename">
<xsl:call-template name="docfilename">
<xsl:with-param name="name" select="concat('#', string(a[1]/@name))"/>
</xsl:call-template>
</xsl:variable>
<xsl:if test="$filename != ''">
<li>
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="$filename"/>
</xsl:attribute>
<xsl:value-of select="."/>
</xsl:element>
</li>
</xsl:if>
</xsl:for-each>
<li><a href="libvir.html">flat page</a>, <a href="site.xsl">stylesheet</a></li>
</ul>
</xsl:variable>
<xsl:variable name="api">
<ul><!-- style="margin-left: -1em" -->
<div class="box">
<h2 class="box_title">API menu</h2>
</div>
<p><a href="{$href_base}index.html">Main menu</a></p>
<p><a href="{$href_base}/html/index.html">API menu</a></p>
<p><a href="{$href_base}ChangeLog.html">ChangeLog</a></p>
<div class="box">
<h2 class="box_title">API Indexes</h2>
</div>
<p><a href="{$href_base}APIchunk0.html">Alphabetic</a></p>
<p><a href="{$href_base}APIconstructors.html">Constructors</a></p>
<p><a href="{$href_base}APIfunctions.html">Functions/Types</a></p>
<p><a href="{$href_base}APIfiles.html">Modules</a></p>
<p><a href="{$href_base}APIsymbols.html">Symbols</a></p>
<div class="box">
<h2 class="box_title">related links</h2>
</div>
<p><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></p>
<p><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></p>
<a href="http://xmlsoft.org/"><img src="{$href_base}Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo"/></a>
</div>
<div class="linkList2">
<div class="llinks2">
<h3 class="links2"><span>API menu</span></h3>
<ul>
<li><a href="{$href_base}index.html">Main menu</a></li>
<li><a href="{$href_base}/html/index.html">API menu</a></li>
<li><a href="{$href_base}ChangeLog.html">ChangeLog</a></li>
</ul>
</div>
<div class="llinks2">
<h3 class="links2"><span>API indexes</span></h3>
<ul>
<li><a href="{$href_base}APIchunk0.html">Alphabetic</a></li>
<li><a href="{$href_base}APIconstructors.html">Constructors</a></li>
<li><a href="{$href_base}APIfunctions.html">Functions/Types</a></li>
<li><a href="{$href_base}APIfiles.html">Modules</a></li>
<li><a href="{$href_base}APIsymbols.html">Symbols</a></li>
</ul>
</xsl:variable>
<xsl:variable name="related">
<ul><!-- style="margin-left: -1em" -->
<li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li>
<li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li>
</ul>
</div>
<div class="llinks2">
<h3 class="links2"><span>related links</span></h3>
<ul>
<li> <a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li>
<li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li>
<li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get">
<input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" />
</form></li>
<li><a href="http://xmlsoft.org/"> <img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li>
</ul>
</div>
</div>
</xsl:template>
<!--
<li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li>
-->
</ul>
</xsl:variable>
<xsl:template name="toc">
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td colspan="1" bgcolor="#eecfa1" align="center">
<center>
<b><xsl:value-of select="$menu_name"/></b>
</center>
</td>
</tr>
<tr>
<td bgcolor="#fffacd">
<xsl:copy-of select="$toc"/>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td colspan="1" bgcolor="#eecfa1" align="center">
<center>
<b>Related links</b>
</center>
</td>
</tr>
<tr>
<td bgcolor="#fffacd">
<xsl:copy-of select="$related"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
<a href="http://xmlsoft.org/"><img src="{$href_base}Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo"/></a>
the menu box for developper's pages
-->
<!--
the page title
-->
<xsl:template name="titlebox">
<xsl:param name="title"/>
<h1 class="style1"><xsl:value-of select="$title"/></h1>
</xsl:template>
<xsl:template name="develtoc">
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td colspan="1" bgcolor="#eecfa1" align="center">
<center>
<b>Developer Menu</b>
</center>
</td>
</tr>
<tr>
<td bgcolor="#fffacd">
<xsl:copy-of select="$develtoc"/>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td colspan="1" bgcolor="#eecfa1" align="center">
<center>
<b>API Indexes</b>
</center>
</td>
</tr>
<tr>
<td bgcolor="#fffacd">
<xsl:copy-of select="$api"/>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td colspan="1" bgcolor="#eecfa1" align="center">
<center>
<b>Related links</b>
</center>
</td>
</tr>
<tr>
<td bgcolor="#fffacd">
<xsl:copy-of select="$related"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</xsl:template>
<xsl:template mode="head" match="title">
<title>
<xsl:apply-templates/>
</title>
</xsl:template>
<xsl:template mode="head" match="meta">
</xsl:template>
<!--
- Write the styles in the head
-->
<xsl:template name="style">
<link rel="SHORTCUT ICON" href="/favicon.ico"/>
<style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style>
<link rel="stylesheet" type="text/css" href="{$href_base}libvirt.css" />
<link rel="SHORTCUT ICON" href="/32favicon.png" />
</xsl:template>
<!--
- Write the title box on top
- The top section
-->
<xsl:template name="titlebox">
<xsl:param name="title" select="'Main Page'"/>
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center">
<tr>
<td width="120">
<a href="http://www.redhat.com/"><img src="{$href_base}redhat.gif" alt="Red Hat Logo"/></a>
</td>
<td>
<table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000">
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd">
<tr>
<td align="center">
<xsl:element name="h1">
<xsl:value-of select="$globaltitle"/>
</xsl:element>
<xsl:element name="h2">
<xsl:value-of select="$title"/>
</xsl:element>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<xsl:template name="top">
<div id="top">
<img src="{$href_base}libvirtHeader.png" alt="Libvirt the virtualization API" />
</div>
</xsl:template>
<!--
- Handling of nodes in the body before the first H2, table of content
- Everything is just copied over, except href which may get rewritten
- and h1/h2/a at the top level
- The top section for the main page
-->
<xsl:template priority="2" mode="subcontent" match="a">
<xsl:variable name="filename">
<xsl:call-template name="filename">
<xsl:with-param name="name" select="string(@href)"/>
</xsl:call-template>
</xsl:variable>
<xsl:copy>
<xsl:attribute name="href">
<xsl:value-of select="$filename"/>
</xsl:attribute>
<xsl:apply-templates mode="subcontent" select="node()"/>
</xsl:copy>
<xsl:template name="topmain">
<div id="topmain">
<img src="{$href_base}libvirtLogo.png" alt="Libvirt the virtualization API" />
</div>
</xsl:template>
<xsl:template mode="subcontent" match="@*|node()">
<xsl:copy>
<xsl:apply-templates mode="subcontent" select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template mode="content" match="@*|node()">
<xsl:if test="name() != 'h1' and name() != 'h2'">
<xsl:copy>
<xsl:apply-templates mode="subcontent" select="@*|node()"/>
</xsl:copy>
</xsl:if>
<!--
- The bottom section
-->
<xsl:template name="bottom">
<div id="bottom">
<p class="p1"></p>
</div>
</xsl:template>
<!--
- Handling of nodes in the body after an H2
- Open a new file and dump all the siblings up to the next H2
@ -574,11 +428,6 @@ A:link, A:visited, A:active { text-decoration: underline }
<xsl:with-param name="name" select="concat('#', string($header/a[1]/@name))"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="tocfilename">
<xsl:call-template name="tocfilename">
<xsl:with-param name="name" select="concat('#', string($header/a[1]/@name))"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="title">
<xsl:value-of select="$header"/>
</xsl:variable>
@ -592,125 +441,80 @@ A:link, A:visited, A:active { text-decoration: underline }
<xsl:value-of select="$title"/>
</xsl:element>
</head>
<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<xsl:choose>
<xsl:when test="$filename = 'docs.html'">
<xsl:call-template name="develtoc"/>
</xsl:when>
<xsl:when test="$tocfilename = ''">
<xsl:call-template name="develtoc"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="toc"/>
</xsl:otherwise>
</xsl:choose>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<xsl:apply-templates mode="subfile" select="$header/following-sibling::*[preceding-sibling::h2[1] = $header and name() != 'h2' ]"/>
<p><a href="bugs.html">Daniel Veillard</a></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<body>
<div id="container">
<div id="intro">
<div id="adjustments"/>
<div id="pageHeader"/>
<div id="content2">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<xsl:apply-templates mode="subfile" select="$header/following-sibling::*[preceding-sibling::h2[1] = $header and name() != 'h2' ]"/>
</div>
</div>
<xsl:call-template name="linkList2"/>
<xsl:call-template name="bottom"/>
</div>
</body>
</html>
</xsl:document>
</xsl:template>
<xsl:template mode="subcontent" match="@*|node()">
<xsl:copy>
<xsl:apply-templates mode="subcontent" select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template mode="content" match="@*|node()">
<xsl:if test="name() != 'h1' and name() != 'h2'">
<xsl:copy>
<xsl:apply-templates mode="subcontent" select="@*|node()"/>
</xsl:copy>
</xsl:if>
</xsl:template>
<xsl:template mode="subfile" match="@*|node()">
<xsl:copy>
<xsl:apply-templates mode="content" select="@*|node()"/>
</xsl:copy>
</xsl:template>
<!--
- Handling of the initial body and head HTML document
-->
<xsl:template match="body">
<xsl:variable name="firsth2" select="./h2[1]"/>
<xsl:variable name="rest2" select="./h2[position()&gt;1]"/>
<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="'libvir'"/>
</xsl:call-template>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<xsl:call-template name="toc"/>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<xsl:apply-templates mode="content" select="($firsth2/preceding-sibling::*)"/>
<xsl:for-each select="./h2">
<xsl:call-template name="subfile">
<xsl:with-param name="header" select="."/>
</xsl:call-template>
</xsl:for-each>
<p><a href="bugs.html">Daniel Veillard</a></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<body>
<div id="container">
<div id="intro">
<div id="adjustments">
<p class="p1"></p>
</div>
<div id="content">
<xsl:apply-templates mode="content" select="($firsth2/preceding-sibling::*)"/>
<xsl:for-each select="./h2">
<xsl:call-template name="subfile">
<xsl:with-param name="header" select="."/>
</xsl:call-template>
</xsl:for-each>
</div>
</div>
<xsl:call-template name="linkList"/>
<xsl:call-template name="bottom"/>
</div>
</body>
</xsl:template>
<xsl:template match="head">
<head>
<xsl:call-template name="style"/>
<xsl:apply-templates mode="head"/>
</head>
</xsl:template>
<xsl:template match="html">
<xsl:message>Generating the Web pages</xsl:message>
<html>
<head>
<xsl:call-template name="style"/>
<title>the virtualization API</title>
</head>
<xsl:apply-templates/>
</html>
</xsl:template>

View File

@ -1,10 +1,10 @@
## Process this file with automake to produce Makefile.in
virincdir = $(includedir)/libvir
virincdir = $(includedir)/libvirt
virinc_HEADERS = libvir.h
virinc_HEADERS = libvirt.h
install-exec-hook:
$(mkinstalldirs) $(DESTDIR)$(virincdir)
EXTRA_DIST = libvir.h.in
EXTRA_DIST = libvirt.h.in

View File

@ -1,10 +1,10 @@
/*
* libvir.h:
* Summary: core interfaces for the libvir library
* Description: Provides the interfaces of the libvir library to handle
* libvirt.h:
* Summary: core interfaces for the libvirt library
* Description: Provides the interfaces of the libvirt library to handle
* Xen domains from a process running in domain 0
*
* Copy: Copyright (C) 2005 Red Hat, Inc.
* Copy: Copyright (C) 2005,2006 Red Hat, Inc.
*
* See COPYING.LIB for the License of this software
*
@ -60,9 +60,34 @@ typedef enum {
VIR_DOMAIN_BLOCKED = 2, /* the domain is blocked on resource */
VIR_DOMAIN_PAUSED = 3, /* the domain is paused by user */
VIR_DOMAIN_SHUTDOWN= 4, /* the domain is being shut down */
VIR_DOMAIN_SHUTOFF = 5 /* the domain is shut off */
VIR_DOMAIN_SHUTOFF = 5, /* the domain is shut off */
VIR_DOMAIN_CRASHED = 6 /* the domain is crashed */
} virDomainState;
/**
* virDomainRestart:
*
* Flags that determine the action to take on a shutdown or crash of a domain
*/
typedef enum {
VIR_DOMAIN_DESTROY = 1, /* destroy the domain */
VIR_DOMAIN_RESTART = 2, /* restart the domain */
VIR_DOMAIN_PRESERVE= 3, /* keep as is, need manual destroy, for debug */
VIR_DOMAIN_RENAME_RESTART= 4/* restart under an new unique name */
} virDomainRestart;
/**
* virDeviceMode:
*
* Flags that determine permission to expose a device to the guest
*/
typedef enum {
VIR_DEVICE_DEFAULT = 0, /* Default mode */
VIR_DEVICE_RO = 1, /* Access read-only */
VIR_DEVICE_RW = 2, /* Access read-write */
VIR_DEVICE_RW_FORCE= 3 /* Forced read-write even if already used */
} virDeviceMode;
/**
* virDomainInfoPtr:
*
@ -99,6 +124,30 @@ struct _virDomainInfo {
typedef virDomainInfo *virDomainInfoPtr;
/**
* virDomainKernel:
*
* a virDomainImage is the set of kernel related informations associated
* to a domain
*/
typedef struct _virDomainKernel virDomainKernel;
struct _virDomainKernel {
const char *kernel; /* filename pointing to the kernel image */
const char *ramdisk; /* an optional init ramdisk */
const char *root; /* an optional root block device */
const char *extra; /* optional kernel command line parameters */
};
/**
* virDomainKernelPtr:
*
* a virDomainKernelPtr is a pointer to a virDomainKernel structure.
*/
typedef virDomainKernel *virDomainKernelPtr;
/**
* virDomainCreateFlags:
*
@ -118,7 +167,7 @@ typedef enum {
* version * 1,000,000 + minor * 1000 + micro
*/
#define LIBVIR_VERSION_NUMBER 1
#define LIBVIR_VERSION_NUMBER 3
int virGetVersion (unsigned long *libVer,
const char *type,
@ -170,6 +219,14 @@ int virDomainFree (virDomainPtr domain);
int virDomainSuspend (virDomainPtr domain);
int virDomainResume (virDomainPtr domain);
/*
* Domain save/restore
*/
int virDomainSave (virDomainPtr domain,
const char *to);
int virDomainRestore (virConnectPtr conn,
const char *from);
/*
* Domain runtime informations
*/

View File

@ -1,10 +1,10 @@
/*
* libvir.h:
* Summary: core interfaces for the libvir library
* Description: Provides the interfaces of the libvir library to handle
* libvirt.h:
* Summary: core interfaces for the libvirt library
* Description: Provides the interfaces of the libvirt library to handle
* Xen domains from a process running in domain 0
*
* Copy: Copyright (C) 2005 Red Hat, Inc.
* Copy: Copyright (C) 2005,2006 Red Hat, Inc.
*
* See COPYING.LIB for the License of this software
*
@ -60,9 +60,34 @@ typedef enum {
VIR_DOMAIN_BLOCKED = 2, /* the domain is blocked on resource */
VIR_DOMAIN_PAUSED = 3, /* the domain is paused by user */
VIR_DOMAIN_SHUTDOWN= 4, /* the domain is being shut down */
VIR_DOMAIN_SHUTOFF = 5 /* the domain is shut off */
VIR_DOMAIN_SHUTOFF = 5, /* the domain is shut off */
VIR_DOMAIN_CRASHED = 6 /* the domain is crashed */
} virDomainState;
/**
* virDomainRestart:
*
* Flags that determine the action to take on a shutdown or crash of a domain
*/
typedef enum {
VIR_DOMAIN_DESTROY = 1, /* destroy the domain */
VIR_DOMAIN_RESTART = 2, /* restart the domain */
VIR_DOMAIN_PRESERVE= 3, /* keep as is, need manual destroy, for debug */
VIR_DOMAIN_RENAME_RESTART= 4/* restart under an new unique name */
} virDomainRestart;
/**
* virDeviceMode:
*
* Flags that determine permission to expose a device to the guest
*/
typedef enum {
VIR_DEVICE_DEFAULT = 0, /* Default mode */
VIR_DEVICE_RO = 1, /* Access read-only */
VIR_DEVICE_RW = 2, /* Access read-write */
VIR_DEVICE_RW_FORCE= 3 /* Forced read-write even if already used */
} virDeviceMode;
/**
* virDomainInfoPtr:
*
@ -99,6 +124,30 @@ struct _virDomainInfo {
typedef virDomainInfo *virDomainInfoPtr;
/**
* virDomainKernel:
*
* a virDomainImage is the set of kernel related informations associated
* to a domain
*/
typedef struct _virDomainKernel virDomainKernel;
struct _virDomainKernel {
const char *kernel; /* filename pointing to the kernel image */
const char *ramdisk; /* an optional init ramdisk */
const char *root; /* an optional root block device */
const char *extra; /* optional kernel command line parameters */
};
/**
* virDomainKernelPtr:
*
* a virDomainKernelPtr is a pointer to a virDomainKernel structure.
*/
typedef virDomainKernel *virDomainKernelPtr;
/**
* virDomainCreateFlags:
*
@ -170,6 +219,14 @@ int virDomainFree (virDomainPtr domain);
int virDomainSuspend (virDomainPtr domain);
int virDomainResume (virDomainPtr domain);
/*
* Domain save/restore
*/
int virDomainSave (virDomainPtr domain,
const char *to);
int virDomainRestore (virConnectPtr conn,
const char *from);
/*
* Domain runtime informations
*/

View File

@ -1,10 +1,10 @@
## Process this file with automake to produce Makefile.in
virincdir = $(includedir)/libvir
virincdir = $(includedir)/libvirt
virinc_HEADERS = libvir.h
virinc_HEADERS = libvirt.h
install-exec-hook:
$(mkinstalldirs) $(DESTDIR)$(virincdir)
EXTRA_DIST = libvir.h.in
EXTRA_DIST = libvirt.h.in

254
include/libvirt/libvirt.h Normal file
View File

@ -0,0 +1,254 @@
/*
* libvirt.h:
* Summary: core interfaces for the libvirt library
* Description: Provides the interfaces of the libvirt library to handle
* Xen domains from a process running in domain 0
*
* Copy: Copyright (C) 2005,2006 Red Hat, Inc.
*
* See COPYING.LIB for the License of this software
*
* Author: Daniel Veillard <veillard@redhat.com>
*/
#ifndef __VIR_VIRLIB_H__
#define __VIR_VIRLIB_H__
#ifdef __cplusplus
extern "C" {
#endif
/**
* virConnect:
*
* a virConnect is a private structure representing a connection to
* the Xen Hypervisor.
*/
typedef struct _virConnect virConnect;
/**
* virConnectPtr:
*
* a virConnectPtr is pointer to a virConnect private structure, this is the
* type used to reference a connection to the Xen Hypervisor in the API.
*/
typedef virConnect *virConnectPtr;
/**
* virDomain:
*
* a virDomain is a private structure representing a Xen domain.
*/
typedef struct _virDomain virDomain;
/**
* virDomainPtr:
*
* a virDomainPtr is pointer to a virDomain private structure, this is the
* type used to reference a Xen domain in the API.
*/
typedef virDomain *virDomainPtr;
/**
* virDomainState:
*
* A domain may be in different states at a given point in time
*/
typedef enum {
VIR_DOMAIN_NOSTATE = 0, /* no state */
VIR_DOMAIN_RUNNING = 1, /* the domain is running */
VIR_DOMAIN_BLOCKED = 2, /* the domain is blocked on resource */
VIR_DOMAIN_PAUSED = 3, /* the domain is paused by user */
VIR_DOMAIN_SHUTDOWN= 4, /* the domain is being shut down */
VIR_DOMAIN_SHUTOFF = 5, /* the domain is shut off */
VIR_DOMAIN_CRASHED = 6 /* the domain is crashed */
} virDomainState;
/**
* virDomainRestart:
*
* Flags that determine the action to take on a shutdown or crash of a domain
*/
typedef enum {
VIR_DOMAIN_DESTROY = 1, /* destroy the domain */
VIR_DOMAIN_RESTART = 2, /* restart the domain */
VIR_DOMAIN_PRESERVE= 3, /* keep as is, need manual destroy, for debug */
VIR_DOMAIN_RENAME_RESTART= 4/* restart under an new unique name */
} virDomainRestart;
/**
* virDeviceMode:
*
* Flags that determine permission to expose a device to the guest
*/
typedef enum {
VIR_DEVICE_DEFAULT = 0, /* Default mode */
VIR_DEVICE_RO = 1, /* Access read-only */
VIR_DEVICE_RW = 2, /* Access read-write */
VIR_DEVICE_RW_FORCE= 3 /* Forced read-write even if already used */
} virDeviceMode;
/**
* virDomainInfoPtr:
*
* a virDomainInfo is a structure filled by virDomainGetInfo()
*/
typedef struct _virDomainInfo virDomainInfo;
struct _virDomainInfo {
unsigned char state; /* the running state, one of virDomainFlags */
unsigned long maxMem; /* the maximum memory in KBytes allowed */
unsigned long memory; /* the memory in KBytes used by the domain */
unsigned short nrVirtCpu; /* the number of virtual CPUs for the domain */
/*
* Informations below are only available to clients with a connection
* with full access to the hypervisor
*/
unsigned long long cpuTime; /* the CPU time used in nanoseconds */
/*
* TODO:
* - check what can be extracted publicly from xenstore
* and what's private limited to the hypervisor call.
* - add padding to this structure for ABI long term protection
*/
};
/**
* virDomainInfoPtr:
*
* a virDomainInfoPtr is a pointer to a virDomainInfo structure.
*/
typedef virDomainInfo *virDomainInfoPtr;
/**
* virDomainKernel:
*
* a virDomainImage is the set of kernel related informations associated
* to a domain
*/
typedef struct _virDomainKernel virDomainKernel;
struct _virDomainKernel {
const char *kernel; /* filename pointing to the kernel image */
const char *ramdisk; /* an optional init ramdisk */
const char *root; /* an optional root block device */
const char *extra; /* optional kernel command line parameters */
};
/**
* virDomainKernelPtr:
*
* a virDomainKernelPtr is a pointer to a virDomainKernel structure.
*/
typedef virDomainKernel *virDomainKernelPtr;
/**
* virDomainCreateFlags:
*
* Flags OR'ed together to provide specific behaviour when creating a
* Domain.
*/
typedef enum {
VIR_DOMAIN_NONE = 0
} virDomainCreateFlags;
/* library versionning */
/**
* LIBVIR_VERSION_NUMBER:
*
* Macro providing the version of the library as
* version * 1,000,000 + minor * 1000 + micro
*/
#define LIBVIR_VERSION_NUMBER 3
int virGetVersion (unsigned long *libVer,
const char *type,
unsigned long *typeVer);
/*
* Connection and disconnections to the Hypervisor
*/
virConnectPtr virConnectOpen (const char *name);
virConnectPtr virConnectOpenReadOnly (const char *name);
int virConnectClose (virConnectPtr conn);
const char * virConnectGetType (virConnectPtr conn);
int virConnectGetVersion (virConnectPtr conn,
unsigned long *hvVer);
/*
* Gather list of running domains
*/
int virConnectListDomains (virConnectPtr conn,
int *ids,
int maxids);
/*
* Number of domains
*/
int virConnectNumOfDomains (virConnectPtr conn);
/*
* Domain creation and destruction
*/
virDomainPtr virDomainCreateLinux (virConnectPtr conn,
const char *kernel_path,
const char *initrd_path,
const char *cmdline,
unsigned long memory,
unsigned int flags);
virDomainPtr virDomainLookupByName (virConnectPtr conn,
const char *name);
virDomainPtr virDomainLookupByID (virConnectPtr conn,
int id);
int virDomainShutdown (virDomainPtr domain);
int virDomainDestroy (virDomainPtr domain);
int virDomainFree (virDomainPtr domain);
/*
* Domain suspend/resume
*/
int virDomainSuspend (virDomainPtr domain);
int virDomainResume (virDomainPtr domain);
/*
* Domain save/restore
*/
int virDomainSave (virDomainPtr domain,
const char *to);
int virDomainRestore (virConnectPtr conn,
const char *from);
/*
* Domain runtime informations
*/
int virDomainGetInfo (virDomainPtr domain,
virDomainInfoPtr info);
/*
* Dynamic control of domains
*/
const char * virDomainGetName (virDomainPtr domain);
unsigned int virDomainGetID (virDomainPtr domain);
char * virDomainGetOSType (virDomainPtr domain);
unsigned long virDomainGetMaxMemory (virDomainPtr domain);
int virDomainSetMaxMemory (virDomainPtr domain,
unsigned long memory);
/*
* XML domain description
*/
char * virDomainGetXMLDesc (virDomainPtr domain, int flags);
#ifdef __cplusplus
}
#endif
#endif /* __VIR_VIRLIB_H__ */

View File

@ -0,0 +1,254 @@
/*
* libvirt.h:
* Summary: core interfaces for the libvirt library
* Description: Provides the interfaces of the libvirt library to handle
* Xen domains from a process running in domain 0
*
* Copy: Copyright (C) 2005,2006 Red Hat, Inc.
*
* See COPYING.LIB for the License of this software
*
* Author: Daniel Veillard <veillard@redhat.com>
*/
#ifndef __VIR_VIRLIB_H__
#define __VIR_VIRLIB_H__
#ifdef __cplusplus
extern "C" {
#endif
/**
* virConnect:
*
* a virConnect is a private structure representing a connection to
* the Xen Hypervisor.
*/
typedef struct _virConnect virConnect;
/**
* virConnectPtr:
*
* a virConnectPtr is pointer to a virConnect private structure, this is the
* type used to reference a connection to the Xen Hypervisor in the API.
*/
typedef virConnect *virConnectPtr;
/**
* virDomain:
*
* a virDomain is a private structure representing a Xen domain.
*/
typedef struct _virDomain virDomain;
/**
* virDomainPtr:
*
* a virDomainPtr is pointer to a virDomain private structure, this is the
* type used to reference a Xen domain in the API.
*/
typedef virDomain *virDomainPtr;
/**
* virDomainState:
*
* A domain may be in different states at a given point in time
*/
typedef enum {
VIR_DOMAIN_NOSTATE = 0, /* no state */
VIR_DOMAIN_RUNNING = 1, /* the domain is running */
VIR_DOMAIN_BLOCKED = 2, /* the domain is blocked on resource */
VIR_DOMAIN_PAUSED = 3, /* the domain is paused by user */
VIR_DOMAIN_SHUTDOWN= 4, /* the domain is being shut down */
VIR_DOMAIN_SHUTOFF = 5, /* the domain is shut off */
VIR_DOMAIN_CRASHED = 6 /* the domain is crashed */
} virDomainState;
/**
* virDomainRestart:
*
* Flags that determine the action to take on a shutdown or crash of a domain
*/
typedef enum {
VIR_DOMAIN_DESTROY = 1, /* destroy the domain */
VIR_DOMAIN_RESTART = 2, /* restart the domain */
VIR_DOMAIN_PRESERVE= 3, /* keep as is, need manual destroy, for debug */
VIR_DOMAIN_RENAME_RESTART= 4/* restart under an new unique name */
} virDomainRestart;
/**
* virDeviceMode:
*
* Flags that determine permission to expose a device to the guest
*/
typedef enum {
VIR_DEVICE_DEFAULT = 0, /* Default mode */
VIR_DEVICE_RO = 1, /* Access read-only */
VIR_DEVICE_RW = 2, /* Access read-write */
VIR_DEVICE_RW_FORCE= 3 /* Forced read-write even if already used */
} virDeviceMode;
/**
* virDomainInfoPtr:
*
* a virDomainInfo is a structure filled by virDomainGetInfo()
*/
typedef struct _virDomainInfo virDomainInfo;
struct _virDomainInfo {
unsigned char state; /* the running state, one of virDomainFlags */
unsigned long maxMem; /* the maximum memory in KBytes allowed */
unsigned long memory; /* the memory in KBytes used by the domain */
unsigned short nrVirtCpu; /* the number of virtual CPUs for the domain */
/*
* Informations below are only available to clients with a connection
* with full access to the hypervisor
*/
unsigned long long cpuTime; /* the CPU time used in nanoseconds */
/*
* TODO:
* - check what can be extracted publicly from xenstore
* and what's private limited to the hypervisor call.
* - add padding to this structure for ABI long term protection
*/
};
/**
* virDomainInfoPtr:
*
* a virDomainInfoPtr is a pointer to a virDomainInfo structure.
*/
typedef virDomainInfo *virDomainInfoPtr;
/**
* virDomainKernel:
*
* a virDomainImage is the set of kernel related informations associated
* to a domain
*/
typedef struct _virDomainKernel virDomainKernel;
struct _virDomainKernel {
const char *kernel; /* filename pointing to the kernel image */
const char *ramdisk; /* an optional init ramdisk */
const char *root; /* an optional root block device */
const char *extra; /* optional kernel command line parameters */
};
/**
* virDomainKernelPtr:
*
* a virDomainKernelPtr is a pointer to a virDomainKernel structure.
*/
typedef virDomainKernel *virDomainKernelPtr;
/**
* virDomainCreateFlags:
*
* Flags OR'ed together to provide specific behaviour when creating a
* Domain.
*/
typedef enum {
VIR_DOMAIN_NONE = 0
} virDomainCreateFlags;
/* library versionning */
/**
* LIBVIR_VERSION_NUMBER:
*
* Macro providing the version of the library as
* version * 1,000,000 + minor * 1000 + micro
*/
#define LIBVIR_VERSION_NUMBER @LIBVIR_VERSION_NUMBER@
int virGetVersion (unsigned long *libVer,
const char *type,
unsigned long *typeVer);
/*
* Connection and disconnections to the Hypervisor
*/
virConnectPtr virConnectOpen (const char *name);
virConnectPtr virConnectOpenReadOnly (const char *name);
int virConnectClose (virConnectPtr conn);
const char * virConnectGetType (virConnectPtr conn);
int virConnectGetVersion (virConnectPtr conn,
unsigned long *hvVer);
/*
* Gather list of running domains
*/
int virConnectListDomains (virConnectPtr conn,
int *ids,
int maxids);
/*
* Number of domains
*/
int virConnectNumOfDomains (virConnectPtr conn);
/*
* Domain creation and destruction
*/
virDomainPtr virDomainCreateLinux (virConnectPtr conn,
const char *kernel_path,
const char *initrd_path,
const char *cmdline,
unsigned long memory,
unsigned int flags);
virDomainPtr virDomainLookupByName (virConnectPtr conn,
const char *name);
virDomainPtr virDomainLookupByID (virConnectPtr conn,
int id);
int virDomainShutdown (virDomainPtr domain);
int virDomainDestroy (virDomainPtr domain);
int virDomainFree (virDomainPtr domain);
/*
* Domain suspend/resume
*/
int virDomainSuspend (virDomainPtr domain);
int virDomainResume (virDomainPtr domain);
/*
* Domain save/restore
*/
int virDomainSave (virDomainPtr domain,
const char *to);
int virDomainRestore (virConnectPtr conn,
const char *from);
/*
* Domain runtime informations
*/
int virDomainGetInfo (virDomainPtr domain,
virDomainInfoPtr info);
/*
* Dynamic control of domains
*/
const char * virDomainGetName (virDomainPtr domain);
unsigned int virDomainGetID (virDomainPtr domain);
char * virDomainGetOSType (virDomainPtr domain);
unsigned long virDomainGetMaxMemory (virDomainPtr domain);
int virDomainSetMaxMemory (virDomainPtr domain,
unsigned long memory);
/*
* XML domain description
*/
char * virDomainGetXMLDesc (virDomainPtr domain, int flags);
#ifdef __cplusplus
}
#endif
#endif /* __VIR_VIRLIB_H__ */

View File

@ -1,14 +1,15 @@
Summary: Library providing an API to use the Xen virtualization
Name: libvir
Name: libvirt
Version: @VERSION@
Release: 1
License: LGPL
Group: Development/Libraries
Source: libvir-%{version}.tar.gz
Source: libvirt-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-root
URL: http://libvir.org/
BuildRequires: xen python python-devel
Requires: xen
Obsoletes: libvir
ExclusiveArch: i386 x86_64
%description
@ -16,24 +17,26 @@ This C library provides an API to use the Xen virtualization framework,
and the virsh command line tool to control virtual domains.
%package devel
Summary: Libraries, includes, etc. to compile with the libvir library
Summary: Libraries, includes, etc. to compile with the libvirt library
Group: Development/Libraries
Requires: libvir = %{version}
Requires: libvirt = %{version}
Obsoletes: libvir-devel
%description devel
Includes and documantations for the C library providing an API to use
Includes and documentations for the C library providing an API to use
the Xen virtualization framework
%package python
Summary: Python bindings for the libvir library
Summary: Python bindings for the libvirt library
Group: Development/Libraries
Requires: libvir = %{version}
Requires: libvirt = %{version}
Obsoletes: libvir-python
Requires: %{_libdir}/python%(echo `python -c "import sys; print sys.version[0:3]"`)
%description python
The libvir-python package contains a module that permits applications
The libvirt-python package contains a module that permits applications
written in the Python programming language to use the interface
supplied by the libvir library to use the Xen virtualization framework.
supplied by the libvirt library to use the Xen virtualization framework.
%prep
%setup -q
@ -71,21 +74,29 @@ rm -fr %{buildroot}
%defattr(-, root, root)
%{_libdir}/lib*.so
%{_includedir}/libvir/*.h
%{_libdir}/pkgconfig/libvir.pc
%{_includedir}/libvirt/*.h
%{_libdir}/pkgconfig/libvirt.pc
%doc docs/*.html docs/html docs/*.gif
%doc docs/libvir-api.xml
%doc docs/libvirt-api.xml
%files python
%defattr(-, root, root)
%doc AUTHORS NEWS README COPYING.LIB
%{_libdir}/python*/site-packages/libvir.py*
%{_libdir}/python*/site-packages/libvirmod*
%{_libdir}/python*/site-packages/libvirt.py*
%{_libdir}/python*/site-packages/libvirtmod*
%doc python/TODO
%doc python/libvirclass.txt
%doc python/libvirtclass.txt
%changelog
* Wed Feb 8 2006 Daniel Veillard <veillard@redhat.com> 0.0.3-1
- changed library name to libvirt from libvir, complete and test the python
bindings
* Sun Jan 29 2006 Daniel Veillard <veillard@redhat.com> 0.0.2-1
- upstream release of 0.0.2, use xend, save and restore added, python bindings
fixed
* Wed Nov 2 2005 Daniel Veillard <veillard@redhat.com> 0.0.1-1
- created

View File

@ -1,4 +1,4 @@
# Makefile for libvir python library
# Makefile for libvirt python library
INCLUDES = \
-I$(PYTHON_INCLUDES) \
@ -6,7 +6,7 @@ INCLUDES = \
-I$(top_builddir)/include \
-I$(top_builddir)/$(subdir)
DOCS_DIR = $(datadir)/doc/libvir-python-$(LIBVIR_VERSION)
DOCS_DIR = $(datadir)/doc/libvirt-python-$(LIBVIR_VERSION)
DOCS = ${srcdir}/TODO
@ -14,40 +14,40 @@ EXTRA_DIST = \
libvir.c \
types.c \
generator.py \
libvir_wrap.h \
libvir.py \
libvir-python-api.xml \
libvirt_wrap.h \
libvirt.py \
libvirt-python-api.xml \
$(DOCS)
libvirmod_la_LDFLAGS = -module -avoid-version -L$(top_builddir)/src/.libs
libvirtmod_la_LDFLAGS = -module -avoid-version -L$(top_builddir)/src/.libs
if WITH_PYTHON
mylibs = $(top_builddir)/src/libvir.la
mylibs = $(top_builddir)/src/libvirt.la
all-local: libvir.py
all-local: libvirt.py
python_LTLIBRARIES = libvirmod.la
python_LTLIBRARIES = libvirtmod.la
libvirmod_la_SOURCES = libvir.c types.c libvir-py.c
libvirmod_la_LIBADD = $(mylibs)
libvirtmod_la_SOURCES = libvir.c types.c libvirt-py.c libvirt-py.h
libvirtmod_la_LIBADD = $(mylibs)
install-data-local:
$(mkinstalldirs) $(DESTDIR)$(pythondir)
@INSTALL@ -m 0644 libvir.py $(DESTDIR)$(pythondir)
@INSTALL@ -m 0644 libvirt.py $(DESTDIR)$(pythondir)
$(mkinstalldirs) $(DESTDIR)$(DOCS_DIR)
@(for doc in $(DOCS) ; \
do @INSTALL@ -m 0644 $$doc $(DESTDIR)$(DOCS_DIR) ; done)
GENERATE = generator.py
API_DESC = $(top_srcdir)/docs/libvir-api.xml $(srcdir)/libvir-python-api.xml
GENERATED= libvir.py \
libvir-export.c \
libvirclass.txt \
libvir-py.c \
libvir-py.h
API_DESC = $(top_srcdir)/docs/libvirt-api.xml $(srcdir)/libvirt-python-api.xml
GENERATED= libvirt.py \
libvirt-export.c \
libvirtclass.txt \
libvirt-py.c \
libvirt-py.h
CLEANFILES= $(GENERATED) gen_prog libvir.py
CLEANFILES= $(GENERATED) gen_prog libvirt.py
$(GENERATED): gen_prog
@ -55,7 +55,7 @@ gen_prog: $(srcdir)/$(GENERATE) $(API_DESC)
$(PYTHON) $(srcdir)/$(GENERATE) $(srcdir)
touch gen_prog
$(libvirmod_la_OBJECTS): $(GENERATED)
$(libvirtmod_la_OBJECTS): $(GENERATED)
else
all:

View File

@ -5,4 +5,4 @@
Daniel Veillard
$date$
$Date$

View File

@ -20,7 +20,7 @@ else:
#######################################################################
#
# That part if purely the API acquisition phase from the
# libvir API description
# libvirt API description
#
#######################################################################
import os
@ -134,6 +134,8 @@ class docParser:
self.function_arg_info = None
if attrs.has_key('name'):
self.function_arg_name = attrs['name']
if self.function_arg_name == 'from':
self.function_arg_name = 'frm'
if attrs.has_key('type'):
self.function_arg_type = attrs['type']
if attrs.has_key('info'):
@ -200,6 +202,9 @@ def enum(type, name, value):
#
#######################################################################
functions_failed = []
functions_skipped = []
skipped_modules = {
}
@ -252,8 +257,8 @@ foreign_encoding_args = (
# Class methods which are written by hand in libvir.c but the Python-level
# code is still automatically generated (so they are not in skip_function()).
skip_impl = (
'xmlSaveFileTo',
'xmlSaveFormatFileTo',
'virConnectListDomainsID',
'virDomainGetInfo',
)
def skip_function(name):
@ -349,13 +354,13 @@ def print_function_wrapper(name, output, export, include):
c_call = "\n c_retval = %s->%s;\n" % (args[0][0], ret[2])
else:
c_call = "\n c_retval = %s(%s);\n" % (name, c_call);
ret_convert = " py_retval = libvir_%sWrap((%s) c_retval);\n" % (n,c)
ret_convert = " py_retval = libvirt_%sWrap((%s) c_retval);\n" % (n,c)
ret_convert = ret_convert + " return(py_retval);\n"
elif py_return_types.has_key(ret[0]):
(f, t, n, c) = py_return_types[ret[0]]
c_return = " %s c_retval;\n" % (ret[0])
c_call = "\n c_retval = %s(%s);\n" % (name, c_call);
ret_convert = " py_retval = libvir_%sWrap((%s) c_retval);\n" % (n,c)
ret_convert = " py_retval = libvirt_%sWrap((%s) c_retval);\n" % (n,c)
ret_convert = ret_convert + " return(py_retval);\n"
else:
if skipped_types.has_key(ret[0]):
@ -373,9 +378,9 @@ def print_function_wrapper(name, output, export, include):
output.write("#if %s\n" % cond)
include.write("PyObject * ")
include.write("libvir_%s(PyObject *self, PyObject *args);\n" % (name));
include.write("libvirt_%s(PyObject *self, PyObject *args);\n" % (name));
export.write(" { (char *)\"%s\", libvir_%s, METH_VARARGS, NULL },\n" %
export.write(" { (char *)\"%s\", libvirt_%s, METH_VARARGS, NULL },\n" %
(name, name))
if file == "python":
@ -394,7 +399,7 @@ def print_function_wrapper(name, output, export, include):
return 1
output.write("PyObject *\n")
output.write("libvir_%s(PyObject *self ATTRIBUTE_UNUSED," % (name))
output.write("libvirt_%s(PyObject *self ATTRIBUTE_UNUSED," % (name))
output.write(" PyObject *args")
if format == "":
output.write(" ATTRIBUTE_UNUSED")
@ -427,14 +432,14 @@ def buildStubs():
global unknown_types
try:
f = open(os.path.join(srcPref,"libvir-api.xml"))
f = open(os.path.join(srcPref,"libvirt-api.xml"))
data = f.read()
(parser, target) = getparser()
parser.feed(data)
parser.close()
except IOError, msg:
try:
f = open(os.path.join(srcPref,"..","docs","libvir-api.xml"))
f = open(os.path.join(srcPref,"..","docs","libvirt-api.xml"))
data = f.read()
(parser, target) = getparser()
parser.feed(data)
@ -444,11 +449,11 @@ def buildStubs():
sys.exit(1)
n = len(functions.keys())
print "Found %d functions in libvir-api.xml" % (n)
print "Found %d functions in libvirt-api.xml" % (n)
py_types['pythonObject'] = ('O', "pythonObject", "pythonObject", "pythonObject")
try:
f = open(os.path.join(srcPref,"libvir-python-api.xml"))
f = open(os.path.join(srcPref,"libvirt-python-api.xml"))
data = f.read()
(parser, target) = getparser()
parser.feed(data)
@ -457,29 +462,31 @@ def buildStubs():
print file, ":", msg
print "Found %d functions in libvir-python-api.xml" % (
print "Found %d functions in libvirt-python-api.xml" % (
len(functions.keys()) - n)
nb_wrap = 0
failed = 0
skipped = 0
include = open("libvir-py.h", "w")
include = open("libvirt-py.h", "w")
include.write("/* Generated */\n\n")
export = open("libvir-export.c", "w")
export = open("libvirt-export.c", "w")
export.write("/* Generated */\n\n")
wrapper = open("libvir-py.c", "w")
wrapper = open("libvirt-py.c", "w")
wrapper.write("/* Generated */\n\n")
wrapper.write("#include <Python.h>\n")
wrapper.write("#include <libvir.h>\n")
wrapper.write("#include \"libvir_wrap.h\"\n")
wrapper.write("#include \"libvir-py.h\"\n\n")
wrapper.write("#include <libvirt.h>\n")
wrapper.write("#include \"libvirt_wrap.h\"\n")
wrapper.write("#include \"libvirt-py.h\"\n\n")
for function in functions.keys():
ret = print_function_wrapper(function, wrapper, export, include)
if ret < 0:
failed = failed + 1
functions_failed.append(function)
del functions[function]
if ret == 0:
skipped = skipped + 1
functions_skipped.append(function)
del functions[function]
if ret == 1:
nb_wrap = nb_wrap + 1
@ -534,6 +541,10 @@ function_classes = {}
function_classes["None"] = []
function_post = {
'virDomainDestroy': "self._o = None",
}
def nameFixup(name, classe, type, file):
listname = classe + "List"
ll = len(listname)
@ -555,6 +566,12 @@ def nameFixup(name, classe, type, file):
func = string.lower(func[0:1]) + func[1:]
else:
func = name
if func == "iD":
func = "ID"
if func == "oSType":
func = "OSType"
if func == "xMLDesc":
func = "XMLDesc"
return func
@ -668,19 +685,19 @@ def buildWrappers():
info = (0, func, name, ret, args, file)
function_classes['None'].append(info)
classes = open("libvir.py", "w")
classes = open("libvirt.py", "w")
classes.write("""#!/usr/bin/python -u
#
# Those are the autogenerated Python bindings for libvir.
# Check python/generator.py in the source distribution of libvir
# Those are the autogenerated Python bindings for libvirt.
# Check python/generator.py in the source distribution of libvirt
# to find out more about the generation process
#
""")
classes.write("import libvirmod\n")
classes.write("import libvirtmod\n")
classes.write("import types\n\n")
txt = open("libvirclass.txt", "w")
txt = open("libvirtclass.txt", "w")
txt.write(" Generated Classes for libvir-python\n\n")
txt.write("#\n# Global functions of the module\n#\n\n")
@ -715,7 +732,7 @@ def buildWrappers():
classes.write(" ret = ");
else:
classes.write(" ");
classes.write("libvirmod.%s(" % name)
classes.write("libvirtmod.%s(" % name)
n = 0
for arg in args:
if n != 0:
@ -771,7 +788,7 @@ def buildWrappers():
if classes_destructors.has_key(classname):
classes.write(" def __del__(self):\n")
classes.write(" if self._o != None:\n")
classes.write(" libvirmod.%s(self._o)\n" %
classes.write(" libvirtmod.%s(self._o)\n" %
classes_destructors[classname]);
classes.write(" self._o = None\n\n");
destruct=classes_destructors[classname]
@ -819,7 +836,7 @@ def buildWrappers():
classes.write(" ret = ");
else:
classes.write(" ");
classes.write("libvirmod.%s(" % name)
classes.write("libvirtmod.%s(" % name)
n = 0
for arg in args:
if n != 0:
@ -834,6 +851,8 @@ def buildWrappers():
classes.write(classes_type[arg[1]][0])
n = n + 1
classes.write(")\n");
if function_post.has_key(name):
classes.write(" %s\n" % (function_post[name]));
if ret[0] != "void":
if classes_type.has_key(ret[0]):
#
@ -891,6 +910,14 @@ def buildWrappers():
classes.write("%s = %s\n" % (name,value))
classes.write("\n");
if len(functions_skipped) != 0:
txt.write("\nFunctions skipped:\n")
for function in functions_skipped:
txt.write(" %s\n" % function)
if len(functions_failed) != 0:
txt.write("\nFunctions failed:\n")
for function in functions_failed:
txt.write(" %s\n" % function)
txt.close()
classes.close()

View File

@ -1,3 +0,0 @@
<?xml version="1.0"?>
<api name='libvir-python'>
</api>

View File

@ -10,19 +10,107 @@
*/
#include <Python.h>
#include <libvir.h>
#include "libvir_wrap.h"
#include "libvir-py.h"
#include <libvirt.h>
#include "libvirt_wrap.h"
#include "libvirt-py.h"
void initlibvirmod(void);
static PyObject *
libvirt_virDomainFree(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
PyObject *py_retval;
int c_retval;
virDomainPtr domain;
PyObject *pyobj_domain;
if (!PyArg_ParseTuple(args, (char *)"O:virDomainFree", &pyobj_domain))
return(NULL);
domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
c_retval = virDomainFree(domain);
py_retval = libvirt_intWrap((int) c_retval);
return(py_retval);
}
static PyObject *
libvirt_virConnectClose(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
PyObject *py_retval;
int c_retval;
virConnectPtr conn;
PyObject *pyobj_conn;
if (!PyArg_ParseTuple(args, (char *)"O:virConnectClose", &pyobj_conn))
return(NULL);
conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
c_retval = virConnectClose(conn);
py_retval = libvirt_intWrap((int) c_retval);
return(py_retval);
}
static PyObject *
libvirt_virConnectListDomainsID(PyObject *self ATTRIBUTE_UNUSED,
PyObject *args) {
PyObject *py_retval;
int ids[500], c_retval, i;
virConnectPtr conn;
PyObject *pyobj_conn;
if (!PyArg_ParseTuple(args, (char *)"O:virConnectListDomains", &pyobj_conn))
return(NULL);
conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
c_retval = virConnectListDomains(conn, &ids[0], 500);
if (c_retval < 0) {
Py_INCREF(Py_None);
return(Py_None);
}
py_retval = PyList_New(c_retval);
for (i = 0;i < c_retval;i++) {
PyList_SetItem(py_retval, i, libvirt_intWrap(ids[i]));
}
return(py_retval);
}
static PyObject *
libvirt_virDomainGetInfo(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
PyObject *py_retval;
int c_retval;
virDomainPtr domain;
PyObject *pyobj_domain;
virDomainInfo info;
if (!PyArg_ParseTuple(args, (char *)"O:virDomainGetInfo", &pyobj_domain))
return(NULL);
domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
c_retval = virDomainGetInfo(domain, &info);
if (c_retval < 0) {
Py_INCREF(Py_None);
return(Py_None);
}
py_retval = PyList_New(5);
PyList_SetItem(py_retval, 0, libvirt_intWrap((int) info.state));
PyList_SetItem(py_retval, 1, libvirt_longWrap((long) info.maxMem));
PyList_SetItem(py_retval, 2, libvirt_longWrap((long) info.memory));
PyList_SetItem(py_retval, 3, libvirt_intWrap((int) info.nrVirtCpu));
PyList_SetItem(py_retval, 4,
libvirt_longlongWrap((unsigned long long) info.cpuTime));
return(py_retval);
}
/************************************************************************
* *
* The registration stuff *
* *
************************************************************************/
static PyMethodDef libvirMethods[] = {
#include "libvir-export.c"
static PyMethodDef libvirtMethods[] = {
#include "libvirt-export.c"
{(char *) "virDomainFree", libvirt_virDomainFree, METH_VARARGS, NULL},
{(char *) "virConnectClose", libvirt_virConnectClose, METH_VARARGS, NULL},
{(char *) "virConnectListDomainsID", libvirt_virConnectListDomainsID, METH_VARARGS, NULL},
{(char *) "virDomainGetInfo", libvirt_virDomainGetInfo, METH_VARARGS, NULL},
{NULL, NULL, 0, NULL}
};
@ -35,7 +123,7 @@ initlibvirmod(void)
return;
/* intialize the python extension module */
Py_InitModule((char *) "libvirmod", libvirMethods);
Py_InitModule((char *) "libvirtmod", libvirtMethods);
initialized = 1;
}

View File

@ -0,0 +1,15 @@
<?xml version="1.0"?>
<api name='libvir-python'>
<symbols>
<function name="virConnectListDomainsID" file='python'>
<info>Returns the list of the ID of the domains on the hypervisor</info>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<return type='int *' info="the list of ID or None in case of error"/>
</function>
<function name='virDomainGetInfo' file='libvir' module='libvir'>
<info>Extract information about a domain. Note that if the connection used to get the domain is limited only a partial set of the informations can be extracted.</info>
<return type='int *' info='the list of informations or None in case of error'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
</symbols>
</api>

View File

@ -1,5 +1,5 @@
/*
* libvir_wrap.h: type wrappers for libvir python bindings
* libvirt_wrap.h: type wrappers for libvir python bindings
*
* Copyright (C) 2005 Red Hat, Inc.
*
@ -7,7 +7,7 @@
*/
#include <Python.h>
#include <libvir.h>
#include <libvirt.h>
#ifdef __GNUC__
#ifdef ATTRIBUTE_UNUSED
@ -38,11 +38,12 @@ typedef struct {
} PyvirDomain_Object;
PyObject * libvir_intWrap(int val);
PyObject * libvir_longWrap(long val);
PyObject * libvir_charPtrWrap(char *str);
PyObject * libvir_constcharPtrWrap(const char *str);
PyObject * libvir_charPtrConstWrap(const char *str);
PyObject * libvir_virConnectPtrWrap(virConnectPtr node);
PyObject * libvir_virDomainPtrWrap(virDomainPtr node);
PyObject * libvirt_intWrap(int val);
PyObject * libvirt_longWrap(long val);
PyObject * libvirt_longlongWrap(long long val);
PyObject * libvirt_charPtrWrap(char *str);
PyObject * libvirt_constcharPtrWrap(const char *str);
PyObject * libvirt_charPtrConstWrap(const char *str);
PyObject * libvirt_virConnectPtrWrap(virConnectPtr node);
PyObject * libvirt_virDomainPtrWrap(virDomainPtr node);

View File

@ -7,39 +7,51 @@
* Daniel Veillard <veillard@redhat.com>
*/
#include "libvir_wrap.h"
#include "libvirt_wrap.h"
PyObject *
libvir_intWrap(int val)
libvirt_intWrap(int val)
{
PyObject *ret;
#ifdef DEBUG
printf("libvir_intWrap: val = %d\n", val);
printf("libvirt_intWrap: val = %d\n", val);
#endif
ret = PyInt_FromLong((long) val);
return (ret);
}
PyObject *
libvir_longWrap(long val)
libvirt_longWrap(long val)
{
PyObject *ret;
#ifdef DEBUG
printf("libvir_longWrap: val = %ld\n", val);
printf("libvirt_longWrap: val = %ld\n", val);
#endif
ret = PyInt_FromLong(val);
return (ret);
}
PyObject *
libvir_charPtrWrap(char *str)
libvirt_longlongWrap(long long val)
{
PyObject *ret;
#ifdef DEBUG
printf("libvir_xmlcharPtrWrap: str = %s\n", str);
printf("libvirt_longWrap: val = %ld\n", val);
#endif
ret = PyLong_FromUnsignedLongLong((unsigned long long) val);
return (ret);
}
PyObject *
libvirt_charPtrWrap(char *str)
{
PyObject *ret;
#ifdef DEBUG
printf("libvirt_xmlcharPtrWrap: str = %s\n", str);
#endif
if (str == NULL) {
Py_INCREF(Py_None);
@ -51,12 +63,12 @@ libvir_charPtrWrap(char *str)
}
PyObject *
libvir_constcharPtrWrap(const char *str)
libvirt_constcharPtrWrap(const char *str)
{
PyObject *ret;
#ifdef DEBUG
printf("libvir_xmlcharPtrWrap: str = %s\n", str);
printf("libvirt_xmlcharPtrWrap: str = %s\n", str);
#endif
if (str == NULL) {
Py_INCREF(Py_None);
@ -67,12 +79,12 @@ libvir_constcharPtrWrap(const char *str)
}
PyObject *
libvir_charPtrConstWrap(const char *str)
libvirt_charPtrConstWrap(const char *str)
{
PyObject *ret;
#ifdef DEBUG
printf("libvir_xmlcharPtrWrap: str = %s\n", str);
printf("libvirt_xmlcharPtrWrap: str = %s\n", str);
#endif
if (str == NULL) {
Py_INCREF(Py_None);
@ -83,12 +95,12 @@ libvir_charPtrConstWrap(const char *str)
}
PyObject *
libvir_virDomainPtrWrap(virDomainPtr node)
libvirt_virDomainPtrWrap(virDomainPtr node)
{
PyObject *ret;
#ifdef DEBUG
printf("libvir_virDomainPtrWrap: node = %p\n", node);
printf("libvirt_virDomainPtrWrap: node = %p\n", node);
#endif
if (node == NULL) {
Py_INCREF(Py_None);
@ -101,12 +113,12 @@ libvir_virDomainPtrWrap(virDomainPtr node)
}
PyObject *
libvir_virConnectPtrWrap(virConnectPtr node)
libvirt_virConnectPtrWrap(virConnectPtr node)
{
PyObject *ret;
#ifdef DEBUG
printf("libvir_virConnectPtrWrap: node = %p\n", node);
printf("libvirt_virConnectPtrWrap: node = %p\n", node);
#endif
if (node == NULL) {
Py_INCREF(Py_None);

View File

@ -1,21 +1,23 @@
## Process this file with automake to produce Makefile.in
INCLUDES = -I$(top_builddir)/include -I@srcdir@/include
DEPS = libvir.la
LDADDS = @STATIC_BINARIES@ libvir.la
DEPS = libvirt.la
LDADDS = @STATIC_BINARIES@ libvirt.la
VIRSH_LIBS = @VIRSH_LIBS@
EXTRA_DIST = libvir_sym.version
EXTRA_DIST = libvirt_sym.version
lib_LTLIBRARIES = libvir.la
libvir_la_LIBADD =
libvir_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libvir_sym.version \
lib_LTLIBRARIES = libvirt.la
libvirt_la_LIBADD =
libvirt_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libvirt_sym.version \
-version-info @LIBVIR_VERSION_INFO@
libvir_la_SOURCES = \
libvir.c internal.h \
libvirt_la_SOURCES = \
libvirt.c internal.h \
hash.c hash.h \
xml.c \
xen_internal.c xen_internal.h \
xml.c
xend_internal.c xend_internal.h \
sexpr.c sexpr.h
bin_PROGRAMS=virsh

View File

@ -5,8 +5,14 @@
#ifndef __VIR_INTERNAL_H__
#define __VIR_INTERNAL_H__
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include "hash.h"
#include "libvir.h"
#include "libvirt.h"
#ifdef __cplusplus
extern "C" {
@ -71,6 +77,14 @@ struct _virConnect {
unsigned int magic; /* specific value to check */
int handle; /* internal handle used for hypercall */
struct xs_handle *xshandle; /* handle to talk to the xenstore */
/* connection to xend */
int type; /* PF_UNIX or PF_INET */
int len; /* lenght of addr */
struct sockaddr *addr; /* type of address used */
struct sockaddr_un addr_un; /* the unix address */
struct sockaddr_in addr_in; /* the inet address */
virHashTablePtr domains; /* hash table for known domains */
int flags; /* a set of connection flags */
};
@ -97,6 +111,7 @@ struct _virDomain {
char *path; /* the domain internal path */
int handle; /* internal handle for the dmonain ID */
int flags; /* extra flags */
unsigned char uuid[16]; /* the domain unique identifier */
};
/*

View File

@ -1,22 +1,26 @@
/*
* libvir.c: Main interfaces for the libvir library to handle virtualization
* libvirt.c: Main interfaces for the libvirt library to handle virtualization
* domains from a process running in domain 0
*
* Copyright (C) 2005 Red Hat, Inc.
* Copyright (C) 2005,2006 Red Hat, Inc.
*
* See COPYING.LIB for the License of this software
*
* Daniel Veillard <veillard@redhat.com>
*/
#include "libvir.h"
#include "xen_internal.h"
#include "libvirt.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <xs.h>
#include "internal.h"
#include "xen_internal.h"
#include "xend_internal.h"
#include "hash.h"
@ -101,6 +105,8 @@ virConnectOpen(const char *name) {
ret->magic = VIR_CONNECT_MAGIC;
ret->handle = handle;
ret->xshandle = xshandle;
if (xend_setup(ret) < 0)
goto failed;
ret->domains = virHashCreate(20);
ret->flags = 0;
if (ret->domains == NULL)
@ -121,13 +127,16 @@ failed:
* virConnectOpenReadOnly:
* @name: optional argument currently unused, pass NULL
*
* This function should be called first to get a read-only connection to the
* xen store. The set of APIs usable are then restricted.
* This function should be called first to get a restricted connection to the
* libbrary functionalities. The set of APIs usable are then restricted
* on the available methods to control the domains.
*
* Returns a pointer to the hypervisor connection or NULL in case of error
*/
virConnectPtr
virConnectOpenReadOnly(const char *name) {
int method = 0;
int handle;
virConnectPtr ret = NULL;
struct xs_handle *xshandle = NULL;
@ -135,27 +144,40 @@ virConnectOpenReadOnly(const char *name) {
if (name != NULL)
return(NULL);
handle = xenHypervisorOpen();
if (handle >= 0)
method++;
else
handle = -1;
xshandle = xs_daemon_open_readonly();
if (xshandle == NULL)
goto failed;
if (xshandle != NULL)
method++;
ret = (virConnectPtr) malloc(sizeof(virConnect));
if (ret == NULL)
goto failed;
ret->magic = VIR_CONNECT_MAGIC;
ret->handle = -1;
ret->handle = handle;
ret->xshandle = xshandle;
if (xend_setup(ret) == 0)
method++;
ret->domains = virHashCreate(20);
ret->flags = VIR_CONNECT_RO;
if (ret->domains == NULL)
if ((ret->domains == NULL) || (method == 0))
goto failed;
return(ret);
failed:
if (handle >= 0)
xenHypervisorClose(handle);
if (xshandle != NULL)
xs_daemon_close(xshandle);
if (ret != NULL)
if (ret != NULL) {
if (ret->domains != NULL)
virHashFree(ret->domains, NULL);
free(ret);
}
return(NULL);
}
@ -209,11 +231,13 @@ virDomainFreeName(virDomainPtr domain, const char *name ATTRIBUTE_UNUSED) {
*/
int
virConnectClose(virConnectPtr conn) {
xend_cleanup(conn);
if (!VIR_IS_CONNECT(conn))
return(-1);
virHashFree(conn->domains, (virHashDeallocator) virDomainFreeName);
conn->magic = -1;
xs_daemon_close(conn->xshandle);
if (conn->xshandle != NULL)
xs_daemon_close(conn->xshandle);
conn->xshandle = NULL;
if (conn->handle != -1)
xenHypervisorClose(conn->handle);
@ -283,7 +307,6 @@ virConnectGetVersion(virConnectPtr conn, unsigned long *hvVer) {
*/
int
virConnectListDomains(virConnectPtr conn, int *ids, int maxids) {
struct xs_transaction_handle* t;
int ret = -1;
unsigned int num, i;
long id;
@ -295,29 +318,34 @@ virConnectListDomains(virConnectPtr conn, int *ids, int maxids) {
if ((ids == NULL) || (maxids <= 0))
return(-1);
t = xs_transaction_start(conn->xshandle);
if (t == NULL)
goto done;
idlist = xs_directory(conn->xshandle, t, "/local/domain", &num);
if (idlist == NULL)
goto done;
for (ret = 0,i = 0;(i < num) && (ret < maxids);i++) {
id = strtol(idlist[i], &endptr, 10);
if ((endptr == idlist[i]) || (*endptr != 0)) {
ret = -1;
goto done;
/* TODO: implement the API with Xend interfaces */
idlist = xend_get_domains(conn);
if (idlist != NULL) {
for (ret = 0,i = 0;(idlist[i] != NULL) && (ret < maxids);i++) {
id = xend_get_domain_id(conn, idlist[i]);
if (id >= 0)
ids[ret++] = (int) id;
}
goto done;
}
if (conn->xshandle != NULL) {
idlist = xs_directory(conn->xshandle, 0, "/local/domain", &num);
if (idlist == NULL)
goto done;
if (virConnectCheckStoreID(conn, (int) id) < 0)
continue;
ids[ret++] = (int) id;
for (ret = 0,i = 0;(i < num) && (ret < maxids);i++) {
id = strtol(idlist[i], &endptr, 10);
if ((endptr == idlist[i]) || (*endptr != 0)) {
ret = -1;
goto done;
}
if (virConnectCheckStoreID(conn, (int) id) < 0)
continue;
ids[ret++] = (int) id;
}
}
done:
if (t != NULL)
xs_transaction_end(conn->xshandle, t, 0);
if (idlist != NULL)
free(idlist);
@ -334,7 +362,6 @@ done:
*/
int
virConnectNumOfDomains(virConnectPtr conn) {
struct xs_transaction_handle* t;
int ret = -1;
unsigned int num;
char **idlist = NULL;
@ -342,14 +369,25 @@ virConnectNumOfDomains(virConnectPtr conn) {
if (!VIR_IS_CONNECT(conn))
return(-1);
t = xs_transaction_start(conn->xshandle);
if (t) {
idlist = xs_directory(conn->xshandle, t, "/local/domain", &num);
if (idlist) {
free(idlist);
/*
* try first with Xend interface
*/
idlist = xend_get_domains(conn);
if (idlist != NULL) {
char **tmp = idlist;
ret = 0;
while (*tmp != NULL) {
tmp++;
ret++;
}
} else if (conn->xshandle != NULL) {
idlist = xs_directory(conn->xshandle, 0, "/local/domain", &num);
if (idlist) {
free(idlist);
ret = num;
}
xs_transaction_end(conn->xshandle, t, 0);
}
}
return(ret);
}
@ -383,36 +421,6 @@ virDomainCreateLinux(virConnectPtr conn, const char *kernel_path,
return(NULL);
}
#if 0
/* Not used ATM */
/**
* virConnectDoStoreQuery:
* @conn: pointer to the hypervisor connection
* @path: the absolute path of the data in the store to retrieve
*
* Internal API querying the Xenstore for a string value.
*
* Returns a string which must be freed by the caller or NULL in case of error
*/
static char *
virConnectDoStoreQuery(virConnectPtr conn, const char *path) {
struct xs_transaction_handle* t;
char *ret = NULL;
unsigned int len = 0;
t = xs_transaction_start(conn->xshandle);
if (t == NULL)
goto done;
ret = xs_read(conn->xshandle, t, path, &len);
done:
if (t != NULL)
xs_transaction_end(conn->xshandle, t, 0);
return(ret);
}
#endif
/**
* virConnectDoStoreList:
* @conn: pointer to the hypervisor connection
@ -425,19 +433,11 @@ done:
*/
static char **
virConnectDoStoreList(virConnectPtr conn, const char *path, unsigned int *nb) {
struct xs_transaction_handle* t;
char **ret = NULL;
if ((conn == NULL) || (conn->xshandle == NULL) || (path == NULL) ||
(nb == NULL))
return(NULL);
t = xs_transaction_start(conn->xshandle);
if (t == NULL)
goto done;
ret = xs_directory(conn->xshandle, t, path, nb);
done:
if (t != NULL)
xs_transaction_end(conn->xshandle, t, 0);
return(ret);
return xs_directory(conn->xshandle, 0, path, nb);
}
/**
@ -451,27 +451,18 @@ done:
*/
static char *
virDomainDoStoreQuery(virDomainPtr domain, const char *path) {
struct xs_transaction_handle* t;
char s[256];
char *ret = NULL;
unsigned int len = 0;
if (!VIR_IS_CONNECTED_DOMAIN(domain))
return(NULL);
if (domain->conn->xshandle == NULL)
return(NULL);
snprintf(s, 255, "/local/domain/%d/%s", domain->handle, path);
s[255] = 0;
t = xs_transaction_start(domain->conn->xshandle);
if (t == NULL)
goto done;
ret = xs_read(domain->conn->xshandle, t, &s[0], &len);
done:
if (t != NULL)
xs_transaction_end(domain->conn->xshandle, t, 0);
return(ret);
return xs_read(domain->conn->xshandle, 0, &s[0], &len);
}
@ -488,29 +479,23 @@ done:
static int
virDomainDoStoreWrite(virDomainPtr domain, const char *path,
const char *value) {
struct xs_transaction_handle* t;
char s[256];
int ret = -1;
if (!VIR_IS_CONNECTED_DOMAIN(domain))
return(-1);
if (domain->conn->xshandle == NULL)
return(-1);
if (domain->conn->flags & VIR_CONNECT_RO)
return(-1);
snprintf(s, 255, "/local/domain/%d/%s", domain->handle, path);
s[255] = 0;
t = xs_transaction_start(domain->conn->xshandle);
if (t == NULL)
goto done;
if (xs_write(domain->conn->xshandle, t, &s[0], value, strlen(value)))
if (xs_write(domain->conn->xshandle, 0, &s[0], value, strlen(value)))
ret = 0;
done:
if (t != NULL)
xs_transaction_end(domain->conn->xshandle, t, 0);
return(ret);
}
@ -525,26 +510,20 @@ done:
char *
virDomainGetVM(virDomainPtr domain)
{
struct xs_transaction_handle* t;
char *vm;
char query[200];
unsigned int len;
if (!VIR_IS_CONNECTED_DOMAIN(domain))
return(NULL);
t = xs_transaction_start(domain->conn->xshandle);
if (t == NULL)
if (domain->conn->xshandle == NULL)
return(NULL);
snprintf(query, 199, "/local/domain/%d/vm",
virDomainGetID(domain));
query[199] = 0;
vm = xs_read(domain->conn->xshandle, t, &query[0], &len);
if (t != NULL)
xs_transaction_end(domain->conn->xshandle, t, 0);
vm = xs_read(domain->conn->xshandle, 0, &query[0], &len);
return(vm);
}
@ -563,26 +542,20 @@ virDomainGetVM(virDomainPtr domain)
char *
virDomainGetVMInfo(virDomainPtr domain, const char *vm,
const char *name) {
struct xs_transaction_handle* t;
char s[256];
char *ret = NULL;
unsigned int len = 0;
if (!VIR_IS_CONNECTED_DOMAIN(domain))
return(NULL);
if (domain->conn->xshandle==NULL)
return(NULL);
snprintf(s, 255, "%s/%s", vm, name);
s[255] = 0;
t = xs_transaction_start(domain->conn->xshandle);
if (t == NULL)
goto done;
ret = xs_read(domain->conn->xshandle, 0, &s[0], &len);
ret = xs_read(domain->conn->xshandle, t, &s[0], &len);
done:
if (t != NULL)
xs_transaction_end(domain->conn->xshandle, t, 0);
return(ret);
}
@ -597,30 +570,55 @@ done:
*/
virDomainPtr
virDomainLookupByID(virConnectPtr conn, int id) {
char *path;
char *path = NULL;
virDomainPtr ret;
char *name = NULL;
if (!VIR_IS_CONNECT(conn))
return(NULL);
if (id < 0)
return(NULL);
path = xs_get_domain_path(conn->xshandle, (unsigned int) id);
if (path == NULL) {
return(NULL);
/* lookup is easier with the Xen store so try it first */
if (conn->xshandle != NULL) {
path = xs_get_domain_path(conn->xshandle, (unsigned int) id);
}
/* fallback to xend API then */
if (path == NULL) {
char **names = xend_get_domains(conn);
char **tmp = names;
int ident;
if (names != NULL) {
while (*tmp != NULL) {
ident = xend_get_domain_id(conn, *tmp);
if (ident == id) {
name = strdup(*tmp);
break;
}
tmp++;
}
free(names);
}
}
ret = (virDomainPtr) malloc(sizeof(virDomain));
if (ret == NULL) {
free(path);
if (path != NULL)
free(path);
return(NULL);
}
ret->magic = VIR_DOMAIN_MAGIC;
ret->conn = conn;
ret->handle = id;
ret->path = path;
ret->name = virDomainDoStoreQuery(ret, "name");
if (name == NULL)
ret->name = virDomainDoStoreQuery(ret, "name");
else
ret->name = name;
if (ret->name == NULL) {
free(path);
if (path != NULL)
free(path);
free(ret);
return(NULL);
}
@ -639,44 +637,57 @@ virDomainLookupByID(virConnectPtr conn, int id) {
*/
virDomainPtr
virDomainLookupByName(virConnectPtr conn, const char *name) {
struct xs_transaction_handle* t;
virDomainPtr ret = NULL;
unsigned int num, i, len;
long id;
long id = -1;
char **idlist = NULL, *endptr;
char prop[200], *tmp;
char prop[200], *tmp, *path = NULL;
unsigned char *uuid = NULL;
int found = 0;
struct xend_domain *xenddomain = NULL;
if (!VIR_IS_CONNECT(conn))
return(NULL);
if (name == NULL)
return(NULL);
t = xs_transaction_start(conn->xshandle);
if (t == NULL)
goto done;
idlist = xs_directory(conn->xshandle, t, "/local/domain", &num);
if (idlist == NULL)
goto done;
for (i = 0;i < num;i++) {
id = strtol(idlist[i], &endptr, 10);
if ((endptr == idlist[i]) || (*endptr != 0)) {
goto done;
}
if (virConnectCheckStoreID(conn, (int) id) < 0)
continue;
snprintf(prop, 199, "/local/domain/%s/name", idlist[i]);
prop[199] = 0;
tmp = xs_read(conn->xshandle, t, prop, &len);
if (tmp != NULL) {
found = !strcmp(name, tmp);
free(tmp);
if (found)
break;
}
/* try first though Xend */
xenddomain = xend_get_domain(conn, name);
if (xenddomain != NULL) {
id = xenddomain->live->id;
uuid = xenddomain->uuid;
found = 1;
goto do_found;
}
/* then though the XenStore */
if (conn->xshandle != NULL) {
idlist = xs_directory(conn->xshandle, 0, "/local/domain", &num);
if (idlist == NULL)
goto done;
for (i = 0;i < num;i++) {
id = strtol(idlist[i], &endptr, 10);
if ((endptr == idlist[i]) || (*endptr != 0)) {
goto done;
}
if (virConnectCheckStoreID(conn, (int) id) < 0)
continue;
snprintf(prop, 199, "/local/domain/%s/name", idlist[i]);
prop[199] = 0;
tmp = xs_read(conn->xshandle, 0, prop, &len);
if (tmp != NULL) {
found = !strcmp(name, tmp);
free(tmp);
if (found)
break;
}
}
path = xs_get_domain_path(conn->xshandle, (unsigned int) id);
}
do_found:
if (found) {
ret = (virDomainPtr) malloc(sizeof(virDomain));
if (ret == NULL)
@ -684,13 +695,15 @@ virDomainLookupByName(virConnectPtr conn, const char *name) {
ret->magic = VIR_DOMAIN_MAGIC;
ret->conn = conn;
ret->handle = id;
ret->path = xs_get_domain_path(conn->xshandle, (unsigned int) id);
ret->path = path;
if (uuid != NULL)
memcpy(ret->uuid, uuid, 16);
ret->name = strdup(name);
}
done:
if (t != NULL)
xs_transaction_end(conn->xshandle, t, 0);
if (xenddomain != NULL)
free(xenddomain);
if (idlist != NULL)
free(idlist);
@ -705,7 +718,7 @@ done:
* already and all resources used by it are given back to the hypervisor.
* The data structure is freed and should not be used thereafter if the
* call does not return an error.
* This function requires priviledged access to the hypervisor.
* This function may requires priviledged access
*
* Returns 0 in case of success and -1 in case of failure.
*/
@ -715,11 +728,22 @@ virDomainDestroy(virDomainPtr domain) {
if (!VIR_IS_CONNECTED_DOMAIN(domain))
return(-1);
/*
* try first with the xend method
*/
ret = xend_destroy(domain->conn, domain->name);
if (ret == 0) {
virDomainFree(domain);
return(0);
}
ret = xenHypervisorDestroyDomain(domain->conn->handle, domain->handle);
if (ret < 0)
return(-1);
return(virDomainFree(domain));
virDomainFree(domain);
return(0);
}
/**
@ -753,14 +777,22 @@ virDomainFree(virDomainPtr domain) {
* to CPU resources and I/O but the memory used by the domain at the
* hypervisor level will stay allocated. Use virDomainResume() to reactivate
* the domain.
* This function requires priviledged access to the hypervisor.
* This function may requires priviledged access.
*
* Returns 0 in case of success and -1 in case of failure.
*/
int
virDomainSuspend(virDomainPtr domain) {
int ret;
if (!VIR_IS_CONNECTED_DOMAIN(domain))
return(-1);
/* first try though the Xen daemon */
ret = xend_pause(domain->conn, domain->name);
if (ret == 0)
return(0);
/* then try a direct hypervisor access */
return(xenHypervisorPauseDomain(domain->conn->handle, domain->handle));
}
@ -770,23 +802,115 @@ virDomainSuspend(virDomainPtr domain) {
*
* Resume an suspended domain, the process is restarted from the state where
* it was frozen by calling virSuspendDomain().
* This function requires priviledged access to the hypervisor.
* This function may requires priviledged access
*
* Returns 0 in case of success and -1 in case of failure.
*/
int
virDomainResume(virDomainPtr domain) {
int ret;
if (!VIR_IS_CONNECTED_DOMAIN(domain))
return(-1);
/* first try though the Xen daemon */
ret = xend_unpause(domain->conn, domain->name);
if (ret == 0)
return(0);
/* then try a direct hypervisor access */
return(xenHypervisorResumeDomain(domain->conn->handle, domain->handle));
}
/**
* virDomainSave:
* @domain: a domain object
* @to: path for the output file
*
* This method will suspend a domain and save its memory contents to
* a file on disk. After the call, if successful, the domain is not
* listed as running anymore (this may be a problem).
* Use virDomainRestore() to restore a domain after saving.
*
* Returns 0 in case of success and -1 in case of failure.
*/
int
virDomainSave(virDomainPtr domain, const char *to) {
int ret;
char filepath[4096];
if ((!VIR_IS_CONNECTED_DOMAIN(domain)) || (to == NULL))
return(-1);
/*
* We must absolutize the file path as the save is done out of process
* TODO: check for URI when libxml2 is linked in.
*/
if (to[0] != '/') {
unsigned int len, t;
t = strlen(to);
if (getcwd(filepath, sizeof(filepath) - (t + 3)) == NULL)
return(-1);
len = strlen(filepath);
/* that should be covered by getcwd() semantic, but be 100% sure */
if (len > sizeof(filepath) - (t + 3))
return(-1);
filepath[len] = '/';
strcpy(&filepath[len + 1], to);
to = &filepath[0];
}
ret = xend_save(domain->conn, domain->name, to);
return(ret);
}
/**
* virDomainRestore:
* @conn: pointer to the hypervisor connection
* @from: path to the
*
* This method will restore a domain saved to disk by virDomainSave().
*
* Returns 0 in case of success and -1 in case of failure.
*/
int
virDomainRestore(virConnectPtr conn, const char *from) {
int ret;
char filepath[4096];
if ((!VIR_IS_CONNECT(conn)) || (from == NULL))
return(-1);
/*
* We must absolutize the file path as the restore is done out of process
* TODO: check for URI when libxml2 is linked in.
*/
if (from[0] != '/') {
unsigned int len, t;
t = strlen(from);
if (getcwd(filepath, sizeof(filepath) - (t + 3)) == NULL)
return(-1);
len = strlen(filepath);
/* that should be covered by getcwd() semantic, but be 100% sure */
if (len > sizeof(filepath) - (t + 3))
return(-1);
filepath[len] = '/';
strcpy(&filepath[len + 1], from);
from = &filepath[0];
}
ret = xend_restore(conn, from);
return(ret);
}
/**
* virDomainShutdown:
* @domain: a domain object
*
* Shutdown a domain, the domain object is still usable there after but
* the domain OS is being stopped.
* the domain OS is being stopped. Note that the guest OS may ignore the
* request.
*
* TODO: should we add an option for reboot, knowing it may not be doable
* in the general case ?
@ -801,6 +925,15 @@ virDomainShutdown(virDomainPtr domain) {
return(-1);
/*
* try first with the xend daemon
*/
ret = xend_shutdown(domain->conn, domain->name);
/* disabled as this seems to not work ...
if (ret == 0)
return(0);
*/
/*
* this is very hackish, the domU kernel probes for a special
* node in the xenstore and launch the shutdown command if found.
*/
@ -862,6 +995,9 @@ virDomainGetOSType(virDomainPtr domain) {
str = virDomainGetVMInfo(domain, vm, "image/ostype");
free(vm);
}
if (str == NULL)
str = strdup("linux");
return(str);
}
@ -919,7 +1055,6 @@ int
virDomainSetMaxMemory(virDomainPtr domain, unsigned long memory) {
int ret;
char s[256], v[30];
struct xs_transaction_handle* t;
if (!VIR_IS_CONNECTED_DOMAIN(domain))
return(-1);
@ -927,6 +1062,8 @@ virDomainSetMaxMemory(virDomainPtr domain, unsigned long memory) {
return(-1);
if (domain->conn->flags & VIR_CONNECT_RO)
return(-1);
if (domain->conn->xshandle==NULL)
return(-1);
ret = xenHypervisorSetMaxMemory(domain->conn->handle, domain->handle,
memory);
if (ret < 0)
@ -942,12 +1079,8 @@ virDomainSetMaxMemory(virDomainPtr domain, unsigned long memory) {
snprintf(v, 29, "%lu", memory);
v[30] = 0;
t = xs_transaction_start(domain->conn->xshandle);
if (t == NULL)
return(0);
xs_write(domain->conn->xshandle, t, &s[0], &v[0], strlen(v));
xs_transaction_end(domain->conn->xshandle, t, 0);
if (!xs_write(domain->conn->xshandle, 0, &s[0], &v[0], strlen(v)))
ret = -1;
return(ret);
}
@ -966,6 +1099,10 @@ virDomainSetMaxMemory(virDomainPtr domain, unsigned long memory) {
int
virDomainGetInfo(virDomainPtr domain, virDomainInfoPtr info) {
int ret;
char *tmp, **tmp2;
unsigned int nb_vcpus;
char request[200];
if (!VIR_IS_CONNECTED_DOMAIN(domain))
return(-1);
@ -974,54 +1111,18 @@ virDomainGetInfo(virDomainPtr domain, virDomainInfoPtr info) {
memset(info, 0, sizeof(virDomainInfo));
if (domain->conn->flags & VIR_CONNECT_RO) {
char *tmp, **tmp2;
unsigned int nb_vcpus;
char request[200];
tmp = virDomainDoStoreQuery(domain, "running");
if (tmp != NULL) {
if (tmp[0] == '1')
info->state = VIR_DOMAIN_RUNNING;
free(tmp);
} else {
info->state = VIR_DOMAIN_NONE;
}
tmp = virDomainDoStoreQuery(domain, "memory/target");
if (tmp != NULL) {
info->memory = atol(tmp);
info->maxMem = atol(tmp);
free(tmp);
} else {
info->memory = 0;
info->maxMem = 0;
}
#if 0
/* doesn't seems to work */
tmp = virDomainDoStoreQuery(domain, "cpu_time");
if (tmp != NULL) {
info->cpuTime = atol(tmp);
free(tmp);
} else {
info->cpuTime = 0;
}
#endif
snprintf(request, 199, "/local/domain/%d/cpu", domain->handle);
request[199] = 0;
tmp2 = virConnectDoStoreList(domain->conn, request, &nb_vcpus);
if (tmp2 != NULL) {
info->nrVirtCpu = nb_vcpus;
free(tmp2);
}
} else {
/*
* if we have direct access though the hypervisor do a direct call
*/
if (domain->conn->handle >= 0) {
dom0_getdomaininfo_t dominfo;
dominfo.domain = domain->handle;
ret = xenHypervisorGetDomainInfo(domain->conn->handle, domain->handle,
&dominfo);
if (ret < 0)
return(-1);
goto xend_info;
switch (dominfo.flags & 0xFF) {
case DOMFLAGS_DYING:
info->state = VIR_DOMAIN_SHUTDOWN;
@ -1045,12 +1146,59 @@ virDomainGetInfo(virDomainPtr domain, virDomainInfoPtr info) {
/*
* the API brings back the cpu time in nanoseconds,
* convert to microseconds, same thing convert to
* kilobytes from page counts
*/
info->cpuTime = dominfo.cpu_time;
info->memory = dominfo.tot_pages * 4;
info->maxMem = dominfo.max_pages * 4;
info->nrVirtCpu = dominfo.nr_online_vcpus;
return(0);
}
xend_info:
/*
* try to extract the informations though access to the Xen Daemon
*/
if (xend_get_domain_info(domain, info) == 0)
return(0);
/*
* last fallback, try to get the inforamtions from the Xen store
*/
tmp = virDomainDoStoreQuery(domain, "running");
if (tmp != NULL) {
if (tmp[0] == '1')
info->state = VIR_DOMAIN_RUNNING;
free(tmp);
} else {
info->state = VIR_DOMAIN_NONE;
}
tmp = virDomainDoStoreQuery(domain, "memory/target");
if (tmp != NULL) {
info->memory = atol(tmp);
info->maxMem = atol(tmp);
free(tmp);
} else {
info->memory = 0;
info->maxMem = 0;
}
#if 0
/* doesn't seems to work */
tmp = virDomainDoStoreQuery(domain, "cpu_time");
if (tmp != NULL) {
info->cpuTime = atol(tmp);
free(tmp);
} else {
info->cpuTime = 0;
}
#endif
snprintf(request, 199, "/local/domain/%d/cpu", domain->handle);
request[199] = 0;
tmp2 = virConnectDoStoreList(domain->conn, request, &nb_vcpus);
if (tmp2 != NULL) {
info->nrVirtCpu = nb_vcpus;
free(tmp2);
}
return(0);
}

View File

@ -18,7 +18,9 @@
virDomainGetXMLDesc;
virDomainLookupByID;
virDomainLookupByName;
virDomainRestore;
virDomainResume;
virDomainSave;
virDomainSetMaxMemory;
virDomainShutdown;
virDomainSuspend;

446
src/sexpr.c Normal file
View File

@ -0,0 +1,446 @@
/*
* sexpr.c : S-Expression routines to communicate with the Xen Daemon
*
* Copyright (C) 2005
*
* Anthony Liguori <aliguori@us.ibm.com>
*
* This file is subject to the terms and conditions of the GNU Lesser General
* Public License. See the file COPYING.LIB in the main directory of this
* archive for more details.
*/
#define _GNU_SOURCE
#include "sexpr.h"
#include <malloc.h>
#include <string.h>
#include <stdio.h>
#include <ctype.h>
#include <errno.h>
/**
* sexpr_new:
*
* Create a new S-Expression
*
* Returns the new node or NULL in case of memory allocation error
*/
static struct sexpr *
sexpr_new(void)
{
struct sexpr *ret;
ret = (struct sexpr *) malloc(sizeof(*ret));
if (ret == NULL) {
return(NULL);
}
ret->kind = SEXPR_NIL;
return ret;
}
/**
* sexpr_free:
* @sexpr: the S-Expression pointer
*
* Free an S-Expression
*/
void
sexpr_free(struct sexpr *sexpr)
{
int serrno = errno;
if (sexpr == NULL) {
return;
}
switch (sexpr->kind) {
case SEXPR_CONS:
sexpr_free(sexpr->car);
sexpr_free(sexpr->cdr);
break;
case SEXPR_VALUE:
free(sexpr->value);
break;
case SEXPR_NIL:
break;
}
free(sexpr);
errno = serrno;
}
/**
* sexpr_nil:
*
* Provide a NIL S-Expression (the pointer is not shared so NIL equality
* testing won't work at the pointer level).
*
* Returns a new NIL S-Expression of NULL in case of error.
*/
struct sexpr *
sexpr_nil(void)
{
return sexpr_new();
}
/**
* sexpr_string:
* @str: the input string, assumed to be UTF-8
* @len: the length in bytes of the input
*
* Parse the input S-Expression and return a pointer to the result
*
* Returns the S-Expression pointer or NULL in case of error
*/
struct sexpr *
sexpr_string(const char *str, ssize_t len)
{
struct sexpr *ret = sexpr_new();
if (ret == NULL)
return ret;
ret->kind = SEXPR_VALUE;
if (len > 0) {
ret->value = strndup(str, len);
} else {
ret->value = strdup(str);
}
if (ret->value == NULL) {
return NULL;
}
return ret;
}
/**
* sexpr_cons:
* @car: the left operand
* @cdr: the right operand
*
* Implement the CONS operation assembling 2 existing S-Expressions.
* Note that in case of error the input data are not freed.
*
* Returns the resulting S-Expression pointer or NULL in case of error.
*/
struct sexpr *
sexpr_cons(struct sexpr *car, struct sexpr *cdr)
{
struct sexpr *ret = sexpr_new();
if (ret == NULL)
return ret;
ret->kind = SEXPR_CONS;
ret->car = car;
ret->cdr = cdr;
return ret;
}
/**
* append:
* @lst: an existing list
* @value: the value
*
* Internal operation appending a value at the end of an existing list
*/
static void
append(struct sexpr *lst, struct sexpr *value)
{
while (lst->kind != SEXPR_NIL) {
lst = lst->cdr;
}
lst->kind = SEXPR_CONS;
lst->car = value;
lst->cdr = sexpr_nil();
}
/**
* @lst: an existing list
* @value: the value
*
* Append a value at the end of an existing list
*
* Returns lst or NULL in case of error
*/
struct sexpr *
sexpr_append(struct sexpr *lst, struct sexpr *value)
{
if (lst == NULL)
return(NULL);
if (value == NULL)
return(lst);
append(lst, value);
return(lst);
}
/**
* sexpr2string:
* @sexpr: an S-Expression pointer
* @buffer: the output buffer
* @n_buffer: the size of the buffer in bytes
*
* Serialize the S-Expression in the buffer.
* Note that the output may be truncated if @n_buffer is too small
* resulting in an unparseable value.
*
* Returns the number of bytes used by the serialization in the buffer or
* 0 in case of error.
*/
size_t
sexpr2string(struct sexpr * sexpr, char *buffer, size_t n_buffer)
{
size_t ret = 0, tmp;
if ((sexpr == NULL) || (buffer == NULL) || (n_buffer <= 0))
return(0);
switch (sexpr->kind) {
case SEXPR_CONS:
tmp = snprintf(buffer + ret, n_buffer - ret, "(");
if (tmp == 0)
return(0);
ret += tmp;
tmp = sexpr2string(sexpr->car, buffer + ret, n_buffer - ret);
if (tmp == 0)
return(0);
ret += tmp;
while (sexpr->cdr->kind != SEXPR_NIL) {
sexpr = sexpr->cdr;
tmp = snprintf(buffer + ret, n_buffer - ret, " ");
if (tmp == 0)
return(0);
ret += tmp;
tmp = sexpr2string(sexpr->car, buffer + ret, n_buffer - ret);
if (tmp == 0)
return(0);
ret += tmp;
}
tmp = snprintf(buffer + ret, n_buffer - ret, ")");
if (tmp == 0)
return(0);
ret += tmp;
break;
case SEXPR_VALUE:
if (strchr(sexpr->value, ' '))
tmp = snprintf(buffer + ret, n_buffer - ret, "'%s'",
sexpr->value);
else
tmp = snprintf(buffer + ret, n_buffer - ret, "%s",
sexpr->value);
if (tmp == 0)
return(0);
ret += tmp;
break;
case SEXPR_NIL:
break;
default:
return(0);
}
return(ret);
}
#define IS_SPACE(c) ((c == 0x20) || (c == 0x9) || (c == 0xD) || (c == 0xA))
static const char *
trim(const char *string)
{
while (IS_SPACE(*string))
string++;
return(string);
}
/**
* _string2sexpr:
* @buffer: a zero terminated buffer containing an S-Expression in UTF-8
* @end: pointer to an index in the buffer for the already parsed bytes
*
* Internal routine implementing the parse of S-Expression
* Note that failure in this function is catrosphic. If it returns
* NULL, you've leaked memory and you're currently OOM. It will always
* parse an SEXPR given a buffer
*
* Returns a pointer to the resulting parsed S-Expression, or NULL in case of
* hard error.
*/
static struct sexpr *
_string2sexpr(const char *buffer, size_t * end)
{
const char *ptr = buffer + *end;
struct sexpr *ret = sexpr_new();
if (ret == NULL)
return NULL;
ptr = trim(ptr);
if (ptr[0] == '(') {
ret->kind = SEXPR_NIL;
ptr = trim(ptr + 1);
while (*ptr && *ptr != ')') {
struct sexpr *tmp;
size_t tmp_len = 0;
tmp = _string2sexpr(ptr, &tmp_len);
if (tmp == NULL)
return NULL;
append(ret, tmp);
#if 0
if (0) {
char buf[4096];
sexpr2string(ret, buf, sizeof(buf));
printf("%s\n", buffer);
}
#endif
ptr = trim(ptr + tmp_len);
}
if (*ptr == ')') {
ptr++;
}
} else {
const char *start;
if (*ptr == '\'') {
ptr++;
start = ptr;
while (*ptr && *ptr != '\'') {
if (*ptr == '\\' && ptr[1])
ptr++;
ptr++;
}
ret->value = strndup(start, ptr - start);
if (*ptr == '\'')
ptr++;
} else {
start = ptr;
while (*ptr && !isspace(*ptr) && *ptr != ')' && *ptr != '(') {
ptr++;
}
ret->value = strndup(start, ptr - start);
}
ret->kind = SEXPR_VALUE;
}
*end = ptr - buffer;
return ret;
}
/**
* string2sexpr:
* @buffer: a zero terminated buffer containing an S-Expression in UTF-8
*
* Parse the S-Expression in the buffer.
* Note that failure in this function is catrosphic. If it returns
* NULL, you've leaked memory and you're currently OOM. It will always
* parse an SEXPR given a buffer
*
* Returns a pointer to the resulting parsed S-Expression, or NULL in case of
* hard error.
*/
struct sexpr *
string2sexpr(const char *buffer)
{
size_t dummy = 0;
return _string2sexpr(buffer, &dummy);
}
/**
* sexpr_lookup:
* @sexpr: a pointer to a parsed S-Expression
* @node: a path for the sub expression to lookup in the S-Expression
*
* Search a sub expression in the S-Expression based on its path
* NOTE: path are limited to 4096 bytes.
*
* Returns the pointer to the sub expression or NULL if not found.
*/
struct sexpr *
sexpr_lookup(struct sexpr *sexpr, const char *node)
{
char buffer[4096], *ptr, *token;
if ((node == NULL) || (sexpr == NULL))
return(NULL);
snprintf(buffer, sizeof(buffer), "%s", node);
ptr = buffer;
token = strsep(&ptr, "/");
if (sexpr->kind != SEXPR_CONS || sexpr->car->kind != SEXPR_VALUE) {
return NULL;
}
if (strcmp(sexpr->car->value, token) != 0) {
return NULL;
}
for (token = strsep(&ptr, "/"); token; token = strsep(&ptr, "/")) {
struct sexpr *i;
if (token == NULL)
continue;
sexpr = sexpr->cdr;
for (i=sexpr; i->kind != SEXPR_NIL; i=i->cdr) {
if (i->kind != SEXPR_CONS ||
i->car->kind != SEXPR_CONS ||
i->car->car->kind != SEXPR_VALUE) {
continue;
}
if (strcmp(i->car->car->value, token) == 0) {
sexpr = i->car;
break;
}
}
if (i->kind == SEXPR_NIL) {
break;
}
}
if (token != NULL) {
return NULL;
}
if (sexpr->kind != SEXPR_CONS || sexpr->cdr->kind != SEXPR_CONS)
return NULL;
return sexpr->cdr;
}
/**
* sexpr_node:
* @sexpr: a pointer to a parsed S-Expression
* @node: a path for the node to lookup in the S-Expression
*
* Search a node value in the S-Expression based on its path
* NOTE: path are limited to 4096 bytes.
*
* Returns the value of the node or NULL if not found.
*/
const char *
sexpr_node(struct sexpr *sexpr, const char *node)
{
struct sexpr *n = sexpr_lookup(sexpr, node);
return (n && n->car->kind == SEXPR_VALUE) ? n->car->value : NULL;
}

56
src/sexpr.h Normal file
View File

@ -0,0 +1,56 @@
/*
* sexpr.h : S-Expression interfaces needed to communicate with the Xen Daemon
*
* Copyright (C) 2005
*
* Anthony Liguori <aliguori@us.ibm.com>
*
* This file is subject to the terms and conditions of the GNU Lesser General
* Public License. See the file COPYING.LIB in the main directory of this
* archive for more details.
*/
#ifndef _LIBVIR_SEXPR_H_
#define _LIBVIR_SEXPR_H_
#include <sys/types.h>
enum sexpr_type {
SEXPR_NIL,
SEXPR_CONS,
SEXPR_VALUE,
};
struct sexpr {
enum sexpr_type kind;
union {
struct {
struct sexpr *car;
struct sexpr *cdr;
};
char *value;
};
};
/* conversion to/from strings */
size_t sexpr2string (struct sexpr *sexpr,
char *buffer,
size_t n_buffer);
struct sexpr * string2sexpr (const char *buffer);
/* constructors and destructors */
struct sexpr * sexpr_nil (void);
struct sexpr * sexpr_string (const char *str,
ssize_t len);
struct sexpr * sexpr_cons (struct sexpr *car,
struct sexpr *cdr);
struct sexpr * sexpr_append (struct sexpr *lst,
struct sexpr *item);
void sexpr_free (struct sexpr *sexpr);
/* lookup in S-Expressions */
const char * sexpr_node (struct sexpr *sexpr,
const char *node);
struct sexpr * sexpr_lookup (struct sexpr *sexpr,
const char *node);
#endif

View File

@ -13,7 +13,7 @@
#define _GNU_SOURCE /* isblank() */
#include "libvir.h"
#include "libvirt.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@ -70,13 +70,10 @@ typedef enum {
* int_option = --optionname <number>
* string_option = --optionname <string>
*
* keyword = [a-zA-Z]
* number = [0-9]+
* string = [^[:blank:]] | "[[:alnum:]]"$
* keyword = [a-zA-Z]
* number = [0-9]+
* string = [^[:blank:]] | "[[:alnum:]]"$
*
* Note: only one <data> token per command is supported. It means:
* "command aaa bbb" is unsupported and you have to use any option, like:
* "command --aaa <data> bbb" or whatever.
*/
/*
@ -323,7 +320,7 @@ static vshCmdInfo info_dstate[] = {
};
static vshCmdOptDef opts_dstate[] = {
{ "domain", VSH_OT_DATA, 0, "domain name or id" },
{ "domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name or id" },
{ NULL, 0, 0, NULL }
};
@ -359,7 +356,7 @@ static vshCmdInfo info_suspend[] = {
};
static vshCmdOptDef opts_suspend[] = {
{ "domain", VSH_OT_DATA, 0, "domain name or id" },
{ "domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name or id" },
{ NULL, 0, 0, NULL }
};
@ -386,6 +383,86 @@ cmdSuspend(vshControl *ctl, vshCmd *cmd) {
return ret;
}
/*
* "save" command
*/
static vshCmdInfo info_save[] = {
{ "syntax", "save <domain> <file>" },
{ "help", "save a domain state to a file" },
{ "desc", "Save a running domain." },
{ NULL, NULL }
};
static vshCmdOptDef opts_save[] = {
{ "domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name or id" },
{ "file", VSH_OT_DATA, VSH_OFLAG_REQ, "where to save the data" },
{ NULL, 0, 0, NULL }
};
static int
cmdSave(vshControl *ctl, vshCmd *cmd) {
virDomainPtr dom;
char *name;
char *to;
int ret = TRUE;
if (!vshConnectionUsability(ctl, ctl->conn, TRUE))
return FALSE;
if (!(to = vshCommandOptString(cmd, "file", NULL)))
return FALSE;
if (!(dom = vshCommandOptDomain(ctl, cmd, "domain", &name)))
return FALSE;
if (virDomainSave(dom, to)==0) {
vshPrint(ctl, VSH_MESG, "Domain %s saved\n", name);
} else {
vshError(ctl, FALSE, "Failed to save domain\n");
ret = FALSE;
}
virDomainFree(dom);
return ret;
}
/*
* "restore" command
*/
static vshCmdInfo info_restore[] = {
{ "syntax", "restore a domain from <file>" },
{ "help", "restore a domain from a saved state in a file" },
{ "desc", "Restore a domain." },
{ NULL, NULL }
};
static vshCmdOptDef opts_restore[] = {
{ "file", VSH_OT_DATA, VSH_OFLAG_REQ, "the state to restore" },
{ NULL, 0, 0, NULL }
};
static int
cmdRestore(vshControl *ctl, vshCmd *cmd) {
char *from;
int found;
int ret = TRUE;
if (!vshConnectionUsability(ctl, ctl->conn, TRUE))
return FALSE;
from = vshCommandOptString(cmd, "file", &found);
if (!found)
return FALSE;
if (virDomainRestore(ctl->conn, from)==0) {
vshPrint(ctl, VSH_MESG, "Domain restored from %s\n", from);
} else {
vshError(ctl, FALSE, "Failed to restore domain\n");
ret = FALSE;
}
return ret;
}
/*
* "resume" command
*/
@ -397,7 +474,7 @@ static vshCmdInfo info_resume[] = {
};
static vshCmdOptDef opts_resume[] = {
{ "domain", VSH_OT_DATA, 0, "domain name or id" },
{ "domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name or id" },
{ NULL, 0, 0, NULL }
};
@ -435,7 +512,7 @@ static vshCmdInfo info_shutdown[] = {
};
static vshCmdOptDef opts_shutdown[] = {
{ "domain", VSH_OT_DATA, 0, "domain name or id" },
{ "domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name or id" },
{ NULL, 0, 0, NULL }
};
@ -473,7 +550,7 @@ static vshCmdInfo info_destroy[] = {
};
static vshCmdOptDef opts_destroy[] = {
{ "domain", VSH_OT_DATA, 0, "domain name or id" },
{ "domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name or id" },
{ NULL, 0, 0, NULL }
};
@ -511,7 +588,7 @@ static vshCmdInfo info_dinfo[] = {
};
static vshCmdOptDef opts_dinfo[] = {
{ "domain", VSH_OT_DATA, 0, "domain name or id" },
{ "domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name or id" },
{ NULL, 0, 0, NULL }
};
@ -577,7 +654,7 @@ static vshCmdInfo info_dumpxml[] = {
};
static vshCmdOptDef opts_dumpxml[] = {
{ "domain", VSH_OT_DATA, 0, "domain name or id" },
{ "domain", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name or id" },
{ NULL, 0, 0, NULL }
};
@ -615,8 +692,8 @@ static vshCmdInfo info_nameof[] = {
};
static vshCmdOptDef opts_nameof[] = {
{ "id", VSH_OT_DATA, 0, "domain Id" },
{ NULL, 0, 0, NULL }
{ "id", VSH_OT_DATA, VSH_OFLAG_REQ, "domain Id" },
{ NULL, 0, 0, NULL }
};
static int
@ -651,7 +728,7 @@ static vshCmdInfo info_idof[] = {
};
static vshCmdOptDef opts_idof[] = {
{ "name", VSH_OT_DATA, 0, "domain name" },
{ "name", VSH_OT_DATA, VSH_OFLAG_REQ, "domain name" },
{ NULL, 0, 0, NULL }
};
@ -667,7 +744,7 @@ cmdIdof(vshControl *ctl, vshCmd *cmd) {
dom = virDomainLookupByName(ctl->conn, name);
if (dom) {
vshPrint(ctl, VSH_MESG, "%s\n", virDomainGetID(dom));
vshPrint(ctl, VSH_MESG, "%d\n", virDomainGetID(dom));
virDomainFree(dom);
} else {
vshError(ctl, FALSE, "failed to get domain '%s'", name);
@ -781,6 +858,8 @@ static vshCmdDef commands[] = {
{ "dstate", cmdDstate, opts_dstate, info_dstate },
{ "suspend", cmdSuspend, opts_suspend, info_suspend },
{ "resume", cmdResume, opts_resume, info_resume },
{ "save", cmdSave, opts_save, info_save },
{ "restore", cmdRestore, opts_restore, info_restore },
{ "shutdown", cmdShutdown, opts_shutdown, info_shutdown },
{ "destroy", cmdDestroy, opts_destroy, info_destroy },
{ "help", cmdHelp, opts_help, info_help },
@ -818,15 +897,54 @@ vshCmddefGetOption(vshCmdDef *cmd, const char *name) {
}
static vshCmdOptDef *
vshCmddefGetData(vshCmdDef *cmd) {
vshCmddefGetData(vshCmdDef *cmd, int data_ct) {
vshCmdOptDef *opt;
for (opt = cmd->opts; opt && opt->name; opt++)
if (opt->type==VSH_OT_DATA)
return opt;
for (opt = cmd->opts; opt && opt->name; opt++) {
if (opt->type==VSH_OT_DATA) {
if (data_ct==0)
return opt;
else
data_ct--;
}
}
return NULL;
}
/*
* Checks for required options
*/
static int
vshCommandCheckOpts(vshControl *ctl, vshCmd *cmd)
{
vshCmdDef *def = cmd->def;
vshCmdOptDef *d;
int err=0;
for (d = def->opts; d && d->name; d++) {
if (d->flag & VSH_OFLAG_REQ) {
vshCmdOpt *o = cmd->opts;
int ok=0;
while(o && ok==0) {
if (o->def == d)
ok=1;
o = o->next;
}
if (!ok) {
vshError(ctl, FALSE,
d->type == VSH_OT_DATA ?
"command '%s' requires <%s> option" :
"command '%s' requires --%s option",
def->name, d->name);
err = 1;
}
}
}
return !err;
}
static vshCmdDef *
vshCmddefSearch(const char *cmdname) {
vshCmdDef *c;
@ -956,7 +1074,8 @@ vshCommandOptString(vshCmd *cmd, const char *name, int *found) {
vshCmdOpt *arg = vshCommandOpt(cmd, name);
if (found)
*found = arg ? TRUE : FALSE;
return arg ? arg->data : NULL;
return arg && arg->data && *arg->data ? arg->data : NULL;
}
/*
@ -967,6 +1086,7 @@ vshCommandOptBool(vshCmd *cmd, const char *name) {
return vshCommandOpt(cmd, name) ? TRUE : FALSE;
}
static virDomainPtr
vshCommandOptDomain(vshControl *ctl, vshCmd *cmd, const char *optname, char **name) {
virDomainPtr dom = NULL;
@ -978,18 +1098,23 @@ vshCommandOptDomain(vshControl *ctl, vshCmd *cmd, const char *optname, char **na
return NULL;
}
vshPrint(ctl, VSH_DEBUG5, "%s: found option <%s>: %s\n", cmd->def->name, optname, n);
if (name)
*name = n;
/* try it by ID */
id = (int) strtol(n, &end, 10);
if (id >= 0 && end && *end=='\0')
if (id >= 0 && end && *end=='\0') {
vshPrint(ctl, VSH_DEBUG5, "%s: <%s> seems like domain ID\n", cmd->def->name, optname);
dom = virDomainLookupByID(ctl->conn, id);
}
/* try it by NAME */
if (!dom)
if (!dom) {
vshPrint(ctl, VSH_DEBUG5, "%s: <%s> tring as domain NAME\n", cmd->def->name, optname);
dom = virDomainLookupByName(ctl->conn, n);
}
if (!dom)
vshError(ctl, FALSE, "failed to get domain '%s'", n);
@ -1059,7 +1184,13 @@ vshCommandGetToken(vshControl *ctl, char *str, char **end, char **res) {
/* end of token is blank space or ';' */
if ((quote==FALSE && isblank((unsigned char) *p)) || *p==';')
break;
/* end of option name could be '=' */
if (tk==VSH_TK_OPTION && *p=='=') {
p++; /* skip '=' */
break;
}
if (tk==VSH_TK_NONE) {
if (*p=='-' && *(p+1)=='-' && *(p+2) && isalnum((unsigned char) *(p+2))) {
tk = VSH_TK_OPTION;
@ -1120,6 +1251,7 @@ vshCommandParse(vshControl *ctl, char *cmdstr) {
vshCmdOpt *last = NULL;
vshCmdDef *cmd = NULL;
int tk = VSH_TK_NONE;
int data_ct = 0;
first = NULL;
@ -1178,7 +1310,7 @@ vshCommandParse(vshControl *ctl, char *cmdstr) {
}
}
} else if (tk==VSH_TK_DATA) {
if (!(opt = vshCmddefGetData(cmd))) {
if (!(opt = vshCmddefGetData(cmd, data_ct++))) {
vshError(ctl, FALSE,
"unexpected data '%s'",
tkdata);
@ -1217,6 +1349,9 @@ vshCommandParse(vshControl *ctl, char *cmdstr) {
c->def = cmd;
c->next = NULL;
if (!vshCommandCheckOpts(ctl, c))
goto syntaxError;
if (!ctl->cmd)
ctl->cmd = c;
if (clast)
@ -1535,7 +1670,7 @@ vshParseArgv(vshControl *ctl, int argc, char **argv) {
if (argc < 2)
return TRUE;
/* look for begin of command, for example:
/* look for begin of the command, for example:
* ./virsh --debug 5 -q command --cmdoption
* <--- ^ --->
* getopt() stuff | command suff

2073
src/xend_internal.c Normal file

File diff suppressed because it is too large Load Diff

841
src/xend_internal.h Normal file
View File

@ -0,0 +1,841 @@
/*
* libxend/xend.h -- Xend library
*
* Copyright (C) 2005
*
* Anthony Liguori <aliguori@us.ibm.com>
*
* This file is subject to the terms and conditions of the GNU Lesser General
* Public License. See the file COPYING in the main directory of this archive
* for more details.
*/
#ifndef _LIBXEND_XEND_H_
#define _LIBXEND_XEND_H_
#include <sys/types.h>
#include <stdint.h>
#include <stdbool.h>
#include "libvirt.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
Use the default setting as determined by Xend.
*/
#define XEND_DEFAULT 0
/**
This structure represents a virtual block device.
*/
struct xend_device_vbd
{
/**
The domain ID of the backend.
Required.
*/
int backend;
/**
A URI representing the device. This is typically in the form
file:/path/to/image or phy:/dev/device
Required.
*/
const char *uname;
/**
The name (or number) of the device to expose to the frontend.
Required.
*/
const char *dev;
/**
A flag specifying the permissions to expose the device with.
Required.
*/
virDeviceMode mode;
};
/**
This structure represents a range of PIO to enable for a guest.
*/
struct xend_device_ioport
{
/**
The beginning address of an ioport range to enable.
Required.
*/
uint16_t from;
/**
The ending address of an ioport range to enable.
Required.
*/
uint16_t to;
};
/**
This structure represents a virtual network interface configuration.
*/
struct xend_device_vif
{
/**
A string representing the domain that will serve as the backend for
this device.
Required.
*/
int backend;
/**
The name of the bridge device to pass to the network script.
Optional.
*/
const char *bridge;
/**
The ip address to configure the virtal network device with.
Optional.
*/
const char *ip;
/**
The mac address to use for the virtual network device.
Required.
*/
uint8_t mac[6];
/**
The path to the network script that is to be used for initializing
the network device.
Optional.
*/
const char *script;
/**
The name of the vif. The primary use for this is to allow the user
to operate on vifs by name.
Optional.
*/
const char *vifname;
};
struct xend_domain_live
{
/**
true is domain is currently scheduled.
*/
bool running;
/**
true is domain has crashed.
*/
bool crashed;
/**
true if domain has been shutdown.
*/
bool poweroff;
/**
true if domain has requested a reboot.
*/
bool reboot;
/**
true if domain has requested a suspend.
*/
bool suspend;
/**
true if domain is blocked on IO
*/
bool blocked;
/**
true if domain has been destroyed but resources are not
fully deallocated.
*/
bool dying;
/**
true if domain is paused.
*/
bool paused;
/**
the amount of time the domain has been running (in seconds)
*/
double cpu_time;
/**
the wall clock time since the domain was created (in seconds)
*/
double up_time;
/**
the time (in seconds since epoch) the domain was created
*/
double start_time;
/**
the number of enabled VCPUs
*/
int online_vcpus;
/**
the total number of available VCPUs
*/
int vcpu_avail;
/**
the domain id number
*/
int id;
};
/**
This structure represents the configuration of a domain. It's primary
purpose (currently) is for domain creation.
*/
struct xend_domain
{
/**
The name of the domain.
Required.
*/
const char *name;
/**
The amount of memory to assign to the domain before creation.
Required.
*/
uint64_t memory;
/**
The maximum amount of memory that can be given to the domain
while it's running. Please note that a domain can increase its
memory on its own while running up to this value.
Required.
*/
uint64_t max_memory;
/**
The uuid to use to identify the domain. This is compatible with
libuuid's uuid_t and should be able to be used interchangably.
Optional.
*/
unsigned char *uuid;
/**
The ssidref to assign to the domain.
Optional.
*/
int ssidref;
/**
The action to perform when the domain powers off.
Optional.
*/
virDomainRestart on_poweroff;
/**
The action to perform when the domain reboots.
Optional.
*/
virDomainRestart on_reboot;
/**
The action to perform when the domain crashes.
Optional.
*/
virDomainRestart on_crash;
/**
The number of VCPUs to assign to the domain.
Required.
*/
int vcpus;
/* FIXME cpus */
virDomainKernel image;
/**
The number of VBDs pointed to be vbds.
Optional.
*/
size_t n_vbds;
struct xend_device_vbd *vbds;
/**
The number of IO port ranges pointed to by ioports.
Optional.
*/
size_t n_ioports;
struct xend_device_ioport *ioports;
/**
The number of VIFs pointed to be vifs.
Optional.
*/
size_t n_vifs;
struct xend_device_vif *vifs;
/**
A pointer to run-time information about the domain.
Only set by xen_get_domain().
*/
struct xend_domain_live *live;
};
enum xend_node_system
{
XEND_SYSTEM_LINUX = 1,
};
struct xend_node
{
/**
An enumeration value specifying the host system.
*/
enum xend_node_system system;
/**
The DNS host name.
*/
const char *host;
/**
The dom0 kernel release string.
*/
const char *release;
/**
The result of uname -v.
*/
const char *version;
/**
The machine type.
*/
const char *machine;
/**
The number of physical cpus.
*/
int nr_cpus;
/**
The number of NUMA nodes.
*/
int nr_nodes;
/**
The number of sockets per NUMA node.
*/
int sockets_per_node;
/**
The number of cores per NUMA socket.
*/
int cores_per_socket;
/**
The number of hyperthreads per core.
*/
int threads_per_core;
/**
The clock rating (in megahertz) of each core.
*/
int cpu_mhz;
/**
I honestly don't know what this is.
*/
const char *hw_caps;
/**
The total memory (in bytes).
*/
uint64_t total_memory;
/**
The free memory (in bytes).
*/
uint64_t free_memory;
/**
The Xen major version number.
*/
int xen_major;
/**
The Xen minor version number.
*/
int xen_minor;
/**
The Xen extra version number.
*/
int xen_extra;
/**
A string descirbing the Xen platform.
*/
const char *xen_caps;
/**
Dunno.
*/
const char *platform_params;
/**
The build changeset.
*/
const char *xen_changeset;
/**
The compiler version.
*/
const char *cc_compiler;
/**
The user that compiled this binary.
*/
const char *cc_compile_by;
/**
The system this binary was built on.
*/
const char *cc_compile_domain;
/**
The date that this binary was built on.
*/
const char *cc_compile_date;
};
/**
* \brief Setup the connection to the local Xend instance
* \return 0 in case of success, -1 in case of error
*
* This method creates a new Xend instance preferrably trying
* to connect with the domain socket but if necessary using
* TCP (only on localhost though).
*
* This function may not fail if Xend is not running.
*
* Make sure to call xend_cleanup().
*/
int xend_setup(virConnectPtr conn);
/**
* \brief Setup the connection to a xend instance via TCP
* \param host The host name to connect to
* \param port The port number to connect to
* \return 0 in case of success, -1 in case of error
*
* This method creates a new Xend instance via TCP.
*
* This function may not fail if Xend is not running.
*
* Make sure to call xend_cleanup().
*/
int xend_setup_tcp(virConnectPtr xend, const char *host, int port);
/**
* \brief Setup the connection to xend instance via a Unix domain socket
* \param path The path to the domain socket
* \return 0 in case of success, -1 in case of error
*
* This method creates a new xend instance via a Unix domain socket.
*
* This function may not fail if Xend is not running.
*
* Make sure to call xend_cleanup().
*/
int xend_setup_unix(virConnectPtr xend, const char *path);
/**
* \brief Delete a previously allocated Xend instance
* \param xend The xend instance
*
* This method should be called when a connection to xend instance
* initialized with xend_setup[_{tcp, unix}] is no longer needed
* to free the associated resources.
*/
void xend_cleanup(virConnectPtr xend);
/**
* \brief Blocks until a domain's devices are initialized
* \param xend A xend instance
* \param name The domain's name
* \return 0 for success; -1 (with errno) on error
*
* xen_create() returns after a domain has been allocated including
* its memory. This does not guarentee, though, that the devices
* have come up properly. For instance, if you create a VBD with an
* invalid filename, the error won't occur until after this function
* returns.
*/
int xend_wait_for_devices(virConnectPtr xend, const char *name);
/**
* \brief Pause a domain
* \param xend A xend instance
* \param name The domain's name
* \return 0 for success; -1 (with errno) on error
*
* This method will make sure that Xen does not schedule the domain
* anymore until after xend_unpause() has been called.
*/
int xend_pause(virConnectPtr xend, const char *name);
/**
* \brief Unpause a domain
* \param xend A xend instance
* \param name The domain's name
* \return 0 for success; -1 (with errno) on error
*
* This method will allow a paused domain (the result of xen_pause())
* to be scheduled in the future.
*/
int xend_unpause(virConnectPtr xend, const char *name);
/**
* \brief Unpause a domain
* \param xend A xend instance
* \param oldname The domain's name
* \param name The new name
* \return 0 for success; -1 (with errno) on error
*
* This method allows a domain to have its name changed after creation.
*/
int xend_rename(virConnectPtr xend, const char *oldname, const char *name);
/**
* \brief Sends a SYSRQ to a domain
* \param xend A xend instance
* \param name The domain's name
* \param key The key that was held during the SYSRQ
* \return 0 for success; -1 (with errno) on error
*
* This method simulates the pressing of a SYSRQ sequence.
*/
int xend_sysrq(virConnectPtr xend, const char *name, const char *key);
/**
* \brief Request a domain to reboot
* \param xend A xend instance
* \param name The domain's name
* \return 0 for success; -1 (with errno) on error
*
* This method *requests* that a domain reboot itself. This is only
* a request and the domain may ignore it. It will return immediately
* after queuing the request.
*/
int xend_reboot(virConnectPtr xend, const char *name);
/**
* \brief Request a domain to shutdown
* \param xend A xend instance
* \param name The domain's name
* \return 0 for success; -1 (with errno) on error
*
* This method *requests* that a domain shutdown itself. This is only
* a request and the domain may ignore it. It will return immediately
* after queuing the request.
*/
int xend_shutdown(virConnectPtr xend, const char *name);
/**
* \brief Destroy a domain
* \param xend A xend instance
* \param name The domain's name
* \return 0 for success; -1 (with errno) on error
*
* This method will immediately destroy a domain. If you call this
* function while a domain is running, you risk corrupting its devices.
* After calling this function, the domain's status will change to
* dying and will go away completely once all of the resources have been
* unmapped (usually from the backend devices).
*/
int xend_destroy(virConnectPtr xend, const char *name);
/**
* \brief Save a domain to the disk
* \param xend A xend instance
* \param name The domain's name
* \param filename The filename to save to
* \return 0 for success; -1 (with errno) on error
*
* This method will suspend a domain and save its memory contents to
* a file on disk. Use xend_restore() to restore a domain after
* saving.
*/
int xend_save(virConnectPtr xend, const char *name, const char *filename);
/**
* \brief Restore a domain from the disk
* \param xend A xend instance
* \param filename The filename to restore from
* \return 0 for success; -1 (with errno) on error
*
* This method will restore a domain saved to disk by xend_save().
*/
int xend_restore(virConnectPtr xend, const char *filename);
/**
* \brief Obtain a list of currently running domains
* \param xend A xend instance
* \return a NULL terminated array of names; NULL (with errno) on error
*
* This method will return an array of names of currently running
* domains. The memory should be released will a call to free().
*/
char **xend_get_domains(virConnectPtr xend);
/**
* \brief Create a new domain
* \param xend A xend instance
* \param info A struct xen_domain instance describing the domain
* \return 0 for success; -1 (with errno) on error
*
* This method will create a domain based the passed in description. The
* domain will be paused after creation and must be unpaused with
* xend_unpause() to begin execution.
*/
int xend_create(virConnectPtr xend, const struct xend_domain *info);
/**
* \brief Set the maximum memory for a domain
* \param xend A xend instance
* \param name The name of the domain
* \param value The maximum memory in bytes
* \return 0 for success; -1 (with errno) on error
*
* This method will set the maximum amount of memory that can be allocated to
* a domain. Please note that a domain is able to allocate up to this amount
* on its own (although under normal circumstances, memory allocation for a
* domain is only done through xend_set_memory()).
*/
int xend_set_max_memory(virConnectPtr xend, const char *name, uint64_t value);
/**
* \brief Set the memory allocation for a domain
* \param xend A xend instance
* \param name The name of the domain
* \param value The desired allocation in bytes
* \return 0 for success; -1 (with errno) on error
*
* This method will set a target memory allocation for a given domain and
* request that the guest meet this target. The guest may or may not actually
* achieve this target. When this function returns, it does not signify that
* the domain has actually reached that target.
*
* Memory for a domain can only be allocated up to the maximum memory setting.
* There is no safe guard for allocations that are too small so be careful
* when using this function to reduce a domain's memory usage.
*/
int xend_set_memory(virConnectPtr xend, const char *name, uint64_t value);
/**
* \brief Create a virtual block device
* \param xend A xend instance
* \param name The name of the domain
* \param vbd A virtual block device description
* \return 0 on success; -1 (with errno) on error
*
* This method creates and attachs a block device to a domain. A successful
* return value does not indicate that the device successfully attached,
* rather, one should use xend_wait_for_devices() to block until the device
* has been successfully attached.
*/
int xend_vbd_create(virConnectPtr xend,
const char *name,
const struct xend_device_vbd *vbd);
/**
* \brief Destroy a virtual block device
* \param xend A xend instance
* \param name The name of the domain
* \param vbd A virtual block device description
* \return 0 on success; -1 (with errno) on error
*
* This method detachs a block device from a given domain. A successful return
* value does not indicate that the device successfully detached, rather, one
* should use xend_wait_for_devices() to block until the device has been
* successfully detached.
*/
int xend_vbd_destroy(virConnectPtr xend,
const char *name,
const struct xend_device_vbd *vbd);
/**
* \brief Create a virtual network device
* \param xend A xend instance
* \param name The name of the domain
* \param vif A virtual network device description
* \return 0 on success; -1 (with errno) on error
*
* This method creates and attachs a network device to a domain. A successful
* return value does not indicate that the device successfully attached,
* rather, one should use xend_wait_for_devices() to network until the device
* has been successfully attached.
*/
int xend_vif_create(virConnectPtr xend,
const char *name,
const struct xend_device_vif *vif);
/**
* \brief Destroy a virtual network device
* \param xend A xend instance
* \param name The name of the domain
* \param vif A virtual network device description
* \return 0 on success; -1 (with errno) on error
*
* This method detachs a network device from a given domain. A successful
* return value does not indicate that the device successfully detached,
* rather, one should use xend_wait_for_devices() to network until the device
* has been successfully detached.
*/
int xend_vif_destroy(virConnectPtr xend,
const char *name,
const struct xend_device_vif *vif);
/**
* \brief Lookup information about a domain
* \param xend A xend instance
* \param name The name of the domain
* \return domain info on success; NULL (with errno) on error
*
* This method looks up information about a domain and returns
* it in the form of a struct xend_domain. This should be
* free()'d when no longer needed.
*/
struct xend_domain *xend_get_domain(virConnectPtr xend,
const char *name);
/**
* \brief Lookup the id of a domain
* \param xend A xend instance
* \param name The name of the domain
* \return the id number on success; -1 (with errno) on error
*
* This method looks up the id of a domain
*/
int xend_get_domain_id(virConnectPtr xend,
const char *name);
/**
* \brief Get status informations for a domain
* \param domain A xend domain
* \param info An information block provided by the user
* \return 0 in case of success, -1 in case of error
*
* This method looks up information about a domain and update the
* information block provided.
*/
int xend_get_domain_info(virDomainPtr domain,
virDomainInfoPtr info);
/**
* \brief Lookup information about the host machine
* \param xend A xend instance
* \return node info on success; NULL (with errno) on error
*
* This method returns information about the physical host
* machine running Xen.
*/
struct xend_node *xend_get_node(virConnectPtr xend);
/**
* \brief Shutdown physical host machine
* \param xend A xend instance
* \return 0 on success; -1 (with errno) on error
*
* This method shuts down the physical machine running Xen.
*/
int xend_node_shutdown(virConnectPtr xend);
/**
* \brief Restarts physical host machine
* \param xend A xend instance
* \return 0 on success; -1 (with errno) on error
*
* This method restarts the physical machine running Xen.
*/
int xend_node_restart(virConnectPtr xend);
/**
* \brief Return hypervisor debugging messages
* \param xend A xend instance
* \param buffer A buffer to hold the messages
* \param n_buffer Size of buffer (including null terminator)
* \return 0 on success; -1 (with errno) on error
*
* This function will place the debugging messages from the
* hypervisor into a buffer with a null terminator.
*/
int xend_dmesg(virConnectPtr xend,
char *buffer,
size_t n_buffer);
/**
* \brief Clear the hypervisor debugging messages
* \param xend A xend instance
* \return 0 on success; -1 (with errno) on error
*
* This function will clear the debugging message ring queue
* in the hypervisor.
*/
int xend_dmesg_clear(virConnectPtr xend);
/**
* \brief Obtain the Xend log messages
* \param xend A xend instance
* \param buffer The buffer to hold the messages
* \param n_buffer Size of buffer (including null terminator)
* \return 0 on success; -1 (with errno) on error
*
* This function will place the Xend debugging messages into
* a buffer with a null terminator.
*/
int xend_log(virConnectPtr xend,
char *buffer,
size_t n_buffer);
#ifdef __cplusplus
}
#endif
#endif

View File

@ -8,7 +8,7 @@
* Daniel Veillard <veillard@redhat.com>
*/
#include "libvir.h"
#include "libvirt.h"
#include <stdio.h>
#include <stdlib.h>
@ -146,25 +146,14 @@ virBufferVSprintf(virBufferPtr buf, const char *format, ...) {
static char *
virDomainGetXMLDeviceInfo(virDomainPtr domain, const char *sub,
long dev, const char *name) {
struct xs_transaction_handle* t;
char s[256];
char *ret = NULL;
unsigned int len = 0;
snprintf(s, 255, "/local/domain/0/backend/%s/%d/%ld/%s",
sub, domain->handle, dev, name);
s[255] = 0;
t = xs_transaction_start(domain->conn->xshandle);
if (t == NULL)
goto done;
ret = xs_read(domain->conn->xshandle, t, &s[0], &len);
done:
if (t != NULL)
xs_transaction_end(domain->conn->xshandle, t, 0);
return(ret);
return xs_read(domain->conn->xshandle, 0, &s[0], &len);
}
/**
@ -240,7 +229,6 @@ virDomainGetXMLDevice(virDomainPtr domain, virBufferPtr buf, long dev) {
*/
static int
virDomainGetXMLDevices(virDomainPtr domain, virBufferPtr buf) {
struct xs_transaction_handle* t;
int ret = -1;
unsigned int num, i;
long id;
@ -253,14 +241,10 @@ virDomainGetXMLDevices(virDomainPtr domain, virBufferPtr buf) {
conn = domain->conn;
t = xs_transaction_start(conn->xshandle);
if (t == NULL)
goto done;
snprintf(backend, 199, "/local/domain/0/backend/vbd/%d",
virDomainGetID(domain));
backend[199] = 0;
list = xs_directory(conn->xshandle, t, backend, &num);
list = xs_directory(conn->xshandle, 0, backend, &num);
ret = 0;
if (list == NULL)
goto done;
@ -275,8 +259,6 @@ virDomainGetXMLDevices(virDomainPtr domain, virBufferPtr buf) {
}
done:
if (t != NULL)
xs_transaction_end(conn->xshandle, t, 0);
if (list != NULL)
free(list);
@ -343,7 +325,6 @@ virDomainGetXMLInterface(virDomainPtr domain, virBufferPtr buf, long dev) {
*/
static int
virDomainGetXMLInterfaces(virDomainPtr domain, virBufferPtr buf) {
struct xs_transaction_handle* t;
int ret = -1;
unsigned int num, i;
long id;
@ -356,14 +337,10 @@ virDomainGetXMLInterfaces(virDomainPtr domain, virBufferPtr buf) {
conn = domain->conn;
t = xs_transaction_start(conn->xshandle);
if (t == NULL)
goto done;
snprintf(backend, 199, "/local/domain/0/backend/vif/%d",
virDomainGetID(domain));
backend[199] = 0;
list = xs_directory(conn->xshandle, t, backend, &num);
list = xs_directory(conn->xshandle, 0, backend, &num);
ret = 0;
if (list == NULL)
goto done;
@ -378,8 +355,6 @@ virDomainGetXMLInterfaces(virDomainPtr domain, virBufferPtr buf) {
}
done:
if (t != NULL)
xs_transaction_end(conn->xshandle, t, 0);
if (list != NULL)
free(list);