]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
* NEWS configure.in doc//* include/libvirt/libvirt.h LIBVIRT_0_1_4 v0.1.4
authorDaniel Veillard <veillard@redhat.com>
Wed, 16 Aug 2006 17:58:23 +0000 (17:58 +0000)
committerDaniel Veillard <veillard@redhat.com>
Wed, 16 Aug 2006 17:58:23 +0000 (17:58 +0000)
  include/libvirt/libvirt.h.in: preparing release of 0.1.4,
  regenerated docs, fixed a few things
* src/proxy_internal.c src/test.c src/xend_internal.c:
  a few trivial fixes
Daniel

23 files changed:
ChangeLog
NEWS
configure.in
docs/APIchunk0.html
docs/APIchunk1.html
docs/APIchunk2.html
docs/APIchunk3.html
docs/APIfiles.html
docs/APIsymbols.html
docs/devhelp/libvirt-libvirt.html
docs/devhelp/libvirt-virterror.html
docs/format.html
docs/html/libvirt-libvirt.html
docs/html/libvirt-virterror.html
docs/libvir.html
docs/libvirt-api.xml
docs/libvirt-refs.xml
docs/news.html
include/libvirt/libvirt.h
include/libvirt/libvirt.h.in
src/proxy_internal.c
src/test.c
src/xend_internal.c

index dc581bc27801342f47971ace9a719273136e1214..b359a6bb9a482a988ad0506c8211469de4be2750 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Wed Aug 16 19:07:52 CEST 2006 Daniel Veillard <veillard@redhat.com>
+
+       * NEWS configure.in doc//* include/libvirt/libvirt.h 
+         include/libvirt/libvirt.h.in: preparing release of 0.1.4,
+         regenerated docs, fixed a few things
+       * src/proxy_internal.c src/test.c src/xend_internal.c:
+         a few trivial fixes
+
 Wed Aug 16 12:33:02 EDT 2006 Daniel Berrange <berrange@redhat.com>
 
        * src/virsh.c: Added 'setvcpus', 'setmem', 'setmaxmem'
diff --git a/NEWS b/NEWS
index 2674a7b147779ca7b3c18af47a33ebdb3aae75db..6ddc5dfc6a0bf7d8f10303171b7ed9d3df947d6b 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -5,11 +5,29 @@
        http://libvirt.org/news.html
 
 Releases
+0.1.4: Aug 16 2006:
+   - bug fixes: spec file fix (Mark McLoughlin), error report problem (with
+    Hugh Brock), long integer in Python bindings (with Daniel Berrange), XML
+    generation bug for CDRom (Daniel Berrange), bug whem using number() XPath
+    function (Mark McLoughlin), fix python detection code, remove duplicate
+    initialization errors (Daniel Berrange)
+   - improvements: UUID in XML description (Peter Vetere), proxy code
+    cleanup, virtual CPU and affinity support + virsh support (Michel
+    Ponceau, Philippe Berthault, Daniel Berrange), port and tty informations
+    for console in XML (Daniel Berrange), added XML dump to driver and proxy
+    support (Daniel Berrange), extention of boot options with support for
+    floppy and cdrom (Daniel Berrange), features block in XML to report/ask
+    PAE, ACPI, APIC for HVM domains (Daniel Berrange), fail saide-effect
+    operations when using read-only connection, large improvements to test
+    driver (Daniel Berrange) 
+   - documentation: spelling (Daniel Berrange), test driver examples.
+
+
 0.1.3: Jul 11 2006:
    - bugfixes: build as non-root, fix xend access when root, handling of
     empty XML elements (Mark McLoughlin), XML serialization and parsing fixes
     (Mark McLoughlin), allow to create domains without disk (Mark
-    McLoughlin), 
+  McLoughlin),
    - improvement: xenDaemonLookupByID from O(n^2) to O(n) (Daniel Berrange),
     support for fully virtualized guest (Jim Fehlig, DV, Mark McLoughlin)
    - documentation: augmented to cover hvm domains
index e0229abfa774fe03aab1e928b5866449074d41c6..e29b8cf1c06d1ee9da141dc733a5348baa2ba665 100644 (file)
@@ -5,7 +5,7 @@ AC_CANONICAL_HOST
 
 LIBVIRT_MAJOR_VERSION=0
 LIBVIRT_MINOR_VERSION=1
-LIBVIRT_MICRO_VERSION=3
+LIBVIRT_MICRO_VERSION=4
 LIBVIRT_MICRO_VERSION_SUFFIX=
 LIBVIRT_VERSION=$LIBVIRT_MAJOR_VERSION.$LIBVIRT_MINOR_VERSION.$LIBVIRT_MICRO_VERSION$LIBVIRT_MICRO_VERSION_SUFFIX
 LIBVIRT_VERSION_INFO=`expr $LIBVIRT_MAJOR_VERSION + $LIBVIRT_MINOR_VERSION`:$LIBVIRT_MICRO_VERSION:$LIBVIRT_MINOR_VERSION
index 57e66e2e721b594d02e30f64b399869ba330e7ee..ddb62280352aca347c7a125268146e48dab7720a 100644 (file)
@@ -6,6 +6,7 @@
 <a href="APIchunk3.html">o-s</a>
 <a href="APIchunk4.html">t-z</a>
 </h2><h2>Letter A:</h2><dl><dt>API</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
+<a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
 <a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
 <a href="html/libvirt-libvirt.html#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a><br />
 <a href="html/libvirt-libvirt.html#VIR_USE_CPU">VIR_USE_CPU</a><br />
@@ -15,7 +16,8 @@
 <a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
 </dd><dt>After</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
 </dd></dl><h2>Letter B:</h2><dl><dt>Bytes</dt><dd><a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
-</dd></dl><h2>Letter C:</h2><dl><dt>CPU</dt><dd><a href="html/libvirt-libvirt.html#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a><br />
+</dd></dl><h2>Letter C:</h2><dl><dt>CPU</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
+<a href="html/libvirt-libvirt.html#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a><br />
 <a href="html/libvirt-libvirt.html#VIR_USE_CPU">VIR_USE_CPU</a><br />
 <a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
 <a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
 <a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
 <a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
 </dd><dt>CPU0-7</dt><dd><a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
-</dd><dt>CPUs</dt><dd><a href="html/libvirt-libvirt.html#VIR_NODEINFO_MAXCPUS">VIR_NODEINFO_MAXCPUS</a><br />
+</dd><dt>CPUs</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
+<a href="html/libvirt-libvirt.html#VIR_NODEINFO_MAXCPUS">VIR_NODEINFO_MAXCPUS</a><br />
 <a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
 <a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
+<a href="">cpu</a><br />
 <a href="">cpumap</a><br />
 <a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
 <a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
 </dd><dt>Suspends</dt><dd><a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
 </dd></dl><h2>Letter T:</h2><dl><dt>TODO:</dt><dd><a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
 </dd><dt>This</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
