release of 0.6.3

* NEWS configure.in libvirt.spec.in docs/*: release of 0.6.3
* po/*: regenerated
* src/libvirt.c src/virterror.c: fixed some function comments
Daniel
This commit is contained in:
Daniel Veillard 2009-04-24 14:04:54 +00:00
parent 62aa1b56d6
commit 9cae1d5ed6
90 changed files with 19769 additions and 19536 deletions

View File

@ -1,3 +1,9 @@
Fri Apr 24 15:55:56 CEST 2009 Daniel Veillard <veillard@redhat.com>
* NEWS configure.in libvirt.spec.in docs/*: release of 0.6.3
* po/*: regenerated
* src/libvirt.c src/virterror.c: fixed some function comments
Fri Apr 24 14:07:22 BST 2009 Daniel P. Berrange <berrange@redhat.com>
Add virNodeDeviceCreateXML / virNodeDeviceDestroy boilerplate

33
NEWS
View File

@ -5,6 +5,39 @@
http://libvirt.org/news.html
0.6.3: Apr 24 2009:
- New features: VirtualBox driver support (Pritesh Kothari),
virt-xml-validate new command (Daniel Berrange)
- Portability: patch to build on Centos (Joseph Shraibman),
build breakage (Anton Protopopov),
- Documentation: Linux Containers documentation (Serge Hallyn),
improvement and updates of architecture pages, fix
virNodeGetFreeMemory documentation to reflect reality,
man page cleanups (Daniel Berrange), man page typo
(Robert P. J. Day), VirtualBox Documentation (Pritesh Kothari),
- Bug fixes: veth off-by-one error (Dan Smith), vcpupin to inactive
Xen crash (Takahashi Tomohiro), virsh ttyconsole return value,
use format= not fmt= on QEmu commandline (Mark McLoughlin),
use UUID for internal domain lookups (Daniel Berrange), remote
domain ID related bugs (Daniel Berrange), QEmu pidfile handling
bugs (Daniel Berrange), network config handling on old Xen (Daniel
Berrange)
- Improvements: add SCSI storage rescan (David Allan), rootless
LXC containers support improvements (Serge Hallyn), getHostname
support for LXC (Dan Smith), cleanup and logging output of some
domain functions (Guido Günther), drop pool lock when allocating
volumes (Cole Robinson), LXC handle kernel without CLONE_NEWUSER
support (Serge Hallyn), cpu pinning on defined Xen domains (Takahashi
Tomohiro), dynamic bridge names support (Soren Hansen), LXC use
of private /dev/pts when available (Daniel Berrange),
virNodeDeviceCreateXML and virNodeDeviceDestroy entry points
(Dave Allan)
- Cleanups: don't hardcode getgrnam_r buffer to 1024 bytes (Guido
Günther), qemudBuildCommandLine API cleanup (Daniel Berrange),
0.6.2: Apr 3 2009:
- New features: support SASL auth for VNC server (Daniel Berrange),
memory ballooning in QEMU (Daniel Berrange), SCSI HBA storage pool

View File

@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT([libvirt], [0.6.2])
AC_INIT([libvirt], [0.6.3])
AC_CONFIG_SRCDIR([src/libvirt.c])
AC_CONFIG_AUX_DIR([build-aux])
AM_CONFIG_HEADER([config.h])

View File

@ -39,6 +39,7 @@ ignored_functions = {
"virDomainMigratePrepare": "private function for migration",
"virDomainMigratePrepare2": "private function for migration",
"virDrvSupportsFeature": "private function for remote access",
"DllMain": "specific function fo Win32",
}
def escape(raw):

View File

@ -130,6 +130,7 @@ int <a href="#virDomainGetSchedulerParameters">virDomainGetSchedulerParameters</
int <a href="#virConnectNumOfDefinedNetworks">virConnectNumOfDefinedNetworks</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn);
int <a href="#virConnectNumOfDomains">virConnectNumOfDomains</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn);
int <a href="#virNetworkGetUUID">virNetworkGetUUID</a> (<a href="libvirt-libvirt.html#virNetworkPtr">virNetworkPtr</a> network, <br/> unsigned char * uuid);
<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> <a href="#virNodeDeviceCreateXML">virNodeDeviceCreateXML</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> const char * xmlDesc, <br/> unsigned int flags);
<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> <a href="#virStoragePoolGetConnect">virStoragePoolGetConnect</a> (<a href="libvirt-libvirt.html#virStoragePoolPtr">virStoragePoolPtr</a> pool);
int <a href="#virConnectGetVersion">virConnectGetVersion</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> unsigned long * hvVer);
int <a href="#virDomainFree">virDomainFree</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain);
@ -199,6 +200,7 @@ char * <a href="#virConnectFindStoragePoolSources">virConnectFindStoragePoolSour
int <a href="#virDomainPinVcpu">virDomainPinVcpu</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> unsigned int vcpu, <br/> unsigned char * cpumap, <br/> int maplen);
int <a href="#virNodeGetSecurityModel">virNodeGetSecurityModel</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> <a href="libvirt-libvirt.html#virSecurityModelPtr">virSecurityModelPtr</a> secmodel);
int <a href="#virDomainRestore">virDomainRestore</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> const char * from);
int <a href="#virNodeDeviceDestroy">virNodeDeviceDestroy</a> (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev);
char * <a href="#virStorageVolGetPath">virStorageVolGetPath</a> (<a href="libvirt-libvirt.html#virStorageVolPtr">virStorageVolPtr</a> vol);
<a href="libvirt-libvirt.html#virNetworkPtr">virNetworkPtr</a> <a href="#virNetworkLookupByUUIDString">virNetworkLookupByUUIDString</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> const char * uuidstr);
typedef int <a href="#virConnectDomainEventCallback">virConnectDomainEventCallback</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> <a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> dom, <br/> int event, <br/> int detail, <br/> void * opaque);
@ -882,7 +884,7 @@ The content of this structure is not made public by the API.
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConnectRef"/>virConnectRef ()</h3><pre class="programlisting">int virConnectRef (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn)<br/>
</pre><p>Increment the reference count on the connection. For each additional call to this method, there shall be a corresponding call to <a href="libvirt-libvirt.html#virConnectClose">virConnectClose</a> to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a connection would increment the reference count.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>the connection to hold a reference on</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>the connection to hold a reference on</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of failure</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainAttachDevice"/>virDomainAttachDevice ()</h3><pre class="programlisting">int virDomainAttachDevice (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> const char * xml)<br/>
</pre><p>Create a virtual device attachment to backend.</p>
@ -1026,7 +1028,7 @@ The content of this structure is not made public by the API.
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainRef"/>virDomainRef ()</h3><pre class="programlisting">int virDomainRef (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br/>
</pre><p>Increment the reference count on the domain. For each additional call to this method, there shall be a corresponding call to <a href="libvirt-libvirt.html#virDomainFree">virDomainFree</a> to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a domain would increment the reference count.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>the domain to hold a reference on</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></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainRestore"/>virDomainRestore ()</h3><pre class="programlisting">int virDomainRestore (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> const char * from)<br/>
</pre><p>This method will restore a domain saved to disk by virDomainSave().</p>
@ -1146,7 +1148,7 @@ The content of this structure is not made public by the API.
<hr/>
<div class="refsect2" lang="en"><h3><a name="virNetworkRef"/>virNetworkRef ()</h3><pre class="programlisting">int virNetworkRef (<a href="libvirt-libvirt.html#virNetworkPtr">virNetworkPtr</a> network)<br/>
</pre><p>Increment the reference count on the network. For each additional call to this method, there shall be a corresponding call to <a href="libvirt-libvirt.html#virNetworkFree">virNetworkFree</a> to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a network would increment the reference count.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>network</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>network</tt></i>:</span></td><td>the network to hold a reference on</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of failure.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virNetworkSetAutostart"/>virNetworkSetAutostart ()</h3><pre class="programlisting">int virNetworkSetAutostart (<a href="libvirt-libvirt.html#virNetworkPtr">virNetworkPtr</a> network, <br/> int autostart)<br/>
</pre><p>Configure the network to be automatically started when the host machine boots.</p>
@ -1155,10 +1157,18 @@ The content of this structure is not made public by the API.
<div class="refsect2" lang="en"><h3><a name="virNetworkUndefine"/>virNetworkUndefine ()</h3><pre class="programlisting">int virNetworkUndefine (<a href="libvirt-libvirt.html#virNetworkPtr">virNetworkPtr</a> network)<br/>
</pre><p>Undefine a network but does not stop it if it is running</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>network</tt></i>:</span></td><td>pointer to a defined network</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virNodeDeviceCreateXML"/>virNodeDeviceCreateXML ()</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> virNodeDeviceCreateXML (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> const char * xmlDesc, <br/> unsigned int flags)<br/>
</pre><p>Create a new device on the VM host machine, for example, virtual HBAs created using vport_create.</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>xmlDesc</tt></i>:</span></td><td>string containing an XML description of the device to be created</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>callers should always pass 0</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a node device object if successful, NULL in case of failure</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virNodeDeviceDestroy"/>virNodeDeviceDestroy ()</h3><pre class="programlisting">int virNodeDeviceDestroy (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev)<br/>
</pre><p>Destroy the device object. The virtual device is removed from the host operating system. This function may require privileged access</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dev</tt></i>:</span></td><td>a device 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></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virNodeDeviceDettach"/>virNodeDeviceDettach ()</h3><pre class="programlisting">int virNodeDeviceDettach (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev)<br/>
</pre><p/>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dev</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
</pre><p>Dettach the node device from the node itself so that it may be assigned to a guest domain. Depending on the hypervisor, this may involve operations such as unbinding any device drivers from the device, binding the device to a dummy device driver and resetting the device. If the device is currently in use by the node, this method may fail. Once the device is not assigned to any guest, it may be re-attached to the node using the virNodeDeviceReattach() method.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dev</tt></i>:</span></td><td>pointer to the node device</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of failure.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virNodeDeviceFree"/>virNodeDeviceFree ()</h3><pre class="programlisting">int virNodeDeviceFree (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev)<br/>
</pre><p>Drops a reference to the node device, freeing it if this was the last reference.</p>
@ -1190,15 +1200,15 @@ The content of this structure is not made public by the API.
<hr/>
<div class="refsect2" lang="en"><h3><a name="virNodeDeviceReAttach"/>virNodeDeviceReAttach ()</h3><pre class="programlisting">int virNodeDeviceReAttach (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev)<br/>
</pre><p>Re-attach a previously dettached node device to the node so that it may be used by the node again. Depending on the hypervisor, this may involve operations such as resetting the device, unbinding it from a dummy device driver and binding it to its appropriate driver. If the device is currently in use by a guest, this method may fail.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dev</tt></i>:</span></td><td>pointer to the node device</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dev</tt></i>:</span></td><td>pointer to the node device</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of failure.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virNodeDeviceRef"/>virNodeDeviceRef ()</h3><pre class="programlisting">int virNodeDeviceRef (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev)<br/>
</pre><p>Increment the reference count on the dev. For each additional call to this method, there shall be a corresponding call to <a href="libvirt-libvirt.html#virNodeDeviceFree">virNodeDeviceFree</a> to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a dev would increment the reference count.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dev</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dev</tt></i>:</span></td><td>the dev to hold a reference on</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of failure.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virNodeDeviceReset"/>virNodeDeviceReset ()</h3><pre class="programlisting">int virNodeDeviceReset (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev)<br/>
</pre><p>Reset a previously dettached node device to the node before or after assigning it to a guest. The exact reset semantics depends on the hypervisor and device type but, for example, KVM will attempt to reset PCI devices with a Function Level Reset, Secondary Bus Reset or a Power Management D-State reset. If the reset will affect other devices which are currently in use, this function may fail.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dev</tt></i>:</span></td><td>pointer to the node device</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>dev</tt></i>:</span></td><td>pointer to the node device</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of failure.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virNodeGetCellsFreeMemory"/>virNodeGetCellsFreeMemory ()</h3><pre class="programlisting">int virNodeGetCellsFreeMemory (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> unsigned long long * freeMems, <br/> int startCell, <br/> int maxCells)<br/>
</pre><p>This call returns the amount of free memory in one or more NUMA cells. The @freeMems array must be allocated by the caller and will be filled with the amount of free memory in kilobytes for each cell requested, starting with startCell (in freeMems[0]), up to either (startCell + maxCells), or the number of additional cells in the node, whichever is smaller.</p>
@ -1306,7 +1316,7 @@ The content of this structure is not made public by the API.
<hr/>
<div class="refsect2" lang="en"><h3><a name="virStoragePoolRef"/>virStoragePoolRef ()</h3><pre class="programlisting">int virStoragePoolRef (<a href="libvirt-libvirt.html#virStoragePoolPtr">virStoragePoolPtr</a> pool)<br/>
</pre><p>Increment the reference count on the pool. For each additional call to this method, there shall be a corresponding call to <a href="libvirt-libvirt.html#virStoragePoolFree">virStoragePoolFree</a> to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a pool would increment the reference count.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>pool</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>pool</tt></i>:</span></td><td>the pool to hold a reference on</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of failure.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virStoragePoolRefresh"/>virStoragePoolRefresh ()</h3><pre class="programlisting">int virStoragePoolRefresh (<a href="libvirt-libvirt.html#virStoragePoolPtr">virStoragePoolPtr</a> pool, <br/> unsigned int flags)<br/>
</pre><p>Request that the pool refresh its list of volumes. This may involve communicating with a remote server, and/or initializing new devices at the OS layer</p>
@ -1370,7 +1380,7 @@ The content of this structure is not made public by the API.
<hr/>
<div class="refsect2" lang="en"><h3><a name="virStorageVolRef"/>virStorageVolRef ()</h3><pre class="programlisting">int virStorageVolRef (<a href="libvirt-libvirt.html#virStorageVolPtr">virStorageVolPtr</a> vol)<br/>
</pre><p>Increment the reference count on the vol. For each additional call to this method, there shall be a corresponding call to <a href="libvirt-libvirt.html#virStorageVolFree">virStorageVolFree</a> to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a vol would increment the reference count.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>vol</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>vol</tt></i>:</span></td><td>the vol to hold a reference on</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of failure.</td></tr></tbody></table></div></div>
<hr/>
</div>
</div>

View File

@ -202,6 +202,8 @@ char * <a href="#virNetworkGetXMLDesc">virNetworkGetXMLDesc</a> (<a href="libvi
int <a href="#virNetworkRef">virNetworkRef</a> (<a href="libvirt-libvirt.html#virNetworkPtr">virNetworkPtr</a> network)
int <a href="#virNetworkSetAutostart">virNetworkSetAutostart</a> (<a href="libvirt-libvirt.html#virNetworkPtr">virNetworkPtr</a> network, <br /> int autostart)
int <a href="#virNetworkUndefine">virNetworkUndefine</a> (<a href="libvirt-libvirt.html#virNetworkPtr">virNetworkPtr</a> network)
<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> <a href="#virNodeDeviceCreateXML">virNodeDeviceCreateXML</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * xmlDesc, <br /> unsigned int flags)
int <a href="#virNodeDeviceDestroy">virNodeDeviceDestroy</a> (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev)
int <a href="#virNodeDeviceDettach">virNodeDeviceDettach</a> (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev)
int <a href="#virNodeDeviceFree">virNodeDeviceFree</a> (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev)
const char * <a href="#virNodeDeviceGetName">virNodeDeviceGetName</a> (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev)
@ -382,7 +384,7 @@ int <a href="#virStorageVolRef">virStorageVolRef</a> (<a href="libvirt-libvirt.
</pre><p>This function should be called first to get a connection to the Hypervisor and xen store</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>URI of the hypervisor</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 URIs are documented at http://libvirt.org/uri.html</td></tr></tbody></table></div><h3><a name="virConnectOpenAuth" id="virConnectOpenAuth"><code>virConnectOpenAuth</code></a></h3><pre class="programlisting"><a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> virConnectOpenAuth (const char * name, <br /> <a href="libvirt-libvirt.html#virConnectAuthPtr">virConnectAuthPtr</a> auth, <br /> int flags)<br />
</pre><p>This function should be called first to get a connection to the Hypervisor. If necessary, authentication will be performed fetching credentials via the callback</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>URI of the hypervisor</td></tr><tr><td><span class="term"><i><tt>auth</tt></i>:</span></td><td>Authenticate callback parameters</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>Open flags</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 URIs are documented at http://libvirt.org/uri.html</td></tr></tbody></table></div><h3><a name="virConnectOpenReadOnly" id="virConnectOpenReadOnly"><code>virConnectOpenReadOnly</code></a></h3><pre class="programlisting"><a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> virConnectOpenReadOnly (const char * name)<br />
</pre><p>This function should be called first to get a restricted connection to the library functionalities. The set of APIs usable are then restricted on the available methods to control the domains.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>URI of the hypervisor</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 URIs are documented at http://libvirt.org/uri.html</td></tr></tbody></table></div><h3><a name="virConnectRef" id="virConnectRef"><code>virConnectRef</code></a></h3><pre class="programlisting">int virConnectRef (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn)<br />
</pre><p>Increment the reference count on the connection. For each additional call to this method, there shall be a corresponding call to <a href="libvirt-libvirt.html#virConnectClose">virConnectClose</a> to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a connection would increment the reference count.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>the connection to hold a reference on</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="virDomainAttachDevice" id="virDomainAttachDevice"><code>virDomainAttachDevice</code></a></h3><pre class="programlisting">int virDomainAttachDevice (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> const char * xml)<br />
</pre><p>Increment the reference count on the connection. For each additional call to this method, there shall be a corresponding call to <a href="libvirt-libvirt.html#virConnectClose">virConnectClose</a> to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a connection would increment the reference count.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>the connection to hold a reference on</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of failure</td></tr></tbody></table></div><h3><a name="virDomainAttachDevice" id="virDomainAttachDevice"><code>virDomainAttachDevice</code></a></h3><pre class="programlisting">int virDomainAttachDevice (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> const char * xml)<br />
</pre><p>Create a virtual device attachment to backend.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>pointer to domain object</td></tr><tr><td><span class="term"><i><tt>xml</tt></i>:</span></td><td>pointer to XML description of one device</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainBlockPeek" id="virDomainBlockPeek"><code>virDomainBlockPeek</code></a></h3><pre class="programlisting">int virDomainBlockPeek (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> dom, <br /> const char * path, <br /> unsigned long long offset, <br /> size_t size, <br /> void * buffer, <br /> unsigned int flags)<br />
</pre><p>This function allows you to read the contents of a domain's disk device. Typical uses for this are to determine if the domain has written a Master Boot Record (indicating that the domain has completed installation), or to try to work out the state of the domain's filesystems. (Note that in the local case you might try to open the block device or file directly, but that won't work in the remote case, nor if you don't have sufficient permission. Hence the need for this call). 'path' must be a device or file corresponding to the domain. In other words it must be the precise string returned in a &lt;disk&gt;&lt;source dev='...'/&gt;&lt;/disk&gt; from virDomainGetXMLDesc. 'offset' and 'size' represent an area which must lie entirely within the device or file. 'size' may be 0 to test if the call would succeed. 'buffer' is the return buffer and must be at least 'size' bytes. NB. The remote driver imposes a 64K byte limit on 'size'. For your program to be able to work reliably over a remote connection you should split large requests to &lt;= 65536 bytes.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dom</tt></i>:</span></td><td>pointer to the domain object</td></tr><tr><td><span class="term"><i><tt>path</tt></i>:</span></td><td>path to the block device</td></tr><tr><td><span class="term"><i><tt>offset</tt></i>:</span></td><td>offset within block device</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>size to read</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>return buffer (must be at least size bytes)</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>unused, always pass 0</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success or -1 in case of failure. really 64 bits</td></tr></tbody></table></div><h3><a name="virDomainBlockStats" id="virDomainBlockStats"><code>virDomainBlockStats</code></a></h3><pre class="programlisting">int virDomainBlockStats (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> dom, <br /> const char * path, <br /> <a href="libvirt-libvirt.html#virDomainBlockStatsPtr">virDomainBlockStatsPtr</a> stats, <br /> size_t size)<br />
</pre><p>This function returns block device (disk) stats for block devices attached to the domain. The path parameter is the name of the block device. Get this by calling <a href="libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a> and finding the &lt;target dev='...'&gt; attribute within //domain/devices/disk. (For example, "xvda"). Domains may have more than one block device. To get stats for each you should make multiple calls to this function. Individual fields within the stats structure may be returned as -1, which indicates that the hypervisor does not support that particular statistic.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dom</tt></i>:</span></td><td>pointer to the domain object</td></tr><tr><td><span class="term"><i><tt>path</tt></i>:</span></td><td>path to the block device</td></tr><tr><td><span class="term"><i><tt>stats</tt></i>:</span></td><td>block device stats (returned)</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>size of stats structure</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success or -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainCoreDump" id="virDomainCoreDump"><code>virDomainCoreDump</code></a></h3><pre class="programlisting">int virDomainCoreDump (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> const char * to, <br /> int flags)<br />
@ -418,7 +420,7 @@ int <a href="#virStorageVolRef">virStorageVolRef</a> (<a href="libvirt-libvirt.
</pre><p>Migrate the domain object from its current host to the destination host given by dconn (a connection to the destination host). Flags may be one of more of the following: <a href="libvirt-libvirt.html#VIR_MIGRATE_LIVE">VIR_MIGRATE_LIVE</a> Attempt a live migration. If a hypervisor supports renaming domains during migration, then you may set the dname parameter to the new name (otherwise it keeps the same name). If this is not supported by the hypervisor, dname must be NULL or else you will get an error. Since typically the two hypervisors connect directly to each other in order to perform the migration, you may need to specify a path from the source to the destination. This is the purpose of the uri parameter. If uri is NULL, then libvirt will try to find the best method. Uri may specify the hostname or IP address of the destination host as seen from the source. Or uri may be a URI giving transport, hostname, user, port, etc. in the usual form. Refer to driver documentation for the particular URIs supported. The maximum bandwidth (in Mbps) that will be used to do migration can be specified with the bandwidth parameter. If set to 0, libvirt will choose a suitable default. Some hypervisors do not support this feature and will return an error if bandwidth is not 0. To see which features are supported by the current hypervisor, see virConnectGetCapabilities, /capabilities/host/migration_features. There are many limitations on migration imposed by the underlying technology - for example it may not be possible to migrate between different processors even with the same architecture, or between different types of 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>dconn</tt></i>:</span></td><td>destination host (a connection object)</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>flags</td></tr><tr><td><span class="term"><i><tt>dname</tt></i>:</span></td><td>(optional) rename domain to this at destination</td></tr><tr><td><span class="term"><i><tt>uri</tt></i>:</span></td><td>(optional) dest hostname/URI as seen from the source host</td></tr><tr><td><span class="term"><i><tt>bandwidth</tt></i>:</span></td><td>(optional) specify migration bandwidth limit in Mbps</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new domain object if the migration was successful, or NULL in case of error. Note that the new domain object exists in the scope of the destination connection (dconn).</td></tr></tbody></table></div><h3><a name="virDomainPinVcpu" id="virDomainPinVcpu"><code>virDomainPinVcpu</code></a></h3><pre class="programlisting">int virDomainPinVcpu (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> unsigned int vcpu, <br /> unsigned char * cpumap, <br /> int maplen)<br />
</pre><p>Dynamically change the real CPUs which can be allocated to a virtual CPU. This function requires privileged 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>pointer to domain object, or NULL for Domain0</td></tr><tr><td><span class="term"><i><tt>vcpu</tt></i>:</span></td><td>virtual CPU number</td></tr><tr><td><span class="term"><i><tt>cpumap</tt></i>:</span></td><td>pointer to a bit map of real CPUs (in 8-bit bytes) (IN) Each bit set to 1 means that corresponding CPU is usable. Bytes are stored in little-endian order: CPU0-7, 8-15... In each byte, lowest CPU number is least significant bit.</td></tr><tr><td><span class="term"><i><tt>maplen</tt></i>:</span></td><td>number of bytes in cpumap, from 1 up to size of CPU map in underlying virtualization system (Xen...). If maplen &lt; size, missing bytes are set to zero. If maplen &gt; size, failure code is returned.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainReboot" id="virDomainReboot"><code>virDomainReboot</code></a></h3><pre class="programlisting">int virDomainReboot (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> unsigned int flags)<br />
</pre><p>Reboot a domain, the domain object is still usable there after but the domain OS is being stopped for a restart. Note that the guest OS may ignore the request.</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>extra flags for the reboot operation, not used yet</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="virDomainRef" id="virDomainRef"><code>virDomainRef</code></a></h3><pre class="programlisting">int virDomainRef (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Increment the reference count on the domain. For each additional call to this method, there shall be a corresponding call to <a href="libvirt-libvirt.html#virDomainFree">virDomainFree</a> to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a domain would increment the reference count.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="virDomainRestore" id="virDomainRestore"><code>virDomainRestore</code></a></h3><pre class="programlisting">int virDomainRestore (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * from)<br />
</pre><p>Increment the reference count on the domain. For each additional call to this method, there shall be a corresponding call to <a href="libvirt-libvirt.html#virDomainFree">virDomainFree</a> to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a domain would increment the reference count.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>the domain to hold a reference on</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="virDomainRestore" id="virDomainRestore"><code>virDomainRestore</code></a></h3><pre class="programlisting">int virDomainRestore (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * from)<br />
</pre><p>This method will restore a domain saved to disk by virDomainSave().</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>path to the</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainResume" id="virDomainResume"><code>virDomainResume</code></a></h3><pre class="programlisting">int virDomainResume (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Resume an suspended domain, the process is restarted from the state where it was frozen by calling virSuspendDomain(). This function may requires privileged access</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainSave" id="virDomainSave"><code>virDomainSave</code></a></h3><pre class="programlisting">int virDomainSave (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> const char * to)<br />
</pre><p>This method will suspend a domain and save its memory contents to a file on disk. After the call, if successful, the domain is not listed as running anymore (this may be a problem). Use virDomainRestore() to restore a domain after saving.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>path for the output file</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainSetAutostart" id="virDomainSetAutostart"><code>virDomainSetAutostart</code></a></h3><pre class="programlisting">int virDomainSetAutostart (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> int autostart)<br />
@ -457,10 +459,12 @@ int <a href="#virStorageVolRef">virStorageVolRef</a> (<a href="libvirt-libvirt.
</pre><p>Try to lookup a network on the given hypervisor based on its name.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>name for the network</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new network object or NULL in case of failure. If the network cannot be found, then <a href="libvirt-virterror.html#VIR_ERR_NO_NETWORK">VIR_ERR_NO_NETWORK</a> error is raised.</td></tr></tbody></table></div><h3><a name="virNetworkLookupByUUID" id="virNetworkLookupByUUID"><code>virNetworkLookupByUUID</code></a></h3><pre class="programlisting"><a href="libvirt-libvirt.html#virNetworkPtr">virNetworkPtr</a> virNetworkLookupByUUID (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const unsigned char * uuid)<br />
</pre><p>Try to lookup a network on the given hypervisor based on its UUID.</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>uuid</tt></i>:</span></td><td>the raw UUID for the network</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new network object or NULL in case of failure. If the network cannot be found, then <a href="libvirt-virterror.html#VIR_ERR_NO_NETWORK">VIR_ERR_NO_NETWORK</a> error is raised.</td></tr></tbody></table></div><h3><a name="virNetworkLookupByUUIDString" id="virNetworkLookupByUUIDString"><code>virNetworkLookupByUUIDString</code></a></h3><pre class="programlisting"><a href="libvirt-libvirt.html#virNetworkPtr">virNetworkPtr</a> virNetworkLookupByUUIDString (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * uuidstr)<br />
</pre><p>Try to lookup a network on the given hypervisor based on its UUID.</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>uuidstr</tt></i>:</span></td><td>the string UUID for the network</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new network object or NULL in case of failure. If the network cannot be found, then <a href="libvirt-virterror.html#VIR_ERR_NO_NETWORK">VIR_ERR_NO_NETWORK</a> error is raised.</td></tr></tbody></table></div><h3><a name="virNetworkRef" id="virNetworkRef"><code>virNetworkRef</code></a></h3><pre class="programlisting">int virNetworkRef (<a href="libvirt-libvirt.html#virNetworkPtr">virNetworkPtr</a> network)<br />
</pre><p>Increment the reference count on the network. For each additional call to this method, there shall be a corresponding call to <a href="libvirt-libvirt.html#virNetworkFree">virNetworkFree</a> to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a network would increment the reference count.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>network</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="virNetworkSetAutostart" id="virNetworkSetAutostart"><code>virNetworkSetAutostart</code></a></h3><pre class="programlisting">int virNetworkSetAutostart (<a href="libvirt-libvirt.html#virNetworkPtr">virNetworkPtr</a> network, <br /> int autostart)<br />
</pre><p>Increment the reference count on the network. For each additional call to this method, there shall be a corresponding call to <a href="libvirt-libvirt.html#virNetworkFree">virNetworkFree</a> to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a network would increment the reference count.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>network</tt></i>:</span></td><td>the network to hold a reference on</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virNetworkSetAutostart" id="virNetworkSetAutostart"><code>virNetworkSetAutostart</code></a></h3><pre class="programlisting">int virNetworkSetAutostart (<a href="libvirt-libvirt.html#virNetworkPtr">virNetworkPtr</a> network, <br /> int autostart)<br />
</pre><p>Configure the network to be automatically started when the host machine boots.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>network</tt></i>:</span></td><td>a network object</td></tr><tr><td><span class="term"><i><tt>autostart</tt></i>:</span></td><td>whether the network should be automatically started 0 or 1</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 in case of success</td></tr></tbody></table></div><h3><a name="virNetworkUndefine" id="virNetworkUndefine"><code>virNetworkUndefine</code></a></h3><pre class="programlisting">int virNetworkUndefine (<a href="libvirt-libvirt.html#virNetworkPtr">virNetworkPtr</a> network)<br />
</pre><p>Undefine a network but does not stop it if it is running</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>network</tt></i>:</span></td><td>pointer to a defined network</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div><h3><a name="virNodeDeviceDettach" id="virNodeDeviceDettach"><code>virNodeDeviceDettach</code></a></h3><pre class="programlisting">int virNodeDeviceDettach (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev)<br />
</pre><p></p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dev</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="virNodeDeviceFree" id="virNodeDeviceFree"><code>virNodeDeviceFree</code></a></h3><pre class="programlisting">int virNodeDeviceFree (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev)<br />
</pre><p>Undefine a network but does not stop it if it is running</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>network</tt></i>:</span></td><td>pointer to a defined network</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of error</td></tr></tbody></table></div><h3><a name="virNodeDeviceCreateXML" id="virNodeDeviceCreateXML"><code>virNodeDeviceCreateXML</code></a></h3><pre class="programlisting"><a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> virNodeDeviceCreateXML (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * xmlDesc, <br /> unsigned int flags)<br />
</pre><p>Create a new device on the VM host machine, for example, virtual HBAs created using vport_create.</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>xmlDesc</tt></i>:</span></td><td>string containing an XML description of the device to be created</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>callers should always pass 0</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a node device object if successful, NULL in case of failure</td></tr></tbody></table></div><h3><a name="virNodeDeviceDestroy" id="virNodeDeviceDestroy"><code>virNodeDeviceDestroy</code></a></h3><pre class="programlisting">int virNodeDeviceDestroy (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev)<br />
</pre><p>Destroy the device object. The virtual device is removed from the host operating system. This function may require privileged access</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dev</tt></i>:</span></td><td>a device 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="virNodeDeviceDettach" id="virNodeDeviceDettach"><code>virNodeDeviceDettach</code></a></h3><pre class="programlisting">int virNodeDeviceDettach (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev)<br />
</pre><p>Dettach the node device from the node itself so that it may be assigned to a guest domain. Depending on the hypervisor, this may involve operations such as unbinding any device drivers from the device, binding the device to a dummy device driver and resetting the device. If the device is currently in use by the node, this method may fail. Once the device is not assigned to any guest, it may be re-attached to the node using the virNodeDeviceReattach() method.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dev</tt></i>:</span></td><td>pointer to the node device</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virNodeDeviceFree" id="virNodeDeviceFree"><code>virNodeDeviceFree</code></a></h3><pre class="programlisting">int virNodeDeviceFree (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev)<br />
</pre><p>Drops a reference to the node device, freeing it if this was the last reference.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dev</tt></i>:</span></td><td>pointer to the node device</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the 0 for success, -1 for error.</td></tr></tbody></table></div><h3><a name="virNodeDeviceGetName" id="virNodeDeviceGetName"><code>virNodeDeviceGetName</code></a></h3><pre class="programlisting">const char * virNodeDeviceGetName (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev)<br />
</pre><p>Just return the device name</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dev</tt></i>:</span></td><td>the device</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the device name or NULL in case of error</td></tr></tbody></table></div><h3><a name="virNodeDeviceGetParent" id="virNodeDeviceGetParent"><code>virNodeDeviceGetParent</code></a></h3><pre class="programlisting">const char * virNodeDeviceGetParent (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev)<br />
</pre><p>Accessor for the parent of the device</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dev</tt></i>:</span></td><td>the device</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the name of the device's parent, or NULL if the device has no parent.</td></tr></tbody></table></div><h3><a name="virNodeDeviceGetXMLDesc" id="virNodeDeviceGetXMLDesc"><code>virNodeDeviceGetXMLDesc</code></a></h3><pre class="programlisting">char * virNodeDeviceGetXMLDesc (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev, <br /> unsigned int flags)<br />
@ -468,9 +472,9 @@ int <a href="#virStorageVolRef">virStorageVolRef</a> (<a href="libvirt-libvirt.
</pre><p>Lists the names of the capabilities supported by the device.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dev</tt></i>:</span></td><td>the device</td></tr><tr><td><span class="term"><i><tt>names</tt></i>:</span></td><td>array to collect the list of capability names</td></tr><tr><td><span class="term"><i><tt>maxnames</tt></i>:</span></td><td>size of @names</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of capability names listed in @names.</td></tr></tbody></table></div><h3><a name="virNodeDeviceLookupByName" id="virNodeDeviceLookupByName"><code>virNodeDeviceLookupByName</code></a></h3><pre class="programlisting"><a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> virNodeDeviceLookupByName (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * name)<br />
</pre><p>Lookup a node device by its name.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>unique device name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a <a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> if found, NULL otherwise.</td></tr></tbody></table></div><h3><a name="virNodeDeviceNumOfCaps" id="virNodeDeviceNumOfCaps"><code>virNodeDeviceNumOfCaps</code></a></h3><pre class="programlisting">int virNodeDeviceNumOfCaps (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev)<br />
</pre><p>Accessor for the number of capabilities supported by the device.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dev</tt></i>:</span></td><td>the device</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of capabilities supported by the device.</td></tr></tbody></table></div><h3><a name="virNodeDeviceReAttach" id="virNodeDeviceReAttach"><code>virNodeDeviceReAttach</code></a></h3><pre class="programlisting">int virNodeDeviceReAttach (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev)<br />
</pre><p>Re-attach a previously dettached node device to the node so that it may be used by the node again. Depending on the hypervisor, this may involve operations such as resetting the device, unbinding it from a dummy device driver and binding it to its appropriate driver. If the device is currently in use by a guest, this method may fail.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dev</tt></i>:</span></td><td>pointer to the node device</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="virNodeDeviceRef" id="virNodeDeviceRef"><code>virNodeDeviceRef</code></a></h3><pre class="programlisting">int virNodeDeviceRef (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev)<br />
</pre><p>Increment the reference count on the dev. For each additional call to this method, there shall be a corresponding call to <a href="libvirt-libvirt.html#virNodeDeviceFree">virNodeDeviceFree</a> to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a dev would increment the reference count.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dev</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="virNodeDeviceReset" id="virNodeDeviceReset"><code>virNodeDeviceReset</code></a></h3><pre class="programlisting">int virNodeDeviceReset (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev)<br />
</pre><p>Reset a previously dettached node device to the node before or after assigning it to a guest. The exact reset semantics depends on the hypervisor and device type but, for example, KVM will attempt to reset PCI devices with a Function Level Reset, Secondary Bus Reset or a Power Management D-State reset. If the reset will affect other devices which are currently in use, this function may fail.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dev</tt></i>:</span></td><td>pointer to the node device</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="virNodeGetCellsFreeMemory" id="virNodeGetCellsFreeMemory"><code>virNodeGetCellsFreeMemory</code></a></h3><pre class="programlisting">int virNodeGetCellsFreeMemory (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> unsigned long long * freeMems, <br /> int startCell, <br /> int maxCells)<br />
</pre><p>Re-attach a previously dettached node device to the node so that it may be used by the node again. Depending on the hypervisor, this may involve operations such as resetting the device, unbinding it from a dummy device driver and binding it to its appropriate driver. If the device is currently in use by a guest, this method may fail.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dev</tt></i>:</span></td><td>pointer to the node device</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virNodeDeviceRef" id="virNodeDeviceRef"><code>virNodeDeviceRef</code></a></h3><pre class="programlisting">int virNodeDeviceRef (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev)<br />
</pre><p>Increment the reference count on the dev. For each additional call to this method, there shall be a corresponding call to <a href="libvirt-libvirt.html#virNodeDeviceFree">virNodeDeviceFree</a> to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a dev would increment the reference count.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dev</tt></i>:</span></td><td>the dev to hold a reference on</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virNodeDeviceReset" id="virNodeDeviceReset"><code>virNodeDeviceReset</code></a></h3><pre class="programlisting">int virNodeDeviceReset (<a href="libvirt-libvirt.html#virNodeDevicePtr">virNodeDevicePtr</a> dev)<br />
</pre><p>Reset a previously dettached node device to the node before or after assigning it to a guest. The exact reset semantics depends on the hypervisor and device type but, for example, KVM will attempt to reset PCI devices with a Function Level Reset, Secondary Bus Reset or a Power Management D-State reset. If the reset will affect other devices which are currently in use, this function may fail.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dev</tt></i>:</span></td><td>pointer to the node device</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virNodeGetCellsFreeMemory" id="virNodeGetCellsFreeMemory"><code>virNodeGetCellsFreeMemory</code></a></h3><pre class="programlisting">int virNodeGetCellsFreeMemory (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> unsigned long long * freeMems, <br /> int startCell, <br /> int maxCells)<br />
</pre><p>This call returns the amount of free memory in one or more NUMA cells. The @freeMems array must be allocated by the caller and will be filled with the amount of free memory in kilobytes for each cell requested, starting with startCell (in freeMems[0]), up to either (startCell + maxCells), or the number of additional cells in the node, whichever is smaller.</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>freeMems</tt></i>:</span></td><td>pointer to the array of unsigned long long</td></tr><tr><td><span class="term"><i><tt>startCell</tt></i>:</span></td><td>index of first cell to return freeMems info on.</td></tr><tr><td><span class="term"><i><tt>maxCells</tt></i>:</span></td><td>Maximum number of cells for which freeMems information can be returned.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of entries filled in freeMems, or -1 in case of error.</td></tr></tbody></table></div><h3><a name="virNodeGetFreeMemory" id="virNodeGetFreeMemory"><code>virNodeGetFreeMemory</code></a></h3><pre class="programlisting">unsigned long long virNodeGetFreeMemory (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn)<br />
</pre><p>provides the free memory available on the Node Note: most libvirt APIs provide memory sizes in kilobytes, but in this function the returned value is in bytes. Divide by 1024 as necessary.</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>Returns</tt></i>:</span></td><td>the available free memory in bytes or 0 in case of error</td></tr></tbody></table></div><h3><a name="virNodeGetInfo" id="virNodeGetInfo"><code>virNodeGetInfo</code></a></h3><pre class="programlisting">int virNodeGetInfo (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> <a href="libvirt-libvirt.html#virNodeInfoPtr">virNodeInfoPtr</a> info)<br />
</pre><p>Extract hardware information about the node.</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>info</tt></i>:</span></td><td>pointer to a <a href="libvirt-libvirt.html#virNodeInfo">virNodeInfo</a> structure allocated by the user</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="virNodeGetSecurityModel" id="virNodeGetSecurityModel"><code>virNodeGetSecurityModel</code></a></h3><pre class="programlisting">int virNodeGetSecurityModel (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> <a href="libvirt-libvirt.html#virSecurityModelPtr">virSecurityModelPtr</a> secmodel)<br />
@ -497,7 +501,7 @@ int <a href="#virStorageVolRef">virStorageVolRef</a> (<a href="libvirt-libvirt.
</pre><p>Fetch a storage pool based on its globally unique id</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 hypervisor connection</td></tr><tr><td><span class="term"><i><tt>uuidstr</tt></i>:</span></td><td>globally unique id of pool to fetch</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a <a href="libvirt-libvirt.html#virStoragePoolPtr">virStoragePoolPtr</a> object, or NULL if no matching pool is found</td></tr></tbody></table></div><h3><a name="virStoragePoolLookupByVolume" id="virStoragePoolLookupByVolume"><code>virStoragePoolLookupByVolume</code></a></h3><pre class="programlisting"><a href="libvirt-libvirt.html#virStoragePoolPtr">virStoragePoolPtr</a> virStoragePoolLookupByVolume (<a href="libvirt-libvirt.html#virStorageVolPtr">virStorageVolPtr</a> vol)<br />
</pre><p>Fetch a storage pool which contains a particular volume</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>vol</tt></i>:</span></td><td>pointer to storage volume</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a <a href="libvirt-libvirt.html#virStoragePoolPtr">virStoragePoolPtr</a> object, or NULL if no matching pool is found</td></tr></tbody></table></div><h3><a name="virStoragePoolNumOfVolumes" id="virStoragePoolNumOfVolumes"><code>virStoragePoolNumOfVolumes</code></a></h3><pre class="programlisting">int virStoragePoolNumOfVolumes (<a href="libvirt-libvirt.html#virStoragePoolPtr">virStoragePoolPtr</a> pool)<br />
</pre><p>Fetch the number of storage volumes within a pool</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>pool</tt></i>:</span></td><td>pointer to storage pool</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of storage pools, or -1 on failure</td></tr></tbody></table></div><h3><a name="virStoragePoolRef" id="virStoragePoolRef"><code>virStoragePoolRef</code></a></h3><pre class="programlisting">int virStoragePoolRef (<a href="libvirt-libvirt.html#virStoragePoolPtr">virStoragePoolPtr</a> pool)<br />
</pre><p>Increment the reference count on the pool. For each additional call to this method, there shall be a corresponding call to <a href="libvirt-libvirt.html#virStoragePoolFree">virStoragePoolFree</a> to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a pool would increment the reference count.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>pool</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><h3><a name="virStoragePoolRefresh" id="virStoragePoolRefresh"><code>virStoragePoolRefresh</code></a></h3><pre class="programlisting">int virStoragePoolRefresh (<a href="libvirt-libvirt.html#virStoragePoolPtr">virStoragePoolPtr</a> pool, <br /> unsigned int flags)<br />
</pre><p>Increment the reference count on the pool. For each additional call to this method, there shall be a corresponding call to <a href="libvirt-libvirt.html#virStoragePoolFree">virStoragePoolFree</a> to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a pool would increment the reference count.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>pool</tt></i>:</span></td><td>the pool to hold a reference on</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virStoragePoolRefresh" id="virStoragePoolRefresh"><code>virStoragePoolRefresh</code></a></h3><pre class="programlisting">int virStoragePoolRefresh (<a href="libvirt-libvirt.html#virStoragePoolPtr">virStoragePoolPtr</a> pool, <br /> unsigned int flags)<br />
</pre><p>Request that the pool refresh its list of volumes. This may involve communicating with a remote server, and/or initializing new devices at the OS layer</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>pool</tt></i>:</span></td><td>pointer to storage pool</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>flags to control refresh behaviour (currently unused, use 0)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the volume list was refreshed, -1 on failure</td></tr></tbody></table></div><h3><a name="virStoragePoolSetAutostart" id="virStoragePoolSetAutostart"><code>virStoragePoolSetAutostart</code></a></h3><pre class="programlisting">int virStoragePoolSetAutostart (<a href="libvirt-libvirt.html#virStoragePoolPtr">virStoragePoolPtr</a> pool, <br /> int autostart)<br />
</pre><p>Sets the autostart flag</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>pool</tt></i>:</span></td><td>pointer to storage pool</td></tr><tr><td><span class="term"><i><tt>autostart</tt></i>:</span></td><td>new flag setting</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 on success, -1 on failure</td></tr></tbody></table></div><h3><a name="virStoragePoolUndefine" id="virStoragePoolUndefine"><code>virStoragePoolUndefine</code></a></h3><pre class="programlisting">int virStoragePoolUndefine (<a href="libvirt-libvirt.html#virStoragePoolPtr">virStoragePoolPtr</a> pool)<br />
</pre><p>Undefine an inactive storage pool</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>pool</tt></i>:</span></td><td>pointer to storage pool</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a <a href="libvirt-libvirt.html#virStoragePoolPtr">virStoragePoolPtr</a> object, or NULL if creation failed</td></tr></tbody></table></div><h3><a name="virStorageVolCreateXML" id="virStorageVolCreateXML"><code>virStorageVolCreateXML</code></a></h3><pre class="programlisting"><a href="libvirt-libvirt.html#virStorageVolPtr">virStorageVolPtr</a> virStorageVolCreateXML (<a href="libvirt-libvirt.html#virStoragePoolPtr">virStoragePoolPtr</a> pool, <br /> const char * xmldesc, <br /> unsigned int flags)<br />
@ -513,5 +517,5 @@ int <a href="#virStorageVolRef">virStorageVolRef</a> (<a href="libvirt-libvirt.
</pre><p>Fetch a pointer to a storage volume based on its globally unique key</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 hypervisor connection</td></tr><tr><td><span class="term"><i><tt>key</tt></i>:</span></td><td>globally unique key</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a storage volume, or NULL if not found / error</td></tr></tbody></table></div><h3><a name="virStorageVolLookupByName" id="virStorageVolLookupByName"><code>virStorageVolLookupByName</code></a></h3><pre class="programlisting"><a href="libvirt-libvirt.html#virStorageVolPtr">virStorageVolPtr</a> virStorageVolLookupByName (<a href="libvirt-libvirt.html#virStoragePoolPtr">virStoragePoolPtr</a> pool, <br /> const char * name)<br />
</pre><p>Fetch a pointer to a storage volume based on its name within a pool</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>pool</tt></i>:</span></td><td>pointer to storage pool</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>name of storage volume</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a storage volume, or NULL if not found / error</td></tr></tbody></table></div><h3><a name="virStorageVolLookupByPath" id="virStorageVolLookupByPath"><code>virStorageVolLookupByPath</code></a></h3><pre class="programlisting"><a href="libvirt-libvirt.html#virStorageVolPtr">virStorageVolPtr</a> virStorageVolLookupByPath (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * path)<br />
</pre><p>Fetch a pointer to a storage volume based on its locally (host) unique path</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 hypervisor connection</td></tr><tr><td><span class="term"><i><tt>path</tt></i>:</span></td><td>locally unique path</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a storage volume, or NULL if not found / error</td></tr></tbody></table></div><h3><a name="virStorageVolRef" id="virStorageVolRef"><code>virStorageVolRef</code></a></h3><pre class="programlisting">int virStorageVolRef (<a href="libvirt-libvirt.html#virStorageVolPtr">virStorageVolPtr</a> vol)<br />
</pre><p>Increment the reference count on the vol. For each additional call to this method, there shall be a corresponding call to <a href="libvirt-libvirt.html#virStorageVolFree">virStorageVolFree</a> to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a vol would increment the reference count.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>vol</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div></div></div><div id="footer"><p id="sponsor">
</pre><p>Increment the reference count on the vol. For each additional call to this method, there shall be a corresponding call to <a href="libvirt-libvirt.html#virStorageVolFree">virStorageVolFree</a> to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a vol would increment the reference count.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>vol</tt></i>:</span></td><td>the vol to hold a reference on</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of failure.</td></tr></tbody></table></div></div></div><div id="footer"><p id="sponsor">
Sponsored by:<br /><a href="http://et.redhat.com/"><img src="../et.png" alt="Project sponsored by Red Hat Emerging Technology" /></a></p></div></body></html>

View File

@ -99,6 +99,8 @@
The <a href="http://openvz.org/">OpenVZ</a> Linux container system
</li><li>
The <a href="http://user-mode-linux.sourceforge.net/">User Mode Linux</a> paravirtualized kernel
</li><li>
The <a href="http://www.virtualbox.org/">VirtualBox</a> hypervisor
</li><li>
Storage on IDE/SCSI/USB disks, FibreChannel, LVM, iSCSI, NFS and filesystems
</li></ul>

View File

@ -52,6 +52,9 @@
<li>
The <a href="http://user-mode-linux.sourceforge.net/">User Mode Linux</a> paravirtualized kernel
</li>
<li>
The <a href="http://www.virtualbox.org/">VirtualBox</a> hypervisor
</li>
<li>
Storage on IDE/SCSI/USB disks, FibreChannel, LVM, iSCSI, NFS and filesystems
</li>

View File

@ -180,6 +180,7 @@
<exports symbol='virConnectNumOfDefinedNetworks' type='function'/>
<exports symbol='virConnectNumOfDomains' type='function'/>
<exports symbol='virNetworkGetUUID' type='function'/>
<exports symbol='virNodeDeviceCreateXML' type='function'/>
<exports symbol='virStoragePoolGetConnect' type='function'/>
<exports symbol='virConnectGetVersion' type='function'/>
<exports symbol='virDomainFree' type='function'/>
@ -249,6 +250,7 @@
<exports symbol='virDomainPinVcpu' type='function'/>
<exports symbol='virNodeGetSecurityModel' type='function'/>
<exports symbol='virDomainRestore' type='function'/>
<exports symbol='virNodeDeviceDestroy' type='function'/>
<exports symbol='virStorageVolGetPath' type='function'/>
<exports symbol='virNetworkLookupByUUIDString' type='function'/>
<exports symbol='virConnectDomainEventCallback' type='function'/>
@ -997,7 +999,7 @@ see note above'/>
</function>
<function name='virConnectRef' file='libvirt' module='libvirt'>
<info>Increment the reference count on the connection. For each additional call to this method, there shall be a corresponding call to virConnectClose to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a connection would increment the reference count.</info>
<return type='int' info=''/>
<return type='int' info='0 in case of success, -1 in case of failure'/>
<arg name='conn' type='virConnectPtr' info='the connection to hold a reference on'/>
</function>
<function name='virCopyLastError' file='virterror' module='virterror'>
@ -1237,8 +1239,8 @@ see note above'/>
</function>
<function name='virDomainRef' file='libvirt' module='libvirt'>
<info>Increment the reference count on the domain. For each additional call to this method, there shall be a corresponding call to virDomainFree to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a domain would increment the reference count.</info>
<return type='int' info=''/>
<arg name='domain' type='virDomainPtr' info=''/>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='the domain to hold a reference on'/>
</function>
<function name='virDomainRestore' file='libvirt' module='libvirt'>
<info>This method will restore a domain saved to disk by virDomainSave().</info>
@ -1483,8 +1485,8 @@ see note above'/>
</function>
<function name='virNetworkRef' file='libvirt' module='libvirt'>
<info>Increment the reference count on the network. For each additional call to this method, there shall be a corresponding call to virNetworkFree to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a network would increment the reference count.</info>
<return type='int' info=''/>
<arg name='network' type='virNetworkPtr' info=''/>
<return type='int' info='0 in case of success, -1 in case of failure.'/>
<arg name='network' type='virNetworkPtr' info='the network to hold a reference on'/>
</function>
<function name='virNetworkSetAutostart' file='libvirt' module='libvirt'>
<info>Configure the network to be automatically started when the host machine boots.</info>
@ -1497,10 +1499,22 @@ see note above'/>
<return type='int' info='0 in case of success, -1 in case of error'/>
<arg name='network' type='virNetworkPtr' info='pointer to a defined network'/>
</function>
<function name='virNodeDeviceCreateXML' file='libvirt' module='libvirt'>
<info>Create a new device on the VM host machine, for example, virtual HBAs created using vport_create.</info>
<return type='virNodeDevicePtr' info='a node device object if successful, NULL in case of failure'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='xmlDesc' type='const char *' info='string containing an XML description of the device to be created'/>
<arg name='flags' type='unsigned int' info='callers should always pass 0'/>
</function>
<function name='virNodeDeviceDestroy' file='libvirt' module='libvirt'>
<info>Destroy the device object. The virtual device is removed from the host operating system. This function may require privileged access</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='dev' type='virNodeDevicePtr' info='a device object'/>
</function>
<function name='virNodeDeviceDettach' file='libvirt' module='libvirt'>
<info></info>
<return type='int' info=''/>
<arg name='dev' type='virNodeDevicePtr' info=''/>
<info>Dettach the node device from the node itself so that it may be assigned to a guest domain. Depending on the hypervisor, this may involve operations such as unbinding any device drivers from the device, binding the device to a dummy device driver and resetting the device. If the device is currently in use by the node, this method may fail. Once the device is not assigned to any guest, it may be re-attached to the node using the virNodeDeviceReattach() method.</info>
<return type='int' info='0 in case of success, -1 in case of failure.'/>
<arg name='dev' type='virNodeDevicePtr' info='pointer to the node device'/>
</function>
<function name='virNodeDeviceFree' file='libvirt' module='libvirt'>
<info>Drops a reference to the node device, freeing it if this was the last reference.</info>
@ -1543,17 +1557,17 @@ see note above'/>
</function>
<function name='virNodeDeviceReAttach' file='libvirt' module='libvirt'>
<info>Re-attach a previously dettached node device to the node so that it may be used by the node again. Depending on the hypervisor, this may involve operations such as resetting the device, unbinding it from a dummy device driver and binding it to its appropriate driver. If the device is currently in use by a guest, this method may fail.</info>
<return type='int' info=''/>
<return type='int' info='0 in case of success, -1 in case of failure.'/>
<arg name='dev' type='virNodeDevicePtr' info='pointer to the node device'/>
</function>
<function name='virNodeDeviceRef' file='libvirt' module='libvirt'>
<info>Increment the reference count on the dev. For each additional call to this method, there shall be a corresponding call to virNodeDeviceFree to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a dev would increment the reference count.</info>
<return type='int' info=''/>
<arg name='dev' type='virNodeDevicePtr' info=''/>
<return type='int' info='0 in case of success, -1 in case of failure.'/>
<arg name='dev' type='virNodeDevicePtr' info='the dev to hold a reference on'/>
</function>
<function name='virNodeDeviceReset' file='libvirt' module='libvirt'>
<info>Reset a previously dettached node device to the node before or after assigning it to a guest. The exact reset semantics depends on the hypervisor and device type but, for example, KVM will attempt to reset PCI devices with a Function Level Reset, Secondary Bus Reset or a Power Management D-State reset. If the reset will affect other devices which are currently in use, this function may fail.</info>
<return type='int' info=''/>
<return type='int' info='0 in case of success, -1 in case of failure.'/>
<arg name='dev' type='virNodeDevicePtr' info='pointer to the node device'/>
</function>
<function name='virNodeGetCellsFreeMemory' file='libvirt' module='libvirt'>
@ -1735,8 +1749,8 @@ see note above'/>
</function>
<function name='virStoragePoolRef' file='libvirt' module='libvirt'>
<info>Increment the reference count on the pool. For each additional call to this method, there shall be a corresponding call to virStoragePoolFree to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a pool would increment the reference count.</info>
<return type='int' info=''/>
<arg name='pool' type='virStoragePoolPtr' info=''/>
<return type='int' info='0 in case of success, -1 in case of failure.'/>
<arg name='pool' type='virStoragePoolPtr' info='the pool to hold a reference on'/>
</function>
<function name='virStoragePoolRefresh' file='libvirt' module='libvirt'>
<info>Request that the pool refresh its list of volumes. This may involve communicating with a remote server, and/or initializing new devices at the OS layer</info>
@ -1825,8 +1839,8 @@ see note above'/>
</function>
<function name='virStorageVolRef' file='libvirt' module='libvirt'>
<info>Increment the reference count on the vol. For each additional call to this method, there shall be a corresponding call to virStorageVolFree to release the reference count, once the caller no longer needs the reference to this object. This method is typically useful for applications where multiple threads are using a connection, and it is required that the connection remain open until all threads have finished using it. ie, each new thread using a vol would increment the reference count.</info>
<return type='int' info=''/>
<arg name='vol' type='virStorageVolPtr' info=''/>
<return type='int' info='0 in case of success, -1 in case of failure.'/>
<arg name='vol' type='virStorageVolPtr' info='the vol to hold a reference on'/>
</function>
</symbols>
</api>

View File

@ -334,6 +334,8 @@
<reference name='virNetworkSetAutostart' href='html/libvirt-libvirt.html#virNetworkSetAutostart'/>
<reference name='virNetworkUndefine' href='html/libvirt-libvirt.html#virNetworkUndefine'/>
<reference name='virNodeDevice' href='html/libvirt-libvirt.html#virNodeDevice'/>
<reference name='virNodeDeviceCreateXML' href='html/libvirt-libvirt.html#virNodeDeviceCreateXML'/>
<reference name='virNodeDeviceDestroy' href='html/libvirt-libvirt.html#virNodeDeviceDestroy'/>
<reference name='virNodeDeviceDettach' href='html/libvirt-libvirt.html#virNodeDeviceDettach'/>
<reference name='virNodeDeviceFree' href='html/libvirt-libvirt.html#virNodeDeviceFree'/>
<reference name='virNodeDeviceGetName' href='html/libvirt-libvirt.html#virNodeDeviceGetName'/>
@ -760,6 +762,8 @@
<ref name='virNetworkSetAutostart'/>
<ref name='virNetworkUndefine'/>
<ref name='virNodeDevice'/>
<ref name='virNodeDeviceCreateXML'/>
<ref name='virNodeDeviceDestroy'/>
<ref name='virNodeDeviceDettach'/>
<ref name='virNodeDeviceFree'/>
<ref name='virNodeDeviceGetName'/>
@ -888,6 +892,7 @@
<ref name='virNetworkLookupByUUIDString'/>
</type>
<type name='virNodeDevicePtr'>
<ref name='virNodeDeviceCreateXML'/>
<ref name='virNodeDeviceLookupByName'/>
</type>
<type name='virStoragePoolPtr'>
@ -952,6 +957,7 @@
<ref name='virDomainPinVcpu'/>
<ref name='virDomainReboot'/>
<ref name='virDomainSetVcpus'/>
<ref name='virNodeDeviceCreateXML'/>
<ref name='virNodeDeviceGetXMLDesc'/>
<ref name='virNodeListDevices'/>
<ref name='virNodeNumOfDevices'/>
@ -1035,6 +1041,7 @@
<ref name='virNetworkLookupByName'/>
<ref name='virNetworkLookupByUUID'/>
<ref name='virNetworkLookupByUUIDString'/>
<ref name='virNodeDeviceCreateXML'/>
<ref name='virNodeDeviceLookupByName'/>
<ref name='virNodeGetCellsFreeMemory'/>
<ref name='virNodeGetFreeMemory'/>
@ -1158,6 +1165,7 @@
<ref name='virNetworkUndefine'/>
</type>
<type name='virNodeDevicePtr'>
<ref name='virNodeDeviceDestroy'/>
<ref name='virNodeDeviceDettach'/>
<ref name='virNodeDeviceFree'/>
<ref name='virNodeDeviceGetName'/>
@ -1477,6 +1485,8 @@
<ref name='virNetworkSetAutostart'/>
<ref name='virNetworkUndefine'/>
<ref name='virNodeDevice'/>
<ref name='virNodeDeviceCreateXML'/>
<ref name='virNodeDeviceDestroy'/>
<ref name='virNodeDeviceDettach'/>
<ref name='virNodeDeviceFree'/>
<ref name='virNodeDeviceGetName'/>
@ -1783,6 +1793,7 @@
<ref name='virDomainAttachDevice'/>
<ref name='virNetworkCreate'/>
<ref name='virNetworkCreateXML'/>
<ref name='virNodeDeviceCreateXML'/>
<ref name='virStoragePoolCreateXML'/>
<ref name='virStorageVolCreateXML'/>
</word>
@ -1814,6 +1825,7 @@
<ref name='virStorageVolDelete'/>
</word>
<word name='Depending'>
<ref name='virNodeDeviceDettach'/>
<ref name='virNodeDeviceReAttach'/>
<ref name='virStorageVolGetPath'/>
</word>
@ -1824,8 +1836,12 @@
<ref name='virDomainDestroy'/>
<ref name='virDomainDetachDevice'/>
<ref name='virNetworkDestroy'/>
<ref name='virNodeDeviceDestroy'/>
<ref name='virStoragePoolDestroy'/>
</word>
<word name='Dettach'>
<ref name='virNodeDeviceDettach'/>
</word>
<word name='Divide'>
<ref name='virNodeGetFreeMemory'/>
</word>
@ -1952,6 +1968,9 @@
</word>
</letter>
<letter name='H'>
<word name='HBAs'>
<ref name='virNodeDeviceCreateXML'/>
</word>
<word name='Hence'>
<ref name='virDomainBlockPeek'/>
</word>
@ -2101,6 +2120,9 @@
<ref name='virDomainGetVcpus'/>
<ref name='virGetVersion'/>
</word>
<word name='Once'>
<ref name='virNodeDeviceDettach'/>
</word>
<word name='One'>
<ref name='_virConnectCredential'/>
<ref name='virConnCopyLastError'/>
@ -2391,26 +2413,6 @@
</word>
</letter>
<letter name='X'>
<word name='XML'>
<ref name='virConnectFindStoragePoolSources'/>
<ref name='virConnectGetCapabilities'/>
<ref name='virConnectGetMaxVcpus'/>
<ref name='virDomainAttachDevice'/>
<ref name='virDomainCreateLinux'/>
<ref name='virDomainCreateXML'/>
<ref name='virDomainDefineXML'/>
<ref name='virDomainDetachDevice'/>
<ref name='virDomainGetXMLDesc'/>
<ref name='virNetworkCreateXML'/>
<ref name='virNetworkDefineXML'/>
<ref name='virNetworkGetXMLDesc'/>
<ref name='virNodeDeviceGetXMLDesc'/>
<ref name='virStoragePoolCreateXML'/>
<ref name='virStoragePoolDefineXML'/>
<ref name='virStoragePoolGetXMLDesc'/>
<ref name='virStorageVolCreateXML'/>
<ref name='virStorageVolGetXMLDesc'/>
</word>
<word name='Xen'>
<ref name='_virDomainBlockStats'/>
<ref name='virDomainCoreDump'/>
@ -2453,6 +2455,7 @@
<ref name='virDomainSuspend'/>
<ref name='virGetLastError'/>
<ref name='virNetworkDestroy'/>
<ref name='virNodeDeviceDestroy'/>
<ref name='virResetLastError'/>
</word>
<word name='accessed'>
@ -2586,6 +2589,7 @@
<ref name='virDomainBlockPeek'/>
<ref name='virDomainCreateLinux'/>
<ref name='virDomainCreateXML'/>
<ref name='virNodeDeviceCreateXML'/>
</word>
<word name='amount'>
<ref name='virDomainGetMaxMemory'/>
@ -2597,6 +2601,7 @@
<ref name='virDomainCoreDump'/>
</word>
<word name='any'>
<ref name='virNodeDeviceDettach'/>
<ref name='virStoragePoolDestroy'/>
</word>
<word name='anymore'>
@ -2672,6 +2677,7 @@
<ref name='virStorageVolGetXMLDesc'/>
</word>
<word name='assigned'>
<ref name='virNodeDeviceDettach'/>
<ref name='virStorageVolGetPath'/>
</word>
<word name='assigning'>
@ -2817,6 +2823,7 @@
<ref name='virDomainMigrate'/>
</word>
<word name='binding'>
<ref name='virNodeDeviceDettach'/>
<ref name='virNodeDeviceReAttach'/>
</word>
<word name='bindings'>
@ -2937,6 +2944,7 @@
<word name='callers'>
<ref name='virDomainCreateLinux'/>
<ref name='virDomainCreateXML'/>
<ref name='virNodeDeviceCreateXML'/>
</word>
<word name='calling'>
<ref name='virConnectDomainEventRegister'/>
@ -3125,6 +3133,7 @@
<ref name='virConnectFindStoragePoolSources'/>
<ref name='virDomainCreateLinux'/>
<ref name='virDomainCreateXML'/>
<ref name='virNodeDeviceCreateXML'/>
</word>
<word name='contains'>
<ref name='virStoragePoolLookupByVolume'/>
@ -3221,6 +3230,9 @@
<ref name='virNetworkDefineXML'/>
<ref name='virStorageVolCreateXML'/>
</word>
<word name='created'>
<ref name='virNodeDeviceCreateXML'/>
</word>
<word name='creation'>
<ref name='virStoragePoolCreateXML'/>
<ref name='virStoragePoolDefineXML'/>
@ -3237,6 +3249,7 @@
</word>
<word name='currently'>
<ref name='virDomainCoreDump'/>
<ref name='virNodeDeviceDettach'/>
<ref name='virNodeDeviceReAttach'/>
<ref name='virNodeDeviceReset'/>
<ref name='virStoragePoolRefresh'/>
@ -3333,6 +3346,7 @@
<ref name='virNetworkCreateXML'/>
<ref name='virNetworkDefineXML'/>
<ref name='virNetworkGetXMLDesc'/>
<ref name='virNodeDeviceCreateXML'/>
<ref name='virStoragePoolCreateXML'/>
<ref name='virStoragePoolDefineXML'/>
<ref name='virStorageVolCreateXML'/>
@ -3475,9 +3489,14 @@
<ref name='virDomainMemoryPeek'/>
<ref name='virDomainMigrate'/>
<ref name='virGetVersion'/>
<ref name='virNodeDeviceDettach'/>
<ref name='virNodeDeviceReAttach'/>
</word>
<word name='drivers'>
<ref name='virNodeDeviceDettach'/>
</word>
<word name='dummy'>
<ref name='virNodeDeviceDettach'/>
<ref name='virNodeDeviceReAttach'/>
</word>
<word name='dump'>
@ -3582,6 +3601,7 @@
<word name='example'>
<ref name='virDomainBlockStats'/>
<ref name='virDomainMigrate'/>
<ref name='virNodeDeviceCreateXML'/>
<ref name='virNodeDeviceReset'/>
</word>
<word name='execution'>
@ -3634,6 +3654,7 @@
</word>
<word name='fail'>
<ref name='virDomainSetVcpus'/>
<ref name='virNodeDeviceDettach'/>
<ref name='virNodeDeviceReAttach'/>
<ref name='virNodeDeviceReset'/>
</word>
@ -3838,6 +3859,8 @@
<ref name='virDomainResume'/>
<ref name='virEventHandleCallback'/>
<ref name='virNetworkCreate'/>
<ref name='virNodeDeviceDestroy'/>
<ref name='virNodeDeviceDettach'/>
<ref name='virNodeDeviceReAttach'/>
<ref name='virStorageVolDelete'/>
<ref name='virStorageVolGetKey'/>
@ -3930,6 +3953,7 @@
<ref name='virDomainGetMaxVcpus'/>
<ref name='virDomainReboot'/>
<ref name='virDomainShutdown'/>
<ref name='virNodeDeviceDettach'/>
<ref name='virNodeDeviceReAttach'/>
<ref name='virNodeDeviceReset'/>
</word>
@ -3995,6 +4019,11 @@
</word>
<word name='hold'>
<ref name='virConnectRef'/>
<ref name='virDomainRef'/>
<ref name='virNetworkRef'/>
<ref name='virNodeDeviceRef'/>
<ref name='virStoragePoolRef'/>
<ref name='virStorageVolRef'/>
</word>
<word name='host'>
<ref name='VIR_NODEINFO_MAXCPUS'/>
@ -4005,6 +4034,8 @@
<ref name='virDomainSetAutostart'/>
<ref name='virNetworkGetAutostart'/>
<ref name='virNetworkSetAutostart'/>
<ref name='virNodeDeviceCreateXML'/>
<ref name='virNodeDeviceDestroy'/>
<ref name='virStoragePoolCreateXML'/>
<ref name='virStoragePoolDestroy'/>
<ref name='virStoragePoolFree'/>
@ -4197,6 +4228,7 @@
<ref name='virEventRemoveTimeoutFunc'/>
</word>
<word name='involve'>
<ref name='virNodeDeviceDettach'/>
<ref name='virNodeDeviceReAttach'/>
<ref name='virStoragePoolRefresh'/>
</word>
@ -4229,6 +4261,7 @@
<ref name='virStorageVolLookupByPath'/>
</word>
<word name='itself'>
<ref name='virNodeDeviceDettach'/>
<ref name='virStoragePoolDelete'/>
</word>
</letter>
@ -4482,6 +4515,7 @@
<ref name='virDomainSetAutostart'/>
<ref name='virNetworkGetAutostart'/>
<ref name='virNetworkSetAutostart'/>
<ref name='virNodeDeviceCreateXML'/>
</word>
<word name='macro'>
<ref name='VIR_COPY_CPUMAP'/>
@ -4584,6 +4618,7 @@
<ref name='virDomainRestore'/>
<ref name='virDomainSave'/>
<ref name='virNetworkRef'/>
<ref name='virNodeDeviceDettach'/>
<ref name='virNodeDeviceReAttach'/>
<ref name='virNodeDeviceRef'/>
<ref name='virStoragePoolGetXMLDesc'/>
@ -4750,6 +4785,8 @@
</word>
<word name='node'>
<ref name='_virNodeInfo'/>
<ref name='virNodeDeviceCreateXML'/>
<ref name='virNodeDeviceDettach'/>
<ref name='virNodeDeviceFree'/>
<ref name='virNodeDeviceGetXMLDesc'/>
<ref name='virNodeDeviceLookupByName'/>
@ -4880,6 +4917,9 @@
<ref name='virStoragePoolRef'/>
<ref name='virStorageVolRef'/>
</word>
<word name='operating'>
<ref name='virNodeDeviceDestroy'/>
</word>
<word name='operation'>
<ref name='virDomainGetOSType'/>
<ref name='virDomainGetSecurityLabel'/>
@ -4888,6 +4928,7 @@
<ref name='virStoragePoolDelete'/>
</word>
<word name='operations'>
<ref name='virNodeDeviceDettach'/>
<ref name='virNodeDeviceReAttach'/>
</word>
<word name='option'>
@ -4997,6 +5038,7 @@
<ref name='virDomainCreateXML'/>
<ref name='virEventAddHandleFunc'/>
<ref name='virEventAddTimeoutFunc'/>
<ref name='virNodeDeviceCreateXML'/>
<ref name='virNodeDeviceGetXMLDesc'/>
<ref name='virNodeListDevices'/>
<ref name='virNodeNumOfDevices'/>
@ -5115,6 +5157,7 @@
<ref name='virDomainSetVcpus'/>
<ref name='virDomainSuspend'/>
<ref name='virNetworkDestroy'/>
<ref name='virNodeDeviceDestroy'/>
</word>
<word name='problem'>
<ref name='virDomainSave'/>
@ -5196,6 +5239,9 @@
<ref name='virDomainLookupByUUID'/>
<ref name='virNetworkLookupByUUID'/>
</word>
<word name='re-attached'>
<ref name='virNodeDeviceDettach'/>
</word>
<word name='reactivate'>
<ref name='virDomainSuspend'/>
</word>
@ -5302,6 +5348,9 @@
<word name='remove'>
<ref name='virEventRemoveTimeoutFunc'/>
</word>
<word name='removed'>
<ref name='virNodeDeviceDestroy'/>
</word>
<word name='removes'>
<ref name='virEventRemoveTimeoutFunc'/>
</word>
@ -5337,6 +5386,7 @@
<word name='require'>
<ref name='virDomainDestroy'/>
<ref name='virNetworkDestroy'/>
<ref name='virNodeDeviceDestroy'/>
</word>
<word name='required'>
<ref name='VIR_CPU_MAPLEN'/>
@ -5374,6 +5424,7 @@
<ref name='virSetErrorFunc'/>
</word>
<word name='resetting'>
<ref name='virNodeDeviceDettach'/>
<ref name='virNodeDeviceReAttach'/>
<ref name='virResetLastError'/>
</word>
@ -5603,6 +5654,7 @@
<ref name='virDomainShutdown'/>
<ref name='virNetworkFree'/>
<ref name='virNetworkSetAutostart'/>
<ref name='virNodeDeviceCreateXML'/>
</word>
<word name='show'>
<ref name='_virConnectCredential'/>
@ -5792,6 +5844,7 @@
<ref name='virNetworkGetName'/>
<ref name='virNetworkGetUUIDString'/>
<ref name='virNetworkLookupByUUIDString'/>
<ref name='virNodeDeviceCreateXML'/>
<ref name='virStoragePoolGetUUIDString'/>
</word>
<word name='structure'>
@ -5816,10 +5869,12 @@
<word name='successful'>
<ref name='virDomainMigrate'/>
<ref name='virDomainSave'/>
<ref name='virNodeDeviceCreateXML'/>
</word>
<word name='such'>
<ref name='virConnCopyLastError'/>
<ref name='virConnGetLastError'/>
<ref name='virNodeDeviceDettach'/>
<ref name='virNodeDeviceReAttach'/>
<ref name='virStoragePoolGetInfo'/>
<ref name='virStorageVolGetInfo'/>
@ -5872,6 +5927,7 @@
<ref name='virDomainGetOSType'/>
<ref name='virDomainGetVcpus'/>
<ref name='virDomainPinVcpu'/>
<ref name='virNodeDeviceDestroy'/>
</word>
</letter>
</chunk>
@ -6067,6 +6123,7 @@
</letter>
<letter name='u'>
<word name='unbinding'>
<ref name='virNodeDeviceDettach'/>
<ref name='virNodeDeviceReAttach'/>
</word>
<word name='undefined'>
@ -6172,6 +6229,7 @@
<ref name='virDomainGetConnect'/>
<ref name='virErrorFunc'/>
<ref name='virNetworkGetConnect'/>
<ref name='virNodeDeviceDettach'/>
<ref name='virNodeDeviceReAttach'/>
<ref name='virNodeDeviceReset'/>
<ref name='virStoragePoolBuild'/>
@ -6250,6 +6308,8 @@
<ref name='virConnectRef'/>
<ref name='virDomainRef'/>
<ref name='virNetworkRef'/>
<ref name='virNodeDeviceCreateXML'/>
<ref name='virNodeDeviceDettach'/>
<ref name='virNodeDeviceRef'/>
<ref name='virStoragePoolRef'/>
<ref name='virStorageVolRef'/>
@ -6444,6 +6504,9 @@
<word name='virNodeDevicePtr'>
<ref name='virNodeDeviceLookupByName'/>
</word>
<word name='virNodeDeviceReattach'>
<ref name='virNodeDeviceDettach'/>
</word>
<word name='virNodeInfo'>
<ref name='nodeinfo'/>
<ref name='virNodeGetInfo'/>
@ -6516,6 +6579,8 @@
<ref name='virDomainPinVcpu'/>
<ref name='virDomainSetVcpus'/>
<ref name='virNetworkCreateXML'/>
<ref name='virNodeDeviceCreateXML'/>
<ref name='virNodeDeviceDestroy'/>
</word>
<word name='virtualization'>
<ref name='virDomainGetVcpus'/>
@ -6534,6 +6599,9 @@
<ref name='virStoragePoolRefresh'/>
<ref name='virStorageVolCreateXML'/>
</word>
<word name='vport_create'>
<ref name='virNodeDeviceCreateXML'/>
</word>
</letter>
<letter name='w'>
<word name='want'>

View File

@ -76,6 +76,32 @@
<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 progress.</p>
<h3>0.6.3: Apr 24 2009</h3>
<ul><li>New features: VirtualBox driver support (Pritesh Kothari),
virt-xml-validate new command (Daniel Berrange)</li><li>Portability: patch to build on Centos (Joseph Shraibman),
build breakage (Anton Protopopov), </li><li>Documentation: Linux Containers documentation (Serge Hallyn),
improvement and updates of architecture pages, fix
virNodeGetFreeMemory documentation to reflect reality,
man page cleanups (Daniel Berrange), man page typo
(Robert P. J. Day), VirtualBox Documentation (Pritesh Kothari),
</li><li>Bug fixes: veth off-by-one error (Dan Smith), vcpupin to inactive
Xen crash (Takahashi Tomohiro), virsh ttyconsole return value,
use format= not fmt= on QEmu commandline (Mark McLoughlin),
use UUID for internal domain lookups (Daniel Berrange), remote
domain ID related bugs (Daniel Berrange), QEmu pidfile handling
bugs (Daniel Berrange), network config handling on old Xen (Daniel
Berrange)</li><li>Improvements: add SCSI storage rescan (David Allan), rootless
LXC containers support improvements (Serge Hallyn), getHostname
support for LXC (Dan Smith), cleanup and logging output of some
domain functions (Guido Günther), drop pool lock when allocating
volumes (Cole Robinson), LXC handle kernel without CLONE_NEWUSER
support (Serge Hallyn), cpu pinning on defined Xen domains (Takahashi
Tomohiro), dynamic bridge names support (Soren Hansen), LXC use
of private /dev/pts when available (Daniel Berrange),
virNodeDeviceCreateXML and virNodeDeviceDestroy entry points
(Dave Allan)</li><li>Cleanups: don't hardcode getgrnam_r buffer to 1024 bytes (Guido
Günther), qemudBuildCommandLine API cleanup (Daniel Berrange),
</li></ul>
<h3>0.6.2: Apr 3 2009</h3>
<ul><li>New features: support SASL auth for VNC server (Daniel Berrange),
memory ballooning in QEMU (Daniel Berrange), SCSI HBA storage pool

View File

@ -5,6 +5,39 @@
<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 progress.</p>
<h3>0.6.3: Apr 24 2009</h3>
<ul>
<li>New features: VirtualBox driver support (Pritesh Kothari),
virt-xml-validate new command (Daniel Berrange)</li>
<li>Portability: patch to build on Centos (Joseph Shraibman),
build breakage (Anton Protopopov), </li>
<li>Documentation: Linux Containers documentation (Serge Hallyn),
improvement and updates of architecture pages, fix
virNodeGetFreeMemory documentation to reflect reality,
man page cleanups (Daniel Berrange), man page typo
(Robert P. J. Day), VirtualBox Documentation (Pritesh Kothari),
</li>
<li>Bug fixes: veth off-by-one error (Dan Smith), vcpupin to inactive
Xen crash (Takahashi Tomohiro), virsh ttyconsole return value,
use format= not fmt= on QEmu commandline (Mark McLoughlin),
use UUID for internal domain lookups (Daniel Berrange), remote
domain ID related bugs (Daniel Berrange), QEmu pidfile handling
bugs (Daniel Berrange), network config handling on old Xen (Daniel
Berrange)</li>
<li>Improvements: add SCSI storage rescan (David Allan), rootless
LXC containers support improvements (Serge Hallyn), getHostname
support for LXC (Dan Smith), cleanup and logging output of some
domain functions (Guido Günther), drop pool lock when allocating
volumes (Cole Robinson), LXC handle kernel without CLONE_NEWUSER
support (Serge Hallyn), cpu pinning on defined Xen domains (Takahashi
Tomohiro), dynamic bridge names support (Soren Hansen), LXC use
of private /dev/pts when available (Daniel Berrange),
virNodeDeviceCreateXML and virNodeDeviceDestroy entry points
(Dave Allan)</li>
<li>Cleanups: don't hardcode getgrnam_r buffer to 1024 bytes (Guido
Günther), qemudBuildCommandLine API cleanup (Daniel Berrange),
</li>
</ul>
<h3>0.6.2: Apr 3 2009</h3>
<ul>
<li>New features: support SASL auth for VNC server (Daniel Berrange),

View File

@ -442,7 +442,7 @@ extern virConnectAuthPtr virConnectAuthPtrDefault;
* version * 1,000,000 + minor * 1000 + micro
*/
#define LIBVIR_VERSION_NUMBER 6002
#define LIBVIR_VERSION_NUMBER 6003
int virGetVersion (unsigned long *libVer,
const char *type,

View File

@ -506,6 +506,10 @@ fi
%endif
%changelog
* Fri Apr 24 2009 Daniel Veillard <veillard@redhat.com> - 0.6.3-1
- release of 0.6.3
- VirtualBox driver
* Fri Apr 3 2009 Daniel Veillard <veillard@redhat.com> - 0.6.2-1
- release of 0.6.2

524
po/af.po

File diff suppressed because it is too large Load Diff

524
po/am.po

File diff suppressed because it is too large Load Diff

524
po/ar.po

File diff suppressed because it is too large Load Diff

524
po/as.po

File diff suppressed because it is too large Load Diff

524
po/be.po

File diff suppressed because it is too large Load Diff

524
po/bg.po

File diff suppressed because it is too large Load Diff

524
po/bn.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

524
po/bs.po

File diff suppressed because it is too large Load Diff

524
po/ca.po

File diff suppressed because it is too large Load Diff

524
po/cs.po

File diff suppressed because it is too large Load Diff

524
po/cy.po

File diff suppressed because it is too large Load Diff

524
po/da.po

File diff suppressed because it is too large Load Diff

524
po/de.po

File diff suppressed because it is too large Load Diff

524
po/el.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

524
po/es.po

File diff suppressed because it is too large Load Diff

524
po/et.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

524
po/fa.po

File diff suppressed because it is too large Load Diff

524
po/fi.po

File diff suppressed because it is too large Load Diff

524
po/fr.po

File diff suppressed because it is too large Load Diff

524
po/gl.po

File diff suppressed because it is too large Load Diff

524
po/gu.po

File diff suppressed because it is too large Load Diff

524
po/he.po

File diff suppressed because it is too large Load Diff

524
po/hi.po

File diff suppressed because it is too large Load Diff

524
po/hr.po

File diff suppressed because it is too large Load Diff

524
po/hu.po

File diff suppressed because it is too large Load Diff

524
po/hy.po

File diff suppressed because it is too large Load Diff

524
po/id.po

File diff suppressed because it is too large Load Diff

524
po/is.po

File diff suppressed because it is too large Load Diff

524
po/it.po

File diff suppressed because it is too large Load Diff

524
po/ja.po

File diff suppressed because it is too large Load Diff

524
po/ka.po

File diff suppressed because it is too large Load Diff

524
po/kn.po

File diff suppressed because it is too large Load Diff

524
po/ko.po

File diff suppressed because it is too large Load Diff

524
po/ku.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

524
po/lo.po

File diff suppressed because it is too large Load Diff

524
po/lt.po

File diff suppressed because it is too large Load Diff

524
po/lv.po

File diff suppressed because it is too large Load Diff

524
po/mk.po

File diff suppressed because it is too large Load Diff

524
po/ml.po

File diff suppressed because it is too large Load Diff

524
po/mr.po

File diff suppressed because it is too large Load Diff

524
po/ms.po

File diff suppressed because it is too large Load Diff

524
po/my.po

File diff suppressed because it is too large Load Diff

524
po/nb.po

File diff suppressed because it is too large Load Diff

606
po/nl.po

File diff suppressed because it is too large Load Diff

524
po/nn.po

File diff suppressed because it is too large Load Diff

524
po/nso.po

File diff suppressed because it is too large Load Diff

524
po/or.po

File diff suppressed because it is too large Load Diff

524
po/pa.po

File diff suppressed because it is too large Load Diff

524
po/pl.po

File diff suppressed because it is too large Load Diff

524
po/pt.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

524
po/ro.po

File diff suppressed because it is too large Load Diff

524
po/ru.po

File diff suppressed because it is too large Load Diff

524
po/si.po

File diff suppressed because it is too large Load Diff

524
po/sk.po

File diff suppressed because it is too large Load Diff

524
po/sl.po

File diff suppressed because it is too large Load Diff

524
po/sq.po

File diff suppressed because it is too large Load Diff

524
po/sr.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

524
po/sv.po

File diff suppressed because it is too large Load Diff

524
po/ta.po

File diff suppressed because it is too large Load Diff

524
po/te.po

File diff suppressed because it is too large Load Diff

524
po/th.po

File diff suppressed because it is too large Load Diff

524
po/tr.po

File diff suppressed because it is too large Load Diff

524
po/uk.po

File diff suppressed because it is too large Load Diff

524
po/ur.po

File diff suppressed because it is too large Load Diff

524
po/vi.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

524
po/zu.po

File diff suppressed because it is too large Load Diff

View File

@ -1151,6 +1151,8 @@ virConnectClose(virConnectPtr conn)
* connection remain open until all threads have finished using
* it. ie, each new thread using a connection would increment
* the reference count.
*
* Returns 0 in case of success, -1 in case of failure
*/
int
virConnectRef(virConnectPtr conn)
@ -1816,7 +1818,7 @@ virDomainFree(virDomainPtr domain)
/**
* virDomainRef:
* @conn: the domain to hold a reference on
* @domain: the domain to hold a reference on
*
* Increment the reference count on the domain. For each
* additional call to this method, there shall be a corresponding
@ -1828,6 +1830,8 @@ virDomainFree(virDomainPtr domain)
* connection remain open until all threads have finished using
* it. ie, each new thread using a domain would increment
* the reference count.
*
* Returns 0 in case of success and -1 in case of failure.
*/
int
virDomainRef(virDomainPtr domain)
@ -4967,7 +4971,7 @@ virNetworkFree(virNetworkPtr network)
/**
* virNetworkRef:
* @conn: the network to hold a reference on
* @network: the network to hold a reference on
*
* Increment the reference count on the network. For each
* additional call to this method, there shall be a corresponding
@ -4979,6 +4983,8 @@ virNetworkFree(virNetworkPtr network)
* connection remain open until all threads have finished using
* it. ie, each new thread using a network would increment
* the reference count.
*
* Returns 0 in case of success, -1 in case of failure.
*/
int
virNetworkRef(virNetworkPtr network)
@ -6051,7 +6057,7 @@ virStoragePoolFree(virStoragePoolPtr pool)
/**
* virStoragePoolRef:
* @conn: the pool to hold a reference on
* @pool: the pool to hold a reference on
*
* Increment the reference count on the pool. For each
* additional call to this method, there shall be a corresponding
@ -6063,6 +6069,8 @@ virStoragePoolFree(virStoragePoolPtr pool)
* connection remain open until all threads have finished using
* it. ie, each new thread using a pool would increment
* the reference count.
*
* Returns 0 in case of success, -1 in case of failure.
*/
int
virStoragePoolRef(virStoragePoolPtr pool)
@ -6832,7 +6840,7 @@ virStorageVolFree(virStorageVolPtr vol)
/**
* virStorageVolRef:
* @conn: the vol to hold a reference on
* @vol: the vol to hold a reference on
*
* Increment the reference count on the vol. For each
* additional call to this method, there shall be a corresponding
@ -6844,6 +6852,8 @@ virStorageVolFree(virStorageVolPtr vol)
* connection remain open until all threads have finished using
* it. ie, each new thread using a vol would increment
* the reference count.
*
* Returns 0 in case of success, -1 in case of failure.
*/
int
virStorageVolRef(virStorageVolPtr vol)
@ -7334,7 +7344,7 @@ int virNodeDeviceFree(virNodeDevicePtr dev)
/**
* virNodeDeviceRef:
* @conn: the dev to hold a reference on
* @dev: the dev to hold a reference on
*
* Increment the reference count on the dev. For each
* additional call to this method, there shall be a corresponding
@ -7346,6 +7356,8 @@ int virNodeDeviceFree(virNodeDevicePtr dev)
* connection remain open until all threads have finished using
* it. ie, each new thread using a dev would increment
* the reference count.
*
* Returns 0 in case of success, -1 in case of failure.
*/
int
virNodeDeviceRef(virNodeDevicePtr dev)
@ -7362,7 +7374,7 @@ virNodeDeviceRef(virNodeDevicePtr dev)
}
/**
* virNodeDeviceAttach:
* virNodeDeviceDettach:
* @dev: pointer to the node device
*
* Dettach the node device from the node itself so that it may be
@ -7377,6 +7389,8 @@ virNodeDeviceRef(virNodeDevicePtr dev)
*
* Once the device is not assigned to any guest, it may be re-attached
* to the node using the virNodeDeviceReattach() method.
*
* Returns 0 in case of success, -1 in case of failure.
*/
int
virNodeDeviceDettach(virNodeDevicePtr dev)
@ -7418,6 +7432,8 @@ error:
* and binding it to its appropriate driver.
*
* If the device is currently in use by a guest, this method may fail.
*
* Returns 0 in case of success, -1 in case of failure.
*/
int
virNodeDeviceReAttach(virNodeDevicePtr dev)
@ -7461,6 +7477,8 @@ error:
*
* If the reset will affect other devices which are currently in use,
* this function may fail.
*
* Returns 0 in case of success, -1 in case of failure.
*/
int
virNodeDeviceReset(virNodeDevicePtr dev)

View File

@ -177,6 +177,13 @@ virLastErrFreeData(void *data)
}
/**
* virErrorInitialize:
*
* Initialize the error data (per thread)
*
* Returns 0 in case of success, -1 in case of failure.
*/
int
virErrorInitialize(void)
{
@ -534,7 +541,8 @@ virDefaultErrorFunc(virErrorPtr err)
dom, lvl, domain, network, err->message);
}
/*
/**
* virSetGlobalError:
* Internal helper to ensure the global error object
* is initialized with a generic message if not already
* set.
@ -548,7 +556,10 @@ virSetGlobalError(void)
virErrorGenericFailure(err);
}
/*
/**
* virSetConnError:
* @conn: pointer to the hypervisor connection
*
* Internal helper to ensure the connection error object
* is initialized from the global object.
*/