]> xenbits.xensource.com Git - libvirt.git/commitdiff
* doc/*: updated module list and rebuilt
authorDaniel Veillard <veillard@redhat.com>
Mon, 27 Mar 2006 15:24:36 +0000 (15:24 +0000)
committerDaniel Veillard <veillard@redhat.com>
Mon, 27 Mar 2006 15:24:36 +0000 (15:24 +0000)
* include/libvirt.h include/libvirt.h.in: added intialization function
* include/virterror.h src/virterror.c: one more error code
* src/internal.h: first part of Jim's format checking
* src/libvirt.c src/xen_internal.[ch] src/xend_internal.[ch]
  src/xs_internal.[ch]: initialization and registration of drivers
Daniel

31 files changed:
ChangeLog
docs/APIchunk0.html
docs/APIchunk1.html
docs/APIchunk2.html
docs/APIfiles.html
docs/APIsymbols.html
docs/apibuild.py
docs/architecture.html
docs/html/book1.html
docs/html/index.html
docs/html/libvirt-lib.html
docs/html/libvirt-libvirt.html
docs/html/libvirt-virterror.html
docs/libvir.html
docs/libvirt-api.xml
docs/libvirt-refs.xml
include/libvirt.h
include/libvirt.h.in
include/libvirt/libvirt.h
include/libvirt/libvirt.h.in
include/libvirt/virterror.h
include/virterror.h
src/internal.h
src/libvirt.c
src/virterror.c
src/xen_internal.c
src/xen_internal.h
src/xend_internal.c
src/xend_internal.h
src/xs_internal.c
src/xs_internal.h

index 1d2fbf65be4999eec3584e98d7b59e2e05d621cf..2955e1bcced85e7e3f59ce65b787cd4838b1ef4e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+Mon Mar 27 17:22:16 CEST 2006 Daniel Veillard <veillard@redhat.com>
+
+       * doc/*: updated module list and rebuilt
+       * include/libvirt.h include/libvirt.h.in: added intialization function
+       * include/virterror.h src/virterror.c: one more error code
+       * src/internal.h: first part of Jim's format checking
+       * src/libvirt.c src/xen_internal.[ch] src/xend_internal.[ch]
+         src/xs_internal.[ch]: initialization and registration of drivers
+       
 Sat Mar 25 11:45:06 CET 2006 Daniel Veillard <veillard@redhat.com>
 
        * src/Makefile.am: add  driver.h to SOURCES as pointed by Jim Meyering
index 5c5db71f4bf9246273ef06e4a4bd8725d9f10930..cd660cc403513bdf287bc08a537eb59d92a17d1d 100644 (file)
@@ -1,9 +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="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>API Alphabetic Index A-c 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-c for libvirt</h1><h2 align="center"><a href="APIchunk0.html">A-c</a>
-<a href="APIchunk1.html">d-n</a>
-<a href="APIchunk2.html">o-t</a>
-<a href="APIchunk3.html">u-z</a>
+<a href="APIchunk1.html">d-m</a>
+<a href="APIchunk2.html">n-s</a>
+<a href="APIchunk3.html">t-z</a>
 </h2><h2>Letter A:</h2><dl><dt>ABI</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</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 />
@@ -30,6 +30,7 @@
 <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><dt>Initialize</dt><dd><a href="html/libvirt-libvirt.html#virInitialize">virInitialize</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><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>applications</dt><dd><a href="html/libvirt-libvirt.html#virInitialize">virInitialize</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-virterror.html#_virError">_virError</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><dt>avoid</dt><dd><a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
 </dd></dl><h2>Letter b:</h2><dl><dt>back</dt><dd><a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
 <a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
 <a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
 <a href="html/libvirt-virterror.html#virErrorFunc">virErrorFunc</a><br />
 <a href="html/libvirt-virterror.html#virResetError">virResetError</a><br />
 </dd><dt>below</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
+</dd><dt>better</dt><dd><a href="html/libvirt-libvirt.html#virInitialize">virInitialize</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-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
 <a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</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 />
+<a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
 </dd><dt>callback</dt><dd><a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
 <a href="html/libvirt-virterror.html#virErrorFunc">virErrorFunc</a><br />
 <a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</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-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
-</dd><dt>caller</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
+</dd><dt>caller</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
+<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 />
 </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 align="center"><a href="APIchunk0.html">A-c</a>
-<a href="APIchunk1.html">d-n</a>
-<a href="APIchunk2.html">o-t</a>
-<a href="APIchunk3.html">u-z</a>
+<a href="APIchunk1.html">d-m</a>
+<a href="APIchunk2.html">n-s</a>
+<a href="APIchunk3.html">t-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 href="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</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="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</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>
index 7efa812459b077a05185d03c71694782d1b06b6c..bae1da0356a9f2a31ce37e02c565fa426b0e9246 100644 (file)
@@ -1,9 +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="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>API Alphabetic Index d-n 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 d-n for libvirt</h1><h2 align="center"><a href="APIchunk0.html">A-c</a>
-<a href="APIchunk1.html">d-n</a>
-<a href="APIchunk2.html">o-t</a>
-<a href="APIchunk3.html">u-z</a>
+<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 d-m 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 d-m for libvirt</h1><h2 align="center"><a href="APIchunk0.html">A-c</a>
+<a href="APIchunk1.html">d-m</a>
+<a href="APIchunk2.html">n-s</a>
+<a href="APIchunk3.html">t-z</a>
 </h2><h2>Letter d:</h2><dl><dt>data</dt><dd><a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
 <a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
 <a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
@@ -74,6 +74,7 @@
 <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 />
+<a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</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 />
 </dd><dt>informations</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
 </dd><dt>informative</dt><dd><a href="html/libvirt-virterror.html#_virError">_virError</a><br />
 </dd><dt>init</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
+</dd><dt>initializing</dt><dd><a href="html/libvirt-libvirt.html#virInitialize">virInitialize</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 />
 <a href="html/libvirt-virterror.html#virErrorFunc">virErrorFunc</a><br />
 <a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
 <a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
+<a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
 <a href="html/libvirt-virterror.html#virResetLastError">virResetLastError</a><br />
 <a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
 </dd><dt>lifetime</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
 </dd><dt>monitoring</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
 </dd><dt>multithreaded</dt><dd><a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
 <a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</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-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
-<a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
-<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</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 />
-<a href="html/libvirt-libvirt.html#virDomainLookupByUUID">virDomainLookupByUUID</a><br />
-</dd><dt>none</dt><dd><a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
-<a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
-</dd><dt>not</dt><dd><a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</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#virDomainGetName">virDomainGetName</a><br />
+<a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
+</dd><dt>must</dt><dd><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#virDomainSave">virDomainSave</a><br />
-<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
-<a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
-<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
-</dd><dt>number</dt><dd><a href="html/libvirt-virterror.html#_virError">_virError</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#virDomainGetID">virDomainGetID</a><br />
-<a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
 </dd></dl><h2 align="center"><a href="APIchunk0.html">A-c</a>
-<a href="APIchunk1.html">d-n</a>
-<a href="APIchunk2.html">o-t</a>
-<a href="APIchunk3.html">u-z</a>
+<a href="APIchunk1.html">d-m</a>
+<a href="APIchunk2.html">n-s</a>
+<a href="APIchunk3.html">t-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 href="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</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="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</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>
index bcd69b996096a25c2ec4dcc9e00ba1a85539602f..f231f4a23fc6b863b392a6819d36072d9c233622 100644 (file)
@@ -1,10 +1,41 @@
 <?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="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>API Alphabetic Index o-t 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 o-t for libvirt</h1><h2 align="center"><a href="APIchunk0.html">A-c</a>
-<a href="APIchunk1.html">d-n</a>
-<a href="APIchunk2.html">o-t</a>
-<a href="APIchunk3.html">u-z</a>
-</h2><h2>Letter o:</h2><dl><dt>object</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</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 n-s 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 n-s for libvirt</h1><h2 align="center"><a href="APIchunk0.html">A-c</a>
+<a href="APIchunk1.html">d-m</a>
+<a href="APIchunk2.html">n-s</a>
+<a href="APIchunk3.html">t-z</a>
+</h2><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-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
+<a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
+<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</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 />
+<a href="html/libvirt-libvirt.html#virDomainLookupByUUID">virDomainLookupByUUID</a><br />
+</dd><dt>none</dt><dd><a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
+<a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
+</dd><dt>not</dt><dd><a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</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#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-virterror.html#virGetLastError">virGetLastError</a><br />
+<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
+</dd><dt>number</dt><dd><a href="html/libvirt-virterror.html#_virError">_virError</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#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-virterror.html#virResetError">virResetError</a><br />
 <a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
 </dd><dt>pointing</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
+</dd><dt>potential</dt><dd><a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
 </dd><dt>printing</dt><dd><a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</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 />
 </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>raised</dt><dd><a href="html/libvirt-virterror.html#_virError">_virError</a><br />
+</dd></dl><h2>Letter r:</h2><dl><dt>race</dt><dd><a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
+</dd><dt>raised</dt><dd><a href="html/libvirt-virterror.html#_virError">_virError</a><br />
 <a href="html/libvirt-virterror.html#virErrorFunc">virErrorFunc</a><br />
 <a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
 </dd><dt>ramdisk</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
 </dd><dt>reused</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
 </dd><dt>root</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
 </dd><dt>routine</dt><dd><a href="html/libvirt-virterror.html#virDefaultErrorFunc">virDefaultErrorFunc</a><br />
+<a href="html/libvirt-libvirt.html#virInitialize">virInitialize</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#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>startup</dt><dd><a href="html/libvirt-libvirt.html#virInitialize">virInitialize</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 />
 <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#virInitialize">virInitialize</a><br />
 </dd><dt>successful</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
 </dd><dt>suitable</dt><dd><a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
 <a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</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>target</dt><dd><a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
-<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
-</dd><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-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
-<a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
-<a href="html/libvirt-virterror.html#virConnResetLastError">virConnResetLastError</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#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 />
-<a href="html/libvirt-virterror.html#virErrorFunc">virErrorFunc</a><br />
-<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</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-virterror.html#_virError">_virError</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 />
-</dd><dt>those</dt><dd><a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</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 align="center"><a href="APIchunk0.html">A-c</a>
-<a href="APIchunk1.html">d-n</a>
-<a href="APIchunk2.html">o-t</a>
-<a href="APIchunk3.html">u-z</a>
+<a href="APIchunk1.html">d-m</a>
+<a href="APIchunk2.html">n-s</a>
+<a href="APIchunk3.html">t-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 href="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</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="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</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>
index 034f5bff0f21e19218f6f51ce6a91a9601beb93a..e2af14b9d4b8153c03a33a632dd23dd06238d026 100644 (file)
@@ -58,7 +58,9 @@
 <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><h2><a name="virterror" id="virterror">Module virterror</a>:</h2><p><a href="html/libvirt-virterror.html#VIR_ERR_ERROR">VIR_ERR_ERROR</a><br />
+<a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
+</p><h2><a name="virterror" id="virterror">Module virterror</a>:</h2><p><a href="html/libvirt-virterror.html#VIR_ERR_DRIVER_FULL">VIR_ERR_DRIVER_FULL</a><br />
+<a href="html/libvirt-virterror.html#VIR_ERR_ERROR">VIR_ERR_ERROR</a><br />
 <a href="html/libvirt-virterror.html#VIR_ERR_GET_FAILED">VIR_ERR_GET_FAILED</a><br />
 <a href="html/libvirt-virterror.html#VIR_ERR_HTTP_ERROR">VIR_ERR_HTTP_ERROR</a><br />
 <a href="html/libvirt-virterror.html#VIR_ERR_INTERNAL_ERROR">VIR_ERR_INTERNAL_ERROR</a><br />
@@ -77,6 +79,7 @@
 <a href="html/libvirt-virterror.html#VIR_ERR_NO_SUPPORT">VIR_ERR_NO_SUPPORT</a><br />
 <a href="html/libvirt-virterror.html#VIR_ERR_NO_TARGET">VIR_ERR_NO_TARGET</a><br />
 <a href="html/libvirt-virterror.html#VIR_ERR_NO_XEN">VIR_ERR_NO_XEN</a><br />
+<a href="html/libvirt-virterror.html#VIR_ERR_NO_XENSTORE">VIR_ERR_NO_XENSTORE</a><br />
 <a href="html/libvirt-virterror.html#VIR_ERR_OK">VIR_ERR_OK</a><br />
 <a href="html/libvirt-virterror.html#VIR_ERR_OPERATION_FAILED">VIR_ERR_OPERATION_FAILED</a><br />
 <a href="html/libvirt-virterror.html#VIR_ERR_OS_TYPE">VIR_ERR_OS_TYPE</a><br />
@@ -90,6 +93,7 @@
 <a href="html/libvirt-virterror.html#VIR_FROM_SEXPR">VIR_FROM_SEXPR</a><br />
 <a href="html/libvirt-virterror.html#VIR_FROM_XEN">VIR_FROM_XEN</a><br />
 <a href="html/libvirt-virterror.html#VIR_FROM_XEND">VIR_FROM_XEND</a><br />
+<a href="html/libvirt-virterror.html#VIR_FROM_XENSTORE">VIR_FROM_XENSTORE</a><br />
 <a href="html/libvirt-virterror.html#VIR_FROM_XML">VIR_FROM_XML</a><br />
 <a href="html/libvirt-virterror.html#_virError">_virError</a><br />
 <a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
index 62eb789b7844162fac45f4a660c97df8c283e192..8d6ba646aaace9ec7cfdccdeeeb9110f60fd6450 100644 (file)
@@ -17,6 +17,7 @@
 <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-virterror.html#VIR_ERR_DRIVER_FULL">VIR_ERR_DRIVER_FULL</a><br />
 <a href="html/libvirt-virterror.html#VIR_ERR_ERROR">VIR_ERR_ERROR</a><br />
 <a href="html/libvirt-virterror.html#VIR_ERR_GET_FAILED">VIR_ERR_GET_FAILED</a><br />
 <a href="html/libvirt-virterror.html#VIR_ERR_HTTP_ERROR">VIR_ERR_HTTP_ERROR</a><br />
@@ -36,6 +37,7 @@
 <a href="html/libvirt-virterror.html#VIR_ERR_NO_SUPPORT">VIR_ERR_NO_SUPPORT</a><br />
 <a href="html/libvirt-virterror.html#VIR_ERR_NO_TARGET">VIR_ERR_NO_TARGET</a><br />
 <a href="html/libvirt-virterror.html#VIR_ERR_NO_XEN">VIR_ERR_NO_XEN</a><br />
+<a href="html/libvirt-virterror.html#VIR_ERR_NO_XENSTORE">VIR_ERR_NO_XENSTORE</a><br />
 <a href="html/libvirt-virterror.html#VIR_ERR_OK">VIR_ERR_OK</a><br />
 <a href="html/libvirt-virterror.html#VIR_ERR_OPERATION_FAILED">VIR_ERR_OPERATION_FAILED</a><br />
 <a href="html/libvirt-virterror.html#VIR_ERR_OS_TYPE">VIR_ERR_OS_TYPE</a><br />
@@ -49,6 +51,7 @@
 <a href="html/libvirt-virterror.html#VIR_FROM_SEXPR">VIR_FROM_SEXPR</a><br />
 <a href="html/libvirt-virterror.html#VIR_FROM_XEN">VIR_FROM_XEN</a><br />
 <a href="html/libvirt-virterror.html#VIR_FROM_XEND">VIR_FROM_XEND</a><br />
+<a href="html/libvirt-virterror.html#VIR_FROM_XENSTORE">VIR_FROM_XENSTORE</a><br />
 <a href="html/libvirt-virterror.html#VIR_FROM_XML">VIR_FROM_XML</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 />
 <a href="html/libvirt-virterror.html#virErrorPtr">virErrorPtr</a><br />
 <a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
 <a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
+<a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
 <a href="html/libvirt-virterror.html#virResetError">virResetError</a><br />
 <a href="html/libvirt-virterror.html#virResetLastError">virResetLastError</a><br />
 <a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
index 712d4427aa113fabe80373a1d5a5ae8aa181a38b..6e38f680e7375f374144bc14c83b948429e28f9f 100755 (executable)
@@ -25,10 +25,16 @@ ignored_files = {
   "driver.h": "internal driver interfaces",
   "xend_internal.h": "internal includes and defines",
   "xend_internal.c": "internal code",
+  "xen_internal.h": "internal includes and defines",
+  "xen_internal.c": "internal code",
+  "xs_internal.h": "internal includes and defines",
+  "xs_internal.c": "internal code",
   "sexpr.h": "internal includes and defines",
   "sexpr.c": "internal code",
   "xml.h": "internal includes and defines",
   "xml.c": "internal code",
+  "xmlrpc.h": "internal include",
+  "xmlrpc.c": "internal code",
 }
 
 ignored_words = {
index 3fcd25e5a516d4c8453a6fe48eb13faa4b90ff3f..5a30549fc3b89ce18b4442071b6e9f29a292afae 100644 (file)
@@ -1,7 +1,7 @@
 <?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="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>libvirt architecture</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">libvirt 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 libvirt have to execute
+<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>libvirt architecture</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">libvirt architecture</h1><h3>This is in a large part Xen specific since this is the only hypervisor
+supported at the moment</h3><p>When running in a Xen environment, programs using libvirt 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
@@ -24,4 +24,22 @@ 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">libvirt architecture</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="format.html">XML Format</a></li><li><a href="python.html">Binding for Python</a></li><li><a href="errors.html">Handling of errors</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="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</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="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</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>
+of APIs available and slowing down information gathering about domains.</p><h3>Internal architecture</h3><p>As the previous section explains, libvirt can communicate using different
+channels with the current hypervisor, and should also be able to use
+different kind of hypervisor. To simplify the internal design, code, ease
+maintainance and simplify the support of other virtualization engine the
+internals have been structured as one core component, the libvirt.c module
+acting as a front-end for the library API and a set of hypvisor drivers
+defining a common set of routines. That way the Xen Daemon accces, the Xen
+Store one, the Hypervisor hypercall are all isolated in separate C modules
+implementing at least a subset of the common operations defined by the
+drivers present in driver.h:</p><ul><li>xend_internal: implements the driver functions though the Xen
+  Daemon</li>
+  <li>xs_internal: implements the subset of the driver availble though the
+    Xen Store</li>
+  <li>xen_internal: provide the implementation of the functions possible via
+    direct hypervisor access</li>
+</ul><p>Note that a given driver may only implement a subset of those functions,
+for example saving a domain state to disk and restoring it is only possible
+though the Xen Daemon, on the other hand all interfaces allow to query the
+runtime state of a given domain.</p><p> </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">libvirt architecture</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="format.html">XML Format</a></li><li><a href="python.html">Binding for Python</a></li><li><a href="errors.html">Handling of errors</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="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</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="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</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>
index df7bf94f2c77b1d9a9f7be3b917a8f344e243931..276b5a234435db46edb175d8a06bec9fd49c7ef3 100644 (file)
@@ -1,3 +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="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><li><a href="libvirt-virterror.html">virterror</a>: error handling 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 href="../html/index.html">API Menu</a></li><li><a href="../examples/index.html">C code examples</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>
+<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><li><a href="libvirt-virterror.html">virterror</a>: error handling 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 href="../html/index.html">API Menu</a></li><li><a href="../examples/index.html">C code examples</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="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</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>
index df7bf94f2c77b1d9a9f7be3b917a8f344e243931..276b5a234435db46edb175d8a06bec9fd49c7ef3 100644 (file)
@@ -1,3 +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="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><li><a href="libvirt-virterror.html">virterror</a>: error handling 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 href="../html/index.html">API Menu</a></li><li><a href="../examples/index.html">C code examples</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>
+<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><li><a href="libvirt-virterror.html">virterror</a>: error handling 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 href="../html/index.html">API Menu</a></li><li><a href="../examples/index.html">C code examples</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="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</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>
index df7bf94f2c77b1d9a9f7be3b917a8f344e243931..276b5a234435db46edb175d8a06bec9fd49c7ef3 100644 (file)
@@ -1,3 +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="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><li><a href="libvirt-virterror.html">virterror</a>: error handling 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 href="../html/index.html">API Menu</a></li><li><a href="../examples/index.html">C code examples</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>
+<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><li><a href="libvirt-virterror.html">virterror</a>: error handling 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 href="../html/index.html">API Menu</a></li><li><a href="../examples/index.html">C code examples</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="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</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>
index 9136aad610c71fd5b9347e93a21b81d16ef31cf1..d260f3675f88b58ddcf5bea3a4fd91ed2b626270 100644 (file)
@@ -41,6 +41,7 @@ The content of this structure is not made public by the API.
 <pre class="programlisting">int        <a href="#virDomainShutdown">virDomainShutdown</a>              (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)</pre>
 <pre class="programlisting">int        <a href="#virDomainSuspend">virDomainSuspend</a>                (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)</pre>
 <pre class="programlisting">int        <a href="#virGetVersion">virGetVersion</a>                      (unsigned long * libVer, <br />                                  const char * type, <br />                                       unsigned long * typeVer)</pre>
+<pre class="programlisting">int        <a href="#virInitialize">virInitialize</a>                      (void)</pre>
 <h2>Description</h2>
 <h3><a name="LIBVIR_VERSION_NUMBER" id="LIBVIR_VERSION_NUMBER"></a>Macro: LIBVIR_VERSION_NUMBER</h3><pre>#define LIBVIR_VERSION_NUMBER</pre><p>Macro providing the version of the library as version * 1,000,000 + minor * 1000 + micro</p>
 <h3><a name="virConnect" id="virConnect">Structure virConnect</a></h3><pre class="programlisting">Structure virConnect<br />struct _virConnect {
@@ -120,7 +121,7 @@ The content of this structure is not made public by the API.
 </pre><p>Get the public name for that domain</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>a pointer to the name or NULL, the string need not be deallocated its lifetime will be the same as the domain object.</td></tr></tbody></table></div><h3><a name="virDomainGetOSType" id="virDomainGetOSType"></a>Function: virDomainGetOSType</h3><pre class="programlisting">char *     virDomainGetOSType              (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br />
 </pre><p>Get the type of domain operation system.</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>the new string or NULL in case of error</td></tr></tbody></table></div><h3><a name="virDomainGetUUID" id="virDomainGetUUID"></a>Function: virDomainGetUUID</h3><pre class="programlisting">int    virDomainGetUUID                (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br />                                     unsigned char * uuid)<br />
+<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>the new string or NULL in case of error, the string must be freed by the caller.</td></tr></tbody></table></div><h3><a name="virDomainGetUUID" id="virDomainGetUUID"></a>Function: virDomainGetUUID</h3><pre class="programlisting">int   virDomainGetUUID                (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br />                                     unsigned char * uuid)<br />
 </pre><p>Get the UUID for a domain</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>uuid</tt></i>:</span></td><td>pointer to a 16 bytes array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 in case of success</td></tr></tbody></table></div><h3><a name="virDomainGetXMLDesc" id="virDomainGetXMLDesc"></a>Function: virDomainGetXMLDesc</h3><pre class="programlisting">char * virDomainGetXMLDesc             (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br />                                     int flags)<br />
 </pre><p>Provide an XML description of the domain. The description may be reused later to relaunch the domain with virDomainCreateLinux().</p>
@@ -144,4 +145,6 @@ The content of this structure is not made public by the API.
 </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></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="../html/index.html">API Menu</a></li><li><a href="../examples/index.html">C code examples</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>
+<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><h3><a name="virInitialize" id="virInitialize"></a>Function: virInitialize</h3><pre class="programlisting">int   virInitialize                   (void)<br />
+</pre><p>Initialize the library. It's better to call this routine at startup in multithreaded applications to avoid potential race when initializing the library.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</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 href="../html/index.html">API Menu</a></li><li><a href="../examples/index.html">C code examples</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="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</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>
index ab5f22095469bcfe805d78f33bb762afa9d96f4a..f039897366bf6fa1ff114e8185b14a7864524cec 100644 (file)
@@ -35,9 +35,10 @@ void <a href="#virErrorFunc">virErrorFunc</a>                        (void * userData, <br />                                         <a
     <a name="VIR_FROM_NONE" id="VIR_FROM_NONE">VIR_FROM_NONE</a> = 0
     <a name="VIR_FROM_XEN" id="VIR_FROM_XEN">VIR_FROM_XEN</a> = 1 : Error at Xen hypervisor layer
     <a name="VIR_FROM_XEND" id="VIR_FROM_XEND">VIR_FROM_XEND</a> = 2 : Error at connection with xend daemon
-    <a name="VIR_FROM_SEXPR" id="VIR_FROM_SEXPR">VIR_FROM_SEXPR</a> = 3 : Error in the S-Epression code
-    <a name="VIR_FROM_XML" id="VIR_FROM_XML">VIR_FROM_XML</a> = 4 : Error in the XML code
-    <a name="VIR_FROM_DOM" id="VIR_FROM_DOM">VIR_FROM_DOM</a> = 5 : Error when operating on a domain
+    <a name="VIR_FROM_XENSTORE" id="VIR_FROM_XENSTORE">VIR_FROM_XENSTORE</a> = 3 : Error at connection with xen store
+    <a name="VIR_FROM_SEXPR" id="VIR_FROM_SEXPR">VIR_FROM_SEXPR</a> = 4 : Error in the S-Epression code
+    <a name="VIR_FROM_XML" id="VIR_FROM_XML">VIR_FROM_XML</a> = 5 : Error in the XML code
+    <a name="VIR_FROM_DOM" id="VIR_FROM_DOM">VIR_FROM_DOM</a> = 6 : Error when operating on a domain
 }
 </pre><h3>Enum <a name="virErrorLevel" id="virErrorLevel">virErrorLevel</a></h3><pre class="programlisting">Enum virErrorLevel {
     <a name="VIR_ERR_NONE" id="VIR_ERR_NONE">VIR_ERR_NONE</a> = 0
@@ -62,13 +63,15 @@ void        <a href="#virErrorFunc">virErrorFunc</a>                        (void * userData, <br />                                         <a
     <a name="VIR_ERR_NO_XEN" id="VIR_ERR_NO_XEN">VIR_ERR_NO_XEN</a> = 14 : could not open Xen hypervisor control
     <a name="VIR_ERR_XEN_CALL" id="VIR_ERR_XEN_CALL">VIR_ERR_XEN_CALL</a> = 15 : failure doing an hypervisor call
     <a name="VIR_ERR_OS_TYPE" id="VIR_ERR_OS_TYPE">VIR_ERR_OS_TYPE</a> = 16 : unknown OS type
-    <a name="VIR_ERR_NO_KERNEL" id="VIR_ERR_NO_KERNEL">VIR_ERR_NO_KERNEL</a> = 17 : missing kernel informations
-    <a name="VIR_ERR_NO_ROOT" id="VIR_ERR_NO_ROOT">VIR_ERR_NO_ROOT</a> = 18 : missing root device informations
-    <a name="VIR_ERR_NO_SOURCE" id="VIR_ERR_NO_SOURCE">VIR_ERR_NO_SOURCE</a> = 19 : missing source device informations
-    <a name="VIR_ERR_NO_TARGET" id="VIR_ERR_NO_TARGET">VIR_ERR_NO_TARGET</a> = 20 : missing target device informations
-    <a name="VIR_ERR_NO_NAME" id="VIR_ERR_NO_NAME">VIR_ERR_NO_NAME</a> = 21 : missing domain name informations
-    <a name="VIR_ERR_NO_OS" id="VIR_ERR_NO_OS">VIR_ERR_NO_OS</a> = 22 : missing domain OS informations
-    <a name="VIR_ERR_NO_DEVICE" id="VIR_ERR_NO_DEVICE">VIR_ERR_NO_DEVICE</a> = 23 : missing domain devices informations
+    <a name="VIR_ERR_NO_KERNEL" id="VIR_ERR_NO_KERNEL">VIR_ERR_NO_KERNEL</a> = 17 : missing kernel information
+    <a name="VIR_ERR_NO_ROOT" id="VIR_ERR_NO_ROOT">VIR_ERR_NO_ROOT</a> = 18 : missing root device information
+    <a name="VIR_ERR_NO_SOURCE" id="VIR_ERR_NO_SOURCE">VIR_ERR_NO_SOURCE</a> = 19 : missing source device information
+    <a name="VIR_ERR_NO_TARGET" id="VIR_ERR_NO_TARGET">VIR_ERR_NO_TARGET</a> = 20 : missing target device information
+    <a name="VIR_ERR_NO_NAME" id="VIR_ERR_NO_NAME">VIR_ERR_NO_NAME</a> = 21 : missing domain name information
+    <a name="VIR_ERR_NO_OS" id="VIR_ERR_NO_OS">VIR_ERR_NO_OS</a> = 22 : missing domain OS information
+    <a name="VIR_ERR_NO_DEVICE" id="VIR_ERR_NO_DEVICE">VIR_ERR_NO_DEVICE</a> = 23 : missing domain devices information
+    <a name="VIR_ERR_NO_XENSTORE" id="VIR_ERR_NO_XENSTORE">VIR_ERR_NO_XENSTORE</a> = 24 : could not open Xen Store control
+    <a name="VIR_ERR_DRIVER_FULL" id="VIR_ERR_DRIVER_FULL">VIR_ERR_DRIVER_FULL</a> = 25 : too many drivers registered
 }
 </pre><h3><a name="virConnCopyLastError" id="virConnCopyLastError"></a>Function: virConnCopyLastError</h3><pre class="programlisting">int      virConnCopyLastError            (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br />                                     <a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> to)<br />
 </pre><p>Copy the content of the last error caught on that connection One will need to free the result with virResetError()</p>
@@ -93,4 +96,4 @@ void  virErrorFunc                    (void * userData, <br />                                         <a href="libvirt-virterror.htm
 </pre><p>Reset the last error caught at the library level.</p>
 <h3><a name="virSetErrorFunc" id="virSetErrorFunc"></a>Function: virSetErrorFunc</h3><pre class="programlisting">void  virSetErrorFunc                 (void * userData, <br />                                         <a href="libvirt-virterror.html#virErrorFunc">virErrorFunc</a> handler)<br />
 </pre><p>Set a library global error handling function, if @handler is NULL, it will reset to default printing on stderr. The error raised there are those for which no handler at the connection level could caught.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>pointer to the user data provided in the handler callback</td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the function to get called in case of error or NULL</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 href="../html/index.html">API Menu</a></li><li><a href="../examples/index.html">C code examples</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>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>pointer to the user data provided in the handler callback</td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the function to get called in case of error or NULL</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 href="../html/index.html">API Menu</a></li><li><a href="../examples/index.html">C code examples</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="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</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>
index 34c767bad6e34362152402e08c52e6fce73f291f..265848cc71c582cf1dcd46d3fd3ffe81b01dd16f 100644 (file)
@@ -133,8 +133,8 @@ case at the moment, the code currently handle only local node accesses.</p>
 
 <h2><a name="architecture">libvirt architecture</a></h2>
 
-<h3>This is Xen specific since this is the only hypervisor supported at the
-moment</h3>
+<h3>This is in a large part Xen specific since this is the only hypervisor
+supported at the moment</h3>
 
 <p>When running in a Xen environment, programs using libvirt have to execute
 in "Domain 0", which is the primary Linux OS loaded on the machine. That OS
@@ -170,6 +170,34 @@ 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>
 
+<h3>Internal architecture</h3>
+
+<p>As the previous section explains, libvirt can communicate using different
+channels with the current hypervisor, and should also be able to use
+different kind of hypervisor. To simplify the internal design, code, ease
+maintainance and simplify the support of other virtualization engine the
+internals have been structured as one core component, the libvirt.c module
+acting as a front-end for the library API and a set of hypvisor drivers
+defining a common set of routines. That way the Xen Daemon accces, the Xen
+Store one, the Hypervisor hypercall are all isolated in separate C modules
+implementing at least a subset of the common operations defined by the
+drivers present in driver.h:</p>
+<ul>
+  <li>xend_internal: implements the driver functions though the Xen
+  Daemon</li>
+  <li>xs_internal: implements the subset of the driver availble though the
+    Xen Store</li>
+  <li>xen_internal: provide the implementation of the functions possible via
+    direct hypervisor access</li>
+</ul>
+
+<p>Note that a given driver may only implement a subset of those functions,
+for example saving a domain state to disk and restoring it is only possible
+though the Xen Daemon, on the other hand all interfaces allow to query the
+runtime state of a given domain.</p>
+
+<p> </p>
+
 <h2><a name="Downloads">Downloads</a></h2>
 
 <p>The latest versions of libvirt can be found on the  <a
index 0733b3aa8104fdbd89c0a35ba9869f46e9190efe..98046f026b6e2664d39ff18f312100b7f9c4d40a 100644 (file)
@@ -56,6 +56,7 @@
      <exports symbol='virConnectOpen' type='function'/>
      <exports symbol='virDomainSuspend' type='function'/>
      <exports symbol='virConnectClose' type='function'/>
+     <exports symbol='virInitialize' type='function'/>
      <exports symbol='virDomainGetID' type='function'/>
      <exports symbol='virDomainResume' type='function'/>
      <exports symbol='virDomainCreateLinux' type='function'/>
@@ -77,6 +78,7 @@
      <exports symbol='VIR_FROM_SEXPR' type='enum'/>
      <exports symbol='VIR_FROM_NONE' type='enum'/>
      <exports symbol='VIR_ERR_HTTP_ERROR' type='enum'/>
+     <exports symbol='VIR_ERR_NO_XENSTORE' type='enum'/>
      <exports symbol='VIR_FROM_DOM' type='enum'/>
      <exports symbol='VIR_ERR_INVALID_DOMAIN' type='enum'/>
      <exports symbol='VIR_FROM_XML' type='enum'/>
      <exports symbol='VIR_ERR_NO_ROOT' type='enum'/>
      <exports symbol='VIR_ERR_OPERATION_FAILED' type='enum'/>
      <exports symbol='VIR_ERR_GET_FAILED' type='enum'/>
+     <exports symbol='VIR_ERR_DRIVER_FULL' type='enum'/>
      <exports symbol='VIR_ERR_SEXPR_SERIAL' type='enum'/>
      <exports symbol='VIR_ERR_NO_SOURCE' type='enum'/>
      <exports symbol='VIR_ERR_NO_TARGET' type='enum'/>
      <exports symbol='VIR_ERR_INTERNAL_ERROR' type='enum'/>
      <exports symbol='VIR_ERR_NO_SUPPORT' type='enum'/>
      <exports symbol='VIR_FROM_XEND' type='enum'/>
+     <exports symbol='VIR_FROM_XENSTORE' type='enum'/>
      <exports symbol='VIR_FROM_XEN' type='enum'/>
      <exports symbol='VIR_ERR_XEN_CALL' type='enum'/>
      <exports symbol='VIR_ERR_UNKNOWN_HOST' type='enum'/>
     <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'/>
+    <enum name='VIR_ERR_DRIVER_FULL' file='virterror' value='25' type='virErrorNumber' info=' too many drivers registered'/>
     <enum name='VIR_ERR_ERROR' file='virterror' value='2' type='virErrorLevel' info=' An error'/>
     <enum name='VIR_ERR_GET_FAILED' file='virterror' value='10' type='virErrorNumber' info='a HTTP GET command to failed'/>
     <enum name='VIR_ERR_HTTP_ERROR' file='virterror' value='12' type='virErrorNumber' info='unexpected HTTP error code'/>
     <enum name='VIR_ERR_INVALID_DOMAIN' file='virterror' value='7' type='virErrorNumber' info='invalid domain object'/>
     <enum name='VIR_ERR_NONE' file='virterror' value='0' type='virErrorLevel'/>
     <enum name='VIR_ERR_NO_CONNECT' file='virterror' value='5' type='virErrorNumber' info='can&apos;t connect to hypervisor'/>
-    <enum name='VIR_ERR_NO_DEVICE' file='virterror' value='23' type='virErrorNumber' info=' missing domain devices informations'/>
-    <enum name='VIR_ERR_NO_KERNEL' file='virterror' value='17' type='virErrorNumber' info='missing kernel informations'/>
+    <enum name='VIR_ERR_NO_DEVICE' file='virterror' value='23' type='virErrorNumber' info='missing domain devices information'/>
+    <enum name='VIR_ERR_NO_KERNEL' file='virterror' value='17' type='virErrorNumber' info='missing kernel information'/>
     <enum name='VIR_ERR_NO_MEMORY' file='virterror' value='2' type='virErrorNumber' info='memory allocation failure'/>
-    <enum name='VIR_ERR_NO_NAME' file='virterror' value='21' type='virErrorNumber' info='missing domain name informations'/>
-    <enum name='VIR_ERR_NO_OS' file='virterror' value='22' type='virErrorNumber' info='missing domain OS informations'/>
-    <enum name='VIR_ERR_NO_ROOT' file='virterror' value='18' type='virErrorNumber' info='missing root device informations'/>
-    <enum name='VIR_ERR_NO_SOURCE' file='virterror' value='19' type='virErrorNumber' info='missing source device informations'/>
+    <enum name='VIR_ERR_NO_NAME' file='virterror' value='21' type='virErrorNumber' info='missing domain name information'/>
+    <enum name='VIR_ERR_NO_OS' file='virterror' value='22' type='virErrorNumber' info='missing domain OS information'/>
+    <enum name='VIR_ERR_NO_ROOT' file='virterror' value='18' type='virErrorNumber' info='missing root device information'/>
+    <enum name='VIR_ERR_NO_SOURCE' file='virterror' value='19' type='virErrorNumber' info='missing source device information'/>
     <enum name='VIR_ERR_NO_SUPPORT' file='virterror' value='3' type='virErrorNumber' info='no support for this connection'/>
-    <enum name='VIR_ERR_NO_TARGET' file='virterror' value='20' type='virErrorNumber' info='missing target device informations'/>
+    <enum name='VIR_ERR_NO_TARGET' file='virterror' value='20' type='virErrorNumber' info='missing target device information'/>
     <enum name='VIR_ERR_NO_XEN' file='virterror' value='14' type='virErrorNumber' info='could not open Xen hypervisor control'/>
+    <enum name='VIR_ERR_NO_XENSTORE' file='virterror' value='24' type='virErrorNumber' info='could not open Xen Store control'/>
     <enum name='VIR_ERR_OK' file='virterror' value='0' type='virErrorNumber'/>
     <enum name='VIR_ERR_OPERATION_FAILED' file='virterror' value='9' type='virErrorNumber' info='a command to hypervisor failed'/>
     <enum name='VIR_ERR_OS_TYPE' file='virterror' value='16' type='virErrorNumber' info='unknown OS type'/>
     <enum name='VIR_ERR_UNKNOWN_HOST' file='virterror' value='4' type='virErrorNumber' info='could not resolve hostname'/>
     <enum name='VIR_ERR_WARNING' file='virterror' value='1' type='virErrorLevel' info='A simple warning'/>
     <enum name='VIR_ERR_XEN_CALL' file='virterror' value='15' type='virErrorNumber' info='failure doing an hypervisor call'/>
-    <enum name='VIR_FROM_DOM' file='virterror' value='5' type='virErrorDomain' info=' Error when operating on a domain'/>
+    <enum name='VIR_FROM_DOM' file='virterror' value='6' type='virErrorDomain' info=' Error when operating on a domain'/>
     <enum name='VIR_FROM_NONE' file='virterror' value='0' type='virErrorDomain'/>
-    <enum name='VIR_FROM_SEXPR' file='virterror' value='3' type='virErrorDomain' info='Error in the S-Epression code'/>
+    <enum name='VIR_FROM_SEXPR' file='virterror' value='4' type='virErrorDomain' info='Error in the S-Epression code'/>
     <enum name='VIR_FROM_XEN' file='virterror' value='1' type='virErrorDomain' info='Error at Xen hypervisor layer'/>
     <enum name='VIR_FROM_XEND' file='virterror' value='2' type='virErrorDomain' info='Error at connection with xend daemon'/>
-    <enum name='VIR_FROM_XML' file='virterror' value='4' type='virErrorDomain' info='Error in the XML code'/>
+    <enum name='VIR_FROM_XENSTORE' file='virterror' value='3' type='virErrorDomain' info='Error at connection with xen store'/>
+    <enum name='VIR_FROM_XML' file='virterror' value='5' type='virErrorDomain' info='Error in the XML code'/>
     <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>
     </function>
     <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'/>
+      <return type='char *' info='the new string or NULL in case of error, the string must be freed by the caller.'/>
       <arg name='domain' type='virDomainPtr' info='a domain object'/>
     </function>
     <function name='virDomainGetUUID' file='libvirt' module='libvirt'>
       <arg name='type' type='const char *' info='hypervisor type'/>
       <arg name='typeVer' type='unsigned long *' info='return value for the version of the hypervisor (OUT)'/>
     </function>
+    <function name='virInitialize' file='libvirt' module='libvirt'>
+      <info>Initialize the library. It&apos;s better to call this routine at startup in multithreaded applications to avoid potential race when initializing the library.</info>
+      <return type='int' info='0 in case of success, -1 in case of error'/>
+    </function>
     <function name='virResetError' file='virterror' module='virterror'>
       <info>Reset the error being pointed to</info>
       <return type='void'/>
index d6a87e2972e0b4dc7b92fa194b5e52c8ba8f3718..32762087abbf88c26dbacbefcf07de52bef65d0e 100644 (file)
@@ -18,6 +18,7 @@
     <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='VIR_ERR_DRIVER_FULL' href='html/libvirt-virterror.html#VIR_ERR_DRIVER_FULL'/>
     <reference name='VIR_ERR_ERROR' href='html/libvirt-virterror.html#VIR_ERR_ERROR'/>
     <reference name='VIR_ERR_GET_FAILED' href='html/libvirt-virterror.html#VIR_ERR_GET_FAILED'/>
     <reference name='VIR_ERR_HTTP_ERROR' href='html/libvirt-virterror.html#VIR_ERR_HTTP_ERROR'/>
@@ -37,6 +38,7 @@
     <reference name='VIR_ERR_NO_SUPPORT' href='html/libvirt-virterror.html#VIR_ERR_NO_SUPPORT'/>
     <reference name='VIR_ERR_NO_TARGET' href='html/libvirt-virterror.html#VIR_ERR_NO_TARGET'/>
     <reference name='VIR_ERR_NO_XEN' href='html/libvirt-virterror.html#VIR_ERR_NO_XEN'/>
+    <reference name='VIR_ERR_NO_XENSTORE' href='html/libvirt-virterror.html#VIR_ERR_NO_XENSTORE'/>
     <reference name='VIR_ERR_OK' href='html/libvirt-virterror.html#VIR_ERR_OK'/>
     <reference name='VIR_ERR_OPERATION_FAILED' href='html/libvirt-virterror.html#VIR_ERR_OPERATION_FAILED'/>
     <reference name='VIR_ERR_OS_TYPE' href='html/libvirt-virterror.html#VIR_ERR_OS_TYPE'/>
@@ -50,6 +52,7 @@
     <reference name='VIR_FROM_SEXPR' href='html/libvirt-virterror.html#VIR_FROM_SEXPR'/>
     <reference name='VIR_FROM_XEN' href='html/libvirt-virterror.html#VIR_FROM_XEN'/>
     <reference name='VIR_FROM_XEND' href='html/libvirt-virterror.html#VIR_FROM_XEND'/>
+    <reference name='VIR_FROM_XENSTORE' href='html/libvirt-virterror.html#VIR_FROM_XENSTORE'/>
     <reference name='VIR_FROM_XML' href='html/libvirt-virterror.html#VIR_FROM_XML'/>
     <reference name='_virDomainInfo' href='html/libvirt-libvirt.html#_virDomainInfo'/>
     <reference name='_virDomainKernel' href='html/libvirt-libvirt.html#_virDomainKernel'/>
     <reference name='virErrorPtr' href='html/libvirt-virterror.html#virErrorPtr'/>
     <reference name='virGetLastError' href='html/libvirt-virterror.html#virGetLastError'/>
     <reference name='virGetVersion' href='html/libvirt-libvirt.html#virGetVersion'/>
+    <reference name='virInitialize' href='html/libvirt-libvirt.html#virInitialize'/>
     <reference name='virResetError' href='html/libvirt-virterror.html#virResetError'/>
     <reference name='virResetLastError' href='html/libvirt-virterror.html#virResetLastError'/>
     <reference name='virSetErrorFunc' href='html/libvirt-virterror.html#virSetErrorFunc'/>
       <ref name='VIR_DOMAIN_RUNNING'/>
       <ref name='VIR_DOMAIN_SHUTDOWN'/>
       <ref name='VIR_DOMAIN_SHUTOFF'/>
+      <ref name='VIR_ERR_DRIVER_FULL'/>
       <ref name='VIR_ERR_ERROR'/>
       <ref name='VIR_ERR_GET_FAILED'/>
       <ref name='VIR_ERR_HTTP_ERROR'/>
       <ref name='VIR_ERR_NO_SUPPORT'/>
       <ref name='VIR_ERR_NO_TARGET'/>
       <ref name='VIR_ERR_NO_XEN'/>
+      <ref name='VIR_ERR_NO_XENSTORE'/>
       <ref name='VIR_ERR_OK'/>
       <ref name='VIR_ERR_OPERATION_FAILED'/>
       <ref name='VIR_ERR_OS_TYPE'/>
       <ref name='VIR_FROM_SEXPR'/>
       <ref name='VIR_FROM_XEN'/>
       <ref name='VIR_FROM_XEND'/>
+      <ref name='VIR_FROM_XENSTORE'/>
       <ref name='VIR_FROM_XML'/>
     </letter>
     <letter name='_'>
       <ref name='virErrorPtr'/>
       <ref name='virGetLastError'/>
       <ref name='virGetVersion'/>
+      <ref name='virInitialize'/>
       <ref name='virResetError'/>
       <ref name='virResetLastError'/>
       <ref name='virSetErrorFunc'/>
       <ref name='virDomainState'/>
       <ref name='virDomainSuspend'/>
       <ref name='virGetVersion'/>
+      <ref name='virInitialize'/>
     </file>
     <file name='virterror'>
+      <ref name='VIR_ERR_DRIVER_FULL'/>
       <ref name='VIR_ERR_ERROR'/>
       <ref name='VIR_ERR_GET_FAILED'/>
       <ref name='VIR_ERR_HTTP_ERROR'/>
       <ref name='VIR_ERR_NO_SUPPORT'/>
       <ref name='VIR_ERR_NO_TARGET'/>
       <ref name='VIR_ERR_NO_XEN'/>
+      <ref name='VIR_ERR_NO_XENSTORE'/>
       <ref name='VIR_ERR_OK'/>
       <ref name='VIR_ERR_OPERATION_FAILED'/>
       <ref name='VIR_ERR_OS_TYPE'/>
       <ref name='VIR_FROM_SEXPR'/>
       <ref name='VIR_FROM_XEN'/>
       <ref name='VIR_FROM_XEND'/>
+      <ref name='VIR_FROM_XENSTORE'/>
       <ref name='VIR_FROM_XML'/>
       <ref name='_virError'/>
       <ref name='virConnCopyLastError'/>
         <word name='Informations'>
           <ref name='_virDomainInfo'/>
         </word>
+        <word name='Initialize'>
+          <ref name='virInitialize'/>
+        </word>
       </letter>
       <letter name='K'>
         <word name='KBytes'>
           <ref name='virDomainGetMaxMemory'/>
           <ref name='virDomainSetMaxMemory'/>
         </word>
+        <word name='applications'>
+          <ref name='virInitialize'/>
+        </word>
         <word name='are'>
           <ref name='_virDomainInfo'/>
           <ref name='virConnectClose'/>
         <word name='availble'>
           <ref name='virGetVersion'/>
         </word>
+        <word name='avoid'>
+          <ref name='virInitialize'/>
+        </word>
       </letter>
       <letter name='b'>
         <word name='back'>
         <word name='below'>
           <ref name='_virDomainInfo'/>
         </word>
+        <word name='better'>
+          <ref name='virInitialize'/>
+        </word>
         <word name='block'>
           <ref name='_virDomainKernel'/>
         </word>
           <ref name='virConnectGetVersion'/>
           <ref name='virDomainDestroy'/>
           <ref name='virDomainSave'/>
+          <ref name='virInitialize'/>
         </word>
         <word name='callback'>
           <ref name='virConnSetErrorFunc'/>
           <ref name='virSetErrorFunc'/>
         </word>
         <word name='caller'>
+          <ref name='virDomainGetOSType'/>
           <ref name='virDomainGetXMLDesc'/>
         </word>
         <word name='calling'>
         <word name='freed'>
           <ref name='virDomainDestroy'/>
           <ref name='virDomainFree'/>
+          <ref name='virDomainGetOSType'/>
         </word>
         <word name='from'>
           <ref name='_virDomainInfo'/>
         <word name='init'>
           <ref name='_virDomainKernel'/>
         </word>
+        <word name='initializing'>
+          <ref name='virInitialize'/>
+        </word>
         <word name='instance'>
           <ref name='virDomainDestroy'/>
           <ref name='virDomainFree'/>
           <ref name='virErrorFunc'/>
           <ref name='virGetLastError'/>
           <ref name='virGetVersion'/>
+          <ref name='virInitialize'/>
           <ref name='virResetLastError'/>
           <ref name='virSetErrorFunc'/>
         </word>
         <word name='multithreaded'>
           <ref name='virConnGetLastError'/>
           <ref name='virGetLastError'/>
+          <ref name='virInitialize'/>
         </word>
         <word name='must'>
+          <ref name='virDomainGetOSType'/>
           <ref name='virDomainGetXMLDesc'/>
         </word>
       </letter>
+    </chunk>
+    <chunk name='chunk2'>
       <letter name='n'>
         <word name='name'>
           <ref name='virConnectGetType'/>
           <ref name='virDomainLookupByID'/>
         </word>
       </letter>
-    </chunk>
-    <chunk name='chunk2'>
       <letter name='o'>
         <word name='object'>
           <ref name='virDomainCreateLinux'/>
         <word name='pointing'>
           <ref name='_virDomainKernel'/>
         </word>
+        <word name='potential'>
+          <ref name='virInitialize'/>
+        </word>
         <word name='printing'>
           <ref name='virSetErrorFunc'/>
         </word>
         </word>
       </letter>
       <letter name='r'>
+        <word name='race'>
+          <ref name='virInitialize'/>
+        </word>
         <word name='raised'>
           <ref name='_virError'/>
           <ref name='virErrorFunc'/>
         </word>
         <word name='routine'>
           <ref name='virDefaultErrorFunc'/>
+          <ref name='virInitialize'/>
         </word>
         <word name='running'>
           <ref name='_virDomainInfo'/>
         <word name='software'>
           <ref name='virConnectGetType'/>
         </word>
+        <word name='startup'>
+          <ref name='virInitialize'/>
+        </word>
         <word name='state'>
           <ref name='_virDomainInfo'/>
           <ref name='virDomainResume'/>
           <ref name='virDomainSetMaxMemory'/>
           <ref name='virDomainShutdown'/>
           <ref name='virDomainSuspend'/>
+          <ref name='virInitialize'/>
         </word>
         <word name='successful'>
           <ref name='virDomainSave'/>
           <ref name='virDomainGetOSType'/>
         </word>
       </letter>
+    </chunk>
+    <chunk name='chunk3'>
       <letter name='t'>
         <word name='target'>
           <ref name='virConnCopyLastError'/>
           <ref name='virDomainGetMaxMemory'/>
           <ref name='virDomainSave'/>
           <ref name='virDomainSetMaxMemory'/>
+          <ref name='virInitialize'/>
         </word>
         <word name='those'>
           <ref name='virSetErrorFunc'/>
           <ref name='virGetVersion'/>
         </word>
       </letter>
-    </chunk>
-    <chunk name='chunk3'>
       <letter name='u'>
         <word name='unknown'>
           <ref name='virGetVersion'/>
         </word>
         <word name='when'>
           <ref name='virErrorFunc'/>
+          <ref name='virInitialize'/>
         </word>
         <word name='where'>
           <ref name='virDomainGetMaxMemory'/>
     </chunk>
     <chunks>
       <chunk name='chunk0' start='A' end='c'/>
-      <chunk name='chunk1' start='d' end='n'/>
-      <chunk name='chunk2' start='o' end='t'/>
-      <chunk name='chunk3' start='u' end='z'/>
+      <chunk name='chunk1' start='d' end='m'/>
+      <chunk name='chunk2' start='n' end='s'/>
+      <chunk name='chunk3' start='t' end='z'/>
     </chunks>
   </index>
 </apirefs>
index 2e9f995cf7640742a05f0131004ec897b184e3fe..507c857e83e858372c2e2f39e843769699c1dadf 100644 (file)
@@ -176,6 +176,8 @@ int                 virGetVersion           (unsigned long *libVer,
 /*
  * Connection and disconnections to the Hypervisor
  */