+<a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
 <a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
 <a href="html/libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a><br />
 <a href="html/libvirt-libvirt.html#VIR_NODEINFO_MAXCPUS">VIR_NODEINFO_MAXCPUS</a><br />
 <a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
 </dd><dt>against</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
 </dd><dt>alive</dt><dd><a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
-</dd><dt>all</dt><dd><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
+</dd><dt>all</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
+<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
 <a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
 </dd><dt>allocated</dt><dd><a href="">cpumap</a><br />
 <a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
index 6e1a83abc3a95280789f0998452503408c0291d3..223c183ce1df835128a9af695a3f51efca3d41db 100644 (file)
@@ -18,6 +18,7 @@
 <a href="html/libvirt-virterror.html#virErrorFunc">virErrorFunc</a><br />
 <a href="html/libvirt-virterror.html#virResetError">virResetError</a><br />
 </dd><dt>better</dt><dd><a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
+</dd><dt>between</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
 </dd><dt>bit</dt><dd><a href="html/libvirt-libvirt.html#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a><br />
 <a href="html/libvirt-libvirt.html#VIR_USE_CPU">VIR_USE_CPU</a><br />
 <a href="">cpumap</a><br />
@@ -33,7 +34,8 @@
 <a href="html/libvirt-libvirt.html#virDomainUndefine">virDomainUndefine</a><br />
 <a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
 </dd><dt>byte</dt><dd><a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
-</dd><dt>bytes</dt><dd><a href="">cpumap</a><br />
+</dd><dt>bytes</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
+<a href="">cpumap</a><br />
 <a href="">cpumaps</a><br />
 <a href="">maplen</a><br />
 <a href="html/libvirt-libvirt.html#virDomainGetUUID">virDomainGetUUID</a><br />
@@ -86,7 +88,9 @@
 </dd><dt>collect</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
 </dd><dt>command</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
 </dd><dt>compiled</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
+</dd><dt>complete</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
 </dd><dt>conjonction</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
+<a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
 <a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
 <a href="html/libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a><br />
 <a href="html/libvirt-libvirt.html#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a><br />
index 5a1e5f6e7fa5c3480fb8ec1017e8500594e425da..2cd8b3c0d3d330f5846eb3fec6b725abd8a6e642 100644 (file)
@@ -79,7 +79,8 @@
 <a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
 </dd><dt>launch</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreate">virDomainCreate</a><br />
 </dd><dt>least</dt><dd><a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
-</dd><dt>length</dt><dd><a href="">maplen</a><br />
+</dd><dt>length</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
+<a href="">maplen</a><br />
 </dd><dt>level</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
 <a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
 <a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
 <a href="html/libvirt-libvirt.html#virDomainLookupByUUIDString">virDomainLookupByUUIDString</a><br />
 </dd><dt>lowest</dt><dd><a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
 </dd></dl><h2>Letter m:</h2><dl><dt>macro</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
+<a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
 <a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
 <a href="html/libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a><br />
 <a href="html/libvirt-libvirt.html#VIR_NODEINFO_MAXCPUS">VIR_NODEINFO_MAXCPUS</a><br />
 </dd><dt>major</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
 <a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
 </dd><dt>malloc</dt><dd><a href="">cpumap</a><br />
-</dd><dt>map</dt><dd><a href="">cpumap</a><br />
+</dd><dt>map</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
+<a href="">cpumap</a><br />
 <a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
 <a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
 </dd><dt>maplen</dt><dd><a href="">cpumap</a><br />
index 5d9ea8f879cc225093791df59429dc9f7e69a744..ac1dbbe9343c9ea79d63da4583a924867ab48091 100644 (file)
@@ -66,7 +66,8 @@
 </dd><dt>path</dt><dd><a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
 <a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
 </dd><dt>per</dt><dd><a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
-</dd><dt>physical</dt><dd><a href="">cpu</a><br />
+</dd><dt>physical</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
+<a href="">cpu</a><br />
 <a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
 <a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
 <a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
 </dd><dt>reporting</dt><dd><a href="html/libvirt-virterror.html#virDefaultErrorFunc">virDefaultErrorFunc</a><br />
 </dd><dt>request</dt><dd><a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
 <a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
+</dd><dt>required</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
 </dd><dt>requires</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
 <a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
 <a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
 <a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
 <a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
 <a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
-</dd><dt>returns</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
+</dd><dt>returns</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
+<a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
 <a href="html/libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a><br />
 <a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
 </dd><dt>reused</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
 </dd><dt>shutdown</dt><dd><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
 </dd><dt>significant</dt><dd><a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
 </dd><dt>similar</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
+</dd><dt>single</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
 </dd><dt>size</dt><dd><a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
 <a href="html/libvirt-libvirt.html#virConnectListDefinedDomains">virConnectListDefinedDomains</a><br />
 <a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
 </dd><dt>stop</dt><dd><a href="html/libvirt-libvirt.html#virDomainUndefine">virDomainUndefine</a><br />
 </dd><dt>stopped</dt><dd><a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
 <a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
-</dd><dt>store</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDefinedDomains">virConnectListDefinedDomains</a><br />
+</dd><dt>store</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
+<a href="html/libvirt-libvirt.html#virConnectListDefinedDomains">virConnectListDefinedDomains</a><br />
 <a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
 <a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
 <a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
index 57bad96397b76e74982d437caf9c923ccf6fd8b9..5b6c892f72bba717bbc31328ff6baa8397263023 100644 (file)
 <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_DENIED">VIR_ERR_OPERATION_DENIED</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 />
 <a href="html/libvirt-virterror.html#VIR_ERR_POST_FAILED">VIR_ERR_POST_FAILED</a><br />
index b8642546f5e72a271145e6bbe8e4af4e2e51f055..5f32e8e512a4cb30d63481e20183a9a6dbaf16c8 100644 (file)
@@ -44,6 +44,7 @@
 <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_DENIED">VIR_ERR_OPERATION_DENIED</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 />
 <a href="html/libvirt-virterror.html#VIR_ERR_POST_FAILED">VIR_ERR_POST_FAILED</a><br />
index b17c5c7c1a8a8994a20ecc5f08fed8f1be048aee..5396234f2c1d471de1cdbff52ca6b6a50232edbf 100644 (file)
@@ -41,7 +41,7 @@
       <pre class="synopsis">#define <a href="#VIR_NODEINFO_MAXCPUS">VIR_NODEINFO_MAXCPUS</a>(nodeinfo);
 #define <a href="#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a>;
 #define <a href="#VIR_USE_CPU">VIR_USE_CPU</a>(cpumap, cpu);
-#define <a href="#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a>;
+#define <a href="#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a>(cpu);
 #define <a href="#VIR_CPU_USABLE">VIR_CPU_USABLE</a>(cpumaps, maplen, vcpu, cpu);
 #define <a href="#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a>(cpumaps, maplen, vcpu, cpumap);
 #define <a href="#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a>(cpumaps, maplen, vcpu);
