Api documentation

* docs/Makefile.am docs/api.html docs/api.html.in docs/archdomain.html
 docs/archnetwork.html docs/archnode.html docs/archstorage.html
 docs/goals.html docs/intro.html
 docs/libvirt-daemon-arch.fig docs/libvirt-daemon-arch.png
 docs/libvirt-driver-arch.fig docs/libvirt-driver-arch.png
 docs/libvirt-object-model.fig docs/libvirt-object-model.png
 docs/page.xsl docs/sitemap.html docs/sitemap.html.in:
 adding a new api page, extending the stylesheet to allow references
 and including images from Dan Berrange
daniel
This commit is contained in:
Daniel Veillard 2009-04-15 20:42:50 +00:00
parent f61208bde9
commit 316befbb0c
19 changed files with 685 additions and 11 deletions

View File

@ -1,3 +1,15 @@
Wed Apr 15 22:40:50 CEST 2009 Daniel Veillard <veillard@redhat.com>
* docs/Makefile.am docs/api.html docs/api.html.in docs/archdomain.html
docs/archnetwork.html docs/archnode.html docs/archstorage.html
docs/goals.html docs/intro.html
docs/libvirt-daemon-arch.fig docs/libvirt-daemon-arch.png
docs/libvirt-driver-arch.fig docs/libvirt-driver-arch.png
docs/libvirt-object-model.fig docs/libvirt-object-model.png
docs/page.xsl docs/sitemap.html docs/sitemap.html.in:
adding a new api page, extending the stylesheet to allow references
and including images from Dan Berrange
Wed Apr 15 22:08:12 CEST 2009 Daniel Veillard <veillard@redhat.com>
* src/virsh.c: fix for virsh ttyconsole return value bug #495954

View File

