mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-08-28 11:31:16 +00:00
I was asked the other day what's event loop and how libvirt uses it. Well, I haven't found any good sources on the Internet so I thought of writing the documentation on my own. Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
491 lines
18 KiB
XML
491 lines
18 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<body>
|
|
<h1>Sitemap</h1>
|
|
|
|
<div id="sitemap">
|
|
<ul>
|
|
<li>
|
|
<a href="index.html">Home</a>
|
|
<span>Front page of the libvirt website</span>
|
|
</li>
|
|
<li>
|
|
<a href="news.html">News</a>
|
|
<span>Details of new features and bugs fixed in each release</span>
|
|
<ul>
|
|
<li>
|
|
<a href="http://wiki.libvirt.org/page/Maintenance_Releases">Maintenance Releases</a>
|
|
<span>Details about libvirt maintenance releases</span>
|
|
</li>
|
|
</ul>
|
|
<ul>
|
|
<li>
|
|
<a href="http://libvirt.org/git/?p=libvirt.git;a=log">Git log</a>
|
|
<span>Latest commit messages from the source repository</span>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a href="apps.html">Applications</a>
|
|
<span>Applications known to use libvirt</span>
|
|
</li>
|
|
<li>
|
|
<a href="downloads.html">Downloads</a>
|
|
<span>Get the latest source releases, binary builds and get access to the source repository</span>
|
|
<ul>
|
|
<li>
|
|
<a href="windows.html">Windows</a>
|
|
<span>Downloads for Windows</span>
|
|
</li>
|
|
<li>
|
|
<a href="bindings.html">Language bindings</a>
|
|
<span>Bindings of the libvirt API for languages other than C</span>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a href="docs.html">Documentation</a>
|
|
<span>Information for users, administrators and developers</span>
|
|
<ul>
|
|
<li>
|
|
<a href="compiling.html">Compiling</a>
|
|
<span>How to compile libvirt</span>
|
|
</li>
|
|
<li>
|
|
<a href="deployment.html">Deployment</a>
|
|
<span>Information about deploying and using libvirt</span>
|
|
<ul>
|
|
<li>
|
|
<a href="uri.html">URI format</a>
|
|
<span>The URI formats used for connecting to libvirt</span>
|
|
</li>
|
|
<li>
|
|
<a href="remote.html">Remote access</a>
|
|
<span>Enable remote access over TCP</span>
|
|
</li>
|
|
<li>
|
|
<a href="auth.html">Authentication</a>
|
|
<span>Configure authentication for the libvirt daemon</span>
|
|
</li>
|
|
<li>
|
|
<a href="acl.html">Access control</a>
|
|
<span>Configure access control libvirt APIs</span>
|
|
<ul>
|
|
<li>
|
|
<a href="aclpolkit.html">Polkit access control</a>
|
|
<span>Using polkit for API access control</span>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a href="migration.html">Migration</a>
|
|
<span>Migrating guests between machines</span>
|
|
</li>
|
|
<li>
|
|
<a href="windows.html">Windows port</a>
|
|
<span>Access the libvirt daemon from a native Windows client</span>
|
|
</li>
|
|
<li>
|
|
<a href="logging.html">Logging</a>
|
|
<span>The library and the daemon logging support</span>
|
|
</li>
|
|
<li>
|
|
<a href="auditlog.html">Audit log</a>
|
|
<span>Audit trail logs for host operations</span>
|
|
</li>
|
|
<li>
|
|
<a href="firewall.html">Firewall</a>
|
|
<span>Firewall and network filter configuration</span>
|
|
</li>
|
|
<li>
|
|
<a href="locking.html">Disk locking</a>
|
|
<span>Ensuring exclusive guest access to disks</span>
|
|
<ul>
|
|
<li>
|
|
<a href="locking-lockd.html">virtlockd</a>
|
|
<span>virtlockd lock manager plugin</span>
|
|
</li>
|
|
<li>
|
|
<a href="locking-sanlock.html">Sanlock</a>
|
|
<span>Sanlock lock manager plugin</span>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a href="cgroups.html">CGroups</a>
|
|
<span>Control groups integration</span>
|
|
</li>
|
|
<li>
|
|
<a href="hooks.html">Hooks</a>
|
|
<span>Hooks for system specific management</span>
|
|
</li>
|
|
<li>
|
|
<a href="nss.html">NSS module</a>
|
|
<span>Enable domain host name translation to IP addresses</span>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a href="intro.html">Architecture</a>
|
|
<span>Overview of the logical subsystems in the libvirt API</span>
|
|
<ul>
|
|
<li>
|
|
<a href="goals.html">Goals</a>
|
|
<span>Terminology and goals of libvirt API</span>
|
|
</li>
|
|
<li>
|
|
<a href="api.html">API concepts</a>
|
|
<span>The libvirt API concepts</span>
|
|
</li>
|
|
<li>
|
|
<a href="archdomain.html">Domains</a>
|
|
<span>Managing virtual machines</span>
|
|
</li>
|
|
<li>
|
|
<a href="archnetwork.html">Network</a>
|
|
<span>Providing isolated networks and NAT based network connectivity</span>
|
|
</li>
|
|
<li>
|
|
<a href="archstorage.html">Storage</a>
|
|
<span>Managing storage pools and volumes</span>
|
|
</li>
|
|
<li>
|
|
<a href="archnode.html">Node Devices</a>
|
|
<span>Enumerating host node devices</span>
|
|
</li>
|
|
<li>
|
|
<a href="secureusage.html">Secure usage</a>
|
|
<span>Secure usage of the libvirt APIs</span>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a href="format.html">XML format</a>
|
|
<span>Description of the XML formats used in libvirt</span>
|
|
<ul>
|
|
<li>
|
|
<a href="formatdomain.html">Domains</a>
|
|
<span>The domain XML format</span>
|
|
</li>
|
|
<li>
|
|
<a href="formatnetwork.html">Networks</a>
|
|
<span>The virtual network XML format</span>
|
|
</li>
|
|
<li>
|
|
<a href="formatnwfilter.html">Network Filtering</a>
|
|
<span>Network filter XML format</span>
|
|
</li>
|
|
<li>
|
|
<a href="formatstorage.html">Storage</a>
|
|
<span>The storage pool and volume XML format</span>
|
|
</li>
|
|
<li>
|
|
<a href="formatstorageencryption.html">Storage Encryption</a>
|
|
<span>Storage volume encryption XML format</span>
|
|
</li>
|
|
<li>
|
|
<a href="formatcaps.html">Capabilities</a>
|
|
<span>The driver capabilities XML format</span>
|
|
</li>
|
|
<li>
|
|
<a href="formatdomaincaps.html">Domain capabilities</a>
|
|
<span>The domain capabilities XML format</span>
|
|
</li>
|
|
<li>
|
|
<a href="formatnode.html">Node Devices</a>
|
|
<span>The host device XML format</span>
|
|
</li>
|
|
<li>
|
|
<a href="formatsecret.html">Secrets</a>
|
|
<span>The secret XML format</span>
|
|
</li>
|
|
<li>
|
|
<a href="formatsnapshot.html">Snapshots</a>
|
|
<span>The snapshot XML format</span>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a href="drivers.html">Drivers</a>
|
|
<span>Hypervisor specific driver information</span>
|
|
<ul>
|
|
<li>
|
|
<a href="drvxen.html">Xen</a>
|
|
<span>Driver the Xen hypervisor</span>
|
|
</li>
|
|
<li>
|
|
<a href="drvqemu.html">QEMU / KVM</a>
|
|
<span>Driver for QEMU, KQEMU, KVM and Xenner</span>
|
|
</li>
|
|
<li>
|
|
<a href="drvlxc.html">Linux Container</a>
|
|
<span>Driver for the Linux native container API</span>
|
|
</li>
|
|
<li>
|
|
<a href="drvtest.html">Test</a>
|
|
<span>Pseudo-driver simulating APIs in memory for test suites</span>
|
|
</li>
|
|
<li>
|
|
<a href="drvremote.html">Remote</a>
|
|
<span>Driver providing secure remote to the libvirt APIs</span>
|
|
</li>
|
|
<li>
|
|
<a href="drvopenvz.html">OpenVZ</a>
|
|
<span>Driver for the OpenVZ container technology</span>
|
|
</li>
|
|
<li>
|
|
<a href="drvuml.html">UML</a>
|
|
<span>Driver for the User Mode Linux technology</span>
|
|
</li>
|
|
<li>
|
|
<a href="storage.html">Storage</a>
|
|
<span>Driver for the storage management APIs</span>
|
|
</li>
|
|
<li>
|
|
<a href="drvvbox.html">VirtualBox</a>
|
|
<span>Driver for VirtualBox</span>
|
|
</li>
|
|
<li>
|
|
<a href="drvesx.html">VMware ESX</a>
|
|
<span>Driver for VMware ESX</span>
|
|
</li>
|
|
<li>
|
|
<a href="drvvmware.html">VMware Workstation / Player</a>
|
|
<span>Driver for VMware Workstation / Player</span>
|
|
</li>
|
|
<li>
|
|
<a href="drvhyperv.html">Microsoft Hyper-V</a>
|
|
<span>Driver for Microsoft Hyper-V</span>
|
|
</li>
|
|
<li>
|
|
<a href="drvphyp.html">IBM PowerVM</a>
|
|
<span>Driver for IBM PowerVM</span>
|
|
</li>
|
|
<li>
|
|
<a href="drvvirtuozzo.html">Virtuozzo</a>
|
|
<span>Driver for Virtuozzo</span>
|
|
</li>
|
|
<li>
|
|
<a href="drvbhyve.html">Bhyve</a>
|
|
<span>Driver for bhyve</span>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a href="html/index.html">API reference</a>
|
|
<span>Reference manual for the C public API</span>
|
|
<!-- This is the desired new style API breakdown
|
|
<ul>
|
|
<li>
|
|
<a href="apiconn.html">Connection</a>
|
|
<span>API reference for virConnectPtr objects</span>
|
|
</li>
|
|
<li>
|
|
<a href="apidomain.html">Domain</a>
|
|
<span>API reference for virDomainPtr objects</span>
|
|
</li>
|
|
<li>
|
|
<a href="apierror.html">Error</a>
|
|
<span>API reference for virErrorPtr objects</span>
|
|
</li>
|
|
<li>
|
|
<a href="apinetwork.html">Network</a>
|
|
<span>API reference for virNetworkPtr objects</span>
|
|
</li>
|
|
<li>
|
|
<a href="apistorage.html">Storage</a>
|
|
<span>API reference for virStoragePoolptr and virStorageVolPtr objects</span>
|
|
</li>
|
|
<li>
|
|
<a href="apinode.html">Node Device</a>
|
|
<span>API reference for virNodeDevicePtr objects</span>
|
|
</li>
|
|
</ul>
|
|
-->
|
|
<ul>
|
|
<li>
|
|
<a href="html/libvirt-libvirt-common.html">Common</a>
|
|
<span>common APIs for the libvirt library</span>
|
|
</li>
|
|
<li>
|
|
<a href="html/libvirt-libvirt-domain.html">Domain</a>
|
|
<span>domain APIs for the libvirt library</span>
|
|
</li>
|
|
<li>
|
|
<a href="html/libvirt-libvirt-domain-snapshot.html">Domain snapshot</a>
|
|
<span>domain snapshot APIs for the libvirt library</span>
|
|
</li>
|
|
<li>
|
|
<a href="html/libvirt-virterror.html">Error</a>
|
|
<span>error handling APIs for the libvirt library</span>
|
|
</li>
|
|
<li>
|
|
<a href="html/libvirt-libvirt-event.html">Event</a>
|
|
<span>event APIs for the libvirt library</span>
|
|
</li>
|
|
<li>
|
|
<a href="html/libvirt-libvirt-host.html">Host</a>
|
|
<span>host APIs for the libvirt library</span>
|
|
</li>
|
|
<li>
|
|
<a href="html/libvirt-libvirt-interface.html">Interface</a>
|
|
<span>interface APIs for the libvirt library</span>
|
|
</li>
|
|
<li>
|
|
<a href="html/libvirt-libvirt-network.html">Network</a>
|
|
<span>network APIs for the libvirt library</span>
|
|
</li>
|
|
<li>
|
|
<a href="html/libvirt-libvirt-nodedev.html">Node device</a>
|
|
<span>node device APIs for the libvirt library</span>
|
|
</li>
|
|
<li>
|
|
<a href="html/libvirt-libvirt-nwfilter.html">Network filter</a>
|
|
<span>network filter APIs for the libvirt library</span>
|
|
</li>
|
|
<li>
|
|
<a href="html/libvirt-libvirt-secret.html">Secret</a>
|
|
<span>secret APIs for the libvirt library</span>
|
|
</li>
|
|
<li>
|
|
<a href="html/libvirt-libvirt-storage.html">Storage</a>
|
|
<span>storage APIs for the libvirt library</span>
|
|
</li>
|
|
<li>
|
|
<a href="html/libvirt-libvirt-stream.html">Stream</a>
|
|
<span>stream APIs for the libvirt library</span>
|
|
</li>
|
|
<li>
|
|
<a href="hvsupport.html">Driver support</a>
|
|
<span>matrix of API support per hypervisor per release</span>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a href="bindings.html">Language bindings</a>
|
|
<span>Bindings of the libvirt API for other languages</span>
|
|
<ul>
|
|
<li>
|
|
<a href="python.html">Python</a>
|
|
<span>overview of the python API bindings</span>
|
|
</li>
|
|
<li>
|
|
<a href="java.html">Java</a>
|
|
<span>overview of the Java API bindings</span>
|
|
</li>
|
|
<li>
|
|
<a href="csharp.html">C#</a>
|
|
<span>overview of the C# API bindings</span>
|
|
</li>
|
|
<li>
|
|
<a href="php.html">PHP</a>
|
|
<span>overview of the PHP API bindings</span>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a href="internals.html">Internals</a>
|
|
<span>Working on the internals of libvirt API, driver and daemon code</span>
|
|
<ul>
|
|
<li>
|
|
<a href="hacking.html">Contributor guidelines</a>
|
|
<span>General hacking guidelines for contributors</span>
|
|
</li>
|
|
<li>
|
|
<a href="api_extension.html">API extensions</a>
|
|
<span>Adding new public libvirt APIs</span>
|
|
</li>
|
|
<li>
|
|
<a href="internals/eventloop.html">Event loop and worker pool</a>
|
|
<span>Libvirt's event loop and worker pool mode</span>
|
|
</li>
|
|
<li>
|
|
<a href="internals/command.html">Spawning commands</a>
|
|
<span>Spawning commands from libvirt driver code</span>
|
|
</li>
|
|
<li>
|
|
<a href="internals/rpc.html">RPC protocol & APIs</a>
|
|
<span>RPC protocol information and API / dispatch guide</span>
|
|
</li>
|
|
<li>
|
|
<a href="internals/locking.html">Lock managers</a>
|
|
<span>Use lock managers to protect disk content</span>
|
|
</li>
|
|
<li>
|
|
<a href="internals/oomtesting.html">Out of memory testing</a>
|
|
<span>Simulating OOM conditions in the test suite</span>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a href="devguide.html">Development Guide</a>
|
|
<span>A guide and reference for developing with libvirt</span>
|
|
</li>
|
|
<li>
|
|
<a href="virshcmdref.html">Virsh Commands</a>
|
|
<span>Command reference for virsh</span>
|
|
</li>
|
|
<li>
|
|
<a href="governance.html">Governance</a>
|
|
<span>Project governance and code of conduct</span>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a href="http://wiki.libvirt.org">Wiki</a>
|
|
<span>User contributed content</span>
|
|
</li>
|
|
<li>
|
|
<a href="http://wiki.libvirt.org/page/FAQ">FAQ</a>
|
|
<span>Frequently asked questions</span>
|
|
</li>
|
|
<li>
|
|
<a href="bugs.html">Bug reports</a>
|
|
<span>How and where to report bugs and request features</span>
|
|
<ul>
|
|
<li>
|
|
<a href="securityprocess.html">Security Process</a>
|
|
<span>Security bug reporting and resolution process</span>
|
|
</li>
|
|
<li>
|
|
<a href="todo.html">Todo list</a>
|
|
<span>Main feature request list</span>
|
|
</li>
|
|
<li>
|
|
<a href="pending.html">Pending patches</a>
|
|
<span>Pending patches awaiting reviews and integration</span>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a href="contact.html">Contact</a>
|
|
<span>How to contact the developers via email and IRC</span>
|
|
</li>
|
|
<li>
|
|
<a href="testsuites.html">Test suites</a>
|
|
<span>Available test suites for libvirt</span>
|
|
<ul>
|
|
<li>
|
|
<a href="testtck.html">TCK test suite</a>
|
|
<span>Virtualization functional test suite in Perl</span>
|
|
</li>
|
|
<li>
|
|
<a href="testapi.html">Libvirt-test-API</a>
|
|
<span>Libvirt functional API test suite in Python</span>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a href="relatedlinks.html">Related Links</a>
|
|
<span>Miscellaneous links of interest related to libvirt</span>
|
|
</li>
|
|
<li>
|
|
<a href="sitemap.html">Sitemap</a>
|
|
<span>Overview of all content on the website</span>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|