@@ -119,8 +119,8 @@ const char *        <a href="#virDomainGetName">virDomainGetName</a>        (<a href="libvirt-
 </pre><p>This macro is to be used in conjonction with virDomainGetVcpus() and virDomainPinVcpu() APIs. <a href="libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a> macro extract the cpumap of the specified vcpu from cpumaps array and copy it into cpumap to be used later by virDomainPinVcpu() API.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cpumaps</tt></i>:</span></td><td>pointer to an array of cpumap (in 8-bit bytes) (IN)</td></tr><tr><td><span class="term"><i><tt>maplen</tt></i>:</span></td><td>the length (in bytes) of one cpumap</td></tr><tr><td><span class="term"><i><tt>vcpu</tt></i>:</span></td><td>the virtual CPU number</td></tr><tr><td><span class="term"><i><tt>cpumap</tt></i>:</span></td><td>pointer to a cpumap (in 8-bit bytes) (OUT) This cpumap must be previously allocated by the caller (ie: malloc(maplen))</td></tr></tbody></table></div>
 </div>
         <hr/>
-        <div class="refsect2" lang="en"><h3><a name="VIR_CPU_MAPLEN">Macro </a>VIR_CPU_MAPLEN</h3><pre class="programlisting">#define <a href="#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a>;
-</pre><p/>
+        <div class="refsect2" lang="en"><h3><a name="VIR_CPU_MAPLEN">Macro </a>VIR_CPU_MAPLEN</h3><pre class="programlisting">#define <a href="#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a>(cpu);
+</pre><p>This macro is to be used in conjonction with virDomainPinVcpu() API. It returns the length (in bytes) required to store the complete CPU map between a single virtual &amp; all physical CPUs of a domain.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cpu</tt></i>:</span></td><td>number of physical CPUs</td></tr></tbody></table></div>
 </div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="VIR_CPU_USABLE">Macro </a>VIR_CPU_USABLE</h3><pre class="programlisting">#define <a href="#VIR_CPU_USABLE">VIR_CPU_USABLE</a>(cpumaps, maplen, vcpu, cpu);
index d775372311f820b3d81d738787fe580675af13da..08719e49bd8c952e23d8d25e66c9c982f8aafd4c 100644 (file)
@@ -129,7 +129,8 @@ void        <a href="#virConnResetLastError">virConnResetLastError</a>              (<a href="libvi
     <a name="VIR_ERR_DRIVER_FULL">VIR_ERR_DRIVER_FULL</a> = 25 /* too many drivers registered */
     <a name="VIR_ERR_CALL_FAILED">VIR_ERR_CALL_FAILED</a> = 26 /* not supported by the drivers */
     <a name="VIR_ERR_XML_ERROR">VIR_ERR_XML_ERROR</a> = 27 /* an XML description is not well formed or broken */
-    <a name="VIR_ERR_DOM_EXIST">VIR_ERR_DOM_EXIST</a> = 28 /*  the domain already exist */
+    <a name="VIR_ERR_DOM_EXIST">VIR_ERR_DOM_EXIST</a> = 28 /* the domain already exist */
+    <a name="VIR_ERR_OPERATION_DENIED">VIR_ERR_OPERATION_DENIED</a> = 29 /*  operation forbidden on read-only connections */
 };
 </pre><p/>
 </div>
index 64a6f2da6fb7367f71c8fb1eb8762df007575de0..1edc2c67bb13c057642906be49671e8032c7fcf4 100644 (file)
@@ -48,30 +48,30 @@ significant:</p><ul><li>name: the domain name, preferably ASCII based</li>
       <li>root: the root filesystem from the guest viewpoint, it may be
         passed as part of the cmdline content too</li>
     </ul></li>
-  <li>devices: a list of <code>disk</code>, <code>interface</code>
-    and <code>console</code> descriptions in no special order</li>
+  <li>devices: a list of <code>disk</code>, <code>interface</code> and
+    <code>console</code> descriptions in no special order</li>
 </ul><p>The format of the devices and their type may grow over time, but the
-following should be sufficient for basic use:</p><p>A <code>disk</code> device indicates a block device, it can have two values for the
-type attribute either 'file' or 'block' corresponding to the 2 options
-availble at the Xen layer. It has two mandatory children, and one optional
-one in no specific order:</p><ul><li>source with a file attribute containing the path in Domain 0 to the
+following should be sufficient for basic use:</p><p>A <code>disk</code> device indicates a block device, it can have two
+values for the type attribute either 'file' or 'block' corresponding to the 2
+options availble at the Xen layer. It has two mandatory children, and one
+optional one in no specific order:</p><ul><li>source with a file attribute containing the path in Domain 0 to the
     file or a dev attribute if using a block device, containing the device
     name ('hda5' or '/dev/hda5')</li>
   <li>target indicates in a dev attribute the device where it is mapped in
     the guest</li>
   <li>readonly an optional empty element indicating the device is
   read-only</li>
-</ul><p>An <code>interface</code> element describes a network device mapped on the guest, it
-also has a type whose value is currently 'bridge', it also have a number of
-children in no specific order:</p><ul><li>source: indicating the bridge name</li>
+</ul><p>An <code>interface</code> element describes a network device mapped on the
+guest, it also has a type whose value is currently 'bridge', it also have a
+number of children in no specific order:</p><ul><li>source: indicating the bridge name</li>
   <li>mac: the optional mac address provided in the address attribute</li>
   <li>ip: the optional IP address provided in the address attribute</li>
   <li>script: the script used to bridge the interfcae in the Domain 0</li>
   <li>target: and optional target indicating the device name.</li>
-</ul><p>A <code>console</code> element describes a serial console connection to the
-guest. It has no children, and a single attribute <code>tty</code> which provides
-the path to the Pseudo TTY on which the guest console can be accessed
-</p><p>Life cycle actions for the domain can also be expressed in the XML format,
+</ul><p>A <code>console</code> element describes a serial console connection to
+the guest. It has no children, and a single attribute <code>tty</code> which
+provides the path to the Pseudo TTY on which the guest console can be
+accessed</p><p>Life cycle actions for the domain can also be expressed in the XML format,
 they drive what should be happening if the domain crashes, is rebooted or is
 poweroff. There is various actions possible when this happen:</p><ul><li>destroy: The domain is cleaned up (that's the default normal processing
     in Xen)</li>
@@ -133,43 +133,45 @@ systems:</p><pre>&lt;domain type='xen' id='3'&gt;
     &lt;/disk&gt;
     <span style="color: #0000E5; background-color: #FFFFFF">&lt;graphics type='vnc' port='5904'/&gt;</span>
   &lt;/devices&gt;
-&lt;/domain&gt;</pre><p>There is a few things to notice specifically for HVM domains:</p><ul><li>the optional <code>&lt;features&gt;</code> block is used to enable certain
-    guest CPU / system features. For HVM guests the following features are defined:
+&lt;/domain&gt;</pre><p>There is a few things to notice specifically for HVM domains:</p><ul><li>the optional <code>&lt;features&gt;</code> block is used to enable
+    certain guest CPU / system features. For HVM guests the following
+    features are defined:
     <ul><li><code>pae</code> - enable PAE memory addressing</li>
-    <li><code>apic</code> - enable IO APIC</li>
-    <li><code>acpi</code> - enable ACPI bios</li>
+      <li><code>apic</code> - enable IO APIC</li>
+      <li><code>acpi</code> - enable ACPI bios</li>
     </ul></li>
-  <li>the <code>&lt;os&gt;</code> block description is very different, first it indicates
-    that the type is 'hvm' for hardware virtualization, then instead of a
-    kernel, boot and command line arguments, it points to an os boot loader
-    which will extract the boot informations from the boot device specified
-    in a separate boot element. The <code>dev</code> attribute on the <code>boot</code>
-    tag can be one of:
+  <li>the <code>&lt;os&gt;</code> block description is very different, first
+    it indicates that the type is 'hvm' for hardware virtualization, then
+    instead of a kernel, boot and command line arguments, it points to an os
+    boot loader which will extract the boot informations from the boot device
+    specified in a separate boot element. The <code>dev</code> attribute on
+    the <code>boot</code> tag can be one of:
     <ul><li><code>fd</code> - boot from first floppy device</li>
-    <li><code>hd</code> - boot from first harddisk device</li>
-    <li><code>cdrom</code> - boot from first cdrom device</li>
+      <li><code>hd</code> - boot from first harddisk device</li>
+      <li><code>cdrom</code> - boot from first cdrom device</li>
     </ul></li>
-  <li>the <code>&lt;devices&gt;</code> section includes an emulator entry pointing to an
-    additional program in charge of emulating the devices</li>
+  <li>the <code>&lt;devices&gt;</code> section includes an emulator entry
+    pointing to an additional program in charge of emulating the devices</li>
   <li>the disk entry indicates in the dev target section that the emulation
     for the drive is the first IDE disk device hda. The list of device names
-    supported is dependant on the Hypervisor, but for Xen it can be any IDE 
-    device <code>hda</code>-<code>hdd</code>, or a floppy device <code>fda</code>,
-    <code>fdb</code>. The <code>&lt;disk&gt;</code> element also supports a 'device' 
-    attribute to indicate what kinda of hardware to emulate. The following values are 
-    supported:
+    supported is dependant on the Hypervisor, but for Xen it can be any IDE
+    device <code>hda</code>-<code>hdd</code>, or a floppy device
+    <code>fda</code>, <code>fdb</code>. The <code>&lt;disk&gt;</code> element
+    also supports a 'device' attribute to indicate what kinda of hardware to
+    emulate. The following values are supported:
     <ul><li><code>floppy</code> - a floppy disk controller</li>
-    <li><code>disk</code> - a generic hard drive (the default it omitted)</li>
-    <li><code>cdrom</code> - a CDROM device</li>
+      <li><code>disk</code> - a generic hard drive (the default it
+      omitted)</li>
+      <li><code>cdrom</code> - a CDROM device</li>
     </ul>
     For Xen 3.0.2 and earlier a CDROM device can only be emulated on the
-    <code>hdc</code> channel, while for 3.0.3 and later, it can be emulated on
-    any IDE channel.</li>
-  <li>the <code>&lt;devices&gt;</code> section also include at least one entry for the
-    graphic device used to render the os. Currently there is just 2 types
-    possible 'vnc' or 'sdl'. If the type is 'vnc', then an additional <code>port</code>
-    attribute will be present indicating the TCP port on which the VNC server is
-    accepting client connections.</li>
+    <code>hdc</code> channel, while for 3.0.3 and later, it can be emulated
+    on any IDE channel.</li>
+  <li>the <code>&lt;devices&gt;</code> section also include at least one
+    entry for the graphic device used to render the os. Currently there is
+    just 2 types possible 'vnc' or 'sdl'. If the type is 'vnc', then an
+    additional <code>port</code> attribute will be present indicating the TCP
+    port on which the VNC server is accepting client connections.</li>
 </ul><p>It is likely that the HVM description gets additional optional elements
 and attributes as the support for fully virtualized domain expands,
 especially for the variety of devices emulated and the graphic support
index b4a806c32a1b51b63c0142208d8d1d0b80c36ce3..84f84ca3e09c14a7c8b34e0bba4b6665e18d3b8b 100644 (file)
@@ -62,7 +62,7 @@ The content of this structure is not made public by the API.
 <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="VIR_COPY_CPUMAP" id="VIR_COPY_CPUMAP"></a>Macro: VIR_COPY_CPUMAP</h3><pre>#define VIR_COPY_CPUMAP</pre><p>This macro is to be used in conjonction with virDomainGetVcpus() and virDomainPinVcpu() APIs. <a href="libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a> macro extract the cpumap of the specified vcpu from cpumaps array and copy it into cpumap to be used later by virDomainPinVcpu() API.</p>
-<h3><a name="VIR_CPU_MAPLEN" id="VIR_CPU_MAPLEN"></a>Macro: VIR_CPU_MAPLEN</h3><pre>#define VIR_CPU_MAPLEN</pre><p></p>
+<h3><a name="VIR_CPU_MAPLEN" id="VIR_CPU_MAPLEN"></a>Macro: VIR_CPU_MAPLEN</h3><pre>#define VIR_CPU_MAPLEN</pre><p>This macro is to be used in conjonction with virDomainPinVcpu() API. It returns the length (in bytes) required to store the complete CPU map between a single virtual &amp; all physical CPUs of a domain.</p>
 <h3><a name="VIR_CPU_USABLE" id="VIR_CPU_USABLE"></a>Macro: VIR_CPU_USABLE</h3><pre>#define VIR_CPU_USABLE</pre><p>This macro is to be used in conjonction with virDomainGetVcpus() API. <a href="libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a> macro returns a non zero value (true) if the cpu is usable by the vcpu, and 0 otherwise.</p>
 <h3><a name="VIR_GET_CPUMAP" id="VIR_GET_CPUMAP"></a>Macro: VIR_GET_CPUMAP</h3><pre>#define VIR_GET_CPUMAP</pre><p>This macro is to be used in conjonction with virDomainGetVcpus() and virDomainPinVcpu() APIs. <a href="libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a> macro returns a pointer to the cpumap of the specified vcpu from cpumaps array.</p>
 <h3><a name="VIR_NODEINFO_MAXCPUS" id="VIR_NODEINFO_MAXCPUS"></a>Macro: VIR_NODEINFO_MAXCPUS</h3><pre>#define VIR_NODEINFO_MAXCPUS</pre><p>This macro is to calculate the total number of CPUs supported but not neccessarily active in the host.</p>
index b5df81041db617a7813db6ee885e7e9bff6e56e0..8fe8908de8d61ddd00ed05752281b22b2c9bda08 100644 (file)
@@ -77,6 +77,7 @@ void  <a href="#virErrorFunc">virErrorFunc</a>                        (void * userData, <br />                                         <a
     <a name="VIR_ERR_CALL_FAILED" id="VIR_ERR_CALL_FAILED">VIR_ERR_CALL_FAILED</a> = 26 : not supported by the drivers
     <a name="VIR_ERR_XML_ERROR" id="VIR_ERR_XML_ERROR">VIR_ERR_XML_ERROR</a> = 27 : an XML description is not well formed or broken
     <a name="VIR_ERR_DOM_EXIST" id="VIR_ERR_DOM_EXIST">VIR_ERR_DOM_EXIST</a> = 28 : the domain already exist
+    <a name="VIR_ERR_OPERATION_DENIED" id="VIR_ERR_OPERATION_DENIED">VIR_ERR_OPERATION_DENIED</a> = 29 : operation forbidden on read-only connections
 }
 </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>
index d7bedafd2d40c38d50fc6dacf64d2d33277b5cc9..84a5d17bbdb92ca9b2f3f4e643bc1538afb1fc4e 100644 (file)
@@ -33,12 +33,31 @@ development of libvirt, it is preferable when possible to just use the <a
 href="downloads.html">CVS version or snapshot</a>, contact the mailing list
 and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progresses.</p>
 
+<h3>0.1.4: Aug 16 2006</h3>
+<ul>
+  <li>bug fixes: spec file fix (Mark McLoughlin), error report problem (with
+    Hugh Brock), long integer in Python bindings (with Daniel Berrange), XML
+    generation bug for CDRom (Daniel Berrange), bug whem using number() XPath
+    function (Mark McLoughlin), fix python detection code, remove duplicate
+    initialization errors (Daniel Berrange)</li>
+  <li>improvements: UUID in XML description (Peter Vetere), proxy code
+    cleanup, virtual CPU and affinity support + virsh support (Michel
+    Ponceau, Philippe Berthault, Daniel Berrange), port and tty informations
+    for console in XML (Daniel Berrange), added XML dump to driver and proxy
+    support (Daniel Berrange), extention of boot options with support for
+    floppy and cdrom (Daniel Berrange), features block in XML to report/ask
+    PAE, ACPI, APIC for HVM domains (Daniel Berrange), fail saide-effect
+    operations when using read-only connection, large improvements to test
+    driver (Daniel Berrange) </li>
+  <li>documentation: spelling (Daniel Berrange), test driver examples.</li>
+</ul>
+
 <h3>0.1.3: Jul 11 2006</h3>
 <ul>
   <li>bugfixes: build as non-root, fix xend access when root, handling of
     empty XML elements (Mark McLoughlin), XML serialization and parsing fixes
     (Mark McLoughlin), allow to create domains without disk (Mark
-    McLoughlin), </li>
+  McLoughlin),</li>
   <li>improvement: xenDaemonLookupByID from O(n^2) to O(n) (Daniel Berrange),
     support for fully virtualized guest (Jim Fehlig, DV, Mark McLoughlin)</li>
   <li>documentation: augmented to cover hvm domains</li>
