]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
* include/libvir.h include/libvir.h.in src/internal.h src/libvir.c:
authorDaniel Veillard <veillard@redhat.com>
Fri, 16 Dec 2005 12:16:41 +0000 (12:16 +0000)
committerDaniel Veillard <veillard@redhat.com>
Fri, 16 Dec 2005 12:16:41 +0000 (12:16 +0000)
  adding the virDomainShutdown() API
* src/virsh.c: adding a shutdown command
* docs/*: regenerated
Daniel

16 files changed:
ChangeLog
NEWS
docs/APIchunk0.html
docs/APIchunk1.html
docs/APIchunk2.html
docs/APIfiles.html
docs/APIfunctions.html
docs/APIsymbols.html
docs/html/libvir-libvir.html
docs/libvir-api.xml
docs/libvir-refs.xml
include/libvir.h
include/libvir.h.in
src/internal.h
src/libvir.c
src/virsh.c

index 61601bc1baf1b344448772a528b66e4f944aa6ff..b7d7e64478c3131c64d03066196c26afd3d898a8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Fri Dec 16 13:15:04 CET 2005 Daniel Veillard <veillard@redhat.com>
+
+       * include/libvir.h include/libvir.h.in src/internal.h src/libvir.c:
+         adding the virDomainShutdown() API
+       * src/virsh.c: adding a shutdown command
+       * docs/*: regenerated
+
 Fri Dec 16 01:43:18 CET 2005 Karel Zak <kzak@redhat.com>
 
        * include/libvir.h.in: add missing declaration of virDomainGetXMLDesc()
diff --git a/NEWS b/NEWS
index 656ec62c285546ec0da04e06240f60e88f661a2f..625216cf8baa9c8bc935b83ae244a2e9f6b40b5f 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,2 +1,5 @@
+Thu Dec 15 2005
+   - project announced publicly
+
 Wed Nov 2 2005
    - the very first work was checked in a CVS on veillard.com
index 3eb3fd7af6cf0a8aefdf590ae40193c4845f4bf5..be502808db5f837b5188c8bb12129b9b3796a42f 100644 (file)
@@ -26,6 +26,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
 <a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
 <a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
+<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
 </dd></dl><h2>Letter H:</h2><dl><dt>Hypervisor</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
 <a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
 <a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
@@ -43,6 +44,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
 <a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
 <a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
+<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
 <a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
 <a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
 <a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
@@ -57,8 +59,10 @@ A:link, A:visited, A:active { text-decoration: underline }
 </dd></dl><h2>Letter R:</h2><dl><dt>Read-Only</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
 </dd><dt>Resume</dt><dd><a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
 </dd><dt>Retrieve</dt><dd><a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
-</dd></dl><h2>Letter S:</h2><dl><dt>Suspends</dt><dd><a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
+</dd></dl><h2>Letter S:</h2><dl><dt>Shutdown</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
+</dd><dt>Suspends</dt><dd><a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
 </dd></dl><h2>Letter T:</h2><dl><dt>TODO:</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
+<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
 </dd><dt>This</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
 <a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
 <a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
@@ -86,6 +90,8 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
 <a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
 </dd><dt>add</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
+<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
+</dd><dt>after</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
 </dd><dt>against</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
 </dd><dt>alive</dt><dd><a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
 </dd><dt>all</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
@@ -114,8 +120,10 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
 </dd><dt>based</dt><dd><a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
 <a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
+</dd><dt>being</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
 </dd><dt>below</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
-</dd><dt>but</dt><dd><a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
+</dd><dt>but</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
+<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
 </dd></dl><h2>Letter c:</h2><dl><dt>call</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
 <a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
 <a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
@@ -128,26 +136,6 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
 <a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
 </dd><dt>capacities</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
-</dd><dt>case</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
-<a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
-<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
-<a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
-<a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
-<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
-<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
-<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
-<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
-<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
-<a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
-<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
-<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
-<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
-<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
-<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
-<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
-<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
-<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
-<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
 </dd><dt>change</dt><dd><a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
 </dd><dt>changes</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
 </dd><dt>check</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
@@ -176,6 +164,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 </dd><dt>deallocated</dt><dd><a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
 </dd><dt>defined</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
 </dd><dt>description</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
+</dd><dt>doable</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
 </dd><dt>does</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
 </dd><dt>domains</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
 <a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
@@ -191,6 +180,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
 <a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
 <a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
+<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
 <a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
 <a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
 </dd><dt>especially</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
@@ -206,6 +196,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
 <a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
 <a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
+<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
 <a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
 <a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
 </dd><dt>file</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
@@ -219,6 +210,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
 <a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
 <a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
+<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
 <a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
 </dd><dt>format</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
 </dd><dt>found</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
index be05b8d9ec46581bd77e4ab8a2eb97a4bb35eae7..1160e43ac3cde6e5ec15aa65c7aa972fd67157bb 100644 (file)
@@ -10,7 +10,8 @@ A:link, A:visited, A:active { text-decoration: underline }
 </style><title>API Alphabetic Index g-s for libvir</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>API Alphabetic Index g-s for libvir</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="architecture.html">libvir architecture</a></li><li><a href="libvir.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-f</a>
 <a href="APIchunk1.html">g-s</a>
 <a href="APIchunk2.html">t-z</a>
-</h2><h2>Letter g:</h2><dl><dt>get</dt><dd><a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
+</h2><h2>Letter g:</h2><dl><dt>general</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
+</dd><dt>get</dt><dd><a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
 <a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
 <a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
 <a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
@@ -52,6 +53,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 </dd><dt>kilobytes</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
 <a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
 <a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
+</dd><dt>knowing</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
 </dd></dl><h2>Letter l:</h2><dl><dt>lack</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
 </dd><dt>level</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
 <a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
@@ -70,6 +72,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
 <a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
 </dd><dt>may</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
+<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
 </dd><dt>memory</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
 <a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
 <a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
@@ -88,6 +91,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
 </dd><dt>needed</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
 </dd><dt>new</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
+<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
 <a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
 <a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
 </dd><dt>not</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
@@ -96,6 +100,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
 <a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
 <a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
+<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
 <a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
 </dd><dt>number</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
 <a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
@@ -108,16 +113,20 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
 <a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
 <a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
+<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
 <a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
 <a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
 <a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
 <a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
 <a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
+<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
 <a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
 </dd><dt>one</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
 </dd><dt>only</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
 <a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
 <a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
+</dd><dt>operation</dt><dd><a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
+</dd><dt>option</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
 </dd><dt>optional</dt><dd><a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
 <a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
 <a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
@@ -159,6 +168,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 </dd><dt>publicly</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
 </dd></dl><h2>Letter r:</h2><dl><dt>reactivate</dt><dd><a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
 </dd><dt>read-only</dt><dd><a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
+</dd><dt>reboot</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
 </dd><dt>release</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
 <a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
 </dd><dt>requires</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
@@ -195,6 +205,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
 <a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
 <a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
+<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
 </dd><dt>shutdown</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
 </dd><dt>size</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
 <a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
@@ -205,11 +216,14 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
 </dd><dt>static</dt><dd><a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
 </dd><dt>stay</dt><dd><a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
+</dd><dt>still</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
+</dd><dt>stopped</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
 </dd><dt>store</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
 <a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
 <a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
 </dd><dt>string</dt><dd><a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
 <a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
+<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
 </dd><dt>structure</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
 <a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
 <a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
@@ -221,8 +235,10 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
 <a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
 <a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
+<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
 <a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
 </dd><dt>suspended</dt><dd><a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
+</dd><dt>system</dt><dd><a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
 </dd></dl><h2 align="center"><a href="APIchunk0.html">A-f</a>
 <a href="APIchunk1.html">g-s</a>
 <a href="APIchunk2.html">t-z</a>
index 3dd0abe6cde2074c0ed1ba8be4bc370b8d042045..fdd4f86d159d0e84d87d20725624611d6fc25333 100644 (file)
@@ -20,6 +20,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
 <a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
 </dd><dt>there</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
+<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
 </dd><dt>thereafter</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
 <a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
 </dd><dt>this</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
@@ -27,13 +28,15 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
 <a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
 </dd><dt>two</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
-</dd><dt>type</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
+</dd><dt>type</dt><dd><a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
+<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
 </dd></dl><h2>Letter u:</h2><dl><dt>unimplemented</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
 </dd><dt>unknown</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
 </dd><dt>unsigned</dt><dd><a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
 </dd><dt>unused</dt><dd><a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
 <a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
 </dd><dt>usable</dt><dd><a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
+<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
 </dd><dt>used</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
 <a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
 <a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
index a57f7c865de547852300745e84e808491b46f2e4..6167b20711b59ab2f2e461d29d6a3f8150e963a3 100644 (file)
@@ -26,14 +26,15 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
 <a href="html/libvir-libvir.html#virConnectPtr">virConnectPtr</a><br />
 <a href="html/libvir-libvir.html#virDomain">virDomain</a><br />
+<a href="html/libvir-libvir.html#virDomainCreateFlags">virDomainCreateFlags</a><br />
 <a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
 <a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
-<a href="html/libvir-libvir.html#virDomainFlags">virDomainFlags</a><br />
 <a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
 <a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
 <a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
 <a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
 <a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
+<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
 <a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
 <a href="html/libvir-libvir.html#virDomainInfo">virDomainInfo</a><br />
 <a href="html/libvir-libvir.html#virDomainInfoPtr">virDomainInfoPtr</a><br />
@@ -42,6 +43,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libvir-libvir.html#virDomainPtr">virDomainPtr</a><br />
 <a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
 <a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
+<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
 <a href="html/libvir-libvir.html#virDomainState">virDomainState</a><br />
 <a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
 <a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
index 6c9d9f86e4d7c65e9d5c0f8d244ed7f456555387..eac6ba5b71fd48b25487d837a853b0d162deadd3 100644 (file)
@@ -28,8 +28,10 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
 <a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
 <a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
+<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
 <a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
 <a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
 <a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
+<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
 <a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
 </p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
index 069896aa057447ea3cee48aebca5bf5dff9cabc3..2ae907445cde3e595aca28734238f7b9c1fe6a30 100644 (file)
@@ -26,14 +26,15 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
 <a href="html/libvir-libvir.html#virConnectPtr">virConnectPtr</a><br />
 <a href="html/libvir-libvir.html#virDomain">virDomain</a><br />
+<a href="html/libvir-libvir.html#virDomainCreateFlags">virDomainCreateFlags</a><br />
 <a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
 <a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
-<a href="html/libvir-libvir.html#virDomainFlags">virDomainFlags</a><br />
 <a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
 <a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
 <a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
 <a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
 <a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
+<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
 <a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
 <a href="html/libvir-libvir.html#virDomainInfo">virDomainInfo</a><br />
 <a href="html/libvir-libvir.html#virDomainInfoPtr">virDomainInfoPtr</a><br />
@@ -42,6 +43,7 @@ A:link, A:visited, A:active { text-decoration: underline }
 <a href="html/libvir-libvir.html#virDomainPtr">virDomainPtr</a><br />
 <a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
 <a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
+<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
 <a href="html/libvir-libvir.html#virDomainState">virDomainState</a><br />
 <a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
 <a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
index 08841a39985fb72d6b97a3b95c2d28fadb1f2af2..74e64bcb1f5810031de19d11a84eae700b920586 100644 (file)
@@ -15,7 +15,7 @@ The content of this structure is not made public by the API.
 </pre><pre class="programlisting">Typedef <a href="libvir-libvir.html#virConnect">virConnect</a> * <a name="virConnectPtr" id="virConnectPtr">virConnectPtr</a>
 </pre><pre class="programlisting">Structure <a href="#virDomain">virDomain</a><br />struct _virDomain
 The content of this structure is not made public by the API.
-</pre><pre class="programlisting">Enum <a href="#virDomainFlags">virDomainFlags</a>
+</pre><pre class="programlisting">Enum <a href="#virDomainCreateFlags">virDomainCreateFlags</a>
 </pre><pre class="programlisting">Structure <a href="#virDomainInfo">virDomainInfo</a><br />struct _virDomainInfo
 </pre><pre class="programlisting">Typedef <a href="libvir-libvir.html#virDomainInfo">virDomainInfo</a> * <a name="virDomainInfoPtr" id="virDomainInfoPtr">virDomainInfoPtr</a>
 </pre><pre class="programlisting">Typedef <a href="libvir-libvir.html#virDomain">virDomain</a> * <a name="virDomainPtr" id="virDomainPtr">virDomainPtr</a>
@@ -34,11 +34,13 @@ The content of this structure is not made public by the API.
 <pre class="programlisting">int        <a href="#virDomainGetInfo">virDomainGetInfo</a>                (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain, <br />                                       <a href="libvir-libvir.html#virDomainInfoPtr">virDomainInfoPtr</a> info)</pre>
 <pre class="programlisting">unsigned long      <a href="#virDomainGetMaxMemory">virDomainGetMaxMemory</a>      (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)</pre>
 <pre class="programlisting">const char *       <a href="#virDomainGetName">virDomainGetName</a>        (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)</pre>
+<pre class="programlisting">char *     <a href="#virDomainGetOSType">virDomainGetOSType</a>            (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)</pre>
 <pre class="programlisting">char *     <a href="#virDomainGetXMLDesc">virDomainGetXMLDesc</a>          (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain, <br />                                       int flags)</pre>
 <pre class="programlisting"><a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> <a href="#virDomainLookupByID">virDomainLookupByID</a>  (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn, <br />                                       int id)</pre>
 <pre class="programlisting"><a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> <a href="#virDomainLookupByName">virDomainLookupByName</a>      (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn, <br />                                       const char * name)</pre>
 <pre class="programlisting">int        <a href="#virDomainResume">virDomainResume</a>                  (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)</pre>
 <pre class="programlisting">int        <a href="#virDomainSetMaxMemory">virDomainSetMaxMemory</a>              (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain, <br />                                       unsigned long memory)</pre>
+<pre class="programlisting">int        <a href="#virDomainShutdown">virDomainShutdown</a>              (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)</pre>
 <pre class="programlisting">int        <a href="#virDomainSuspend">virDomainSuspend</a>                (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)</pre>
 <pre class="programlisting">int        <a href="#virGetVersion">virGetVersion</a>                      (unsigned long * libVer, <br />                                  const char * type, <br />                                       unsigned long * typeVer)</pre>
 <h2>Description</h2>
@@ -49,7 +51,7 @@ The content of this structure is not made public by the API.
       a virConnectPtr is pointer to a virConnect private structure, this is the type used to reference a connection to the Xen Hypervisor in the API.
     <h3><a name="virDomain" id="virDomain">Structure virDomain</a></h3><pre class="programlisting">Structure virDomain<br />struct _virDomain {
 The content of this structure is not made public by the API.
-}</pre><h3>Enum <a name="virDomainFlags" id="virDomainFlags">virDomainFlags</a></h3><pre class="programlisting">Enum virDomainFlags {
+}</pre><h3>Enum <a name="virDomainCreateFlags" id="virDomainCreateFlags">virDomainCreateFlags</a></h3><pre class="programlisting">Enum virDomainCreateFlags {
     <a name="VIR_DOMAIN_NONE" id="VIR_DOMAIN_NONE">VIR_DOMAIN_NONE</a> = 0
 }
 </pre><h3><a name="virDomainInfo" id="virDomainInfo">Structure virDomainInfo</a></h3><pre class="programlisting">Structure virDomainInfo<br />struct _virDomainInfo {
@@ -86,7 +88,7 @@ The content of this structure is not made public by the API.
 </pre><p>This function should be called first to get a read-only connection to the xen store. The set of APIs usable are then restricted.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>optional argument currently unused, pass NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the hypervisor connection or NULL in case of error</td></tr></tbody></table></div><h3><a name="virDomainCreateLinux" id="virDomainCreateLinux"></a>Function: virDomainCreateLinux</h3><pre class="programlisting"><a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a>     virDomainCreateLinux    (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn, <br />                                       const char * kernel_path, <br />                                        const char * initrd_path, <br />                                        const char * cmdline, <br />                                    unsigned long memory, <br />                                    unsigned int flags)<br />
 </pre><p>Launch a new Linux guest domain, unimplemented yet, API to be defined. This would function requires priviledged access to the hypervisor.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><span class="term"><i><tt>kernel_path</tt></i>:</span></td><td>the file path to the kernel image</td></tr><tr><td><span class="term"><i><tt>initrd_path</tt></i>:</span></td><td>an optional file path to an initrd</td></tr><tr><td><span class="term"><i><tt>cmdline</tt></i>:</span></td><td>optional command line parameters for the kernel</td></tr><tr><td><span class="term"><i><tt>memory</tt></i>:</span></td><td>the memory size in kilobytes</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>an optional set of <a href="libvir-libvir.html#virDomainFlags">virDomainFlags</a></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new domain object or NULL in case of failure</td></tr></tbody></table></div><h3><a name="virDomainDestroy" id="virDomainDestroy"></a>Function: virDomainDestroy</h3><pre class="programlisting">int     virDomainDestroy                (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><span class="term"><i><tt>kernel_path</tt></i>:</span></td><td>the file path to the kernel image</td></tr><tr><td><span class="term"><i><tt>initrd_path</tt></i>:</span></td><td>an optional file path to an initrd</td></tr><tr><td><span class="term"><i><tt>cmdline</tt></i>:</span></td><td>optional command line parameters for the kernel</td></tr><tr><td><span class="term"><i><tt>memory</tt></i>:</span></td><td>the memory size in kilobytes</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>an optional set of virDomainFlags</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new domain object or NULL in case of failure</td></tr></tbody></table></div><h3><a name="virDomainDestroy" id="virDomainDestroy"></a>Function: virDomainDestroy</h3><pre class="programlisting">int     virDomainDestroy                (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)<br />
 </pre><p>Destroy the domain object. The running instance is shutdown if not down already and all resources used by it are given back to the hypervisor. The data structure is freed and should not be used thereafter if the call does not return an error. This function requires priviledged access to the hypervisor.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainFree" id="virDomainFree"></a>Function: virDomainFree</h3><pre class="programlisting">int     virDomainFree                   (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)<br />
 </pre><p>Free the domain object. The running instance is kept alive. The data structure is freed and should not be used thereafter.</p>
@@ -98,7 +100,9 @@ The content of this structure is not made public by the API.
 </pre><p>Retrieve the maximum amount of physical memory allocated to a domain. If domain is NULL, then this get the amount of memory reserved to Domain0 i.e. the domain where the application runs.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the memory size in kilobytes or 0 in case of error.</td></tr></tbody></table></div><h3><a name="virDomainGetName" id="virDomainGetName"></a>Function: virDomainGetName</h3><pre class="programlisting">const char *       virDomainGetName        (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)<br />
 </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="virDomainGetXMLDesc" id="virDomainGetXMLDesc"></a>Function: virDomainGetXMLDesc</h3><pre class="programlisting">char *  virDomainGetXMLDesc             (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain, <br />                                       int flags)<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>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="libvir-libvir.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="virDomainGetXMLDesc" id="virDomainGetXMLDesc"></a>Function: virDomainGetXMLDesc</h3><pre class="programlisting">char *        virDomainGetXMLDesc             (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain, <br />                                       int flags)<br />
 </pre><p>Provide an XML description of the domain. NOTE: this API is subject to changes.</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>flags</tt></i>:</span></td><td>and OR'ed set of extraction flags, not used yet</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a 0 terminated UTF-8 encoded XML instance, or NULL in case of error. the caller must free() the returned value.</td></tr></tbody></table></div><h3><a name="virDomainLookupByID" id="virDomainLookupByID"></a>Function: virDomainLookupByID</h3><pre class="programlisting"><a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a>  virDomainLookupByID     (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn, <br />                                       int id)<br />
 </pre><p>Try to find a domain based on the hypervisor ID number</p>
@@ -108,7 +112,9 @@ The content of this structure is not made public by the API.
 </pre><p>Resume an suspended domain, the process is restarted from the state where it was frozen by calling virSuspendDomain(). This function requires priviledged access to the hypervisor.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainSetMaxMemory" id="virDomainSetMaxMemory"></a>Function: virDomainSetMaxMemory</h3><pre class="programlisting">int     virDomainSetMaxMemory           (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain, <br />                                       unsigned long memory)<br />
 </pre><p>Dynamically change the maximum amount of physical memory allocated to a domain. If domain is NULL, then this change the amount of memory reserved to Domain0 i.e. the domain where the application runs. This function requires priviledged access to the hypervisor.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object or NULL</td></tr><tr><td><span class="term"><i><tt>memory</tt></i>:</span></td><td>the memory size in kilobytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainSuspend" id="virDomainSuspend"></a>Function: virDomainSuspend</h3><pre class="programlisting">int    virDomainSuspend                (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)<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 or NULL</td></tr><tr><td><span class="term"><i><tt>memory</tt></i>:</span></td><td>the memory size in kilobytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainShutdown" id="virDomainShutdown"></a>Function: virDomainShutdown</h3><pre class="programlisting">int virDomainShutdown               (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)<br />
+</pre><p>Shutdown a domain, the domain object is still usable there after but the domain OS is being stopped. TODO: should we add an option for reboot, knowing it may not be doable in the general case ?</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainSuspend" id="virDomainSuspend"></a>Function: virDomainSuspend</h3><pre class="programlisting">int    virDomainSuspend                (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)<br />
 </pre><p>Suspends an active domain, the process is frozen without further access to CPU resources and I/O but the memory used by the domain at the hypervisor level will stay allocated. Use virDomainResume() to reactivate the domain. This function requires priviledged access to the hypervisor.</p>
 <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>
index 879cbdd18f9a3b534fb6f9652b56d3bfe5d4fa8c..e8503fa91ea88b2c9737b7fcc45753c0265b7186 100644 (file)
      <exports symbol='VIR_DOMAIN_NOSTATE' type='enum'/>
      <exports symbol='virDomainInfoPtr' type='typedef'/>
      <exports symbol='virConnectPtr' type='typedef'/>
-     <exports symbol='virDomainFlags' type='typedef'/>
      <exports symbol='virDomainState' type='typedef'/>
      <exports symbol='virDomain' type='typedef'/>
      <exports symbol='virDomainPtr' type='typedef'/>
      <exports symbol='virConnect' type='typedef'/>
+     <exports symbol='virDomainCreateFlags' type='typedef'/>
      <exports symbol='virDomainInfo' type='typedef'/>
      <exports symbol='_virDomainInfo' type='struct'/>
-     <exports symbol='virDomainGetID' type='function'/>
      <exports symbol='virDomainGetInfo' type='function'/>
+     <exports symbol='virDomainShutdown' type='function'/>
      <exports symbol='virGetVersion' type='function'/>
+     <exports symbol='virDomainLookupByName' type='function'/>
+     <exports symbol='virConnectGetType' type='function'/>
      <exports symbol='virConnectListDomains' type='function'/>
-     <exports symbol='virDomainFree' type='function'/>
-     <exports symbol='virConnectOpen' type='function'/>
-     <exports symbol='virDomainDestroy' type='function'/>
-     <exports symbol='virDomainGetName' type='function'/>
      <exports symbol='virDomainLookupByID' type='function'/>
-     <exports symbol='virDomainLookupByName' type='function'/>
-     <exports symbol='virDomainCreateLinux' type='function'/>
-     <exports symbol='virDomainGetXMLDesc' type='function'/>
-     <exports symbol='virConnectClose' type='function'/>
+     <exports symbol='virDomainGetOSType' type='function'/>
      <exports symbol='virConnectNumOfDomains' type='function'/>
-     <exports symbol='virDomainResume' type='function'/>
      <exports symbol='virDomainSetMaxMemory' type='function'/>
-     <exports symbol='virDomainSuspend' type='function'/>
-     <exports symbol='virConnectOpenReadOnly' type='function'/>
-     <exports symbol='virConnectGetType' type='function'/>
      <exports symbol='virDomainGetMaxMemory' type='function'/>
      <exports symbol='virConnectGetVersion' type='function'/>
+     <exports symbol='virDomainFree' type='function'/>
+     <exports symbol='virConnectOpen' type='function'/>
+     <exports symbol='virDomainSuspend' type='function'/>
+     <exports symbol='virConnectClose' type='function'/>
+     <exports symbol='virDomainGetID' type='function'/>
+     <exports symbol='virDomainResume' type='function'/>
+     <exports symbol='virDomainCreateLinux' type='function'/>
+     <exports symbol='virDomainDestroy' type='function'/>
+     <exports symbol='virDomainGetXMLDesc' type='function'/>
+     <exports symbol='virDomainGetName' type='function'/>
+     <exports symbol='virConnectOpenReadOnly' type='function'/>
     </file>
   </files>
   <symbols>
@@ -50,7 +52,7 @@
       <info>Macro providing the version of the library as version * 1,000,000 + minor * 1000 + micro</info>
     </macro>
     <enum name='VIR_DOMAIN_BLOCKED' file='libvir' value='2' type='virDomainState' info='the domain is blocked on resource'/>
-    <enum name='VIR_DOMAIN_NONE' file='libvir' value='0' type='virDomainFlags'/>
+    <enum name='VIR_DOMAIN_NONE' file='libvir' value='0' type='virDomainCreateFlags'/>
     <enum name='VIR_DOMAIN_NOSTATE' file='libvir' value='0' type='virDomainState' info='no state'/>
     <enum name='VIR_DOMAIN_PAUSED' file='libvir' value='3' type='virDomainState' info='the domain is paused by user'/>
     <enum name='VIR_DOMAIN_RUNNING' file='libvir' value='1' type='virDomainState' info='the domain is running'/>
@@ -61,7 +63,7 @@
       <info>a virConnectPtr is pointer to a virConnect private structure, this is the type used to reference a connection to the Xen Hypervisor in the API.</info>
     </typedef>
     <struct name='virDomain' file='libvir' type='struct _virDomain'/>
-    <typedef name='virDomainFlags' file='libvir' type='enum'/>
+    <typedef name='virDomainCreateFlags' file='libvir' type='enum'/>
     <struct name='virDomainInfo' file='libvir' type='struct _virDomainInfo'>
       <field name='state' type='unsigned char' info=' the running state, one of virDomainFlags'/>
       <field name='maxMem' type='unsigned long' info=' the maximum memory in KBytes allowed'/>
       <return type='const char *' info='a pointer to the name or NULL, the string need not be deallocated its lifetime will be the same as the domain object.'/>
       <arg name='domain' type='virDomainPtr' info='a domain object'/>
     </function>
+    <function name='virDomainGetOSType' file='libvir' module='libvir'>
+      <info>Get the type of domain operation system.</info>
+      <return type='char *' info='the new string or NULL in case of error'/>
+      <arg name='domain' type='virDomainPtr' info='a domain object'/>
+    </function>
     <function name='virDomainGetXMLDesc' file='libvir' module='xml'>
       <info>Provide an XML description of the domain. NOTE: this API is subject to changes.</info>
       <return type='char *' info='a 0 terminated UTF-8 encoded XML instance, or NULL in case of error. the caller must free() the returned value.'/>
       <arg name='domain' type='virDomainPtr' info='a domain object or NULL'/>
       <arg name='memory' type='unsigned long' info='the memory size in kilobytes'/>
     </function>
+    <function name='virDomainShutdown' file='libvir' module='libvir'>
+      <info>Shutdown a domain, the domain object is still usable there after but the domain OS is being stopped.  TODO: should we add an option for reboot, knowing it may not be doable in the general case ?</info>
+      <return type='int' info='0 in case of success and -1 in case of failure.'/>
+      <arg name='domain' type='virDomainPtr' info='a domain object'/>
+    </function>
     <function name='virDomainSuspend' file='libvir' module='libvir'>
       <info>Suspends an active domain, the process is frozen without further access to CPU resources and I/O but the memory used by the domain at the hypervisor level will stay allocated. Use virDomainResume() to reactivate the domain. This function requires priviledged access to the hypervisor.</info>
       <return type='int' info='0 in case of success and -1 in case of failure.'/>
index 57a0213d97006948cb1b1afd60c23b8403ac72a6..cbc43a9d13787e8c9d88632ad762b69cc2b7de4e 100644 (file)
     <reference name='virConnectOpenReadOnly' href='html/libvir-libvir.html#virConnectOpenReadOnly'/>
     <reference name='virConnectPtr' href='html/libvir-libvir.html#virConnectPtr'/>
     <reference name='virDomain' href='html/libvir-libvir.html#virDomain'/>
+    <reference name='virDomainCreateFlags' href='html/libvir-libvir.html#virDomainCreateFlags'/>
     <reference name='virDomainCreateLinux' href='html/libvir-libvir.html#virDomainCreateLinux'/>
     <reference name='virDomainDestroy' href='html/libvir-libvir.html#virDomainDestroy'/>
-    <reference name='virDomainFlags' href='html/libvir-libvir.html#virDomainFlags'/>
     <reference name='virDomainFree' href='html/libvir-libvir.html#virDomainFree'/>
     <reference name='virDomainGetID' href='html/libvir-libvir.html#virDomainGetID'/>
     <reference name='virDomainGetInfo' href='html/libvir-libvir.html#virDomainGetInfo'/>
     <reference name='virDomainGetMaxMemory' href='html/libvir-libvir.html#virDomainGetMaxMemory'/>
     <reference name='virDomainGetName' href='html/libvir-libvir.html#virDomainGetName'/>
+    <reference name='virDomainGetOSType' href='html/libvir-libvir.html#virDomainGetOSType'/>
     <reference name='virDomainGetXMLDesc' href='html/libvir-libvir.html#virDomainGetXMLDesc'/>
     <reference name='virDomainInfo' href='html/libvir-libvir.html#virDomainInfo'/>
     <reference name='virDomainInfoPtr' href='html/libvir-libvir.html#virDomainInfoPtr'/>
@@ -36,6 +37,7 @@
     <reference name='virDomainPtr' href='html/libvir-libvir.html#virDomainPtr'/>
     <reference name='virDomainResume' href='html/libvir-libvir.html#virDomainResume'/>
     <reference name='virDomainSetMaxMemory' href='html/libvir-libvir.html#virDomainSetMaxMemory'/>
+    <reference name='virDomainShutdown' href='html/libvir-libvir.html#virDomainShutdown'/>
     <reference name='virDomainState' href='html/libvir-libvir.html#virDomainState'/>
     <reference name='virDomainSuspend' href='html/libvir-libvir.html#virDomainSuspend'/>
     <reference name='virGetVersion' href='html/libvir-libvir.html#virGetVersion'/>
       <ref name='virConnectOpenReadOnly'/>
       <ref name='virConnectPtr'/>
       <ref name='virDomain'/>
+      <ref name='virDomainCreateFlags'/>
       <ref name='virDomainCreateLinux'/>
       <ref name='virDomainDestroy'/>
-      <ref name='virDomainFlags'/>
       <ref name='virDomainFree'/>
       <ref name='virDomainGetID'/>
       <ref name='virDomainGetInfo'/>
       <ref name='virDomainGetMaxMemory'/>
       <ref name='virDomainGetName'/>
+      <ref name='virDomainGetOSType'/>
       <ref name='virDomainGetXMLDesc'/>
       <ref name='virDomainInfo'/>
       <ref name='virDomainInfoPtr'/>
@@ -83,6 +86,7 @@
       <ref name='virDomainPtr'/>
       <ref name='virDomainResume'/>
       <ref name='virDomainSetMaxMemory'/>
+      <ref name='virDomainShutdown'/>
       <ref name='virDomainState'/>
       <ref name='virDomainSuspend'/>
       <ref name='virGetVersion'/>
       <ref name='virDomainGetInfo'/>
       <ref name='virDomainGetMaxMemory'/>
       <ref name='virDomainGetName'/>
+      <ref name='virDomainGetOSType'/>
       <ref name='virDomainGetXMLDesc'/>
       <ref name='virDomainResume'/>
       <ref name='virDomainSetMaxMemory'/>
+      <ref name='virDomainShutdown'/>
       <ref name='virDomainSuspend'/>
     </type>
   </functions>
       <ref name='virConnectOpenReadOnly'/>
       <ref name='virConnectPtr'/>
       <ref name='virDomain'/>
+      <ref name='virDomainCreateFlags'/>
       <ref name='virDomainCreateLinux'/>
       <ref name='virDomainDestroy'/>
-      <ref name='virDomainFlags'/>
       <ref name='virDomainFree'/>
       <ref name='virDomainGetID'/>
       <ref name='virDomainGetInfo'/>
       <ref name='virDomainGetMaxMemory'/>
       <ref name='virDomainGetName'/>
+      <ref name='virDomainGetOSType'/>
       <ref name='virDomainGetXMLDesc'/>
       <ref name='virDomainInfo'/>
       <ref name='virDomainInfoPtr'/>
       <ref name='virDomainPtr'/>
       <ref name='virDomainResume'/>
       <ref name='virDomainSetMaxMemory'/>
+      <ref name='virDomainShutdown'/>
       <ref name='virDomainState'/>
       <ref name='virDomainSuspend'/>
       <ref name='virGetVersion'/>
           <ref name='virConnectGetVersion'/>
           <ref name='virDomainGetID'/>
           <ref name='virDomainGetName'/>
+          <ref name='virDomainGetOSType'/>
         </word>
       </letter>
       <letter name='H'>
           <ref name='virDomainCreateLinux'/>
           <ref name='virDomainGetMaxMemory'/>
           <ref name='virDomainGetName'/>
+          <ref name='virDomainGetOSType'/>
           <ref name='virDomainGetXMLDesc'/>
           <ref name='virDomainLookupByID'/>
           <ref name='virDomainLookupByName'/>
         </word>
       </letter>
       <letter name='S'>
+        <word name='Shutdown'>
+          <ref name='virDomainShutdown'/>
+        </word>
         <word name='Suspends'>
           <ref name='virDomainSuspend'/>
         </word>
       <letter name='T'>
         <word name='TODO:'>
           <ref name='_virDomainInfo'/>
+          <ref name='virDomainShutdown'/>
         </word>
         <word name='This'>
           <ref name='virConnectClose'/>
         </word>
         <word name='add'>
           <ref name='_virDomainInfo'/>
+          <ref name='virDomainShutdown'/>
+        </word>
+        <word name='after'>
+          <ref name='virDomainShutdown'/>
         </word>
         <word name='against'>
           <ref name='virGetVersion'/>
           <ref name='virDomainLookupByID'/>
           <ref name='virDomainLookupByName'/>
         </word>
+        <word name='being'>
+          <ref name='virDomainShutdown'/>
+        </word>
         <word name='below'>
           <ref name='_virDomainInfo'/>
         </word>
         <word name='but'>
+          <ref name='virDomainShutdown'/>
           <ref name='virDomainSuspend'/>
         </word>
       </letter>
         <word name='capacities'>
           <ref name='virConnectGetVersion'/>
         </word>
-        <word name='case'>
-          <ref name='virConnectClose'/>
-          <ref name='virConnectGetType'/>
-          <ref name='virConnectGetVersion'/>
-          <ref name='virConnectListDomains'/>
-          <ref name='virConnectNumOfDomains'/>
-          <ref name='virConnectOpen'/>
-          <ref name='virConnectOpenReadOnly'/>
-          <ref name='virDomainCreateLinux'/>
-          <ref name='virDomainDestroy'/>
-          <ref name='virDomainFree'/>
-          <ref name='virDomainGetID'/>
-          <ref name='virDomainGetInfo'/>
-          <ref name='virDomainGetMaxMemory'/>
-          <ref name='virDomainGetXMLDesc'/>
-          <ref name='virDomainLookupByID'/>
-          <ref name='virDomainLookupByName'/>
-          <ref name='virDomainResume'/>
-          <ref name='virDomainSetMaxMemory'/>
-          <ref name='virDomainSuspend'/>
-          <ref name='virGetVersion'/>
-        </word>
         <word name='change'>
           <ref name='virDomainSetMaxMemory'/>
         </word>
         <word name='description'>
           <ref name='virDomainGetXMLDesc'/>
         </word>
+        <word name='doable'>
+          <ref name='virDomainShutdown'/>
+        </word>
         <word name='does'>
           <ref name='virDomainDestroy'/>
         </word>
           <ref name='virDomainDestroy'/>
           <ref name='virDomainGetID'/>
           <ref name='virDomainGetMaxMemory'/>
+          <ref name='virDomainGetOSType'/>
           <ref name='virDomainGetXMLDesc'/>
           <ref name='virGetVersion'/>
         </word>
           <ref name='virDomainLookupByName'/>
           <ref name='virDomainResume'/>
           <ref name='virDomainSetMaxMemory'/>
+          <ref name='virDomainShutdown'/>
           <ref name='virDomainSuspend'/>
           <ref name='virGetVersion'/>
         </word>
           <ref name='virDomainGetID'/>
           <ref name='virDomainGetName'/>
           <ref name='virDomainLookupByName'/>
+          <ref name='virDomainShutdown'/>
           <ref name='virGetVersion'/>
         </word>
         <word name='format'>
     </chunk>
     <chunk name='chunk1'>
       <letter name='g'>
+        <word name='general'>
+          <ref name='virDomainShutdown'/>
+        </word>
         <word name='get'>
           <ref name='virConnectOpen'/>
           <ref name='virConnectOpenReadOnly'/>
           <ref name='virDomainGetMaxMemory'/>
           <ref name='virDomainSetMaxMemory'/>
         </word>
+        <word name='knowing'>
+          <ref name='virDomainShutdown'/>
+        </word>
       </letter>
       <letter name='l'>
         <word name='lack'>
         </word>
         <word name='may'>
           <ref name='virConnectGetVersion'/>
+          <ref name='virDomainShutdown'/>
         </word>
         <word name='memory'>
           <ref name='_virDomainInfo'/>
         </word>
         <word name='new'>
           <ref name='virDomainCreateLinux'/>
+          <ref name='virDomainGetOSType'/>
           <ref name='virDomainLookupByID'/>
           <ref name='virDomainLookupByName'/>
         </word>
           <ref name='virDomainFree'/>
           <ref name='virDomainGetName'/>
           <ref name='virDomainGetXMLDesc'/>
+          <ref name='virDomainShutdown'/>
           <ref name='virGetVersion'/>
         </word>
         <word name='number'>
           <ref name='virDomainGetInfo'/>
           <ref name='virDomainGetMaxMemory'/>
           <ref name='virDomainGetName'/>
+          <ref name='virDomainGetOSType'/>
           <ref name='virDomainGetXMLDesc'/>
           <ref name='virDomainLookupByID'/>
           <ref name='virDomainLookupByName'/>
           <ref name='virDomainResume'/>
           <ref name='virDomainSetMaxMemory'/>
+          <ref name='virDomainShutdown'/>
           <ref name='virDomainSuspend'/>
         </word>
         <word name='one'>
           <ref name='virConnectGetVersion'/>
           <ref name='virDomainGetInfo'/>
         </word>
+        <word name='operation'>
+          <ref name='virDomainGetOSType'/>
+        </word>
+        <word name='option'>
+          <ref name='virDomainShutdown'/>
+        </word>
         <word name='optional'>
           <ref name='virConnectOpen'/>
           <ref name='virConnectOpenReadOnly'/>
         <word name='read-only'>
           <ref name='virConnectOpenReadOnly'/>
         </word>
+        <word name='reboot'>
+          <ref name='virDomainShutdown'/>
+        </word>
         <word name='release'>
           <ref name='virConnectGetVersion'/>
           <ref name='virGetVersion'/>
           <ref name='virConnectOpenReadOnly'/>
           <ref name='virDomainDestroy'/>
           <ref name='virDomainFree'/>
+          <ref name='virDomainShutdown'/>
         </word>
         <word name='shutdown'>
           <ref name='virDomainDestroy'/>
         <word name='stay'>
           <ref name='virDomainSuspend'/>
         </word>
+        <word name='still'>
+          <ref name='virDomainShutdown'/>
+        </word>
+        <word name='stopped'>
+          <ref name='virDomainShutdown'/>
+        </word>
         <word name='store'>
           <ref name='virConnectListDomains'/>
           <ref name='virConnectOpen'/>
         <word name='string'>
           <ref name='virConnectGetType'/>
           <ref name='virDomainGetName'/>
+          <ref name='virDomainGetOSType'/>
         </word>
         <word name='structure'>
           <ref name='_virDomainInfo'/>
           <ref name='virDomainGetInfo'/>
           <ref name='virDomainResume'/>
           <ref name='virDomainSetMaxMemory'/>
+          <ref name='virDomainShutdown'/>
           <ref name='virDomainSuspend'/>
         </word>
         <word name='suspended'>
           <ref name='virDomainResume'/>
         </word>
+        <word name='system'>
+          <ref name='virDomainGetOSType'/>
+        </word>
       </letter>
     </chunk>
     <chunk name='chunk2'>
         </word>
         <word name='there'>
           <ref name='virConnectClose'/>
+          <ref name='virDomainShutdown'/>
         </word>
         <word name='thereafter'>
           <ref name='virDomainDestroy'/>
           <ref name='virGetVersion'/>
         </word>
         <word name='type'>
+          <ref name='virDomainGetOSType'/>
           <ref name='virGetVersion'/>
         </word>
       </letter>
         </word>
         <word name='usable'>
           <ref name='virConnectOpenReadOnly'/>
+          <ref name='virDomainShutdown'/>
         </word>
         <word name='used'>
           <ref name='_virDomainInfo'/>
index c8bbe5df56406cbfe4eeabce107644a6f20f0beb..ba612e1f7d585361360105792c0e2dc027c973c4 100644 (file)
@@ -100,14 +100,14 @@ struct _virDomainInfo {
 typedef virDomainInfo *virDomainInfoPtr;
 
 /**
- * virDomainFlags:
+ * virDomainCreateFlags:
  *
  * Flags OR'ed together to provide specific behaviour when creating a
  * Domain.
  */
 typedef enum {
      VIR_DOMAIN_NONE = 0
-} virDomainFlags;
+} virDomainCreateFlags;
 
 /* library versionning */
 