+int                    virInitialize           (void);
+
 virConnectPtr          virConnectOpen          (const char *name);
 virConnectPtr          virConnectOpenReadOnly  (const char *name);
 int                    virConnectClose         (virConnectPtr conn);
index 83e8650445a4c69a57bb105bd045234ed0cf5f12..7c4794c29f7678262775e1987449b397da2f600a 100644 (file)
@@ -176,6 +176,8 @@ int                 virGetVersion           (unsigned long *libVer,
 /*
  * Connection and disconnections to the Hypervisor
  */
+int                    virInitialize           (void);
+
 virConnectPtr          virConnectOpen          (const char *name);
 virConnectPtr          virConnectOpenReadOnly  (const char *name);
 int                    virConnectClose         (virConnectPtr conn);
index 2e9f995cf7640742a05f0131004ec897b184e3fe..507c857e83e858372c2e2f39e843769699c1dadf 100644 (file)
@@ -176,6 +176,8 @@ int                 virGetVersion           (unsigned long *libVer,
 /*
  * Connection and disconnections to the Hypervisor
  */
+int                    virInitialize           (void);
+
 virConnectPtr          virConnectOpen          (const char *name);
 virConnectPtr          virConnectOpenReadOnly  (const char *name);
 int                    virConnectClose         (virConnectPtr conn);
index 83e8650445a4c69a57bb105bd045234ed0cf5f12..7c4794c29f7678262775e1987449b397da2f600a 100644 (file)
@@ -176,6 +176,8 @@ int                 virGetVersion           (unsigned long *libVer,
 /*
  * Connection and disconnections to the Hypervisor
  */
+int                    virInitialize           (void);
+
 virConnectPtr          virConnectOpen          (const char *name);
 virConnectPtr          virConnectOpenReadOnly  (const char *name);
 int                    virConnectClose         (virConnectPtr conn);
index 430f5e88c1354e45400b63f600cd8130e761769f..69f8b10b2f6e34df97678c18603e45686d0b6d4c 100644 (file)
@@ -100,6 +100,7 @@ typedef enum {
     VIR_ERR_NO_OS, /* missing domain OS information */
     VIR_ERR_NO_DEVICE, /* missing domain devices information */
     VIR_ERR_NO_XENSTORE,/* could not open Xen Store control */
+    VIR_ERR_DRIVER_FULL /* too many drivers registered */
 } virErrorNumber;
 
 /**
index 430f5e88c1354e45400b63f600cd8130e761769f..69f8b10b2f6e34df97678c18603e45686d0b6d4c 100644 (file)
@@ -100,6 +100,7 @@ typedef enum {
     VIR_ERR_NO_OS, /* missing domain OS information */
     VIR_ERR_NO_DEVICE, /* missing domain devices information */
     VIR_ERR_NO_XENSTORE,/* could not open Xen Store control */
+    VIR_ERR_DRIVER_FULL /* too many drivers registered */
 } virErrorNumber;
 
 /**
index ce6428033db37d42d8bbaa1a0c5d6c95ddf2ace9..e5436d227f275c9b8ee4f55f1236d26ef4720a0e 100644 (file)
@@ -14,6 +14,7 @@
 #include "hash.h"
 #include "libvirt.h"
 #include "virterror.h"
+#include "driver.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -35,6 +36,19 @@ extern "C" {
 #define ATTRIBUTE_UNUSED
 #endif
 
+#ifndef __attribute__
+/* This feature is available in gcc versions 2.5 and later.  */
+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
+#  define __attribute__(Spec) /* empty */
+# endif
+/* The __-protected variants of `format' and `printf' attributes
+   are accepted by gcc versions 2.6.4 (effectively 2.7) and later.  */
+# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
+#  define __format__ format
+#  define __printf__ printf
+# endif
+#endif
+
 /**
  * TODO:
  *
index 5364e9304c077319dfe72d8216185efa91be8d72..eedf52d00d8ebdd7701d150c542d52dc7924c3ab 100644 (file)
  * - memory wrappers for malloc/free ?
  */
 
+#define MAX_DRIVERS 5
+static virDriverPtr virDriverTab[MAX_DRIVERS];
+static int initialized = 0;
+
+/**
+ * virInitialize:
+ *
+ * Initialize the library. It's better to call this routine at startup
+ * in multithreaded applications to avoid potential race when initializing
+ * the library.
+ *
+ * Returns 0 in case of success, -1 in case of error
+ */
+int
+virInitialize(void)
+{
+    int i;
+
+    if (initialized)
+        return(0);
+
+    /*
+     * should not be needed but...
+     */
+    for (i = 0;i < MAX_DRIVERS;i++) 
+         virDriverTab[i] = NULL;
+
+    /*
+     * Note that the order is important the first ones have a higher priority
+     */
+    xenHypervisorRegister();
+    xenDaemonRegister();
+    xenStoreRegister();
+    initialized = 1;
+    return(0);
+}
+
+
+
 /**
  * virLibConnError:
  * @conn: the connection if available
@@ -84,6 +123,37 @@ virLibDomainError(virDomainPtr domain, virErrorNumber error,
                     errmsg, info, NULL, 0, 0, errmsg, info);
 }
 
+/**
+ * virRegisterDriver:
+ * @driver: pointer to a driver block
+ *
+ * Register a virtualization driver
+ *
+ * Returns the driver priority or -1 in case of error.
+ */
+int
+virRegisterDriver(virDriverPtr driver)
+{
+    int i;
+
+    if (driver == NULL) {
+        virLibConnError(NULL, VIR_ERR_INVALID_ARG, __FUNCTION__);
+       return(-1);
+    }
+    for (i = 0;i < MAX_DRIVERS;i++) {
+        if (virDriverTab[i] == driver)
+           return(i);
+    }
+    for (i = 0;i < MAX_DRIVERS;i++) {
+        if (virDriverTab[i] == NULL) {
+           virDriverTab[i] = driver;
+           return(i);
+       }
+    }
+    virLibConnError(NULL, VIR_ERR_INVALID_ARG, __FUNCTION__);
+    return(-1);
+}
+
 /**
  * virGetVersion:
  * @libVer: return value for the library version (OUT)
index 95f3849940cfcefd07a1ff94f0744bfd824165a9..ba7cd75d8e1991e7310e6c549dde381e0d3b9982 100644 (file)
@@ -491,6 +491,12 @@ __virErrorMsg(virErrorNumber error, const char *info)
             else
                 errmsg = "missing devices informations for %s";
             break;
+        case VIR_ERR_DRIVER_FULL:
+            if (info == NULL)
+                errmsg = "too many drivers registered";
+            else
+                errmsg = "too many drivers registered in %s";
+            break;
     }
     return (errmsg);
 }
index 565d2c75374b6f8f963a7a7d05d8a4e64ca34c37..abda84f2e757b221c65b17c76cceab2f141240c0 100644 (file)
@@ -69,6 +69,16 @@ static virDriver xenHypervisorDriver = {
     NULL /* domainRestore */
 };
 
+/**
+ * xenHypervisorRegister:
+ *
+ * Registers the xenHypervisor driver
+ */
+void xenHypervisorRegister(void)
+{
+    virRegisterDriver(&xenHypervisorDriver);
+}
+
 /**
  * virXenError:
  * @conn: the connection if available
index fa06393f1118418250feb50708394177cc13e0e9..e47b8c5ab8d0200d847948cc032173f4a18f8129 100644 (file)
@@ -18,6 +18,7 @@
 extern "C" {
 #endif
 
+void   xenHypervisorRegister           (void);
 int    xenHypervisorOpen               (virConnectPtr conn,
                                         const char *name,
                                         int flags);
index e3ddbc0acd6d62ac6c0b82455ddf3b5accfeb310..aa2ff6b6bfcf20f3780022f62a80ba278279c794 100644 (file)
@@ -64,6 +64,16 @@ static virDriver xenDaemonDriver = {
     xenDaemonDomainRestore /* domainRestore */
 };
 