@@ -346,17 +365,17 @@ significant:</p>
         passed as part of the cmdline content too</li>
     </ul>
   </li>
-  <li>devices: a list of <code>disk</code>, <code>interface</code>
-    and <code>console</code> descriptions in no special order</li>
+  <li>devices: a list of <code>disk</code>, <code>interface</code> and
+    <code>console</code> descriptions in no special order</li>
 </ul>
 
 <p>The format of the devices and their type may grow over time, but the
 following should be sufficient for basic use:</p>
 
-<p>A <code>disk</code> device indicates a block device, it can have two values for the
-type attribute either 'file' or 'block' corresponding to the 2 options
-availble at the Xen layer. It has two mandatory children, and one optional
-one in no specific order:</p>
+<p>A <code>disk</code> device indicates a block device, it can have two
+values for the type attribute either 'file' or 'block' corresponding to the 2
+options availble at the Xen layer. It has two mandatory children, and one
+optional one in no specific order:</p>
 <ul>
   <li>source with a file attribute containing the path in Domain 0 to the
     file or a dev attribute if using a block device, containing the device
@@ -367,9 +386,9 @@ one in no specific order:</p>
   read-only</li>
 </ul>
 
-<p>An <code>interface</code> element describes a network device mapped on the guest, it
-also has a type whose value is currently 'bridge', it also have a number of
-children in no specific order:</p>
+<p>An <code>interface</code> element describes a network device mapped on the
+guest, it also has a type whose value is currently 'bridge', it also have a
+number of children in no specific order:</p>
 <ul>
   <li>source: indicating the bridge name</li>
   <li>mac: the optional mac address provided in the address attribute</li>
