typedef int <ahref="#virConnectDomainEventCallback">virConnectDomainEventCallback</a> (<ahref="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/><ahref="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> dom, <br/> int event, <br/> void * opaque);
typedef int <ahref="#virConnectDomainEventCallback">virConnectDomainEventCallback</a> (<ahref="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/><ahref="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> dom, <br/> int event, <br/>int detail, <br/>void * opaque);
<ahref="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a><ahref="#virDomainLookupByID">virDomainLookupByID</a> (<ahref="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> int id);
int <ahref="#virStorageVolDelete">virStorageVolDelete</a> (<ahref="libvirt-libvirt.html#virStorageVolPtr">virStorageVolPtr</a> vol, <br/> unsigned int flags);
int <ahref="#virStorageVolFree">virStorageVolFree</a> (<ahref="libvirt-libvirt.html#virStorageVolPtr">virStorageVolPtr</a> vol);
...
...
@@ -367,17 +373,61 @@ The content of this structure is not made public by the API.
<divclass="refsect2"lang="en"><h3><aname="virConnectDomainEventCallback"/>Function type virConnectDomainEventCallback</h3><preclass="programlisting">int virConnectDomainEventCallback (<ahref="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/><ahref="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> dom, <br/> int event, <br/> void * opaque)<br/>
<divclass="refsect2"lang="en"><h3><aname="virConnectDomainEventCallback"/>Function type virConnectDomainEventCallback</h3><preclass="programlisting">int virConnectDomainEventCallback (<ahref="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/><ahref="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> dom, <br/> int event, <br/>int detail, <br/>void * opaque)<br/>
</pre><p>A callback function to be registered, and called when a domain event occurs</p>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>conn</tt></i>:</span></td><td><ahref="libvirt-libvirt.html#virConnect">virConnect</a> connection</td></tr><tr><td><spanclass="term"><i><tt>dom</tt></i>:</span></td><td>The domain on which the event occured</td></tr><tr><td><spanclass="term"><i><tt>event</tt></i>:</span></td><td>The specfic <ahref="libvirt-libvirt.html#virDomainEventType">virDomainEventType</a> which occured</td></tr><tr><td><spanclass="term"><i><tt>opaque</tt></i>:</span></td><td>opaque user data</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
<divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>conn</tt></i>:</span></td><td><ahref="libvirt-libvirt.html#virConnect">virConnect</a> connection</td></tr><tr><td><spanclass="term"><i><tt>dom</tt></i>:</span></td><td>The domain on which the event occured</td></tr><tr><td><spanclass="term"><i><tt>event</tt></i>:</span></td><td>The specfic <ahref="libvirt-libvirt.html#virDomainEventType">virDomainEventType</a> which occured</td></tr><tr><td><spanclass="term"><i><tt>detail</tt></i>:</span></td><td>event specific detail information</td></tr><tr><td><spanclass="term"><i><tt>opaque</tt></i>:</span></td><td>opaque user data</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
<hr/>
<divclass="refsect2"lang="en"><h3><aname="virEventAddHandleFunc"/>Function type virEventAddHandleFunc</h3><preclass="programlisting">int virEventAddHandleFunc (int fd, <br/> int event, <br/><ahref="libvirt-libvirt.html#virEventHandleCallback">virEventHandleCallback</a> cb, <br/> void * opaque)<br/>
</pre><p>Part of the EventImpl, this callback Adds a file handle callback to listen for specific events</p>
</pre><table><tr><td><aname="VIR_DOMAIN_EVENT_RESUMED_UNPAUSED"id="VIR_DOMAIN_EVENT_RESUMED_UNPAUSED">VIR_DOMAIN_EVENT_RESUMED_UNPAUSED</a></td><td> = </td><td>0</td><td> : Normal resume due to admin unpause</td></tr><tr><td><aname="VIR_DOMAIN_EVENT_RESUMED_MIGRATED"id="VIR_DOMAIN_EVENT_RESUMED_MIGRATED">VIR_DOMAIN_EVENT_RESUMED_MIGRATED</a></td><td> = </td><td>1</td><td> : Resumed for completion of migration</td></tr></table><pre>}
</pre><table><tr><td><aname="VIR_DOMAIN_EVENT_STARTED_BOOTED"id="VIR_DOMAIN_EVENT_STARTED_BOOTED">VIR_DOMAIN_EVENT_STARTED_BOOTED</a></td><td> = </td><td>0</td><td> : Normal startup from boot</td></tr><tr><td><aname="VIR_DOMAIN_EVENT_STARTED_MIGRATED"id="VIR_DOMAIN_EVENT_STARTED_MIGRATED">VIR_DOMAIN_EVENT_STARTED_MIGRATED</a></td><td> = </td><td>1</td><td> : Incoming migration from another host</td></tr><tr><td><aname="VIR_DOMAIN_EVENT_STARTED_RESTORED"id="VIR_DOMAIN_EVENT_STARTED_RESTORED">VIR_DOMAIN_EVENT_STARTED_RESTORED</a></td><td> = </td><td>2</td><td> : Restored from a state file</td></tr></table><pre>}
</pre><table><tr><td><aname="VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN"id="VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN">VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN</a></td><td> = </td><td>0</td><td> : Normal shutdown</td></tr><tr><td><aname="VIR_DOMAIN_EVENT_STOPPED_DESTROYED"id="VIR_DOMAIN_EVENT_STOPPED_DESTROYED">VIR_DOMAIN_EVENT_STOPPED_DESTROYED</a></td><td> = </td><td>1</td><td> : Forced poweroff from host</td></tr><tr><td><aname="VIR_DOMAIN_EVENT_STOPPED_CRASHED"id="VIR_DOMAIN_EVENT_STOPPED_CRASHED">VIR_DOMAIN_EVENT_STOPPED_CRASHED</a></td><td> = </td><td>2</td><td> : Guest crashed</td></tr><tr><td><aname="VIR_DOMAIN_EVENT_STOPPED_MIGRATED"id="VIR_DOMAIN_EVENT_STOPPED_MIGRATED">VIR_DOMAIN_EVENT_STOPPED_MIGRATED</a></td><td> = </td><td>3</td><td> : Migrated off to another host</td></tr><tr><td><aname="VIR_DOMAIN_EVENT_STOPPED_SAVED"id="VIR_DOMAIN_EVENT_STOPPED_SAVED">VIR_DOMAIN_EVENT_STOPPED_SAVED</a></td><td> = </td><td>4</td><td> : Saved to a state file</td></tr><tr><td><aname="VIR_DOMAIN_EVENT_STOPPED_FAILED"id="VIR_DOMAIN_EVENT_STOPPED_FAILED">VIR_DOMAIN_EVENT_STOPPED_FAILED</a></td><td> = </td><td>5</td><td> : Host emulator/mgmt failed</td></tr></table><pre>}
</pre><table><tr><td><aname="VIR_DOMAIN_EVENT_SUSPENDED_PAUSED"id="VIR_DOMAIN_EVENT_SUSPENDED_PAUSED">VIR_DOMAIN_EVENT_SUSPENDED_PAUSED</a></td><td> = </td><td>0</td><td> : Normal suspend due to admin pause</td></tr><tr><td><aname="VIR_DOMAIN_EVENT_SUSPENDED_MIGRATED"id="VIR_DOMAIN_EVENT_SUSPENDED_MIGRATED">VIR_DOMAIN_EVENT_SUSPENDED_MIGRATED</a></td><td> = </td><td>1</td><td> : Suspended for offline migration</td></tr></table><pre>}
</pre><table><tr><td>unsigned char</td><td>state</td><td> : the running state, one of <ahref="libvirt-libvirt.html#virDomainState">virDomainState</a></td></tr><tr><td>unsigned long</td><td>maxMem</td><td> : the maximum memory in KBytes allowed</td></tr><tr><td>unsigned long</td><td>memory</td><td> : the memory in KBytes used by the domain</td></tr><tr><td>unsigned short</td><td>nrVirtCpu</td><td> : the number of virtual CPUs for the domain</td></tr><tr><td>unsigned long long</td><td>cpuTime</td><td> : the CPU time used in nanoseconds</td></tr></table><pre>
</pre><table><tr><td><aname="VIR_VCPU_OFFLINE"id="VIR_VCPU_OFFLINE">VIR_VCPU_OFFLINE</a></td><td> = </td><td>0</td><td> : the virtual CPU is offline</td></tr><tr><td><aname="VIR_VCPU_RUNNING"id="VIR_VCPU_RUNNING">VIR_VCPU_RUNNING</a></td><td> = </td><td>1</td><td> : the virtual CPU is running</td></tr><tr><td><aname="VIR_VCPU_BLOCKED"id="VIR_VCPU_BLOCKED">VIR_VCPU_BLOCKED</a></td><td> = </td><td>2</td><td> : the virtual CPU is blocked on resource</td></tr></table><pre>}
</pre></div><h3><aname="functions"id="functions">Functions</a></h3><h3><aname="virConnectAuthCallbackPtr"id="virConnectAuthCallbackPtr"><code>virConnectAuthCallbackPtr</code></a></h3><preclass="programlisting">typedef int (*virConnectAuthCallbackPtr) (<ahref="libvirt-libvirt.html#virConnectCredentialPtr">virConnectCredentialPtr</a> cred, <br/> unsigned int ncred, <br/> void * cbdata)
</pre><p>This function closes the connection to the Hypervisor. This should not be called if further interaction with the Hypervisor are needed especially if there is running domain which need further monitoring by the application.</p><divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success or -1 in case of error.</td></tr></tbody></table></div><h3><aname="virConnectDomainEventCallback"id="virConnectDomainEventCallback"><code>virConnectDomainEventCallback</code></a></h3><preclass="programlisting">typedef int (*virConnectDomainEventCallback) (<ahref="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/><ahref="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> dom, <br/> int event, <br/> void * opaque)
</pre><p>A callback function to be registered, and called when a domain event occurs</p><divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>conn</tt></i>:</span></td><td><ahref="libvirt-libvirt.html#virConnect">virConnect</a> connection</td></tr><tr><td><spanclass="term"><i><tt>dom</tt></i>:</span></td><td>The domain on which the event occured</td></tr><tr><td><spanclass="term"><i><tt>event</tt></i>:</span></td><td>The specfic <ahref="libvirt-libvirt.html#virDomainEventType">virDomainEventType</a> which occured</td></tr><tr><td><spanclass="term"><i><tt>opaque</tt></i>:</span></td><td>opaque user data</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><br/><h3><aname="virConnectDomainEventDeregister"id="virConnectDomainEventDeregister"><code>virConnectDomainEventDeregister</code></a></h3><preclass="programlisting">int virConnectDomainEventDeregister (<ahref="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/><ahref="libvirt-libvirt.html#virConnectDomainEventCallback">virConnectDomainEventCallback</a> cb)<br/>
</pre><p>This function closes the connection to the Hypervisor. This should not be called if further interaction with the Hypervisor are needed especially if there is running domain which need further monitoring by the application.</p><divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success or -1 in case of error.</td></tr></tbody></table></div><h3><aname="virConnectDomainEventCallback"id="virConnectDomainEventCallback"><code>virConnectDomainEventCallback</code></a></h3><preclass="programlisting">typedef int (*virConnectDomainEventCallback) (<ahref="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/><ahref="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> dom, <br/> int event, <br/>int detail, <br/>void * opaque)
</pre><p>A callback function to be registered, and called when a domain event occurs</p><divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>conn</tt></i>:</span></td><td><ahref="libvirt-libvirt.html#virConnect">virConnect</a> connection</td></tr><tr><td><spanclass="term"><i><tt>dom</tt></i>:</span></td><td>The domain on which the event occured</td></tr><tr><td><spanclass="term"><i><tt>event</tt></i>:</span></td><td>The specfic <ahref="libvirt-libvirt.html#virDomainEventType">virDomainEventType</a> which occured</td></tr><tr><td><spanclass="term"><i><tt>detail</tt></i>:</span></td><td>event specific detail information</td></tr><tr><td><spanclass="term"><i><tt>opaque</tt></i>:</span></td><td>opaque user data</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td></td></tr></tbody></table></div><br/><h3><aname="virConnectDomainEventDeregister"id="virConnectDomainEventDeregister"><code>virConnectDomainEventDeregister</code></a></h3><preclass="programlisting">int virConnectDomainEventDeregister (<ahref="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/><ahref="libvirt-libvirt.html#virConnectDomainEventCallback">virConnectDomainEventCallback</a> cb)<br/>
</pre><p>Removes a Domain Event Callback. De-registering for a domain callback will disable delivery of this event type</p><divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the connection</td></tr><tr><td><spanclass="term"><i><tt>cb</tt></i>:</span></td><td>callback to the function handling domain events</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>0 on success, -1 on failure</td></tr></tbody></table></div><h3><aname="virConnectDomainEventRegister"id="virConnectDomainEventRegister"><code>virConnectDomainEventRegister</code></a></h3><preclass="programlisting">int virConnectDomainEventRegister (<ahref="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/><ahref="libvirt-libvirt.html#virConnectDomainEventCallback">virConnectDomainEventCallback</a> cb, <br/> void * opaque)<br/>
</pre><p>Adds a Domain Event Callback. Registering for a domain callback will enable delivery of the events</p><divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the connection</td></tr><tr><td><spanclass="term"><i><tt>cb</tt></i>:</span></td><td>callback to the function handling domain events</td></tr><tr><td><spanclass="term"><i><tt>opaque</tt></i>:</span></td><td>opaque data to pass on to the callback</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>0 on success, -1 on failure</td></tr></tbody></table></div><h3><aname="virConnectFindStoragePoolSources"id="virConnectFindStoragePoolSources"><code>virConnectFindStoragePoolSources</code></a></h3><preclass="programlisting">char * virConnectFindStoragePoolSources (<ahref="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> const char * type, <br/> const char * srcSpec, <br/> unsigned int flags)<br/>
</pre><p>Talks to a storage backend and attempts to auto-discover the set of available storage pool sources. e.g. For iSCSI this would be a set of iSCSI targets. For NFS this would be a list of exported paths. The srcSpec (optional for some storage pool types, e.g. local ones) is an instance of the storage pool's source element specifying where to look for the pools. srcSpec is not required for some types (e.g., those querying local storage resources only)</p><divclass="variablelist"><tableborder="0"><colalign="left"/><tbody><tr><td><spanclass="term"><i><tt>conn</tt></i>:</span></td><td>pointer to hypervisor connection</td></tr><tr><td><spanclass="term"><i><tt>type</tt></i>:</span></td><td>type of storage pool sources to discover</td></tr><tr><td><spanclass="term"><i><tt>srcSpec</tt></i>:</span></td><td>XML document specifying discovery source</td></tr><tr><td><spanclass="term"><i><tt>flags</tt></i>:</span></td><td>flags for discovery (unused, pass 0)</td></tr><tr><td><spanclass="term"><i><tt>Returns</tt></i>:</span></td><td>an xml document consisting of a SourceList element containing a source document appropriate to the given pool type for each discovered source.</td></tr></tbody></table></div><h3><aname="virConnectGetCapabilities"id="virConnectGetCapabilities"><code>virConnectGetCapabilities</code></a></h3><preclass="programlisting">char * virConnectGetCapabilities (<ahref="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn)<br/>
<enumname='VIR_DOMAIN_EVENT_RESUMED_MIGRATED'file='libvirt'value='1'type='virDomainEventResumedDetailType'info=' Resumed for completion of migration'/>
<enumname='VIR_DOMAIN_EVENT_RESUMED_UNPAUSED'file='libvirt'value='0'type='virDomainEventResumedDetailType'info='Normal resume due to admin unpause'/>
<enumname='VIR_DOMAIN_EVENT_STARTED_BOOTED'file='libvirt'value='0'type='virDomainEventStartedDetailType'info='Normal startup from boot'/>
<enumname='VIR_DOMAIN_EVENT_STARTED_MIGRATED'file='libvirt'value='1'type='virDomainEventStartedDetailType'info='Incoming migration from another host'/>
<enumname='VIR_DOMAIN_EVENT_STARTED_RESTORED'file='libvirt'value='2'type='virDomainEventStartedDetailType'info=' Restored from a state file'/>
<enumname='VIR_DOMAIN_EVENT_SUSPENDED_MIGRATED'file='libvirt'value='1'type='virDomainEventSuspendedDetailType'info=' Suspended for offline migration'/>
<enumname='VIR_DOMAIN_EVENT_SUSPENDED_PAUSED'file='libvirt'value='0'type='virDomainEventSuspendedDetailType'info='Normal suspend due to admin pause'/>