+/**
+ * xenDaemonRegister:
+ *
+ * Registers the xenDaemon driver
+ */
+void xenDaemonRegister(void)
+{
+    virRegisterDriver(&xenDaemonDriver);
+}
+
 /**
  * xend_connection_type:
  *
index 4c0317eec042da43522ac6b4ed30b4f9ad379597..25addb9a8b3635e3e061ad12b6649e9005f220b0 100644 (file)
@@ -638,6 +638,7 @@ int xenDaemonOpen_unix(virConnectPtr xend, const char *path);
     int xend_log(virConnectPtr xend, char *buffer, size_t n_buffer);
 
 /* refactored ones */
+void xenDaemonRegister(void);
 int xenDaemonOpen(virConnectPtr conn, const char *name, int flags);
 int xenDaemonClose(virConnectPtr conn);
 int xenDaemonDomainSuspend(virDomainPtr domain);
index 3898e5d166e0d433c05dd611efb03c629f132b3e..4bcba392bcc85a5c6c1a448d2ccb43ae0e07ca14 100644 (file)
@@ -59,6 +59,16 @@ static virDriver xenStoreDriver = {
     NULL /* domainRestore */
 };
 
+/**
+ * xenStoreRegister:
+ *
+ * Registers the xenStore driver
+ */
+void xenStoreRegister(void)
+{
+    virRegisterDriver(&xenStoreDriver);
+}
+
 /**
  * virXenStoreError:
  * @conn: the connection if available
index 2503d451ea2ad63a1349fc3ee4462870c00a5c2d..fdecf2bd9dfdaab5db14fe59241c443b020c3f20 100644 (file)
@@ -15,6 +15,7 @@
 extern "C" {
 #endif
 
+void   xenStoreRegister        (void);
 int    xenStoreOpen            (virConnectPtr conn,
                                 const char *name,
                                 int flags);