@@ -378,10 +397,10 @@ children in no specific order:</p>
   <li>target: and optional target indicating the device name.</li>
 </ul>
 
-<p>A <code>console</code> element describes a serial console connection to the
-guest. It has no children, and a single attribute <code>tty</code> which provides
-the path to the Pseudo TTY on which the guest console can be accessed
-</p>
+<p>A <code>console</code> element describes a serial console connection to
+the guest. It has no children, and a single attribute <code>tty</code> which
+provides the path to the Pseudo TTY on which the guest console can be
+accessed</p>
 
 <p>Life cycle actions for the domain can also be expressed in the XML format,
 they drive what should be happening if the domain crashes, is rebooted or is
@@ -461,48 +480,50 @@ systems:</p>
 
 <p>There is a few things to notice specifically for HVM domains:</p>
 <ul>
-  <li>the optional <code>&lt;features&gt;</code> block is used to enable certain
-    guest CPU / system features. For HVM guests the following features are defined:
+  <li>the optional <code>&lt;features&gt;</code> block is used to enable
+    certain guest CPU / system features. For HVM guests the following
+    features are defined:
     <ul>
-    <li><code>pae</code> - enable PAE memory addressing</li>
-    <li><code>apic</code> - enable IO APIC</li>
-    <li><code>acpi</code> - enable ACPI bios</li>
+      <li><code>pae</code> - enable PAE memory addressing</li>
+      <li><code>apic</code> - enable IO APIC</li>
+      <li><code>acpi</code> - enable ACPI bios</li>
     </ul>
   </li>
-  <li>the <code>&lt;os&gt;</code> block description is very different, first it indicates
-    that the type is 'hvm' for hardware virtualization, then instead of a
-    kernel, boot and command line arguments, it points to an os boot loader
-    which will extract the boot informations from the boot device specified
-    in a separate boot element. The <code>dev</code> attribute on the <code>boot</code>
-    tag can be one of:
+  <li>the <code>&lt;os&gt;</code> block description is very different, first
+    it indicates that the type is 'hvm' for hardware virtualization, then
+    instead of a kernel, boot and command line arguments, it points to an os
+    boot loader which will extract the boot informations from the boot device
+    specified in a separate boot element. The <code>dev</code> attribute on
+    the <code>boot</code> tag can be one of:
     <ul>
-    <li><code>fd</code> - boot from first floppy device</li>
-    <li><code>hd</code> - boot from first harddisk device</li>
-    <li><code>cdrom</code> - boot from first cdrom device</li>
+      <li><code>fd</code> - boot from first floppy device</li>
+      <li><code>hd</code> - boot from first harddisk device</li>
+      <li><code>cdrom</code> - boot from first cdrom device</li>
     </ul>
   </li>