@@ -160,6 +160,7 @@ virDomainPtr                virDomainLookupByName   (virConnectPtr conn,
                                                 const char *name);
 virDomainPtr           virDomainLookupByID     (virConnectPtr conn,
                                                 int id);
+int                    virDomainShutdown       (virDomainPtr domain);
 int                    virDomainDestroy        (virDomainPtr domain);
 int                    virDomainFree           (virDomainPtr domain);
 
@@ -174,17 +175,20 @@ int                       virDomainResume         (virDomainPtr domain);
  */
 int                    virDomainGetInfo        (virDomainPtr domain,
                                                 virDomainInfoPtr info);
-char *                 virDomainGetXMLDesc     (virDomainPtr domain,
-                                                int flags);
                                                 
 /*
  * Dynamic control of domains
  */
 const char *           virDomainGetName        (virDomainPtr domain);
 unsigned int           virDomainGetID          (virDomainPtr domain);
+char *                 virDomainGetOSType      (virDomainPtr domain);
 unsigned long          virDomainGetMaxMemory   (virDomainPtr domain);
 int                    virDomainSetMaxMemory   (virDomainPtr domain,
                                                 unsigned long memory);
+/*
+ * XML domain description
+ */
+char *                 virDomainGetXMLDesc     (virDomainPtr domain, int flags);
 
 #ifdef __cplusplus
 }