@ -29,6 +29,9 @@ png = \
libvirtLogo.png \
libvirt-net-logical.png \
libvirt-net-physical.png \
libvirt-daemon-arch.png \
libvirt-driver-arch.png \
libvirt-object-model.png \
madeWith.png \
windows-cygwin-1.png \
windows-cygwin-2.png \
@ -54,7 +57,10 @@ xml = \
fig = \
libvirt-net-logical.fig \
libvirt-net-physical.fig
libvirt-net-physical.fig \
libvirt-daemon-arch.fig \
libvirt-driver-arch.fig \
libvirt-object-model.fig
EXTRA_DIST= \
libvirt-api.xml libvirt-refs.xml apibuild.py \
@ -83,6 +89,9 @@ ChangeLog.html.in: ChangeLog.xml ChangeLog.xsl
name=`echo $@ | sed -e 's/.tmp//'`; \
$(XSLTPROC) --nonet $(top_srcdir)/docs/ChangeLog.xsl $< > $@ || (rm $@ && exit 1) ; fi )
%.png: %.fig
convert -rotate 90 $< $@
%.html.tmp: %.html.in site.xsl page.xsl sitemap.html.in
@(if [ -x $(XSLTPROC) ] ; then \
echo "Generating $@"; \

242
docs/api.html Normal file
View File

@ -0,0 +1,242 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!--
This file is autogenerated from api.html.in
Do not edit this file. Changes will be lost.
-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<link rel="stylesheet" type="text/css" href="main.css" />
<link rel="SHORTCUT ICON" href="32favicon.png" />
<title>libvirt: The libvirt API concepts</title>
<meta name="description" content="libvirt, virtualization, virtualization API" />
</head>
<body>
<div id="header">
<div id="headerLogo"></div>
<div id="headerSearch">
<form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><div>
<input id="query" name="query" type="text" size="12" value="" />
<input id="submit" name="submit" type="submit" value="Search" />
</div></form>
</div>
</div>
<div id="body">
<div id="menu">
<ul class="l0"><li>
<div>
<a title="Front page of the libvirt website" class="inactive" href="index.html">Home</a>
</div>
</li><li>
<div>
<a title="Details of new features and bugs fixed in each release" class="inactive" href="news.html">News</a>
</div>
</li><li>
<div>
<a title="Get the latest source releases, binary builds and get access to the source repository" class="inactive" href="downloads.html">Downloads</a>
</div>
</li><li>
<div>
<a title="Information for users, administrators and developers" class="active" href="docs.html">Documentation</a>
<ul class="l1"><li>
<div>
<a title="Information about deploying and using libvirt" class="inactive" href="deployment.html">Deployment</a>
</div>
</li><li>
<div>
<a title="Overview of the logical subsystems in the libvirt API" class="active" href="intro.html">Architecture</a>
<ul class="l2"><li>
<div>
<a title="Terminology and goals of libvirt API" class="inactive" href="goals.html">Goals</a>
</div>
</li><li>
<div>
<span class="active">API concepts</span>
</div>
</li><li>
<div>
<a title="Managing virtual machines" class="inactive" href="archdomain.html">Domains</a>
</div>
</li><li>
<div>
<a title="Providing isolated networks and NAT based network connectivity" class="inactive" href="archnetwork.html">Network</a>
</div>
</li><li>
<div>
<a title="Managing storage pools and volumes" class="inactive" href="archstorage.html">Storage</a>
</div>
</li><li>
<div>
<a title="Enumerating host node devices" class="inactive" href="archnode.html">Node Devices</a>
</div>
</li></ul>
</div>
</li><li>
<div>
<a title="Description of the XML formats used in libvirt" class="inactive" href="format.html">XML format</a>
</div>
</li><li>
<div>
<a title="Hypervisor specific driver information" class="inactive" href="drivers.html">Drivers</a>
</div>
</li><li>
<div>
<a title="Reference manual for the C public API" class="inactive" href="html/index.html">API reference</a>
</div>
</li><li>
<div>
<a title="Bindings of the libvirt API for other languages" class="inactive" href="bindings.html">Language bindings</a>
</div>
</li></ul>
</div>
</li><li>
<div>
<a title="User contributed content" class="inactive" href="http://wiki.libvirt.org">Wiki</a>
</div>
</li><li>
<div>
<a title="Frequently asked questions" class="inactive" href="FAQ.html">FAQ</a>
</div>
</li><li>
<div>
<a title="How and where to report bugs and request features" class="inactive" href="bugs.html">Bug reports</a>
</div>
</li><li>
<div>
<a title="How to contact the developers via email and IRC" class="inactive" href="contact.html">Contact</a>
</div>
</li><li>
<div>
<a title="Miscellaneous links of interest related to libvirt" class="inactive" href="relatedlinks.html">Related Links</a>
</div>
</li><li>
<div>
<a title="Overview of all content on the website" class="inactive" href="sitemap.html">Sitemap</a>
</div>
</li></ul>
</div>
<div id="content">
<h1>The libvirt API concepts</h1>
<p> This page describes the main principles and architecture choices
behind the definition of the libvirt API:
</p>
<ul><li>
<a href="#Objects">Objects exposed</a>
</li><li>
<a href="#Functions">Functions and naming conventions</a>
</li><li>
<a href="#Driver">The drivers</a>
</li><li>
<a href="#Remote">Daemon and remote access</a>
</li></ul>
<h2>
<a name="Objects" id="Objects">Objects exposed</a>
</h2>
<p> As defined in the <a href="goals.html">goals section</a>, libvirt
API need to expose all the resources needed to manage the virtualization
support of recent operating systems. The first object manipulated though
the API is <code>virConnectPtr</code> which represent a connection to
an hypervisor. Any application using libvirt is likely to start using the
API by calling one of <a href="html/libvirt-libvirt.html#virConnectOpen">the virConnectOpen functions</a>. You will note that those functions take
a name argument which is actually an URI to select the right hypervisor to
open, this is needed to allow remote connections and also select between
different possible hypervisors (for example on a Linux system it may be
possible to use both KVM and LinuxContainers on the same node). A NULL
name will default to a preselected hypervisor but it's probably not a
wise thing to do in most cases. See the <a href="uri.html">connection
URI</a> page for a full descriptions of the values allowed.</p>
<p>
</p>
<p> Once the application obtained a <a href="html/libvirt-libvirt.html#virConnectPtr"><code>virConnectPtr</code></a>
connection to the
hypervisor it can then use it to manage domains and related resources
available for virtualization like storage and networking. All those are
exposed as first class objects, and connected to the hypervisor connection
(and the node or cluster where it is available).</p>
<p class="image">
<img alt="first class objects exposed by the API" src="libvirt-object-model.png" /></p>
<p> The figure above shows the five main objects exported by the API:</p>
<ul><li>virConnectPtr: represent a connection to an hypervisor.</li><li>virDomainPtr: represent one domain either active or defined (i.e.
existing as permanent config file and storage but not currently running
on that node). The function <a href="html/libvirt-libvirt.html#virConnectListDomains"><code>virConnectListDomains</code></a>
allows to list all the IDs for the domains active on this hypervisor.</li><li>virNetworkPtr: represent one network either active or defined (i.e.
existing as permanent config file and storage but not currently activated.
The function <a href="html/libvirt-libvirt.html#virConnectListNetworks"><code>virConnectListNetworks</code></a>
allows to list all the virtualization networks actived on this node.</li><li>virStorageVolPtr: represent one storage volume, usually this is used
as a block device available to one of the domains. The function
<a href="html/libvirt-libvirt.html#virStorageVolLookupByPath"><code>virStorageVolLookupByPath</code></a> allows to find
the object based on its path on the node.</li><li>virStoragePoolPtr: represent a storage pool, i.e. a logical area
which can be used to allocate and store storage volumes. The function
<a href="html/libvirt-libvirt.html#virStoragePoolLookupByVolume"><code>virStoragePoolLookupByVolume</code></a> allows to find
the storage pool containing a given storage volume.</li></ul>
<p> Most object manipulated by the library can also be represented using
XML descriptions. This is used primarily to create those object, but is
also helpful to modify or save their description back.</p>
<p> Domains, network and storage pools can be either <code>active</code>
i.e. either running or available for immediate use, or
<code>defined</code> in which case they are inactive but there is
a permanent definition available in the system for them. Based on this
thay can be activated dynamically in order to be used.</p>
<p> Most kind of object can also be named in various ways:</p>
<p>
</p>
<ul><li>by their <code>name</code>, an user friendly identifier but
whose unicity cannot be garanteed between two nodes.</li><li>by their <code>ID</code>, which is a runtime unique identifier
provided by the hypervisor for one given activation of the object,
but it becomes invalid once the resource is deactivated.</li><li>by their <code>UUID</code>, a 16 bytes unique identifier
as defined in <a href="http://www.ietf.org/rfc/rfc4122.txt">RFC 4122</a>,
which is garanteed to be unique for long term usage and across a
set of nodes.</li></ul>
<h2>
<a name="Functions" id="Functions">Functions and naming
conventions</a>
</h2>
<p> The naming of the functions present in the library is usually
made of a prefix describing the object associated to the function
and a verb describing the action on that object.</p>
<p> For each first class object you will find apis
for the following actions:</p>
<ul><li><b>Lookup</b>:...LookupByName,
</li><li><b>Enumeration</b>:virConnectList... and virConnectNumOf...:
those are used to enumerate a set of object available to an given
hypervisor connection like:
<a href="html/libvirt-libvirt.html#virConnectListDomains"><code>virConnectListDomains</code></a>,
<a href="html/libvirt-libvirt.html#virConnectNumOfDomains"><code>virConnectNumOfDomains</code></a>,
<a href="html/libvirt-libvirt.html#virConnectListNetworks"><code>virConnectListNetworks</code></a>,
<a href="html/libvirt-libvirt.html#virConnectListStoragePools"><code>virConnectListStoragePools</code></a>, etc.</li><li><b>Description</b>: ...GetInfo: those are generic accessor providing
a set of informations about an object, they are
<a href="html/libvirt-libvirt.html#virNodeGetInfo"><code>virNodeGetInfo</code></a>,
<a href="html/libvirt-libvirt.html#virDomainGetInfo"><code>virDomainGetInfo</code></a>,
<a href="html/libvirt-libvirt.html#virStoragePoolGetInfo"><code>virStoragePoolGetInfo</code></a>,
<a href="html/libvirt-libvirt.html#virStorageVolGetInfo"><code>virStorageVolGetInfo</code></a>.</li><li><b>Accessors</b>: ...Get... and ...Set...: those are more specific
accessors to query or modify the given object, like
<a href="html/libvirt-libvirt.html#virConnectGetType"><code>virConnectGetType</code></a>,
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory"><code>virDomainGetMaxMemory</code></a>,
<a href="html/libvirt-libvirt.html#virDomainSetMemory"><code>virDomainSetMemory</code></a>,
<a href="html/libvirt-libvirt.html#virDomainGetVcpus"><code>virDomainGetVcpus</code></a>,
<a href="html/libvirt-libvirt.html#virStoragePoolSetAutostart"><code>virStoragePoolSetAutostart</code></a>,
<a href="html/libvirt-libvirt.html#virNetworkGetBridgeName"><code>virNetworkGetBridgeName</code></a>, etc.</li><li><b>Creation</b>: </li><li><b>Destruction</b>: ... </li></ul>
<p> For more in-depth details of the storage related APIs see
<a href="storage.html">the storage management page</a>,
</p>
<h2>
<a name="Driver" id="Driver">The libvirt drivers</a>
</h2>
<p></p>
<p class="image">
<img alt="The libvirt driver architecture" src="libvirt-driver-arch.png" /></p>
<h2>
<a name="Remote" id="Remote">Daemon and remote access</a>
</h2>
<p></p>
<p class="image">
<img alt="The libvirt daemon and remote architecture" src="libvirt-daemon-arch.png" /></p>
</div>
</div>
<div id="footer">
<p id="sponsor">
Sponsored by:<br /><a href="http://et.redhat.com/"><img src="et.png" alt="Project sponsored by Red Hat Emerging Technology" /></a></p>
</div>
</body>
</html>

136
docs/api.html.in Normal file
View File

@ -0,0 +1,136 @@
<?xml version="1.0"?>
<html>
<body>
<h1>The libvirt API concepts</h1>
<p> This page describes the main principles and architecture choices
behind the definition of the libvirt API:
<ul>
<li>
<a href="#Objects">Objects exposed</a>
</li>
<li>
<a href="#Functions">Functions and naming conventions</a>
</li>
<li>
<a href="#Driver">The drivers</a>
</li>
<li>
<a href="#Remote">Daemon and remote access</a>
</li>
</ul>
<h2><a name="Objects" id="Objects">Objects exposed</a></h2>
<p> As defined in the <a href="goals.html">goals section</a>, libvirt
API need to expose all the resources needed to manage the virtualization
support of recent operating systems. The first object manipulated though
the API is <code>virConnectPtr</code> which represent a connection to
an hypervisor. Any application using libvirt is likely to start using the
API by calling one of <a href="html/libvirt-libvirt.html#virConnectOpen"
>the virConnectOpen functions</a>. You will note that those functions take
a name argument which is actually an URI to select the right hypervisor to
open, this is needed to allow remote connections and also select between
different possible hypervisors (for example on a Linux system it may be
possible to use both KVM and LinuxContainers on the same node). A NULL
name will default to a preselected hypervisor but it's probably not a
wise thing to do in most cases. See the <a href="uri.html">connection
URI</a> page for a full descriptions of the values allowed.<p>
<p> Once the application obtained a <code class='docref'>virConnectPtr</code>
connection to the
hypervisor it can then use it to manage domains and related resources
available for virtualization like storage and networking. All those are
exposed as first class objects, and connected to the hypervisor connection
(and the node or cluster where it is available).</p>
<p class="image">
<img alt="first class objects exposed by the API"
src="libvirt-object-model.png"/>
</p>
<p> The figure above shows the five main objects exported by the API:</p>
<ul>
<li>virConnectPtr: represent a connection to an hypervisor.</li>
<li>virDomainPtr: represent one domain either active or defined (i.e.
existing as permanent config file and storage but not currently running
on that node). The function <code class='docref'>virConnectListDomains</code>
allows to list all the IDs for the domains active on this hypervisor.</li>
<li>virNetworkPtr: represent one network either active or defined (i.e.
existing as permanent config file and storage but not currently activated.
The function <code class='docref'>virConnectListNetworks</code>
allows to list all the virtualization networks actived on this node.</li>
<li>virStorageVolPtr: represent one storage volume, usually this is used
as a block device available to one of the domains. The function
<code class="docref">virStorageVolLookupByPath</code> allows to find
the object based on its path on the node.</li>
<li>virStoragePoolPtr: represent a storage pool, i.e. a logical area
which can be used to allocate and store storage volumes. The function
<code class="docref">virStoragePoolLookupByVolume</code> allows to find
the storage pool containing a given storage volume.</li>
</ul>
<p> Most object manipulated by the library can also be represented using
XML descriptions. This is used primarily to create those object, but is
also helpful to modify or save their description back.</p>
<p> Domains, network and storage pools can be either <code>active</code>
i.e. either running or available for immediate use, or
<code>defined</code> in which case they are inactive but there is
a permanent definition available in the system for them. Based on this
thay can be activated dynamically in order to be used.</p>
<p> Most kind of object can also be named in various ways:<p>
<ul>
<li>by their <code>name</code>, an user friendly identifier but
whose unicity cannot be garanteed between two nodes.</li>
<li>by their <code>ID</code>, which is a runtime unique identifier
provided by the hypervisor for one given activation of the object,
but it becomes invalid once the resource is deactivated.</li >
<li>by their <code>UUID</code>, a 16 bytes unique identifier
as defined in <a href="http://www.ietf.org/rfc/rfc4122.txt">RFC 4122</a>,
which is garanteed to be unique for long term usage and across a
set of nodes.</li>
</ul>
<h2><a name="Functions" id="Functions">Functions and naming
conventions</a></h2>
<p> The naming of the functions present in the library is usually
made of a prefix describing the object associated to the function
and a verb describing the action on that object.</p>
<p> For each first class object you will find apis
for the following actions:</p>
<ul>
<li><b>Lookup</b>:...LookupByName,
<li><b>Enumeration</b>:virConnectList... and virConnectNumOf...:
those are used to enumerate a set of object available to an given
hypervisor connection like:
<code class='docref'>virConnectListDomains</code>,
<code class='docref'>virConnectNumOfDomains</code>,
<code class='docref'>virConnectListNetworks</code>,
<code class='docref'>virConnectListStoragePools</code>, etc.</li>
<li><b>Description</b>: ...GetInfo: those are generic accessor providing
a set of informations about an object, they are
<code class='docref'>virNodeGetInfo</code>,
<code class='docref'>virDomainGetInfo</code>,
<code class='docref'>virStoragePoolGetInfo</code>,
<code class='docref'>virStorageVolGetInfo</code>.</li>
<li><b>Accessors</b>: ...Get... and ...Set...: those are more specific
accessors to query or modify the given object, like
<code class='docref'>virConnectGetType</code>,
<code class='docref'>virDomainGetMaxMemory</code>,
<code class='docref'>virDomainSetMemory</code>,
<code class='docref'>virDomainGetVcpus</code>,
<code class='docref'>virStoragePoolSetAutostart</code>,
<code class='docref'>virNetworkGetBridgeName</code>, etc.</li>
<li><b>Creation</b>: </li>
<li><b>Destruction</b>: ... </li>
</ul>
<p> For more in-depth details of the storage related APIs see
<a href="storage.html">the storage management page</a>,
<h2><a name="Driver" id="Driver">The libvirt drivers</a></h2>
<p></p>
<p class="image">
<img alt="The libvirt driver architecture"
src="libvirt-driver-arch.png"/>
</p>
<h2><a name="Remote" id="Remote">Daemon and remote access</a></h2>
<p></p>
<p class="image">
<img alt="The libvirt daemon and remote architecture"
src="libvirt-daemon-arch.png"/>
</p>
</body>
</html>

View File

@ -50,6 +50,10 @@
<div>
<a title="Terminology and goals of libvirt API" class="inactive" href="goals.html">Goals</a>
</div>
</li><li>
<div>
<a title="The libvirt API concepts" class="inactive" href="api.html">API concepts</a>
</div>
</li><li>
<div>
<span class="active">Domains</span>

View File

@ -50,6 +50,10 @@
<div>
<a title="Terminology and goals of libvirt API" class="inactive" href="goals.html">Goals</a>
</div>
</li><li>
<div>
<a title="The libvirt API concepts" class="inactive" href="api.html">API concepts</a>
</div>
</li><li>
<div>
<a title="Managing virtual machines" class="inactive" href="archdomain.html">Domains</a>

View File

@ -50,6 +50,10 @@
<div>
<a title="Terminology and goals of libvirt API" class="inactive" href="goals.html">Goals</a>
</div>
</li><li>
<div>
<a title="The libvirt API concepts" class="inactive" href="api.html">API concepts</a>
</div>
</li><li>
<div>
<a title="Managing virtual machines" class="inactive" href="archdomain.html">Domains</a>

View File

@ -50,6 +50,10 @@
<div>
<a title="Terminology and goals of libvirt API" class="inactive" href="goals.html">Goals</a>
</div>
</li><li>
<div>
<a title="The libvirt API concepts" class="inactive" href="api.html">API concepts</a>
</div>
</li><li>
<div>
<a title="Managing virtual machines" class="inactive" href="archdomain.html">Domains</a>

View File

@ -50,6 +50,10 @@
<div>
<span class="active">Goals</span>
</div>
</li><li>
<div>
<a title="The libvirt API concepts" class="inactive" href="api.html">API concepts</a>
</div>
</li><li>
<div>
<a title="Managing virtual machines" class="inactive" href="archdomain.html">Domains</a>

View File

@ -50,6 +50,10 @@
<div>
<a title="Terminology and goals of libvirt API" class="inactive" href="goals.html">Goals</a>
</div>
</li><li>
<div>
<a title="The libvirt API concepts" class="inactive" href="api.html">API concepts</a>
</div>
</li><li>
<div>
<a title="Managing virtual machines" class="inactive" href="archdomain.html">Domains</a>

View File

@ -0,0 +1,114 @@
#FIG 3.2 Produced by xfig version 3.2.5
Landscape
Center
Inches
Letter
100.00
Single
-2
1200 2
6 75 150 13050 5100
6 4425 764 5938 1150
2 2 0 1 0 7 50 -1 -1 4.000 0 0 7 0 0 5
4425 764 5938 764 5938 1150 4425 1150 4425 764
4 0 0 50 -1 16 15 0.0000 4 131 415 4519 1053 xen\001
-6
6 4425 1246 5938 1631
2 2 0 1 0 7 50 -1 -1 4.000 0 0 7 0 0 5
4425 1246 5938 1246 5938 1631 4425 1631 4425 1246
4 0 0 50 -1 16 15 0.0000 4 178 640 4519 1535 qemu\001
-6
6 4425 1728 5938 2113
2 2 0 1 0 7 50 -1 -1 4.000 0 0 7 0 0 5
4425 1728 5938 1728 5938 2113 4425 2113 4425 1728
4 0 0 50 -1 16 15 0.0000 4 178 829 4519 2017 openvz\001
-6
6 4425 2210 5938 2595
2 2 0 1 0 7 50 -1 -1 4.000 0 0 7 0 0 5
4425 2210 5938 2210 5938 2595 4425 2595 4425 2210
4 0 0 50 -1 16 15 0.0000 4 178 320 4519 2499 lxc\001
-6
6 4425 2691 5938 3077
2 2 0 1 0 7 50 -1 -1 4.000 0 0 7 0 0 5
4425 2691 5938 2691 5938 3077 4425 3077 4425 2691
4 0 0 50 -1 16 15 0.0000 4 166 415 4519 2980 test\001
-6
6 4425 3173 5938 3559
2 2 0 1 0 7 50 -1 -1 4.000 0 0 7 0 0 5
4425 3173 5938 3173 5938 3559 4425 3559 4425 3173
4 0 0 50 -1 16 15 0.0000 4 166 794 4519 3462 remote\001
-6
6 11328 764 12842 1150
2 2 0 1 0 7 50 -1 -1 4.000 0 0 7 0 0 5
11328 764 12842 764 12842 1150 11328 1150 11328 764
4 0 0 50 -1 16 15 0.0000 4 131 415 11423 1053 xen\001
-6
6 11328 1246 12842 1631
2 2 0 1 0 7 50 -1 -1 4.000 0 0 7 0 0 5
11328 1246 12842 1246 12842 1631 11328 1631 11328 1246
4 0 0 50 -1 16 15 0.0000 4 178 640 11423 1535 qemu\001
-6
6 11328 1728 12842 2113
2 2 0 1 0 7 50 -1 -1 4.000 0 0 7 0 0 5
11328 1728 12842 1728 12842 2113 11328 2113 11328 1728
4 0 0 50 -1 16 15 0.0000 4 178 829 11423 2017 openvz\001
-6
6 11328 2210 12842 2595
2 2 0 1 0 7 50 -1 -1 4.000 0 0 7 0 0 5
11328 2210 12842 2210 12842 2595 11328 2595 11328 2210
4 0 0 50 -1 16 15 0.0000 4 178 320 11423 2499 lxc\001
-6
6 11328 2691 12842 3077
2 2 0 1 0 7 50 -1 -1 4.000 0 0 7 0 0 5
11328 2691 12842 2691 12842 3077 11328 3077 11328 2691
4 0 0 50 -1 16 15 0.0000 4 166 415 11423 2980 test\001
-6
6 11328 3173 12842 3559
2 2 0 1 0 7 50 -1 -1 4.000 0 0 7 0 0 5
11328 3173 12842 3173 12842 3559 11328 3559 11328 3173
4 0 0 50 -1 16 15 0.0000 4 166 794 11423 3462 remote\001
-6
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
75 1342 1587 1342 1587 2113 75 2113 75 1342
2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
0 0 1.00 76.37 152.74
1587 1728 3101 1728
2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 4
0 0 1.00 76.37 152.74
5938 3365 6883 3365 7262 1728 7640 1728
2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 4
0 0 1.00 76.37 152.74
3101 1728 3858 1728 4141 3365 4425 3365
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
3101 572 6127 572 6127 3751 3101 3751 3101 572
2 1 0 5 0 7 50 -1 -1 12.000 0 0 -1 0 0 2
3101 572 3101 3751
2 1 2 5 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
3858 572 3858 3751
2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
0 0 1.00 76.37 152.74
9154 1728 10004 1728
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
7640 1342 9154 1342 9154 2113 7640 2113 7640 1342
2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 4
0 0 1.00 76.37 152.74
10004 1728 10760 1728 10950 2402 11328 2402
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
10004 572 13030 572 13030 3751 10004 3751 10004 572
2 1 0 5 0 7 50 -1 -1 12.000 0 0 -1 0 0 2
10004 572 10004 3751
2 1 2 5 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
10760 572 10760 3751
4 0 0 50 -1 16 15 0.0000 4 225 1256 170 1728 Application\001
4 0 0 50 -1 16 13 0.0000 4 154 367 1966 1631 URI\001
4 0 0 50 -1 16 15 5.3233 4 178 1149 3763 4040 Driver API\001
4 0 0 50 -1 16 15 5.3233 4 178 1173 3101 4040 Public API\001
4 0 0 50 -1 16 15 5.3233 4 225 1233 4992 4040 Driver Impl\001
4 0 0 50 -1 16 18 0.0000 4 213 652 3763 379 libvirt\001
4 0 0 50 -1 16 13 0.0000 4 154 901 1966 2017 lxc://host/\001
4 0 0 50 -1 16 15 0.0000 4 178 747 7734 1728 libvirtd\001
4 0 0 50 -1 16 15 5.3233 4 178 1149 10666 4040 Driver API\001
4 0 0 50 -1 16 15 5.3233 4 178 1173 10004 4040 Public API\001
4 0 0 50 -1 16 15 5.3233 4 225 1233 11896 4040 Driver Impl\001
4 0 0 50 -1 16 18 0.0000 4 213 652 10666 379 libvirt\001
-6

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -0,0 +1,62 @@
#FIG 3.2 Produced by xfig version 3.2.5
Landscape
Center
Inches
Letter
100.00
Single
-2
1200 2
6 1200 225 10950 8147
6 8208 1291 10646 1900
2 2 0 1 0 7 50 -1 -1 4.000 0 0 7 0 0 5
8208 1291 10646 1291 10646 1900 8208 1900 8208 1291
4 0 0 50 -1 16 24 0.0000 4 214 639 8360 1748 xen\001
-6
6 8208 2054 10646 2662
2 2 0 1 0 7 50 -1 -1 4.000 0 0 7 0 0 5
8208 2054 10646 2054 10646 2662 8208 2662 8208 2054
4 0 0 50 -1 16 24 0.0000 4 305 975 8360 2510 qemu\001
-6
6 8208 2815 10646 3424
2 2 0 1 0 7 50 -1 -1 4.000 0 0 7 0 0 5
8208 2815 10646 2815 10646 3424 8208 3424 8208 2815
4 0 0 50 -1 16 24 0.0000 4 305 1280 8360 3272 openvz\001
-6
6 8208 3577 10646 4187
2 2 0 1 0 7 50 -1 -1 4.000 0 0 7 0 0 5
8208 3577 10646 3577 10646 4187 8208 4187 8208 3577
4 0 0 50 -1 16 24 0.0000 4 304 518 8360 4033 lxc\001
-6
6 8208 4339 10646 4948
2 2 0 1 0 7 50 -1 -1 4.000 0 0 7 0 0 5
8208 4339 10646 4339 10646 4948 8208 4948 8208 4339
4 0 0 50 -1 16 24 0.0000 4 274 670 8360 4795 test\001
-6
6 8208 5100 10646 5710
2 2 0 1 0 7 50 -1 -1 4.000 0 0 7 0 0 5
8208 5100 10646 5100 10646 5710 8208 5710 8208 5100
4 0 0 50 -1 16 24 0.0000 4 274 1219 8360 5557 remote\001
-6
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1200 2206 3637 2206 3637 3424 1200 3424 1200 2206
2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
0 0 1.00 121.88 243.75
3637 2815 6075 2815
2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 4
0 0 1.00 121.88 243.75
6075 2815 7294 2815 7598 3881 8208 3881
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
6075 987 10950 987 10950 6014 6075 6014 6075 987
2 1 0 5 0 7 50 -1 -1 12.000 0 0 -1 0 0 2
6075 987 6075 6014
2 1 2 5 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
7294 987 7294 6014
4 0 0 50 -1 16 24 0.0000 4 395 1950 1352 2815 Application\001
4 0 0 50 -1 16 20 0.0000 4 244 579 4246 2662 URI\001
4 0 0 50 -1 16 20 0.0000 4 244 792 4246 3272 lxc:///\001
4 0 0 50 -1 16 24 5.3233 4 304 1828 7142 6472 Driver API\001
4 0 0 50 -1 16 24 5.3233 4 304 1889 6075 6472 Public API\001
4 0 0 50 -1 16 24 5.3233 4 395 1920 9121 6472 Driver Impl\001
4 0 0 50 -1 16 28 0.0000 4 366 1157 7142 682 libvirt\001
-6

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -0,0 +1,61 @@
#FIG 3.2 Produced by xfig version 3.2.5
Landscape
Center
Inches
Letter
100.00
Single
-2
1200 2
6 1200 1200 10274 6975
6 4500 1200 6974 2025
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
4500 1200 6974 1200 6974 2025 4500 2025 4500 1200
4 0 0 50 -1 16 17 0.0000 4 202 1679 4603 1613 virConnectPtr\001
-6
6 1200 3675 3675 4500
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1200 3675 3675 3675 3675 4500 1200 4500 1200 3675
4 0 0 50 -1 16 17 0.0000 4 202 1595 1303 4087 virDomainPtr\001
-6
6 1200 6150 3675 6975
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1200 6150 3675 6150 3675 6975 1200 6975 1200 6150
4 0 0 50 -1 16 17 0.0000 4 202 1667 1303 6562 virNetworkPtr\001
-6
6 7799 3675 10274 4500
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
7799 3675 10274 3675 10274 4500 7799 4500 7799 3675
4 0 0 50 -1 16 17 0.0000 4 262 2155 7902 4087 virStoragePoolPtr\001
-6
6 7799 6150 10274 6975
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
7799 6150 10274 6150 10274 6975 7799 6975 7799 6150
4 0 0 50 -1 16 17 0.0000 4 262 2000 7902 6562 virStorageVolPtr\001
-6
3 0 0 1 0 7 50 -1 -1 0.000 0 1 0 3
0 0 1.00 82.50 164.99
4706 2025 4706 4087 3675 4087
0.000 1.000 0.000
3 0 0 1 0 7 50 -1 -1 0.000 0 1 0 3
0 0 1.00 82.50 164.99
6768 2025 6768 4087 7799 4087
0.000 1.000 0.000
3 0 0 1 0 7 50 -1 -1 0.000 0 1 0 3
0 0 1.00 82.50 164.99
6562 2025 6562 6562 7799 6562
0.000 1.000 0.000
3 0 0 1 0 7 50 -1 -1 0.000 0 1 0 3
0 0 1.00 82.50 164.99
4912 2025 4912 6562 3675 6562
0.000 1.000 0.000
3 0 0 1 0 7 50 -1 -1 0.000 0 1 0 2
0 0 1.00 82.50 164.99
8933 4500 8933 6150
0.000 0.000
4 0 0 50 -1 16 17 0.0000 4 143 155 3881 3985 n\001
4 0 0 50 -1 16 17 0.0000 4 143 155 3881 6459 n\001
4 0 0 50 -1 16 17 0.0000 4 143 155 7387 6459 n\001
4 0 0 50 -1 16 17 0.0000 4 143 155 7387 3985 n\001
4 0 0 50 -1 16 17 0.0000 4 143 155 8727 5944 n\001
-6

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -8,6 +8,22 @@
<!-- The sitemap.html.in page contains the master navigation structure -->
<xsl:variable name="sitemap" select="document('sitemap.html.in')/html/body/div[@id='sitemap']"/>
<xsl:template match="code[@class='docref']" mode="content">
<xsl:variable name="name"><xsl:value-of select="."/></xsl:variable>
<a href="html/libvirt-libvirt.html#{$name}"><code><xsl:value-of select="$name"/></code></a>
</xsl:template>
<xsl:template match="node() | @*" mode="content">
<xsl:copy>
<xsl:apply-templates select="node() | @*" mode="content"/>
</xsl:copy>
</xsl:template>
<xsl:template match="ul[@id='toc']" mode="content">
<xsl:call-template name="toc"/>
</xsl:template>
<!-- This processes the sitemap to form a context sensitive
navigation menu for the current page -->
<xsl:template match="ul" mode="menu">
@ -143,16 +159,7 @@
</xsl:apply-templates>
</div>
<div id="content">
<xsl:for-each select="html/body/*">
<xsl:choose>
<xsl:when test="name() = 'ul' and @id = 'toc'">
<xsl:call-template name="toc"/>
</xsl:when>
<xsl:otherwise>
<xsl:copy-of select="."/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<xsl:apply-templates select="/html/body/*" mode="content"/>
</div>
</div>
<div id="footer">

View File

@ -108,6 +108,9 @@
<ul><li>
<a href="goals.html">Goals</a>
<span>Terminology and goals of libvirt API</span>
</li><li>
<a href="api.html">API concepts</a>
<span>The libvirt API concepts</span>
</li><li>
<a href="archdomain.html">Domains</a>
<span>Managing virtual machines</span>

View File

@ -60,6 +60,10 @@
<a href="goals.html">Goals</a>
<span>Terminology and goals of libvirt API</span>
</li>
<li>
<a href="api.html">API concepts</a>
<span>The libvirt API concepts</span>
</li>
<li>
<a href="archdomain.html">Domains</a>
<span>Managing virtual machines</span>