-  <li>the <code>&lt;devices&gt;</code> section includes an emulator entry pointing to an
-    additional program in charge of emulating the devices</li>
+  <li>the <code>&lt;devices&gt;</code> section includes an emulator entry
+    pointing to an additional program in charge of emulating the devices</li>
   <li>the disk entry indicates in the dev target section that the emulation
     for the drive is the first IDE disk device hda. The list of device names
-    supported is dependant on the Hypervisor, but for Xen it can be any IDE 
-    device <code>hda</code>-<code>hdd</code>, or a floppy device <code>fda</code>,
-    <code>fdb</code>. The <code>&lt;disk&gt;</code> element also supports a 'device' 
-    attribute to indicate what kinda of hardware to emulate. The following values are 
-    supported:
+    supported is dependant on the Hypervisor, but for Xen it can be any IDE
+    device <code>hda</code>-<code>hdd</code>, or a floppy device
+    <code>fda</code>, <code>fdb</code>. The <code>&lt;disk&gt;</code> element
+    also supports a 'device' attribute to indicate what kinda of hardware to
+    emulate. The following values are supported:
     <ul>
-    <li><code>floppy</code> - a floppy disk controller</li>
-    <li><code>disk</code> - a generic hard drive (the default it omitted)</li>
-    <li><code>cdrom</code> - a CDROM device</li>
+      <li><code>floppy</code> - a floppy disk controller</li>
+      <li><code>disk</code> - a generic hard drive (the default it
+      omitted)</li>
+      <li><code>cdrom</code> - a CDROM device</li>
     </ul>
     For Xen 3.0.2 and earlier a CDROM device can only be emulated on the
-    <code>hdc</code> channel, while for 3.0.3 and later, it can be emulated on
-    any IDE channel.</li>
-  <li>the <code>&lt;devices&gt;</code> section also include at least one entry for the
-    graphic device used to render the os. Currently there is just 2 types
-    possible 'vnc' or 'sdl'. If the type is 'vnc', then an additional <code>port</code>
-    attribute will be present indicating the TCP port on which the VNC server is
-    accepting client connections.</li>
+    <code>hdc</code> channel, while for 3.0.3 and later, it can be emulated
+    on any IDE channel.</li>
+  <li>the <code>&lt;devices&gt;</code> section also include at least one
+    entry for the graphic device used to render the os. Currently there is
+    just 2 types possible 'vnc' or 'sdl'. If the type is 'vnc', then an
+    additional <code>port</code> attribute will be present indicating the TCP
+    port on which the VNC server is accepting client connections.</li>
 </ul>
 
 <p>It is likely that the HVM description gets additional optional elements
index 5d43ea3827f868968533df126e36b2f652ee0d32..4674ebb8cb206830d1fe0f7d2f6dfd11257139cc 100644 (file)
      <exports symbol='VIR_ERR_DOM_EXIST' type='enum'/>
      <exports symbol='VIR_ERR_NO_SOURCE' type='enum'/>
      <exports symbol='VIR_ERR_NO_TARGET' type='enum'/>
+     <exports symbol='VIR_ERR_OPERATION_DENIED' 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'/>
       <arg name='cpumap' info='pointer to a cpumap (in 8-bit bytes) (OUT) This cpumap must be previously allocated by the caller (ie: malloc(maplen))'/>
     </macro>
     <macro name='VIR_CPU_MAPLEN' file='libvirt'>
+      <info>This macro is to be used in conjonction with virDomainPinVcpu() API. It returns the length (in bytes) required to store the complete CPU map between a single virtual &amp; all physical CPUs of a domain.</info>
+      <arg name='cpu' info='number of physical CPUs'/>
     </macro>
     <macro name='VIR_CPU_USABLE' file='libvirt'>
       <info>This macro is to be used in conjonction with virDomainGetVcpus() API. VIR_CPU_USABLE macro returns a non zero value (true) if the cpu is usable by the vcpu, and 0 otherwise.</info>
     <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_CALL_FAILED' file='virterror' value='26' type='virErrorNumber' info='not supported by the drivers'/>
-    <enum name='VIR_ERR_DOM_EXIST' file='virterror' value='28' type='virErrorNumber' info=' the domain already exist'/>
+    <enum name='VIR_ERR_DOM_EXIST' file='virterror' value='28' type='virErrorNumber' info='the domain already exist'/>
     <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_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_DENIED' file='virterror' value='29' type='virErrorNumber' info=' operation forbidden on read-only connections'/>
     <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_POST_FAILED' file='virterror' value='11' type='virErrorNumber' info='a HTTP POST command to failed'/>
index e134fedb1c33e57751929c4ddd2b980128d66d4c..7711380c4a23af45a7998115138825e33462da5c 100644 (file)
@@ -45,6 +45,7 @@
     <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_DENIED' href='html/libvirt-virterror.html#VIR_ERR_OPERATION_DENIED'/>
     <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'/>
     <reference name='VIR_ERR_POST_FAILED' href='html/libvirt-virterror.html#VIR_ERR_POST_FAILED'/>
       <ref name='VIR_ERR_NO_XEN'/>
       <ref name='VIR_ERR_NO_XENSTORE'/>
       <ref name='VIR_ERR_OK'/>
+      <ref name='VIR_ERR_OPERATION_DENIED'/>
       <ref name='VIR_ERR_OPERATION_FAILED'/>
       <ref name='VIR_ERR_OS_TYPE'/>
       <ref name='VIR_ERR_POST_FAILED'/>
       <ref name='VIR_ERR_NO_XEN'/>
       <ref name='VIR_ERR_NO_XENSTORE'/>
       <ref name='VIR_ERR_OK'/>
+      <ref name='VIR_ERR_OPERATION_DENIED'/>
       <ref name='VIR_ERR_OPERATION_FAILED'/>
       <ref name='VIR_ERR_OS_TYPE'/>
       <ref name='VIR_ERR_POST_FAILED'/>
       <letter name='A'>
         <word name='API'>
           <ref name='VIR_COPY_CPUMAP'/>
+          <ref name='VIR_CPU_MAPLEN'/>
           <ref name='VIR_CPU_USABLE'/>
           <ref name='VIR_UNUSE_CPU'/>
           <ref name='VIR_USE_CPU'/>
       </letter>
       <letter name='C'>
         <word name='CPU'>
+          <ref name='VIR_CPU_MAPLEN'/>
           <ref name='VIR_UNUSE_CPU'/>
           <ref name='VIR_USE_CPU'/>
           <ref name='_virDomainInfo'/>
           <ref name='virDomainPinVcpu'/>
         </word>
         <word name='CPUs'>
+          <ref name='VIR_CPU_MAPLEN'/>
           <ref name='VIR_NODEINFO_MAXCPUS'/>
           <ref name='_virDomainInfo'/>
           <ref name='_virNodeInfo'/>