index f560e9db35ee45cb3306b79c8eb6675a7769c3a9..3dc9e0d2cf6a4df5b63ea02fa4db384054354a40 100644 (file)
@@ -100,14 +100,14 @@ struct _virDomainInfo {
 typedef virDomainInfo *virDomainInfoPtr;
 
 /**
- * virDomainFlags:
+ * virDomainCreateFlags:
  *
  * Flags OR'ed together to provide specific behaviour when creating a
  * Domain.
  */
 typedef enum {
      VIR_DOMAIN_NONE = 0
-} virDomainFlags;
+} virDomainCreateFlags;
 
 /* library versionning */
 
@@ -160,6 +160,7 @@ virDomainPtr                virDomainLookupByName   (virConnectPtr conn,
                                                 const char *name);
 virDomainPtr           virDomainLookupByID     (virConnectPtr conn,
                                                 int id);
+int                    virDomainShutdown       (virDomainPtr domain);
 int                    virDomainDestroy        (virDomainPtr domain);
 int                    virDomainFree           (virDomainPtr domain);
 
index a4c1d14889b52c080b3af06fe16bf2541bfa2754..873e5db5a202e9bbf1db7ce89cbbaca5138be84a 100644 (file)
@@ -71,6 +71,16 @@ struct _virConnect {
     int          flags;                /* a set of connection flags */
 };
 