+          <ref name='cpu'/>
           <ref name='cpumap'/>
           <ref name='virDomainGetVcpus'/>
           <ref name='virDomainPinVcpu'/>
         </word>
         <word name='This'>
           <ref name='VIR_COPY_CPUMAP'/>
+          <ref name='VIR_CPU_MAPLEN'/>
           <ref name='VIR_CPU_USABLE'/>
           <ref name='VIR_GET_CPUMAP'/>
           <ref name='VIR_NODEINFO_MAXCPUS'/>
           <ref name='virDomainFree'/>
         </word>
         <word name='all'>
+          <ref name='VIR_CPU_MAPLEN'/>
           <ref name='virDomainDestroy'/>
           <ref name='virDomainGetVcpus'/>
         </word>
         <word name='better'>
           <ref name='virInitialize'/>
         </word>
+        <word name='between'>
+          <ref name='VIR_CPU_MAPLEN'/>
+        </word>
         <word name='bit'>
           <ref name='VIR_UNUSE_CPU'/>
           <ref name='VIR_USE_CPU'/>
           <ref name='virDomainPinVcpu'/>
         </word>
         <word name='bytes'>
+          <ref name='VIR_CPU_MAPLEN'/>
           <ref name='cpumap'/>
           <ref name='cpumaps'/>
           <ref name='maplen'/>
         <word name='compiled'>
           <ref name='virGetVersion'/>
         </word>
+        <word name='complete'>
+          <ref name='VIR_CPU_MAPLEN'/>
+        </word>
         <word name='conjonction'>
           <ref name='VIR_COPY_CPUMAP'/>
+          <ref name='VIR_CPU_MAPLEN'/>
           <ref name='VIR_CPU_USABLE'/>
           <ref name='VIR_GET_CPUMAP'/>
           <ref name='VIR_UNUSE_CPU'/>
           <ref name='virDomainPinVcpu'/>
         </word>
         <word name='length'>
+          <ref name='VIR_CPU_MAPLEN'/>
           <ref name='maplen'/>
         </word>
         <word name='level'>
       <letter name='m'>
         <word name='macro'>
           <ref name='VIR_COPY_CPUMAP'/>
+          <ref name='VIR_CPU_MAPLEN'/>
           <ref name='VIR_CPU_USABLE'/>
           <ref name='VIR_GET_CPUMAP'/>
           <ref name='VIR_NODEINFO_MAXCPUS'/>
           <ref name='cpumap'/>
         </word>
         <word name='map'>
+          <ref name='VIR_CPU_MAPLEN'/>
           <ref name='cpumap'/>
           <ref name='virDomainGetVcpus'/>
           <ref name='virDomainPinVcpu'/>
           <ref name='_virNodeInfo'/>
         </word>
         <word name='physical'>
+          <ref name='VIR_CPU_MAPLEN'/>
           <ref name='cpu'/>
           <ref name='virDomainGetMaxMemory'/>
           <ref name='virDomainSetMaxMemory'/>
           <ref name='virDomainReboot'/>
           <ref name='virDomainShutdown'/>
         </word>
+        <word name='required'>
+          <ref name='VIR_CPU_MAPLEN'/>
+        </word>
         <word name='requires'>
           <ref name='virDomainCreateLinux'/>
           <ref name='virDomainDestroy'/>
           <ref name='virGetVersion'/>
         </word>
         <word name='returns'>
+          <ref name='VIR_CPU_MAPLEN'/>
           <ref name='VIR_CPU_USABLE'/>
           <ref name='VIR_GET_CPUMAP'/>
           <ref name='virConnectGetVersion'/>
         <word name='similar'>
           <ref name='virDomainCreateLinux'/>
         </word>
+        <word name='single'>
+          <ref name='VIR_CPU_MAPLEN'/>
+        </word>
         <word name='size'>
           <ref name='_virNodeInfo'/>
           <ref name='virConnectListDefinedDomains'/>
           <ref name='virDomainShutdown'/>
         </word>
         <word name='store'>
+          <ref name='VIR_CPU_MAPLEN'/>
           <ref name='virConnectListDefinedDomains'/>
           <ref name='virConnectListDomains'/>
           <ref name='virConnectOpen'/>
         </word>
         <word name='used'>
           <ref name='VIR_COPY_CPUMAP'/>
+          <ref name='VIR_CPU_MAPLEN'/>
           <ref name='VIR_CPU_USABLE'/>
           <ref name='VIR_GET_CPUMAP'/>
           <ref name='VIR_UNUSE_CPU'/>
         </word>
         <word name='virDomainPinVcpu'>
           <ref name='VIR_COPY_CPUMAP'/>
+          <ref name='VIR_CPU_MAPLEN'/>
           <ref name='VIR_GET_CPUMAP'/>
           <ref name='VIR_UNUSE_CPU'/>
           <ref name='VIR_USE_CPU'/>
           <ref name='_virVcpuInfo'/>
         </word>
         <word name='virtual'>
+          <ref name='VIR_CPU_MAPLEN'/>
           <ref name='_virDomainInfo'/>
           <ref name='_virVcpuInfo'/>
           <ref name='vcpu'/>
         </word>
         <word name='with'>
           <ref name='VIR_COPY_CPUMAP'/>
+          <ref name='VIR_CPU_MAPLEN'/>
           <ref name='VIR_CPU_USABLE'/>
           <ref name='VIR_GET_CPUMAP'/>
           <ref name='VIR_UNUSE_CPU'/>
index ddb93f6128366d198e928aef3d27e275fbb497b7..e8506953c9bd6d6b81c211797f57bc6e524e7f30 100644 (file)
@@ -2,10 +2,25 @@
 <!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>Releases</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Releases</h1><p>Here is the list of official releases, however since it is early on in the
 development of libvirt, it is preferable when possible to just use the <a href="downloads.html">CVS version or snapshot</a>, contact the mailing list
-and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progresses.</p><h3>0.1.3: Jul 11 2006</h3><ul><li>bugfixes: build as non-root, fix xend access when root, handling of
+and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progresses.</p><h3>0.1.4: Aug 16 2006</h3><ul><li>bug fixes: spec file fix (Mark McLoughlin), error report problem (with
+    Hugh Brock), long integer in Python bindings (with Daniel Berrange), XML
+    generation bug for CDRom (Daniel Berrange), bug whem using number() XPath
+    function (Mark McLoughlin), fix python detection code, remove duplicate
+    initialization errors (Daniel Berrange)</li>
+  <li>improvements: UUID in XML description (Peter Vetere), proxy code
+    cleanup, virtual CPU and affinity support + virsh support (Michel
+    Ponceau, Philippe Berthault, Daniel Berrange), port and tty informations
+    for console in XML (Daniel Berrange), added XML dump to driver and proxy
+    support (Daniel Berrange), extention of boot options with support for
+    floppy and cdrom (Daniel Berrange), features block in XML to report/ask
+    PAE, ACPI, APIC for HVM domains (Daniel Berrange), fail saide-effect
+    operations when using read-only connection, large improvements to test
+    driver (Daniel Berrange) </li>
+  <li>documentation: spelling (Daniel Berrange), test driver examples.</li>
+</ul><h3>0.1.3: Jul 11 2006</h3><ul><li>bugfixes: build as non-root, fix xend access when root, handling of
     empty XML elements (Mark McLoughlin), XML serialization and parsing fixes
     (Mark McLoughlin), allow to create domains without disk (Mark
-    McLoughlin), </li>
+  McLoughlin),</li>
   <li>improvement: xenDaemonLookupByID from O(n^2) to O(n) (Daniel Berrange),
     support for fully virtualized guest (Jim Fehlig, DV, Mark McLoughlin)</li>
   <li>documentation: augmented to cover hvm domains</li>