+/**
+ * virDomainFlags:
+ *
+ * a set of special flag values associated to the domain
+ */
+
+enum {
+    DOMAIN_IS_SHUTDOWN = (1 << 0)      /* the domain is being shutdown */
+} virDomainFlags;
+
 /**
  * _virDomain:
  *
@@ -82,6 +92,7 @@ struct _virDomain {
     char        *name;         /* the domain external name */
     char        *path;         /* the domain internal path */
     int                 handle;        /* internal handle for the dmonain ID */
+    int          flags;                /* extra flags */
 };
 
 /*
index 937468b0da2a3453ebbf6e05528c233b2e0111e6..218cf13d1616b7c85a9f846b2a1be2ee2aea44c2 100644 (file)
@@ -467,6 +467,46 @@ done:
 }
 
 
+/**
+ * virDomainDoStoreWrite:
+ * @domain: a domain object
+ * @path: the relative path of the data in the store to retrieve
+ *
+ * Internal API setting up a string value in the Xenstore
+ * Requires write access to the XenStore
+ *
+ * Returns 0 in case of success, -1 in case of failure
+ */
+static int
+virDomainDoStoreWrite(virDomainPtr domain, const char *path,
+                      const char *value) {
+    struct xs_transaction_handle* t;
+    char s[256];
+
+    int ret = -1;
+
+    if ((domain == NULL) || (domain->magic != VIR_DOMAIN_MAGIC))
+       return(-1);
+    if ((domain->conn == NULL) || (domain->conn->flags & VIR_CONNECT_RO))
+        return(-1);
+
+
+    snprintf(s, 255, "/local/domain/%d/%s", domain->handle, path);
+    s[255] = 0;
+
+    t = xs_transaction_start(domain->conn->xshandle);
+    if (t == NULL)
+        goto done;
+
+    if (xs_write(domain->conn->xshandle, t, &s[0], value, strlen(value)))
+        ret = 0;
+
+done:
+    if (t != NULL)
+       xs_transaction_end(domain->conn->xshandle, t, 0);
+    return(ret);
+}
+
 /**
  * virDomainGetVM:
  * @domain: a domain object
@@ -741,6 +781,37 @@ virDomainResume(virDomainPtr domain) {
     return(xenHypervisorResumeDomain(domain->conn->handle, domain->handle));
 }
 
+/**
+ * virDomainShutdown:
+ * @domain: a domain object
+ *
+ * Shutdown a domain, the domain object is still usable there after but
+ * the domain OS is being stopped.
+ *
+ * TODO: should we add an option for reboot, knowing it may not be doable
+ *       in the general case ?
+ *
+ * Returns 0 in case of success and -1 in case of failure.
+ */
+int
+virDomainShutdown(virDomainPtr domain) {
+    int ret;
+
+    if ((domain == NULL) || (domain->magic != VIR_DOMAIN_MAGIC))
+        return(-1);
+    if ((domain->conn == NULL) || (domain->conn->magic != VIR_CONNECT_MAGIC))
+        return(-1);
+    /*
+     * this is very hackish, the domU kernel probes for a special 
+     * node in the xenstore and launch the shutdown command if found.
+     */
+    ret = virDomainDoStoreWrite(domain, "control/shutdown", "halt");
+    if (ret == 0) {
+        domain->flags |= DOMAIN_IS_SHUTDOWN;
+    }
+    return(ret);
+}
+
 /**
  * virDomainGetName:
  * @domain: a domain object
index bc0e038e6c7d052b92cc5cc879fba9f62bfe9f87..f74f24753faf15c2d96ba891f11dfa0704bea447 100644 (file)
@@ -424,6 +424,44 @@ cmdResume(vshControl *ctl, vshCmd *cmd) {
     return ret;
 }
 
+/*
+ * "shutdown" command
+ */
+static vshCmdInfo info_shutdown[] = {
+    { "syntax",  "shutdown <domain>" },
+    { "help",    "gracefully shutdown a domain" },
+    { "desc",    "Run shutdown in the targetted domain" },
+    { NULL, NULL }
+};
+
+static vshCmdOptDef opts_shutdown[] = {
+    { "domain",  VSH_OT_DATA, 0, "domain name or id" },
+    { NULL, 0, 0, NULL }
+};
+
+static int
+cmdShutdown(vshControl *ctl, vshCmd *cmd) {
+    virDomainPtr dom;
+    int ret = TRUE;
+    char *name;
+    
+    if (!vshConnectionUsability(ctl, ctl->conn, TRUE))
+        return FALSE;
+
+    if (!(dom = vshCommandOptDomain(ctl, cmd, "domain", &name)))
+        return FALSE;
+    
+    if (virDomainShutdown(dom)==0) {
+        vshPrint(ctl, VSH_MESG, "Domain %s is being shutdown\n", name);
+    } else {
+        vshError(ctl, FALSE, "Failed to shutdown domain\n");
+        ret = FALSE;
+    }
+        
+    virDomainFree(dom);
+    return ret;
+}
+
 /*
  * "destroy" command
  */
@@ -743,6 +781,7 @@ static vshCmdDef commands[] = {
     { "dstate",     cmdDstate,     opts_dstate,    info_dstate },
     { "suspend",    cmdSuspend,    opts_suspend,   info_suspend },
     { "resume",     cmdResume,     opts_resume,    info_resume },
+    { "shutdown",   cmdShutdown,   opts_shutdown,  info_shutdown },
     { "destroy",    cmdDestroy,    opts_destroy,   info_destroy },
     { "help",       cmdHelp,       opts_help,      info_help },
     { "idof",       cmdIdof,       opts_idof,      info_idof },