index f846fe03514fda41ed0a2b4051fcc5b16a17ac0f..a125f8fbbe0fbfaf8cc6875f7ae9a131ec122ebb 100644 (file)
@@ -196,7 +196,7 @@ typedef virNodeInfo *virNodeInfoPtr;
  * version * 1,000,000 + minor * 1000 + micro
  */
 
-#define LIBVIR_VERSION_NUMBER 1003
+#define LIBVIR_VERSION_NUMBER 1004
 
 int                    virGetVersion           (unsigned long *libVer,
                                                 const char *type,
@@ -352,7 +352,7 @@ int                 virDomainPinVcpu        (virDomainPtr domain,
 #define VIR_UNUSE_CPU(cpumap,cpu)      (cpumap[(cpu)/8] &= ~(1<<((cpu)%8)))
 
 /**
- * VIR_CPU_MAPLEN
+ * VIR_CPU_MAPLEN:
  * @cpu: number of physical CPUs
  *
  * This macro is to be used in conjonction with virDomainPinVcpu() API.
index a78452b480afe0e1a2d2d64d9c1ade63491a3f13..c7a8fc26ce1a745fe8f8a2c6e383d87d836153e7 100644 (file)
@@ -352,7 +352,7 @@ int                 virDomainPinVcpu        (virDomainPtr domain,
 #define VIR_UNUSE_CPU(cpumap,cpu)      (cpumap[(cpu)/8] &= ~(1<<((cpu)%8)))
 
 /**
- * VIR_CPU_MAPLEN
+ * VIR_CPU_MAPLEN:
  * @cpu: number of physical CPUs
  *
  * This macro is to be used in conjonction with virDomainPinVcpu() API.
index df34c6fc591acb702874463bd03c739d7191a693..419fbd6a6d4a4a0c559124ce4a43ca45b4330967 100644 (file)
@@ -939,7 +939,7 @@ xenProxyNodeGetInfo(virConnectPtr conn, virNodeInfoPtr info) {
  * Returns the XML document on success, NULL otherwise. 
  */
 static char *
-xenProxyDomainDumpXML(virDomainPtr domain, int flags)
+xenProxyDomainDumpXML(virDomainPtr domain, int flags ATTRIBUTE_UNUSED)
 {
     virProxyPacket req;
     virProxyFullPacket ans;
index e66598873fcd442c448d2953e28d8d07ce9984db..af165f8dfb0563d987685bfe406e30efceed55bc 100644 (file)
@@ -705,7 +705,7 @@ testDomainCreateLinux(virConnectPtr conn, const char *xmlDesc,
     return (NULL);
   }
   if (conn->flags & VIR_CONNECT_RO) {
-    testError(conn, NULL, VIR_ERR_READ_ONLY, __FUNCTION__);
+    testError(conn, NULL, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
     return (NULL);
   }
   
@@ -821,7 +821,7 @@ int testDestroyDomain (virDomainPtr domain)
     return(-1);
   }
   if (domain->conn->flags & VIR_CONNECT_RO) {
-    testError(domain->conn, domain, VIR_ERR_READ_ONLY, __FUNCTION__);
+    testError(domain->conn, domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
     return (-1);
   }
   
@@ -839,7 +839,7 @@ int testResumeDomain (virDomainPtr domain)
     return(-1);
   }
   if (domain->conn->flags & VIR_CONNECT_RO) {
-    testError(domain->conn, domain, VIR_ERR_READ_ONLY, __FUNCTION__);
+    testError(domain->conn, domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
     return (-1);
   }
 
@@ -857,7 +857,7 @@ int testPauseDomain (virDomainPtr domain)
     return(-1);
   }
   if (domain->conn->flags & VIR_CONNECT_RO) {
-    testError(domain->conn, domain, VIR_ERR_READ_ONLY, __FUNCTION__);
+    testError(domain->conn, domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
     return (-1);
   }
 
@@ -880,7 +880,7 @@ int testShutdownDomain (virDomainPtr domain)
     return (-1);
   }
   if (domain->conn->flags & VIR_CONNECT_RO) {
-    testError(domain->conn, domain, VIR_ERR_READ_ONLY, __FUNCTION__);
+    testError(domain->conn, domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
     return (-1);
   }
 
@@ -908,7 +908,7 @@ int testRebootDomain (virDomainPtr domain, virDomainRestart action)
     return(-1);
   }
   if (domain->conn->flags & VIR_CONNECT_RO) {
-    testError(domain->conn, domain, VIR_ERR_READ_ONLY, __FUNCTION__);
+    testError(domain->conn, domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
     return (-1);
   }
 
@@ -1006,7 +1006,7 @@ int testSetMaxMemory (virDomainPtr domain,
     return(-1);
   }
   if (domain->conn->flags & VIR_CONNECT_RO) {
-    testError(domain->conn, domain, VIR_ERR_READ_ONLY, __FUNCTION__);
+    testError(domain->conn, domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
     return (-1);
   }
 
@@ -1026,7 +1026,7 @@ int testSetMemory (virDomainPtr domain,
     return(-1);
   }
   if (domain->conn->flags & VIR_CONNECT_RO) {
-    testError(domain->conn, domain, VIR_ERR_READ_ONLY, __FUNCTION__);
+    testError(domain->conn, domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
     return (-1);
   }
 
@@ -1051,7 +1051,7 @@ int testSetVcpus(virDomainPtr domain,
     return(-1);
   }
   if (domain->conn->flags & VIR_CONNECT_RO) {
-    testError(domain->conn, domain, VIR_ERR_READ_ONLY, __FUNCTION__);
+    testError(domain->conn, domain, VIR_ERR_OPERATION_DENIED, __FUNCTION__);
     return (-1);
   }
 
index b847d5269096e6f470997b0080c358c2cad31166..10826d84951290796f0b838ca116b2bc1f70182a 100644 (file)
@@ -2176,7 +2176,7 @@ xenDaemonDomainDumpXMLByID(virConnectPtr conn, int domid)
  *         the caller must free() the returned value.
  */
 char *
-xenDaemonDomainDumpXML(virDomainPtr domain, int flags)
+xenDaemonDomainDumpXML(virDomainPtr domain, int flags ATTRIBUTE_UNUSED)
 {
     if ((domain == NULL) || (domain->conn == NULL) || (domain->name == NULL)) {
         virXendError((domain ? domain->conn : NULL), VIR_ERR_INVALID_ARG,