1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-08-15 01:50:16 +03:00

Compare commits

..

284 Commits

Author SHA1 Message Date
4a475773f7 * po/*: updated localization files
* configure.in NEWS libvirt.spec.in docs/libvir.html docs/news.html
  include/libvirt/libvirt.h: preparing release of 0.1.10
Daniel
2006-12-20 14:54:25 +00:00
27ef42c6fa Fix handling of config files with duplicate names 2006-12-19 21:54:20 +00:00
5c0546cdae * src/xend_internal.c: Dan Berrange pointed out a ref count bug
rhbz#143946 , patch applied
daniel
2006-12-18 22:08:22 +00:00
884acf563f * po/*.po po/libvirt.pot: merged new ms transations, updated
with the current source.
Daniel
2006-12-14 09:54:36 +00:00
166d499f02 Implement support for inactive domains from Xen 3.0.4 2006-12-14 01:56:14 +00:00
7a9f673e3e Added support for generating new style PV framebuffer. Added vnclisten & vncpasswd handling 2006-12-13 14:08:51 +00:00
804e20e6c3 Add array bounds checking in xendDaemonListDomains 2006-12-07 18:23:19 +00:00
17817e6a3d New style paravirt framebuffer config in xen 3.0.4 2006-12-06 23:44:17 +00:00
98026c6b54 Fix test case for change in bootloader handling 2006-12-06 23:40:08 +00:00
fa76c4fb2c * src/xen_internal.c: the structure passed to the vcpuinfo hypercall
had changed between version 1 and version 2 too, the leading domain
  field disapeared since it goes in the including op. Fixes redhat
  bugs #217370 and #217743
Daniel
2006-12-06 15:02:03 +00:00
e2269580b0 * po/ca.po po/fr.po po/hi.po: merging more localizations coming
from Red Hat
Daniel
2006-12-04 17:34:48 +00:00
91641070d2 * NEWS configure.in libvirt.spec.in docs/libvir.html docs/news.html
include/libvirt/libvirt.h: preparing libvirt-0.1.9 release
* po/*.po: more updates and fix all the .po to not barf when msgfmt
  tries to process them
Daniel
2006-11-29 13:03:24 +00:00
b4c2c01fd0 * configure.in: update for ALL_LINGUAS
* po/*.po: updated with strings from Red Hat translators
Daniel
2006-11-28 13:05:37 +00:00
e1f2b6497e * src/xml.c: patch for rhbz#214741, when using pygrub
do not push the os image information for domain creation
  via xend
Daniel
2006-11-27 23:16:59 +00:00
1bd41d0bab s/interract/interact/ as suggested by kzak 2006-11-22 23:11:11 +00:00
aaeecae745 oops, forgot that too, Daniel 2006-11-22 18:08:08 +00:00
66ab526b3f * docs//*: regenerated
* include/libvirt/libvirt.h include/libvirt/libvirt.h.in src/driver.h
  src/libvirt.c src/proxy_internal.c src/test.c src/virsh.c
  src/xen_internal.c src/xend_internal.c src/xm_internal.c
  src/xs_internal.c: added support for dumping core of domains
  assuming a xend with the latest patch to do so.
Daniel
2006-11-22 17:48:29 +00:00
d5b9a4f3b1 * src/xs_internal.c: Michel Ponceau pointed out a bug in
xenStoreDomainGetNetworkID refactoring
Daniel
2006-11-21 17:55:34 +00:00
2e5d35966e * src/xml.c src/xs_internal.c src/xs_internal.h: cleanup for the
dynamic device code to isolate as a separate function
  xenStoreDomainGetNetworkID() the access to the XenStore
Daniel
2006-11-20 16:42:16 +00:00
35adcfa621 Support device_model & serial config settings for HVM guests 2006-11-17 02:03:18 +00:00
b85e53cc7a Fix various compiler warnings about signed/unsigned types 2006-11-17 00:10:51 +00:00
f991089ce4 Support for inactive domain management 2006-11-16 19:06:13 +00:00
dc28f35f11 * include/libvirt/libvirt.h include/libvirt/libvirt.h.in
src/driver.h src/libvirt.c src/libvirt_sym.version
  src/proxy_internal.c src/test.c src/xen_internal.c
  src/xend_internal.c src/xml.c src/xml.h src/xs_internal.c:
  intagrated patch from Michel Ponceau to add hot-plug devices
  support to the API, integrated in driver API and fixed
  a few small things. Still a TODO in src/xml.c about
  moving xenstore direct accesses to a new routine.
Daniel
2006-11-16 18:11:28 +00:00
df1e7c9967 Added 'reconnect' binary to ignore list 2006-11-16 17:46:54 +00:00
a26b33cb15 Added binding for virConnectListDefinedDomains api 2006-11-16 00:17:10 +00:00
18035eddd3 Don't process inactive domains in regular Xen driver backends 2006-11-15 21:03:34 +00:00
77bcf6b598 Added several iterators to hashtable API 2006-11-15 20:11:56 +00:00
678073a297 Fixed const warning 2006-11-15 20:06:35 +00:00
523389a72b Added virConfNew() and virConfSetValue() apis to virConf object 2006-11-15 19:46:23 +00:00
a3cf19e62a Fix unsigned long wraparound in python binding 2006-11-15 19:40:00 +00:00
6d8b20ce85 Added support for non-bridged networking 2006-11-15 00:38:13 +00:00
caaf9441f3 * src/xend_internal.c src/xml.c: fix for shareable drive support
rhbz#214908
Daniel
2006-11-13 17:09:31 +00:00
c41481197d Fix memory leak of xml parser context 2006-11-10 23:46:12 +00:00
bb1ff5e7f8 Fixed string concatenation in case where there is no lower level error 2006-11-10 19:55:27 +00:00
28a60cbcdb * src/xend_internal.c src/xml.c: add an extra element currentMemory
to the XML description and handle its serialization back and
  forth between XML and S-Expr
* tests/sexpr2xmltest.c tests/xml2sexprtest.c
  tests/sexpr2xmldata/sexpr2xml-curmem.*
  tests/xml2sexprdata/xml2sexpr-curmem.*: added specific regression
  tests for this, this didn't disturb any of the other tests.
Daniel
2006-11-10 11:13:01 +00:00
3869766df9 * python/generator.py: changed the generator to generate a reference
from Domain class instances to the Connect they were issued from
  should fix rhbz#204490
* docs//*: rebuilt
Daniel
2006-11-09 15:32:44 +00:00
4fc5f43399 * tests/reconnect.c: fixed the reconnect test when running as non-root
Daniel
2006-11-09 10:14:01 +00:00
a10b68be0a Reduce RAM in test node to avoid 32-bit wraparound 2006-11-08 18:57:34 +00:00
0c62b5f6d5 Added implementation of GetOSType driver to test backend 2006-11-08 18:54:57 +00:00
892a8c3881 * include/libvirt/virterror.h src/virterror.c src/xend_internal.c
src/xml.c: give proper indication of the failures raised by the
  XML parser on not well formed XML, should fix rhbz#208545
Daniel
2006-11-08 16:55:20 +00:00
515618b907 * src/libvirt.c src/proxy_internal.c src/xs_internal.c: fix the
patch for rhbz#214264 in the case of Domain 0 on Xen and push the
  defaulting to "linux" down to the xen specific parts.
Daniel
2006-11-08 13:53:29 +00:00
e444b199db Propagate libvirt errors back with python exceptions 2006-11-07 23:18:56 +00:00
287e5fe8a7 Ensure connection object gets associated with errors 2006-11-07 21:52:44 +00:00
d762148aaf * libvirt.spec.in: libvirt-devel depends on pkgconfig
* proxy/libvirt_proxy.c src/libvirt.c src/proxy_internal.[ch]
  src/xs_internal.[ch]: the virtGetOsType entry point was calling
  the xenstore directly instead of going though driver, refactored
  and implemented a specific new RPC with the proxy when this is
  called as non-root fixes rhbz#214264 .
Daniel
2006-11-07 16:28:16 +00:00
4a9ce62fe9 * src/xend_internal.c: when getting informations about a non
existant domain, it is not a good idea to raise the HTTP
  404 GET error, the handling is better done somewhere up in
  the stack.
Daniel
2006-10-31 10:25:13 +00:00
9e5645393e Make python bindings threaded, by dropping/acquiring Python GIL where needed 2006-10-24 20:28:16 +00:00
297a77f6da * config.h.in configure.in libvirt.spec.in docs/libvir.html
docs/news.html include/libvirt/libvirt.h: preparing release of
  libvirt-0.1.8
* src/xen_internal.c: fixed a compilation problem
Daniel
2006-10-16 16:04:55 +00:00
5533a01af3 * src/xen_internal.c: one of the fix for system with page size != 4k
was missing
Daniel
2006-10-12 16:25:51 +00:00
321c24bb00 * src/xen_internal.c: applied patch from Philippe Berthault
fixing the vcpu number initialization
Daniel
2006-10-12 12:31:51 +00:00
d9388dbfbd * src/xen_internal.c: applied patch from Peter Vetere so that
crashed domains ain't reported as shut off.
Daniel
2006-10-11 16:11:59 +00:00
1da9cd13af * virsh.1: fixed some typo and unclear language pointed out by
Noriko Mizumoto
Daniel
2006-10-11 15:18:31 +00:00
16a65d1c93 Added support for <driver> element and blktap 2006-10-09 14:32:07 +00:00
a98ac28b16 Added ignore file rules for i18n stuff 2006-10-06 15:35:10 +00:00
8c5ce29411 Fixed multiple memory leaks & make test suite check for leaks with valgrind 2006-10-06 15:32:48 +00:00
18351e0ffc * src/xen_internal.c: Daniel Berrange fixed some mlock size problem
doing a bit of cleanup too
Daniel
2006-10-02 22:13:12 +00:00
cce70e0132 Fix mlock() of getdomaininfolist data buffer 2006-10-02 19:26:39 +00:00
ea541f83b9 * src/virsh.c: add #include <locale.h> to be able to compile without
optimization
Daniel
2006-09-29 16:23:27 +00:00
2c32196a2f * src/xen_internal.c: fix for system with page size != 4k
Daniel
2006-09-29 16:12:08 +00:00
cc3697f722 added too,Daniel 2006-09-29 12:07:52 +00:00
47c23ba3e5 Dohh, Daniel 2006-09-29 12:06:21 +00:00
177cf2edee * docs/bugs.html docs/libvir.html: added pointers on how to report
bugs in bugzilla as suggested by markmc
* src/xend_internal.c: first step for #208545 raise an error at the
  libvirt level
Daniel
2006-09-29 12:00:58 +00:00
be13e2f45d * docs/* libvirt.spec.in configure.in NEWS: preparing release of 0.1.7
Daniel
2006-09-29 10:25:21 +00:00
26d1767317 Really, fixed struct for getdomaininfo to work on both 3.0.2 & 3.0.3 on 32-bit archs this time. 2006-09-28 23:29:25 +00:00
01ae3678f1 Fixed buffer overflow in populating CPU<->VCPU mapping. Cleanup whitespace 2006-09-28 19:20:52 +00:00
2cb26d70d6 * docs/* libvirt.spec.in configure.in NEWS: preparing release of 0.1.6
Daniel
2006-09-22 09:58:17 +00:00
e8e5844089 Added support for i18n translation with gettext 2006-09-21 15:24:37 +00:00
870bf1cdbd Re-generated docs to pull in latest APIs 2006-09-21 15:15:07 +00:00
546026a5be * src/Makefile.am: add a tst target to ease building test progs
* src/xend_internal.c: fix the reconnection problem to xend pointed
  by Philippe Berthault
* tests/Makefile.am tests/reconnect.c: add a specific test case
Daniel
2006-09-21 09:15:33 +00:00
29182e995e * src/xen_internal.c: applied patch from Jim Fehlig, about
one of the content of the hypercall structures in 3.0.2
Daniel
2006-09-19 15:55:57 +00:00
4e7b9aa2e1 Ensure we strip the :disk postfix from disks in Xen 3.0.3 2006-09-14 15:34:50 +00:00
1ed4d29208 Allow setting of VNC port when creating domains 2006-09-12 01:34:26 +00:00
25786cc0db Added files to EXTRA_DIST 2006-09-12 01:21:15 +00:00
3708258fad Added support for XenD 3.0.3 style HVM cdrom config 2006-09-12 01:16:22 +00:00
786e029cd7 * NEWS configure.in docs//* include/libvirt/libvirt.h libvirt.specx.*:
preparing release 0.1.5
* proxy/libvirt_proxy.c src/xen_internal.c: tiny fixes
Daniel
2006-09-05 06:48:44 +00:00
f247adc56c * src/xen_internal.c: finished to convert to the new hypervisor
calls the xenHypervisorGetVcpus entry point, though it is untested
Daniel
2006-09-05 06:19:28 +00:00
903c78f540 Added missing return(-1) to cpu APIs. #ifdef out methods not used by proxy 2006-09-04 19:15:10 +00:00
c63f08e06f Allow trailing ',' in lists, and '_' in names 2006-09-03 17:46:32 +00:00
184c0bba15 Ignore generated files 2006-09-03 17:43:48 +00:00
9302933f09 Several bug fixes to list of domains. Display '-' instead of '-1' for inactive domains 2006-09-03 17:34:04 +00:00
4028abe6b3 Removed debug, oops, Daniel 2006-09-02 21:27:09 +00:00
86247f2c23 * src/xen_internal.c: converting to handle the new incompatible
hypercalls while still able to detect older versions, lot of
  work, seems okay, there is just one function not yet converted
* src/xs_internal.c: dropping virConnectCheckStoreID()
Daniel
2006-09-02 21:23:14 +00:00
6a0c75a7b3 Added new start, define,undefine commands. Added flags to allow list to show inactive domains 2006-08-30 14:32:32 +00:00
941bce224b Fix changelog timestamp/author from previous commit 2006-08-30 14:27:42 +00:00
25726a0ff4 Added driver backends for ListDefinedDomains, NumOfDefinedDomains, DomainStart, DomainDefineXML, DomainUndefine & hooked up all related infrastructure 2006-08-30 14:21:03 +00:00
c0b1a946a6 * src/conf.c: add missing entry point virConfGetValue()
Daniel
2006-08-29 22:45:44 +00:00
5334a0fbcb Oops fixed 'make rpm', daniel 2006-08-29 22:34:42 +00:00
3bbac7cdb6 * TODO libvirt.spec.in: update
* configure.in include/libvirt/virterror.h src/Makefile.am
  src/conf.c src/conf.h src/virterror.c src/xen_internal.c:
  adding a subset of Xen config file parser, and serializer
* tests/Makefile.am tests/conftest.c tests/test_conf.sh
  tests/confdata/Makefile.am tests/confdata/fc4.conf
  tests/confdata/fc4.out: adding test program for config in and out
Daniel
2006-08-29 22:27:07 +00:00
55bf738483 Add handling of error HTTP 500 codes 2006-08-29 18:12:22 +00:00
61e8450f25 * python/libvir.c: Pete Vetere pointed out a bug in string cast
when handling errors in Python
Daniel
2006-08-29 14:39:57 +00:00
ea30f6aa24 * src/sexpr.c src/sexpr.h src/xend_internal.c src/xml.c: applied
patch from Jeremy Katz to add graphical console for PV Xen guests
Daniel
2006-08-26 15:30:44 +00:00
fab8e90e6d * docs/site.xsl docs/*.html: add links to virt-manager
Daniel
2006-08-25 23:16:21 +00:00
18bb75eb84 Allow VIRSH_DEFAULT_CONNECT_URI to override default URI. Don't asusme there is always a domain-0 2006-08-25 22:40:33 +00:00
b1ca7467f4 Added tests for virsh domid, domname, domstat, domuuid, dominfo, list & nodeinfo commands 2006-08-24 21:46:28 +00:00
3c75dc33e4 Added a "make valgrind" test target 2006-08-24 16:00:19 +00:00
441246297e Added tests for the SEXPR<->XML conversion process 2006-08-24 15:05:19 +00:00
0658b086cd Check for failure of virConnectListDomains in 'list' command 2006-08-21 17:58:09 +00:00
129a24ea8c Fix networking in paravirt guests 2006-08-18 20:20:50 +00:00
adec25590c * src/xml.c: fix virParseUUID()
Daniel
2006-08-17 18:39:32 +00:00
6d1ef709cc * NEWS configure.in doc//* include/libvirt/libvirt.h
include/libvirt/libvirt.h.in: preparing release of 0.1.4,
  regenerated docs, fixed a few things
* src/proxy_internal.c src/test.c src/xend_internal.c:
  a few trivial fixes
Daniel
2006-08-16 17:58:23 +00:00
9425a3e617 Added setvcpus, setmem, setmaxme commands to virsh 2006-08-16 17:30:33 +00:00
5c2831b30b Hook up more test driver methods. Allow HV config to be loaded from extenral XML definition 2006-08-16 16:36:39 +00:00
64d25e8de5 Re-factored sexpr_uuid into virParseUUID 2006-08-16 16:33:55 +00:00
bfd5060347 Make drivers be 'quiet' when opening RW connection. Removed duplicated RO checks 2006-08-16 16:29:46 +00:00
b084f43f71 * include/libvirt/virterror.h src/libvirt.c src/virterror.c: enforce
blocking operations with side effect on read-only connections. Adds
  a new error code and message.
Daniel
2006-08-16 16:14:53 +00:00
075337182c Added <features> tag to XML for enable CPU/system features like PAE, ACPI 2006-08-15 17:01:42 +00:00
86a22bd660 Updated notes about HVM devices / boot details 2006-08-14 15:53:52 +00:00
e1ec9651a2 Fixup handling of HVM boot preference, and include HVM cdrom/floppy in main device list 2006-08-11 14:40:04 +00:00
f87c6d4734 * configure.in: updated python detection code from latest libxml2 one
* docs//*: rebuilt the docs
Daniel
2006-08-11 11:57:52 +00:00
d42014f108 * src/xml.c: markmc pointed out that using number(xpath) could lead
to NaN and following comparison would be wrong in a couple of places
  if the element looked at was missing.
Daniel
2006-08-10 14:26:35 +00:00
098e0a4bdc Hook up virDomainGetXMLDesc to driver backends. Added implementation of virDomainGetXMLDesc driver for the setuid proxy 2006-08-09 15:21:16 +00:00
0342994a8d * src/driver.h src/libvirt.c src/proxy_internal.c src/test.c
src/xen_internal.c src/xend_internal.c src/xend_internal.h
  src/xml.c src/xs_internal.c: cleanups, force the new vCPU
  and affinity entry point to go though the driver framework,
  and fix a few warning showing up in my pedantic environment.
Daniel
2006-08-08 22:22:55 +00:00
3c43212307 Pull info about serial console TTY and VNC port from xenstore into domain XML 2006-08-08 20:14:40 +00:00
56e0d5b33d * TODO: updated with new items
Daniel
2006-08-07 20:55:03 +00:00
4dfbf940a4 Fix corrupt XML when boot device is a cdrom 2006-08-07 19:56:37 +00:00
a9fd476848 Added a port='...' attribute to <graphics> tag for VNC displays. Initially hardcoded to domid+5900 2006-08-07 19:53:41 +00:00
345c959db9 * include/libvirt/libvirt.h.in: previous change to libvirt.h should
have gone on .in too
Daniel
2006-08-07 17:37:42 +00:00
f7e0594f87 Added vcpuinfo vcpupin commands to virsh. Fixed off by one bug in virDomainVcpuPin method 2006-08-07 14:35:20 +00:00
d7815361f8 * python/generator.py: fix the generator when handling long integers
Dan Berrange reported problems due to this when using
  virDomainSetMemory bindings
Daniel
2006-08-04 13:36:07 +00:00
7a8a63380f * include/libvirt/libvirt.h include/libvirt/libvirt.h.in
src/libvirt.c src/libvirt_sym.version src/xen_internal.c
  src/xen_internal.h src/xend_internal.c src/xend_internal.h:
  applied patch from Michel Ponceau and Philippe Berthault for
  virtual CPU and affinity support plus a bit of cleanup.
Daniel
2006-08-04 10:41:05 +00:00
417e06a40e * libvirt.spec.in: xen is now built for ia64, c.f. RH#199685
Daniel
2006-08-01 15:13:27 +00:00
6e7ec1f704 * src/virterror.c: Hugh Brock pointed out that error message
for bad argument were wrong and incomplete, this should fix it and
  a few other problems in error reporting
Daniel
2006-07-28 15:10:18 +00:00
56c02f2016 Mon Jul 24 14:34:15 IST 2006 Mark McLoughlin <markmc@redhat.com>
* libvirt.spec.in: sync changes from fedora CVS
2006-07-24 14:32:03 +00:00
c3415fbd3a * proxy/Makefile.am src/xen_internal.c src/xend_internal.c: cleanup
code when compiled for the proxy, changed the command line macro and
  remove warnings.
Daniel
2006-07-20 13:59:23 +00:00
53161d7cb2 Bulk replace 'informations' with 'information' 2006-07-19 22:24:37 +00:00
16e2cc5174 * src/xml.c: applied patch from Peter Vetere to pass down the
UUID from the XML description if present when creating the domain.
Daniel
2006-07-13 22:27:31 +00:00
0798941a85 * configure.in libvirt.spec.in docs/* NEWS: preparing release of
libvirt-0.1.3
* src/xend_internal.c: uninitialized var and disable TCP slow start
Daniel
2006-07-11 16:57:03 +00:00
0cf5ee2325 * docs/format.html docs/libvir.html docs/news.html: updated the XML
format documentation to cover the new HVM domains.
Daniel
2006-07-10 13:13:39 +00:00
3d90a9c86d * src/xend_internal.c src/xml.c: patches from Jim Fehlig for HVM
guests, plus XML format changes and merge from Mark McLoughlin
Daniel
2006-07-10 11:21:24 +00:00
3ffac4a188 Re-wrote xenDomainLookupByID to use more efficient XenD access 2006-07-07 18:58:35 +00:00
4d56d3c638 Wed Jul 5 17:11:32 IST 2006 Mark McLoughlin <markmc@redhat.com>
* xml.c: allow a <domain> to not have any <disk> devices - e.g.
	when using an NFS root.
2006-07-07 14:36:27 +00:00
e2bd543163 * src/xend_internal.c: fixed xenDaemonOpen() to try both unix and
http accesses by default and to use the provided URI otherwise,
  applied Jim Fehlig patch working around xend connection close bug
* autogen.sh: fixed package name
Daniel
2006-07-06 09:29:34 +00:00
5004bee519 unleash the hush puppies 2006-07-05 21:52:52 +00:00
1addb9b1c0 Wed Jul 5 17:11:32 IST 2006 Mark McLoughlin <markmc@redhat.com>
* xml.c: make the entire <os> node optional if a bootloader
        is specified. If we pass an image config to xend, the
        bootloader gets ignored anyway.
2006-07-05 17:08:40 +00:00
48030121a1 Wed Jul 5 16:51:45 IST 2006 Mark McLoughlin <markmc@redhat.com>
* xml.c: only set bootloader flag when we actually get
        a bootloader
2006-07-05 16:49:35 +00:00
4fcc208fa4 * libvirt.spec.in proxy/Makefile.am: do the chown at the rpm packaging
level, to allow build as non-root
* src/xml.c: fix bug #197583 raised by markmc
Daniel
2006-07-04 12:46:14 +00:00
567b42ce6a * NEWS docs/* configure.in libvirt.spec.in include/libvirt/libvirt.h:
preparing release of 0.1.2
* src/proxy_internal.c: don't warn on open if using http and not the
  proxy.
Daniel
2006-07-03 15:48:49 +00:00
c74976f139 * libvirt.spec.in proxy/Makefile.am src/proxy_internal.c
src/xen_internal.c: fixing the proxy installation, integrate in
  the spec file and fix a few bugs in the proxy, seems to behave
  correctly now.
* docs/apibuild.py docs/*: fixing the doc and API generator
Daniel
2006-07-03 13:45:55 +00:00
5995e2428c * proxy/libvirt_proxy.c src/proxy_internal.[ch] src/xend_internal.[ch]:
finished the last entry point missing for the proxy code.
Daniel
2006-07-03 11:12:12 +00:00
f14093e509 * proxy/libvirt_proxy.c src/proxy_internal.c: more bug fixes,
virsh starts to work normally over the proxy. Still one entry
  point missing but it's minor.
Daniel
2006-06-30 16:23:16 +00:00
ec48593fdc * proxy/libvirt_proxy.c src/proxy_internal.c src/xen_internal.c
src/xen_internal.h src/xend_internal.c src/xend_internal.h:
  implemented id based lookup and other cleanups, virsh starts to
  work, but still some TODOs
Daniel
2006-06-29 23:53:31 +00:00
337211e731 * src/proxy_internal.c src/proxy_internal.h src/driver.h src/libvirt.c
src/Makefile.am: moved proxy/proxy.h and proxy/proxy_client.c as
  proxy_internal.[ch] and integrated them as a new driver.
* proxy/Makefile.am proxy/libvirt_proxy.c src/xen_internal.c
  src/xen_internal.h src/xend_internal.c: various related cleanups.
Daniel
2006-06-29 22:12:47 +00:00
c386d9747b * proxy/libvirt_proxy.c proxy/proxy.h proxy/proxy_client.c: more
progresses on the proxy implementation.
* src/xend_internal.c src/xend_internal.h: exported one routine
Daniel
2006-06-29 14:44:37 +00:00
27b7a8be52 * configure.in Makefile.am proxy/Makefile.am proxy/libvirt_proxy.c
proxy/proxy.h proxy/proxy_client.c src/internal.h src/xen_internal.c
  src/xend_internal.c: started working on a proxy to access xend
  for unpriviledged users to avoid opening xend HTTP service to
  serve those read-only operations.
Daniel
2006-06-28 18:19:13 +00:00
b62cdc1405 * configure.in libvirt.spec.in docs/examples/* include/Makefile.am
include/libvirt/virterror.h python/generator.py python/libvir.c
  python/libvirt_wrap.h src/driver.h src/internal.h src/test.h
  src/virsh.c src/virterror.c src/xend_internal.c src/xend_internal.h
  src/xml.c src/xml.h: moved the includes from include/ to
  include/libvirt to reflect the installed include tree. This
  avoid using "" in the includes themselves.
Daniel
2006-06-26 15:02:18 +00:00
17af6e0a9b * NEWS libvirt.spec.in docs/*: preparing release of 0.1.1
Daniel
2006-06-21 13:36:07 +00:00
ac4818d05a * src/driver.h src/libvirt.c src/test.c src/xen_internal.c
src/xend_internal.c src/xs_internal.c: add driver numbers and
  tweak a bit suspend/resume/destroy operation to avoid doing
  them directly though the hypervisor if other succeeded first.
Daniel
2006-06-21 12:56:19 +00:00
a2e2e4652f * src/xen_internal.c: try to autodetect the Xen hypervisor version
used and switch automatically. A bit nasty though.
Daniel
2006-06-21 12:15:18 +00:00
801bfd2ec9 * src/xen_internal.c: fix breakage introduced in Xen changeset 10277
Daniel
2006-06-20 16:07:41 +00:00
d455b40712 * src/xen_internal.c src/xen_internal.h src/xs_internal.c: fix
a TODO in xs_internal.c pointed out by Philippe Berthault
Daniel
2006-06-16 15:28:26 +00:00
15b40d295d * src/libvirt.c src/xen_internal.c src/xend_internal.c: more driver
related cleanups, nearly finished
Daniel
2006-06-16 12:36:40 +00:00
442b733e6c * src/libvirt.c src/xend_internal.c src/xend_internal.h
src/xs_internal.c: more cleanups for the driver architecture
Daniel
2006-06-15 14:50:48 +00:00
4ab2646127 Added implementation of shutdown & reboot driver methods 2006-06-14 23:58:34 +00:00
5cc5f540f0 Connect up domain destroy, suspend, resume, reboot, shutdown methods to driver backends 2006-06-14 17:07:00 +00:00
037f413e4e * src/libvirt.c src/xend_internal.c src/xend_internal.h: cleaned up
virConnectListDomains and virConnectNumOfDomains, implemented xend
  driver entry point for them.
daniel
2006-06-14 15:44:14 +00:00
ef61dba0dc * src/libvirt.c: Daniel P. Berrange pointed out a bug in virConnectOpen
Daniel
2006-06-14 13:03:04 +00:00
e85fa600e7 Switch float -> double when calculating CPU time in dominfo command to avoid loss of precision 2006-06-13 19:08:40 +00:00
2bfd45c942 * src/libvirt.c src/xen_internal.c src/xend_internal.c
src/xs_internal.c: fix the connection and GetType initialization.
Daniel
2006-06-13 18:29:42 +00:00
7efa1c11b5 * docs//*: rebuilt the documentation
* src/driver.h src/libvirt.c src/test.c src/xen_internal.c
  src/xend_internal.c src/xs_internal.c: started to fix some of
  the driver related problem raised by Daniel Berrange, added a
  ver version field to drivers.
Daniel
2006-06-13 16:31:44 +00:00
d9bfbfa949 Call xenDeamonClose if ping test fails during open call, to ensure any resources are freed up 2006-06-13 13:45:09 +00:00
1213bedf6d Do a 'ping' test when opening connection to verify XenD really is there & alive 2006-06-12 22:21:04 +00:00
e5bb0cb052 Added 'mock' hypervisor driver for use by unit tests 2006-06-06 03:32:51 +00:00
88e6f39ae6 * src/hash.c, src/internal.h: Switch the uuid parameter in virGetDomain
to be of type 'unsigned char' since its a raw UUID we're passing in,
  not a printable one.
* src/libvirt.c: Remove bogus "unsigned char" -> "char" type casts. Hook
  up the "domainLookupByID", "domainLookupByUUID", "domainLookupByName"
  and "domainGetInfo" driver backend functions.
Daniel
2006-05-29 18:03:27 +00:00
d0f2c663be added Daniel B.'s build system patches 2006-05-29 16:05:05 +00:00
d47ddf5b67 support mock & domuuid for virsh 2006-05-29 15:39:31 +00:00
624505349d UUID utils, virsh cleanup, ... 2006-05-22 14:38:33 +00:00
fd6d06b49d XML-RPC errors checks 2006-05-10 14:48:20 +00:00
0d8e15fa75 added virBufferStrcat 2006-05-10 12:15:49 +00:00
0f579f785c XML-RPC tests 2006-05-09 15:35:46 +00:00
bfee5cd2cd * src/hash.c src/internal.h src/libvirt.c src/virterror.c
src/xml.h include/libvirt.h[.in] include/virterror.h: started
  adding new APIs, some still TODO, and not tested yet
Daniel
2006-04-28 18:29:26 +00:00
7b38f418cb * src/xml.c src/xend_internal.c TODO: added uuid to the XML
serialization
Daniel
2006-04-27 14:14:23 +00:00
1e01848396 * src/xml.c: applied patch from Jeremy Katz to not require a
root entry in XML nor try to extract it from command line
  informations.
Daniel
2006-04-26 07:31:16 +00:00
aa13b2aa79 * docs//* : fixed perl binding URL to point to CPAN as provided by
Daniel P. Berrange.
Daniel
2006-04-26 06:43:42 +00:00
0ea21e5cbd * configure.in: patch for ncurses fallback from Jim Fehlig
Daniel
2006-04-25 16:54:26 +00:00
f7a48c19f1 * configure.in libvirt.spec.in docs/examples/Makefile.am
docs/examples/index.py docs/examples/python/*: integrated
  examples for Python from David Lutterkort
Daniel
2006-04-25 16:08:48 +00:00
be54328be3 * src/xend_internal.c: applied patch from Jim Fehlig when parsing
domain S-Expr the kernel may not be provided (Dom0)
Daniel
2006-04-25 13:33:44 +00:00
91b0ae89dd * src/hash.c src/internal.h: add virGetDomainByID() to speed up
some processing but not used yet
* src/libvirt.c src/xen_internal.c src/xen_internal.h: added domain
  listing and number queries entry points based on the hypervisor
  which should speed up some processing as root.
Daniel
2006-04-24 18:21:29 +00:00
b68bd23d9b * src/xend_internal.c: fix an uninitialized memory access in error
reporting.
Daniel
2006-04-20 14:28:01 +00:00
e081236077 * include/libvirt.h include/libvirt.h.in doc/*: added new entry point
virDomainSetMemory to set up the target memory use for a domain
* src/driver.h src/libvirt.c src/xen_internal.c src/xend_internal.[ch]
  src/xs_internal.[ch]: added a new entry point in the drivers for this,
  also fixed the xen store entry, as changing
  /local/domain/$$/memory/target affects the target memory not the max,
  apparently max is not visible at the xenstore level (or I missed it)
Daniel
2006-04-13 17:18:49 +00:00
cb8f47047b * NEWS configure.in libvirt.spec.in docs/*: documented and
regenerated for release of 0.1.0
* Makefile.am virsh.1: added man page from Andrew Puch
Daniel
2006-04-10 14:15:33 +00:00
7293407295 * src/xend_internal.c src/xml.c: applied patch from Jim Fehlig
for lifecycle events
* docs/format.html docs/libvir.html: added the associated docs for
  the new constructs
* TODO: small update
Daniel
2006-04-10 08:32:34 +00:00
572806a99b * TODO src/hash.[ch] src/internal.h src/libvirt.c src/xend_internal.c
src/xs_internal.c: implementing domain pointers unification, thread
  safety and reference counting for domain and connections, this was
  the last critical change needed before making further progresses at
  the API level. Still a couple fo things TODO for this, unification
  at the Python level and adding UUID to hash. All domain/connect alloc
  and free routines are now centralized in hash.c
* docs/APIchunk1.html docs/libvirt-api.xml docs/libvirt-refs.xml
  docs/html/libvirt-libvirt.html: regenerated the docs, that doesn't
  change the API.
Daniel
2006-04-09 13:11:22 +00:00
1ea832d65b use stdout rather than stderr, improve allocation checks 2006-04-06 10:33:06 +00:00
6bd95bf2a3 * src/hash.c: tiny fix
* src/internal.h: starting to work on reentrancy
* src/libvirt.c: applied patch from Jim Fehlig to fix
  virDomainLookupByID when run as root.
Daniel
2006-04-05 09:31:29 +00:00
48e85b5c41 virsh command names cleanup 2006-04-04 21:52:31 +00:00
f7e40ae879 add nodeinfo, rename dinfo to dominfo, fix libvirt.h typo 2006-04-04 14:37:32 +00:00
831f910e50 * include/libvirt.h[.in] src/driver.h src/libvirt.c
src/libvirt_sym.version src/*_internal.[ch]: added an entry
  point for reboot and corresponding driver plug
* src/virsh.c: added a reboot option using it
* docs/*: regenerated
Daniel
2006-04-03 13:46:43 +00:00
5fff4b0bed * src/xend_internal.c: applied patch from Daniel P. Berrange,
plus a bit of code cleanup
Daniel
2006-03-30 16:37:15 +00:00
2b4566b5b5 * src/virsh.c: allocation check (Jim Meyering) and adding a
new create command
* src/xend_internal.c src/xml.c: trying to cope with the new
  xvda domains states generated on FC5, but Dom0 bootloader
  really break the model, so that doesn't work.
Daniel
2006-03-30 16:08:13 +00:00
c9a8f27380 * src/virsh.c: catching memory allocation error and existing, as
pointed by Jim Meyering
Daniel
2006-03-30 12:14:40 +00:00
85c23ead9e * doc/*: rebuilt
Daniel
2006-03-29 14:35:52 +00:00
880f4e9ae2 * python/libvir.c: fixed a bug in the new wrapper
* python/tests/Makefile.am python/tests/node.py: added a new test for
  the new API
* python/tests/create.py: remove a debug
Daniel
2006-03-29 13:33:37 +00:00
212eaea323 * include/libvirt.h[.in] include/virterror.h src/driver.h
src/internal.h src/libvirt_sym.version src/xen_internal.c
  src/xs_internal.c: added a new entry point to get node hardware
  informations virGetNodeInfo, and associated driver hook.
* src/xend_internal.c: implemented the node and version information
  hooks for the Xen Daemon
* python/libvir.c python/libvirt-python-api.xml python/generator.py:
  also added Python bindings for the new call
Daniel
2006-03-29 12:46:03 +00:00
78de9baafc Fixing the python example, Daniel 2006-03-28 14:48:57 +00:00
538686f9c0 * python/libvir.c: call the initialize entry point
* src/libvirt_sym.version: add initialize entry point
* src/libvirt.c: make sure we always initialize the lib
* python/tests/*.py: start updating exemple for exception
  handling as pointed by Jim Meyering
Daniel
2006-03-28 14:41:04 +00:00
7743c7a7b1 * doc/site.xsl doc/libvir.html doc/*: added informations about
the Perl bindings, regenerated
* python/libvirt_wrap.h: added a missing include.
Daniel
2006-03-28 09:50:17 +00:00
4faeeb1041 * doc/*: updated module list and rebuilt
* include/libvirt.h include/libvirt.h.in: added intialization function
* include/virterror.h src/virterror.c: one more error code
* src/internal.h: first part of Jim's format checking
* src/libvirt.c src/xen_internal.[ch] src/xend_internal.[ch]
  src/xs_internal.[ch]: initialization and registration of drivers
Daniel
2006-03-27 15:24:36 +00:00
a5990ba624 * src/Makefile.am: add driver.h to SOURCES as pointed by Jim Meyering
* doc/*: rebuilt
Daniel
2006-03-25 10:47:41 +00:00
37a91cb049 * src/virterror.c: add message as pointed by Jim Meyering
Daniel
2006-03-25 10:38:30 +00:00
49359cfe63 * include/virterror.h: fix typos pointed by Jim Meyering
Daniel
2006-03-24 22:58:13 +00:00
978115dc04 * include/virterror.h: applied patch from Daniel Berrange for out of
tree compiles.
Daniel
2006-03-24 22:36:47 +00:00
a453b65e09 * libvirt.pc.in: applied patch from Daniel Berrange to fix --cflags
Daniel
2006-03-24 13:18:12 +00:00
561377ab8a * src/Makefile.am: fix out of tree build
Daniel
2006-03-24 13:03:29 +00:00
a21472c0fd * src/xs_internal.c src/xs_internal.h include/virterror.h
src/virterror.c: created a new module related to Xen Store accesses
* src/libvirt.c src/xen_internal.[ch] src/xend_internal.[ch]:
  nearly completed the separation of the code from the different modules
Daniel
2006-03-23 15:42:10 +00:00
faf61d94c1 * python/tests/create.py: add one more image path
* src/libvirt.c src/xend_internal.c src/xend_internal.h: more work
  on the xend refactoring
Daniel
2006-03-22 13:44:01 +00:00
44c2c10ea5 * python/tests/create.py: adapt to new naming scheme in FC5
Daniel
2006-03-22 13:33:20 +00:00
c54ae3f023 * src/driver.h src/xen_internal.c: just add a driver block for
the Xen hypervisor direct access module. Need to convert
  xend_internal.[ch] and make one for the Xenstore now ...
Daniel
2006-03-20 23:42:12 +00:00
de5a1d1dd5 * src/driver.h src/internal.h src/libvirt.c src/xen_internal.c
src/xen_internal.h docs/apibuild.py: starting the refactoring,
  first the direct Xen hypervisor module. New header describing the
  entry points of a driver.
Daniel
2006-03-20 17:49:28 +00:00
247cf7a3b2 * src/hash.c src/hash.h src/internal.h src/libvirt.c src/sexpr.c
src/sexpr.h src/virsh.c src/virterror.c src/xen_internal.c
  src/xen_internal.h src/xend_internal.c src/xend_internal.h
  src/xml.c src/xml.h: applied cb/indent to homogenize the source
  style, as a first pass.
Daniel
2006-03-15 12:13:25 +00:00
cda69700a0 First import of XML-RPC protocol support for newer versions of Xend. I've not
put it in the Makefiles yet as it's not actually being used by anything.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2006-03-10 17:02:25 +00:00
72b838fffc * configure.in: applied patch for --with-xen-distdir option from
Ronald Aigner
* docs/site.xsl docs/*.html: added link to Bugzilla
Daniel
2006-03-10 10:21:41 +00:00
0742c9313e * src/xml.c: another patch from David Lutterkort fixing a typo
when generating physical block devices descriptions.
Daniel
2006-03-04 09:00:15 +00:00
a720116103 * libvirt.spec.in: applied patch from David Lutterkort adding
missing reqs for readline.
Daniel
2006-03-04 08:57:22 +00:00
714532355f * NEWS configure.in libvirt.spec.in include/libvirt.h docs/*:
preparing release 0.0.6
Daniel
2006-02-28 14:22:33 +00:00
6c5a225725 * docs/errors.html docs/libvir.html docs/*: added a page about
error handling and regenerated the docs
Daniel
2006-02-28 13:58:30 +00:00
97e7e798b2 Fixed the test, daniel 2006-02-28 12:56:25 +00:00
65bace1765 * TODO: updated
* python/Makefile.am python/generator.py python/libvir.c
  python/libvir.py: improved python binding, raise exception
  when an instance creation or lookup fails, and add support
  for the global error handler, per conn handler still needed
* python/tests/error.py python/tests/Makefile.am: adding a
  regression test
Daniel
2006-02-28 12:17:00 +00:00
9aba17bd6c * doc//*: rebuilt
Daniel
2006-02-27 22:35:26 +00:00
8bc437e412 * TODO: updated, and added python hooks for error handling
* include/virterror.h src/virterror.c src/xml.c: error interception
  and reporting should be done.
Daniel
2006-02-27 22:32:54 +00:00
5548938d62 * src/libvirt.c src/xen_internal.[ch]: virConnectOpenReadOnly()
should not emit error when failing to open the hypervisor proc
  entry point.
Daniel
2006-02-27 21:42:32 +00:00
87d338374a * include/virterror.h src/libvirt_sym.version: exported
virDefaultErrorFunc()
* src/sexpr.c src/xen_internal.c src/virterror.c include/virterror.h:
  adding more error reporting though the code, nearly complete.
* src/sexpr.c: added specific error function to avoid an error report.
Daniel
2006-02-27 21:34:28 +00:00
739dfb531d * include/virterror.h src/virterror.c src/xend_internal.c: more work
plugging in the error system in the code.
Daniel
2006-02-27 19:56:23 +00:00
596b601021 * TODO: updated
* include/virterror.h src/internal.h src/libvirt.c src/virterror.c
  src/xend_internal.c: commiting a first pass at adding error handling
  in the code, not finished, but it starts to work, need more coverage
  and testing.
Daniel
2006-02-27 16:27:18 +00:00
4d9187a696 Fix search.php, Daniel 2006-02-24 22:43:09 +00:00
7d28bba98d Fixing link to search.php, Daniel 2006-02-24 22:42:27 +00:00
ac6eb960cf missing Daniel 2006-02-24 22:37:23 +00:00
8557bc67a4 * src/Makefile.am src/internal.h src/libvirt.c src/libvirt_sym.version
src/virterror.c include/Makefile.am include/virterror.h: adding
  the public APIs for errors, callbacks and synchronous. The boring
  stuff is still left to do, plugging it. Also need to be exposed
  at the python level.
* doc//*: rebuilt
Daniel
2006-02-24 22:36:10 +00:00
868f93ba8e Tiny fix, Daniel 2006-02-24 21:22:21 +00:00
4750942abe * docs/index.py docs/search.php: fixing the search engine.
Daniel
2006-02-24 21:17:54 +00:00
5800109158 A few libvir->libvirt, Daniel 2006-02-24 13:47:47 +00:00
fd21f1b3ec * python/generator.py python/libvir.c python/libvirt-python-api.xml:
UUID strings can contain zeroes, so the autogenerated conversion
  functions don't work.
Daniel
2006-02-24 12:26:56 +00:00
20cfd0c818 Oops forgot to update the spec file, Daniel 2006-02-23 11:35:37 +00:00
97f9566687 * src/libvirt.c: fixing a bug before the release of 0.0.5
* python/generator.py python/libvir.c python/libvirt-python-api.xml:
  also fixing the binding for getting a domain UUID
* python/tests/Makefile.am python/tests/uuid.py: added a test
  for the new UUID API
Daniel
2006-02-23 11:26:17 +00:00
6eaf35d077 * NEWS configure.in docs/libvir.html docs/news.html: preparing the
release of 0.0.5
* include/libvirt.h.in: fixed APIs definition
Daniel
2006-02-23 10:42:29 +00:00
6ce04643d0 * python/tests/Makefile.am: added the create.py in the regression tests
Daniel
2006-02-23 10:31:23 +00:00
6536c00f25 * include/libvirt.h[.in] src/libvirt.c src/xend_internal.[ch]
src/libvirt_sym.version: added virDomainLookupByUUID and
  virDomainGetUUID to be able to use the persistant UUID names
* docs//*: rebuilt the docs following the API extension
Daniel
2006-02-23 10:13:55 +00:00
21df1e503b * configure.in libvirt.spec.in docs/Makefile.am docs/devhelp/*:
added devhelp docs support, based on libxml2 stylesheets
Daniel
2006-02-22 10:54:54 +00:00
a3512b01f9 * TODO: updated
* libvirt.spec.in: package the examples in the doc
* src/Makefile.am: forgot to add xml.h
Daniel
2006-02-22 08:59:00 +00:00
d02fa086ff TODO update 2006-02-21 21:01:09 +00:00
c509b5cd0b * Makefile.am: extended make tests to run those in docs/examples
* docs/examples/suspend.c docs/examples/*: added an example of
  suspend/resume and regenerated
Daniel
2006-02-21 14:15:32 +00:00
d3a15eb303 * TODO: updated
* python/tests/Makefile.am: fix a small PYTHONPATH bug
* docs//*: fixed the xsl a bit for toc names, added doc for
  the python bindings, regenerated
Daniel
2006-02-21 13:23:16 +00:00
9a2ec00a05 * src/libvirt.c src/xend_internal.c src/xend_internal.h: move the
XML dump function around to make sure all entry points are centralized
  in libvirt.c and also avoid doc generation troubles.
* docs/examples/Makefile.am docs/examples/index.py: fix the makefile
  a bit.
* TODO: updated
* docs/format.html: added a description of the XML used for the
  domains.
* docs//*: rebuilt
Daniel
2006-02-20 23:08:47 +00:00
9c5111b9c9 * docs/examples/examples.xsl docs/examples/index.html
docs/site.xsl: integates the examples page in the web site
* docs//* : fixed generator and rebuilt the docs
* python/tests/basic.py python/tests/create.py: couple cleanups
Daniel
2006-02-20 20:50:48 +00:00
144141872b * TODO: updated
* include/libvirt.h include/libvirt.h.in: cleanup
* src/libvirt.c: remove debugging output
* src/xend_internal.c src/xml.c src/xml.h: reimplement
  virDomainGetXMLDesc() based on xend interface, now work as user too.
Daniel
2006-02-20 17:22:16 +00:00
82402982c8 * python/tests/create.py: trying to make test more generic, but it's
difficult since it requires a system image
* src/libvirt.c src/xend_internal.c: fixed the shutdown API which
  was broken due to a bad reason at the xend level.
Daniel
2006-02-17 13:18:57 +00:00
77e8b6c62c * configure.in src/Makefile.am: adding dependency to libxml2
* include/libvirt.h* src/libvirt.c src/xend_internal.[ch]
  src/xml.[ch]: added XML parsing for Xen domain descriptions
  needed for creates, plugged in a converter to s-exp and
  xend call. Modified the virDomainCreateLinux() to reflect
  that XML based description. Seems to work.
* python/tests/create.py: added a test case which seems to work
  not tested much yet
* docs/*: regenerated
Daniel
2006-02-16 22:50:52 +00:00
2985f0acdb * configure.in libvirt.spec.in include/libvirt.h.in python/Makefile.am
src/Makefile.am: fix rpm packaging problems whith head, more
  LIBVIR -> LIBVIRT changes.
Daniel
2006-02-15 13:21:17 +00:00
f32eee58b0 * Makefile.am configure.in python/Makefile.am python/tests/Makefile.am
python/tests/basic.py: added first python test script and
  a 'make tests' target
Daniel
2006-02-14 14:30:42 +00:00
a5f9391541 * libvirt.pc.in: Karel pointed out the name hadn't been updated
Daniel
2006-02-10 15:46:36 +00:00
04142f1c5e * python/libvir.c: fixed one more problem prior to 0.0.4
Daniel
2006-02-10 10:31:50 +00:00
2a9660e425 * NEWS configure.in docs/libvir.html docs/news.html include/libvirt.h
libvirt.spec.in: preparing 0.0.4 release
Daniel
2006-02-10 10:28:59 +00:00
7191077439 * README TODO config.h.in libvirt.pc.in: more cleanups.
Daniel
2006-02-10 10:11:21 +00:00
60c5aabc5a Adding missing files, Daniel 2006-02-10 08:47:26 +00:00
f2fec34604 * NEWS docs/*: regenerated and updated the docs post 0.0.3 release
Daniel
2006-02-10 08:43:31 +00:00
0b2869fb84 * autogen.sh configure.in: fixed snapshot autogeneration, had to
tweak a few things
Daniel
2006-02-10 08:40:20 +00:00
5fe8d8b3ff Fixing generation, Daniel 2006-02-09 18:03:54 +00:00
8c423e6c83 * //* : renamed the project libvirt , this affects all makefiles,
the specs, the icons, the docs, etc ...
* configure.in: prepare for 0.0.3
Daniel
2006-02-09 17:45:11 +00:00
1c40364403 fixing an error pointed by sct, Daniel 2006-02-03 16:51:36 +00:00
17202ea686 fix visrh "save" cmd 2006-02-03 14:49:41 +00:00
7871d455b3 * configure.in docs/examples/*: starting to add examples. the XSLT
still need to be fixed for web site
Daniel
2006-01-31 18:13:27 +00:00
b6022c2ad3 * python/*: update of the python bindings, fix names, add
missing features like list of domains and domain info extraction
Daniel
2006-01-31 10:24:12 +00:00
ca586e5a80 Release of 0.0.2, daniel 2006-01-31 10:21:10 +00:00
3afad0b2f0 * NEWS docs/news.xsl: added stylesheet to generate NEWS file
* docs/*: updated docs preparing for the release
Daniel
2006-01-29 10:56:15 +00:00
eece06a14f * docs/site.xsl docs/*.html: credits to Diana Fong for graphics
and web site design
Daniel
2006-01-29 08:52:59 +00:00
e9736c7d92 * python/libvir.c: fix a stupid bug in python bindings (DomainDestroy
is still mishandled though)
Daniel
2006-01-28 20:24:55 +00:00
b259e6be88 * src/libvir.c src/xml.c: applied patch from Anthony Liguori
to remove the XenStore transactions as this is not needed
  anymore.
Daniel
2006-01-27 08:59:42 +00:00
b2764c3d94 * TODO: updated
* docs/search.php: use the new web site design
* python/generator.py: fix a generation bug on python keyword
Daniel
2006-01-26 12:11:32 +00:00
b64c353863 add xshandle checks, fix virsh grammar 2006-01-25 09:46:22 +00:00
41e990528a * src/libvir.c: Karel pointed out handle was lost in
virConnectOpenReadOnly()
Daniel
2006-01-24 13:10:39 +00:00
46202b3705 * docs/site.xsl docs/*.png docs/*.html: update the images from Diana,
added favicon to page.
* src/libvir.c: reorganized the include imports.
Daniel
2006-01-23 22:55:41 +00:00
d0a71d23da * doc/*: augment and try to complete the doc in its current state
Daniel
2006-01-23 13:24:07 +00:00
abd2214b44 Updated and fixed a broken link, Daniel 2006-01-22 17:03:48 +00:00
3333cec207 * doc/*: started to augment and update the documentation
Daniel
2006-01-22 16:27:09 +00:00
ff97523083 * doc//*: mostly finished the revamp in the plane, starts to look good
Daniel
2006-01-21 23:34:36 +00:00
76777c51f7 * doc/* : total revamp of the web site based on Diana Fong design
but not completely integrated yet
Daniel
2006-01-20 15:49:04 +00:00
474e4b8425 * include/libvir.h include/libvir.h.in src/libvir.c: revamped the
restore API (though it would be better if it was returning
  a domain pointer in case of success)
* src/virsh.c: added save and restore to the commands, tested,
  the option handling need work though
Daniel
2006-01-20 10:00:08 +00:00
6e9443aeb1 * src/libvir.c src/xend_internal.c src/xend_internal.h: continue
the integration of more xend based accesses, virsh seems to work
  without accessing the xen store now.
Daniel
2006-01-19 10:23:15 +00:00
563d3d06d0 * src/libvir.c: small change w.r.t. reboot.
Daniel
2006-01-18 18:58:35 +00:00
34dee79f1d * include/libvir.h include/libvir.h.in src/libvir.c: more integration
of libxend capabilities, including checkpointing and restoring
  in a file.
* docs//*: regenerated the docs
Daniel
2006-01-18 10:37:08 +00:00
dc08f2d858 oops removing a debug warning, Daniel 2006-01-17 16:57:17 +00:00
f7e03b9312 * include/libvir.h[.in]: added VIR_DOMAIN_CRASHED status, small
doc fix
* src/virsh.c: fix a integer being formatted as %s in idof
* src/internal.h src/libvir.c src/xend_internal.[ch]: started to
  integrated the xend back-end, especially for getting informations
  about a domain.
Daniel
2006-01-17 16:56:17 +00:00
c568ebea25 * include/libvir.h.in include/libvir.h src/internal.h src/libvir.c
src/xend_internal.c src/xend_internal.h: starting to plug the
  xend code in, replacing structures mostly, but not finished.
Daniel
2006-01-13 16:41:01 +00:00
fe64a1d852 * src/Makefile.am src/xend_internal.c src/xend_internal.h:
added more of Anthony Liquori libxend code, commented and reformatted
  this still need to be plugged, it's still dead code ATM.
Daniel
2006-01-12 15:38:07 +00:00
f18b6c0ec6 * docs/libvir.html: grammatical fix
* src/Makefile.am src/sexpr.c src/sexpr.h: starting to integrate
  Anthony Liquori libxend code
* src/libvir.c: fix an uninitialized value
Daniel
2006-01-11 13:58:32 +00:00
2b019dd2f7 * docs/architecture.* docs/*: added a section on the architecture
and regenerated the docs.
Daniel
2005-12-21 16:59:34 +00:00
330 changed files with 148710 additions and 7604 deletions

View File

@ -17,6 +17,10 @@ libtool
ltconfig
ltmain.sh
update.log
libxen.pc
libxen.spec
libvirt.pc
libvirt.spec
COPYING
m4
ABOUT-NLS
config.rpath
mkinstalldirs

1669
ChangeLog

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +1,24 @@
## Process this file with automake to produce Makefile.in
SUBDIRS = src include docs @PYTHON_SUBDIR@
SUBDIRS = src include docs @PYTHON_SUBDIR@ tests proxy po
EXTRA_DIST = libvir.spec.in libvir.spec COPYING.LIB \
libvir.pc.in libvir.pc TODO AUTHORS ChangeLog \
NEWS README
ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = libvirt.spec.in libvirt.spec COPYING.LIB \
libvirt.pc.in libvirt.pc TODO AUTHORS ChangeLog \
NEWS README $(man_MANS)
man_MANS = virsh.1
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libvir.pc
pkgconfig_DATA = libvirt.pc
rpm: clean
@(unset CDPATH ; $(MAKE) dist && rpmbuild -ta $(distdir).tar.gz)
check-local: all tests
tests:
@(cd docs/examples ; $(MAKE) MAKEFLAGS+=--silent tests)
@(if [ "@PYTHON_SUBDIR@" != "" ] ; then cd python ; \
$(MAKE) MAKEFLAGS+=--silent tests ; fi)

196
NEWS
View File

@ -1,8 +1,192 @@
Mon Dec 19 2005
- first release 0.0.1
Thu Dec 15 2005
- project announced publicly
NEWS file for libvirt
Note that this is automatically generated from the news webpage at:
http://libvirt.org/news.html
Releases
0.1.10: Dec 20 2006:
- more localizations
- bug fixes: VCPU info breakages on xen 3.0.3, xenDaemonListDomains buffer overflow (Daniel Berrange), reference count bug when creating Xen domains (Daniel Berrange).
- improvements: support graphic framebuffer for Xen paravirt (Daniel Berrange), VNC listen IP range support (Daniel Berrange), support for default Xen config files and inactive domains of 3.0.4 (Daniel Berrange).
0.1.9: Nov 29 2006:
- python bindings: release interpeter lock when calling C (Daniel Berrange)
- don't raise HTTP error when looking informations for a domain
- some refactoring to use the driver for all entry points
- better error reporting (Daniel Berrange)
- fix OS reporting when running as non-root
- provide XML parsing errors
- extension of the test framework (Daniel Berrange)
- fix the reconnect regression test
- python bindings: Domain instances now link to the Connect to avoid garbage collection and disconnect
- separate the notion of maximum memory and current use at the XML level
- Fix a memory leak (Daniel Berrange)
- add support for shareable drives
- add support for non-bridge style networking configs for guests(Daniel Berrange)
- python bindings: fix unsigned long marshalling (Daniel Berrange)
- new config APIs virConfNew() and virConfSetValue() to build configs from scratch
- hot plug device support based on Michel Ponceau patch
- added support for inactive domains, new APIs, various associated cleanup (Daniel Berrange)
- special device model for HVM guests (Daniel Berrange)
- add API to dump core of domains (but requires a patched xend)
- pygrub bootloader informations take over <os> informations
- updated the localization strings
0.1.8: Oct 16 2006:
- Bug for system with page size != 4k
- vcpu number initialization (Philippe Berthault)
- don't label crashed domains as shut off (Peter Vetere)
- fix virsh man page (Noriko Mizumoto)
- blktapdd support for alternate drivers like blktap (Daniel Berrange)
- memory leak fixes (xend interface and XML parsing) (Daniel Berrange)
- compile fix
- mlock/munlock size fixes (Daniel Berrange)
- improve error reporting
0.1.7: Sep 29 2006:
- fix a memory bug on getting vcpu informations from xend (Daniel Berrange)
- fix another problem in the hypercalls change in Xen changeset
86d26e6ec89b when getting domain informations (Daniel Berrange)
0.1.6: Sep 22 2006:
- Support for localization of strings using gettext (Daniel Berrange)
- Support for new Xen-3.0.3 cdrom and disk configuration (Daniel Berrange)
- Support for setting VNC port when creating domains with new
xend config files (Daniel Berrange)
- Fix bug when running against xen-3.0.2 hypercalls (Jim Fehlig)
- Fix reconnection problem when talking directly to http xend
0.1.5: Sep 5 2006:
- Support for new hypercalls change in Xen changeset 86d26e6ec89b
- bug fixes: virParseUUID() was wrong, netwoking for paravirt guestsi
(Daniel Berrange), virsh on non-existent domains (Daniel Berrange),
string cast bug when handling error in python (Pete Vetere), HTTP
500 xend error code handling (Pete Vetere and Daniel Berrange)
- improvements: test suite for SEXPR <-> XML format conversions (Daniel
Berrange), virsh output regression suite (Daniel Berrange), new environ
variable VIRSH_DEFAULT_CONNECT_URI for the default URI when connecting
(Daniel Berrange), graphical console support for paravirt guests
(Jeremy Katz), parsing of simple Xen config files (with Daniel Berrange),
early work on defined (not running) domains (Daniel Berrange),
virsh output improvement (Daniel Berrange
0.1.4: Aug 16 2006:
- bug fixes: spec file fix (Mark McLoughlin), error report problem (with
Hugh Brock), long integer in Python bindings (with Daniel Berrange), XML
generation bug for CDRom (Daniel Berrange), bug whem using number() XPath
function (Mark McLoughlin), fix python detection code, remove duplicate
initialization errors (Daniel Berrange)
- improvements: UUID in XML description (Peter Vetere), proxy code
cleanup, virtual CPU and affinity support + virsh support (Michel
Ponceau, Philippe Berthault, Daniel Berrange), port and tty informations
for console in XML (Daniel Berrange), added XML dump to driver and proxy
support (Daniel Berrange), extention of boot options with support for
floppy and cdrom (Daniel Berrange), features block in XML to report/ask
PAE, ACPI, APIC for HVM domains (Daniel Berrange), fail saide-effect
operations when using read-only connection, large improvements to test
driver (Daniel Berrange)
- documentation: spelling (Daniel Berrange), test driver examples.
0.1.3: Jul 11 2006:
- bugfixes: build as non-root, fix xend access when root, handling of
empty XML elements (Mark McLoughlin), XML serialization and parsing fixes
(Mark McLoughlin), allow to create domains without disk (Mark
McLoughlin),
- improvement: xenDaemonLookupByID from O(n^2) to O(n) (Daniel Berrange),
support for fully virtualized guest (Jim Fehlig, DV, Mark McLoughlin)
- documentation: augmented to cover hvm domains
0.1.2: Jul 3 2006:
- headers include paths fixup
- proxy mechanism for unpriviledged read-only access by httpu
0.1.1: Jun 21 2006:
- building fixes: ncurses fallback (Jim Fehlig), VPATH builds (Daniel P.
Berrange)
- driver cleanups: new entry points, cleanup of libvirt.c (with Daniel P.
Berrange)
- Cope with API change introduced in Xen changeset 10277
- new test driver for regression checks (Daniel P. Berrange)
- improvements: added UUID to XML serialization, buffer usage (Karel
Zak), --connect argument to virsh (Daniel P. Berrange),
- bug fixes: uninitialized memory access in error reporting, S-Expr
parsing (Jim Fehlig, Jeremy Katz), virConnectOpen bug, remove a TODO in
xs_internal.c
- documentation: Python examples (David Lutterkort), new Perl binding
URL, man page update (Karel Zak)
0.1.0: Apr 10 2006:
- building fixes: --with-xen-distdir option (Ronald Aigner), out of tree
build and pkginfo cflag fix (Daniel Berrange)
- enhancement and fixes of the XML description format (David Lutterkort
and Jim Fehlig)
- new APIs: for Node information and Reboot
- internal code cleanup: refactoring internals into a driver model, more
error handling, structure sharing, thread safety and ref counting
- bug fixes: error message (Jim Meyering), error allocation in virsh (Jim
Meyering), virDomainLookupByID (Jim Fehlig),
- documentation: updates on architecture, and format, typo fix (Jim
Meyering)
- bindings: exception handling in examples (Jim Meyering), perl ones out
of tree (Daniel Berrange)
- virsh: more options, create, nodeinfo (Karel Zak), renaming of some
options (Karel Zak), use stderr only for errors (Karel Zak), man page
(Andrew Puch)
0.0.6: Feb 28 2006:
- add UUID lookup and extract API
- add error handling APIs both synchronous and asynchronous
- added minimal hook for error handling at the python level, improved the
python bindings
- augment the documentation and tests to cover error handling
0.0.5: Feb 23 2006:
- Added XML description parsing, dependance to libxml2, implemented the
creation API virDomainCreateLinux()
- new APIs to lookup and name domain by UUID
- fixed the XML dump when using the Xend access
- Fixed a few more problem related to the name change
- Adding regression tests in python and examples in C
- web site improvement, extended the documentation to cover the XML
format and Python API
- Added devhelp help for Gnome/Gtk programmers
0.0.4: Feb 10 2006:
- Fix various bugs introduced in the name change
0.0.3: Feb 9 2006:
- Switch name from from 'libvir' to libvirt
- Starting infrastructure to add code examples
- Update of python bindings for completeness
0.0.2: Jan 29 2006:
- Update of the documentation, web site redesign (Diana Fong)
- integration of HTTP xend RPC based on libxend by Anthony Liquori for
most operations
- Adding Save and Restore APIs
- extended the virsh command line tool (Karel Zak)
- remove xenstore transactions (Anthony Liguori)
- fix the Python bindings bug when domain and connections where freed
0.0.1: Dec 19 2005:
- First release
- Basic management of existing Xen domains
- Minimal autogenerated Python bindings
Wed Nov 2 2005
- the very first work was checked in a CVS on veillard.com

12
README
View File

@ -1,7 +1,13 @@
LibVir : simple library to use the Xen hypervisor
LibVirt : simple API for virtualization
As of Wed Nov 2 2005, this is a completely new project, it is not
usable in any way yet.
Libvirt is a C toolkit to interract with the virtualization capabilities
of recent versions of Linux (and other OSes). It is free software
available under the GNU Lesser General Public License. Virtualization of
the Linux Operating System means the ability to run multiple instances of
Operating Systems concurently on a single hardware system where the basic
resources are driven by a Linux instance. The library aim at providing
long term stable C API initially for the Xen paravirtualization but
should be able to integrate other virtualization mechanisms if needed.
Daniel Veillard <veillard@redhat.com>

63
TODO
View File

@ -1,5 +1,66 @@
- nearly everything at this point
TODO:
- libvirt-proxy dropping root priviledge after initialization.
- check impact of HVM device rename
http://lists.xensource.com/archives/html/xen-devel/2006-08/msg00369.html
- Finish integration of vCPU and affinity APIs
https://www.redhat.com/archives/libvir-list/2006-August/msg00017.html
- check how to better handle renaming of domains (xm rename and cache)
- Create() API, how do we best keep flexibility and allow various
specific environment and space for evolution (VMX)
- track change of xend API & XML-RPC
- API for the Node: selecting scheduling policy
- better resources allocation APIs (%CPU, set memory)
- DTD/RNG/XSD schemas for the XML Domain descriptions
- in python bindings raise an exception if a lookup or connection fails
to return a non-None object
- add error handling hooks at the python level
- object unicity for domains at the Python level
- UUID lookup in hash.c
Other environment:
- support for QEmu
- support for UML
+ in both case raises the problem of listing the domains
+ UML control layer should be easy at least for one user but incomplete
+ QEmu control is not easy to plug, c.f. discussion on-list
virsh TODO:
- decide where will be default directory for domains configurations (/etc/xen/domains/* ?)
- new cmd: create new domain by config file (like "xm create")
create [--conf /path/file.conf | name]
- new cmd: print info about domain configuration:
cinfo [--conf /path/file.conf | name]
- new cmd: print list of all domains configurations:
clist [--dir /path]
- new cmd: print info about saved domain image:
sinfo /path/domain.img
Probable TODOs:
- event on big domain state change (create, crashed, paused, shutdown, destroy)
- bindings for more languages
Would-be-nice TODO:
- man page for virsh and the libraries entry points
- more documentation and examples on using the toolkit
- examples for the error handling code
Cleanup:
- now that libxml2 is linked in, drop hash.[ch] and get back to libxml2 ones ?
same for the buffers
Done:
- make dist and make rpm targets
- set a no public by default policy for libvir symbols
- fix the python bindings
- renamed to libvirt
- the CreateLinux() API is a first step toward a final Create()
- documentation and examples on using the toolkit
- UUID based lookup and naming
- Error API similar to libxml2 structured API
- extract error messages from the Xend rpc
- API for the Node: extracting informations
- docs for the principle in the error handling code
- thread protection, reentrancy, refcounting, etc ...
- Add uuid to XML format

View File

@ -8,9 +8,17 @@ THEDIR=`pwd`
cd $srcdir
DIE=0
(autopoint --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have autopoint installed to compile libvirt."
echo "Download the appropriate package for your distribution,"
echo "or see http://www.gnu.org/software/gettext"
DIE=1
}
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have autoconf installed to compile libxen."
echo "You must have autoconf installed to compile libvirt."
echo "Download the appropriate package for your distribution,"
echo "or see http://www.gnu.org/software/autoconf"
DIE=1
@ -18,7 +26,7 @@ DIE=0
(libtool --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have libtool installed to compile libxen."
echo "You must have libtool installed to compile libvirt."
echo "Download the appropriate package for your distribution,"
echo "or see http://www.gnu.org/software/libtool"
DIE=1
@ -27,7 +35,7 @@ DIE=0
(automake --version) < /dev/null > /dev/null 2>&1 || {
echo
DIE=1
echo "You must have automake installed to compile libxen."
echo "You must have automake installed to compile libvirt."
echo "Download the appropriate package for your distribution,"
echo "or see http://www.gnu.org/software/automake"
}
@ -36,8 +44,8 @@ if test "$DIE" -eq 1; then
exit 1
fi
test -f src/libvir.c || {
echo "You must run this script in the top-level libxen directory"
test -f src/libvirt.c || {
echo "You must run this script in the top-level libvirt directory"
exit 1
}
@ -46,6 +54,8 @@ if test -z "$*"; then
echo "to pass any to it, please specify them on the $0 command line."
fi
autopoint --force
#rm -rf m4
libtoolize --copy --force
aclocal $ACLOCAL_FLAGS
automake --add-missing
@ -61,4 +71,4 @@ fi
$srcdir/configure "$@"
echo
echo "Now type 'make' to compile libvir."
echo "Now type 'make' to compile libvirt."

View File

@ -1,8 +1,30 @@
/* config.h.in. Generated from configure.in by autoheader. */
/* Define to 1 if translation of program messages to the user's native
language is requested. */
#undef ENABLE_NLS
/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the
CoreFoundation framework. */
#undef HAVE_CFLOCALECOPYCURRENT
/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in
the CoreFoundation framework. */
#undef HAVE_CFPREFERENCESCOPYAPPVALUE
/* Define if the GNU dcgettext() function is already present or preinstalled.
*/
#undef HAVE_DCGETTEXT
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define if the GNU gettext() function is already present or preinstalled. */
#undef HAVE_GETTEXT
/* Define if you have the iconv() function. */
#undef HAVE_ICONV
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H

View File

@ -1,37 +1,37 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT(src/libvir.c)
AC_INIT(src/libvirt.c)
AM_CONFIG_HEADER(config.h)
AC_CANONICAL_HOST
LIBVIR_MAJOR_VERSION=0
LIBVIR_MINOR_VERSION=0
LIBVIR_MICRO_VERSION=1
LIBVIR_MICRO_VERSION_SUFFIX=
LIBVIR_VERSION=$LIBVIR_MAJOR_VERSION.$LIBVIR_MINOR_VERSION.$LIBVIR_MICRO_VERSION$LIBVIR_MICRO_VERSION_SUFFIX
LIBVIR_VERSION_INFO=`expr $LIBVIR_MAJOR_VERSION + $LIBVIR_MINOR_VERSION`:$LIBVIR_MICRO_VERSION:$LIBVIR_MINOR_VERSION
LIBVIRT_MAJOR_VERSION=0
LIBVIRT_MINOR_VERSION=1
LIBVIRT_MICRO_VERSION=10
LIBVIRT_MICRO_VERSION_SUFFIX=
LIBVIRT_VERSION=$LIBVIRT_MAJOR_VERSION.$LIBVIRT_MINOR_VERSION.$LIBVIRT_MICRO_VERSION$LIBVIRT_MICRO_VERSION_SUFFIX
LIBVIRT_VERSION_INFO=`expr $LIBVIRT_MAJOR_VERSION + $LIBVIRT_MINOR_VERSION`:$LIBVIRT_MICRO_VERSION:$LIBVIRT_MINOR_VERSION
LIBVIR_VERSION_NUMBER=`expr $LIBVIR_MAJOR_VERSION \* 1000000 + $LIBVIR_MINOR_VERSION \* 1000 + $LIBVIR_MICRO_VERSION`
LIBVIRT_VERSION_NUMBER=`expr $LIBVIRT_MAJOR_VERSION \* 1000000 + $LIBVIRT_MINOR_VERSION \* 1000 + $LIBVIRT_MICRO_VERSION`
if test -f CVS/Entries; then
extra=`grep ChangeLog CVS/Entries | grep -v LIBVIR | sed -e s\%/ChangeLog/1\.%% -e s\%/.*$%%`
echo extra=$extra
if test "$extra" != ""
then
LIBVIR_VERSION_EXTRA="-CVS$extra"
LIBVIRT_VERSION_EXTRA="-CVS$extra"
fi
fi
AC_SUBST(LIBVIR_MAJOR_VERSION)
AC_SUBST(LIBVIR_MINOR_VERSION)
AC_SUBST(LIBVIR_MICRO_VERSION)
AC_SUBST(LIBVIR_VERSION)
AC_SUBST(LIBVIR_VERSION_INFO)
AC_SUBST(LIBVIR_VERSION_NUMBER)
AC_SUBST(LIBVIR_VERSION_EXTRA)
AC_SUBST(LIBVIRT_MAJOR_VERSION)
AC_SUBST(LIBVIRT_MINOR_VERSION)
AC_SUBST(LIBVIRT_MICRO_VERSION)
AC_SUBST(LIBVIRT_VERSION)
AC_SUBST(LIBVIRT_VERSION_INFO)
AC_SUBST(LIBVIRT_VERSION_NUMBER)
AC_SUBST(LIBVIRT_VERSION_EXTRA)
VERSION=${LIBVIR_VERSION}
VERSION=${LIBVIRT_VERSION}
AM_INIT_AUTOMAKE(libvir, $VERSION)
AM_INIT_AUTOMAKE(libvirt, $VERSION)
dnl Checks for programs.
AC_PROG_CC
@ -64,7 +64,7 @@ AC_SUBST(HTML_DIR)
dnl
dnl specific tests to setup DV devel environments with debug etc ...
dnl
if [[ "${LOGNAME}" = "veillard" -a "`pwd`" = "/u/veillard/libvir" ]] ; then
if [[ "${LOGNAME}" = "veillard" -a "`pwd`" = "/u/veillard/libvirt" ]] ; then
STATIC_BINARIES="-static"
else
STATIC_BINARIES=
@ -78,11 +78,23 @@ dnl
CFLAGS="-g -O -W -Wformat -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls -Wall"
fi
dnl
dnl Specify the xen-distribution directory to be able to compile on a
dnl non-xenified host
dnl
AC_ARG_WITH(xen-distdir, AC_HELP_STRING([--with-xen-distdir=path],
[distribution directory of Xen, default /usr]))
if test "x$with_xen_distdir" != "x"
then
CPPFLAGS="$CPPFLAGS -I$withval/install/usr/include"
LDFLAGS="$LDFLAGS -L$withval/install/usr/lib"
fi
dnl
dnl To be able to make dist on a non-xenified host
dnl
AC_ARG_WITH(depends,
[ --with-depends check for dependancies (on)])
[ --with-depends check for dependancies (on)])
if test "$with_depends" != "no"
then
@ -90,10 +102,57 @@ then
dnl search for the Xen store library
AC_SEARCH_LIBS(xs_read, [xenstore], [], [AC_MSG_ERROR([Xen store library not found])])
dnl ==========================================================================
dnl find libxml2 library, borrowed from xmlsec
dnl ==========================================================================
LIBXML_MIN_VERSION="2.5.0"
LIBXML_CONFIG="xml2-config"
LIBXML_CFLAGS=""
LIBXML_LIBS=""
LIBXML_FOUND="no"
AC_ARG_WITH(libxml, [ --with-libxml=[PFX] libxml2 location])
if test "z$with_libxml" = "zno" ; then
AC_MSG_CHECKING(for libxml2 libraries >= $LIBXML_MIN_VERSION)
AC_MSG_ERROR(libxml2 >= $LIBXML_MIN_VERSION is required for $XMLSEC_PACKAGE)
elif test "z$with_libxml" = "z" -a "z$PKG_CONFIG_ENABLED" = "zyes" ; then
PKG_CHECK_MODULES(LIBXML, libxml-2.0 >= $LIBXML_MIN_VERSION,
[LIBXML_FOUND=yes],
[LIBXML_FOUND=no])
fi
AC_MSG_CHECKING(libxml2 $with_libxml $LIBXML_FOUND )
if test "z$LIBXML_FOUND" = "zno" ; then
AC_MSG_CHECKING(for libxml2 libraries >= $LIBXML_MIN_VERSION)
if test "z$with_libxml" != "z" ; then
LIBXML_CONFIG=$with_libxml/bin/$LIBXML_CONFIG
fi
AC_MSG_CHECKING(libxml2 $with_libxml $LIBXML_CONFIG )
if ! $LIBXML_CONFIG --version > /dev/null 2>&1 ; then
AC_MSG_ERROR(Could not find libxml2 anywhere (see config.log for details).)
fi
vers=`$LIBXML_CONFIG --version | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
minvers=`echo $LIBXML_MIN_VERSION | awk -F. '{ printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
if test "$vers" -ge "$minvers" ; then
LIBXML_LIBS="`$LIBXML_CONFIG --libs`"
LIBXML_CFLAGS="`$LIBXML_CONFIG --cflags`"
LIBXML_FOUND="yes"
AC_MSG_RESULT(yes ('$LIBXML_VERSION'))
else
AC_MSG_ERROR(You need at least libxml2 $LIBXML_MIN_VERSION for this version of $XMLSEC_PACKAGE)
fi
fi
AC_SUBST(LIBXML_CFLAGS)
AC_SUBST(LIBXML_LIBS)
AC_SUBST(LIBXML_CONFIG)
AC_SUBST(LIBXML_MIN_VERSION)
dnl virsh libraries
AC_CHECK_LIB(curses, initscr,
[VIRSH_LIBS="$VIRSH_LIBS -lcurses"],
[AC_MSG_ERROR([curses library not found])],
[VIRSH_LIBS="$VIRSH_LIBS -lcurses"],
[AC_CHECK_LIB(ncurses, initscr,
[VIRSH_LIBS="$VIRSH_LIBS -lncurses"],
[AC_MSG_ERROR([curses/ncurses library not found])],
[$VIRSH_LIBS])],
[$VIRSH_LIBS])
AC_CHECK_LIB(readline, main,
[VIRSH_LIBS="$VIRSH_LIBS -lreadline"],
@ -101,6 +160,9 @@ AC_CHECK_LIB(readline, main,
[$VIRSH_LIBS])
AC_SUBST(VIRSH_LIBS)
# end of if with_depends
fi
dnl
dnl check for python
dnl
@ -124,6 +186,7 @@ if test "$with_python" != "no" ; then
if test -x "$PYTHON"
then
echo Found python in environment PYTHON=$PYTHON
with_python=`$PYTHON -c "import sys; print sys.exec_prefix"`
else
AC_PATH_PROG(PYTHON, python python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
fi
@ -140,17 +203,17 @@ if test "$with_python" != "no" ; then
-d $with_python/lib/python$PYTHON_VERSION/site-packages
then
PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
PYTHON_SITE_PACKAGES=$with_python/lib/python$PYTHON_VERSION/site-packages
PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
else
if test -r $prefix/include/python$PYTHON_VERSION/Python.h
then
PYTHON_INCLUDES='$(prefix)/include/python$(PYTHON_VERSION)'
PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
else
if test -r /usr/include/python$PYTHON_VERSION/Python.h
then
PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
PYTHON_SITE_PACKAGES='$(libdir)/python$(PYTHON_VERSION)/site-packages'
PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
else
echo could not find python$PYTHON_VERSION/Python.h
fi
@ -165,7 +228,7 @@ if test "$with_python" != "no" ; then
then
pythondir='$(PYTHON_SITE_PACKAGES)'
else
pythondir='$(libdir)/python${PYTHON_VERSION}/site-packages'
pythondir='$(libdir)/python$(PYTHON_VERSION)/site-packages'
fi
else
PYTHON=
@ -178,17 +241,32 @@ else
PYTHON_SUBDIR=
fi
AC_SUBST(pythondir)
AC_SUBST(PYTHON)
AC_SUBST(PYTHON_SUBDIR)
AC_SUBST(PYTHON_VERSION)
AC_SUBST(PYTHON_INCLUDES)
AC_SUBST(PYTHON_SITE_PACKAGES)
AC_SUBST(PYTHON_SUBDIR)
# end of if with_depends
AM_GNU_GETTEXT_VERSION([0.14.1])
AM_GNU_GETTEXT([external])
if test -d po
then
ALL_LINGUAS=`(cd po > /dev/null && ls *.po) | sed 's+\.po$++'`
else
ALL_LINGUAS="af am ar as be bg bn_IN bn ca cs cy da de el en_GB es et eu_ES fa fi fr gl gu he hi hr hu hy id is it ja ka kn ko ku lo lt lv mk ml mr ms my nb nl nn no nso or pa pl pt_BR pt ro ru si sk sl sq sr@Latn sr sv ta te th tr uk ur vi zh_CN zh_TW zu"
fi
# very annoying
rm -f COPYING
cp COPYING.LIB COPYING
AC_OUTPUT(Makefile src/Makefile include/Makefile docs/Makefile \
libvir.pc libvir.spec include/libvir.h python/Makefile)
docs/examples/Makefile docs/devhelp/Makefile \
docs/examples/python/Makefile \
libvirt.pc libvirt.spec \
po/Makefile.in \
include/libvirt/Makefile include/libvirt/libvirt.h \
python/Makefile python/tests/Makefile \
tests/Makefile proxy/Makefile \
tests/xml2sexprdata/Makefile \
tests/sexpr2xmldata/Makefile \
tests/virshdata/Makefile tests/confdata/Makefile)

View File

@ -1 +1,3 @@
Makefile
Makefile.in
.memdump

BIN
docs/16favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

BIN
docs/32favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 783 B

View File

@ -1,239 +1,248 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>API Alphabetic Index A-f for libvir</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>API Alphabetic Index A-f for libvir</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="architecture.html">libvir architecture</a></li><li><a href="libvir.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-f</a>
<a href="APIchunk1.html">g-s</a>
<a href="APIchunk2.html">t-z</a>
</h2><h2>Letter A:</h2><dl><dt>ABI</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>API</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>APIs</dt><dd><a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd></dl><h2>Letter C:</h2><dl><dt>CPU</dt><dd><a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>Collect</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
</dd></dl><h2>Letter D:</h2><dl><dt>Destroy</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
</dd><dt>Domain0</dt><dd><a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>Dynamically</dt><dd><a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd></dl><h2>Letter E:</h2><dl><dt>Extract</dt><dd><a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd></dl><h2>Letter F:</h2><dl><dt>Free</dt><dd><a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
</dd></dl><h2>Letter G:</h2><dl><dt>Get</dt><dd><a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
</dd></dl><h2>Letter H:</h2><dl><dt>Hypervisor</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
</dd></dl><h2>Letter I:</h2><dl><dt>IDs</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
</dd><dt>Informations</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd></dl><h2>Letter K:</h2><dl><dt>KBytes</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd></dl><h2>Letter L:</h2><dl><dt>Launch</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>Linux</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd></dl><h2>Letter M:</h2><dl><dt>Macro</dt><dd><a href="html/libvir-libvir.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
</dd></dl><h2>Letter N:</h2><dl><dt>NOTE:</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>NULL</dt><dd><a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>Note</dt><dd><a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd></dl><h2>Letter O:</h2><dl><dt>OUT</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2>Letter P:</h2><dl><dt>Provide</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>Provides</dt><dd><a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2>Letter R:</h2><dl><dt>Read-Only</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
</dd><dt>Resume</dt><dd><a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
</dd><dt>Retrieve</dt><dd><a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
</dd></dl><h2>Letter S:</h2><dl><dt>Shutdown</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>Suspends</dt><dd><a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd></dl><h2>Letter T:</h2><dl><dt>TODO:</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>This</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>Try</dt><dd><a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd></dl><h2>Letter U:</h2><dl><dt>UTF-8</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>Use</dt><dd><a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd></dl><h2>Letter X:</h2><dl><dt>XML</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>Xen</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2>Letter a:</h2><dl><dt>about</dt><dd><a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>access</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>active</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>add</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>after</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>against</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>alive</dt><dd><a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
</dd><dt>all</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
</dd><dt>allocated</dt><dd><a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>allowed</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>already</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
</dd><dt>amount</dt><dd><a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>application</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>are</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
</dd><dt>argument</dt><dd><a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>array</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
</dd><dt>assumed</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>available</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>availble</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2>Letter b:</h2><dl><dt>back</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>based</dt><dd><a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd><dt>being</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>below</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>but</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd></dl><h2>Letter c:</h2><dl><dt>call</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
</dd><dt>called</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>caller</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>calling</dt><dd><a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
</dd><dt>can</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>capacities</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
</dd><dt>change</dt><dd><a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>changes</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>check</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>clients</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>closes</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
</dd><dt>code</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>collect</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
</dd><dt>command</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>compiled</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>connection</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd><dt>currently</dt><dd><a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd></dl><h2>Letter d:</h2><dl><dt>data</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
</dd><dt>deallocated</dt><dd><a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
</dd><dt>defined</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>description</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>doable</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>does</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
</dd><dt>domains</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
</dd><dt>down</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
</dd></dl><h2>Letter e:</h2><dl><dt>encoded</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>error</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>especially</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
</dd><dt>extracted</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>extraction</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd></dl><h2>Letter f:</h2><dl><dt>failure</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>file</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>find</dt><dd><a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
</dd><dt>first</dt><dd><a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>flags</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>for</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>format</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>found</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
</dd><dt>free</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>freed</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
</dd><dt>from</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
</dd><dt>frozen</dt><dd><a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>full</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>function</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>further</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd></dl><h2 align="center"><a href="APIchunk0.html">A-f</a>
<a href="APIchunk1.html">g-s</a>
<a href="APIchunk2.html">t-z</a>
</h2><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>API Alphabetic Index A-a for libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">API Alphabetic Index A-a for libvirt</h1><h2 align="center"><a href="APIchunk0.html">A-a</a>
<a href="APIchunk1.html">b-f</a>
<a href="APIchunk2.html">g-n</a>
<a href="APIchunk3.html">o-s</a>
<a href="APIchunk4.html">t-z</a>
</h2><h2>Letter A:</h2><dl><dt>API</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
<a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
<a href="html/libvirt-libvirt.html#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a><br />
<a href="html/libvirt-libvirt.html#VIR_USE_CPU">VIR_USE_CPU</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
</dd><dt>APIs</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>After</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd></dl><h2>Letter B:</h2><dl><dt>Bytes</dt><dd><a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd></dl><h2>Letter C:</h2><dl><dt>CPU</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
<a href="html/libvirt-libvirt.html#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a><br />
<a href="html/libvirt-libvirt.html#VIR_USE_CPU">VIR_USE_CPU</a><br />
<a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
<a href="html/libvirt-libvirt.html#_virVcpuInfo">_virVcpuInfo</a><br />
<a href="">cpu</a><br />
<a href="">vcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>CPU0-7</dt><dd><a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd><dt>CPUs</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
<a href="html/libvirt-libvirt.html#VIR_NODEINFO_MAXCPUS">VIR_NODEINFO_MAXCPUS</a><br />
<a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
<a href="">cpu</a><br />
<a href="">cpumap</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
</dd><dt>Collect</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
</dd><dt>Copy</dt><dd><a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
</dd><dt>Create</dt><dd><a href="html/libvirt-libvirt.html#virDomainAttachDevice">virDomainAttachDevice</a><br />
</dd></dl><h2>Letter D:</h2><dl><dt>Daemon</dt><dd><a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
</dd><dt>Default</dt><dd><a href="html/libvirt-virterror.html#virDefaultErrorFunc">virDefaultErrorFunc</a><br />
</dd><dt>Destroy</dt><dd><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainDetachDevice">virDomainDetachDevice</a><br />
</dd><dt>Domain0</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
</dd><dt>Dynamically</dt><dd><a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
</dd></dl><h2>Letter E:</h2><dl><dt>Each</dt><dd><a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd><dt>Extract</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virNodeGetInfo">virNodeGetInfo</a><br />
</dd></dl><h2>Letter F:</h2><dl><dt>For</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetUUIDString">virDomainGetUUIDString</a><br />
</dd><dt>Free</dt><dd><a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
</dd></dl><h2>Letter G:</h2><dl><dt>Get</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetUUID">virDomainGetUUID</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetUUIDString">virDomainGetUUIDString</a><br />
</dd></dl><h2>Letter H:</h2><dl><dt>Hypervisor</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
</dd></dl><h2>Letter I:</h2><dl><dt>IDs</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
</dd><dt>Initialize</dt><dd><a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
</dd></dl><h2>Letter K:</h2><dl><dt>KBytes</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
</dd></dl><h2>Letter L:</h2><dl><dt>Launch</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>Linux</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd></dl><h2>Letter M:</h2><dl><dt>Macro</dt><dd><a href="html/libvirt-libvirt.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
</dd></dl><h2>Letter N:</h2><dl><dt>NUMA</dt><dd><a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
</dd><dt>Note</dt><dd><a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd></dl><h2>Letter O:</h2><dl><dt>OUT</dt><dd><a href="">cpumap</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>One</dt><dd><a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
</dd></dl><h2>Letter P:</h2><dl><dt>Provide</dt><dd><a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
</dd><dt>Provides</dt><dd><a href="html/libvirt-libvirt.html#virConnectNumOfDefinedDomains">virConnectNumOfDefinedDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2>Letter R:</h2><dl><dt>RFC4122</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetUUIDString">virDomainGetUUIDString</a><br />
</dd><dt>Read-Only</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
</dd><dt>Reboot</dt><dd><a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
</dd><dt>Reset</dt><dd><a href="html/libvirt-virterror.html#virConnResetLastError">virConnResetLastError</a><br />
<a href="html/libvirt-virterror.html#virResetError">virResetError</a><br />
<a href="html/libvirt-virterror.html#virResetLastError">virResetLastError</a><br />
</dd><dt>Resume</dt><dd><a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
</dd><dt>Retrieve</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
</dd></dl><h2>Letter S:</h2><dl><dt>Set</dt><dd><a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>Shutdown</dt><dd><a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>Signature</dt><dd><a href="html/libvirt-virterror.html#virErrorFunc">virErrorFunc</a><br />
</dd><dt>Simpler</dt><dd><a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
<a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
</dd><dt>Suspends</dt><dd><a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd></dl><h2>Letter T:</h2><dl><dt>TODO:</dt><dd><a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>This</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
<a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
<a href="html/libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_NODEINFO_MAXCPUS">VIR_NODEINFO_MAXCPUS</a><br />
<a href="html/libvirt-libvirt.html#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a><br />
<a href="html/libvirt-libvirt.html#VIR_USE_CPU">VIR_USE_CPU</a><br />
<a href="">cpumap</a><br />
<a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>Try</dt><dd><a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUID">virDomainLookupByUUID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUIDString">virDomainLookupByUUIDString</a><br />
</dd></dl><h2>Letter U:</h2><dl><dt>USE_CPU</dt><dd><a href="html/libvirt-libvirt.html#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a><br />
<a href="html/libvirt-libvirt.html#VIR_USE_CPU">VIR_USE_CPU</a><br />
</dd><dt>UTF-8</dt><dd><a href="html/libvirt-libvirt.html#virDomainDefineXML">virDomainDefineXML</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>UUID</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetUUID">virDomainGetUUID</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetUUIDString">virDomainGetUUIDString</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUID">virDomainLookupByUUID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUIDString">virDomainLookupByUUIDString</a><br />
</dd><dt>Use</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd></dl><h2>Letter V:</h2><dl><dt>VIR_COPY_CPUMAP</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
</dd><dt>VIR_CPU_USABLE</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
</dd><dt>VIR_GET_CPUMAP</dt><dd><a href="html/libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a><br />
</dd></dl><h2>Letter W:</h2><dl><dt>What</dt><dd><a href="html/libvirt-virterror.html#_virError">_virError</a><br />
</dd></dl><h2>Letter X:</h2><dl><dt>XML</dt><dd><a href="html/libvirt-libvirt.html#virDomainAttachDevice">virDomainAttachDevice</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDefineXML">virDomainDefineXML</a><br />
<a href="html/libvirt-libvirt.html#virDomainDetachDevice">virDomainDetachDevice</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>Xen</dt><dd><a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2>Letter a:</h2><dl><dt>about</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetUUIDString">virDomainGetUUIDString</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virNodeGetInfo">virNodeGetInfo</a><br />
</dd><dt>access</dt><dd><a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>accesses</dt><dd><a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
<a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
</dd><dt>active</dt><dd><a href="html/libvirt-libvirt.html#VIR_NODEINFO_MAXCPUS">VIR_NODEINFO_MAXCPUS</a><br />
<a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDefinedDomains">virConnectNumOfDefinedDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>add</dt><dd><a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>after</dt><dd><a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>against</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>alive</dt><dd><a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
</dd><dt>all</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
</dd><dt>allocated</dt><dd><a href="">cpumap</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvirt-libvirt.html#virNodeGetInfo">virNodeGetInfo</a><br />
</dd><dt>allowed</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>already</dt><dd><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
</dd><dt>also</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
</dd><dt>amount</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
</dd><dt>analysis</dt><dd><a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
</dd><dt>anymore</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>application</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
</dd><dt>applications</dt><dd><a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
</dd><dt>arbitrary</dt><dd><a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
</dd><dt>are</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>argument</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>array</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a><br />
<a href="">cpumaps</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDefinedDomains">virConnectListDefinedDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetUUID">virDomainGetUUID</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetUUIDString">virDomainGetUUIDString</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
</dd><dt>assumed</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>attachment</dt><dd><a href="html/libvirt-libvirt.html#virDomainAttachDevice">virDomainAttachDevice</a><br />
<a href="html/libvirt-libvirt.html#virDomainDetachDevice">virDomainDetachDevice</a><br />
</dd><dt>available</dt><dd><a href="html/libvirt-virterror.html#_virError">_virError</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>availble</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>avoid</dt><dd><a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
</dd></dl><h2 align="center"><a href="APIchunk0.html">A-a</a>
<a href="APIchunk1.html">b-f</a>
<a href="APIchunk2.html">g-n</a>
<a href="APIchunk3.html">o-s</a>
<a href="APIchunk4.html">t-z</a>
</h2></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -1,245 +1,282 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>API Alphabetic Index g-s for libvir</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>API Alphabetic Index g-s for libvir</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="architecture.html">libvir architecture</a></li><li><a href="libvir.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-f</a>
<a href="APIchunk1.html">g-s</a>
<a href="APIchunk2.html">t-z</a>
</h2><h2>Letter g:</h2><dl><dt>general</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>get</dt><dd><a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
</dd><dt>given</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd><dt>guest</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd></dl><h2>Letter h:</h2><dl><dt>have</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>hypervisor</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2>Letter i:</h2><dl><dt>image</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>information</dt><dd><a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>informations</dt><dd><a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>initrd</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>instance</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>int</dt><dd><a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
</dd><dt>interaction</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
</dd><dt>its</dt><dd><a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd></dl><h2>Letter k:</h2><dl><dt>kept</dt><dd><a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
</dd><dt>kernel</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>kilobytes</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>knowing</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd></dl><h2>Letter l:</h2><dl><dt>lack</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
</dd><dt>level</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>library</dt><dd><a href="html/libvir-libvir.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>lifetime</dt><dd><a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
</dd><dt>limited</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>line</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>list</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
</dd><dt>long</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>lookup</dt><dd><a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd></dl><h2>Letter m:</h2><dl><dt>major</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>maximum</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>may</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>memory</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>micro</dt><dd><a href="html/libvir-libvir.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
</dd><dt>minor</dt><dd><a href="html/libvir-libvir.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>monitoring</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
</dd><dt>must</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd></dl><h2>Letter n:</h2><dl><dt>name</dt><dd><a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd><dt>need</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
</dd><dt>needed</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
</dd><dt>new</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd><dt>not</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>number</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
</dd></dl><h2>Letter o:</h2><dl><dt>object</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>one</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>only</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>operation</dt><dd><a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
</dd><dt>option</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>optional</dt><dd><a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>otherwise</dt><dd><a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2>Letter p:</h2><dl><dt>padding</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>parameters</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>partial</dt><dd><a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>pass</dt><dd><a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>path</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>physical</dt><dd><a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>pointer</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd><dt>private</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>priviledged</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>process</dt><dd><a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>protection</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>providing</dt><dd><a href="html/libvir-libvir.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
</dd><dt>public</dt><dd><a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
</dd><dt>publicly</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd></dl><h2>Letter r:</h2><dl><dt>reactivate</dt><dd><a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>read-only</dt><dd><a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>reboot</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>release</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>requires</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>reserved</dt><dd><a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>resources</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>restarted</dt><dd><a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
</dd><dt>restricted</dt><dd><a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>return</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>returned</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>returns</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
</dd><dt>running</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
</dd><dt>runs</dt><dd><a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd></dl><h2>Letter s:</h2><dl><dt>same</dt><dd><a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
</dd><dt>set</dt><dd><a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>should</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>shutdown</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
</dd><dt>size</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>software</dt><dd><a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
</dd><dt>state</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
</dd><dt>static</dt><dd><a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
</dd><dt>stay</dt><dd><a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>still</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>stopped</dt><dd><a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>store</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>string</dt><dd><a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
</dd><dt>structure</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>subject</dt><dd><a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>success</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>suspended</dt><dd><a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
</dd><dt>system</dt><dd><a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
</dd></dl><h2 align="center"><a href="APIchunk0.html">A-f</a>
<a href="APIchunk1.html">g-s</a>
<a href="APIchunk2.html">t-z</a>
</h2><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>API Alphabetic Index b-f for libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">API Alphabetic Index b-f for libvirt</h1><h2 align="center"><a href="APIchunk0.html">A-a</a>
<a href="APIchunk1.html">b-f</a>
<a href="APIchunk2.html">g-n</a>
<a href="APIchunk3.html">o-s</a>
<a href="APIchunk4.html">t-z</a>
</h2><h2>Letter b:</h2><dl><dt>back</dt><dd><a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>backend</dt><dd><a href="html/libvirt-libvirt.html#virDomainAttachDevice">virDomainAttachDevice</a><br />
<a href="html/libvirt-libvirt.html#virDomainDetachDevice">virDomainDetachDevice</a><br />
</dd><dt>based</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUID">virDomainLookupByUUID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUIDString">virDomainLookupByUUIDString</a><br />
</dd><dt>being</dt><dd><a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvirt-virterror.html#virErrorFunc">virErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virResetError">virResetError</a><br />
</dd><dt>better</dt><dd><a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
</dd><dt>between</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
</dd><dt>bit</dt><dd><a href="html/libvirt-libvirt.html#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a><br />
<a href="html/libvirt-libvirt.html#VIR_USE_CPU">VIR_USE_CPU</a><br />
<a href="">cpumap</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd><dt>block</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
</dd><dt>but</dt><dd><a href="html/libvirt-libvirt.html#VIR_NODEINFO_MAXCPUS">VIR_NODEINFO_MAXCPUS</a><br />
<a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
<a href="html/libvirt-libvirt.html#virDomainDefineXML">virDomainDefineXML</a><br />
<a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvirt-libvirt.html#virDomainUndefine">virDomainUndefine</a><br />
<a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
</dd><dt>byte</dt><dd><a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd><dt>bytes</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
<a href="">cpumap</a><br />
<a href="">cpumaps</a><br />
<a href="">maplen</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetUUID">virDomainGetUUID</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetUUIDString">virDomainGetUUIDString</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd></dl><h2>Letter c:</h2><dl><dt>calculate</dt><dd><a href="html/libvirt-libvirt.html#VIR_NODEINFO_MAXCPUS">VIR_NODEINFO_MAXCPUS</a><br />
</dd><dt>call</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreate">virDomainCreate</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
</dd><dt>callback</dt><dd><a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virErrorFunc">virErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>called</dt><dd><a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
<a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>caller</dt><dd><a href="">cpumap</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>calling</dt><dd><a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
</dd><dt>calloc</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
</dd><dt>can</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd><dt>capacities</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
</dd><dt>caught</dt><dd><a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
<a href="html/libvirt-virterror.html#virConnResetLastError">virConnResetLastError</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
<a href="html/libvirt-virterror.html#virResetLastError">virResetLastError</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>cell</dt><dd><a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
</dd><dt>change</dt><dd><a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
</dd><dt>clean</dt><dd><a href="html/libvirt-virterror.html#virResetError">virResetError</a><br />
</dd><dt>closes</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
</dd><dt>code</dt><dd><a href="html/libvirt-virterror.html#_virError">_virError</a><br />
<a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>collect</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
</dd><dt>command</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
</dd><dt>compiled</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>complete</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
</dd><dt>conjonction</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
<a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
<a href="html/libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a><br />
<a href="html/libvirt-libvirt.html#VIR_USE_CPU">VIR_USE_CPU</a><br />
</dd><dt>consequent</dt><dd><a href="html/libvirt-virterror.html#_virError">_virError</a><br />
</dd><dt>content</dt><dd><a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
</dd><dt>contents</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>control</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>copy</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
<a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
</dd><dt>core</dt><dd><a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
</dd><dt>corresponding</dt><dd><a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd><dt>could</dt><dd><a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>cpu</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
<a href="html/libvirt-libvirt.html#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a><br />
<a href="html/libvirt-libvirt.html#VIR_USE_CPU">VIR_USE_CPU</a><br />
</dd><dt>cpumap</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a><br />
<a href="html/libvirt-libvirt.html#VIR_USE_CPU">VIR_USE_CPU</a><br />
<a href="">cpumap</a><br />
<a href="">cpumaps</a><br />
<a href="">maplen</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd><dt>cpumaps</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
</dd><dt>cupmap</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
</dd><dt>currently</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
</dd></dl><h2>Letter d:</h2><dl><dt>data</dt><dd><a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-virterror.html#virErrorFunc">virErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>deallocated</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
</dd><dt>default</dt><dd><a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>define</dt><dd><a href="html/libvirt-libvirt.html#virDomainDefineXML">virDomainDefineXML</a><br />
</dd><dt>defined</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDefinedDomains">virConnectListDefinedDomains</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreate">virDomainCreate</a><br />
<a href="html/libvirt-libvirt.html#virDomainUndefine">virDomainUndefine</a><br />
</dd><dt>described</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
</dd><dt>description</dt><dd><a href="html/libvirt-libvirt.html#virDomainAttachDevice">virDomainAttachDevice</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDefineXML">virDomainDefineXML</a><br />
<a href="html/libvirt-libvirt.html#virDomainDetachDevice">virDomainDetachDevice</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>device</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
<a href="html/libvirt-libvirt.html#virDomainAttachDevice">virDomainAttachDevice</a><br />
<a href="html/libvirt-libvirt.html#virDomainDetachDevice">virDomainDetachDevice</a><br />
</dd><dt>disk</dt><dd><a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>doable</dt><dd><a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>does</dt><dd><a href="html/libvirt-libvirt.html#virDomainDefineXML">virDomainDefineXML</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainUndefine">virDomainUndefine</a><br />
</dd><dt>domains</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDefinedDomains">virConnectListDefinedDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDefinedDomains">virConnectNumOfDefinedDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreate">virDomainCreate</a><br />
</dd><dt>down</dt><dd><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
</dd><dt>driver</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>dump</dt><dd><a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
</dd></dl><h2>Letter e:</h2><dl><dt>each</dt><dd><a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd><dt>encoded</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>especially</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
</dd><dt>expected</dt><dd><a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
</dd><dt>extra</dt><dd><a href="html/libvirt-virterror.html#_virError">_virError</a><br />
<a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
<a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
</dd><dt>extract</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
</dd><dt>extracted</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>extraction</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd></dl><h2>Letter f:</h2><dl><dt>fail</dt><dd><a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
</dd><dt>failure</dt><dd><a href="html/libvirt-libvirt.html#virDomainAttachDevice">virDomainAttachDevice</a><br />
<a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainDetachDevice">virDomainDetachDevice</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUID">virDomainLookupByUUID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUIDString">virDomainLookupByUUIDString</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virNodeGetInfo">virNodeGetInfo</a><br />
</dd><dt>file</dt><dd><a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>filename</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
</dd><dt>filled</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
</dd><dt>find</dt><dd><a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
</dd><dt>first</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>flags</dt><dd><a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
</dd><dt>for</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
<a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
<a href="html/libvirt-libvirt.html#virDomainDefineXML">virDomainDefineXML</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetUUID">virDomainGetUUID</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetUUIDString">virDomainGetUUIDString</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUID">virDomainLookupByUUID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUIDString">virDomainLookupByUUIDString</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvirt-virterror.html#virErrorFunc">virErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>format</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>found</dt><dd><a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDefinedDomains">virConnectNumOfDefinedDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
</dd><dt>free</dt><dd><a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>freed</dt><dd><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
</dd><dt>frequency</dt><dd><a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
</dd><dt>from</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#_virVcpuInfo">_virVcpuInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreate">virDomainCreate</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
</dd><dt>frozen</dt><dd><a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>function</dt><dd><a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
<a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvirt-virterror.html#virErrorFunc">virErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>functionalities</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>further</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd></dl><h2 align="center"><a href="APIchunk0.html">A-a</a>
<a href="APIchunk1.html">b-f</a>
<a href="APIchunk2.html">g-n</a>
<a href="APIchunk3.html">o-s</a>
<a href="APIchunk4.html">t-z</a>
</h2></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -1,87 +1,228 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>API Alphabetic Index t-z for libvir</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>API Alphabetic Index t-z for libvir</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="architecture.html">libvir architecture</a></li><li><a href="libvir.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2 align="center"><a href="APIchunk0.html">A-f</a>
<a href="APIchunk1.html">g-s</a>
<a href="APIchunk2.html">t-z</a>
</h2><h2>Letter t:</h2><dl><dt>term</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>terminated</dt><dd><a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>that</dt><dd><a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
</dd><dt>their</dt><dd><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
</dd><dt>then</dt><dd><a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>there</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>thereafter</dt><dd><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
</dd><dt>this</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>two</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>type</dt><dd><a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2>Letter u:</h2><dl><dt>unimplemented</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>unknown</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>unsigned</dt><dd><a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
</dd><dt>unused</dt><dd><a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>usable</dt><dd><a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>used</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>user</dt><dd><a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd></dl><h2>Letter v:</h2><dl><dt>value</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>values</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>version</dt><dd><a href="html/libvir-libvir.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>virDomainFlags</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>virDomainInfo</dt><dd><a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>virDomainResume</dt><dd><a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>virSuspendDomain</dt><dd><a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
</dd></dl><h2>Letter w:</h2><dl><dt>was</dt><dd><a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>what</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd><dt>where</dt><dd><a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>which</dt><dd><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>while</dt><dd><a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>will</dt><dd><a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</dd><dt>with</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
</dd><dt>without</dt><dd><a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>work</dt><dd><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
</dd><dt>would</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd></dl><h2>Letter x:</h2><dl><dt>xen</dt><dd><a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>xenstore</dt><dd><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</dd></dl><h2>Letter y:</h2><dl><dt>yet</dt><dd><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd></dl><h2>Letter z:</h2><dl><dt>zero</dt><dd><a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
</dd></dl><h2 align="center"><a href="APIchunk0.html">A-f</a>
<a href="APIchunk1.html">g-s</a>
<a href="APIchunk2.html">t-z</a>
</h2><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>API Alphabetic Index g-n for libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">API Alphabetic Index g-n for libvirt</h1><h2 align="center"><a href="APIchunk0.html">A-a</a>
<a href="APIchunk1.html">b-f</a>
<a href="APIchunk2.html">g-n</a>
<a href="APIchunk3.html">o-s</a>
<a href="APIchunk4.html">t-z</a>
</h2><h2>Letter g:</h2><dl><dt>general</dt><dd><a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>get</dt><dd><a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>given</dt><dd><a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUID">virDomainLookupByUUID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUIDString">virDomainLookupByUUIDString</a><br />
</dd><dt>global</dt><dd><a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>growing</dt><dd><a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
</dd><dt>guest</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd></dl><h2>Letter h:</h2><dl><dt>handler</dt><dd><a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>handling</dt><dd><a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>hardware</dt><dd><a href="html/libvirt-libvirt.html#virNodeGetInfo">virNodeGetInfo</a><br />
</dd><dt>has</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
</dd><dt>have</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>host</dt><dd><a href="html/libvirt-libvirt.html#VIR_NODEINFO_MAXCPUS">VIR_NODEINFO_MAXCPUS</a><br />
<a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
</dd><dt>how</dt><dd><a href="html/libvirt-virterror.html#_virError">_virError</a><br />
</dd><dt>human-readable</dt><dd><a href="html/libvirt-virterror.html#_virError">_virError</a><br />
</dd></dl><h2>Letter i:</h2><dl><dt>ie:</dt><dd><a href="">cpumap</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
</dd><dt>ignore</dt><dd><a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>image</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
</dd><dt>indicating</dt><dd><a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
</dd><dt>info</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
</dd><dt>information</dt><dd><a href="html/libvirt-virterror.html#_virError">_virError</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetUUIDString">virDomainGetUUIDString</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virNodeGetInfo">virNodeGetInfo</a><br />
</dd><dt>informative</dt><dd><a href="html/libvirt-virterror.html#_virError">_virError</a><br />
</dd><dt>init</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
</dd><dt>initializing</dt><dd><a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
</dd><dt>inside</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
</dd><dt>instance</dt><dd><a href="">nodeinfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>int</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetID">virDomainGetID</a><br />
</dd><dt>interaction</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
</dd><dt>interpreted</dt><dd><a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
</dd><dt>into</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
</dd><dt>its</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUID">virDomainLookupByUUID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUIDString">virDomainLookupByUUIDString</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd></dl><h2>Letter k:</h2><dl><dt>kept</dt><dd><a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
</dd><dt>kernel</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
</dd><dt>kilobytes</dt><dd><a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
</dd><dt>knowing</dt><dd><a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd></dl><h2>Letter l:</h2><dl><dt>lack</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
</dd><dt>last</dt><dd><a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
<a href="html/libvirt-virterror.html#virConnResetLastError">virConnResetLastError</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
<a href="html/libvirt-virterror.html#virResetLastError">virResetLastError</a><br />
</dd><dt>later</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>launch</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreate">virDomainCreate</a><br />
</dd><dt>least</dt><dd><a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd><dt>length</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
<a href="">maplen</a><br />
</dd><dt>level</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
<a href="html/libvirt-virterror.html#virResetLastError">virResetLastError</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>libbrary</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>library</dt><dd><a href="html/libvirt-libvirt.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
<a href="html/libvirt-virterror.html#_virError">_virError</a><br />
<a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virErrorFunc">virErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
<a href="html/libvirt-virterror.html#virResetLastError">virResetLastError</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>lifetime</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
</dd><dt>limited</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
</dd><dt>line</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
</dd><dt>list</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDefinedDomains">virConnectListDefinedDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
</dd><dt>listed</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>little-endian</dt><dd><a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd><dt>looked</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>lookup</dt><dd><a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUID">virDomainLookupByUUID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUIDString">virDomainLookupByUUIDString</a><br />
</dd><dt>lowest</dt><dd><a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd></dl><h2>Letter m:</h2><dl><dt>macro</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
<a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
<a href="html/libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_NODEINFO_MAXCPUS">VIR_NODEINFO_MAXCPUS</a><br />
<a href="html/libvirt-libvirt.html#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a><br />
<a href="html/libvirt-libvirt.html#VIR_USE_CPU">VIR_USE_CPU</a><br />
</dd><dt>major</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>malloc</dt><dd><a href="">cpumap</a><br />
</dd><dt>map</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
<a href="">cpumap</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd><dt>maplen</dt><dd><a href="">cpumap</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd><dt>maximum</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</dd><dt>maxinfo</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
</dd><dt>may</dt><dd><a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
</dd><dt>means</dt><dd><a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd><dt>mem</dt><dd><a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
</dd><dt>memory</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>message</dt><dd><a href="html/libvirt-virterror.html#_virError">_virError</a><br />
</dd><dt>method</dt><dd><a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>methods</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>micro</dt><dd><a href="html/libvirt-libvirt.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
</dd><dt>minor</dt><dd><a href="html/libvirt-libvirt.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>missing</dt><dd><a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd><dt>model</dt><dd><a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
</dd><dt>monitoring</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
</dd><dt>more</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetUUIDString">virDomainGetUUIDString</a><br />
</dd><dt>moves</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreate">virDomainCreate</a><br />
</dd><dt>multithreaded</dt><dd><a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
<a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
<a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
</dd><dt>must</dt><dd><a href="">cpumap</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd></dl><h2>Letter n:</h2><dl><dt>name</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
</dd><dt>names</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDefinedDomains">virConnectListDefinedDomains</a><br />
</dd><dt>nanoseconds</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#_virVcpuInfo">_virVcpuInfo</a><br />
</dd><dt>neccessarily</dt><dd><a href="html/libvirt-libvirt.html#VIR_NODEINFO_MAXCPUS">VIR_NODEINFO_MAXCPUS</a><br />
</dd><dt>need</dt><dd><a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
</dd><dt>needed</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
</dd><dt>new</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUID">virDomainLookupByUUID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUIDString">virDomainLookupByUUIDString</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
</dd><dt>node</dt><dd><a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
<a href="html/libvirt-libvirt.html#virNodeGetInfo">virNodeGetInfo</a><br />
</dd><dt>non</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
</dd><dt>none</dt><dd><a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
<a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
</dd><dt>not</dt><dd><a href="html/libvirt-libvirt.html#VIR_NODEINFO_MAXCPUS">VIR_NODEINFO_MAXCPUS</a><br />
<a href="html/libvirt-libvirt.html#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a><br />
<a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
<a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainDefineXML">virDomainDefineXML</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvirt-libvirt.html#virDomainUndefine">virDomainUndefine</a><br />
<a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2 align="center"><a href="APIchunk0.html">A-a</a>
<a href="APIchunk1.html">b-f</a>
<a href="APIchunk2.html">g-n</a>
<a href="APIchunk3.html">o-s</a>
<a href="APIchunk4.html">t-z</a>
</h2></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

258
docs/APIchunk3.html Normal file
View File

@ -0,0 +1,258 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>API Alphabetic Index o-s for libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">API Alphabetic Index o-s for libvirt</h1><h2 align="center"><a href="APIchunk0.html">A-a</a>
<a href="APIchunk1.html">b-f</a>
<a href="APIchunk2.html">g-n</a>
<a href="APIchunk3.html">o-s</a>
<a href="APIchunk4.html">t-z</a>
</h2><h2>Letter o:</h2><dl><dt>occured</dt><dd><a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
<a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
</dd><dt>offline</dt><dd><a href="html/libvirt-libvirt.html#_virVcpuInfo">_virVcpuInfo</a><br />
</dd><dt>one</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="">maplen</a><br />
<a href="html/libvirt-libvirt.html#virDomainAttachDevice">virDomainAttachDevice</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDetachDevice">virDomainDetachDevice</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
</dd><dt>only</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>operation</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
</dd><dt>option</dt><dd><a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>optional</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>order:</dt><dd><a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd><dt>otherwise</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
<a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
<a href="html/libvirt-libvirt.html#virDomainDefineXML">virDomainDefineXML</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>output</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd></dl><h2>Letter p:</h2><dl><dt>parameter</dt><dd><a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
</dd><dt>parameters</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
</dd><dt>part</dt><dd><a href="html/libvirt-virterror.html#_virError">_virError</a><br />
</dd><dt>partial</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>pass</dt><dd><a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>path</dt><dd><a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>per</dt><dd><a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
</dd><dt>physical</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
<a href="">cpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
</dd><dt>pointed</dt><dd><a href="html/libvirt-virterror.html#virResetError">virResetError</a><br />
</dd><dt>pointers</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDefinedDomains">virConnectListDefinedDomains</a><br />
</dd><dt>pointing</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
</dd><dt>pools</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreate">virDomainCreate</a><br />
</dd><dt>potential</dt><dd><a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
</dd><dt>preferably</dt><dd><a href="html/libvirt-libvirt.html#virDomainDefineXML">virDomainDefineXML</a><br />
</dd><dt>previously</dt><dd><a href="">cpumap</a><br />
</dd><dt>printing</dt><dd><a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>priviledged</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>problem</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>process</dt><dd><a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>provided</dt><dd><a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDefinedDomains">virConnectListDefinedDomains</a><br />
<a href="html/libvirt-virterror.html#virErrorFunc">virErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>providing</dt><dd><a href="html/libvirt-libvirt.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
</dd><dt>public</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
</dd></dl><h2>Letter r:</h2><dl><dt>race</dt><dd><a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
</dd><dt>raised</dt><dd><a href="html/libvirt-virterror.html#_virError">_virError</a><br />
<a href="html/libvirt-virterror.html#virErrorFunc">virErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>ramdisk</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
</dd><dt>raw</dt><dd><a href="html/libvirt-libvirt.html#virDomainLookupByUUID">virDomainLookupByUUID</a><br />
</dd><dt>reactivate</dt><dd><a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>real</dt><dd><a href="html/libvirt-libvirt.html#_virVcpuInfo">_virVcpuInfo</a><br />
<a href="">cpumap</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd><dt>reboot</dt><dd><a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>receive</dt><dd><a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
</dd><dt>related</dt><dd><a href="html/libvirt-libvirt.html#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a><br />
<a href="html/libvirt-libvirt.html#VIR_USE_CPU">VIR_USE_CPU</a><br />
</dd><dt>relaunch</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>release</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>remote</dt><dd><a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
</dd><dt>reporting</dt><dd><a href="html/libvirt-virterror.html#virDefaultErrorFunc">virDefaultErrorFunc</a><br />
</dd><dt>request</dt><dd><a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>required</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
</dd><dt>requires</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>reserved</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
</dd><dt>reset</dt><dd><a href="html/libvirt-libvirt.html#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a><br />
<a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>resources</dt><dd><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>restart</dt><dd><a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
</dd><dt>restarted</dt><dd><a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
</dd><dt>restore</dt><dd><a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>restricted</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</dd><dt>result</dt><dd><a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
</dd><dt>return</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>returned</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>returns</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
<a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
<a href="html/libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
</dd><dt>reused</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>root</dt><dd><a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
</dd><dt>routine</dt><dd><a href="html/libvirt-virterror.html#virDefaultErrorFunc">virDefaultErrorFunc</a><br />
<a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
</dd><dt>running</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreate">virDomainCreate</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainUndefine">virDomainUndefine</a><br />
</dd><dt>runs</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
</dd></dl><h2>Letter s:</h2><dl><dt>same</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
</dd><dt>save</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>saved</dt><dd><a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
</dd><dt>saving</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>see</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetUUIDString">virDomainGetUUIDString</a><br />
</dd><dt>set</dt><dd><a href="html/libvirt-libvirt.html#VIR_USE_CPU">VIR_USE_CPU</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd><dt>should</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>shutdown</dt><dd><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
</dd><dt>significant</dt><dd><a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd><dt>similar</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>single</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
</dd><dt>size</dt><dd><a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDefinedDomains">virConnectListDefinedDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
</dd><dt>socket</dt><dd><a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
</dd><dt>software</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
</dd><dt>specified</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a><br />
</dd><dt>start</dt><dd><a href="html/libvirt-libvirt.html#virDomainDefineXML">virDomainDefineXML</a><br />
</dd><dt>startup</dt><dd><a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
</dd><dt>state</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
</dd><dt>static</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
</dd><dt>stay</dt><dd><a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>stderr</dt><dd><a href="html/libvirt-virterror.html#virDefaultErrorFunc">virDefaultErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>still</dt><dd><a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>stop</dt><dd><a href="html/libvirt-libvirt.html#virDomainUndefine">virDomainUndefine</a><br />
</dd><dt>stopped</dt><dd><a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>store</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDefinedDomains">virConnectListDefinedDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
</dd><dt>stored</dt><dd><a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd><dt>stores</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDefinedDomains">virConnectListDefinedDomains</a><br />
</dd><dt>string</dt><dd><a href="html/libvirt-virterror.html#_virError">_virError</a><br />
<a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetUUIDString">virDomainGetUUIDString</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUIDString">virDomainLookupByUUIDString</a><br />
</dd><dt>structure</dt><dd><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virNodeGetInfo">virNodeGetInfo</a><br />
</dd><dt>structures</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
</dd><dt>succeed</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreate">virDomainCreate</a><br />
</dd><dt>success</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virDomainAttachDevice">virDomainAttachDevice</a><br />
<a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreate">virDomainCreate</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainDetachDevice">virDomainDetachDevice</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetUUID">virDomainGetUUID</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetUUIDString">virDomainGetUUIDString</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvirt-libvirt.html#virDomainUndefine">virDomainUndefine</a><br />
<a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
<a href="html/libvirt-libvirt.html#virNodeGetInfo">virNodeGetInfo</a><br />
</dd><dt>successful</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>suitable</dt><dd><a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
<a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
</dd><dt>support</dt><dd><a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
</dd><dt>supported</dt><dd><a href="html/libvirt-libvirt.html#VIR_NODEINFO_MAXCPUS">VIR_NODEINFO_MAXCPUS</a><br />
</dd><dt>suspend</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>suspended</dt><dd><a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
</dd><dt>system</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd></dl><h2 align="center"><a href="APIchunk0.html">A-a</a>
<a href="APIchunk1.html">b-f</a>
<a href="APIchunk2.html">g-n</a>
<a href="APIchunk3.html">o-s</a>
<a href="APIchunk4.html">t-z</a>
</h2></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

200
docs/APIchunk4.html Normal file
View File

@ -0,0 +1,200 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>API Alphabetic Index t-z for libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">API Alphabetic Index t-z for libvirt</h1><h2 align="center"><a href="APIchunk0.html">A-a</a>
<a href="APIchunk1.html">b-f</a>
<a href="APIchunk2.html">g-n</a>
<a href="APIchunk3.html">o-s</a>
<a href="APIchunk4.html">t-z</a>
</h2><h2>Letter t:</h2><dl><dt>target</dt><dd><a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
</dd><dt>terminated</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>that</dt><dd><a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
<a href="html/libvirt-virterror.html#virConnResetLastError">virConnResetLastError</a><br />
<a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>their</dt><dd><a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
</dd><dt>then</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
</dd><dt>there</dt><dd><a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvirt-virterror.html#virErrorFunc">virErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>thereafter</dt><dd><a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
</dd><dt>this</dt><dd><a href="html/libvirt-virterror.html#_virError">_virError</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
</dd><dt>those</dt><dd><a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>threads</dt><dd><a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
</dd><dt>time</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#_virVcpuInfo">_virVcpuInfo</a><br />
</dd><dt>total</dt><dd><a href="html/libvirt-libvirt.html#VIR_NODEINFO_MAXCPUS">VIR_NODEINFO_MAXCPUS</a><br />
</dd><dt>true</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
</dd><dt>two</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>type</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd></dl><h2>Letter u:</h2><dl><dt>undefine</dt><dd><a href="html/libvirt-libvirt.html#virDomainUndefine">virDomainUndefine</a><br />
</dd><dt>underlying</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
</dd><dt>uniform</dt><dd><a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
</dd><dt>unknown</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>unsigned</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetID">virDomainGetID</a><br />
</dd><dt>unused</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
</dd><dt>usable</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
<a href="html/libvirt-libvirt.html#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a><br />
<a href="html/libvirt-libvirt.html#VIR_USE_CPU">VIR_USE_CPU</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
</dd><dt>use</dt><dd><a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
<a href="html/libvirt-virterror.html#virErrorFunc">virErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
</dd><dt>used</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
<a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
<a href="html/libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a><br />
<a href="html/libvirt-libvirt.html#VIR_USE_CPU">VIR_USE_CPU</a><br />
<a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#_virVcpuInfo">_virVcpuInfo</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>user</dt><dd><a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-virterror.html#virErrorFunc">virErrorFunc</a><br />
<a href="html/libvirt-libvirt.html#virNodeGetInfo">virNodeGetInfo</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd></dl><h2>Letter v:</h2><dl><dt>value</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
<a href="html/libvirt-libvirt.html#_virVcpuInfo">_virVcpuInfo</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>values</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>vcpu</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
<a href="html/libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a><br />
</dd><dt>vcpus</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
</dd><dt>version</dt><dd><a href="html/libvirt-libvirt.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>virConnCopyLastError</dt><dd><a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
</dd><dt>virCopyLastError</dt><dd><a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
</dd><dt>virDomainCreateLinux</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>virDomainFlags</dt><dd><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>virDomainGetVcpus</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
<a href="html/libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a><br />
</dd><dt>virDomainGetXMLDesc</dt><dd><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</dd><dt>virDomainInfo</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
</dd><dt>virDomainPinVcpu</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
<a href="html/libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a><br />
<a href="html/libvirt-libvirt.html#VIR_USE_CPU">VIR_USE_CPU</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
</dd><dt>virDomainRestore</dt><dd><a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
</dd><dt>virDomainResume</dt><dd><a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>virDomainSave</dt><dd><a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
</dd><dt>virError</dt><dd><a href="html/libvirt-virterror.html#virResetError">virResetError</a><br />
</dd><dt>virErrorNumber</dt><dd><a href="html/libvirt-virterror.html#_virError">_virError</a><br />
</dd><dt>virNodeInfo</dt><dd><a href="">nodeinfo</a><br />
<a href="html/libvirt-libvirt.html#virNodeGetInfo">virNodeGetInfo</a><br />
</dd><dt>virResetError</dt><dd><a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
</dd><dt>virSuspendDomain</dt><dd><a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
</dd><dt>virVcpuInfo</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
</dd><dt>virVcpuState</dt><dd><a href="html/libvirt-libvirt.html#_virVcpuInfo">_virVcpuInfo</a><br />
</dd><dt>virtual</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
<a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#_virVcpuInfo">_virVcpuInfo</a><br />
<a href="">vcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainAttachDevice">virDomainAttachDevice</a><br />
<a href="html/libvirt-libvirt.html#virDomainDetachDevice">virDomainDetachDevice</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
</dd><dt>virtualization</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
</dd></dl><h2>Letter w:</h2><dl><dt>was</dt><dd><a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>when</dt><dd><a href="html/libvirt-virterror.html#virErrorFunc">virErrorFunc</a><br />
<a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
</dd><dt>where</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
</dd><dt>which</dt><dd><a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
<a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
<a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>while</dt><dd><a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</dd><dt>will</dt><dd><a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
<a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</dd><dt>with</dt><dd><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
<a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
<a href="html/libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a><br />
<a href="html/libvirt-libvirt.html#VIR_USE_CPU">VIR_USE_CPU</a><br />
<a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
</dd><dt>without</dt><dd><a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
</dd><dt>work</dt><dd><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
</dd></dl><h2>Letter x:</h2><dl><dt>xen</dt><dd><a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
</dd></dl><h2>Letter y:</h2><dl><dt>yet</dt><dd><a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
</dd></dl><h2>Letter z:</h2><dl><dt>zero</dt><dd><a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</dd></dl><h2 align="center"><a href="APIchunk0.html">A-a</a>
<a href="APIchunk1.html">b-f</a>
<a href="APIchunk2.html">g-n</a>
<a href="APIchunk3.html">o-s</a>
<a href="APIchunk4.html">t-z</a>
</h2></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -1,17 +1,15 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>List of constructors for libvir</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>List of constructors for libvir</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="architecture.html">libvir architecture</a></li><li><a href="libvir.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Type unsigned int:</h2><p><a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
</p><h2>Type unsigned long:</h2><p><a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
</p><h2>Type virConnectPtr:</h2><p><a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</p><h2>Type virDomainPtr:</h2><p><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>List of constructors for libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">List of constructors for libvirt</h1><h2>Type unsigned int:</h2><p><a href="html/libvirt-libvirt.html#virDomainGetID">virDomainGetID</a><br />
</p><h2>Type unsigned long:</h2><p><a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
</p><h2>Type virConnectPtr:</h2><p><a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
</p><h2>Type virDomainPtr:</h2><p><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDefineXML">virDomainDefineXML</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUID">virDomainLookupByUUID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUIDString">virDomainLookupByUUIDString</a><br />
</p><h2>Type virErrorPtr:</h2><p><a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
<a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
</p></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -1,50 +1,161 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>List of Symbols per Module for libvir</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>List of Symbols per Module for libvir</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="architecture.html">libvir architecture</a></li><li><a href="libvir.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2><a name="libvir" id="libvir">Module libvir</a>:</h2><p><a href="html/libvir-libvir.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_BLOCKED">VIR_DOMAIN_BLOCKED</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_NONE">VIR_DOMAIN_NONE</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_NOSTATE">VIR_DOMAIN_NOSTATE</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_PAUSED">VIR_DOMAIN_PAUSED</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_RUNNING">VIR_DOMAIN_RUNNING</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_SHUTDOWN">VIR_DOMAIN_SHUTDOWN</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_SHUTOFF">VIR_DOMAIN_SHUTOFF</a><br />
<a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virConnect">virConnect</a><br />
<a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virConnectPtr">virConnectPtr</a><br />
<a href="html/libvir-libvir.html#virDomain">virDomain</a><br />
<a href="html/libvir-libvir.html#virDomainCreateFlags">virDomainCreateFlags</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvir-libvir.html#virDomainInfo">virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainInfoPtr">virDomainInfoPtr</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvir-libvir.html#virDomainPtr">virDomainPtr</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvir-libvir.html#virDomainState">virDomainState</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>List of Symbols per Module for libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">List of Symbols per Module for libvirt</h1><h2><a name="libvirt" id="libvirt">Module libvirt</a>:</h2><p><a href="html/libvirt-libvirt.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
<a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
<a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
<a href="html/libvirt-libvirt.html#VIR_DEVICE_DEFAULT">VIR_DEVICE_DEFAULT</a><br />
<a href="html/libvirt-libvirt.html#VIR_DEVICE_RO">VIR_DEVICE_RO</a><br />
<a href="html/libvirt-libvirt.html#VIR_DEVICE_RW">VIR_DEVICE_RW</a><br />
<a href="html/libvirt-libvirt.html#VIR_DEVICE_RW_FORCE">VIR_DEVICE_RW_FORCE</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_BLOCKED">VIR_DOMAIN_BLOCKED</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_CRASHED">VIR_DOMAIN_CRASHED</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_DESTROY">VIR_DOMAIN_DESTROY</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_NONE">VIR_DOMAIN_NONE</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_NOSTATE">VIR_DOMAIN_NOSTATE</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_PAUSED">VIR_DOMAIN_PAUSED</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_PRESERVE">VIR_DOMAIN_PRESERVE</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_RENAME_RESTART">VIR_DOMAIN_RENAME_RESTART</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_RESTART">VIR_DOMAIN_RESTART</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_RUNNING">VIR_DOMAIN_RUNNING</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_SHUTDOWN">VIR_DOMAIN_SHUTDOWN</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_SHUTOFF">VIR_DOMAIN_SHUTOFF</a><br />
<a href="html/libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_NODEINFO_MAXCPUS">VIR_NODEINFO_MAXCPUS</a><br />
<a href="html/libvirt-libvirt.html#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a><br />
<a href="html/libvirt-libvirt.html#VIR_USE_CPU">VIR_USE_CPU</a><br />
<a href="html/libvirt-libvirt.html#VIR_VCPU_BLOCKED">VIR_VCPU_BLOCKED</a><br />
<a href="html/libvirt-libvirt.html#VIR_VCPU_OFFLINE">VIR_VCPU_OFFLINE</a><br />
<a href="html/libvirt-libvirt.html#VIR_VCPU_RUNNING">VIR_VCPU_RUNNING</a><br />
<a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
<a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
<a href="html/libvirt-libvirt.html#_virVcpuInfo">_virVcpuInfo</a><br />
<a href="html/libvirt-libvirt.html#virConnect">virConnect</a><br />
<a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDefinedDomains">virConnectListDefinedDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDefinedDomains">virConnectNumOfDefinedDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virConnectPtr">virConnectPtr</a><br />
<a href="html/libvirt-libvirt.html#virDeviceMode">virDeviceMode</a><br />
<a href="html/libvirt-libvirt.html#virDomain">virDomain</a><br />
<a href="html/libvirt-libvirt.html#virDomainAttachDevice">virDomainAttachDevice</a><br />
<a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreate">virDomainCreate</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateFlags">virDomainCreateFlags</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDefineXML">virDomainDefineXML</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainDetachDevice">virDomainDetachDevice</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetUUID">virDomainGetUUID</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetUUIDString">virDomainGetUUIDString</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvirt-libvirt.html#virDomainInfo">virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainInfoPtr">virDomainInfoPtr</a><br />
<a href="html/libvirt-libvirt.html#virDomainKernel">virDomainKernel</a><br />
<a href="html/libvirt-libvirt.html#virDomainKernelPtr">virDomainKernelPtr</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUID">virDomainLookupByUUID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUIDString">virDomainLookupByUUIDString</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainPtr">virDomainPtr</a><br />
<a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestart">virDomainRestart</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvirt-libvirt.html#virDomainState">virDomainState</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvirt-libvirt.html#virDomainUndefine">virDomainUndefine</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
<a href="html/libvirt-libvirt.html#virNodeGetInfo">virNodeGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virNodeInfo">virNodeInfo</a><br />
<a href="html/libvirt-libvirt.html#virNodeInfoPtr">virNodeInfoPtr</a><br />
<a href="html/libvirt-libvirt.html#virVcpuInfo">virVcpuInfo</a><br />
<a href="html/libvirt-libvirt.html#virVcpuInfoPtr">virVcpuInfoPtr</a><br />
<a href="html/libvirt-libvirt.html#virVcpuState">virVcpuState</a><br />
</p><h2><a name="virterror" id="virterror">Module virterror</a>:</h2><p><a href="html/libvirt-virterror.html#VIR_ERR_CALL_FAILED">VIR_ERR_CALL_FAILED</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_CONF_SYNTAX">VIR_ERR_CONF_SYNTAX</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_DOM_EXIST">VIR_ERR_DOM_EXIST</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_DRIVER_FULL">VIR_ERR_DRIVER_FULL</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_ERROR">VIR_ERR_ERROR</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_GET_FAILED">VIR_ERR_GET_FAILED</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_HTTP_ERROR">VIR_ERR_HTTP_ERROR</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_INTERNAL_ERROR">VIR_ERR_INTERNAL_ERROR</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_INVALID_ARG">VIR_ERR_INVALID_ARG</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_INVALID_CONN">VIR_ERR_INVALID_CONN</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_INVALID_DOMAIN">VIR_ERR_INVALID_DOMAIN</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NONE">VIR_ERR_NONE</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_CONNECT">VIR_ERR_NO_CONNECT</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_DEVICE">VIR_ERR_NO_DEVICE</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_KERNEL">VIR_ERR_NO_KERNEL</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_MEMORY">VIR_ERR_NO_MEMORY</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_NAME">VIR_ERR_NO_NAME</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_OS">VIR_ERR_NO_OS</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_ROOT">VIR_ERR_NO_ROOT</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_SOURCE">VIR_ERR_NO_SOURCE</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_SUPPORT">VIR_ERR_NO_SUPPORT</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_TARGET">VIR_ERR_NO_TARGET</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_XEN">VIR_ERR_NO_XEN</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_XENSTORE">VIR_ERR_NO_XENSTORE</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_OK">VIR_ERR_OK</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_OPEN_FAILED">VIR_ERR_OPEN_FAILED</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_OPERATION_DENIED">VIR_ERR_OPERATION_DENIED</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_OPERATION_FAILED">VIR_ERR_OPERATION_FAILED</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_OS_TYPE">VIR_ERR_OS_TYPE</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_PARSE_FAILED">VIR_ERR_PARSE_FAILED</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_POST_FAILED">VIR_ERR_POST_FAILED</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_READ_FAILED">VIR_ERR_READ_FAILED</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_SEXPR_SERIAL">VIR_ERR_SEXPR_SERIAL</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_UNKNOWN_HOST">VIR_ERR_UNKNOWN_HOST</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_WARNING">VIR_ERR_WARNING</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_WRITE_FAILED">VIR_ERR_WRITE_FAILED</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_XEN_CALL">VIR_ERR_XEN_CALL</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_XML_DETAIL">VIR_ERR_XML_DETAIL</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_XML_ERROR">VIR_ERR_XML_ERROR</a><br />
<a href="html/libvirt-virterror.html#VIR_FROM_CONF">VIR_FROM_CONF</a><br />
<a href="html/libvirt-virterror.html#VIR_FROM_DOM">VIR_FROM_DOM</a><br />
<a href="html/libvirt-virterror.html#VIR_FROM_NONE">VIR_FROM_NONE</a><br />
<a href="html/libvirt-virterror.html#VIR_FROM_PROXY">VIR_FROM_PROXY</a><br />
<a href="html/libvirt-virterror.html#VIR_FROM_RPC">VIR_FROM_RPC</a><br />
<a href="html/libvirt-virterror.html#VIR_FROM_SEXPR">VIR_FROM_SEXPR</a><br />
<a href="html/libvirt-virterror.html#VIR_FROM_XEN">VIR_FROM_XEN</a><br />
<a href="html/libvirt-virterror.html#VIR_FROM_XEND">VIR_FROM_XEND</a><br />
<a href="html/libvirt-virterror.html#VIR_FROM_XENSTORE">VIR_FROM_XENSTORE</a><br />
<a href="html/libvirt-virterror.html#VIR_FROM_XML">VIR_FROM_XML</a><br />
<a href="html/libvirt-virterror.html#_virError">_virError</a><br />
<a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
<a href="html/libvirt-virterror.html#virConnResetLastError">virConnResetLastError</a><br />
<a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virDefaultErrorFunc">virDefaultErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virError">virError</a><br />
<a href="html/libvirt-virterror.html#virErrorDomain">virErrorDomain</a><br />
<a href="html/libvirt-virterror.html#virErrorFunc">virErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virErrorLevel">virErrorLevel</a><br />
<a href="html/libvirt-virterror.html#virErrorNumber">virErrorNumber</a><br />
<a href="html/libvirt-virterror.html#virErrorPtr">virErrorPtr</a><br />
<a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
<a href="html/libvirt-virterror.html#virResetError">virResetError</a><br />
<a href="html/libvirt-virterror.html#virResetLastError">virResetLastError</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</p></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -1,37 +1,74 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>List of function manipulating types in libvir</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>List of function manipulating types in libvir</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="architecture.html">libvir architecture</a></li><li><a href="libvir.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Type int *:</h2><p><a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
</p><h2>Type unsigned int:</h2><p><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
</p><h2>Type unsigned long:</h2><p><a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
</p><h2>Type unsigned long *:</h2><p><a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</p><h2>Type virConnectPtr:</h2><p><a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
</p><h2>Type virDomainInfoPtr:</h2><p><a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
</p><h2>Type virDomainPtr:</h2><p><a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>List of function manipulating types in libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">List of function manipulating types in libvirt</h1><h2>Type const char **:</h2><p><a href="html/libvirt-libvirt.html#virConnectListDefinedDomains">virConnectListDefinedDomains</a><br />
</p><h2>Type const unsigned char *:</h2><p><a href="html/libvirt-libvirt.html#virDomainLookupByUUID">virDomainLookupByUUID</a><br />
</p><h2>Type int *:</h2><p><a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
</p><h2>Type unsigned char *:</h2><p><a href="html/libvirt-libvirt.html#virDomainGetUUID">virDomainGetUUID</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
</p><h2>Type unsigned int:</h2><p><a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
</p><h2>Type unsigned long:</h2><p><a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
</p><h2>Type unsigned long *:</h2><p><a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
</p><h2>Type virConnectPtr:</h2><p><a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
<a href="html/libvirt-virterror.html#virConnResetLastError">virConnResetLastError</a><br />
<a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
<a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDefinedDomains">virConnectListDefinedDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDefinedDomains">virConnectNumOfDefinedDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDefineXML">virDomainDefineXML</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUID">virDomainLookupByUUID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUIDString">virDomainLookupByUUIDString</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
<a href="html/libvirt-libvirt.html#virNodeGetInfo">virNodeGetInfo</a><br />
</p><h2>Type virDomainInfoPtr:</h2><p><a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
</p><h2>Type virDomainPtr:</h2><p><a href="html/libvirt-libvirt.html#virDomainAttachDevice">virDomainAttachDevice</a><br />
<a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreate">virDomainCreate</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainDetachDevice">virDomainDetachDevice</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetUUID">virDomainGetUUID</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetUUIDString">virDomainGetUUIDString</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvirt-libvirt.html#virDomainUndefine">virDomainUndefine</a><br />
</p><h2>Type virErrorFunc:</h2><p><a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</p><h2>Type virErrorPtr:</h2><p><a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virDefaultErrorFunc">virDefaultErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virErrorFunc">virErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virResetError">virResetError</a><br />
</p><h2>Type virNodeInfoPtr:</h2><p><a href="html/libvirt-libvirt.html#virNodeGetInfo">virNodeGetInfo</a><br />
</p><h2>Type virVcpuInfoPtr:</h2><p><a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
</p><h2>Type void *:</h2><p><a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virErrorFunc">virErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
</p></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -1,50 +1,161 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>Alphabetic List of Symbols in libvir</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>Alphabetic List of Symbols in libvir</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="architecture.html">libvir architecture</a></li><li><a href="libvir.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Letter L:</h2><p><a href="html/libvir-libvir.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
</p><h2>Letter V:</h2><p><a href="html/libvir-libvir.html#VIR_DOMAIN_BLOCKED">VIR_DOMAIN_BLOCKED</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_NONE">VIR_DOMAIN_NONE</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_NOSTATE">VIR_DOMAIN_NOSTATE</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_PAUSED">VIR_DOMAIN_PAUSED</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_RUNNING">VIR_DOMAIN_RUNNING</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_SHUTDOWN">VIR_DOMAIN_SHUTDOWN</a><br />
<a href="html/libvir-libvir.html#VIR_DOMAIN_SHUTOFF">VIR_DOMAIN_SHUTOFF</a><br />
</p><h2>Letter _:</h2><p><a href="html/libvir-libvir.html#_virDomainInfo">_virDomainInfo</a><br />
</p><h2>Letter v:</h2><p><a href="html/libvir-libvir.html#virConnect">virConnect</a><br />
<a href="html/libvir-libvir.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvir-libvir.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvir-libvir.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvir-libvir.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvir-libvir.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvir-libvir.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvir-libvir.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvir-libvir.html#virConnectPtr">virConnectPtr</a><br />
<a href="html/libvir-libvir.html#virDomain">virDomain</a><br />
<a href="html/libvir-libvir.html#virDomainCreateFlags">virDomainCreateFlags</a><br />
<a href="html/libvir-libvir.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvir-libvir.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvir-libvir.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvir-libvir.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvir-libvir.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvir-libvir.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvir-libvir.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvir-libvir.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvir-libvir.html#virDomainInfo">virDomainInfo</a><br />
<a href="html/libvir-libvir.html#virDomainInfoPtr">virDomainInfoPtr</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvir-libvir.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvir-libvir.html#virDomainPtr">virDomainPtr</a><br />
<a href="html/libvir-libvir.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvir-libvir.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvir-libvir.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvir-libvir.html#virDomainState">virDomainState</a><br />
<a href="html/libvir-libvir.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvir-libvir.html#virGetVersion">virGetVersion</a><br />
</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Alphabetic List of Symbols in libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Alphabetic List of Symbols in libvirt</h1><h2>Letter L:</h2><p><a href="html/libvirt-libvirt.html#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a><br />
</p><h2>Letter V:</h2><p><a href="html/libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a><br />
<a href="html/libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a><br />
<a href="html/libvirt-libvirt.html#VIR_DEVICE_DEFAULT">VIR_DEVICE_DEFAULT</a><br />
<a href="html/libvirt-libvirt.html#VIR_DEVICE_RO">VIR_DEVICE_RO</a><br />
<a href="html/libvirt-libvirt.html#VIR_DEVICE_RW">VIR_DEVICE_RW</a><br />
<a href="html/libvirt-libvirt.html#VIR_DEVICE_RW_FORCE">VIR_DEVICE_RW_FORCE</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_BLOCKED">VIR_DOMAIN_BLOCKED</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_CRASHED">VIR_DOMAIN_CRASHED</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_DESTROY">VIR_DOMAIN_DESTROY</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_NONE">VIR_DOMAIN_NONE</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_NOSTATE">VIR_DOMAIN_NOSTATE</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_PAUSED">VIR_DOMAIN_PAUSED</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_PRESERVE">VIR_DOMAIN_PRESERVE</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_RENAME_RESTART">VIR_DOMAIN_RENAME_RESTART</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_RESTART">VIR_DOMAIN_RESTART</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_RUNNING">VIR_DOMAIN_RUNNING</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_SHUTDOWN">VIR_DOMAIN_SHUTDOWN</a><br />
<a href="html/libvirt-libvirt.html#VIR_DOMAIN_SHUTOFF">VIR_DOMAIN_SHUTOFF</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_CALL_FAILED">VIR_ERR_CALL_FAILED</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_CONF_SYNTAX">VIR_ERR_CONF_SYNTAX</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_DOM_EXIST">VIR_ERR_DOM_EXIST</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_DRIVER_FULL">VIR_ERR_DRIVER_FULL</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_ERROR">VIR_ERR_ERROR</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_GET_FAILED">VIR_ERR_GET_FAILED</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_HTTP_ERROR">VIR_ERR_HTTP_ERROR</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_INTERNAL_ERROR">VIR_ERR_INTERNAL_ERROR</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_INVALID_ARG">VIR_ERR_INVALID_ARG</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_INVALID_CONN">VIR_ERR_INVALID_CONN</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_INVALID_DOMAIN">VIR_ERR_INVALID_DOMAIN</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NONE">VIR_ERR_NONE</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_CONNECT">VIR_ERR_NO_CONNECT</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_DEVICE">VIR_ERR_NO_DEVICE</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_KERNEL">VIR_ERR_NO_KERNEL</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_MEMORY">VIR_ERR_NO_MEMORY</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_NAME">VIR_ERR_NO_NAME</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_OS">VIR_ERR_NO_OS</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_ROOT">VIR_ERR_NO_ROOT</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_SOURCE">VIR_ERR_NO_SOURCE</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_SUPPORT">VIR_ERR_NO_SUPPORT</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_TARGET">VIR_ERR_NO_TARGET</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_XEN">VIR_ERR_NO_XEN</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_NO_XENSTORE">VIR_ERR_NO_XENSTORE</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_OK">VIR_ERR_OK</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_OPEN_FAILED">VIR_ERR_OPEN_FAILED</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_OPERATION_DENIED">VIR_ERR_OPERATION_DENIED</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_OPERATION_FAILED">VIR_ERR_OPERATION_FAILED</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_OS_TYPE">VIR_ERR_OS_TYPE</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_PARSE_FAILED">VIR_ERR_PARSE_FAILED</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_POST_FAILED">VIR_ERR_POST_FAILED</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_READ_FAILED">VIR_ERR_READ_FAILED</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_SEXPR_SERIAL">VIR_ERR_SEXPR_SERIAL</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_UNKNOWN_HOST">VIR_ERR_UNKNOWN_HOST</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_WARNING">VIR_ERR_WARNING</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_WRITE_FAILED">VIR_ERR_WRITE_FAILED</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_XEN_CALL">VIR_ERR_XEN_CALL</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_XML_DETAIL">VIR_ERR_XML_DETAIL</a><br />
<a href="html/libvirt-virterror.html#VIR_ERR_XML_ERROR">VIR_ERR_XML_ERROR</a><br />
<a href="html/libvirt-virterror.html#VIR_FROM_CONF">VIR_FROM_CONF</a><br />
<a href="html/libvirt-virterror.html#VIR_FROM_DOM">VIR_FROM_DOM</a><br />
<a href="html/libvirt-virterror.html#VIR_FROM_NONE">VIR_FROM_NONE</a><br />
<a href="html/libvirt-virterror.html#VIR_FROM_PROXY">VIR_FROM_PROXY</a><br />
<a href="html/libvirt-virterror.html#VIR_FROM_RPC">VIR_FROM_RPC</a><br />
<a href="html/libvirt-virterror.html#VIR_FROM_SEXPR">VIR_FROM_SEXPR</a><br />
<a href="html/libvirt-virterror.html#VIR_FROM_XEN">VIR_FROM_XEN</a><br />
<a href="html/libvirt-virterror.html#VIR_FROM_XEND">VIR_FROM_XEND</a><br />
<a href="html/libvirt-virterror.html#VIR_FROM_XENSTORE">VIR_FROM_XENSTORE</a><br />
<a href="html/libvirt-virterror.html#VIR_FROM_XML">VIR_FROM_XML</a><br />
<a href="html/libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a><br />
<a href="html/libvirt-libvirt.html#VIR_NODEINFO_MAXCPUS">VIR_NODEINFO_MAXCPUS</a><br />
<a href="html/libvirt-libvirt.html#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a><br />
<a href="html/libvirt-libvirt.html#VIR_USE_CPU">VIR_USE_CPU</a><br />
<a href="html/libvirt-libvirt.html#VIR_VCPU_BLOCKED">VIR_VCPU_BLOCKED</a><br />
<a href="html/libvirt-libvirt.html#VIR_VCPU_OFFLINE">VIR_VCPU_OFFLINE</a><br />
<a href="html/libvirt-libvirt.html#VIR_VCPU_RUNNING">VIR_VCPU_RUNNING</a><br />
</p><h2>Letter _:</h2><p><a href="html/libvirt-libvirt.html#_virDomainInfo">_virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#_virDomainKernel">_virDomainKernel</a><br />
<a href="html/libvirt-virterror.html#_virError">_virError</a><br />
<a href="html/libvirt-libvirt.html#_virNodeInfo">_virNodeInfo</a><br />
<a href="html/libvirt-libvirt.html#_virVcpuInfo">_virVcpuInfo</a><br />
</p><h2>Letter v:</h2><p><a href="html/libvirt-virterror.html#virConnCopyLastError">virConnCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a><br />
<a href="html/libvirt-virterror.html#virConnResetLastError">virConnResetLastError</a><br />
<a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a><br />
<a href="html/libvirt-libvirt.html#virConnect">virConnect</a><br />
<a href="html/libvirt-libvirt.html#virConnectClose">virConnectClose</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetType">virConnectGetType</a><br />
<a href="html/libvirt-libvirt.html#virConnectGetVersion">virConnectGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDefinedDomains">virConnectListDefinedDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDefinedDomains">virConnectNumOfDefinedDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectNumOfDomains">virConnectNumOfDomains</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpen">virConnectOpen</a><br />
<a href="html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a><br />
<a href="html/libvirt-libvirt.html#virConnectPtr">virConnectPtr</a><br />
<a href="html/libvirt-virterror.html#virCopyLastError">virCopyLastError</a><br />
<a href="html/libvirt-virterror.html#virDefaultErrorFunc">virDefaultErrorFunc</a><br />
<a href="html/libvirt-libvirt.html#virDeviceMode">virDeviceMode</a><br />
<a href="html/libvirt-libvirt.html#virDomain">virDomain</a><br />
<a href="html/libvirt-libvirt.html#virDomainAttachDevice">virDomainAttachDevice</a><br />
<a href="html/libvirt-libvirt.html#virDomainCoreDump">virDomainCoreDump</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreate">virDomainCreate</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateFlags">virDomainCreateFlags</a><br />
<a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux</a><br />
<a href="html/libvirt-libvirt.html#virDomainDefineXML">virDomainDefineXML</a><br />
<a href="html/libvirt-libvirt.html#virDomainDestroy">virDomainDestroy</a><br />
<a href="html/libvirt-libvirt.html#virDomainDetachDevice">virDomainDetachDevice</a><br />
<a href="html/libvirt-libvirt.html#virDomainFree">virDomainFree</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetID">virDomainGetID</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetMaxMemory">virDomainGetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetName">virDomainGetName</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetOSType">virDomainGetOSType</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetUUID">virDomainGetUUID</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetUUIDString">virDomainGetUUIDString</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetVcpus">virDomainGetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc</a><br />
<a href="html/libvirt-libvirt.html#virDomainInfo">virDomainInfo</a><br />
<a href="html/libvirt-libvirt.html#virDomainInfoPtr">virDomainInfoPtr</a><br />
<a href="html/libvirt-libvirt.html#virDomainKernel">virDomainKernel</a><br />
<a href="html/libvirt-libvirt.html#virDomainKernelPtr">virDomainKernelPtr</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByName">virDomainLookupByName</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUID">virDomainLookupByUUID</a><br />
<a href="html/libvirt-libvirt.html#virDomainLookupByUUIDString">virDomainLookupByUUIDString</a><br />
<a href="html/libvirt-libvirt.html#virDomainPinVcpu">virDomainPinVcpu</a><br />
<a href="html/libvirt-libvirt.html#virDomainPtr">virDomainPtr</a><br />
<a href="html/libvirt-libvirt.html#virDomainReboot">virDomainReboot</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestart">virDomainRestart</a><br />
<a href="html/libvirt-libvirt.html#virDomainRestore">virDomainRestore</a><br />
<a href="html/libvirt-libvirt.html#virDomainResume">virDomainResume</a><br />
<a href="html/libvirt-libvirt.html#virDomainSave">virDomainSave</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetMemory">virDomainSetMemory</a><br />
<a href="html/libvirt-libvirt.html#virDomainSetVcpus">virDomainSetVcpus</a><br />
<a href="html/libvirt-libvirt.html#virDomainShutdown">virDomainShutdown</a><br />
<a href="html/libvirt-libvirt.html#virDomainState">virDomainState</a><br />
<a href="html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a><br />
<a href="html/libvirt-libvirt.html#virDomainUndefine">virDomainUndefine</a><br />
<a href="html/libvirt-virterror.html#virError">virError</a><br />
<a href="html/libvirt-virterror.html#virErrorDomain">virErrorDomain</a><br />
<a href="html/libvirt-virterror.html#virErrorFunc">virErrorFunc</a><br />
<a href="html/libvirt-virterror.html#virErrorLevel">virErrorLevel</a><br />
<a href="html/libvirt-virterror.html#virErrorNumber">virErrorNumber</a><br />
<a href="html/libvirt-virterror.html#virErrorPtr">virErrorPtr</a><br />
<a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a><br />
<a href="html/libvirt-libvirt.html#virGetVersion">virGetVersion</a><br />
<a href="html/libvirt-libvirt.html#virInitialize">virInitialize</a><br />
<a href="html/libvirt-libvirt.html#virNodeGetInfo">virNodeGetInfo</a><br />
<a href="html/libvirt-libvirt.html#virNodeInfo">virNodeInfo</a><br />
<a href="html/libvirt-libvirt.html#virNodeInfoPtr">virNodeInfoPtr</a><br />
<a href="html/libvirt-virterror.html#virResetError">virResetError</a><br />
<a href="html/libvirt-virterror.html#virResetLastError">virResetLastError</a><br />
<a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a><br />
<a href="html/libvirt-libvirt.html#virVcpuInfo">virVcpuInfo</a><br />
<a href="html/libvirt-libvirt.html#virVcpuInfoPtr">virVcpuInfoPtr</a><br />
<a href="html/libvirt-libvirt.html#virVcpuState">virVcpuState</a><br />
</p></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -11,7 +11,7 @@
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<xsl:param name="module">libvir</xsl:param>
<xsl:param name="module">libvirt</xsl:param>
<!-- The table of content for the HTML page -->
<xsl:variable name="menu_name">API Menu</xsl:variable>
@ -58,51 +58,27 @@
<xsl:variable name="title">ChangeLog last entries of <xsl:value-of select="$module"/></xsl:variable>
<html>
<head>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
</head>
<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<xsl:call-template name="develtoc"/>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<xsl:apply-templates select="entry"/>
<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<body>
<div id="container">
<div id="intro">
<div id="adjustments"/>
<div id="pageHeader"/>
<div id="content2">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<xsl:apply-templates select="entry"/>
</div>
</div>
<xsl:call-template name="linkList2"/>
<xsl:call-template name="bottom"/>
</div>
</body>
</html>
</xsl:template>

View File

@ -1,56 +1,58 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>FAQ</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>FAQ</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>Table of Contents:</p><ul><li><a href="FAQ.html#License">License(s)</a></li>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>FAQ</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">FAQ</h1><p>Table of Contents:</p><ul><li><a href="FAQ.html#License">License(s)</a></li>
<li><a href="FAQ.html#Installati">Installation</a></li>
<li><a href="FAQ.html#Compilatio">Compilation</a></li>
<li><a href="FAQ.html#Developer">Developer corner</a></li>
</ul><h3><a name="License" id="License">License</a>(s)</h3><ol><li><em>Licensing Terms for libvir</em>
<p>libvir is released under the <a href="http://www.opensource.org/licenses/lgpl-license.html">GNU Lesser
</ul><h3><a name="License" id="License">License</a>(s)</h3><ol><li><em>Licensing Terms for libvirt</em>
<p>libvirt is released under the <a href="http://www.opensource.org/licenses/lgpl-license.html">GNU Lesser
General Public License</a>, see the file COPYING.LIB in the distribution
for the precise wording. The only library that libvir depends upon is the
Xen store access library which is also licenced under the LGPL.</p>
for the precise wording. The only library that libvirt depends upon is
the Xen store access library which is also licenced under the LGPL.</p>
</li>
<li><em>Can I embed libvir in a proprietary application ?</em>
<p>Yes. The LGPL allows you to embed libvir into a proprietary
<li><em>Can I embed libvirt in a proprietary application ?</em>
<p>Yes. The LGPL allows you to embed libvirt into a proprietary
application. It would be graceful to send-back bug fixes and improvements
as patches for possible incorporation in the main development tree. It
will decrease your maintainance costs anyway if you do so.</p>
</li>
</ol><h3><a name="Installati" id="Installati">Installation</a></h3><ol><li><em>Where can I get libvir</em> ?
<p>The original distribution comes from <a href="ftp://libvir.org/libvir/">ftp://libvir.org/libvir/</a>.</p>
</ol><h3><a name="Installati" id="Installati">Installation</a></h3><ol><li><em>Where can I get libvirt</em> ?
<p>The original distribution comes from <a href="ftp://libvirt.org/libvirt/">ftp://libvirt.org/libvirt/</a>.</p>
</li>
<li><em>I can't install the libvir/libvir-devel RPM packages due to failed
dependencies</em>
<li><em>I can't install the libvirt/libvirt-devel RPM packages due to
failed dependencies</em>
<p>The most generic solution is to re-fetch the latest src.rpm , and
rebuild it locally with</p>
<p><code>rpm --rebuild libvir-xxx.src.rpm</code>.</p>
<p><code>rpm --rebuild libvirt-xxx.src.rpm</code>.</p>
<p>If everything goes well it will generate two binary rpm packages (one
providing the shared libs and virsh, and the other one, the -devel
package, providing includes, static libraries and scripts needed to build
applications with libvir that you can install locally.</p>
applications with libvirt that you can install locally.</p>
<p>One can also rebuild the RPMs from a tarball:</p>
<p><code>rpmbuild -ta libdir-xxx.tar.gz</code></p>
<p>Or from a configured tree with:</p>
<p><code>make rpm</code></p>
</li>
<li><em>Failure to use the API for non-root users</em>
<p>Large parts of the API are only accessible as root, however the read
only access to the xenstore data doesnot have to be forbidden to user, at
least for monitoring purposes. If "virsh info" fails to run as an user,
change the mode of the xenstore read-only socket with:</p>
<p>Large parts of the API may only be accessible with root priviledges,
however the read only access to the xenstore data doesnot have to be
forbidden to user, at least for monitoring purposes. If "virsh dominfo"
fails to run as an user, change the mode of the xenstore read-only socket
with:</p>
<p><code>chmod 666 /var/run/xenstored/socket_ro</code></p>
<p>and also make sure that the Xen Daemon is running correctly with local
HTTP server enabled, this is defined in
<code>/etc/xen/xend-config.sxp</code> which need the following line to be
enabled:</p>
<p><code>(xend-http-server yes)</code></p>
<p>If needed restart the xend daemon after making the change with the
following command run as root:</p>
<p><code>service xend restart</code></p>
</li>
</ol><h3><a name="Compilatio" id="Compilatio">Compilation</a></h3><ol><li><em>What is the process to compile libvir ?</em>
<p>As most UNIX libraries libvir follows the "standard":</p>
<p><code>gunzip -c libvir-xxx.tar.gz | tar xvf -</code></p>
<p><code>cd libvir-xxxx</code></p>
</ol><h3><a name="Compilatio" id="Compilatio">Compilation</a></h3><ol><li><em>What is the process to compile libvirt ?</em>
<p>As most UNIX libraries libvirt follows the "standard":</p>
<p><code>gunzip -c libvirt-xxx.tar.gz | tar xvf -</code></p>
<p><code>cd libvirt-xxxx</code></p>
<p><code>./configure --help</code></p>
<p>to see the options, then the compilation/installation proper</p>
<p><code>./configure [possible options]</code></p>
@ -59,8 +61,8 @@ A:link, A:visited, A:active { text-decoration: underline }
<p>At that point you may have to rerun ldconfig or a similar utility to
update your list of installed shared libs.</p>
</li>
<li><em>What other libraries are needed to compile/install libvir ?</em>
<p>Libvir requires libxenstore, which is usually provided by the xen
<li><em>What other libraries are needed to compile/install libvirt ?</em>
<p>Libvirt requires libxenstore, which is usually provided by the xen
packages as well as the public headers to compile against libxenstore.</p>
</li>
<li><em>I use the CVS version and there is no configure script</em>
@ -69,10 +71,10 @@ A:link, A:visited, A:active { text-decoration: underline }
like:</p>
<p><code>./autogen.sh --prefix=/usr --disable-shared</code></p>
</li>
</ol><h3><a name="Developer" id="Developer">Developer</a> corner</h3><ol><li><em>Troubles compiling or linking programs using libvir</em>
<p>To simplify the process of reusing the library, libvir comes with
</ol><h3><a name="Developer" id="Developer">Developer</a> corner</h3><ol><li><em>Troubles compiling or linking programs using libvirt</em>
<p>To simplify the process of reusing the library, libvirt comes with
pkgconfig support, which can be used directly from autoconf support or
via the pkg-config command line tool, like:</p>
<p><code>pkg-config libvir --libs</code></p>
<p><code>pkg-config libvirt --libs</code></p>
</li>
</ol><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
</ol></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="architecture.html">libvirt architecture</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="format.html">XML Format</a></li><li><a href="python.html">Binding for Python</a></li><li><a href="errors.html">Handling of errors</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -1,5 +1,5 @@
## Process this file with automake to produce Makefile.in
SUBDIRS=
SUBDIRS= . examples devhelp
# The directory containing the source code (if it contains documentation).
DOC_SOURCE_DIR=../src
@ -8,15 +8,16 @@ PAGES= index.html bugs.html FAQ.html
APIPAGES=APIconstructors.html APIfiles.html APIfunctions.html \
APIsymbols.html APIchunk0.html
EXTRA_DIST= \
libvir-api.xml libxen-refs.xml apibuild.py \
*.xsl *.html *.gif html/*.html html/*.png
libvirt-api.xml libvirt-refs.xml apibuild.py \
*.xsl *.html *.gif html/*.html html/*.png \
test*.xml
man_MANS=
all: web $(man_MANS)
all: web $(top_builddir)/NEWS $(man_MANS)
api: libvir-api.xml libvir-refs.xml $(APIPAGES) $(srcdir)/html/index.html
api: libvirt-api.xml libvirt-refs.xml $(APIPAGES) $(srcdir)/html/index.html
web: $(PAGES)
@ -29,31 +30,35 @@ $(PAGES): libvir.html site.xsl
$(XMLLINT) --nonet --valid --noout $(PAGES) ; fi );
$(APIPAGES): libvir-api.xml libvir-refs.xml $(top_srcdir)/docs/site.xsl $(top_srcdir)/docs/api.xsl
$(APIPAGES): libvirt-api.xml libvirt-refs.xml $(top_srcdir)/docs/site.xsl $(top_srcdir)/docs/api.xsl
-@(if [ -x $(XSLTPROC) ] ; then \
echo "Rebuilding the HTML API pages from libvir-refs.xml" ; \
echo "Rebuilding the HTML API pages from libvirt-refs.xml" ; \
$(XSLTPROC) --nonet --html $(top_srcdir)/docs/api.xsl \
$(top_srcdir)/docs/libvir.html ; fi );
-@(if [ -x $(XMLLINT) ] ; then \
echo "Validating the HTML API pages" ; \
$(XMLLINT) --nonet --valid --noout API*.html ; fi );
$(srcdir)/html/index.html: libvir-api.xml $(srcdir)/newapi.xsl
$(srcdir)/html/index.html: libvirt-api.xml $(srcdir)/newapi.xsl
-@(if [ -x $(XSLTPROC) ] ; then \
echo "Rebuilding the HTML pages from the XML API" ; \
$(XSLTPROC) --nonet $(srcdir)/newapi.xsl libvir-api.xml ; fi )
$(XSLTPROC) --nonet $(srcdir)/newapi.xsl libvirt-api.xml ; fi )
-@(if [ -x $(XMLLINT) ] ; then \
echo "Validating the resulting XHTML pages" ; \
$(XMLLINT) --nonet --valid --noout html/*.html ; fi );
libvir-api.xml libvir-refs.xml: apibuild.py ../include/*.h ../src/*.h ../src/*.c
libvirt-api.xml libvirt-refs.xml: apibuild.py ../include/libvirt/*.h ../src/*.h ../src/*.c
-(./apibuild.py)
$(top_builddir)/NEWS: $(top_srcdir)/docs/news.xsl $(top_srcdir)/docs/news.html
-@(if [ -x $(XSLTPROC) ] ; then \
$(XSLTPROC) --nonet $(top_srcdir)/docs/news.xsl $(top_srcdir)/docs/news.html > $(top_builddir)/NEWS ; fi );
clean-local:
rm -f *~ *.bak *.hierarchy *.signals *-unused.txt
maintainer-clean-local: clean-local
rm -rf libvir-api.xml libvir-refs.xml
rm -rf libvirt-api.xml libvirt-refs.xml
rebuild: api all

View File

@ -1,5 +1,5 @@
<?xml version="1.0"?>
<!-- this stylesheet builds the API*.html , it works based on libvir-refs.xml
<!-- this stylesheet builds the API*.html , it works based on libvirt-refs.xml
-->
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
@ -16,13 +16,13 @@
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<xsl:variable name="href_base" select="''"/>
<xsl:variable name="apirefs" select="document('libvir-refs.xml')"/>
<xsl:variable name="apirefs" select="document('libvirt-refs.xml')"/>
<xsl:variable name="module" select="$apirefs/apirefs/@name"/>
<xsl:key name="refhref" match="reference" use="@name"/>
<xsl:template match="ref" mode="anchor">
<xsl:variable name="name" select="@name"/>
<xsl:for-each select="document('libvir-refs.xml')">
<xsl:for-each select="document('libvirt-refs.xml')">
<a href="{key('refhref', $name)/@href}"><xsl:value-of select="$name"/></a><br/>
</xsl:for-each>
</xsl:template>
@ -80,51 +80,27 @@
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
</head>
<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<xsl:call-template name="develtoc"/>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<xsl:apply-templates mode="reflist" select="type"/>
<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<body>
<div id="container">
<div id="intro">
<div id="adjustments"/>
<div id="pageHeader"/>
<div id="content2">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<xsl:apply-templates mode="reflist" select="type"/>
</div>
</div>
<xsl:call-template name="linkList2"/>
<xsl:call-template name="bottom"/>
</div>
</body>
</html>
</xsl:document>
</xsl:template>
@ -136,51 +112,27 @@
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
</head>
<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<xsl:call-template name="develtoc"/>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<xsl:apply-templates mode="reflist" select="file"/>
<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<body>
<div id="container">
<div id="intro">
<div id="adjustments"/>
<div id="pageHeader"/>
<div id="content2">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<xsl:apply-templates mode="reflist" select="file"/>
</div>
</div>
<xsl:call-template name="linkList2"/>
<xsl:call-template name="bottom"/>
</div>
</body>
</html>
</xsl:document>
</xsl:template>
@ -192,51 +144,27 @@
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
</head>
<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<xsl:call-template name="develtoc"/>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<xsl:apply-templates mode="reflist" select="type"/>
<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<body>
<div id="container">
<div id="intro">
<div id="adjustments"/>
<div id="pageHeader"/>
<div id="content2">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<xsl:apply-templates mode="reflist" select="type"/>
</div>
</div>
<xsl:call-template name="linkList2"/>
<xsl:call-template name="bottom"/>
</div>
</body>
</html>
</xsl:document>
</xsl:template>
@ -248,51 +176,27 @@
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
</head>
<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<xsl:call-template name="develtoc"/>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<xsl:apply-templates mode="reflist" select="letter"/>
<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<body>
<div id="container">
<div id="intro">
<div id="adjustments"/>
<div id="pageHeader"/>
<div id="content2">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<xsl:apply-templates mode="reflist" select="letter"/>
</div>
</div>
<xsl:call-template name="linkList2"/>
<xsl:call-template name="bottom"/>
</div>
</body>
</html>
</xsl:document>
</xsl:template>
@ -321,54 +225,30 @@
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
</head>
<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<xsl:call-template name="develtoc"/>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<xsl:call-template name="apichunks"/>
<xsl:apply-templates mode="wordlist"
select="$target/letter"/>
<xsl:call-template name="apichunks"/>
<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<body>
<div id="container">
<div id="intro">
<div id="adjustments"/>
<div id="pageHeader"/>
<div id="content2">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<xsl:call-template name="apichunks"/>
<xsl:apply-templates mode="wordlist"
select="$target/letter"/>
<xsl:call-template name="apichunks"/>
</div>
</div>
<xsl:call-template name="linkList2"/>
<xsl:call-template name="bottom"/>
</div>
</body>
</html>
</xsl:document>
</xsl:template>

View File

@ -22,6 +22,27 @@ ignored_files = {
"hash.c": "internal hash table stuff",
"hash.h": "internal hash table stuff",
"internal.h": "internal includes and defines",
"driver.h": "internal driver interfaces",
"xend_internal.h": "internal includes and defines",
"xend_internal.c": "internal code",
"proxy_internal.h": "internal includes and defines",
"proxy_internal.c": "internal code",
"xen_internal.h": "internal includes and defines",
"xen_internal.c": "internal code",
"xs_internal.h": "internal includes and defines",
"xs_internal.c": "internal code",
"xm_internal.h": "internal code",
"xm_internal.c": "internal code",
"sexpr.h": "internal includes and defines",
"sexpr.c": "internal code",
"xml.h": "internal includes and defines",
"xml.c": "internal code",
"xmlrpc.h": "internal include",
"xmlrpc.c": "internal code",
"test.h": "test driver",
"test.c": "test driver",
"conf.h": "internal code",
"conf.c": "internal code",
}
ignored_words = {
@ -2069,13 +2090,13 @@ class docBuilder:
def rebuild():
builder = None
if glob.glob("../src/libvir.c") != [] :
print "Rebuilding API description for libvir"
builder = docBuilder("libvir", ["../src", "../include"],
if glob.glob("../src/libvirt.c") != [] :
print "Rebuilding API description for libvirt"
builder = docBuilder("libvirt", ["../src", "../include/libvirt"],
[])
elif glob.glob("src/parser.c") != [] :
elif glob.glob("src/libvirt.c") != [] :
print "Rebuilding API description for libvir"
builder = docBuilder("libvir", ["src", "include"],
builder = docBuilder("libvirt", ["src", "include/libvirt"],
[])
else:
print "rebuild() failed, unable to guess the module"

87
docs/architecture.fig Normal file
View File

@ -0,0 +1,87 @@
#FIG 3.2
Landscape
Center
Inches
Letter
100.00
Single
-2
1200 2
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1050 7500 9375 7500 9375 8700 1050 8700 1050 7500
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
3525 7275 3525 4125 1050 4125 1050 7275 3525 7275
2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
1050 6540 3540 6525
2 4 0 1 0 7 50 -1 -1 4.000 0 0 7 0 0 5
1590 6900 1590 6645 1140 6645 1140 6900 1590 6900
2 4 0 1 0 7 50 -1 -1 4.000 0 0 7 0 0 5
1590 7185 1590 6930 1140 6930 1140 7185 1590 7185
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
1 1 2.00 120.00 240.00
1 1 2.00 120.00 240.00
1875 7725 8625 7725
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1650 5625 3000 5625 3000 6375 1650 6375 1650 5625
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
2850 7725 2850 6375
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
6450 7275 6450 4125 3975 4125 3975 7275 6450 7275
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
9300 7275 9300 4125 6825 4125 6825 7275 9300 7275
2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
3975 6540 6465 6525
2 1 1 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 2
6825 6540 9315 6525
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
5400 7725 5400 7050
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
8025 7725 8025 7050
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1050 8925 9375 8925 9375 9900 1050 9900 1050 8925
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
2100 4575 3450 4575 3450 5325 2100 5325 2100 4575
2 1 1 3 0 7 50 -1 -1 2.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
3225 5325 3225 8325
2 1 1 3 0 7 50 -1 -1 2.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
6225 6900 6225 8250
2 1 1 3 0 7 50 -1 -1 2.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
8925 6900 8925 8250
2 1 1 3 0 7 50 -1 -1 2.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
1725 7125 1725 8325
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 1 1 2
1 1 2.00 120.00 240.00
1 1 2.00 120.00 240.00
2850 5850 2850 5025
2 1 1 3 0 7 50 -1 -1 2.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
5175 8475 5175 9375
2 1 1 3 0 7 50 -1 -1 2.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
1350 7125 1350 9450
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
2325 7725 2325 7200
2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 1
900 3975
2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 1
9525 9975
4 0 0 50 -1 0 18 0.0000 4 195 870 4350 7980 XenBus\001
4 0 0 50 -1 0 18 0.0000 4 195 780 1680 6870 drivers\001
4 0 0 50 -1 0 18 0.0000 4 195 1050 1800 6075 XenStore\001
4 0 0 50 -1 0 18 0.0000 4 195 900 1875 7125 Kernel0\001
4 0 0 50 -1 0 18 0.0000 4 195 960 4875 6975 KernelU\001
4 0 0 50 -1 0 18 0.0000 4 195 960 7650 6975 KernelU\001
4 0 0 50 -1 0 18 0.0000 4 255 1740 4050 8400 Xen Hypervisor\001
4 0 0 50 -1 0 18 0.0000 4 195 585 2325 4950 Xend\001
4 0 0 50 -1 0 18 0.0000 4 195 690 1200 4725 Dom0\001
4 0 0 50 -1 0 18 0.0000 4 195 750 4875 5325 DomU\001
4 0 0 50 -1 0 18 0.0000 4 195 750 7650 5325 DomU\001
4 0 0 50 -1 0 18 0.0000 4 195 1080 3750 9450 Hardware\001

BIN
docs/architecture.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@ -1,10 +1,45 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>libvir architecture</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>libvir architecture</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Developer Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html" style="font-weight:bold">Main Menu</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">ChangeLog</a></li><li><a href="architecture.html">libvir architecture</a></li><li><a href="libvir.html">flat page</a>, <a href="site.xsl">stylesheet</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="APIchunk0.html">Alphabetic</a></li><li><a href="APIconstructors.html">Constructors</a></li><li><a href="APIfunctions.html">Functions/Types</a></li><li><a href="APIfiles.html">Modules</a></li><li><a href="APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p></p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>libvirt architecture</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">libvirt architecture</h1><h3>This is in a large part Xen specific since this is the only hypervisor
supported at the moment</h3><p>When running in a Xen environment, programs using libvirt have to execute
in "Domain 0", which is the primary Linux OS loaded on the machine. That OS
kernel provides most if not all of the actual drivers used by the set of
domains. It also runs the Xen Store, a database of informations shared by the
hypervisor, the kernels, the drivers and the xen daemon. Xend. The xen daemon
supervise the control and execution of the sets of domains. The hypervisor,
drivers, kernels and daemons communicate though a shared system bus
implemented in the hypervisor. The figure below tries to provide a view of
this environment:</p><img src="architecture.gif" alt="The Xen architecture" /><p>The library can be initialized in 2 ways depending on the level of
priviledge of the embedding program. If it runs with root access,
virConnectOpen() can be used, it will use three different ways to connect to
the Xen infrastructure:</p><ul><li>a connection to the Xen Daemon though an HTTP RPC layer</li>
<li>a read/write connection to the Xen Store</li>
<li>use Xen Hypervisor calls</li>
</ul><p>The library will usually interact with the Xen daemon for any operation
changing the state of the system, but for performance and accuracy reasons
may talk directly to the hypervisor when gathering state informations at
least when possible (i.e. when the running program using libvirt has root
priviledge access).</p><p>If it runs without root access virConnectOpenReadOnly() should be used to
connect to initialize the library. It will try to open the read-only socket
<code>/var/run/xenstored/socket_ro</code> to connect to the Xen Store and
also try to use the RPC to the Xen daemon. In this case use of hypervisor
calls and write to the Xen Store will not be possible, restraining the amount
of APIs available and slowing down information gathering about domains.</p><h3>Internal architecture</h3><p>As the previous section explains, libvirt can communicate using different
channels with the current hypervisor, and should also be able to use
different kind of hypervisor. To simplify the internal design, code, ease
maintainance and simplify the support of other virtualization engine the
internals have been structured as one core component, the libvirt.c module
acting as a front-end for the library API and a set of hypvisor drivers
defining a common set of routines. That way the Xen Daemon accces, the Xen
Store one, the Hypervisor hypercall are all isolated in separate C modules
implementing at least a subset of the common operations defined by the
drivers present in driver.h:</p><ul><li>xend_internal: implements the driver functions though the Xen
Daemon</li>
<li>xs_internal: implements the subset of the driver availble though the
Xen Store</li>
<li>xen_internal: provide the implementation of the functions possible via
direct hypervisor access</li>
</ul><p>Note that a given driver may only implement a subset of those functions,
for example saving a domain state to disk and restoring it is only possible
though the Xen Daemon, on the other hand all interfaces allow to query the
runtime state of a given domain.</p><p></p></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="architecture.html">libvirt architecture</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="format.html">XML Format</a></li><li><a href="python.html">Binding for Python</a></li><li><a href="errors.html">Handling of errors</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

BIN
docs/background.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 B

View File

@ -1,17 +1,12 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>Reporting bugs and getting help</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>Reporting bugs and getting help</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>There is a mailing-list <a href="mailto:libvir-list@redhat.com">libvir-list@redhat.com</a> for libvir,
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Reporting bugs and getting help</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Reporting bugs and getting help</h1><p>There is a mailing-list <a href="mailto:libvir-list@redhat.com">libvir-list@redhat.com</a> for libvirt,
with an <a href="https://www.redhat.com/archives/libvir-list/">on-line
archive</a>. Please subscribe to this list before posting by visiting the <a href="https://www.redhat.com/mailman/listinfo/libvir-list">associated Web</a>
page and follow the instructions. Patches with explanations and provided as
attachments are really appreciated and will be discussed on the mailing list.
If possible generate the patches by using cvs diff -u in a CVS checkout.</p><p>We expect to use <a href="https://bugzilla.redhat.com/">Red Hat
Bugzilla</a> to track bugs for libvir, though there isn't yet a libvir
software module.</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
If possible generate the patches by using cvs diff -u in a CVS checkout.</p><p>We use Red Hat Bugzilla to track bugs to libvirt. If you want to report a
bug, please check <a href="http://bugzilla.redhat.com/bugzilla/buglist.cgi?component=libvirt&amp;component=libvirt-devel&amp;component=libvirt-python&amp;bug_status=ASSIGNED&amp;bug_status=INVESTIGATE&amp;bug_status=NEW&amp;bug_status=REOPENED&amp;bug_status=VERIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;Search=Search">the existing open bugs</a>, then if yours isn't a duplicate of
an existing bug, <a href="http://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Fedora%20Core&amp;component=libvirt">log a new bug</a>. It may be good
to post to the <a href="mailto:libvir-list@redhat.com">mailing-list</a>
too if the issue looks serious, thanks !</p></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="architecture.html">libvirt architecture</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="format.html">XML Format</a></li><li><a href="python.html">Binding for Python</a></li><li><a href="errors.html">Handling of errors</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

3
docs/devhelp/.cvsignore Normal file
View File

@ -0,0 +1,3 @@
Makefile
Makefile.in
libvirt.devhelp

27
docs/devhelp/Makefile.am Normal file
View File

@ -0,0 +1,27 @@
DEVHELP_DIR=$(datadir)/gtk-doc/html/libvirt
HTML_FILES=index.html general.html $(HTML_MODULES)
HTML_MODULES= \
libvirt-libvirt.html
EXTRA_FORMAT= \
home.png \
left.png \
right.png \
up.png \
style.css
EXTRA_DIST=devhelp.xsl html.xsl libvirt.devhelp $(HTML_FILES) $(EXTRA_FORMAT)
all: libvirt.devhelp $(HTML_FILES)
libvirt.devhelp $(HTML_FILES): devhelp.xsl html.xsl $(top_srcdir)/docs/libvirt-api.xml
-@(echo Rebuilding devhelp files)
-@(if [ -x $(XSLTPROC) ] ; then \
$(XSLTPROC) --nonet -o $(srcdir)/libvirt.devhelp devhelp.xsl $(top_srcdir)/docs/libvirt-api.xml ; fi );
install-data-local:
$(mkinstalldirs) $(DESTDIR)$(DEVHELP_DIR)
-@INSTALL@ -m 0644 libvirt.devhelp $(DESTDIR)$(DEVHELP_DIR)
-@INSTALL@ -m 0644 $(EXTRA_FORMAT) $(DESTDIR)$(DEVHELP_DIR)
-@INSTALL@ -m 0644 $(HTML_FILES) $(DESTDIR)$(DEVHELP_DIR)

127
docs/devhelp/devhelp.xsl Normal file
View File

@ -0,0 +1,127 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns="http://www.devhelp.net/book"
xmlns:exsl="http://exslt.org/common"
xmlns:str="http://exslt.org/strings"
extension-element-prefixes="exsl str"
exclude-result-prefixes="exsl str">
<!-- The stylesheet for the html pages -->
<xsl:import href="html.xsl"/>
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<!-- Build keys for all symbols -->
<xsl:key name="symbols" match="/api/symbols/*" use="@name"/>
<xsl:template match="/api">
<book title="{@name} Reference Manual" link="index.html" author="" name="{@name}">
<xsl:apply-templates select="files"/>
<xsl:apply-templates select="symbols"/>
</book>
<xsl:call-template name="generate_index"/>
<xsl:call-template name="generate_general"/>
</xsl:template>
<xsl:template match="/api/files">
<chapters>
<sub name="API" link="general.html">
<xsl:apply-templates select="file"/>
</sub>
</chapters>
</xsl:template>
<xsl:template match="/api/files/file">
<xsl:variable name="module" select="@name"/>
<xsl:variable name="prev" select="string(preceding-sibling::file[position()=1]/@name)"/>
<xsl:variable name="next" select="string(following-sibling::file[position()=1]/@name)"/>
<sub name="{@name}" link="libvirt-{@name}.html"/>
<xsl:document xmlns="" href="libvirt-{@name}.html" method="xml" indent="yes" encoding="UTF-8">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title><xsl:value-of select="concat(@name, ': ', summary)"/></title>
<meta name="generator" content="Libvirt devhelp stylesheet"/>
<link rel="start" href="index.html" title="libvirt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<xsl:if test="$prev != ''">
<td><a accesskey="p" href="libvirt-{$prev}.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"/></a></td>
</xsl:if>
<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"/></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"/></a></td>
<xsl:if test="$next != ''">
<td><a accesskey="n" href="libvirt-{$next}.html"><img src="right.png" width="24" height="24" border="0" alt="Next"/></a></td>
</xsl:if>
<th width="100%" align="center">libvirt Reference Manual</th>
</tr>
</table>
<h2><span class="refentrytitle"><xsl:value-of select="@name"/></span></h2>
<p><xsl:value-of select="@name"/> - <xsl:value-of select="summary"/></p>
<p><xsl:value-of select="description"/></p>
<xsl:if test="deprecated">
<p> WARNING: this module is deprecated !</p>
</xsl:if>
<p>Author(s): <xsl:value-of select="author"/></p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">
<xsl:apply-templates mode="synopsis" select="exports"/>
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<xsl:apply-templates mode="details" select="/api/symbols/macro[@file=$module]"/>
<xsl:apply-templates mode="details" select="/api/symbols/typedef[@file=$module] | /api/symbols/struct[@file=$module]"/>
<xsl:apply-templates mode="details" select="/api/symbols/functype[@file=$module]"/>
<xsl:apply-templates mode="details" select="/api/symbols/variable[@file=$module]"/>
<xsl:apply-templates mode="details" select="/api/symbols/function[@file=$module]"/>
</div>
</div>
</body>
</html>
</xsl:document>
</xsl:template>
<xsl:template match="/api/symbols">
<functions>
<xsl:apply-templates select="macro"/>
<xsl:apply-templates select="enum"/>
<xsl:apply-templates select="typedef"/>
<xsl:apply-templates select="struct"/>
<xsl:apply-templates select="functype"/>
<xsl:apply-templates select="variable"/>
<xsl:apply-templates select="function"/>
</functions>
</xsl:template>
<xsl:template match="/api/symbols/functype">
<function name="{@name}" link="libvirt-{@file}.html#{@name}"/>
</xsl:template>
<xsl:template match="/api/symbols/function">
<function name="{@name} ()" link="libvirt-{@file}.html#{@name}"/>
</xsl:template>
<xsl:template match="/api/symbols/typedef">
<function name="{@name}" link="libvirt-{@file}.html#{@name}"/>
</xsl:template>
<xsl:template match="/api/symbols/enum">
<function name="{@name}" link="libvirt-{@file}.html#{@name}"/>
</xsl:template>
<xsl:template match="/api/symbols/struct">
<function name="{@name}" link="libvirt-{@file}.html#{@name}"/>
</xsl:template>
<xsl:template match="/api/symbols/macro">
<function name="{@name}" link="libvirt-{@file}.html#{@name}"/>
</xsl:template>
<xsl:template match="/api/symbols/variable">
<function name="{@name}" link="libvirt-{@file}.html#{@name}"/>
</xsl:template>
</xsl:stylesheet>

38
docs/devhelp/general.html Normal file
View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>libvirt: </title>
<meta name="generator" content="Libvirt devhelp stylesheet"/>
<link rel="start" href="index.html" title="libvirt Reference Manual"/>
<link rel="up" href="index.html" title="libvirt Reference Manual"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="index.html" title="libvirt Reference Manual"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="u" href="index.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="libvirt-libvirt.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libvirt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">libvirt API Modules</span>
</h2>
<p><a href="libvirt-libvirt.html">libvirt</a> - core interfaces for the libvirt library<br/><a href="libvirt-virterror.html">virterror</a> - error handling interfaces for the libvirt library<br/></p>
</body>
</html>

BIN
docs/devhelp/home.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 654 B

579
docs/devhelp/html.xsl Normal file
View File

@ -0,0 +1,579 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:exsl="http://exslt.org/common"
xmlns:str="http://exslt.org/strings"
extension-element-prefixes="exsl str"
exclude-result-prefixes="exsl str">
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<!-- This is convoluted but needed to force the current document to
be the API one and not the result tree from the tokenize() result,
because the keys are only defined on the main document -->
<xsl:template mode="dumptoken" match='*'>
<xsl:param name="token"/>
<xsl:variable name="ref" select="key('symbols', $token)"/>
<xsl:choose>
<xsl:when test="$ref">
<a href="libvirt-{$ref/@file}.html#{$ref/@name}"><xsl:value-of select="$token"/></a>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$token"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- dumps a string, making cross-reference links -->
<xsl:template name="dumptext">
<xsl:param name="text"/>
<xsl:variable name="ctxt" select='.'/>
<!-- <xsl:value-of select="$text"/> -->
<xsl:for-each select="str:tokenize($text, ' &#9;')">
<xsl:apply-templates select="$ctxt" mode='dumptoken'>
<xsl:with-param name="token" select="string(.)"/>
</xsl:apply-templates>
<xsl:if test="position() != last()">
<xsl:text> </xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:template>
<!--
The following builds the Synopsis section
-->
<xsl:template mode="synopsis" match="function">
<xsl:variable name="name" select="string(@name)"/>
<xsl:variable name="nlen" select="string-length($name)"/>
<xsl:variable name="tlen" select="string-length(return/@type)"/>
<xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="return/@type"/>
</xsl:call-template>
<xsl:text>&#9;</xsl:text>
<a href="#{@name}"><xsl:value-of select="@name"/></a>
<xsl:if test="$blen - 40 &lt; -8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &lt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;(</xsl:text>
<xsl:if test="not(arg)">
<xsl:text>void</xsl:text>
</xsl:if>
<xsl:for-each select="arg">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@type"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text><br/>
<xsl:if test="$blen - 40 &gt; 8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &gt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:text>);</xsl:text>
<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template mode="synopsis" match="functype">
<xsl:variable name="name" select="string(@name)"/>
<xsl:variable name="nlen" select="string-length($name)"/>
<xsl:variable name="tlen" select="string-length(return/@type)"/>
<xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
<xsl:text>typedef </xsl:text>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="return/@type"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<a href="#{@name}"><xsl:value-of select="@name"/></a>
<xsl:if test="$blen - 40 &lt; -8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &lt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;(</xsl:text>
<xsl:if test="not(arg)">
<xsl:text>void</xsl:text>
</xsl:if>
<xsl:for-each select="arg">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@type"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text><br/>
<xsl:if test="$blen - 40 &gt; 8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &gt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:text>);</xsl:text>
<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template mode="synopsis" match="exports[@type='function']">
<xsl:variable name="def" select="key('symbols',@symbol)"/>
<xsl:apply-templates mode="synopsis" select="$def"/>
</xsl:template>
<xsl:template mode="synopsis" match="exports[@type='typedef']">
<xsl:text>typedef </xsl:text>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="string(key('symbols',@symbol)/@type)"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<a href="#{@symbol}"><xsl:value-of select="@symbol"/></a>
<xsl:text>;
</xsl:text>
</xsl:template>
<xsl:template mode="synopsis" match="exports[@type='macro']">
<xsl:variable name="def" select="key('symbols',@symbol)"/>
<xsl:text>#define </xsl:text>
<a href="#{@symbol}"><xsl:value-of select="@symbol"/></a>
<xsl:if test="$def/arg">
<xsl:text>(</xsl:text>
<xsl:for-each select="$def/arg">
<xsl:value-of select="@name"/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:text>)</xsl:text>
</xsl:if>
<xsl:text>;
</xsl:text>
</xsl:template>
<xsl:template mode="synopsis" match="exports[@type='enum']">
</xsl:template>
<xsl:template mode="synopsis" match="exports[@type='struct']">
</xsl:template>
<!--
The following builds the Details section
-->
<xsl:template mode="details" match="struct">
<xsl:variable name="name" select="string(@name)"/>
<div class="refsect2" lang="en">
<h3><a name="{$name}">Structure </a><xsl:value-of select="$name"/></h3>
<pre class="programlisting">
<xsl:value-of select="@type"/><xsl:text> {
</xsl:text>
<xsl:if test="not(field)">
<xsl:text>The content of this structure is not made public by the API.
</xsl:text>
</xsl:if>
<xsl:for-each select="field">
<xsl:text> </xsl:text>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@type"/>
</xsl:call-template>
<xsl:text>&#9;</xsl:text>
<xsl:value-of select="@name"/>
<xsl:if test="@info != ''">
<xsl:text>&#9;: </xsl:text>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="substring(@info, 1, 70)"/>
</xsl:call-template>
</xsl:if>
<xsl:text>
</xsl:text>
</xsl:for-each>
<xsl:text>} </xsl:text>
<xsl:value-of select="$name"/>
<xsl:text>;
</xsl:text>
</pre>
<p>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="info"/>
</xsl:call-template>
</p><xsl:text>
</xsl:text>
</div><hr/>
</xsl:template>
<xsl:template mode="details" match="typedef[@type != 'enum']">
<xsl:variable name="name" select="string(@name)"/>
<div class="refsect2" lang="en">
<h3><a name="{$name}">Typedef </a><xsl:value-of select="$name"/></h3>
<pre class="programlisting">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="string(@type)"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="$name"/>
<xsl:text>;
</xsl:text>
</pre>
<p>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="info"/>
</xsl:call-template>
</p><xsl:text>
</xsl:text>
</div><hr/>
</xsl:template>
<xsl:template mode="details" match="variable">
<xsl:variable name="name" select="string(@name)"/>
<div class="refsect2" lang="en">
<h3><a name="{$name}">Variable </a><xsl:value-of select="$name"/></h3>
<pre class="programlisting">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="string(@type)"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="$name"/>
<xsl:text>;
</xsl:text>
</pre>
<p>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="info"/>
</xsl:call-template>
</p><xsl:text>
</xsl:text>
</div><hr/>
</xsl:template>
<xsl:template mode="details" match="typedef[@type = 'enum']">
<xsl:variable name="name" select="string(@name)"/>
<div class="refsect2" lang="en">
<h3><a name="{$name}">Enum </a><xsl:value-of select="$name"/></h3>
<pre class="programlisting">
<xsl:text>enum </xsl:text>
<a href="#{$name}"><xsl:value-of select="$name"/></a>
<xsl:text> {
</xsl:text>
<xsl:for-each select="/api/symbols/enum[@type=$name]">
<xsl:sort select="@value" data-type="number" order="ascending"/>
<xsl:text> </xsl:text>
<a name="{@name}"><xsl:value-of select="@name"/></a>
<xsl:if test="@value">
<xsl:text> = </xsl:text>
<xsl:value-of select="@value"/>
</xsl:if>
<xsl:if test="@info">
<xsl:text> /* </xsl:text>
<xsl:value-of select="@info"/>
<xsl:text> */</xsl:text>
</xsl:if>
<xsl:text>
</xsl:text>
</xsl:for-each>
<xsl:text>};
</xsl:text>
</pre>
<p>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="info"/>
</xsl:call-template>
</p><xsl:text>
</xsl:text>
</div><hr/>
</xsl:template>
<xsl:template mode="details" match="macro">
<xsl:variable name="name" select="string(@name)"/>
<div class="refsect2" lang="en">
<h3><a name="{$name}">Macro </a><xsl:value-of select="$name"/></h3>
<pre class="programlisting">
<xsl:text>#define </xsl:text>
<a href="#{$name}"><xsl:value-of select="$name"/></a>
<xsl:if test="arg">
<xsl:text>(</xsl:text>
<xsl:for-each select="arg">
<xsl:value-of select="@name"/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:text>)</xsl:text>
</xsl:if>
<xsl:text>;
</xsl:text>
</pre>
<p>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="info"/>
</xsl:call-template>
</p>
<xsl:if test="arg">
<div class="variablelist"><table border="0"><col align="left"/><tbody>
<xsl:for-each select="arg">
<tr>
<td><span class="term"><i><tt><xsl:value-of select="@name"/></tt></i>:</span></td>
<td>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@info"/>
</xsl:call-template>
</td>
</tr>
</xsl:for-each>
</tbody></table></div>
</xsl:if>
<xsl:text>
</xsl:text>
</div><hr/>
</xsl:template>
<xsl:template mode="details" match="function">
<xsl:variable name="name" select="string(@name)"/>
<xsl:variable name="nlen" select="string-length($name)"/>
<xsl:variable name="tlen" select="string-length(return/@type)"/>
<xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
<div class="refsect2" lang="en">
<h3><a name="{$name}"></a><xsl:value-of select="$name"/> ()</h3>
<pre class="programlisting">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="return/@type"/>
</xsl:call-template>
<xsl:text>&#9;</xsl:text>
<xsl:value-of select="@name"/>
<xsl:if test="$blen - 40 &lt; -8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &lt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;(</xsl:text>
<xsl:if test="not(arg)">
<xsl:text>void</xsl:text>
</xsl:if>
<xsl:for-each select="arg">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@type"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text><br/>
<xsl:if test="$blen - 40 &gt; 8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &gt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:text>)</xsl:text><br/>
<xsl:text>
</xsl:text>
</pre>
<p>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="info"/>
</xsl:call-template>
</p><xsl:text>
</xsl:text>
<xsl:if test="arg | return/@info">
<div class="variablelist"><table border="0"><col align="left"/><tbody>
<xsl:for-each select="arg">
<tr>
<td><span class="term"><i><tt><xsl:value-of select="@name"/></tt></i>:</span></td>
<td>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@info"/>
</xsl:call-template>
</td>
</tr>
</xsl:for-each>
<xsl:if test="return/@info">
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="return/@info"/>
</xsl:call-template>
</td>
</tr>
</xsl:if>
</tbody></table></div>
</xsl:if>
</div><hr/>
</xsl:template>
<xsl:template mode="details" match="functype">
<xsl:variable name="name" select="string(@name)"/>
<xsl:variable name="nlen" select="string-length($name)"/>
<xsl:variable name="tlen" select="string-length(return/@type)"/>
<xsl:variable name="blen" select="(($nlen + 8) - (($nlen + 8) mod 8)) + (($tlen + 8) - (($tlen + 8) mod 8))"/>
<div class="refsect2" lang="en">
<h3><a name="{$name}"></a>Function type <xsl:value-of select="$name"/> </h3>
<pre class="programlisting">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="return/@type"/>
</xsl:call-template>
<xsl:text>&#9;</xsl:text>
<xsl:value-of select="@name"/>
<xsl:if test="$blen - 40 &lt; -8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &lt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;(</xsl:text>
<xsl:if test="not(arg)">
<xsl:text>void</xsl:text>
</xsl:if>
<xsl:for-each select="arg">
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@type"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text><br/>
<xsl:if test="$blen - 40 &gt; 8">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:if test="$blen - 40 &gt; 0">
<xsl:text>&#9;</xsl:text>
</xsl:if>
<xsl:text>&#9;&#9;&#9;&#9;&#9; </xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:text>)</xsl:text><br/>
<xsl:text>
</xsl:text>
</pre>
<p>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="info"/>
</xsl:call-template>
</p><xsl:text>
</xsl:text>
<xsl:if test="arg | return/@info">
<div class="variablelist"><table border="0"><col align="left"/><tbody>
<xsl:for-each select="arg">
<tr>
<td><span class="term"><i><tt><xsl:value-of select="@name"/></tt></i>:</span></td>
<td>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="@info"/>
</xsl:call-template>
</td>
</tr>
</xsl:for-each>
<xsl:if test="return/@info">
<tr>
<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
<td>
<xsl:call-template name="dumptext">
<xsl:with-param name="text" select="return/@info"/>
</xsl:call-template>
</td>
</tr>
</xsl:if>
</tbody></table></div>
</xsl:if>
</div><hr/>
</xsl:template>
<!--
The following builds the general.html page
-->
<xsl:template name="generate_general">
<xsl:variable name="next" select="string(/api/files/file[position()=1]/@name)"/>
<xsl:document xmlns="" href="general.html" method="xml" indent="yes" encoding="UTF-8">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title><xsl:value-of select="concat(@name, ': ', summary)"/></title>
<meta name="generator" content="Libvirt devhelp stylesheet"/>
<link rel="start" href="index.html" title="libvirt Reference Manual"/>
<link rel="up" href="index.html" title="libvirt Reference Manual"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="index.html" title="libvirt Reference Manual"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up"/></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"/></a></td>
<xsl:if test="$next != ''">
<td><a accesskey="n" href="libvirt-{$next}.html"><img src="right.png" width="24" height="24" border="0" alt="Next"/></a></td>
</xsl:if>
<th width="100%" align="center">libvirt Reference Manual</th>
</tr>
</table>
<h2><span class="refentrytitle">libvirt API Modules</span></h2>
<p>
<xsl:for-each select="/api/files/file">
<a href="libvirt-{@name}.html"><xsl:value-of select="@name"/></a> - <xsl:value-of select="summary"/><br/>
</xsl:for-each>
</p>
</body>
</html>
</xsl:document>
</xsl:template>
<!--
The following builds the index.html page
-->
<xsl:template name="generate_index">
<xsl:document xmlns="" href="index.html" method="xml" indent="yes" encoding="UTF-8">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>libvirt Reference Manual</title>
<meta name="generator" content="Libvirt devhelp stylesheet"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"/></a></td>
<td><a accesskey="n" href="general.html"><img src="right.png" width="24" height="24" border="0" alt="Next"/></a></td>
<th width="100%" align="center">libvirt Reference Manual</th>
</tr>
</table>
<h2><span class="refentrytitle">libvirt Reference Manual</span></h2>
<p>Libvir is a C toolkit to interract with the virtualization capabilities of
recent versions of Linux (and other OSes). It is free software available
under the <a href="http://www.opensource.org/licenses/lgpl-license.html">GNU
Lesser General Public License</a>. Virtualization of the Linux Operating
System means the ability to run multiple instances of Operating Systems
concurently on a single hardware system where the basic resources are driven
by a Linux instance. The library aim at providing long term stable C API
initially for the <a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen
paravirtualization</a> but should be able to integrate other virtualization
mechanisms if needed.</p>
<p> If you get lost searching for some specific API use, try
<a href="http://libvirt.org/search.php">the online search
engine</a> hosted on <a href="http://libvirt.org/">libvirt.org</a>
it indexes the project page, the APIs as well as the mailing-list archives. </p>
</body>
</html>
</xsl:document>
</xsl:template>
</xsl:stylesheet>

43
docs/devhelp/index.html Normal file
View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>libvirt Reference Manual</title>
<meta name="generator" content="Libvirt devhelp stylesheet"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="general.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libvirt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">libvirt Reference Manual</span>
</h2>
<p>Libvir is a C toolkit to interract with the virtualization capabilities of
recent versions of Linux (and other OSes). It is free software available
under the <a href="http://www.opensource.org/licenses/lgpl-license.html">GNU
Lesser General Public License</a>. Virtualization of the Linux Operating
System means the ability to run multiple instances of Operating Systems
concurently on a single hardware system where the basic resources are driven
by a Linux instance. The library aim at providing long term stable C API
initially for the <a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen
paravirtualization</a> but should be able to integrate other virtualization
mechanisms if needed.</p>
<p> If you get lost searching for some specific API use, try
<a href="http://libvirt.org/search.php">the online search
engine</a> hosted on <a href="http://libvirt.org/">libvirt.org</a>
it indexes the project page, the APIs as well as the mailing-list archives. </p>
</body>
</html>

BIN
docs/devhelp/left.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 B

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>conf: </title>
<meta name="generator" content="Libvirt devhelp stylesheet"/>
<link rel="start" href="index.html" title="libvirt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="p" href="libvirt-virterror.html">
<img src="left.png" width="24" height="24" border="0" alt="Prev"/>
</a>
</td>
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<th width="100%" align="center">libvirt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">conf</span>
</h2>
<p>conf - </p>
<p></p>
<p>Author(s): </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef <a href="libvirt-conf.html#virConfValue">virConfValue</a> * <a href="#virConfValuePtr">virConfValuePtr</a>;
typedef enum <a href="#virConfType">virConfType</a>;
typedef struct _virConfValue <a href="#virConfValue">virConfValue</a>;
typedef struct _virConf <a href="#virConf">virConf</a>;
typedef <a href="libvirt-conf.html#virConf">virConf</a> * <a href="#virConfPtr">virConfPtr</a>;
int <a href="#virConfWriteFile">virConfWriteFile</a> (const char * filename, <br/> <a href="libvirt-conf.html#virConfPtr">virConfPtr</a> conf);
<a href="libvirt-conf.html#virConfValuePtr">virConfValuePtr</a> <a href="#virConfGetValue">virConfGetValue</a> (<a href="libvirt-conf.html#virConfPtr">virConfPtr</a> conf, <br/> const char * setting);
<a href="libvirt-conf.html#virConfPtr">virConfPtr</a> <a href="#virConfReadMem">virConfReadMem</a> (const char * memory, <br/> int len);
int <a href="#virConfFree">virConfFree</a> (<a href="libvirt-conf.html#virConfPtr">virConfPtr</a> conf);
<a href="libvirt-conf.html#virConfPtr">virConfPtr</a> <a href="#virConfReadFile">virConfReadFile</a> (const char * filename);
int <a href="#virConfWriteMem">virConfWriteMem</a> (char * memory, <br/> int * len, <br/> <a href="libvirt-conf.html#virConfPtr">virConfPtr</a> conf);
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="virConf">Structure </a>virConf</h3><pre class="programlisting">struct _virConf {
The content of this structure is not made public by the API.
} virConf;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConfPtr">Typedef </a>virConfPtr</h3><pre class="programlisting"><a href="libvirt-conf.html#virConf">virConf</a> * virConfPtr;
</pre><p>a pointer to a parsed configuration file</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConfType">Enum </a>virConfType</h3><pre class="programlisting">enum <a href="#virConfType">virConfType</a> {
<a name="VIR_CONF_NONE">VIR_CONF_NONE</a> = 0 /* undefined */
<a name="VIR_CONF_LONG">VIR_CONF_LONG</a> = 1 /* a long int */
<a name="VIR_CONF_STRING">VIR_CONF_STRING</a> = 2 /* a string */
<a name="VIR_CONF_LIST">VIR_CONF_LIST</a> = 3 /* a list */
};
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConfValue">Structure </a>virConfValue</h3><pre class="programlisting">struct _virConfValue {
<a href="libvirt-conf.html#virConfType">virConfType</a> type : the <a href="libvirt-conf.html#virConfType">virConfType</a>
<a href="libvirt-conf.html#virConfValuePtr">virConfValuePtr</a> next : next element if in a list
long l : long integer
char * str : pointer to 0 terminated string
<a href="libvirt-conf.html#virConfValuePtr">virConfValuePtr</a> list : list of a list
} virConfValue;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConfValuePtr">Typedef </a>virConfValuePtr</h3><pre class="programlisting"><a href="libvirt-conf.html#virConfValue">virConfValue</a> * virConfValuePtr;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConfFree"/>virConfFree ()</h3><pre class="programlisting">int virConfFree (<a href="libvirt-conf.html#virConfPtr">virConfPtr</a> conf)<br/>
</pre><p>Frees all data associated to the handle</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>conf</tt></i>:</span></td><td>a configuration file handle</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="virConfGetValue"/>virConfGetValue ()</h3><pre class="programlisting"><a href="libvirt-conf.html#virConfValuePtr">virConfValuePtr</a> virConfGetValue (<a href="libvirt-conf.html#virConfPtr">virConfPtr</a> conf, <br/> const char * setting)<br/>
</pre><p>Lookup the value associated to this entry in the configuration file</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>conf</tt></i>:</span></td><td>a configuration file handle</td></tr><tr><td><span class="term"><i><tt>setting</tt></i>:</span></td><td/></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the value or NULL if the lookup failed, the data associated will be freed when virConfFree() is called</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConfReadFile"/>virConfReadFile ()</h3><pre class="programlisting"><a href="libvirt-conf.html#virConfPtr">virConfPtr</a> virConfReadFile (const char * filename)<br/>
</pre><p>Reads a configuration file.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the path to the configuration file.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an handle to lookup settings or NULL if it failed to read or parse the file, use virConfFree() to free the data.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConfReadMem"/>virConfReadMem ()</h3><pre class="programlisting"><a href="libvirt-conf.html#virConfPtr">virConfPtr</a> virConfReadMem (const char * memory, <br/> int len)<br/>
</pre><p>Reads a configuration file loaded in memory. The string can be zero terminated in which case @len can be 0</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>memory</tt></i>:</span></td><td>pointer to the content of the configuration file</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>lenght in byte</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an handle to lookup settings or NULL if it failed to parse the content, use virConfFree() to free the data.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConfWriteFile"/>virConfWriteFile ()</h3><pre class="programlisting">int virConfWriteFile (const char * filename, <br/> <a href="libvirt-conf.html#virConfPtr">virConfPtr</a> conf)<br/>
</pre><p>Writes a configuration file back to a file.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the path to the configuration file.</td></tr><tr><td><span class="term"><i><tt>conf</tt></i>:</span></td><td>the conf</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConfWriteMem"/>virConfWriteMem ()</h3><pre class="programlisting">int virConfWriteMem (char * memory, <br/> int * len, <br/> <a href="libvirt-conf.html#virConfPtr">virConfPtr</a> conf)<br/>
</pre><p>Writes a configuration file back to a memory area. @len is an IN/OUT parameter, it indicates the size available in bytes, and on output the size required for the configuration file (even if the call fails due to insufficient space).</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>memory</tt></i>:</span></td><td>pointer to the memory to store the config file</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>pointer to the lenght in byte of the store, on output the size</td></tr><tr><td><span class="term"><i><tt>conf</tt></i>:</span></td><td>the conf</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of error.</td></tr></tbody></table></div></div>
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,450 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>libvirt: core interfaces for the libvirt library</title>
<meta name="generator" content="Libvirt devhelp stylesheet"/>
<link rel="start" href="index.html" title="libvirt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<td>
<a accesskey="n" href="libvirt-virterror.html">
<img src="right.png" width="24" height="24" border="0" alt="Next"/>
</a>
</td>
<th width="100%" align="center">libvirt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">libvirt</span>
</h2>
<p>libvirt - core interfaces for the libvirt library</p>
<p>Provides the interfaces of the libvirt library to handle Xen domains from a process running in domain 0 </p>
<p>Author(s): Daniel Veillard &lt;veillard@redhat.com&gt; </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">#define <a href="#VIR_NODEINFO_MAXCPUS">VIR_NODEINFO_MAXCPUS</a>(nodeinfo);
#define <a href="#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a>;
#define <a href="#VIR_USE_CPU">VIR_USE_CPU</a>(cpumap, cpu);
#define <a href="#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a>(cpu);
#define <a href="#VIR_CPU_USABLE">VIR_CPU_USABLE</a>(cpumaps, maplen, vcpu, cpu);
#define <a href="#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a>(cpumaps, maplen, vcpu, cpumap);
#define <a href="#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a>(cpumaps, maplen, vcpu);
#define <a href="#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a>(cpumap, cpu);
typedef <a href="libvirt-libvirt.html#virNodeInfo">virNodeInfo</a> * <a href="#virNodeInfoPtr">virNodeInfoPtr</a>;
typedef <a href="libvirt-libvirt.html#virDomainInfo">virDomainInfo</a> * <a href="#virDomainInfoPtr">virDomainInfoPtr</a>;
typedef <a href="libvirt-libvirt.html#virDomainKernel">virDomainKernel</a> * <a href="#virDomainKernelPtr">virDomainKernelPtr</a>;
typedef <a href="libvirt-libvirt.html#virConnect">virConnect</a> * <a href="#virConnectPtr">virConnectPtr</a>;
typedef struct _virDomainKernel <a href="#virDomainKernel">virDomainKernel</a>;
typedef struct _virNodeInfo <a href="#virNodeInfo">virNodeInfo</a>;
typedef enum <a href="#virDomainState">virDomainState</a>;
typedef enum <a href="#virDeviceMode">virDeviceMode</a>;
typedef struct _virDomain <a href="#virDomain">virDomain</a>;
typedef <a href="libvirt-libvirt.html#virDomain">virDomain</a> * <a href="#virDomainPtr">virDomainPtr</a>;
typedef struct _virVcpuInfo <a href="#virVcpuInfo">virVcpuInfo</a>;
typedef <a href="libvirt-libvirt.html#virVcpuInfo">virVcpuInfo</a> * <a href="#virVcpuInfoPtr">virVcpuInfoPtr</a>;
typedef enum <a href="#virDomainRestart">virDomainRestart</a>;
typedef struct _virConnect <a href="#virConnect">virConnect</a>;
typedef enum <a href="#virDomainCreateFlags">virDomainCreateFlags</a>;
typedef struct _virDomainInfo <a href="#virDomainInfo">virDomainInfo</a>;
typedef enum <a href="#virVcpuState">virVcpuState</a>;
int <a href="#virDomainGetInfo">virDomainGetInfo</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> <a href="libvirt-libvirt.html#virDomainInfoPtr">virDomainInfoPtr</a> info);
int <a href="#virDomainUndefine">virDomainUndefine</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain);
<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> <a href="#virDomainDefineXML">virDomainDefineXML</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> const char * xml);
int <a href="#virDomainShutdown">virDomainShutdown</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain);
int <a href="#virGetVersion">virGetVersion</a> (unsigned long * libVer, <br/> const char * type, <br/> unsigned long * typeVer);
int <a href="#virConnectListDefinedDomains">virConnectListDefinedDomains</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> const char ** names, <br/> int maxnames);
<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> <a href="#virDomainLookupByName">virDomainLookupByName</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> const char * name);
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="#virDomainRestore">virDomainRestore</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> const char * from);
const char * <a href="#virConnectGetType">virConnectGetType</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn);
int <a href="#virDomainSave">virDomainSave</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> const char * to);
int <a href="#virDomainCreate">virDomainCreate</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain);
int <a href="#virConnectListDomains">virConnectListDomains</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> int * ids, <br/> int maxids);
int <a href="#virDomainCoreDump">virDomainCoreDump</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> const char * to, <br/> int flags);
<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> <a href="#virDomainLookupByUUID">virDomainLookupByUUID</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> const unsigned char * uuid);
<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> <a href="#virDomainLookupByUUIDString">virDomainLookupByUUIDString</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> const char * uuidstr);
<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> <a href="#virDomainLookupByID">virDomainLookupByID</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> int id);
char * <a href="#virDomainGetOSType">virDomainGetOSType</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain);
int <a href="#virNodeGetInfo">virNodeGetInfo</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> <a href="libvirt-libvirt.html#virNodeInfoPtr">virNodeInfoPtr</a> info);
int <a href="#virDomainGetUUID">virDomainGetUUID</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> unsigned char * uuid);
int <a href="#virConnectNumOfDomains">virConnectNumOfDomains</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn);
int <a href="#virDomainGetUUIDString">virDomainGetUUIDString</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> char * buf);
unsigned long <a href="#virDomainGetMaxMemory">virDomainGetMaxMemory</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain);
int <a href="#virDomainAttachDevice">virDomainAttachDevice</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> char * xml);
int <a href="#virDomainSetMaxMemory">virDomainSetMaxMemory</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> unsigned long memory);
int <a href="#virDomainFree">virDomainFree</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain);
<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> <a href="#virConnectOpen">virConnectOpen</a> (const char * name);
int <a href="#virDomainSuspend">virDomainSuspend</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain);
int <a href="#virConnectNumOfDefinedDomains">virConnectNumOfDefinedDomains</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn);
int <a href="#virConnectClose">virConnectClose</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn);
int <a href="#virDomainReboot">virDomainReboot</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> unsigned int flags);
int <a href="#virInitialize">virInitialize</a> (void);
int <a href="#virDomainSetVcpus">virDomainSetVcpus</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> unsigned int nvcpus);
unsigned int <a href="#virDomainGetID">virDomainGetID</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain);
int <a href="#virDomainResume">virDomainResume</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain);
<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> <a href="#virDomainCreateLinux">virDomainCreateLinux</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> const char * xmlDesc, <br/> unsigned int flags);
int <a href="#virDomainSetMemory">virDomainSetMemory</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> unsigned long memory);
int <a href="#virDomainDestroy">virDomainDestroy</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain);
int <a href="#virDomainDetachDevice">virDomainDetachDevice</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> char * xml);
int <a href="#virDomainGetVcpus">virDomainGetVcpus</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> <a href="libvirt-libvirt.html#virVcpuInfoPtr">virVcpuInfoPtr</a> info, <br/> int maxinfo, <br/> unsigned char * cpumaps, <br/> int maplen);
char * <a href="#virDomainGetXMLDesc">virDomainGetXMLDesc</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> int flags);
int <a href="#virConnectGetVersion">virConnectGetVersion</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> unsigned long * hvVer);
const char * <a href="#virDomainGetName">virDomainGetName</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain);
<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> <a href="#virConnectOpenReadOnly">virConnectOpenReadOnly</a> (const char * name);
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="LIBVIR_VERSION_NUMBER">Macro </a>LIBVIR_VERSION_NUMBER</h3><pre class="programlisting">#define <a href="#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a>;
</pre><p>Macro providing the version of the library as version * 1,000,000 + minor * 1000 + micro</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="VIR_COPY_CPUMAP">Macro </a>VIR_COPY_CPUMAP</h3><pre class="programlisting">#define <a href="#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a>(cpumaps, maplen, vcpu, cpumap);
</pre><p>This macro is to be used in conjonction with virDomainGetVcpus() and virDomainPinVcpu() APIs. <a href="libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a> macro extract the cpumap of the specified vcpu from cpumaps array and copy it into cpumap to be used later by virDomainPinVcpu() API.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cpumaps</tt></i>:</span></td><td>pointer to an array of cpumap (in 8-bit bytes) (IN)</td></tr><tr><td><span class="term"><i><tt>maplen</tt></i>:</span></td><td>the length (in bytes) of one cpumap</td></tr><tr><td><span class="term"><i><tt>vcpu</tt></i>:</span></td><td>the virtual CPU number</td></tr><tr><td><span class="term"><i><tt>cpumap</tt></i>:</span></td><td>pointer to a cpumap (in 8-bit bytes) (OUT) This cpumap must be previously allocated by the caller (ie: malloc(maplen))</td></tr></tbody></table></div>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="VIR_CPU_MAPLEN">Macro </a>VIR_CPU_MAPLEN</h3><pre class="programlisting">#define <a href="#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a>(cpu);
</pre><p>This macro is to be used in conjonction with virDomainPinVcpu() API. It returns the length (in bytes) required to store the complete CPU map between a single virtual &amp; all physical CPUs of a domain.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cpu</tt></i>:</span></td><td>number of physical CPUs</td></tr></tbody></table></div>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="VIR_CPU_USABLE">Macro </a>VIR_CPU_USABLE</h3><pre class="programlisting">#define <a href="#VIR_CPU_USABLE">VIR_CPU_USABLE</a>(cpumaps, maplen, vcpu, cpu);
</pre><p>This macro is to be used in conjonction with virDomainGetVcpus() API. <a href="libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a> macro returns a non zero value (true) if the cpu is usable by the vcpu, and 0 otherwise.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cpumaps</tt></i>:</span></td><td>pointer to an array of cpumap (in 8-bit bytes) (IN)</td></tr><tr><td><span class="term"><i><tt>maplen</tt></i>:</span></td><td>the length (in bytes) of one cpumap</td></tr><tr><td><span class="term"><i><tt>vcpu</tt></i>:</span></td><td>the virtual CPU number</td></tr><tr><td><span class="term"><i><tt>cpu</tt></i>:</span></td><td>the physical CPU number</td></tr></tbody></table></div>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="VIR_GET_CPUMAP">Macro </a>VIR_GET_CPUMAP</h3><pre class="programlisting">#define <a href="#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a>(cpumaps, maplen, vcpu);
</pre><p>This macro is to be used in conjonction with virDomainGetVcpus() and virDomainPinVcpu() APIs. <a href="libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a> macro returns a pointer to the cpumap of the specified vcpu from cpumaps array.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cpumaps</tt></i>:</span></td><td>pointer to an array of cpumap (in 8-bit bytes) (IN)</td></tr><tr><td><span class="term"><i><tt>maplen</tt></i>:</span></td><td>the length (in bytes) of one cpumap</td></tr><tr><td><span class="term"><i><tt>vcpu</tt></i>:</span></td><td>the virtual CPU number</td></tr></tbody></table></div>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="VIR_NODEINFO_MAXCPUS">Macro </a>VIR_NODEINFO_MAXCPUS</h3><pre class="programlisting">#define <a href="#VIR_NODEINFO_MAXCPUS">VIR_NODEINFO_MAXCPUS</a>(nodeinfo);
</pre><p>This macro is to calculate the total number of CPUs supported but not neccessarily active in the host.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>nodeinfo</tt></i>:</span></td><td><a href="libvirt-libvirt.html#virNodeInfo">virNodeInfo</a> instance</td></tr></tbody></table></div>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="VIR_UNUSE_CPU">Macro </a>VIR_UNUSE_CPU</h3><pre class="programlisting">#define <a href="#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a>(cpumap, cpu);
</pre><p>This macro is to be used in conjonction with virDomainPinVcpu() API. USE_CPU macro reset the bit (CPU not usable) of the related cpu in cpumap.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><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/OUT)</td></tr><tr><td><span class="term"><i><tt>cpu</tt></i>:</span></td><td>the physical CPU number</td></tr></tbody></table></div>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="VIR_USE_CPU">Macro </a>VIR_USE_CPU</h3><pre class="programlisting">#define <a href="#VIR_USE_CPU">VIR_USE_CPU</a>(cpumap, cpu);
</pre><p>This macro is to be used in conjonction with virDomainPinVcpu() API. USE_CPU macro set the bit (CPU usable) of the related cpu in cpumap.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><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/OUT)</td></tr><tr><td><span class="term"><i><tt>cpu</tt></i>:</span></td><td>the physical CPU number</td></tr></tbody></table></div>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConnect">Structure </a>virConnect</h3><pre class="programlisting">struct _virConnect {
The content of this structure is not made public by the API.
} virConnect;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConnectPtr">Typedef </a>virConnectPtr</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virConnect">virConnect</a> * virConnectPtr;
</pre><p>a <a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> is pointer to a <a href="libvirt-libvirt.html#virConnect">virConnect</a> private structure, this is the type used to reference a connection to the Xen Hypervisor in the API.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDeviceMode">Enum </a>virDeviceMode</h3><pre class="programlisting">enum <a href="#virDeviceMode">virDeviceMode</a> {
<a name="VIR_DEVICE_DEFAULT">VIR_DEVICE_DEFAULT</a> = 0 /* Default mode */
<a name="VIR_DEVICE_RO">VIR_DEVICE_RO</a> = 1 /* Access read-only */
<a name="VIR_DEVICE_RW">VIR_DEVICE_RW</a> = 2 /* Access read-write */
<a name="VIR_DEVICE_RW_FORCE">VIR_DEVICE_RW_FORCE</a> = 3 /* Forced read-write even if already used */
};
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomain">Structure </a>virDomain</h3><pre class="programlisting">struct _virDomain {
The content of this structure is not made public by the API.
} virDomain;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainCreateFlags">Enum </a>virDomainCreateFlags</h3><pre class="programlisting">enum <a href="#virDomainCreateFlags">virDomainCreateFlags</a> {
<a name="VIR_DOMAIN_NONE">VIR_DOMAIN_NONE</a> = 0
};
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainInfo">Structure </a>virDomainInfo</h3><pre class="programlisting">struct _virDomainInfo {
unsigned char state : the running state, one of virDomainFlags
unsigned long maxMem : the maximum memory in KBytes allowed
unsigned long memory : the memory in KBytes used by the domain
unsigned short nrVirtCpu : the number of virtual CPUs for the domain
unsigned long long cpuTime : the CPU time used in nanoseconds
} virDomainInfo;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainInfoPtr">Typedef </a>virDomainInfoPtr</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virDomainInfo">virDomainInfo</a> * virDomainInfoPtr;
</pre><p>a <a href="libvirt-libvirt.html#virDomainInfoPtr">virDomainInfoPtr</a> is a pointer to a <a href="libvirt-libvirt.html#virDomainInfo">virDomainInfo</a> structure.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainKernel">Structure </a>virDomainKernel</h3><pre class="programlisting">struct _virDomainKernel {
const char * kernel : filename pointing to the kernel image
const char * ramdisk : an optional init ramdisk
const char * root : an optional root block device
const char * extra : optional kernel command line parameters
} virDomainKernel;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainKernelPtr">Typedef </a>virDomainKernelPtr</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virDomainKernel">virDomainKernel</a> * virDomainKernelPtr;
</pre><p>a <a href="libvirt-libvirt.html#virDomainKernelPtr">virDomainKernelPtr</a> is a pointer to a <a href="libvirt-libvirt.html#virDomainKernel">virDomainKernel</a> structure.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainPtr">Typedef </a>virDomainPtr</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virDomain">virDomain</a> * virDomainPtr;
</pre><p>a <a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> is pointer to a <a href="libvirt-libvirt.html#virDomain">virDomain</a> private structure, this is the type used to reference a Xen domain in the API.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainRestart">Enum </a>virDomainRestart</h3><pre class="programlisting">enum <a href="#virDomainRestart">virDomainRestart</a> {
<a name="VIR_DOMAIN_DESTROY">VIR_DOMAIN_DESTROY</a> = 1 /* destroy the domain */
<a name="VIR_DOMAIN_RESTART">VIR_DOMAIN_RESTART</a> = 2 /* restart the domain */
<a name="VIR_DOMAIN_PRESERVE">VIR_DOMAIN_PRESERVE</a> = 3 /* keep as is, need manual destroy, for debug */
<a name="VIR_DOMAIN_RENAME_RESTART">VIR_DOMAIN_RENAME_RESTART</a> = 4 /* restart under an new unique name */
};
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainState">Enum </a>virDomainState</h3><pre class="programlisting">enum <a href="#virDomainState">virDomainState</a> {
<a name="VIR_DOMAIN_NOSTATE">VIR_DOMAIN_NOSTATE</a> = 0 /* no state */
<a name="VIR_DOMAIN_RUNNING">VIR_DOMAIN_RUNNING</a> = 1 /* the domain is running */
<a name="VIR_DOMAIN_BLOCKED">VIR_DOMAIN_BLOCKED</a> = 2 /* the domain is blocked on resource */
<a name="VIR_DOMAIN_PAUSED">VIR_DOMAIN_PAUSED</a> = 3 /* the domain is paused by user */
<a name="VIR_DOMAIN_SHUTDOWN">VIR_DOMAIN_SHUTDOWN</a> = 4 /* the domain is being shut down */
<a name="VIR_DOMAIN_SHUTOFF">VIR_DOMAIN_SHUTOFF</a> = 5 /* the domain is shut off */
<a name="VIR_DOMAIN_CRASHED">VIR_DOMAIN_CRASHED</a> = 6 /* the domain is crashed */
};
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virNodeInfo">Structure </a>virNodeInfo</h3><pre class="programlisting">struct _virNodeInfo {
charmodel[32] model : string indicating the CPU model
unsigned long memory : memory size in kilobytes
unsigned int cpus : the number of active CPUs
unsigned int mhz : expected CPU frequency
unsigned int nodes : the number of NUMA cell, 1 for uniform mem access
unsigned int sockets : number of CPU socket per node
unsigned int cores : number of core per socket
unsigned int threads : number of threads per core
} virNodeInfo;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virNodeInfoPtr">Typedef </a>virNodeInfoPtr</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virNodeInfo">virNodeInfo</a> * virNodeInfoPtr;
</pre><p>a <a href="libvirt-libvirt.html#virNodeInfoPtr">virNodeInfoPtr</a> is a pointer to a <a href="libvirt-libvirt.html#virNodeInfo">virNodeInfo</a> structure.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virVcpuInfo">Structure </a>virVcpuInfo</h3><pre class="programlisting">struct _virVcpuInfo {
unsigned int number : virtual CPU number
int state : value from <a href="libvirt-libvirt.html#virVcpuState">virVcpuState</a>
unsigned long long cpuTime : CPU time used, in nanoseconds
int cpu : real CPU number, or -1 if offline
} virVcpuInfo;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virVcpuInfoPtr">Typedef </a>virVcpuInfoPtr</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virVcpuInfo">virVcpuInfo</a> * virVcpuInfoPtr;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virVcpuState">Enum </a>virVcpuState</h3><pre class="programlisting">enum <a href="#virVcpuState">virVcpuState</a> {
<a name="VIR_VCPU_OFFLINE">VIR_VCPU_OFFLINE</a> = 0 /* the virtual CPU is offline */
<a name="VIR_VCPU_RUNNING">VIR_VCPU_RUNNING</a> = 1 /* the virtual CPU is running */
<a name="VIR_VCPU_BLOCKED">VIR_VCPU_BLOCKED</a> = 2 /* the virtual CPU is blocked on resource */
};
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConnectClose"/>virConnectClose ()</h3><pre class="programlisting">int virConnectClose (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn)<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>
<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>0 in case of success or -1 in case of error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConnectGetType"/>virConnectGetType ()</h3><pre class="programlisting">const char * virConnectGetType (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn)<br/>
</pre><p>Get the name of the Hypervisor software used.</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>NULL in case of error, a static zero terminated string otherwise.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConnectGetVersion"/>virConnectGetVersion ()</h3><pre class="programlisting">int virConnectGetVersion (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> unsigned long * hvVer)<br/>
</pre><p>Get the version level of the Hypervisor running. This may work only with hypervisor call, i.e. with priviledged access to the hypervisor, not with a Read-Only connection.</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>hvVer</tt></i>:</span></td><td>return value for the version of the running hypervisor (OUT)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise. if the version can't be extracted by lack of capacities returns 0 and @hvVer is 0, otherwise @hvVer value is major * 1,000,000 + minor * 1,000 + release</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConnectListDefinedDomains"/>virConnectListDefinedDomains ()</h3><pre class="programlisting">int virConnectListDefinedDomains (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> const char ** names, <br/> int maxnames)<br/>
</pre><p>list the defined domains, stores the pointers to the names in @names</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>names</tt></i>:</span></td><td>pointer to an array to store the names</td></tr><tr><td><span class="term"><i><tt>maxnames</tt></i>:</span></td><td>size of the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of names provided in the array or -1 in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConnectListDomains"/>virConnectListDomains ()</h3><pre class="programlisting">int virConnectListDomains (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> int * ids, <br/> int maxids)<br/>
</pre><p>Collect the list of active domains, and store their ID in @maxids</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>ids</tt></i>:</span></td><td>array to collect the list of IDs of active domains</td></tr><tr><td><span class="term"><i><tt>maxids</tt></i>:</span></td><td>size of @ids</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of domain found or -1 in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConnectNumOfDefinedDomains"/>virConnectNumOfDefinedDomains ()</h3><pre class="programlisting">int virConnectNumOfDefinedDomains (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn)<br/>
</pre><p>Provides the number of active domains.</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 number of domain found or -1 in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConnectNumOfDomains"/>virConnectNumOfDomains ()</h3><pre class="programlisting">int virConnectNumOfDomains (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn)<br/>
</pre><p>Provides the number of active domains.</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 number of domain found or -1 in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConnectOpen"/>virConnectOpen ()</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> virConnectOpen (const char * name)<br/>
</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>optional argument currently unused, pass NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the hypervisor connection or NULL in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConnectOpenReadOnly"/>virConnectOpenReadOnly ()</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 libbrary 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>optional argument currently unused, pass NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the hypervisor connection or NULL in case of error</td></tr></tbody></table></div></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/> 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></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainCoreDump"/>virDomainCoreDump ()</h3><pre class="programlisting">int virDomainCoreDump (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> const char * to, <br/> int flags)<br/>
</pre><p>This method will dump the core of a domain on a given file for analysis. Note that for remote Xen Daemon the file path will be interpreted in the remote host.</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 core file</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>extra flags, currently unused</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="virDomainCreate"/>virDomainCreate ()</h3><pre class="programlisting">int virDomainCreate (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br/>
</pre><p>launch a defined domain. If the call succeed the domain moves from the defined to the running domains pools.</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 a defined domain</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="virDomainCreateLinux"/>virDomainCreateLinux ()</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> virDomainCreateLinux (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> const char * xmlDesc, <br/> unsigned int flags)<br/>
</pre><p>Launch a new Linux guest domain, based on an XML description similar to the one returned by virDomainGetXMLDesc() This function may requires priviledged access to the hypervisor.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><span class="term"><i><tt>xmlDesc</tt></i>:</span></td><td>an XML description of the domain</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>an optional set of virDomainFlags</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new domain object or NULL in case of failure</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainDefineXML"/>virDomainDefineXML ()</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> virDomainDefineXML (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> const char * xml)<br/>
</pre><p>define a domain, but does not start it</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>xml</tt></i>:</span></td><td>the XML description for the domain, preferably in UTF-8</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL in case of error, a pointer to the domain otherwise</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainDestroy"/>virDomainDestroy ()</h3><pre class="programlisting">int virDomainDestroy (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br/>
</pre><p>Destroy the domain object. The running instance is shutdown if not down already and all resources used by it are given back to the hypervisor. The data structure is freed and should not be used thereafter if the call does not return an error. This function may requires priviledged 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></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainDetachDevice"/>virDomainDetachDevice ()</h3><pre class="programlisting">int virDomainDetachDevice (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> char * xml)<br/>
</pre><p>Destroy 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></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainFree"/>virDomainFree ()</h3><pre class="programlisting">int virDomainFree (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br/>
</pre><p>Free the domain object. The running instance is kept alive. The data structure is freed and should not be used thereafter.</p>
<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></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainGetID"/>virDomainGetID ()</h3><pre class="programlisting">unsigned int virDomainGetID (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br/>
</pre><p>Get the hypervisor ID number for the domain</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the domain ID number or (unsigned int) -1 in case of error</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainGetInfo"/>virDomainGetInfo ()</h3><pre class="programlisting">int virDomainGetInfo (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> <a href="libvirt-libvirt.html#virDomainInfoPtr">virDomainInfoPtr</a> info)<br/>
</pre><p>Extract information about a domain. Note that if the connection used to get the domain is limited only a partial set of the information can be extracted.</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>info</tt></i>:</span></td><td>pointer to a <a href="libvirt-libvirt.html#virDomainInfo">virDomainInfo</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></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainGetMaxMemory"/>virDomainGetMaxMemory ()</h3><pre class="programlisting">unsigned long virDomainGetMaxMemory (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br/>
</pre><p>Retrieve the maximum amount of physical memory allocated to a domain. If domain is NULL, then this get the amount of memory reserved to Domain0 i.e. the domain where the application runs.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the memory size in kilobytes or 0 in case of error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainGetName"/>virDomainGetName ()</h3><pre class="programlisting">const char * virDomainGetName (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br/>
</pre><p>Get the public name for that domain</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the name or NULL, the string need not be deallocated its lifetime will be the same as the domain object.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainGetOSType"/>virDomainGetOSType ()</h3><pre class="programlisting">char * virDomainGetOSType (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br/>
</pre><p>Get the type of domain operation system.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new string or NULL in case of error, the string must be freed by the caller.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainGetUUID"/>virDomainGetUUID ()</h3><pre class="programlisting">int virDomainGetUUID (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> unsigned char * uuid)<br/>
</pre><p>Get the UUID for a domain</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>uuid</tt></i>:</span></td><td>pointer to a 16 bytes array</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></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainGetUUIDString"/>virDomainGetUUIDString ()</h3><pre class="programlisting">int virDomainGetUUIDString (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> char * buf)<br/>
</pre><p>Get the UUID for a domain as string. For more information about UUID see RFC4122.</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>buf</tt></i>:</span></td><td>pointer to a 37 bytes array</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></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainGetVcpus"/>virDomainGetVcpus ()</h3><pre class="programlisting">int virDomainGetVcpus (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> <a href="libvirt-libvirt.html#virVcpuInfoPtr">virVcpuInfoPtr</a> info, <br/> int maxinfo, <br/> unsigned char * cpumaps, <br/> int maplen)<br/>
</pre><p>Extract information about virtual CPUs of domain, store it in info array and also in cpumaps if this pointer is'nt NULL.</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>info</tt></i>:</span></td><td>pointer to an array of <a href="libvirt-libvirt.html#virVcpuInfo">virVcpuInfo</a> structures (OUT)</td></tr><tr><td><span class="term"><i><tt>maxinfo</tt></i>:</span></td><td>number of structures in info array</td></tr><tr><td><span class="term"><i><tt>cpumaps</tt></i>:</span></td><td>pointer to an bit map of real CPUs for all vcpus of this domain (in 8-bit bytes) (OUT) If cpumaps is NULL, then no cupmap information is returned by the API. It's assumed there is &lt;maxinfo&gt; cpumap in cpumaps array. The memory allocated to cpumaps must be (maxinfo * maplen) bytes (ie: calloc(maxinfo, maplen)). One cpumap inside cpumaps has the format described in virDomainPinVcpu() API.</td></tr><tr><td><span class="term"><i><tt>maplen</tt></i>:</span></td><td>number of bytes in one cpumap, from 1 up to size of CPU map in underlying virtualization system (Xen...).</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of info filled in case of success, -1 in case of failure.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainGetXMLDesc"/>virDomainGetXMLDesc ()</h3><pre class="programlisting">char * virDomainGetXMLDesc (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> int flags)<br/>
</pre><p>Provide an XML description of the domain. The description may be reused later to relaunch the domain with virDomainCreateLinux().</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>and OR'ed set of extraction flags, not used yet</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a 0 terminated UTF-8 encoded XML instance, or NULL in case of error. the caller must free() the returned value.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainLookupByID"/>virDomainLookupByID ()</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> virDomainLookupByID (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> int id)<br/>
</pre><p>Try to find a domain based on the hypervisor ID number</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>id</tt></i>:</span></td><td>the domain ID number</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new domain object or NULL in case of failure</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainLookupByName"/>virDomainLookupByName ()</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> virDomainLookupByName (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> const char * name)<br/>
</pre><p>Try to lookup a domain 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 domain</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new domain object or NULL in case of failure</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainLookupByUUID"/>virDomainLookupByUUID ()</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> virDomainLookupByUUID (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> const unsigned char * uuid)<br/>
</pre><p>Try to lookup a domain 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 domain</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new domain object or NULL in case of failure</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainLookupByUUIDString"/>virDomainLookupByUUIDString ()</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> virDomainLookupByUUIDString (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> const char * uuidstr)<br/>
</pre><p>Try to lookup a domain 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 domain</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new domain object or NULL in case of failure</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainPinVcpu"/>virDomainPinVcpu ()</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 priviledged access to the hypervisor.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>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></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainReboot"/>virDomainReboot ()</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></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>
<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></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainResume"/>virDomainResume ()</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 priviledged 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></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainSave"/>virDomainSave ()</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></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainSetMaxMemory"/>virDomainSetMaxMemory ()</h3><pre class="programlisting">int virDomainSetMaxMemory (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> unsigned long memory)<br/>
</pre><p>Dynamically change the maximum amount of physical memory allocated to a domain. If domain is NULL, then this change the amount of memory reserved to Domain0 i.e. the domain where the application runs. This function requires priviledged access to the hypervisor.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object or NULL</td></tr><tr><td><span class="term"><i><tt>memory</tt></i>:</span></td><td>the memory size in kilobytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainSetMemory"/>virDomainSetMemory ()</h3><pre class="programlisting">int virDomainSetMemory (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> unsigned long memory)<br/>
</pre><p>Dynamically change the target amount of physical memory allocated to a domain. If domain is NULL, then this change the amount of memory reserved to Domain0 i.e. the domain where the application runs. This function may requires priviledged access to the hypervisor.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object or NULL</td></tr><tr><td><span class="term"><i><tt>memory</tt></i>:</span></td><td>the memory size in kilobytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainSetVcpus"/>virDomainSetVcpus ()</h3><pre class="programlisting">int virDomainSetVcpus (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br/> unsigned int nvcpus)<br/>
</pre><p>Dynamically change the number of virtual CPUs used by the domain. Note that this call may fail if the underlying virtualization hypervisor does not support it or if growing the number is arbitrary limited. This function requires priviledged access to the hypervisor.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>pointer to domain object, or NULL for Domain0</td></tr><tr><td><span class="term"><i><tt>nvcpus</tt></i>:</span></td><td>the new number of virtual CPUs for this domain</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="virDomainShutdown"/>virDomainShutdown ()</h3><pre class="programlisting">int virDomainShutdown (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br/>
</pre><p>Shutdown a domain, the domain object is still usable there after but the domain OS is being stopped. Note that the guest OS may ignore the request. TODO: should we add an option for reboot, knowing it may not be doable in the general case ?</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainSuspend"/>virDomainSuspend ()</h3><pre class="programlisting">int virDomainSuspend (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br/>
</pre><p>Suspends an active domain, the process is frozen without further access to CPU resources and I/O but the memory used by the domain at the hypervisor level will stay allocated. Use virDomainResume() to reactivate the domain. This function may requires priviledged 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></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDomainUndefine"/>virDomainUndefine ()</h3><pre class="programlisting">int virDomainUndefine (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br/>
</pre><p>undefine a domain 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>domain</tt></i>:</span></td><td>pointer to a defined domain</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="virGetVersion"/>virGetVersion ()</h3><pre class="programlisting">int virGetVersion (unsigned long * libVer, <br/> const char * type, <br/> unsigned long * typeVer)<br/>
</pre><p>Provides two information back, @libVer is the version of the library while @typeVer will be the version of the hypervisor type @type against which the library was compiled. If @type is NULL, "Xen" is assumed, if @type is unknown or not availble, an error code will be returned and @typeVer will be 0.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>libVer</tt></i>:</span></td><td>return value for the library version (OUT)</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the type of connection/driver looked at</td></tr><tr><td><span class="term"><i><tt>typeVer</tt></i>:</span></td><td>return value for the version of the hypervisor (OUT)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 otherwise, and values for @libVer and @typeVer have the format major * 1,000,000 + minor * 1,000 + release.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virInitialize"/>virInitialize ()</h3><pre class="programlisting">int virInitialize (void)<br/>
</pre><p>Initialize the library. It's better to call this routine at startup in multithreaded applications to avoid potential race when initializing the library.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><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="virNodeGetInfo"/>virNodeGetInfo ()</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></div>
<hr/>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,196 @@
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>virterror: error handling interfaces for the libvirt library</title>
<meta name="generator" content="Libvirt devhelp stylesheet"/>
<link rel="start" href="index.html" title="libvirt Reference Manual"/>
<link rel="up" href="general.html" title="API"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<link rel="chapter" href="general.html" title="API"/>
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td>
<a accesskey="p" href="libvirt-libvirt.html">
<img src="left.png" width="24" height="24" border="0" alt="Prev"/>
</a>
</td>
<td>
<a accesskey="u" href="general.html">
<img src="up.png" width="24" height="24" border="0" alt="Up"/>
</a>
</td>
<td>
<a accesskey="h" href="index.html">
<img src="home.png" width="24" height="24" border="0" alt="Home"/>
</a>
</td>
<th width="100%" align="center">libvirt Reference Manual</th>
</tr>
</table>
<h2>
<span class="refentrytitle">virterror</span>
</h2>
<p>virterror - error handling interfaces for the libvirt library</p>
<p>Provides the interfaces of the libvirt library to handle errors raised while using the library. </p>
<p>Author(s): Daniel Veillard &lt;veillard@redhat.com&gt; </p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">typedef <a href="libvirt-virterror.html#virError">virError</a> * <a href="#virErrorPtr">virErrorPtr</a>;
typedef enum <a href="#virErrorLevel">virErrorLevel</a>;
typedef enum <a href="#virErrorDomain">virErrorDomain</a>;
typedef enum <a href="#virErrorNumber">virErrorNumber</a>;
typedef struct _virError <a href="#virError">virError</a>;
int <a href="#virCopyLastError">virCopyLastError</a> (<a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> to);
void <a href="#virConnSetErrorFunc">virConnSetErrorFunc</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> void * userData, <br/> <a href="libvirt-virterror.html#virErrorFunc">virErrorFunc</a> handler);
void <a href="#virResetLastError">virResetLastError</a> (void);
typedef void <a href="#virErrorFunc">virErrorFunc</a> (void * userData, <br/> <a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> error);
void <a href="#virResetError">virResetError</a> (<a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> err);
<a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> <a href="#virConnGetLastError">virConnGetLastError</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn);
void <a href="#virDefaultErrorFunc">virDefaultErrorFunc</a> (<a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> err);
<a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> <a href="#virGetLastError">virGetLastError</a> (void);
void <a href="#virSetErrorFunc">virSetErrorFunc</a> (void * userData, <br/> <a href="libvirt-virterror.html#virErrorFunc">virErrorFunc</a> handler);
int <a href="#virConnCopyLastError">virConnCopyLastError</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> <a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> to);
void <a href="#virConnResetLastError">virConnResetLastError</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn);
</pre>
</div>
<div class="refsect1" lang="en">
<h2>Description</h2>
</div>
<div class="refsect1" lang="en">
<h2>Details</h2>
<div class="refsect2" lang="en">
<div class="refsect2" lang="en"><h3><a name="virError">Structure </a>virError</h3><pre class="programlisting">struct _virError {
int code : The error code, a <a href="libvirt-virterror.html#virErrorNumber">virErrorNumber</a>
int domain : What part of the library raised this error
char * message : human-readable informative error message
<a href="libvirt-virterror.html#virErrorLevel">virErrorLevel</a> level : how consequent is the error
<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn : the connection if available
<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> dom : the domain if available
char * str1 : extra string information
char * str2 : extra string information
char * str3 : extra string information
int int1 : extra number information
int int2 : extra number information
} virError;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virErrorDomain">Enum </a>virErrorDomain</h3><pre class="programlisting">enum <a href="#virErrorDomain">virErrorDomain</a> {
<a name="VIR_FROM_NONE">VIR_FROM_NONE</a> = 0
<a name="VIR_FROM_XEN">VIR_FROM_XEN</a> = 1 /* Error at Xen hypervisor layer */
<a name="VIR_FROM_XEND">VIR_FROM_XEND</a> = 2 /* Error at connection with xend daemon */
<a name="VIR_FROM_XENSTORE">VIR_FROM_XENSTORE</a> = 3 /* Error at connection with xen store */
<a name="VIR_FROM_SEXPR">VIR_FROM_SEXPR</a> = 4 /* Error in the S-Epression code */
<a name="VIR_FROM_XML">VIR_FROM_XML</a> = 5 /* Error in the XML code */
<a name="VIR_FROM_DOM">VIR_FROM_DOM</a> = 6 /* Error when operating on a domain */
<a name="VIR_FROM_RPC">VIR_FROM_RPC</a> = 7 /* Error in the XML-RPC code */
<a name="VIR_FROM_PROXY">VIR_FROM_PROXY</a> = 8 /* Error in the proxy code */
<a name="VIR_FROM_CONF">VIR_FROM_CONF</a> = 9 /* Error in the configuration file handling */
};
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virErrorLevel">Enum </a>virErrorLevel</h3><pre class="programlisting">enum <a href="#virErrorLevel">virErrorLevel</a> {
<a name="VIR_ERR_NONE">VIR_ERR_NONE</a> = 0
<a name="VIR_ERR_WARNING">VIR_ERR_WARNING</a> = 1 /* A simple warning */
<a name="VIR_ERR_ERROR">VIR_ERR_ERROR</a> = 2 /* An error */
};
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virErrorNumber">Enum </a>virErrorNumber</h3><pre class="programlisting">enum <a href="#virErrorNumber">virErrorNumber</a> {
<a name="VIR_ERR_OK">VIR_ERR_OK</a> = 0
<a name="VIR_ERR_INTERNAL_ERROR">VIR_ERR_INTERNAL_ERROR</a> = 1 /* internal error */
<a name="VIR_ERR_NO_MEMORY">VIR_ERR_NO_MEMORY</a> = 2 /* memory allocation failure */
<a name="VIR_ERR_NO_SUPPORT">VIR_ERR_NO_SUPPORT</a> = 3 /* no support for this connection */
<a name="VIR_ERR_UNKNOWN_HOST">VIR_ERR_UNKNOWN_HOST</a> = 4 /* could not resolve hostname */
<a name="VIR_ERR_NO_CONNECT">VIR_ERR_NO_CONNECT</a> = 5 /* can't connect to hypervisor */
<a name="VIR_ERR_INVALID_CONN">VIR_ERR_INVALID_CONN</a> = 6 /* invalid connection object */
<a name="VIR_ERR_INVALID_DOMAIN">VIR_ERR_INVALID_DOMAIN</a> = 7 /* invalid domain object */
<a name="VIR_ERR_INVALID_ARG">VIR_ERR_INVALID_ARG</a> = 8 /* invalid function argument */
<a name="VIR_ERR_OPERATION_FAILED">VIR_ERR_OPERATION_FAILED</a> = 9 /* a command to hypervisor failed */
<a name="VIR_ERR_GET_FAILED">VIR_ERR_GET_FAILED</a> = 10 /* a HTTP GET command to failed */
<a name="VIR_ERR_POST_FAILED">VIR_ERR_POST_FAILED</a> = 11 /* a HTTP POST command to failed */
<a name="VIR_ERR_HTTP_ERROR">VIR_ERR_HTTP_ERROR</a> = 12 /* unexpected HTTP error code */
<a name="VIR_ERR_SEXPR_SERIAL">VIR_ERR_SEXPR_SERIAL</a> = 13 /* failure to serialize an S-Expr */
<a name="VIR_ERR_NO_XEN">VIR_ERR_NO_XEN</a> = 14 /* could not open Xen hypervisor control */
<a name="VIR_ERR_XEN_CALL">VIR_ERR_XEN_CALL</a> = 15 /* failure doing an hypervisor call */
<a name="VIR_ERR_OS_TYPE">VIR_ERR_OS_TYPE</a> = 16 /* unknown OS type */
<a name="VIR_ERR_NO_KERNEL">VIR_ERR_NO_KERNEL</a> = 17 /* missing kernel information */
<a name="VIR_ERR_NO_ROOT">VIR_ERR_NO_ROOT</a> = 18 /* missing root device information */
<a name="VIR_ERR_NO_SOURCE">VIR_ERR_NO_SOURCE</a> = 19 /* missing source device information */
<a name="VIR_ERR_NO_TARGET">VIR_ERR_NO_TARGET</a> = 20 /* missing target device information */
<a name="VIR_ERR_NO_NAME">VIR_ERR_NO_NAME</a> = 21 /* missing domain name information */
<a name="VIR_ERR_NO_OS">VIR_ERR_NO_OS</a> = 22 /* missing domain OS information */
<a name="VIR_ERR_NO_DEVICE">VIR_ERR_NO_DEVICE</a> = 23 /* missing domain devices information */
<a name="VIR_ERR_NO_XENSTORE">VIR_ERR_NO_XENSTORE</a> = 24 /* could not open Xen Store control */
<a name="VIR_ERR_DRIVER_FULL">VIR_ERR_DRIVER_FULL</a> = 25 /* too many drivers registered */
<a name="VIR_ERR_CALL_FAILED">VIR_ERR_CALL_FAILED</a> = 26 /* not supported by the drivers */
<a name="VIR_ERR_XML_ERROR">VIR_ERR_XML_ERROR</a> = 27 /* an XML description is not well formed or broken */
<a name="VIR_ERR_DOM_EXIST">VIR_ERR_DOM_EXIST</a> = 28 /* the domain already exist */
<a name="VIR_ERR_OPERATION_DENIED">VIR_ERR_OPERATION_DENIED</a> = 29 /* operation forbidden on read-only connections */
<a name="VIR_ERR_OPEN_FAILED">VIR_ERR_OPEN_FAILED</a> = 30 /* failed to open a conf file */
<a name="VIR_ERR_READ_FAILED">VIR_ERR_READ_FAILED</a> = 31 /* failed to read a conf file */
<a name="VIR_ERR_PARSE_FAILED">VIR_ERR_PARSE_FAILED</a> = 32 /* failed to parse a conf file */
<a name="VIR_ERR_CONF_SYNTAX">VIR_ERR_CONF_SYNTAX</a> = 33 /* failed to parse the syntax of a conf file */
<a name="VIR_ERR_WRITE_FAILED">VIR_ERR_WRITE_FAILED</a> = 34 /* failed to write a conf file */
<a name="VIR_ERR_XML_DETAIL">VIR_ERR_XML_DETAIL</a> = 35 /* detail of an XML error */
};
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virErrorPtr">Typedef </a>virErrorPtr</h3><pre class="programlisting"><a href="libvirt-virterror.html#virError">virError</a> * virErrorPtr;
</pre><p/>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virErrorFunc"/>Function type virErrorFunc</h3><pre class="programlisting">void virErrorFunc (void * userData, <br/> <a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> error)<br/>
</pre><p>Signature of a function to use when there is an error raised by the library.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>user provided data for the error callback</td></tr><tr><td><span class="term"><i><tt>error</tt></i>:</span></td><td>the error being raised.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConnCopyLastError"/>virConnCopyLastError ()</h3><pre class="programlisting">int virConnCopyLastError (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> <a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> to)<br/>
</pre><p>Copy the content of the last error caught on that connection One will need to free the result with virResetError()</p>
<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>to</tt></i>:</span></td><td>target to receive the copy</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no error was found and the error code otherwise and -1 in case of parameter error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConnGetLastError"/>virConnGetLastError ()</h3><pre class="programlisting"><a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> virConnGetLastError (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn)<br/>
</pre><p>Provide a pointer to the last error caught on that connection Simpler but may not be suitable for multithreaded accesses, in which case use virConnCopyLastError()</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>a pointer to the last error or NULL if none occured.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConnResetLastError"/>virConnResetLastError ()</h3><pre class="programlisting">void virConnResetLastError (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn)<br/>
</pre><p>Reset the last error caught on that connection</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></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virConnSetErrorFunc"/>virConnSetErrorFunc ()</h3><pre class="programlisting">void virConnSetErrorFunc (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br/> void * userData, <br/> <a href="libvirt-virterror.html#virErrorFunc">virErrorFunc</a> handler)<br/>
</pre><p>Set a connection error handling function, if @handler is NULL it will reset to default which is to pass error back to the global library handler.</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>userData</tt></i>:</span></td><td>pointer to the user data provided in the handler callback</td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the function to get called in case of error or NULL</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virCopyLastError"/>virCopyLastError ()</h3><pre class="programlisting">int virCopyLastError (<a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> to)<br/>
</pre><p>Copy the content of the last error caught at the library level One will need to free the result with virResetError()</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>target to receive the copy</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no error was found and the error code otherwise and -1 in case of parameter error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virDefaultErrorFunc"/>virDefaultErrorFunc ()</h3><pre class="programlisting">void virDefaultErrorFunc (<a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> err)<br/>
</pre><p>Default routine reporting an error to stderr.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>pointer to the error.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virGetLastError"/>virGetLastError ()</h3><pre class="programlisting"><a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> virGetLastError (void)<br/>
</pre><p>Provide a pointer to the last error caught at the library level Simpler but may not be suitable for multithreaded accesses, in which case use virCopyLastError()</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the last error or NULL if none occured.</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virResetError"/>virResetError ()</h3><pre class="programlisting">void virResetError (<a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> err)<br/>
</pre><p>Reset the error being pointed to</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>pointer to the <a href="libvirt-virterror.html#virError">virError</a> to clean up</td></tr></tbody></table></div></div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virResetLastError"/>virResetLastError ()</h3><pre class="programlisting">void virResetLastError (void)<br/>
</pre><p>Reset the last error caught at the library level.</p>
</div>
<hr/>
<div class="refsect2" lang="en"><h3><a name="virSetErrorFunc"/>virSetErrorFunc ()</h3><pre class="programlisting">void virSetErrorFunc (void * userData, <br/> <a href="libvirt-virterror.html#virErrorFunc">virErrorFunc</a> handler)<br/>
</pre><p>Set a library global error handling function, if @handler is NULL, it will reset to default printing on stderr. The error raised there are those for which no handler at the connection level could caught.</p>
<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>pointer to the user data provided in the handler callback</td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the function to get called in case of error or NULL</td></tr></tbody></table></div></div>
<hr/>
</div>
</div>
</body>
</html>

BIN
docs/devhelp/right.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 472 B

66
docs/devhelp/style.css Normal file
View File

@ -0,0 +1,66 @@
.synopsis, .classsynopsis
{
background: #eeeeee;
border: solid 1px #aaaaaa;
padding: 0.5em;
}
.programlisting
{
background: #eeeeff;
border: solid 1px #aaaaff;
padding: 0.5em;
}
.variablelist
{
padding: 4px;
margin-left: 3em;
}
.variablelist td:first-child
{
vertical-align: top;
}
table.navigation
{
background: #ffeeee;
border: solid 1px #ffaaaa;
margin-top: 0.5em;
margin-bottom: 0.5em;
}
.navigation a
{
color: #770000;
}
.navigation a:visited
{
color: #550000;
}
.navigation .title
{
font-size: 200%;
}
div.refnamediv
{
margin-top: 2em;
}
div.gallery-float
{
float: left;
padding: 10px;
}
div.gallery-float img
{
border-style: none;
}
div.gallery-spacer
{
clear: both;
}
a
{
text-decoration: none;
}
a:hover
{
text-decoration: underline;
color: #FF0000;
}

BIN
docs/devhelp/up.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 B

View File

@ -1,16 +1,10 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>Downloads</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>Downloads</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>The latest versions of libvir can be found on the <a href="ftp://libvir.org/libvir/">libvir.org</a> server ( <a href="http://libvir.org/sources/">HTTP</a>, <a href="ftp://libvir.org/libvir/">FTP</a>). You will find there the released
versions as well as <a href="http://libvir.org/sources/libvir-cvs-snapshot.tar.gz">snapshot
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Downloads</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Downloads</h1><p>The latest versions of libvirt can be found on the <a href="ftp://libvirt.org/libvirt/">libvirt.org</a> server ( <a href="http://libvirt.org/sources/">HTTP</a>, <a href="ftp://libvirt.org/libvirt/">FTP</a>). You will find there the released
versions as well as <a href="http://libvirt.org/sources/libvirt-cvs-snapshot.tar.gz">snapshot
tarballs</a> updated from CVS head every hour</p><p>Anonymous <a href="http://ximbiot.com/cvs/cvshome/docs/">CVS</a> is also
available, first register onto the server:</p><p><code>cvs -d :pserver:anoncvs@libvir.org:2401/data/cvs login</code></p><p>it will request a password, enter <strong>anoncvs</strong>. Then you can
checkout the development tree with:</p><p><code>cvs -d :pserver:anoncvs@libvir.org:2401/data/cvs co libvir</code></p><p>Use ./autogen.sh to configure the local checkout, then <code>make</code>
available, first register onto the server:</p><p><code>cvs -d :pserver:anoncvs@libvirt.org:2401/data/cvs login</code></p><p>it will request a password, enter <strong>anoncvs</strong>. Then you can
checkout the development tree with:</p><p><code>cvs -d :pserver:anoncvs@libvirt.org:2401/data/cvs co
libvirt</code></p><p>Use ./autogen.sh to configure the local checkout, then <code>make</code>
and <code>make install</code>, as usual. All normal cvs commands are now
available except commiting to the base.</p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
available except commiting to the base.</p></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="architecture.html">libvirt architecture</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="format.html">XML Format</a></li><li><a href="python.html">Binding for Python</a></li><li><a href="errors.html">Handling of errors</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

69
docs/errors.html Normal file
View File

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Handling of errors</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Handling of errors</h1><p>The main goals of libvirt when it comes to error handling are:</p><ul><li>provide as much detail as possible</li>
<li>provide the informations as soon as possible</li>
<li>dont force the library user into one style of error handling</li>
</ul><p>As result the library provide both synchronous, callback based and
asynchronous error reporting. When an error happens in the library code the
error is logged, allowing to retrieve it later and if the user registered an
error callback it will be called synchronously. Once the call to libvirt ends
the error can be detected by the return value and the full information for
the last logged error can be retrieved.</p><p>To avoid as much as prossible troubles with a global variable in a
multithreaded environment, libvirt will associate when possible the errors to
the current connection they are related to, that way the error is stored in a
dynamic structure which can be made thread specific. Error callback can be
set specifically to a connection with</p><p>So error handling in the code is the following:</p><ol><li>if the error can be associated to a connection for example when failing
to look up a domain
<ol><li>if there is a callback associated to the connection set with <a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a>,
call it with the error informations</li>
<li>otherwise if there is a global callback set with <a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a>,
call it with the error information</li>
<li>otherwise call <a href="html/libvirt-virterror.html#virDefaultErrorFunc">virDefaultErrorFunc</a>
which is the default error function of the library issuing the error
on stderr</li>
<li>save the error in the connection for later retrieval with <a href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a></li>
</ol></li>
<li>otherwise like when failing to create an hypervisor connection:
<ol><li>if there is a global callback set with <a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a>,
call it with the error information</li>
<li>otherwise call <a href="html/libvirt-virterror.html#virDefaultErrorFunc">virDefaultErrorFunc</a>
which is the default error function of the library issuing the error
on stderr</li>
<li>save the error in the connection for later retrieval with <a href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a></li>
</ol></li>
</ol><p>In all cases the error informations are provided as a <a href="html/libvirt-virterror.html#virErrorPtr">virErrorPtr</a> pointer to
read-only structure <a href="html/libvirt-virterror.html#virError">virError</a> containing the
following fields:</p><ul><li>code: an error number from the <a href="html/libvirt-virterror.html#virErrorNumber">virErrorNumber</a>
enum</li>
<li>domain: an enum indicating which part of libvirt raised the error see
<a href="html/libvirt-virterror.html#virErrorDomain">virErrorDomain</a></li>
<li>level: the error level, usually VIR_ERR_ERROR, though there is room for
warnings like VIR_ERR_WARNING</li>
<li>message: the full human-readable formatted string of the error</li>
<li>conn: if available a pointer to the <a href="html/libvirt-libvirt.html#virConnectPtr">virConnectPtr</a>
connection to the hypervisor where this happened</li>
<li>dom: if available a pointer to the <a href="html/libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain
targetted in the operation</li>
</ul><p>and then extra raw informations about the error which may be initialized
to 0 or NULL if unused</p><ul><li>str1, str2, str3: string informations, usually str1 is the error
message format</li>
<li>int1, int2: integer informations</li>
</ul><p>So usually, setting up specific error handling with libvirt consist of
registering an handler with with <a href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a> or
with <a href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a>,
chech the value of the code value, take appropriate action, if needed let
libvirt print the error on stderr by calling <a href="html/libvirt-virterror.html#virDefaultErrorFunc">virDefaultErrorFunc</a>.
For asynchronous error handing, set such a function doing nothing to avoid
the error being reported on stderr, and call virConnGetLastError or
virGetLastError when an API call returned an error value. It can be a good
idea to use <a href="html/libvirt-virterror.html#virResetLastError">virResetError</a> or <a href="html/libvirt-virterror.html#virConnResetLastError">virConnResetLastError</a>
once an error has been processed fully.</p><p>At the python level, there only a global reporting callback function at
this point, see the error.py example about it:</p><pre>def handler(ctxt, err):
global errno
#print "handler(%s, %s)" % (ctxt, err)
errno = err
libvirt.registerErrorHandler(handler, 'context') </pre><p>the second argument to the registerErrorHandler function is passed as the
fist argument of the callback like in the C version. The error is a tuple
containing the same field as a virError in C, but cast to Python.</p></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="architecture.html">libvirt architecture</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="format.html">XML Format</a></li><li><a href="python.html">Binding for Python</a></li><li><a href="errors.html">Handling of errors</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

7
docs/examples/.cvsignore Normal file
View File

@ -0,0 +1,7 @@
.memdump
Makefile.in
Makefile
info1
suspend
.libs
.deps

41
docs/examples/Makefile.am Normal file
View File

@ -0,0 +1,41 @@
# Beware this is autogenerated by index.py
SUBDIRS=python
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I@srcdir@/include
DEPS = $(top_builddir)/src/libvirt.la
LDADDS = @STATIC_BINARIES@ $(top_builddir)/src/libvirt.la
rebuild: examples.xml index.html
examples.xml: index.py *.c
-@($(srcdir)/index.py)
index.html: examples.xml examples.xsl $(top_srcdir)/docs/site.xsl
-@(if [ -x $(XSLTPROC) ] ; then $(XSLTPROC) examples.xsl examples.xml && echo "Rebuilt web page" && xmllint --valid --noout index.html ; fi)
install-data-local:
$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)
-@INSTALL@ -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(srcdir)/*.xml $(srcdir)/*.xsl $(srcdir)/*.res $(DESTDIR)$(HTML_DIR)
EXTRA_DIST=examples.xsl index.py examples.xml
noinst_PROGRAMS=info1 suspend
info1_SOURCES=info1.c
info1_LDFLAGS=
info1_DEPENDENCIES= $(DEPS)
info1_LDADD= $(LDADDS)
suspend_SOURCES=suspend.c
suspend_LDFLAGS=
suspend_DEPENDENCIES= $(DEPS)
suspend_LDADD= $(LDADDS)
valgrind:
$(MAKE) CHECKER='valgrind' tests
tests: $(noinst_PROGRAMS)
@(echo '## examples regression tests')
@($(CHECKER) ./info1)
@($(CHECKER) ./suspend)

View File

@ -0,0 +1,86 @@
<examples>
<example filename='info1.c'>
<synopsis>Extract informations about Xen domain 0</synopsis>
<purpose>Demonstrate the basic use of the library to connect to the hypervisor and extract domain informations.</purpose>
<usage>info1</usage>
<test>info1</test>
<author>Daniel Veillard</author>
<copy>see Copyright for the status of this software. </copy>
<section>Informations</section>
<includes>
</includes>
<uses>
<function line='43' name='virDomainGetInfo'/>
<function line='53' name='virDomainFree'/>
<function line='36' name='virDomainLookupByID'/>
<function line='55' name='virConnectClose'/>
<type line='25' name='virDomainInfo'/>
<function line='29' name='virConnectOpenReadOnly'/>
</uses>
</example>
<example filename='suspend.c'>
<synopsis>Suspend a domain and then resume its execution</synopsis>
<purpose>Demonstrate the basic use of the library to suspend and resume a domain. If no id is given on the command line this script will suspend and resume the first domain found which is not Domain 0.</purpose>
<usage>suspend [id]</usage>
<test>suspend</test>
<author>Daniel Veillard</author>
<copy>see Copyright for the status of this software. </copy>
<section>Scheduling</section>
<includes>
</includes>
<uses>
<function line='31' name='virDomainGetInfo'/>
<function line='111' name='virConnectListDomains'/>
<function line='93' name='virDomainFree'/>
<function line='73' name='virDomainResume'/>
<function line='50' name='virDomainLookupByID'/>
<function line='132' name='virConnectClose'/>
<type line='28' name='virDomainInfo'/>
<function line='62' name='virDomainSuspend'/>
<function line='100' name='virConnectOpenReadOnly'/>
</uses>
</example>
<symbols>
<symbol name='virConnectClose'>
<ref filename='info1.c'/>
<ref filename='suspend.c'/>
</symbol>
<symbol name='virConnectListDomains'>
<ref filename='suspend.c'/>
</symbol>
<symbol name='virConnectOpenReadOnly'>
<ref filename='info1.c'/>
<ref filename='suspend.c'/>
</symbol>
<symbol name='virDomainFree'>
<ref filename='info1.c'/>
<ref filename='suspend.c'/>
</symbol>
<symbol name='virDomainGetInfo'>
<ref filename='info1.c'/>
<ref filename='suspend.c'/>
</symbol>
<symbol name='virDomainInfo'>
<ref filename='info1.c'/>
<ref filename='suspend.c'/>
</symbol>
<symbol name='virDomainLookupByID'>
<ref filename='info1.c'/>
<ref filename='suspend.c'/>
</symbol>
<symbol name='virDomainResume'>
<ref filename='suspend.c'/>
</symbol>
<symbol name='virDomainSuspend'>
<ref filename='suspend.c'/>
</symbol>
</symbols>
<sections>
<section name='Informations'>
<example filename='info1.c'/>
</section>
<section name='Scheduling'>
<example filename='suspend.c'/>
</section>
</sections>
</examples>

144
docs/examples/examples.xsl Normal file
View File

@ -0,0 +1,144 @@
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common"
extension-element-prefixes="exsl"
exclude-result-prefixes="exsl">
<xsl:import href="../site.xsl"/>
<xsl:variable name="href_base">../</xsl:variable>
<xsl:variable name="menu_name">Examples Menu</xsl:variable>
<xsl:variable name="toc">
<form action="../search.php"
enctype="application/x-www-form-urlencoded" method="get">
<input name="query" type="text" size="20" value=""/>
<input name="submit" type="submit" value="Search ..."/>
</form>
<ul><!-- style="margin-left: -1em" -->
<li><a href="{$href_base}index.html">Home</a></li>
<li><a style="font-weight:bold"
href="{$href_base}docs.html">Developer Menu</a></li>
<li><a style="font-weight:bold"
href="{$href_base}html/index.html">API Menu</a></li>
<xsl:for-each select="/examples/sections/section">
<li><a href="#{@name}"><xsl:value-of select="@name"/> Examples</a></li>
</xsl:for-each>
<li><a href="{$href_base}guidelines.html">XML Guidelines</a></li>
</ul>
</xsl:variable>
<xsl:template match="include">
<xsl:variable name="header" select="substring-before(substring-after(., '/'), '&gt;')"/>
<xsl:variable name="doc" select="concat('../html/libvirt-', $header, 'tml')"/>
<li><a href="{$doc}"><xsl:value-of select="."/></a></li>
</xsl:template>
<xsl:template match="typedef">
<xsl:variable name="name" select="@name"/>
<xsl:variable name="header" select="concat(@file, '.h')"/>
<xsl:variable name="doc" select="concat('../html/libvirt-', @file, '.html#', $name)"/>
<li> line <xsl:value-of select="@line"/>: Type <a href="{$doc}"><xsl:value-of select="$name"/></a> from <xsl:value-of select="$header"/></li>
</xsl:template>
<xsl:template match="function">
<xsl:variable name="name" select="@name"/>
<xsl:variable name="header" select="concat(@file, '.h')"/>
<xsl:variable name="doc" select="concat('../html/libvirt-', @file, '.html#', $name)"/>
<li> line <xsl:value-of select="@line"/>: Function <a href="{$doc}"><xsl:value-of select="$name"/></a> from <xsl:value-of select="$header"/></li>
</xsl:template>
<xsl:template match="macro">
<xsl:variable name="name" select="@name"/>
<xsl:variable name="header" select="concat(@file, '.h')"/>
<xsl:variable name="doc" select="concat('../html/libvirt-', @file, '.html#', $name)"/>
<li> line <xsl:value-of select="@line"/>: Macro <a href="{$doc}"><xsl:value-of select="$name"/></a> from <xsl:value-of select="$header"/></li>
</xsl:template>
<xsl:template match="example">
<xsl:variable name="filename" select="string(@filename)"/>
<h3><a name="{$filename}" href="{$filename}"><xsl:value-of select="$filename"/></a>: <xsl:value-of select="synopsis"/></h3>
<p><xsl:value-of select="purpose"/></p>
<p>Uses:</p>
<ul>
<xsl:for-each select="uses/*">
<xsl:sort select="@line" data-type="number"/>
<xsl:apply-templates select='.'/>
</xsl:for-each>
</ul>
<p>Usage:</p>
<p><xsl:value-of select="usage"/></p>
<p>Author: <xsl:value-of select="author"/></p>
</xsl:template>
<xsl:template match="section">
<li><p> <a href="#{@name}"><xsl:value-of select="@name"/></a> :</p>
<ul>
<xsl:for-each select="example">
<xsl:sort select='.'/>
<xsl:variable name="filename" select="@filename"/>
<li> <a href="#{$filename}"><xsl:value-of select="$filename"/></a>: <xsl:value-of select="/examples/example[@filename = $filename]/synopsis"/></li>
</xsl:for-each>
</ul>
</li>
</xsl:template>
<xsl:template match="sections">
<p> The examples are stored per section depending on the main focus
of the example:</p>
<ul>
<xsl:for-each select="section">
<xsl:sort select='.'/>
<xsl:apply-templates select='.'/>
</xsl:for-each>
</ul>
<p> Getting the compilation options and libraries dependancies needed
to generate binaries from the examples is best done on Linux/Unix by using
the pkg-config data which should have been installed as part of <i>make
install</i> step or when installing the libvirt development package:</p>
<pre>gcc -o example example.c `pkg-config libvirt --libs`</pre>
</xsl:template>
<xsl:template name="sections-list">
<xsl:for-each select="sections/section">
<xsl:variable name="section" select="@name"/>
<h2> <a name="{$section}"></a><xsl:value-of select="$section"/> Examples</h2>
<xsl:apply-templates select='/examples/example[section = $section]'/>
</xsl:for-each>
</xsl:template>
<xsl:template match="examples">
<xsl:variable name="title">Libvirt set of C code examples</xsl:variable>
<xsl:document href="index.html" method="xml" encoding="ISO-8859-1"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
</head>
<body>
<div id="container">
<div id="intro">
<div id="adjustments"/>
<div id="pageHeader"/>
<div id="content2">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<xsl:apply-templates select="sections"/>
<xsl:call-template name="sections-list"/>
</div>
</div>
<xsl:call-template name="linkList2"/>
<xsl:call-template name="bottom"/>
</div>
</body>
</html>
</xsl:document>
</xsl:template>
</xsl:stylesheet>

7
docs/examples/index.html Normal file
View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="../libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Libvirt set of C code examples</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Libvirt set of C code examples</h1><p> The examples are stored per section depending on the main focus
of the example:</p><ul><li><p><a href="#Informations">Informations</a> :</p><ul><li><a href="#info1.c">info1.c</a>: Extract informations about Xen domain 0</li></ul></li><li><p><a href="#Scheduling">Scheduling</a> :</p><ul><li><a href="#suspend.c">suspend.c</a>: Suspend a domain and then resume its execution</li></ul></li></ul><p> Getting the compilation options and libraries dependancies needed
to generate binaries from the examples is best done on Linux/Unix by using
the pkg-config data which should have been installed as part of <i>make
install</i> step or when installing the libvirt development package:</p><pre>gcc -o example example.c `pkg-config libvirt --libs`</pre><h2><a name="Informations" id="Informations"></a>Informations Examples</h2><h3><a name="info1.c" href="info1.c" id="info1.c">info1.c</a>: Extract informations about Xen domain 0</h3><p>Demonstrate the basic use of the library to connect to the hypervisor and extract domain informations.</p><p>Uses:</p><ul><li> line 29: Function <a href="../html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a> from libvirt.h</li><li> line 36: Function <a href="../html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a> from libvirt.h</li><li> line 43: Function <a href="../html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a> from libvirt.h</li><li> line 53: Function <a href="../html/libvirt-libvirt.html#virDomainFree">virDomainFree</a> from libvirt.h</li><li> line 55: Function <a href="../html/libvirt-libvirt.html#virConnectClose">virConnectClose</a> from libvirt.h</li></ul><p>Usage:</p><p>info1</p><p>Author: Daniel Veillard</p><h2><a name="Scheduling" id="Scheduling"></a>Scheduling Examples</h2><h3><a name="suspend.c" href="suspend.c" id="suspend.c">suspend.c</a>: Suspend a domain and then resume its execution</h3><p>Demonstrate the basic use of the library to suspend and resume a domain. If no id is given on the command line this script will suspend and resume the first domain found which is not Domain 0.</p><p>Uses:</p><ul><li> line 30: Function <a href="../html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a> from libvirt.h</li><li> line 49: Function <a href="../html/libvirt-libvirt.html#virDomainLookupByID">virDomainLookupByID</a> from libvirt.h</li><li> line 61: Function <a href="../html/libvirt-libvirt.html#virDomainSuspend">virDomainSuspend</a> from libvirt.h</li><li> line 72: Function <a href="../html/libvirt-libvirt.html#virDomainResume">virDomainResume</a> from libvirt.h</li><li> line 92: Function <a href="../html/libvirt-libvirt.html#virDomainFree">virDomainFree</a> from libvirt.h</li><li> line 99: Function <a href="../html/libvirt-libvirt.html#virConnectOpenReadOnly">virConnectOpenReadOnly</a> from libvirt.h</li><li> line 110: Function <a href="../html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a> from libvirt.h</li><li> line 131: Function <a href="../html/libvirt-libvirt.html#virConnectClose">virConnectClose</a> from libvirt.h</li></ul><p>Usage:</p><p>suspend [id]</p><p>Author: Daniel Veillard</p></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="../index.html">Home</a></li><li><a href="../html/index.html">API Menu</a></li><li><a href="../examples/index.html">C code examples</a></li><li><a href="../ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

300
docs/examples/index.py Executable file
View File

@ -0,0 +1,300 @@
#!/usr/bin/python -u
#
# Indexes the examples and build an XML description
#
import string
import glob
import sys
try:
import libxml2
except:
sys.exit(1)
sys.path.insert(0, "..")
from apibuild import CParser, escape
examples = []
extras = ['examples.xsl', 'index.py']
tests = []
sections = {}
symbols = {}
api_dict = None
api_doc = None
def load_api():
global api_dict
global api_doc
if api_dict != None:
return
api_dict = {}
try:
print "loading ../libvirt-api.xml"
api_doc = libxml2.parseFile("../libvirt-api.xml")
except:
print "failed to parse ../libvirt-api.xml"
sys.exit(1)
def find_symbol(name):
global api_dict
global api_doc
if api_doc == None:
load_api()
if name == None:
return
if api_dict.has_key(name):
return api_dict[name]
ctxt = api_doc.xpathNewContext()
res = ctxt.xpathEval("/api/symbols/*[@name = '%s']" % (name))
if type(res) == type([]) and len(res) >= 1:
if len(res) > 1:
print "Found %d references to %s in the API" % (len(res), name)
node = res[0]
typ = node.name
file = node.xpathEval("string(@file)")
info = node.xpathEval("string(info)")
else:
print "Reference %s not found in the API" % (name)
return None
ret = (typ, file, info)
api_dict[name] = ret
return ret
def parse_top_comment(filename, comment):
res = {}
lines = string.split(comment, "\n")
item = None
for line in lines:
while line != "" and (line[0] == ' ' or line[0] == '\t'):
line = line[1:]
while line != "" and line[0] == '*':
line = line[1:]
while line != "" and (line[0] == ' ' or line[0] == '\t'):
line = line[1:]
try:
(it, line) = string.split(line, ":", 1)
item = it
while line != "" and (line[0] == ' ' or line[0] == '\t'):
line = line[1:]
if res.has_key(item):
res[item] = res[item] + " " + line
else:
res[item] = line
except:
if item != None:
if res.has_key(item):
res[item] = res[item] + " " + line
else:
res[item] = line
return res
def parse(filename, output):
global symbols
global sections
parser = CParser(filename)
parser.collect_references()
idx = parser.parse()
info = parse_top_comment(filename, parser.top_comment)
output.write(" <example filename='%s'>\n" % filename)
try:
synopsis = info['synopsis']
output.write(" <synopsis>%s</synopsis>\n" % escape(synopsis));
except:
print "Example %s lacks a synopsis description" % (filename)
try:
purpose = info['purpose']
output.write(" <purpose>%s</purpose>\n" % escape(purpose));
except:
print "Example %s lacks a purpose description" % (filename)
try:
usage = info['usage']
output.write(" <usage>%s</usage>\n" % escape(usage));
except:
print "Example %s lacks an usage description" % (filename)
try:
test = info['test']
output.write(" <test>%s</test>\n" % escape(test));
progname=filename[0:-2]
command=string.replace(test, progname, './' + progname, 1)
tests.append(command)
except:
pass
try:
author = info['author']
output.write(" <author>%s</author>\n" % escape(author));
except:
print "Example %s lacks an author description" % (filename)
try:
copy = info['copy']
output.write(" <copy>%s</copy>\n" % escape(copy));
except:
print "Example %s lacks a copyright description" % (filename)
try:
section = info['section']
output.write(" <section>%s</section>\n" % escape(section));
if sections.has_key(section):
sections[section].append(filename)
else:
sections[section] = [filename]
except:
print "Example %s lacks a section description" % (filename)
for topic in info.keys():
if topic != "purpose" and topic != "usage" and \
topic != "author" and topic != "copy" and \
topic != "section" and topic != "synopsis" and topic != "test":
str = info[topic]
output.write(" <extra topic='%s'>%s</extra>\n" % (
escape(topic), escape(str)))
output.write(" <includes>\n")
for include in idx.includes.keys():
if include.find("libxml") != -1:
output.write(" <include>%s</include>\n" % (escape(include)))
output.write(" </includes>\n")
output.write(" <uses>\n")
for ref in idx.references.keys():
id = idx.references[ref]
name = id.get_name()
line = id.get_lineno()
if symbols.has_key(name):
sinfo = symbols[name]
refs = sinfo[0]
# gather at most 5 references per symbols
if refs > 5:
continue
sinfo.append(filename)
sinfo[0] = refs + 1
else:
symbols[name] = [1, filename]
info = find_symbol(name)
if info != None:
type = info[0]
file = info[1]
output.write(" <%s line='%d' file='%s' name='%s'/>\n" % (type,
line, file, name))
else:
type = id.get_type()
output.write(" <%s line='%d' name='%s'/>\n" % (type,
line, name))
output.write(" </uses>\n")
output.write(" </example>\n")
return idx
def dump_symbols(output):
global symbols
output.write(" <symbols>\n")
keys = symbols.keys()
keys.sort()
for symbol in keys:
output.write(" <symbol name='%s'>\n" % (symbol))
info = symbols[symbol]
i = 1
while i < len(info):
output.write(" <ref filename='%s'/>\n" % (info[i]))
i = i + 1
output.write(" </symbol>\n")
output.write(" </symbols>\n")
def dump_sections(output):
global sections
output.write(" <sections>\n")
keys = sections.keys()
keys.sort()
for section in keys:
output.write(" <section name='%s'>\n" % (section))
info = sections[section]
i = 0
while i < len(info):
output.write(" <example filename='%s'/>\n" % (info[i]))
i = i + 1
output.write(" </section>\n")
output.write(" </sections>\n")
def dump_Makefile():
for file in glob.glob('*.xml'):
extras.append(file)
for file in glob.glob('*.res'):
extras.append(file)
Makefile="""# Beware this is autogenerated by index.py
SUBDIRS=python
INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I@srcdir@/include
DEPS = $(top_builddir)/src/libvirt.la
LDADDS = @STATIC_BINARIES@ $(top_builddir)/src/libvirt.la
rebuild: examples.xml index.html
examples.xml: index.py *.c
-@($(srcdir)/index.py)
index.html: examples.xml examples.xsl $(top_srcdir)/docs/site.xsl
-@(if [ -x $(XSLTPROC) ] ; then \
$(XSLTPROC) examples.xsl examples.xml && echo "Rebuilt web page" && xmllint --valid --noout index.html ; fi)
install-data-local:
$(mkinstalldirs) $(DESTDIR)$(HTML_DIR)
-@INSTALL@ -m 0644 $(srcdir)/*.html $(srcdir)/*.c $(srcdir)/*.xml $(srcdir)/*.xsl $(srcdir)/*.res $(DESTDIR)$(HTML_DIR)
"""
EXTRA_DIST=""
for extra in extras:
EXTRA_DIST = EXTRA_DIST + extra + " "
Makefile = Makefile + "EXTRA_DIST=%s\n\n" % (EXTRA_DIST)
noinst_PROGRAMS=""
for example in examples:
noinst_PROGRAMS = noinst_PROGRAMS + example + " "
Makefile = Makefile + "noinst_PROGRAMS=%s\n\n" % (noinst_PROGRAMS)
for example in examples:
Makefile = Makefile + "%s_SOURCES=%s.c\n%s_LDFLAGS=\n%s_DEPENDENCIES= $(DEPS)\n%s_LDADD= $(LDADDS)\n\n" % (example, example, example,
example, example)
Makefile = Makefile + "valgrind: \n\t$(MAKE) CHECKER='valgrind' tests\n\n"
Makefile = Makefile + "tests: $(noinst_PROGRAMS)\n"
Makefile = Makefile + "\t@(echo '## examples regression tests')\n"
# Makefile = Makefile + "\t@(echo > .memdump)\n"
for test in tests:
Makefile = Makefile + "\t@($(CHECKER) %s)\n" % (test)
# Makefile = Makefile + '\t@(grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0)\n'
Makefile = Makefile + "\n\n"
try:
old = open("Makefile.am", "r").read()
if old != Makefile:
n = open("Makefile.am", "w").write(Makefile)
print "Updated Makefile.am"
except:
print "Failed to read or save Makefile.am"
#
# Autogenerate the .cvsignore too ...
#
ignore = """.memdump
Makefile.in
Makefile
"""
for example in examples:
ignore = ignore + "%s\n" % (example)
try:
old = open(".cvsignore", "r").read()
if old != ignore:
n = open(".cvsignore", "w").write(ignore)
print "Updated .cvsignore"
except:
print "Failed to read or save .cvsignore"
if __name__ == "__main__":
load_api()
output = open("examples.xml", "w")
output.write("<examples>\n")
for file in glob.glob('*.c'):
parse(file, output)
examples.append(file[:-2])
dump_symbols(output)
dump_sections(output)
output.write("</examples>\n")
output.close()
dump_Makefile()

63
docs/examples/info1.c Normal file
View File

@ -0,0 +1,63 @@
/**
* section: Informations
* synopsis: Extract informations about Xen domain 0
* purpose: Demonstrate the basic use of the library to connect to the
* hypervisor and extract domain informations.
* usage: info1
* test: info1
* author: Daniel Veillard
* copy: see Copyright for the status of this software.
*/
#include <stdio.h>
#include <libvirt/libvirt.h>
/**
* getDomainInfo:
* @id: the id of the domain
*
* extract the domain 0 informations
*/
static void
getDomainInfo(int id) {
virConnectPtr conn = NULL; /* the hypervisor connection */
virDomainPtr dom = NULL; /* the domain being checked */
virDomainInfo info; /* the informations being fetched */
int ret;
/* NULL means connect to local Xen hypervisor */
conn = virConnectOpenReadOnly(NULL);
if (conn == NULL) {
fprintf(stderr, "Failed to connect to hypervisor\n");
goto error;
}
/* Find the domain of the given id */
dom = virDomainLookupByID(conn, id);
if (dom == NULL) {
fprintf(stderr, "Failed to find Domain %d\n", id);
goto error;
}
/* Get the informations */
ret = virDomainGetInfo(dom, &info);
if (ret < 0) {
fprintf(stderr, "Failed to get informations for Domain %d\n", id);
goto error;
}
printf("Domains %d: %d CPUs\n", id, info.nrVirtCpu);
error:
if (dom != NULL)
virDomainFree(dom);
if (conn != NULL)
virConnectClose(conn);
}
int main(int argc, char **argv) {
getDomainInfo(0);
return(0);
}

View File

@ -0,0 +1,2 @@
Makefile
Makefile.in

View File

@ -0,0 +1,4 @@
EXTRA_DIST= \
README \
dominfo.py domrestore.py domsave.py domstart.py \
guava.xml papaya.xml

View File

@ -0,0 +1,15 @@
Some simple examples on how to use the Python API for libvirt
The examples are:
dominfo.py - print information about a running domU based on the results of
virDomainGetInfo and virDomainGetXMLDesc
domstart.py - create a domU from an XML description if the domU isn't
running yet
domsave.py - save all running domU's into a directory
domrestore.py - restore domU's from their saved files in a directory
The XML files in this directory are examples of the XML format that libvirt
expects, and will have to be adapted for your setup. They are only needed
for domstart.py

86
docs/examples/python/dominfo.py Executable file
View File

@ -0,0 +1,86 @@
#! /usr/bin/python
# dominfo - print some information about a domain
import libvirt
import sys
import os
import libxml2
import pdb
def usage():
print 'Usage: %s DOMAIN' % sys.argv[0]
print ' Print information about the domain DOMAIN'
def print_section(title):
print "\n%s" % title
print "=" * 60
def print_entry(key, value):
print "%-10s %-10s" % (key, value)
def print_xml(key, ctx, path):
res = ctx.xpathEval(path)
if res is None or len(res) == 0:
value="Unknown"
else:
value = res[0].content
print_entry(key, value)
return value
if not os.access("/proc/xen", os.R_OK):
print 'System is not running a Xen kernel'
sys.exit(1)
if len(sys.argv) != 2:
usage()
sys.exit(2)
name = sys.argv[1]
# Connect to libvirt
conn = libvirt.openReadOnly(None)
if conn == None:
print 'Failed to open connection to the hypervisor'
sys.exit(1)
try:
dom = conn.lookupByName(name)
# Annoyiingly, libvirt prints its own error message here
except libvirt.libvirtError:
print "Domain %s is not runing" % name
sys.exit(0)
info = dom.info()
print_section("Domain info")
print_entry("State:", info[0])
print_entry("MaxMem:", info[1])
print_entry("UsedMem:", info[2])
print_entry("VCPUs:", info[3])
# Read some info from the XML desc
xmldesc = dom.XMLDesc(0)
doc = libxml2.parseDoc(xmldesc)
ctx = doc.xpathNewContext()
print_section("Kernel")
print_xml("Type:", ctx, "/domain/os/type")
print_xml("Kernel:", ctx, "/domain/os/kernel")
print_xml("initrd:", ctx, "/domain/os/initrd")
print_xml("cmdline:", ctx, "/domain/os/cmdline")
print_section("Devices")
devs = ctx.xpathEval("/domain/devices/*")
for d in devs:
ctx.setContextNode(d)
#pdb.set_trace()
type = print_xml("Type:", ctx, "@type")
if type == "file":
print_xml("Source:", ctx, "source/@file")
print_xml("Target:", ctx, "target/@dev")
elif type == "block":
print_xml("Source:", ctx, "source/@dev")
print_xml("Target:", ctx, "target/@dev")
elif type == "bridge":
print_xml("Source:", ctx, "source/@bridge")
print_xml("MAC Addr:", ctx, "mac/@address")

View File

@ -0,0 +1,36 @@
#! /usr/bin/python
# domstart - make sure a given domU is running, if not start it
import libvirt
import sys
import os
import libxml2
import pdb
def usage():
print 'Usage: %s DIR' % sys.argv[0]
print ' Restore all the domains contained in DIR'
print ' It is assumed that all files in DIR are'
print ' images of domU\'s previously created with save'
if len(sys.argv) != 2:
usage()
sys.exit(2)
dir = sys.argv[1]
imgs = os.listdir(dir)
conn = libvirt.open(None)
if conn == None:
print 'Failed to open connection to the hypervisor'
sys.exit(1)
for img in imgs:
file = os.path.join(dir, img)
print "Restoring %s ... " % img,
sys.stdout.flush()
ret = conn.restore(file)
if ret == 0:
print "done"
else:
print "error %d" % ret

40
docs/examples/python/domsave.py Executable file
View File

@ -0,0 +1,40 @@
#! /usr/bin/python
# domstart - make sure a given domU is running, if not start it
import libvirt
import sys
import os
import libxml2
import pdb
def usage():
print 'Usage: %s DIR' % sys.argv[0]
print ' Save all currently running domU\'s into DIR'
print ' DIR must exist and be writable by this process'
if len(sys.argv) != 2:
usage()
sys.exit(2)
dir = sys.argv[1]
conn = libvirt.open(None)
if conn == None:
print 'Failed to open connection to the hypervisor'
sys.exit(1)
doms = conn.listDomainsID()
for id in doms:
if id == 0:
continue
dom = conn.lookupByID(id)
print "Saving %s[%d] ... " % (dom.name(), id),
sys.stdout.flush()
path = os.path.join(dir, dom.name())
ret = dom.save(path)
if ret == 0:
print "done"
else:
print "error %d" % ret
#pdb.set_trace()

View File

@ -0,0 +1,50 @@
#! /usr/bin/python
# domstart - make sure a given domU is running, if not start it
import libvirt
import sys
import os
import libxml2
import pdb
# Parse the XML description of domU from FNAME
# and return a tuple (name, xmldesc) where NAME
# is the name of the domain, and xmldesc is the contetn of FNAME
def read_domain(fname):
fp = open(fname, "r")
xmldesc = fp.read()
fp.close()
doc = libxml2.parseDoc(xmldesc)
name = doc.xpathNewContext().xpathEval("/domain/name")[0].content
return (name, xmldesc)
def usage():
print 'Usage: %s domain.xml' % sys.argv[0]
print ' Check that the domain described by DOMAIN.XML is running'
print ' If the domain is not running, create it'
print ' DOMAIN.XML must be a XML description of the domain'
print ' in libvirt\'s XML format'
if len(sys.argv) != 2:
usage()
sys.exit(2)
(name, xmldesc) = read_domain(sys.argv[1])
conn = libvirt.openReadOnly(None)
if conn == None:
print 'Failed to open connection to the hypervisor'
sys.exit(1)
try:
dom = conn.lookupByName(name)
except libvirt.libvirtError:
print "Starting domain %s ... " % name,
sys.stdout.flush()
dom = conn.createLinux(xmldesc, 0)
if dom == None:
print "failed"
sys.exit(1)
else:
print "done"

View File

@ -0,0 +1,22 @@
<domain type='xen'>
<name>guava</name>
<os>
<type>linux</type>
<kernel>/var/xen/boot/vmlinuz-2.6.15-1.33_FC5guest</kernel>
<initrd>/var/xen/boot/initrd-2.6.15-1.33_FC5guest.img</initrd>
<cmdline>ro root=/dev/VolGroup00/LogVol00 rhgb quiet</cmdline>
</os>
<memory>262144</memory>
<vcpu>1</vcpu>
<devices>
<disk type='file'>
<source file='/var/xen/guava'/>
<target dev='xvda'/>
</disk>
<interface type='bridge'>
<source bridge='xenbr0'/>
<mac address='00:16:3e:78:a2:42'/>
<script path='/etc/xen/scripts/vif-bridge'/>
</interface>
</devices>
</domain>

View File

@ -0,0 +1,26 @@
<domain type='xen'>
<name>papaya</name>
<os>
<type>linux</type>
<kernel>/var/xen/boot/vmlinuz-2.6.15-1.33_FC5guest</kernel>
<initrd>/var/xen/boot/initrd-2.6.15-1.33_FC5guest.img</initrd>
<cmdline>ro root=/dev/VolGroup00/LogVol00 rhgb quiet single</cmdline>
</os>
<memory>262144</memory>
<vcpu>1</vcpu>
<devices>
<disk type='file'>
<source file='/var/xen/papaya'/>
<target dev='xvda'/>
</disk>
<disk type='block'>
<source dev='/dev/mapper/vg00-lv02'/>
<target dev='sda1'/>
</disk>
<interface type='bridge'>
<source bridge='xenbr0'/>
<mac address='00:16:3e:78:a2:0c'/>
<script path='/etc/xen/scripts/vif-bridge'/>
</interface>
</devices>
</domain>

134
docs/examples/suspend.c Normal file
View File

@ -0,0 +1,134 @@
/**
* section: Scheduling
* synopsis: Suspend a domain and then resume its execution
* purpose: Demonstrate the basic use of the library to suspend and
* resume a domain. If no id is given on the command line
* this script will suspend and resume the first domain found
* which is not Domain 0.
* usage: suspend [id]
* test: suspend
* author: Daniel Veillard
* copy: see Copyright for the status of this software.
*/
#include <stdlib.h>
#include <stdio.h>
#include <libvirt/libvirt.h>
virConnectPtr conn = NULL; /* the hypervisor connection */
/**
* checkDomainState:
* @dom: the domain
*
* Return the current state of a domain or -1 if non-exsitant
*/
static int
checkDomainState(virDomainPtr dom) {
virDomainInfo info; /* the informations being fetched */
int ret;
ret = virDomainGetInfo(dom, &info);
if (ret < 0) {
return(-1);
}
return(info.state);
}
/**
* SuspendAndResumeDomain:
* @id: the id of the domain
*
* extract the domain 0 informations
*/
static void
SuspendAndResumeDomain(int id) {
virDomainPtr dom = NULL; /* the domain being checked */
int ret, state;
/* Find the domain of the given id */
dom = virDomainLookupByID(conn, id);
if (dom == NULL) {
fprintf(stderr, "Failed to find Domain %d\n", id);
goto error;
}
/* Check state */
state = checkDomainState(dom);
if ((state == VIR_DOMAIN_RUNNING) ||
(state == VIR_DOMAIN_NOSTATE) ||
(state == VIR_DOMAIN_BLOCKED)) {
printf("Suspending domain...\n");
ret = virDomainSuspend(dom);
if (ret < 0) {
fprintf(stderr, "Failed to suspend Domain %d\n", id);
goto error;
}
state = checkDomainState(dom);
if (state != VIR_DOMAIN_PAUSED) {
fprintf(stderr, "Domain %d state is not suspended\n", id);
} else {
printf("Domain suspended, resuming it...\n");
}
ret = virDomainResume(dom);
if (ret < 0) {
fprintf(stderr, "Failed to resume Domain %d\n", id);
goto error;
}
state = checkDomainState(dom);
if ((state == VIR_DOMAIN_RUNNING) ||
(state == VIR_DOMAIN_NOSTATE) ||
(state == VIR_DOMAIN_BLOCKED)) {
printf("Domain resumed\n");
} else {
fprintf(stderr, "Domain %d state indicate it is not resumed\n", id);
}
} else {
fprintf(stderr, "Domain %d is not in a state where it should be suspended\n", id);
goto error;
}
error:
if (dom != NULL)
virDomainFree(dom);
}
int main(int argc, char **argv) {
int id = 0;
/* NULL means connect to local Xen hypervisor */
conn = virConnectOpenReadOnly(NULL);
if (conn == NULL) {
fprintf(stderr, "Failed to connect to hypervisor\n");
goto error;
}
if (argc > 1) {
id = atoi(argv[1]);
}
if (id == 0) {
int i, j, ids[10];
i = virConnectListDomains(conn, &ids[0], 10);
if (i < 0) {
fprintf(stderr, "Failed to list the domains\n");
goto error;
}
for (j = 0;j < i;j++) {
if (ids[j] != 0) {
id = ids[j];
break;
}
}
}
if (id == 0) {
fprintf(stderr, "Failed find a running guest domain\n");
goto error;
}
SuspendAndResumeDomain(id);
error:
if (conn != NULL)
virConnectClose(conn);
return(0);
}

178
docs/format.html Normal file
View File

@ -0,0 +1,178 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>XML Format</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">XML Format</h1><p>This section describes the XML format used to represent domains, there are
variations on the format based on the kind of domains run and the options
used to launch them:</p><p><a href="#Normal1">Normal paravirtualized Xen domains</a></p><p><a href="#Fully1">Fully virtualized Xen domains</a></p><p>The formats try as much as possible to follow the same structure and reuse
elements and attributes where it makes sense.</p><h3 id="Normal"><a name="Normal1" id="Normal1">Normal paravirtualized Xen
guests</a>:</h3><p>The library use an XML format to describe domains, as input to <a href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux()</a>
and as the output of <a href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc()</a>,
the following is an example of the format as returned by the shell command
<code>virsh xmldump fc4</code> , where fc4 was one of the running domains:</p><pre>&lt;domain type='xen' <span style="color: #0071FF; background-color: #FFFFFF">id='18'</span>&gt;
&lt;name&gt;fc4&lt;/name&gt;
<span style="color: #00B200; background-color: #FFFFFF">&lt;os&gt;
&lt;type&gt;linux&lt;/type&gt;
&lt;kernel&gt;/boot/vmlinuz-2.6.15-1.43_FC5guest&lt;/kernel&gt;
&lt;initrd&gt;/boot/initrd-2.6.15-1.43_FC5guest.img&lt;/initrd&gt;
&lt;root&gt;/dev/sda1&lt;/root&gt;
&lt;cmdline&gt; ro selinux=0 3&lt;/cmdline&gt;
&lt;/os&gt;</span>
&lt;memory&gt;131072&lt;/memory&gt;
&lt;vcpu&gt;1&lt;/vcpu&gt;
&lt;devices&gt;
<span style="color: #FF0080; background-color: #FFFFFF">&lt;disk type='file'&gt;
&lt;source file='/u/fc4.img'/&gt;
&lt;target dev='sda1'/&gt;
&lt;/disk&gt;</span>
<span style="color: #0000FF; background-color: #FFFFFF">&lt;interface type='bridge'&gt;
&lt;source bridge='xenbr0'/&gt;
&lt;mac address='</span><span style="color: #0000FF; background-color: #FFFFFF"></span><span style="color: #0000FF; background-color: #FFFFFF">aa:00:00:00:00:11'/&gt;
&lt;script path='/etc/xen/scripts/vif-bridge'/&gt;
&lt;/interface&gt;</span>
<span style="color: #FF8000; background-color: #FFFFFF">&lt;console tty='/dev/pts/5'/&gt;</span>
&lt;/devices&gt;
&lt;/domain&gt;</pre><p>The root element must be called <code>domain</code> with no namespace, the
<code>type</code> attribute indicates the kind of hypervisor used, 'xen' is
the default value. The <code>id</code> attribute gives the domain id at
runtime (not however that this may change, for example if the domain is saved
to disk and restored). The domain has a few children whose order is not
significant:</p><ul><li>name: the domain name, preferably ASCII based</li>
<li>memory: the maximum memory allocated to the domain in kilobytes</li>
<li>vcpu: the number of virtual cpu configured for the domain</li>
<li>os: a block describing the Operating System, its content will be
dependant on the OS type
<ul><li>type: indicate the OS type, always linux at this point</li>
<li>kernel: path to the kernel on the Domain 0 filesystem</li>
<li>initrd: an optional path for the init ramdisk on the Domain 0
filesystem</li>
<li>cmdline: optional command line to the kernel</li>
<li>root: the root filesystem from the guest viewpoint, it may be
passed as part of the cmdline content too</li>
</ul></li>
<li>devices: a list of <code>disk</code>, <code>interface</code> and
<code>console</code> descriptions in no special order</li>
</ul><p>The format of the devices and their type may grow over time, but the
following should be sufficient for basic use:</p><p>A <code>disk</code> device indicates a block device, it can have two
values for the type attribute either 'file' or 'block' corresponding to the 2
options availble at the Xen layer. It has two mandatory children, and one
optional one in no specific order:</p><ul><li>source with a file attribute containing the path in Domain 0 to the
file or a dev attribute if using a block device, containing the device
name ('hda5' or '/dev/hda5')</li>
<li>target indicates in a dev attribute the device where it is mapped in
the guest</li>
<li>readonly an optional empty element indicating the device is
read-only</li>
</ul><p>An <code>interface</code> element describes a network device mapped on the
guest, it also has a type whose value is currently 'bridge', it also have a
number of children in no specific order:</p><ul><li>source: indicating the bridge name</li>
<li>mac: the optional mac address provided in the address attribute</li>
<li>ip: the optional IP address provided in the address attribute</li>
<li>script: the script used to bridge the interfcae in the Domain 0</li>
<li>target: and optional target indicating the device name.</li>
</ul><p>A <code>console</code> element describes a serial console connection to
the guest. It has no children, and a single attribute <code>tty</code> which
provides the path to the Pseudo TTY on which the guest console can be
accessed</p><p>Life cycle actions for the domain can also be expressed in the XML format,
they drive what should be happening if the domain crashes, is rebooted or is
poweroff. There is various actions possible when this happen:</p><ul><li>destroy: The domain is cleaned up (that's the default normal processing
in Xen)</li>
<li>restart: A new domain is started in place of the old one with the same
configuration parameters</li>
<li>preserve: The domain will remain in memory until it is destroyed
manually, it won't be running but allows for post-mortem debugging</li>
<li>rename-restart: a variant of the previous one but where the old domain
is renamed before being saved to allow a restart</li>
</ul><p>The following could be used for a Xen production system:</p><pre>&lt;domain&gt;
...
&lt;on_reboot&gt;restart&lt;/on_reboot&gt;
&lt;on_poweroff&gt;destroy&lt;/on_poweroff&gt;
&lt;on_crash&gt;rename-restart&lt;/on_crash&gt;
...
&lt;/domain&gt;</pre><p>While the format may be extended in various ways as support for more
hypervisor types and features are added, it is expected that this core subset
will remain functional in spite of the evolution of the library.</p><h3 id="Fully"><a name="Fully1" id="Fully1">Fully virtualized guests</a>
(added in 0.1.3):</h3><p>Here is an example of a domain description used to start a fully
virtualized (a.k.a. HVM) Xen domain. This requires hardware virtualization
support at the processor level but allows to run unmodified operating
systems:</p><pre>&lt;domain type='xen' id='3'&gt;
&lt;name&gt;fv0&lt;/name&gt;
&lt;uuid&gt;4dea22b31d52d8f32516782e98ab3fa0&lt;/uuid&gt;
&lt;os&gt;
<span style="color: #0000E5; background-color: #FFFFFF">&lt;type&gt;hvm&lt;/type&gt;</span>
<span style="color: #0000E5; background-color: #FFFFFF">&lt;loader&gt;/usr/lib/xen/boot/hvmloader&lt;/loader&gt;</span>
<span style="color: #0000E5; background-color: #FFFFFF">&lt;boot dev='hd'/&gt;</span>
&lt;/os&gt;
&lt;memory&gt;524288&lt;/memory&gt;
&lt;vcpu&gt;1&lt;/vcpu&gt;
&lt;on_poweroff&gt;destroy&lt;/on_poweroff&gt;
&lt;on_reboot&gt;restart&lt;/on_reboot&gt;
&lt;on_crash&gt;restart&lt;/on_crash&gt;
&lt;features&gt;
<span style="color: #E50000; background-color: #FFFFFF">&lt;pae/&gt;
&lt;acpi/&gt;
&lt;apic/&gt;</span>
&lt;/features&gt;
&lt;devices&gt;
<span style="color: #0000E5; background-color: #FFFFFF">&lt;emulator&gt;/usr/lib/xen/bin/qemu-dm&lt;/emulator&gt;</span>
&lt;interface type='bridge'&gt;
&lt;source bridge='xenbr0'/&gt;
&lt;mac address='00:16:3e:5d:c7:9e'/&gt;
&lt;script path='vif-bridge'/&gt;
&lt;/interface&gt;
&lt;disk type='file'&gt;
&lt;source file='/root/fv0'/&gt;
&lt;target <span style="color: #0000E5; background-color: #FFFFFF">dev='hda'</span>/&gt;
&lt;/disk&gt;
&lt;disk type='file' <span style="color: #0000E5; background-color: #FFFFFF">device='cdrom'</span>&gt;
&lt;source file='/root/fc5-x86_64-boot.iso'/&gt;
&lt;target <span style="color: #0000E5; background-color: #FFFFFF">dev='hdc'</span>/&gt;
&lt;readonly/&gt;
&lt;/disk&gt;
&lt;disk type='file' <span style="color: #0000E5; background-color: #FFFFFF">device='floppy'</span>&gt;
&lt;source file='/root/fd.img'/&gt;
&lt;target <span style="color: #0000E5; background-color: #FFFFFF">dev='fda'</span>/&gt;
&lt;/disk&gt;
<span style="color: #0000E5; background-color: #FFFFFF">&lt;graphics type='vnc' port='5904'/&gt;</span>
&lt;/devices&gt;
&lt;/domain&gt;</pre><p>There is a few things to notice specifically for HVM domains:</p><ul><li>the optional <code>&lt;features&gt;</code> block is used to enable
certain guest CPU / system features. For HVM guests the following
features are defined:
<ul><li><code>pae</code> - enable PAE memory addressing</li>
<li><code>apic</code> - enable IO APIC</li>
<li><code>acpi</code> - enable ACPI bios</li>
</ul></li>
<li>the <code>&lt;os&gt;</code> block description is very different, first
it indicates that the type is 'hvm' for hardware virtualization, then
instead of a kernel, boot and command line arguments, it points to an os
boot loader which will extract the boot informations from the boot device
specified in a separate boot element. The <code>dev</code> attribute on
the <code>boot</code> tag can be one of:
<ul><li><code>fd</code> - boot from first floppy device</li>
<li><code>hd</code> - boot from first harddisk device</li>
<li><code>cdrom</code> - boot from first cdrom device</li>
</ul></li>
<li>the <code>&lt;devices&gt;</code> section includes an emulator entry
pointing to an additional program in charge of emulating the devices</li>
<li>the disk entry indicates in the dev target section that the emulation
for the drive is the first IDE disk device hda. The list of device names
supported is dependant on the Hypervisor, but for Xen it can be any IDE
device <code>hda</code>-<code>hdd</code>, or a floppy device
<code>fda</code>, <code>fdb</code>. The <code>&lt;disk&gt;</code> element
also supports a 'device' attribute to indicate what kinda of hardware to
emulate. The following values are supported:
<ul><li><code>floppy</code> - a floppy disk controller</li>
<li><code>disk</code> - a generic hard drive (the default it
omitted)</li>
<li><code>cdrom</code> - a CDROM device</li>
</ul>
For Xen 3.0.2 and earlier a CDROM device can only be emulated on the
<code>hdc</code> channel, while for 3.0.3 and later, it can be emulated
on any IDE channel.</li>
<li>the <code>&lt;devices&gt;</code> section also include at least one
entry for the graphic device used to render the os. Currently there is
just 2 types possible 'vnc' or 'sdl'. If the type is 'vnc', then an
additional <code>port</code> attribute will be present indicating the TCP
port on which the VNC server is accepting client connections.</li>
</ul><p>It is likely that the HVM description gets additional optional elements
and attributes as the support for fully virtualized domain expands,
especially for the variety of devices emulated and the graphic support
options offered.</p></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="architecture.html">libvirt architecture</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="format.html">XML Format</a></li><li><a href="python.html">Binding for Python</a></li><li><a href="errors.html">Handling of errors</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -1,13 +1,3 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><style type="text/css">
div.deprecated pre.programlisting {border-style: double;border-color:red}
pre.programlisting {border-style: double;background: #EECFA1}
</style><title>Reference Manual for libvir</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libvir</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libvir-libvir.html">libvir</a>: core interfaces for the libvir library</li></ul><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="../libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Reference Manual for libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Reference Manual for libvirt</h1><h2>Table of Contents</h2><ul><li><a href="libvirt-libvirt.html">libvirt</a>: core interfaces for the libvirt library</li><li><a href="libvirt-virterror.html">virterror</a>: error handling interfaces for the libvirt library</li></ul></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="../index.html">Home</a></li><li><a href="../html/index.html">API Menu</a></li><li><a href="../examples/index.html">C code examples</a></li><li><a href="../ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -1,13 +1,3 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><style type="text/css">
div.deprecated pre.programlisting {border-style: double;border-color:red}
pre.programlisting {border-style: double;background: #EECFA1}
</style><title>Reference Manual for libvir</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libvir</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libvir-libvir.html">libvir</a>: core interfaces for the libvir library</li></ul><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="../libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Reference Manual for libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Reference Manual for libvirt</h1><h2>Table of Contents</h2><ul><li><a href="libvirt-libvirt.html">libvirt</a>: core interfaces for the libvirt library</li><li><a href="libvirt-virterror.html">virterror</a>: error handling interfaces for the libvirt library</li></ul></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="../index.html">Home</a></li><li><a href="../html/index.html">API Menu</a></li><li><a href="../examples/index.html">C code examples</a></li><li><a href="../ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><style type="text/css">
div.deprecated pre.programlisting {border-style: double;border-color:red}
pre.programlisting {border-style: double;background: #EECFA1}
</style><title>Reference Manual for libvir</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Reference Manual for libvir</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><ul><li><a href="libvir-libvir.html">libvir</a>: core interfaces for the libvir library</li></ul><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>

View File

@ -1,121 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><style type="text/css">
div.deprecated pre.programlisting {border-style: double;border-color:red}
pre.programlisting {border-style: double;background: #EECFA1}
</style><title>Module libvir from libvir</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module libvir from libvir</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The virtualization API</a></th></tr></table><p>Provides the interfaces of the libvir library to handle Xen domains from a process running in domain 0 </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a></pre><pre class="programlisting">Structure <a href="#virConnect">virConnect</a><br />struct _virConnect
The content of this structure is not made public by the API.
</pre><pre class="programlisting">Typedef <a href="libvir-libvir.html#virConnect">virConnect</a> * <a name="virConnectPtr" id="virConnectPtr">virConnectPtr</a>
</pre><pre class="programlisting">Structure <a href="#virDomain">virDomain</a><br />struct _virDomain
The content of this structure is not made public by the API.
</pre><pre class="programlisting">Enum <a href="#virDomainCreateFlags">virDomainCreateFlags</a>
</pre><pre class="programlisting">Structure <a href="#virDomainInfo">virDomainInfo</a><br />struct _virDomainInfo
</pre><pre class="programlisting">Typedef <a href="libvir-libvir.html#virDomainInfo">virDomainInfo</a> * <a name="virDomainInfoPtr" id="virDomainInfoPtr">virDomainInfoPtr</a>
</pre><pre class="programlisting">Typedef <a href="libvir-libvir.html#virDomain">virDomain</a> * <a name="virDomainPtr" id="virDomainPtr">virDomainPtr</a>
</pre><pre class="programlisting">Enum <a href="#virDomainState">virDomainState</a>
</pre><pre class="programlisting">int <a href="#virConnectClose">virConnectClose</a> (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn)</pre>
<pre class="programlisting">const char * <a href="#virConnectGetType">virConnectGetType</a> (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn)</pre>
<pre class="programlisting">int <a href="#virConnectGetVersion">virConnectGetVersion</a> (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn, <br /> unsigned long * hvVer)</pre>
<pre class="programlisting">int <a href="#virConnectListDomains">virConnectListDomains</a> (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn, <br /> int * ids, <br /> int maxids)</pre>
<pre class="programlisting">int <a href="#virConnectNumOfDomains">virConnectNumOfDomains</a> (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn)</pre>
<pre class="programlisting"><a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> <a href="#virConnectOpen">virConnectOpen</a> (const char * name)</pre>
<pre class="programlisting"><a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> <a href="#virConnectOpenReadOnly">virConnectOpenReadOnly</a> (const char * name)</pre>
<pre class="programlisting"><a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> <a href="#virDomainCreateLinux">virDomainCreateLinux</a> (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * kernel_path, <br /> const char * initrd_path, <br /> const char * cmdline, <br /> unsigned long memory, <br /> unsigned int flags)</pre>
<pre class="programlisting">int <a href="#virDomainDestroy">virDomainDestroy</a> (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)</pre>
<pre class="programlisting">int <a href="#virDomainFree">virDomainFree</a> (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)</pre>
<pre class="programlisting">unsigned int <a href="#virDomainGetID">virDomainGetID</a> (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)</pre>
<pre class="programlisting">int <a href="#virDomainGetInfo">virDomainGetInfo</a> (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain, <br /> <a href="libvir-libvir.html#virDomainInfoPtr">virDomainInfoPtr</a> info)</pre>
<pre class="programlisting">unsigned long <a href="#virDomainGetMaxMemory">virDomainGetMaxMemory</a> (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)</pre>
<pre class="programlisting">const char * <a href="#virDomainGetName">virDomainGetName</a> (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)</pre>
<pre class="programlisting">char * <a href="#virDomainGetOSType">virDomainGetOSType</a> (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)</pre>
<pre class="programlisting">char * <a href="#virDomainGetXMLDesc">virDomainGetXMLDesc</a> (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain, <br /> int flags)</pre>
<pre class="programlisting"><a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> <a href="#virDomainLookupByID">virDomainLookupByID</a> (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn, <br /> int id)</pre>
<pre class="programlisting"><a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> <a href="#virDomainLookupByName">virDomainLookupByName</a> (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * name)</pre>
<pre class="programlisting">int <a href="#virDomainResume">virDomainResume</a> (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)</pre>
<pre class="programlisting">int <a href="#virDomainSetMaxMemory">virDomainSetMaxMemory</a> (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain, <br /> unsigned long memory)</pre>
<pre class="programlisting">int <a href="#virDomainShutdown">virDomainShutdown</a> (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)</pre>
<pre class="programlisting">int <a href="#virDomainSuspend">virDomainSuspend</a> (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)</pre>
<pre class="programlisting">int <a href="#virGetVersion">virGetVersion</a> (unsigned long * libVer, <br /> const char * type, <br /> unsigned long * typeVer)</pre>
<h2>Description</h2>
<h3><a name="LIBVIR_VERSION_NUMBER" id="LIBVIR_VERSION_NUMBER"></a>Macro: LIBVIR_VERSION_NUMBER</h3><pre>#define LIBVIR_VERSION_NUMBER</pre><p>Macro providing the version of the library as version * 1,000,000 + minor * 1000 + micro</p>
<h3><a name="virConnect" id="virConnect">Structure virConnect</a></h3><pre class="programlisting">Structure virConnect<br />struct _virConnect {
The content of this structure is not made public by the API.
}</pre>
a virConnectPtr is pointer to a virConnect private structure, this is the type used to reference a connection to the Xen Hypervisor in the API.
<h3><a name="virDomain" id="virDomain">Structure virDomain</a></h3><pre class="programlisting">Structure virDomain<br />struct _virDomain {
The content of this structure is not made public by the API.
}</pre><h3>Enum <a name="virDomainCreateFlags" id="virDomainCreateFlags">virDomainCreateFlags</a></h3><pre class="programlisting">Enum virDomainCreateFlags {
<a name="VIR_DOMAIN_NONE" id="VIR_DOMAIN_NONE">VIR_DOMAIN_NONE</a> = 0
}
</pre><h3><a name="virDomainInfo" id="virDomainInfo">Structure virDomainInfo</a></h3><pre class="programlisting">Structure virDomainInfo<br />struct _virDomainInfo {
unsigned char state : the running state, one of virDomainFlag
unsigned long maxMem : the maximum memory in KBytes allowed
unsigned long memory : the memory in KBytes used by the domain
unsigned short nrVirtCpu : * Informations below are only available
unsigned long long cpuTime : * TODO: * - check what can be extracted
}</pre>
a virDomainInfoPtr is a pointer to a virDomainInfo structure.
a virDomainPtr is pointer to a virDomain private structure, this is the type used to reference a Xen domain in the API.
<h3>Enum <a name="virDomainState" id="virDomainState">virDomainState</a></h3><pre class="programlisting">Enum virDomainState {
<a name="VIR_DOMAIN_NOSTATE" id="VIR_DOMAIN_NOSTATE">VIR_DOMAIN_NOSTATE</a> = 0 : no state
<a name="VIR_DOMAIN_RUNNING" id="VIR_DOMAIN_RUNNING">VIR_DOMAIN_RUNNING</a> = 1 : the domain is running
<a name="VIR_DOMAIN_BLOCKED" id="VIR_DOMAIN_BLOCKED">VIR_DOMAIN_BLOCKED</a> = 2 : the domain is blocked on resource
<a name="VIR_DOMAIN_PAUSED" id="VIR_DOMAIN_PAUSED">VIR_DOMAIN_PAUSED</a> = 3 : the domain is paused by user
<a name="VIR_DOMAIN_SHUTDOWN" id="VIR_DOMAIN_SHUTDOWN">VIR_DOMAIN_SHUTDOWN</a> = 4 : the domain is being shut down
<a name="VIR_DOMAIN_SHUTOFF" id="VIR_DOMAIN_SHUTOFF">VIR_DOMAIN_SHUTOFF</a> = 5 : the domain is shut off
}
</pre><h3><a name="virConnectClose" id="virConnectClose"></a>Function: virConnectClose</h3><pre class="programlisting">int virConnectClose (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn)<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>
<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>0 in case of success or -1 in case of error.</td></tr></tbody></table></div><h3><a name="virConnectGetType" id="virConnectGetType"></a>Function: virConnectGetType</h3><pre class="programlisting">const char * virConnectGetType (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn)<br />
</pre><p>Get the name of the Hypervisor software used.</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>NULL in case of error, a static zero terminated string otherwise.</td></tr></tbody></table></div><h3><a name="virConnectGetVersion" id="virConnectGetVersion"></a>Function: virConnectGetVersion</h3><pre class="programlisting">int virConnectGetVersion (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn, <br /> unsigned long * hvVer)<br />
</pre><p>Get the version level of the Hypervisor running. This may work only with hypervisor call, i.e. with priviledged access to the hypervisor, not with a Read-Only connection.</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>hvVer</tt></i>:</span></td><td>return value for the version of the running hypervisor (OUT)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise. if the version can't be extracted by lack of capacities returns 0 and @hvVer is 0, otherwise @hvVer value is major * 1,000,000 + minor * 1,000 + release</td></tr></tbody></table></div><h3><a name="virConnectListDomains" id="virConnectListDomains"></a>Function: virConnectListDomains</h3><pre class="programlisting">int virConnectListDomains (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn, <br /> int * ids, <br /> int maxids)<br />
</pre><p>Collect the list of active domains, and store their ID in @maxids</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>ids</tt></i>:</span></td><td>array to collect the list of IDs of active domains</td></tr><tr><td><span class="term"><i><tt>maxids</tt></i>:</span></td><td>size of @ids</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of domain found or -1 in case of error</td></tr></tbody></table></div><h3><a name="virConnectNumOfDomains" id="virConnectNumOfDomains"></a>Function: virConnectNumOfDomains</h3><pre class="programlisting">int virConnectNumOfDomains (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn)<br />
</pre><p>Provides the number of active domains.</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 number of domain found or -1 in case of error</td></tr></tbody></table></div><h3><a name="virConnectOpen" id="virConnectOpen"></a>Function: virConnectOpen</h3><pre class="programlisting"><a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> virConnectOpen (const char * name)<br />
</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>optional argument currently unused, pass NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the hypervisor connection or NULL in case of error</td></tr></tbody></table></div><h3><a name="virConnectOpenReadOnly" id="virConnectOpenReadOnly"></a>Function: virConnectOpenReadOnly</h3><pre class="programlisting"><a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> virConnectOpenReadOnly (const char * name)<br />
</pre><p>This function should be called first to get a read-only connection to the xen store. The set of APIs usable are then restricted.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>optional argument currently unused, pass NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the hypervisor connection or NULL in case of error</td></tr></tbody></table></div><h3><a name="virDomainCreateLinux" id="virDomainCreateLinux"></a>Function: virDomainCreateLinux</h3><pre class="programlisting"><a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> virDomainCreateLinux (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * kernel_path, <br /> const char * initrd_path, <br /> const char * cmdline, <br /> unsigned long memory, <br /> unsigned int flags)<br />
</pre><p>Launch a new Linux guest domain, unimplemented yet, API to be defined. This would function requires priviledged access to the hypervisor.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><span class="term"><i><tt>kernel_path</tt></i>:</span></td><td>the file path to the kernel image</td></tr><tr><td><span class="term"><i><tt>initrd_path</tt></i>:</span></td><td>an optional file path to an initrd</td></tr><tr><td><span class="term"><i><tt>cmdline</tt></i>:</span></td><td>optional command line parameters for the kernel</td></tr><tr><td><span class="term"><i><tt>memory</tt></i>:</span></td><td>the memory size in kilobytes</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>an optional set of virDomainFlags</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new domain object or NULL in case of failure</td></tr></tbody></table></div><h3><a name="virDomainDestroy" id="virDomainDestroy"></a>Function: virDomainDestroy</h3><pre class="programlisting">int virDomainDestroy (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Destroy the domain object. The running instance is shutdown if not down already and all resources used by it are given back to the hypervisor. The data structure is freed and should not be used thereafter if the call does not return an error. This function requires priviledged access to the hypervisor.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainFree" id="virDomainFree"></a>Function: virDomainFree</h3><pre class="programlisting">int virDomainFree (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Free the domain object. The running instance is kept alive. The data structure is freed and should not be used thereafter.</p>
<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="virDomainGetID" id="virDomainGetID"></a>Function: virDomainGetID</h3><pre class="programlisting">unsigned int virDomainGetID (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Get the hypervisor ID number for the domain</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the domain ID number or (unsigned int) -1 in case of error</td></tr></tbody></table></div><h3><a name="virDomainGetInfo" id="virDomainGetInfo"></a>Function: virDomainGetInfo</h3><pre class="programlisting">int virDomainGetInfo (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain, <br /> <a href="libvir-libvir.html#virDomainInfoPtr">virDomainInfoPtr</a> info)<br />
</pre><p>Extract information about a domain. Note that if the connection used to get the domain is limited only a partial set of the informations can be extracted.</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>info</tt></i>:</span></td><td>pointer to a <a href="libvir-libvir.html#virDomainInfo">virDomainInfo</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="virDomainGetMaxMemory" id="virDomainGetMaxMemory"></a>Function: virDomainGetMaxMemory</h3><pre class="programlisting">unsigned long virDomainGetMaxMemory (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Retrieve the maximum amount of physical memory allocated to a domain. If domain is NULL, then this get the amount of memory reserved to Domain0 i.e. the domain where the application runs.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the memory size in kilobytes or 0 in case of error.</td></tr></tbody></table></div><h3><a name="virDomainGetName" id="virDomainGetName"></a>Function: virDomainGetName</h3><pre class="programlisting">const char * virDomainGetName (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Get the public name for that domain</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the name or NULL, the string need not be deallocated its lifetime will be the same as the domain object.</td></tr></tbody></table></div><h3><a name="virDomainGetOSType" id="virDomainGetOSType"></a>Function: virDomainGetOSType</h3><pre class="programlisting">char * virDomainGetOSType (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Get the type of domain operation system.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new string or NULL in case of error</td></tr></tbody></table></div><h3><a name="virDomainGetXMLDesc" id="virDomainGetXMLDesc"></a>Function: virDomainGetXMLDesc</h3><pre class="programlisting">char * virDomainGetXMLDesc (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain, <br /> int flags)<br />
</pre><p>Provide an XML description of the domain. NOTE: this API is subject to changes.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>and OR'ed set of extraction flags, not used yet</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a 0 terminated UTF-8 encoded XML instance, or NULL in case of error. the caller must free() the returned value.</td></tr></tbody></table></div><h3><a name="virDomainLookupByID" id="virDomainLookupByID"></a>Function: virDomainLookupByID</h3><pre class="programlisting"><a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> virDomainLookupByID (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn, <br /> int id)<br />
</pre><p>Try to find a domain based on the hypervisor ID number</p>
<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>id</tt></i>:</span></td><td>the domain ID number</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new domain object or NULL in case of failure</td></tr></tbody></table></div><h3><a name="virDomainLookupByName" id="virDomainLookupByName"></a>Function: virDomainLookupByName</h3><pre class="programlisting"><a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> virDomainLookupByName (<a href="libvir-libvir.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * name)<br />
</pre><p>Try to lookup a domain 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 domain</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new domain object or NULL in case of failure</td></tr></tbody></table></div><h3><a name="virDomainResume" id="virDomainResume"></a>Function: virDomainResume</h3><pre class="programlisting">int virDomainResume (<a href="libvir-libvir.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 requires priviledged access to the hypervisor.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainSetMaxMemory" id="virDomainSetMaxMemory"></a>Function: virDomainSetMaxMemory</h3><pre class="programlisting">int virDomainSetMaxMemory (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain, <br /> unsigned long memory)<br />
</pre><p>Dynamically change the maximum amount of physical memory allocated to a domain. If domain is NULL, then this change the amount of memory reserved to Domain0 i.e. the domain where the application runs. This function requires priviledged access to the hypervisor.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object or NULL</td></tr><tr><td><span class="term"><i><tt>memory</tt></i>:</span></td><td>the memory size in kilobytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainShutdown" id="virDomainShutdown"></a>Function: virDomainShutdown</h3><pre class="programlisting">int virDomainShutdown (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Shutdown a domain, the domain object is still usable there after but the domain OS is being stopped. TODO: should we add an option for reboot, knowing it may not be doable in the general case ?</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainSuspend" id="virDomainSuspend"></a>Function: virDomainSuspend</h3><pre class="programlisting">int virDomainSuspend (<a href="libvir-libvir.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Suspends an active domain, the process is frozen without further access to CPU resources and I/O but the memory used by the domain at the hypervisor level will stay allocated. Use virDomainResume() to reactivate the domain. This function requires priviledged access to the hypervisor.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virGetVersion" id="virGetVersion"></a>Function: virGetVersion</h3><pre class="programlisting">int virGetVersion (unsigned long * libVer, <br /> const char * type, <br /> unsigned long * typeVer)<br />
</pre><p>Provides two information back, @libVer is the version of the library while @typeVer will be the version of the hypervisor type @type against which the library was compiled. If @type is NULL, "Xen" is assumed, if @type is unknown or not availble, an error code will be returned and @typeVer will be 0.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>libVer</tt></i>:</span></td><td>return value for the library version (OUT)</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>hypervisor type</td></tr><tr><td><span class="term"><i><tt>typeVer</tt></i>:</span></td><td>return value for the version of the hypervisor (OUT)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 otherwise, and values for @libVer and @typeVer have the format major * 1,000,000 + minor * 1,000 + release.</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>

View File

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="../libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Module conf from libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Module conf from libvirt</h1><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libvirt-virterror.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libvirt-virterror.html">virterror</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The virtualization API</a></th></tr></table><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#virConf">virConf</a><br />struct _virConf
The content of this structure is not made public by the API.
</pre><pre class="programlisting">Typedef <a href="libvirt-conf.html#virConf">virConf</a> * <a name="virConfPtr" id="virConfPtr">virConfPtr</a>
</pre><pre class="programlisting">Enum <a href="#virConfType">virConfType</a>
</pre><pre class="programlisting">Structure <a href="#virConfValue">virConfValue</a><br />struct _virConfValue
</pre><pre class="programlisting">Typedef <a href="libvirt-conf.html#virConfValue">virConfValue</a> * <a name="virConfValuePtr" id="virConfValuePtr">virConfValuePtr</a>
</pre><pre class="programlisting">int <a href="#virConfFree">virConfFree</a> (<a href="libvirt-conf.html#virConfPtr">virConfPtr</a> conf)</pre>
<pre class="programlisting"><a href="libvirt-conf.html#virConfValuePtr">virConfValuePtr</a> <a href="#virConfGetValue">virConfGetValue</a> (<a href="libvirt-conf.html#virConfPtr">virConfPtr</a> conf, <br /> const char * setting)</pre>
<pre class="programlisting"><a href="libvirt-conf.html#virConfPtr">virConfPtr</a> <a href="#virConfReadFile">virConfReadFile</a> (const char * filename)</pre>
<pre class="programlisting"><a href="libvirt-conf.html#virConfPtr">virConfPtr</a> <a href="#virConfReadMem">virConfReadMem</a> (const char * memory, <br /> int len)</pre>
<pre class="programlisting">int <a href="#virConfWriteFile">virConfWriteFile</a> (const char * filename, <br /> <a href="libvirt-conf.html#virConfPtr">virConfPtr</a> conf)</pre>
<pre class="programlisting">int <a href="#virConfWriteMem">virConfWriteMem</a> (char * memory, <br /> int * len, <br /> <a href="libvirt-conf.html#virConfPtr">virConfPtr</a> conf)</pre>
<h2>Description</h2>
<h3><a name="virConf" id="virConf">Structure virConf</a></h3><pre class="programlisting">Structure virConf<br />struct _virConf {
The content of this structure is not made public by the API.
}</pre>
a pointer to a parsed configuration file
<h3>Enum <a name="virConfType" id="virConfType">virConfType</a></h3><pre class="programlisting">Enum virConfType {
<a name="VIR_CONF_NONE" id="VIR_CONF_NONE">VIR_CONF_NONE</a> = 0 : undefined
<a name="VIR_CONF_LONG" id="VIR_CONF_LONG">VIR_CONF_LONG</a> = 1 : a long int
<a name="VIR_CONF_STRING" id="VIR_CONF_STRING">VIR_CONF_STRING</a> = 2 : a string
<a name="VIR_CONF_LIST" id="VIR_CONF_LIST">VIR_CONF_LIST</a> = 3 : a list
}
</pre><h3><a name="virConfValue" id="virConfValue">Structure virConfValue</a></h3><pre class="programlisting">Structure virConfValue<br />struct _virConfValue {
<a href="libvirt-conf.html#virConfType">virConfType</a> type : the <a href="libvirt-conf.html#virConfType">virConfType</a>
<a href="libvirt-conf.html#virConfValuePtr">virConfValuePtr</a> next : next element if in a list
long l : long integer
char * str : pointer to 0 terminated string
<a href="libvirt-conf.html#virConfValuePtr">virConfValuePtr</a> list : list of a list
}</pre><h3><a name="virConfFree" id="virConfFree"></a>Function: virConfFree</h3><pre class="programlisting">int virConfFree (<a href="libvirt-conf.html#virConfPtr">virConfPtr</a> conf)<br />
</pre><p>Frees all data associated to the handle</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>conf</tt></i>:</span></td><td>a configuration file handle</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="virConfGetValue" id="virConfGetValue"></a>Function: virConfGetValue</h3><pre class="programlisting"><a href="libvirt-conf.html#virConfValuePtr">virConfValuePtr</a> virConfGetValue (<a href="libvirt-conf.html#virConfPtr">virConfPtr</a> conf, <br /> const char * setting)<br />
</pre><p>Lookup the value associated to this entry in the configuration file</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>conf</tt></i>:</span></td><td>a configuration file handle</td></tr><tr><td><span class="term"><i><tt>setting</tt></i>:</span></td><td></td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the value or NULL if the lookup failed, the data associated will be freed when virConfFree() is called</td></tr></tbody></table></div><h3><a name="virConfReadFile" id="virConfReadFile"></a>Function: virConfReadFile</h3><pre class="programlisting"><a href="libvirt-conf.html#virConfPtr">virConfPtr</a> virConfReadFile (const char * filename)<br />
</pre><p>Reads a configuration file.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the path to the configuration file.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an handle to lookup settings or NULL if it failed to read or parse the file, use virConfFree() to free the data.</td></tr></tbody></table></div><h3><a name="virConfReadMem" id="virConfReadMem"></a>Function: virConfReadMem</h3><pre class="programlisting"><a href="libvirt-conf.html#virConfPtr">virConfPtr</a> virConfReadMem (const char * memory, <br /> int len)<br />
</pre><p>Reads a configuration file loaded in memory. The string can be zero terminated in which case @len can be 0</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>memory</tt></i>:</span></td><td>pointer to the content of the configuration file</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>lenght in byte</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an handle to lookup settings or NULL if it failed to parse the content, use virConfFree() to free the data.</td></tr></tbody></table></div><h3><a name="virConfWriteFile" id="virConfWriteFile"></a>Function: virConfWriteFile</h3><pre class="programlisting">int virConfWriteFile (const char * filename, <br /> <a href="libvirt-conf.html#virConfPtr">virConfPtr</a> conf)<br />
</pre><p>Writes a configuration file back to a file.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the path to the configuration file.</td></tr><tr><td><span class="term"><i><tt>conf</tt></i>:</span></td><td>the conf</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of error.</td></tr></tbody></table></div><h3><a name="virConfWriteMem" id="virConfWriteMem"></a>Function: virConfWriteMem</h3><pre class="programlisting">int virConfWriteMem (char * memory, <br /> int * len, <br /> <a href="libvirt-conf.html#virConfPtr">virConfPtr</a> conf)<br />
</pre><p>Writes a configuration file back to a memory area. @len is an IN/OUT parameter, it indicates the size available in bytes, and on output the size required for the configuration file (even if the call fails due to insufficient space).</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>memory</tt></i>:</span></td><td>pointer to the memory to store the config file</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>pointer to the lenght in byte of the store, on output the size</td></tr><tr><td><span class="term"><i><tt>conf</tt></i>:</span></td><td>the conf</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of error.</td></tr></tbody></table></div></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="../index.html">Home</a></li><li><a href="../html/index.html">API Menu</a></li><li><a href="../examples/index.html">C code examples</a></li><li><a href="../ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="../libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Reference Manual for libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Reference Manual for libvirt</h1><h2>Table of Contents</h2><ul><li><a href="libvirt-libvirt.html">libvirt</a>: core interfaces for the libvirt library</li><li><a href="libvirt-virterror.html">virterror</a>: error handling interfaces for the libvirt library</li></ul></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="../index.html">Home</a></li><li><a href="../html/index.html">API Menu</a></li><li><a href="../examples/index.html">C code examples</a></li><li><a href="../ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -0,0 +1,231 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="../libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Module libvirt from libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Module libvirt from libvirt</h1><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The virtualization API</a></th><th align="right"><a href="libvirt-virterror.html">virterror</a></th><td><a accesskey="n" href="libvirt-virterror.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>Provides the interfaces of the libvirt library to handle Xen domains from a process running in domain 0 </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#LIBVIR_VERSION_NUMBER">LIBVIR_VERSION_NUMBER</a></pre><pre class="programlisting">#define <a href="#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a></pre><pre class="programlisting">#define <a href="#VIR_CPU_MAPLEN">VIR_CPU_MAPLEN</a></pre><pre class="programlisting">#define <a href="#VIR_CPU_USABLE">VIR_CPU_USABLE</a></pre><pre class="programlisting">#define <a href="#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a></pre><pre class="programlisting">#define <a href="#VIR_NODEINFO_MAXCPUS">VIR_NODEINFO_MAXCPUS</a></pre><pre class="programlisting">#define <a href="#VIR_UNUSE_CPU">VIR_UNUSE_CPU</a></pre><pre class="programlisting">#define <a href="#VIR_USE_CPU">VIR_USE_CPU</a></pre><pre class="programlisting">Structure <a href="#virConnect">virConnect</a><br />struct _virConnect
The content of this structure is not made public by the API.
</pre><pre class="programlisting">Typedef <a href="libvirt-libvirt.html#virConnect">virConnect</a> * <a name="virConnectPtr" id="virConnectPtr">virConnectPtr</a>
</pre><pre class="programlisting">Enum <a href="#virDeviceMode">virDeviceMode</a>
</pre><pre class="programlisting">Structure <a href="#virDomain">virDomain</a><br />struct _virDomain
The content of this structure is not made public by the API.
</pre><pre class="programlisting">Enum <a href="#virDomainCreateFlags">virDomainCreateFlags</a>
</pre><pre class="programlisting">Structure <a href="#virDomainInfo">virDomainInfo</a><br />struct _virDomainInfo
</pre><pre class="programlisting">Typedef <a href="libvirt-libvirt.html#virDomainInfo">virDomainInfo</a> * <a name="virDomainInfoPtr" id="virDomainInfoPtr">virDomainInfoPtr</a>
</pre><pre class="programlisting">Structure <a href="#virDomainKernel">virDomainKernel</a><br />struct _virDomainKernel
</pre><pre class="programlisting">Typedef <a href="libvirt-libvirt.html#virDomainKernel">virDomainKernel</a> * <a name="virDomainKernelPtr" id="virDomainKernelPtr">virDomainKernelPtr</a>
</pre><pre class="programlisting">Typedef <a href="libvirt-libvirt.html#virDomain">virDomain</a> * <a name="virDomainPtr" id="virDomainPtr">virDomainPtr</a>
</pre><pre class="programlisting">Enum <a href="#virDomainRestart">virDomainRestart</a>
</pre><pre class="programlisting">Enum <a href="#virDomainState">virDomainState</a>
</pre><pre class="programlisting">Structure <a href="#virNodeInfo">virNodeInfo</a><br />struct _virNodeInfo
</pre><pre class="programlisting">Typedef <a href="libvirt-libvirt.html#virNodeInfo">virNodeInfo</a> * <a name="virNodeInfoPtr" id="virNodeInfoPtr">virNodeInfoPtr</a>
</pre><pre class="programlisting">Structure <a href="#virVcpuInfo">virVcpuInfo</a><br />struct _virVcpuInfo
</pre><pre class="programlisting">Typedef <a href="libvirt-libvirt.html#virVcpuInfo">virVcpuInfo</a> * <a name="virVcpuInfoPtr" id="virVcpuInfoPtr">virVcpuInfoPtr</a>
</pre><pre class="programlisting">Enum <a href="#virVcpuState">virVcpuState</a>
</pre><pre class="programlisting">int <a href="#virConnectClose">virConnectClose</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn)</pre>
<pre class="programlisting">const char * <a href="#virConnectGetType">virConnectGetType</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn)</pre>
<pre class="programlisting">int <a href="#virConnectGetVersion">virConnectGetVersion</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> unsigned long * hvVer)</pre>
<pre class="programlisting">int <a href="#virConnectListDefinedDomains">virConnectListDefinedDomains</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char ** names, <br /> int maxnames)</pre>
<pre class="programlisting">int <a href="#virConnectListDomains">virConnectListDomains</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> int * ids, <br /> int maxids)</pre>
<pre class="programlisting">int <a href="#virConnectNumOfDefinedDomains">virConnectNumOfDefinedDomains</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn)</pre>
<pre class="programlisting">int <a href="#virConnectNumOfDomains">virConnectNumOfDomains</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn)</pre>
<pre class="programlisting"><a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> <a href="#virConnectOpen">virConnectOpen</a> (const char * name)</pre>
<pre class="programlisting"><a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> <a href="#virConnectOpenReadOnly">virConnectOpenReadOnly</a> (const char * name)</pre>
<pre class="programlisting">int <a href="#virDomainAttachDevice">virDomainAttachDevice</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> char * xml)</pre>
<pre class="programlisting">int <a href="#virDomainCoreDump">virDomainCoreDump</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> const char * to, <br /> int flags)</pre>
<pre class="programlisting">int <a href="#virDomainCreate">virDomainCreate</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)</pre>
<pre class="programlisting"><a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> <a href="#virDomainCreateLinux">virDomainCreateLinux</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * xmlDesc, <br /> unsigned int flags)</pre>
<pre class="programlisting"><a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> <a href="#virDomainDefineXML">virDomainDefineXML</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * xml)</pre>
<pre class="programlisting">int <a href="#virDomainDestroy">virDomainDestroy</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)</pre>
<pre class="programlisting">int <a href="#virDomainDetachDevice">virDomainDetachDevice</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> char * xml)</pre>
<pre class="programlisting">int <a href="#virDomainFree">virDomainFree</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)</pre>
<pre class="programlisting">unsigned int <a href="#virDomainGetID">virDomainGetID</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)</pre>
<pre class="programlisting">int <a href="#virDomainGetInfo">virDomainGetInfo</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> <a href="libvirt-libvirt.html#virDomainInfoPtr">virDomainInfoPtr</a> info)</pre>
<pre class="programlisting">unsigned long <a href="#virDomainGetMaxMemory">virDomainGetMaxMemory</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)</pre>
<pre class="programlisting">const char * <a href="#virDomainGetName">virDomainGetName</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)</pre>
<pre class="programlisting">char * <a href="#virDomainGetOSType">virDomainGetOSType</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)</pre>
<pre class="programlisting">int <a href="#virDomainGetUUID">virDomainGetUUID</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> unsigned char * uuid)</pre>
<pre class="programlisting">int <a href="#virDomainGetUUIDString">virDomainGetUUIDString</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> char * buf)</pre>
<pre class="programlisting">int <a href="#virDomainGetVcpus">virDomainGetVcpus</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> <a href="libvirt-libvirt.html#virVcpuInfoPtr">virVcpuInfoPtr</a> info, <br /> int maxinfo, <br /> unsigned char * cpumaps, <br /> int maplen)</pre>
<pre class="programlisting">char * <a href="#virDomainGetXMLDesc">virDomainGetXMLDesc</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> int flags)</pre>
<pre class="programlisting"><a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> <a href="#virDomainLookupByID">virDomainLookupByID</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> int id)</pre>
<pre class="programlisting"><a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> <a href="#virDomainLookupByName">virDomainLookupByName</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * name)</pre>
<pre class="programlisting"><a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> <a href="#virDomainLookupByUUID">virDomainLookupByUUID</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const unsigned char * uuid)</pre>
<pre class="programlisting"><a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> <a href="#virDomainLookupByUUIDString">virDomainLookupByUUIDString</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * uuidstr)</pre>
<pre class="programlisting">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)</pre>
<pre class="programlisting">int <a href="#virDomainReboot">virDomainReboot</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> unsigned int flags)</pre>
<pre class="programlisting">int <a href="#virDomainRestore">virDomainRestore</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * from)</pre>
<pre class="programlisting">int <a href="#virDomainResume">virDomainResume</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)</pre>
<pre class="programlisting">int <a href="#virDomainSave">virDomainSave</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> const char * to)</pre>
<pre class="programlisting">int <a href="#virDomainSetMaxMemory">virDomainSetMaxMemory</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> unsigned long memory)</pre>
<pre class="programlisting">int <a href="#virDomainSetMemory">virDomainSetMemory</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> unsigned long memory)</pre>
<pre class="programlisting">int <a href="#virDomainSetVcpus">virDomainSetVcpus</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> unsigned int nvcpus)</pre>
<pre class="programlisting">int <a href="#virDomainShutdown">virDomainShutdown</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)</pre>
<pre class="programlisting">int <a href="#virDomainSuspend">virDomainSuspend</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)</pre>
<pre class="programlisting">int <a href="#virDomainUndefine">virDomainUndefine</a> (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)</pre>
<pre class="programlisting">int <a href="#virGetVersion">virGetVersion</a> (unsigned long * libVer, <br /> const char * type, <br /> unsigned long * typeVer)</pre>
<pre class="programlisting">int <a href="#virInitialize">virInitialize</a> (void)</pre>
<pre class="programlisting">int <a href="#virNodeGetInfo">virNodeGetInfo</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> <a href="libvirt-libvirt.html#virNodeInfoPtr">virNodeInfoPtr</a> info)</pre>
<h2>Description</h2>
<h3><a name="LIBVIR_VERSION_NUMBER" id="LIBVIR_VERSION_NUMBER"></a>Macro: LIBVIR_VERSION_NUMBER</h3><pre>#define LIBVIR_VERSION_NUMBER</pre><p>Macro providing the version of the library as version * 1,000,000 + minor * 1000 + micro</p>
<h3><a name="VIR_COPY_CPUMAP" id="VIR_COPY_CPUMAP"></a>Macro: VIR_COPY_CPUMAP</h3><pre>#define VIR_COPY_CPUMAP</pre><p>This macro is to be used in conjonction with virDomainGetVcpus() and virDomainPinVcpu() APIs. <a href="libvirt-libvirt.html#VIR_COPY_CPUMAP">VIR_COPY_CPUMAP</a> macro extract the cpumap of the specified vcpu from cpumaps array and copy it into cpumap to be used later by virDomainPinVcpu() API.</p>
<h3><a name="VIR_CPU_MAPLEN" id="VIR_CPU_MAPLEN"></a>Macro: VIR_CPU_MAPLEN</h3><pre>#define VIR_CPU_MAPLEN</pre><p>This macro is to be used in conjonction with virDomainPinVcpu() API. It returns the length (in bytes) required to store the complete CPU map between a single virtual &amp; all physical CPUs of a domain.</p>
<h3><a name="VIR_CPU_USABLE" id="VIR_CPU_USABLE"></a>Macro: VIR_CPU_USABLE</h3><pre>#define VIR_CPU_USABLE</pre><p>This macro is to be used in conjonction with virDomainGetVcpus() API. <a href="libvirt-libvirt.html#VIR_CPU_USABLE">VIR_CPU_USABLE</a> macro returns a non zero value (true) if the cpu is usable by the vcpu, and 0 otherwise.</p>
<h3><a name="VIR_GET_CPUMAP" id="VIR_GET_CPUMAP"></a>Macro: VIR_GET_CPUMAP</h3><pre>#define VIR_GET_CPUMAP</pre><p>This macro is to be used in conjonction with virDomainGetVcpus() and virDomainPinVcpu() APIs. <a href="libvirt-libvirt.html#VIR_GET_CPUMAP">VIR_GET_CPUMAP</a> macro returns a pointer to the cpumap of the specified vcpu from cpumaps array.</p>
<h3><a name="VIR_NODEINFO_MAXCPUS" id="VIR_NODEINFO_MAXCPUS"></a>Macro: VIR_NODEINFO_MAXCPUS</h3><pre>#define VIR_NODEINFO_MAXCPUS</pre><p>This macro is to calculate the total number of CPUs supported but not neccessarily active in the host.</p>
<h3><a name="VIR_UNUSE_CPU" id="VIR_UNUSE_CPU"></a>Macro: VIR_UNUSE_CPU</h3><pre>#define VIR_UNUSE_CPU</pre><p>This macro is to be used in conjonction with virDomainPinVcpu() API. USE_CPU macro reset the bit (CPU not usable) of the related cpu in cpumap.</p>
<h3><a name="VIR_USE_CPU" id="VIR_USE_CPU"></a>Macro: VIR_USE_CPU</h3><pre>#define VIR_USE_CPU</pre><p>This macro is to be used in conjonction with virDomainPinVcpu() API. USE_CPU macro set the bit (CPU usable) of the related cpu in cpumap.</p>
<h3><a name="virConnect" id="virConnect">Structure virConnect</a></h3><pre class="programlisting">Structure virConnect<br />struct _virConnect {
The content of this structure is not made public by the API.
}</pre>
a virConnectPtr is pointer to a virConnect private structure, this is the type used to reference a connection to the Xen Hypervisor in the API.
<h3>Enum <a name="virDeviceMode" id="virDeviceMode">virDeviceMode</a></h3><pre class="programlisting">Enum virDeviceMode {
<a name="VIR_DEVICE_DEFAULT" id="VIR_DEVICE_DEFAULT">VIR_DEVICE_DEFAULT</a> = 0 : Default mode
<a name="VIR_DEVICE_RO" id="VIR_DEVICE_RO">VIR_DEVICE_RO</a> = 1 : Access read-only
<a name="VIR_DEVICE_RW" id="VIR_DEVICE_RW">VIR_DEVICE_RW</a> = 2 : Access read-write
<a name="VIR_DEVICE_RW_FORCE" id="VIR_DEVICE_RW_FORCE">VIR_DEVICE_RW_FORCE</a> = 3 : Forced read-write even if already used
}
</pre><h3><a name="virDomain" id="virDomain">Structure virDomain</a></h3><pre class="programlisting">Structure virDomain<br />struct _virDomain {
The content of this structure is not made public by the API.
}</pre><h3>Enum <a name="virDomainCreateFlags" id="virDomainCreateFlags">virDomainCreateFlags</a></h3><pre class="programlisting">Enum virDomainCreateFlags {
<a name="VIR_DOMAIN_NONE" id="VIR_DOMAIN_NONE">VIR_DOMAIN_NONE</a> = 0
}
</pre><h3><a name="virDomainInfo" id="virDomainInfo">Structure virDomainInfo</a></h3><pre class="programlisting">Structure virDomainInfo<br />struct _virDomainInfo {
unsigned char state : the running state, one of virDomainFlag
unsigned long maxMem : the maximum memory in KBytes allowed
unsigned long memory : the memory in KBytes used by the domain
unsigned short nrVirtCpu : the number of virtual CPUs for the doma
unsigned long long cpuTime : the CPU time used in nanoseconds
}</pre>
a virDomainInfoPtr is a pointer to a virDomainInfo structure.
<h3><a name="virDomainKernel" id="virDomainKernel">Structure virDomainKernel</a></h3><pre class="programlisting">Structure virDomainKernel<br />struct _virDomainKernel {
const char * kernel : filename pointing to the kernel image
const char * ramdisk : an optional init ramdisk
const char * root : an optional root block device
const char * extra : optional kernel command line parameters
}</pre>
a virDomainKernelPtr is a pointer to a virDomainKernel structure.
a virDomainPtr is pointer to a virDomain private structure, this is the type used to reference a Xen domain in the API.
<h3>Enum <a name="virDomainRestart" id="virDomainRestart">virDomainRestart</a></h3><pre class="programlisting">Enum virDomainRestart {
<a name="VIR_DOMAIN_DESTROY" id="VIR_DOMAIN_DESTROY">VIR_DOMAIN_DESTROY</a> = 1 : destroy the domain
<a name="VIR_DOMAIN_RESTART" id="VIR_DOMAIN_RESTART">VIR_DOMAIN_RESTART</a> = 2 : restart the domain
<a name="VIR_DOMAIN_PRESERVE" id="VIR_DOMAIN_PRESERVE">VIR_DOMAIN_PRESERVE</a> = 3 : keep as is, need manual destroy, for debug
<a name="VIR_DOMAIN_RENAME_RESTART" id="VIR_DOMAIN_RENAME_RESTART">VIR_DOMAIN_RENAME_RESTART</a> = 4 : restart under an new unique name
}
</pre><h3>Enum <a name="virDomainState" id="virDomainState">virDomainState</a></h3><pre class="programlisting">Enum virDomainState {
<a name="VIR_DOMAIN_NOSTATE" id="VIR_DOMAIN_NOSTATE">VIR_DOMAIN_NOSTATE</a> = 0 : no state
<a name="VIR_DOMAIN_RUNNING" id="VIR_DOMAIN_RUNNING">VIR_DOMAIN_RUNNING</a> = 1 : the domain is running
<a name="VIR_DOMAIN_BLOCKED" id="VIR_DOMAIN_BLOCKED">VIR_DOMAIN_BLOCKED</a> = 2 : the domain is blocked on resource
<a name="VIR_DOMAIN_PAUSED" id="VIR_DOMAIN_PAUSED">VIR_DOMAIN_PAUSED</a> = 3 : the domain is paused by user
<a name="VIR_DOMAIN_SHUTDOWN" id="VIR_DOMAIN_SHUTDOWN">VIR_DOMAIN_SHUTDOWN</a> = 4 : the domain is being shut down
<a name="VIR_DOMAIN_SHUTOFF" id="VIR_DOMAIN_SHUTOFF">VIR_DOMAIN_SHUTOFF</a> = 5 : the domain is shut off
<a name="VIR_DOMAIN_CRASHED" id="VIR_DOMAIN_CRASHED">VIR_DOMAIN_CRASHED</a> = 6 : the domain is crashed
}
</pre><h3><a name="virNodeInfo" id="virNodeInfo">Structure virNodeInfo</a></h3><pre class="programlisting">Structure virNodeInfo<br />struct _virNodeInfo {
charmodel[32] model : string indicating the CPU model
unsigned long memory : memory size in kilobytes
unsigned int cpus : the number of active CPUs
unsigned int mhz : expected CPU frequency
unsigned int nodes : the number of NUMA cell, 1 for uniform
unsigned int sockets : number of CPU socket per node
unsigned int cores : number of core per socket
unsigned int threads : number of threads per core
}</pre>
a virNodeInfoPtr is a pointer to a virNodeInfo structure.
<h3><a name="virVcpuInfo" id="virVcpuInfo">Structure virVcpuInfo</a></h3><pre class="programlisting">Structure virVcpuInfo<br />struct _virVcpuInfo {
unsigned int number : virtual CPU number
int state : value from <a href="libvirt-libvirt.html#virVcpuState">virVcpuState</a>
unsigned long long cpuTime : CPU time used, in nanoseconds
int cpu : real CPU number, or -1 if offline
}</pre><h3>Enum <a name="virVcpuState" id="virVcpuState">virVcpuState</a></h3><pre class="programlisting">Enum virVcpuState {
<a name="VIR_VCPU_OFFLINE" id="VIR_VCPU_OFFLINE">VIR_VCPU_OFFLINE</a> = 0 : the virtual CPU is offline
<a name="VIR_VCPU_RUNNING" id="VIR_VCPU_RUNNING">VIR_VCPU_RUNNING</a> = 1 : the virtual CPU is running
<a name="VIR_VCPU_BLOCKED" id="VIR_VCPU_BLOCKED">VIR_VCPU_BLOCKED</a> = 2 : the virtual CPU is blocked on resource
}
</pre><h3><a name="virConnectClose" id="virConnectClose"></a>Function: virConnectClose</h3><pre class="programlisting">int virConnectClose (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn)<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>
<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>0 in case of success or -1 in case of error.</td></tr></tbody></table></div><h3><a name="virConnectGetType" id="virConnectGetType"></a>Function: virConnectGetType</h3><pre class="programlisting">const char * virConnectGetType (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn)<br />
</pre><p>Get the name of the Hypervisor software used.</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>NULL in case of error, a static zero terminated string otherwise.</td></tr></tbody></table></div><h3><a name="virConnectGetVersion" id="virConnectGetVersion"></a>Function: virConnectGetVersion</h3><pre class="programlisting">int virConnectGetVersion (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> unsigned long * hvVer)<br />
</pre><p>Get the version level of the Hypervisor running. This may work only with hypervisor call, i.e. with priviledged access to the hypervisor, not with a Read-Only connection.</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>hvVer</tt></i>:</span></td><td>return value for the version of the running hypervisor (OUT)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 otherwise. if the version can't be extracted by lack of capacities returns 0 and @hvVer is 0, otherwise @hvVer value is major * 1,000,000 + minor * 1,000 + release</td></tr></tbody></table></div><h3><a name="virConnectListDefinedDomains" id="virConnectListDefinedDomains"></a>Function: virConnectListDefinedDomains</h3><pre class="programlisting">int virConnectListDefinedDomains (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char ** names, <br /> int maxnames)<br />
</pre><p>list the defined domains, stores the pointers to the names in @names</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>names</tt></i>:</span></td><td>pointer to an array to store the names</td></tr><tr><td><span class="term"><i><tt>maxnames</tt></i>:</span></td><td>size of the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of names provided in the array or -1 in case of error</td></tr></tbody></table></div><h3><a name="virConnectListDomains" id="virConnectListDomains"></a>Function: virConnectListDomains</h3><pre class="programlisting">int virConnectListDomains (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> int * ids, <br /> int maxids)<br />
</pre><p>Collect the list of active domains, and store their ID in @maxids</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>ids</tt></i>:</span></td><td>array to collect the list of IDs of active domains</td></tr><tr><td><span class="term"><i><tt>maxids</tt></i>:</span></td><td>size of @ids</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of domain found or -1 in case of error</td></tr></tbody></table></div><h3><a name="virConnectNumOfDefinedDomains" id="virConnectNumOfDefinedDomains"></a>Function: virConnectNumOfDefinedDomains</h3><pre class="programlisting">int virConnectNumOfDefinedDomains (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn)<br />
</pre><p>Provides the number of active domains.</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 number of domain found or -1 in case of error</td></tr></tbody></table></div><h3><a name="virConnectNumOfDomains" id="virConnectNumOfDomains"></a>Function: virConnectNumOfDomains</h3><pre class="programlisting">int virConnectNumOfDomains (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn)<br />
</pre><p>Provides the number of active domains.</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 number of domain found or -1 in case of error</td></tr></tbody></table></div><h3><a name="virConnectOpen" id="virConnectOpen"></a>Function: virConnectOpen</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> virConnectOpen (const char * name)<br />
</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>optional argument currently unused, pass NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the hypervisor connection or NULL in case of error</td></tr></tbody></table></div><h3><a name="virConnectOpenReadOnly" id="virConnectOpenReadOnly"></a>Function: virConnectOpenReadOnly</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 libbrary 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>optional argument currently unused, pass NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the hypervisor connection or NULL in case of error</td></tr></tbody></table></div><h3><a name="virDomainAttachDevice" id="virDomainAttachDevice"></a>Function: virDomainAttachDevice</h3><pre class="programlisting">int virDomainAttachDevice (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> 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="virDomainCoreDump" id="virDomainCoreDump"></a>Function: virDomainCoreDump</h3><pre class="programlisting">int virDomainCoreDump (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> const char * to, <br /> int flags)<br />
</pre><p>This method will dump the core of a domain on a given file for analysis. Note that for remote Xen Daemon the file path will be interpreted in the remote host.</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 core file</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>extra flags, currently unused</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="virDomainCreate" id="virDomainCreate"></a>Function: virDomainCreate</h3><pre class="programlisting">int virDomainCreate (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>launch a defined domain. If the call succeed the domain moves from the defined to the running domains pools.</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 a defined domain</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="virDomainCreateLinux" id="virDomainCreateLinux"></a>Function: virDomainCreateLinux</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> virDomainCreateLinux (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * xmlDesc, <br /> unsigned int flags)<br />
</pre><p>Launch a new Linux guest domain, based on an XML description similar to the one returned by virDomainGetXMLDesc() This function may requires priviledged access to the hypervisor.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>conn</tt></i>:</span></td><td>pointer to the hypervisor connection</td></tr><tr><td><span class="term"><i><tt>xmlDesc</tt></i>:</span></td><td>an XML description of the domain</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>an optional set of virDomainFlags</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new domain object or NULL in case of failure</td></tr></tbody></table></div><h3><a name="virDomainDefineXML" id="virDomainDefineXML"></a>Function: virDomainDefineXML</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> virDomainDefineXML (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * xml)<br />
</pre><p>define a domain, but does not start it</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>xml</tt></i>:</span></td><td>the XML description for the domain, preferably in UTF-8</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL in case of error, a pointer to the domain otherwise</td></tr></tbody></table></div><h3><a name="virDomainDestroy" id="virDomainDestroy"></a>Function: virDomainDestroy</h3><pre class="programlisting">int virDomainDestroy (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Destroy the domain object. The running instance is shutdown if not down already and all resources used by it are given back to the hypervisor. The data structure is freed and should not be used thereafter if the call does not return an error. This function may requires priviledged 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="virDomainDetachDevice" id="virDomainDetachDevice"></a>Function: virDomainDetachDevice</h3><pre class="programlisting">int virDomainDetachDevice (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> char * xml)<br />
</pre><p>Destroy 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="virDomainFree" id="virDomainFree"></a>Function: virDomainFree</h3><pre class="programlisting">int virDomainFree (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Free the domain object. The running instance is kept alive. The data structure is freed and should not be used thereafter.</p>
<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="virDomainGetID" id="virDomainGetID"></a>Function: virDomainGetID</h3><pre class="programlisting">unsigned int virDomainGetID (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Get the hypervisor ID number for the domain</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the domain ID number or (unsigned int) -1 in case of error</td></tr></tbody></table></div><h3><a name="virDomainGetInfo" id="virDomainGetInfo"></a>Function: virDomainGetInfo</h3><pre class="programlisting">int virDomainGetInfo (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> <a href="libvirt-libvirt.html#virDomainInfoPtr">virDomainInfoPtr</a> info)<br />
</pre><p>Extract information about a domain. Note that if the connection used to get the domain is limited only a partial set of the information can be extracted.</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>info</tt></i>:</span></td><td>pointer to a <a href="libvirt-libvirt.html#virDomainInfo">virDomainInfo</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="virDomainGetMaxMemory" id="virDomainGetMaxMemory"></a>Function: virDomainGetMaxMemory</h3><pre class="programlisting">unsigned long virDomainGetMaxMemory (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Retrieve the maximum amount of physical memory allocated to a domain. If domain is NULL, then this get the amount of memory reserved to Domain0 i.e. the domain where the application runs.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the memory size in kilobytes or 0 in case of error.</td></tr></tbody></table></div><h3><a name="virDomainGetName" id="virDomainGetName"></a>Function: virDomainGetName</h3><pre class="programlisting">const char * virDomainGetName (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Get the public name for that domain</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the name or NULL, the string need not be deallocated its lifetime will be the same as the domain object.</td></tr></tbody></table></div><h3><a name="virDomainGetOSType" id="virDomainGetOSType"></a>Function: virDomainGetOSType</h3><pre class="programlisting">char * virDomainGetOSType (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Get the type of domain operation system.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new string or NULL in case of error, the string must be freed by the caller.</td></tr></tbody></table></div><h3><a name="virDomainGetUUID" id="virDomainGetUUID"></a>Function: virDomainGetUUID</h3><pre class="programlisting">int virDomainGetUUID (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> unsigned char * uuid)<br />
</pre><p>Get the UUID for a domain</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>uuid</tt></i>:</span></td><td>pointer to a 16 bytes array</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="virDomainGetUUIDString" id="virDomainGetUUIDString"></a>Function: virDomainGetUUIDString</h3><pre class="programlisting">int virDomainGetUUIDString (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> char * buf)<br />
</pre><p>Get the UUID for a domain as string. For more information about UUID see RFC4122.</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>buf</tt></i>:</span></td><td>pointer to a 37 bytes array</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="virDomainGetVcpus" id="virDomainGetVcpus"></a>Function: virDomainGetVcpus</h3><pre class="programlisting">int virDomainGetVcpus (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> <a href="libvirt-libvirt.html#virVcpuInfoPtr">virVcpuInfoPtr</a> info, <br /> int maxinfo, <br /> unsigned char * cpumaps, <br /> int maplen)<br />
</pre><p>Extract information about virtual CPUs of domain, store it in info array and also in cpumaps if this pointer is'nt NULL.</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>info</tt></i>:</span></td><td>pointer to an array of <a href="libvirt-libvirt.html#virVcpuInfo">virVcpuInfo</a> structures (OUT)</td></tr><tr><td><span class="term"><i><tt>maxinfo</tt></i>:</span></td><td>number of structures in info array</td></tr><tr><td><span class="term"><i><tt>cpumaps</tt></i>:</span></td><td>pointer to an bit map of real CPUs for all vcpus of this domain (in 8-bit bytes) (OUT) If cpumaps is NULL, then no cupmap information is returned by the API. It's assumed there is &lt;maxinfo&gt; cpumap in cpumaps array. The memory allocated to cpumaps must be (maxinfo * maplen) bytes (ie: calloc(maxinfo, maplen)). One cpumap inside cpumaps has the format described in virDomainPinVcpu() API.</td></tr><tr><td><span class="term"><i><tt>maplen</tt></i>:</span></td><td>number of bytes in one cpumap, from 1 up to size of CPU map in underlying virtualization system (Xen...).</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of info filled in case of success, -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainGetXMLDesc" id="virDomainGetXMLDesc"></a>Function: virDomainGetXMLDesc</h3><pre class="programlisting">char * virDomainGetXMLDesc (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> int flags)<br />
</pre><p>Provide an XML description of the domain. The description may be reused later to relaunch the domain with virDomainCreateLinux().</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>and OR'ed set of extraction flags, not used yet</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a 0 terminated UTF-8 encoded XML instance, or NULL in case of error. the caller must free() the returned value.</td></tr></tbody></table></div><h3><a name="virDomainLookupByID" id="virDomainLookupByID"></a>Function: virDomainLookupByID</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> virDomainLookupByID (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> int id)<br />
</pre><p>Try to find a domain based on the hypervisor ID number</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>id</tt></i>:</span></td><td>the domain ID number</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new domain object or NULL in case of failure</td></tr></tbody></table></div><h3><a name="virDomainLookupByName" id="virDomainLookupByName"></a>Function: virDomainLookupByName</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> virDomainLookupByName (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * name)<br />
</pre><p>Try to lookup a domain 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 domain</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new domain object or NULL in case of failure</td></tr></tbody></table></div><h3><a name="virDomainLookupByUUID" id="virDomainLookupByUUID"></a>Function: virDomainLookupByUUID</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> virDomainLookupByUUID (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const unsigned char * uuid)<br />
</pre><p>Try to lookup a domain 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 domain</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new domain object or NULL in case of failure</td></tr></tbody></table></div><h3><a name="virDomainLookupByUUIDString" id="virDomainLookupByUUIDString"></a>Function: virDomainLookupByUUIDString</h3><pre class="programlisting"><a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> virDomainLookupByUUIDString (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> const char * uuidstr)<br />
</pre><p>Try to lookup a domain 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 domain</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new domain object or NULL in case of failure</td></tr></tbody></table></div><h3><a name="virDomainPinVcpu" id="virDomainPinVcpu"></a>Function: virDomainPinVcpu</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 priviledged access to the hypervisor.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>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"></a>Function: virDomainReboot</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="virDomainRestore" id="virDomainRestore"></a>Function: 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>
<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"></a>Function: virDomainResume</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 priviledged 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"></a>Function: virDomainSave</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="virDomainSetMaxMemory" id="virDomainSetMaxMemory"></a>Function: virDomainSetMaxMemory</h3><pre class="programlisting">int virDomainSetMaxMemory (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> unsigned long memory)<br />
</pre><p>Dynamically change the maximum amount of physical memory allocated to a domain. If domain is NULL, then this change the amount of memory reserved to Domain0 i.e. the domain where the application runs. This function requires priviledged access to the hypervisor.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object or NULL</td></tr><tr><td><span class="term"><i><tt>memory</tt></i>:</span></td><td>the memory size in kilobytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainSetMemory" id="virDomainSetMemory"></a>Function: virDomainSetMemory</h3><pre class="programlisting">int virDomainSetMemory (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> unsigned long memory)<br />
</pre><p>Dynamically change the target amount of physical memory allocated to a domain. If domain is NULL, then this change the amount of memory reserved to Domain0 i.e. the domain where the application runs. This function may requires priviledged access to the hypervisor.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object or NULL</td></tr><tr><td><span class="term"><i><tt>memory</tt></i>:</span></td><td>the memory size in kilobytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainSetVcpus" id="virDomainSetVcpus"></a>Function: virDomainSetVcpus</h3><pre class="programlisting">int virDomainSetVcpus (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain, <br /> unsigned int nvcpus)<br />
</pre><p>Dynamically change the number of virtual CPUs used by the domain. Note that this call may fail if the underlying virtualization hypervisor does not support it or if growing the number is arbitrary limited. This function requires priviledged access to the hypervisor.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>pointer to domain object, or NULL for Domain0</td></tr><tr><td><span class="term"><i><tt>nvcpus</tt></i>:</span></td><td>the new number of virtual CPUs for this domain</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="virDomainShutdown" id="virDomainShutdown"></a>Function: virDomainShutdown</h3><pre class="programlisting">int virDomainShutdown (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Shutdown a domain, the domain object is still usable there after but the domain OS is being stopped. Note that the guest OS may ignore the request. TODO: should we add an option for reboot, knowing it may not be doable in the general case ?</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>domain</tt></i>:</span></td><td>a domain object</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of failure.</td></tr></tbody></table></div><h3><a name="virDomainSuspend" id="virDomainSuspend"></a>Function: virDomainSuspend</h3><pre class="programlisting">int virDomainSuspend (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>Suspends an active domain, the process is frozen without further access to CPU resources and I/O but the memory used by the domain at the hypervisor level will stay allocated. Use virDomainResume() to reactivate the domain. This function may requires priviledged 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="virDomainUndefine" id="virDomainUndefine"></a>Function: virDomainUndefine</h3><pre class="programlisting">int virDomainUndefine (<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain)<br />
</pre><p>undefine a domain 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>domain</tt></i>:</span></td><td>pointer to a defined domain</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="virGetVersion" id="virGetVersion"></a>Function: virGetVersion</h3><pre class="programlisting">int virGetVersion (unsigned long * libVer, <br /> const char * type, <br /> unsigned long * typeVer)<br />
</pre><p>Provides two information back, @libVer is the version of the library while @typeVer will be the version of the hypervisor type @type against which the library was compiled. If @type is NULL, "Xen" is assumed, if @type is unknown or not availble, an error code will be returned and @typeVer will be 0.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>libVer</tt></i>:</span></td><td>return value for the library version (OUT)</td></tr><tr><td><span class="term"><i><tt>type</tt></i>:</span></td><td>the type of connection/driver looked at</td></tr><tr><td><span class="term"><i><tt>typeVer</tt></i>:</span></td><td>return value for the version of the hypervisor (OUT)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 otherwise, and values for @libVer and @typeVer have the format major * 1,000,000 + minor * 1,000 + release.</td></tr></tbody></table></div><h3><a name="virInitialize" id="virInitialize"></a>Function: virInitialize</h3><pre class="programlisting">int virInitialize (void)<br />
</pre><p>Initialize the library. It's better to call this routine at startup in multithreaded applications to avoid potential race when initializing the library.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><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="virNodeGetInfo" id="virNodeGetInfo"></a>Function: virNodeGetInfo</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></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="../index.html">Home</a></li><li><a href="../html/index.html">API Menu</a></li><li><a href="../examples/index.html">C code examples</a></li><li><a href="../ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -0,0 +1,112 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="../libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Module virterror from libvirt</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Module virterror from libvirt</h1><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libvirt-libvirt.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libvirt-libvirt.html">libvirt</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The virtualization API</a></th></tr></table><p>Provides the interfaces of the libvirt library to handle errors raised while using the library. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#virError">virError</a><br />struct _virError
</pre><pre class="programlisting">Enum <a href="#virErrorDomain">virErrorDomain</a>
</pre><pre class="programlisting">Enum <a href="#virErrorLevel">virErrorLevel</a>
</pre><pre class="programlisting">Enum <a href="#virErrorNumber">virErrorNumber</a>
</pre><pre class="programlisting">Typedef <a href="libvirt-virterror.html#virError">virError</a> * <a name="virErrorPtr" id="virErrorPtr">virErrorPtr</a>
</pre><pre class="programlisting">int <a href="#virConnCopyLastError">virConnCopyLastError</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> <a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> to)</pre>
<pre class="programlisting"><a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> <a href="#virConnGetLastError">virConnGetLastError</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn)</pre>
<pre class="programlisting">void <a href="#virConnResetLastError">virConnResetLastError</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn)</pre>
<pre class="programlisting">void <a href="#virConnSetErrorFunc">virConnSetErrorFunc</a> (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> void * userData, <br /> <a href="libvirt-virterror.html#virErrorFunc">virErrorFunc</a> handler)</pre>
<pre class="programlisting">int <a href="#virCopyLastError">virCopyLastError</a> (<a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> to)</pre>
<pre class="programlisting">void <a href="#virDefaultErrorFunc">virDefaultErrorFunc</a> (<a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> err)</pre>
<pre class="programlisting">Function type: <a href="#virErrorFunc">virErrorFunc</a>
void <a href="#virErrorFunc">virErrorFunc</a> (void * userData, <br /> <a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> error)
</pre>
<pre class="programlisting"><a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> <a href="#virGetLastError">virGetLastError</a> (void)</pre>
<pre class="programlisting">void <a href="#virResetError">virResetError</a> (<a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> err)</pre>
<pre class="programlisting">void <a href="#virResetLastError">virResetLastError</a> (void)</pre>
<pre class="programlisting">void <a href="#virSetErrorFunc">virSetErrorFunc</a> (void * userData, <br /> <a href="libvirt-virterror.html#virErrorFunc">virErrorFunc</a> handler)</pre>
<h2>Description</h2>
<h3><a name="virError" id="virError">Structure virError</a></h3><pre class="programlisting">Structure virError<br />struct _virError {
int code : The error code, a <a href="libvirt-virterror.html#virErrorNumber">virErrorNumber</a>
int domain : What part of the library raised this er
char * message : human-readable informative error messag
<a href="libvirt-virterror.html#virErrorLevel">virErrorLevel</a> level : how consequent is the error
<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn : the connection if available
<a href="libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> dom : the domain if available
char * str1 : extra string information
char * str2 : extra string information
char * str3 : extra string information
int int1 : extra number information
int int2 : extra number information
}</pre><h3>Enum <a name="virErrorDomain" id="virErrorDomain">virErrorDomain</a></h3><pre class="programlisting">Enum virErrorDomain {
<a name="VIR_FROM_NONE" id="VIR_FROM_NONE">VIR_FROM_NONE</a> = 0
<a name="VIR_FROM_XEN" id="VIR_FROM_XEN">VIR_FROM_XEN</a> = 1 : Error at Xen hypervisor layer
<a name="VIR_FROM_XEND" id="VIR_FROM_XEND">VIR_FROM_XEND</a> = 2 : Error at connection with xend daemon
<a name="VIR_FROM_XENSTORE" id="VIR_FROM_XENSTORE">VIR_FROM_XENSTORE</a> = 3 : Error at connection with xen store
<a name="VIR_FROM_SEXPR" id="VIR_FROM_SEXPR">VIR_FROM_SEXPR</a> = 4 : Error in the S-Epression code
<a name="VIR_FROM_XML" id="VIR_FROM_XML">VIR_FROM_XML</a> = 5 : Error in the XML code
<a name="VIR_FROM_DOM" id="VIR_FROM_DOM">VIR_FROM_DOM</a> = 6 : Error when operating on a domain
<a name="VIR_FROM_RPC" id="VIR_FROM_RPC">VIR_FROM_RPC</a> = 7 : Error in the XML-RPC code
<a name="VIR_FROM_PROXY" id="VIR_FROM_PROXY">VIR_FROM_PROXY</a> = 8 : Error in the proxy code
<a name="VIR_FROM_CONF" id="VIR_FROM_CONF">VIR_FROM_CONF</a> = 9 : Error in the configuration file handling
}
</pre><h3>Enum <a name="virErrorLevel" id="virErrorLevel">virErrorLevel</a></h3><pre class="programlisting">Enum virErrorLevel {
<a name="VIR_ERR_NONE" id="VIR_ERR_NONE">VIR_ERR_NONE</a> = 0
<a name="VIR_ERR_WARNING" id="VIR_ERR_WARNING">VIR_ERR_WARNING</a> = 1 : A simple warning
<a name="VIR_ERR_ERROR" id="VIR_ERR_ERROR">VIR_ERR_ERROR</a> = 2 : An error
}
</pre><h3>Enum <a name="virErrorNumber" id="virErrorNumber">virErrorNumber</a></h3><pre class="programlisting">Enum virErrorNumber {
<a name="VIR_ERR_OK" id="VIR_ERR_OK">VIR_ERR_OK</a> = 0
<a name="VIR_ERR_INTERNAL_ERROR" id="VIR_ERR_INTERNAL_ERROR">VIR_ERR_INTERNAL_ERROR</a> = 1 : internal error
<a name="VIR_ERR_NO_MEMORY" id="VIR_ERR_NO_MEMORY">VIR_ERR_NO_MEMORY</a> = 2 : memory allocation failure
<a name="VIR_ERR_NO_SUPPORT" id="VIR_ERR_NO_SUPPORT">VIR_ERR_NO_SUPPORT</a> = 3 : no support for this connection
<a name="VIR_ERR_UNKNOWN_HOST" id="VIR_ERR_UNKNOWN_HOST">VIR_ERR_UNKNOWN_HOST</a> = 4 : could not resolve hostname
<a name="VIR_ERR_NO_CONNECT" id="VIR_ERR_NO_CONNECT">VIR_ERR_NO_CONNECT</a> = 5 : can't connect to hypervisor
<a name="VIR_ERR_INVALID_CONN" id="VIR_ERR_INVALID_CONN">VIR_ERR_INVALID_CONN</a> = 6 : invalid connection object
<a name="VIR_ERR_INVALID_DOMAIN" id="VIR_ERR_INVALID_DOMAIN">VIR_ERR_INVALID_DOMAIN</a> = 7 : invalid domain object
<a name="VIR_ERR_INVALID_ARG" id="VIR_ERR_INVALID_ARG">VIR_ERR_INVALID_ARG</a> = 8 : invalid function argument
<a name="VIR_ERR_OPERATION_FAILED" id="VIR_ERR_OPERATION_FAILED">VIR_ERR_OPERATION_FAILED</a> = 9 : a command to hypervisor failed
<a name="VIR_ERR_GET_FAILED" id="VIR_ERR_GET_FAILED">VIR_ERR_GET_FAILED</a> = 10 : a HTTP GET command to failed
<a name="VIR_ERR_POST_FAILED" id="VIR_ERR_POST_FAILED">VIR_ERR_POST_FAILED</a> = 11 : a HTTP POST command to failed
<a name="VIR_ERR_HTTP_ERROR" id="VIR_ERR_HTTP_ERROR">VIR_ERR_HTTP_ERROR</a> = 12 : unexpected HTTP error code
<a name="VIR_ERR_SEXPR_SERIAL" id="VIR_ERR_SEXPR_SERIAL">VIR_ERR_SEXPR_SERIAL</a> = 13 : failure to serialize an S-Expr
<a name="VIR_ERR_NO_XEN" id="VIR_ERR_NO_XEN">VIR_ERR_NO_XEN</a> = 14 : could not open Xen hypervisor control
<a name="VIR_ERR_XEN_CALL" id="VIR_ERR_XEN_CALL">VIR_ERR_XEN_CALL</a> = 15 : failure doing an hypervisor call
<a name="VIR_ERR_OS_TYPE" id="VIR_ERR_OS_TYPE">VIR_ERR_OS_TYPE</a> = 16 : unknown OS type
<a name="VIR_ERR_NO_KERNEL" id="VIR_ERR_NO_KERNEL">VIR_ERR_NO_KERNEL</a> = 17 : missing kernel information
<a name="VIR_ERR_NO_ROOT" id="VIR_ERR_NO_ROOT">VIR_ERR_NO_ROOT</a> = 18 : missing root device information
<a name="VIR_ERR_NO_SOURCE" id="VIR_ERR_NO_SOURCE">VIR_ERR_NO_SOURCE</a> = 19 : missing source device information
<a name="VIR_ERR_NO_TARGET" id="VIR_ERR_NO_TARGET">VIR_ERR_NO_TARGET</a> = 20 : missing target device information
<a name="VIR_ERR_NO_NAME" id="VIR_ERR_NO_NAME">VIR_ERR_NO_NAME</a> = 21 : missing domain name information
<a name="VIR_ERR_NO_OS" id="VIR_ERR_NO_OS">VIR_ERR_NO_OS</a> = 22 : missing domain OS information
<a name="VIR_ERR_NO_DEVICE" id="VIR_ERR_NO_DEVICE">VIR_ERR_NO_DEVICE</a> = 23 : missing domain devices information
<a name="VIR_ERR_NO_XENSTORE" id="VIR_ERR_NO_XENSTORE">VIR_ERR_NO_XENSTORE</a> = 24 : could not open Xen Store control
<a name="VIR_ERR_DRIVER_FULL" id="VIR_ERR_DRIVER_FULL">VIR_ERR_DRIVER_FULL</a> = 25 : too many drivers registered
<a name="VIR_ERR_CALL_FAILED" id="VIR_ERR_CALL_FAILED">VIR_ERR_CALL_FAILED</a> = 26 : not supported by the drivers
<a name="VIR_ERR_XML_ERROR" id="VIR_ERR_XML_ERROR">VIR_ERR_XML_ERROR</a> = 27 : an XML description is not well formed or broken
<a name="VIR_ERR_DOM_EXIST" id="VIR_ERR_DOM_EXIST">VIR_ERR_DOM_EXIST</a> = 28 : the domain already exist
<a name="VIR_ERR_OPERATION_DENIED" id="VIR_ERR_OPERATION_DENIED">VIR_ERR_OPERATION_DENIED</a> = 29 : operation forbidden on read-only connections
<a name="VIR_ERR_OPEN_FAILED" id="VIR_ERR_OPEN_FAILED">VIR_ERR_OPEN_FAILED</a> = 30 : failed to open a conf file
<a name="VIR_ERR_READ_FAILED" id="VIR_ERR_READ_FAILED">VIR_ERR_READ_FAILED</a> = 31 : failed to read a conf file
<a name="VIR_ERR_PARSE_FAILED" id="VIR_ERR_PARSE_FAILED">VIR_ERR_PARSE_FAILED</a> = 32 : failed to parse a conf file
<a name="VIR_ERR_CONF_SYNTAX" id="VIR_ERR_CONF_SYNTAX">VIR_ERR_CONF_SYNTAX</a> = 33 : failed to parse the syntax of a conf file
<a name="VIR_ERR_WRITE_FAILED" id="VIR_ERR_WRITE_FAILED">VIR_ERR_WRITE_FAILED</a> = 34 : failed to write a conf file
<a name="VIR_ERR_XML_DETAIL" id="VIR_ERR_XML_DETAIL">VIR_ERR_XML_DETAIL</a> = 35 : detail of an XML error
}
</pre><h3><a name="virConnCopyLastError" id="virConnCopyLastError"></a>Function: virConnCopyLastError</h3><pre class="programlisting">int virConnCopyLastError (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> <a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> to)<br />
</pre><p>Copy the content of the last error caught on that connection One will need to free the result with virResetError()</p>
<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>to</tt></i>:</span></td><td>target to receive the copy</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no error was found and the error code otherwise and -1 in case of parameter error.</td></tr></tbody></table></div><h3><a name="virConnGetLastError" id="virConnGetLastError"></a>Function: virConnGetLastError</h3><pre class="programlisting"><a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> virConnGetLastError (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn)<br />
</pre><p>Provide a pointer to the last error caught on that connection Simpler but may not be suitable for multithreaded accesses, in which case use virConnCopyLastError()</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>a pointer to the last error or NULL if none occured.</td></tr></tbody></table></div><h3><a name="virConnResetLastError" id="virConnResetLastError"></a>Function: virConnResetLastError</h3><pre class="programlisting">void virConnResetLastError (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn)<br />
</pre><p>Reset the last error caught on that connection</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></tbody></table></div><h3><a name="virConnSetErrorFunc" id="virConnSetErrorFunc"></a>Function: virConnSetErrorFunc</h3><pre class="programlisting">void virConnSetErrorFunc (<a href="libvirt-libvirt.html#virConnectPtr">virConnectPtr</a> conn, <br /> void * userData, <br /> <a href="libvirt-virterror.html#virErrorFunc">virErrorFunc</a> handler)<br />
</pre><p>Set a connection error handling function, if @handler is NULL it will reset to default which is to pass error back to the global library handler.</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>userData</tt></i>:</span></td><td>pointer to the user data provided in the handler callback</td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the function to get called in case of error or NULL</td></tr></tbody></table></div><h3><a name="virCopyLastError" id="virCopyLastError"></a>Function: virCopyLastError</h3><pre class="programlisting">int virCopyLastError (<a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> to)<br />
</pre><p>Copy the content of the last error caught at the library level One will need to free the result with virResetError()</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>target to receive the copy</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no error was found and the error code otherwise and -1 in case of parameter error.</td></tr></tbody></table></div><h3><a name="virDefaultErrorFunc" id="virDefaultErrorFunc"></a>Function: virDefaultErrorFunc</h3><pre class="programlisting">void virDefaultErrorFunc (<a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> err)<br />
</pre><p>Default routine reporting an error to stderr.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>pointer to the error.</td></tr></tbody></table></div><h3><a name="virErrorFunc" id="virErrorFunc"></a>Function type: virErrorFunc</h3><pre class="programlisting">Function type: virErrorFunc
void virErrorFunc (void * userData, <br /> <a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> error)
</pre><p>Signature of a function to use when there is an error raised by the library.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>user provided data for the error callback</td></tr><tr><td><span class="term"><i><tt>error</tt></i>:</span></td><td>the error being raised.</td></tr></tbody></table></div><br />
<h3><a name="virGetLastError" id="virGetLastError"></a>Function: virGetLastError</h3><pre class="programlisting"><a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> virGetLastError (void)<br />
</pre><p>Provide a pointer to the last error caught at the library level Simpler but may not be suitable for multithreaded accesses, in which case use virCopyLastError()</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the last error or NULL if none occured.</td></tr></tbody></table></div><h3><a name="virResetError" id="virResetError"></a>Function: virResetError</h3><pre class="programlisting">void virResetError (<a href="libvirt-virterror.html#virErrorPtr">virErrorPtr</a> err)<br />
</pre><p>Reset the error being pointed to</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>pointer to the <a href="libvirt-virterror.html#virError">virError</a> to clean up</td></tr></tbody></table></div><h3><a name="virResetLastError" id="virResetLastError"></a>Function: virResetLastError</h3><pre class="programlisting">void virResetLastError (void)<br />
</pre><p>Reset the last error caught at the library level.</p>
<h3><a name="virSetErrorFunc" id="virSetErrorFunc"></a>Function: virSetErrorFunc</h3><pre class="programlisting">void virSetErrorFunc (void * userData, <br /> <a href="libvirt-virterror.html#virErrorFunc">virErrorFunc</a> handler)<br />
</pre><p>Set a library global error handling function, if @handler is NULL, it will reset to default printing on stderr. The error raised there are those for which no handler at the connection level could caught.</p>
<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>pointer to the user data provided in the handler callback</td></tr><tr><td><span class="term"><i><tt>handler</tt></i>:</span></td><td>the function to get called in case of error or NULL</td></tr></tbody></table></div></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="../index.html">Home</a></li><li><a href="../html/index.html">API Menu</a></li><li><a href="../examples/index.html">C code examples</a></li><li><a href="../ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -3,160 +3,113 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<link rel="SHORTCUT ICON" href="/favicon.ico" />
<style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style>
<title>Libvir the virtualization API</title>
<link rel="stylesheet" type="text/css" href="libvirt.css" />
<link rel="SHORTCUT ICON" href="/32favicon.png" />
<title>the virtualization API</title>
</head>
<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center">
<tr>
<td width="120">
<a href="http://www.redhat.com/">
<img src="redhat.gif" alt="Red Hat Logo" />
</a>
</td>
<td>
<table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000">
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd">
<tr>
<td align="center">
<h1>Libvir the virtualization API</h1>
<h2>libvir</h2>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td colspan="1" bgcolor="#eecfa1" align="center">
<center>
<b>Main Menu</b>
</center>
</td>
</tr>
<tr>
<td bgcolor="#fffacd">
<form action="search.php" enctype="application/x-www-form-urlencoded" method="get">
<input name="query" type="text" size="20" value="" />
<input name="submit" type="submit" value="Search ..." />
</form>
<ul>
<li>
<a href="index.html">Home</a>
</li>
<li>
<a href="news.html">Releases</a>
</li>
<li>
<a href="intro.html">Introduction</a>
</li>
<li>
<a href="downloads.html">Downloads</a>
</li>
<li>
<a href="FAQ.html">FAQ</a>
</li>
<li>
<a href="bugs.html">Reporting bugs and getting help</a>
</li>
<li>
<a style="font-weight:bold" href="html/index.html">API Menu</a>
</li>
<li>
<a href="ChangeLog.html">Recent Changes</a>
</li>
</ul>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td colspan="1" bgcolor="#eecfa1" align="center">
<center>
<b>Related links</b>
</center>
</td>
</tr>
<tr>
<td bgcolor="#fffacd">
<ul>
<li>
<a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a>
</li>
<li>
<a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a>
</li>
</ul>
</td>
</tr>
</table>
</td>
</tr>
</table>
<a href="http://xmlsoft.org/">
<img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" />
</a>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<p>Libvir is a C toolkit to interract with the virtualization capabilities of
recent versions of Linux (and other OSes). It is free software available
<body>
<div id="container">
<div id="intro">
<div id="adjustments">
<p class="p1"></p>
</div>
<div id="content">
<h3>what is <span class="style1">libvirt?</span></h3>
<p>Libvirt is a C toolkit to interact with the virtualization capabilities
of recent versions of Linux (and other OSes). It is free software available
under the <a href="http://www.opensource.org/licenses/lgpl-license.html">GNU
Lesser General Public License</a>. Virtualization of the Linux Operating
System means the ability to run multiple instances of Operating Systems
concurently on a single hardware system where the basic resources are driven
by a Linux instance. The library aim at providing long term stable C API
primarily for the <a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen
paravirtualization</a> mechanism but should be able to integrate other
virtualization mechanisms if needed.</p>
<p>
<a href="bugs.html">Daniel Veillard</a>
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
initially for the <a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen
paravirtualization</a> but should be able to integrate other virtualization
mechanisms if needed.</p>
</div>
</div>
<div class="linkList">
<div class="llinks">
<h3 class="links">
<span>main menu</span>
</h3>
<ul>
<li>Home</li>
<li>
<a href="news.html">Releases</a>
</li>
<li>
<a href="intro.html">Introduction</a>
</li>
<li>
<a href="architecture.html">libvirt architecture</a>
</li>
<li>
<a href="downloads.html">Downloads</a>
</li>
<li>
<a href="format.html">XML Format</a>
</li>
<li>
<a href="python.html">Binding for Python</a>
</li>
<li>
<a href="errors.html">Handling of errors</a>
</li>
<li>
<a href="FAQ.html">FAQ</a>
</li>
<li>
<a href="bugs.html">Reporting bugs and getting help</a>
</li>
<li>
<a href="html/index.html">API Menu</a>
</li>
<li>
<a href="examples/index.html">C code examples</a>
</li>
<li>
<a href="ChangeLog.html">Recent Changes</a>
</li>
</ul>
</div>
<div class="llinks">
<h3 class="links">
<span>related links</span>
</h3>
<ul>
<li>
<a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a>
</li>
<li>
<a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a>
</li>
<li>
<a href="http://virt-manager.et.redhat.com/">virt-manager</a>
</li>
<li>
<a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a>
</li>
<li>
<a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a>
</li>
<li>
<form action="search.php" enctype="application/x-www-form-urlencoded" method="get">
<input name="query" type="text" size="12" value="Search..." />
<input name="submit" type="submit" value="Go" />
</form>
</li>
<li>
<a href="http://xmlsoft.org/">
<img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" />
</a>
</li>
</ul>
<p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p>
</div>
</div>
<div id="bottom">
<p class="p1"></p>
</div>
</div>
</body>
</html>

View File

@ -35,7 +35,7 @@
#
# Then run the script in the doc subdir, it will create the symbols and
# word tables and populate them with informations extracted from
# the libvir-api.xml API description, and make then accessible read-only
# the libvirt-api.xml API description, and make then accessible read-only
# by nobody@loaclhost the user expected to be Apache's one
#
# On the Apache configuration, make sure you have php support enabled
@ -116,7 +116,7 @@ TABLES={
#
# The XML API description file to parse
#
API="libvir-api.xml"
API="libvirt-api.xml"
DB=None
#########################################################################

View File

@ -1,10 +1,30 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>Introduction</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>Introduction</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p></p><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Introduction</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Introduction</h1><p>Libvirt is a C toolkit to interact with the virtualization capabilities of
recent versions of Linux (and other OSes), but libvirt won't try to provide
all possible interfaces for interacting with the virtualization features.</p><p>To avoid ambiguity about the terms used here here are the definitions for
some of the specific concepts used in libvirt documentation:</p><ul><li>a <strong>node</strong> is a single physical machine</li>
<li>an <strong>hypervisor</strong> is a layer of software allowing to
virtualize a node in a set of virtual machines with possibly different
configurations than the node itself</li>
<li>a <strong>domain</strong> is an instance of an operating system running
on a virtualized machine provided by the hypervisor</li>
</ul><p style="text-align: center"><img alt="Hypervisor and domains running on a node" src="node.gif" /></p><p>Now we can define the goal of libvirt: to provide the lowest possible
generic and stable layer to manage domains on a node.</p><p>This implies the following:</p><ul><li>the API should not be targetted to a single virtualization environment
though Xen is the current default, which also means that some very
specific capabilities which are not generic enough may not be provided as
libvirt APIs</li>
<li>the API should allow to do efficiently and cleanly all the operations
needed to manage domains on a node</li>
<li>the API will not try to provide hight level multi-nodes management
features like load balancing, though they could be implemented on top of
libvirt</li>
<li>stability of the API is a big concern, libvirt should isolate
applications from the frequent changes expected at the lower level of the
virtualization framework</li>
</ul><p>So libvirt should be a building block for higher level management tools
and for applications focusing on virtualization of a single node (the only
exception being domain migration between node capabilities which may need to
be added at the libvirt level). Where possible libvirt should be extendable
to be able to provide the same API for remote nodes, however this is not the
case at the moment, the code currently handle only local node accesses.</p></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="architecture.html">libvirt architecture</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="format.html">XML Format</a></li><li><a href="python.html">Binding for Python</a></li><li><a href="errors.html">Handling of errors</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -1,218 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<api name='libvir'>
<files>
<file name='libvir'>
<summary>core interfaces for the libvir library</summary>
<description>Provides the interfaces of the libvir library to handle Xen domains from a process running in domain 0 </description>
<author>Daniel Veillard &lt;veillard@redhat.com&gt; </author>
<exports symbol='LIBVIR_VERSION_NUMBER' type='macro'/>
<exports symbol='VIR_DOMAIN_SHUTOFF' type='enum'/>
<exports symbol='VIR_DOMAIN_SHUTDOWN' type='enum'/>
<exports symbol='VIR_DOMAIN_NONE' type='enum'/>
<exports symbol='VIR_DOMAIN_BLOCKED' type='enum'/>
<exports symbol='VIR_DOMAIN_PAUSED' type='enum'/>
<exports symbol='VIR_DOMAIN_RUNNING' type='enum'/>
<exports symbol='VIR_DOMAIN_NOSTATE' type='enum'/>
<exports symbol='virDomainInfoPtr' type='typedef'/>
<exports symbol='virConnectPtr' type='typedef'/>
<exports symbol='virDomainState' type='typedef'/>
<exports symbol='virDomain' type='typedef'/>
<exports symbol='virDomainPtr' type='typedef'/>
<exports symbol='virConnect' type='typedef'/>
<exports symbol='virDomainCreateFlags' type='typedef'/>
<exports symbol='virDomainInfo' type='typedef'/>
<exports symbol='_virDomainInfo' type='struct'/>
<exports symbol='virDomainGetInfo' type='function'/>
<exports symbol='virDomainShutdown' type='function'/>
<exports symbol='virGetVersion' type='function'/>
<exports symbol='virDomainLookupByName' type='function'/>
<exports symbol='virConnectGetType' type='function'/>
<exports symbol='virConnectListDomains' type='function'/>
<exports symbol='virDomainLookupByID' type='function'/>
<exports symbol='virDomainGetOSType' type='function'/>
<exports symbol='virConnectNumOfDomains' type='function'/>
<exports symbol='virDomainSetMaxMemory' type='function'/>
<exports symbol='virDomainGetMaxMemory' type='function'/>
<exports symbol='virConnectGetVersion' type='function'/>
<exports symbol='virDomainFree' type='function'/>
<exports symbol='virConnectOpen' type='function'/>
<exports symbol='virDomainSuspend' type='function'/>
<exports symbol='virConnectClose' type='function'/>
<exports symbol='virDomainGetID' type='function'/>
<exports symbol='virDomainResume' type='function'/>
<exports symbol='virDomainCreateLinux' type='function'/>
<exports symbol='virDomainDestroy' type='function'/>
<exports symbol='virDomainGetXMLDesc' type='function'/>
<exports symbol='virDomainGetName' type='function'/>
<exports symbol='virConnectOpenReadOnly' type='function'/>
</file>
</files>
<symbols>
<macro name='LIBVIR_VERSION_NUMBER' file='libvir'>
<info>Macro providing the version of the library as version * 1,000,000 + minor * 1000 + micro</info>
</macro>
<enum name='VIR_DOMAIN_BLOCKED' file='libvir' value='2' type='virDomainState' info='the domain is blocked on resource'/>
<enum name='VIR_DOMAIN_NONE' file='libvir' value='0' type='virDomainCreateFlags'/>
<enum name='VIR_DOMAIN_NOSTATE' file='libvir' value='0' type='virDomainState' info='no state'/>
<enum name='VIR_DOMAIN_PAUSED' file='libvir' value='3' type='virDomainState' info='the domain is paused by user'/>
<enum name='VIR_DOMAIN_RUNNING' file='libvir' value='1' type='virDomainState' info='the domain is running'/>
<enum name='VIR_DOMAIN_SHUTDOWN' file='libvir' value='4' type='virDomainState' info='the domain is being shut down'/>
<enum name='VIR_DOMAIN_SHUTOFF' file='libvir' value='5' type='virDomainState' info=' the domain is shut off'/>
<struct name='virConnect' file='libvir' type='struct _virConnect'/>
<typedef name='virConnectPtr' file='libvir' type='virConnect *'>
<info>a virConnectPtr is pointer to a virConnect private structure, this is the type used to reference a connection to the Xen Hypervisor in the API.</info>
</typedef>
<struct name='virDomain' file='libvir' type='struct _virDomain'/>
<typedef name='virDomainCreateFlags' file='libvir' type='enum'/>
<struct name='virDomainInfo' file='libvir' type='struct _virDomainInfo'>
<field name='state' type='unsigned char' info=' the running state, one of virDomainFlags'/>
<field name='maxMem' type='unsigned long' info=' the maximum memory in KBytes allowed'/>
<field name='memory' type='unsigned long' info=' the memory in KBytes used by the domain'/>
<field name='nrVirtCpu' type='unsigned short' info='* Informations below are only available to clients with a connection
* with full access to the hypervisor
*'/>
<field name='cpuTime' type='unsigned long long' info='* TODO:
* - check what can be extracted publicly from xenstore
* and what&apos;s private limited to the hypervisor call.
* - add padding to this structure for ABI long term protection
*'/>
</struct>
<typedef name='virDomainInfoPtr' file='libvir' type='virDomainInfo *'>
<info>a virDomainInfoPtr is a pointer to a virDomainInfo structure.</info>
</typedef>
<typedef name='virDomainPtr' file='libvir' type='virDomain *'>
<info>a virDomainPtr is pointer to a virDomain private structure, this is the type used to reference a Xen domain in the API.</info>
</typedef>
<typedef name='virDomainState' file='libvir' type='enum'/>
<function name='virConnectClose' file='libvir' module='libvir'>
<info>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.</info>
<return type='int' info='0 in case of success or -1 in case of error.'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
</function>
<function name='virConnectGetType' file='libvir' module='libvir'>
<info>Get the name of the Hypervisor software used.</info>
<return type='const char *' info='NULL in case of error, a static zero terminated string otherwise.'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
</function>
<function name='virConnectGetVersion' file='libvir' module='libvir'>
<info>Get the version level of the Hypervisor running. This may work only with hypervisor call, i.e. with priviledged access to the hypervisor, not with a Read-Only connection.</info>
<return type='int' info='-1 in case of error, 0 otherwise. if the version can&apos;t be extracted by lack of capacities returns 0 and @hvVer is 0, otherwise @hvVer value is major * 1,000,000 + minor * 1,000 + release'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='hvVer' type='unsigned long *' info='return value for the version of the running hypervisor (OUT)'/>
</function>
<function name='virConnectListDomains' file='libvir' module='libvir'>
<info>Collect the list of active domains, and store their ID in @maxids</info>
<return type='int' info='the number of domain found or -1 in case of error'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='ids' type='int *' info='array to collect the list of IDs of active domains'/>
<arg name='maxids' type='int' info='size of @ids'/>
</function>
<function name='virConnectNumOfDomains' file='libvir' module='libvir'>
<info>Provides the number of active domains.</info>
<return type='int' info='the number of domain found or -1 in case of error'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
</function>
<function name='virConnectOpen' file='libvir' module='libvir'>
<info>This function should be called first to get a connection to the Hypervisor and xen store</info>
<return type='virConnectPtr' info='a pointer to the hypervisor connection or NULL in case of error'/>
<arg name='name' type='const char *' info='optional argument currently unused, pass NULL'/>
</function>
<function name='virConnectOpenReadOnly' file='libvir' module='libvir'>
<info>This function should be called first to get a read-only connection to the xen store. The set of APIs usable are then restricted.</info>
<return type='virConnectPtr' info='a pointer to the hypervisor connection or NULL in case of error'/>
<arg name='name' type='const char *' info='optional argument currently unused, pass NULL'/>
</function>
<function name='virDomainCreateLinux' file='libvir' module='libvir'>
<info>Launch a new Linux guest domain, unimplemented yet, API to be defined. This would function requires priviledged access to the hypervisor.</info>
<return type='virDomainPtr' info='a new domain object or NULL in case of failure'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='kernel_path' type='const char *' info='the file path to the kernel image'/>
<arg name='initrd_path' type='const char *' info='an optional file path to an initrd'/>
<arg name='cmdline' type='const char *' info='optional command line parameters for the kernel'/>
<arg name='memory' type='unsigned long' info='the memory size in kilobytes'/>
<arg name='flags' type='unsigned int' info='an optional set of virDomainFlags'/>
</function>
<function name='virDomainDestroy' file='libvir' module='libvir'>
<info>Destroy the domain object. The running instance is shutdown if not down already and all resources used by it are given back to the hypervisor. The data structure is freed and should not be used thereafter if the call does not return an error. This function requires priviledged access to the hypervisor.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virDomainFree' file='libvir' module='libvir'>
<info>Free the domain object. The running instance is kept alive. The data structure is freed and should not be used thereafter.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virDomainGetID' file='libvir' module='libvir'>
<info>Get the hypervisor ID number for the domain</info>
<return type='unsigned int' info='the domain ID number or (unsigned int) -1 in case of error'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virDomainGetInfo' file='libvir' module='libvir'>
<info>Extract information about a domain. Note that if the connection used to get the domain is limited only a partial set of the informations can be extracted.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
<arg name='info' type='virDomainInfoPtr' info='pointer to a virDomainInfo structure allocated by the user'/>
</function>
<function name='virDomainGetMaxMemory' file='libvir' module='libvir'>
<info>Retrieve the maximum amount of physical memory allocated to a domain. If domain is NULL, then this get the amount of memory reserved to Domain0 i.e. the domain where the application runs.</info>
<return type='unsigned long' info='the memory size in kilobytes or 0 in case of error.'/>
<arg name='domain' type='virDomainPtr' info='a domain object or NULL'/>
</function>
<function name='virDomainGetName' file='libvir' module='libvir'>
<info>Get the public name for that domain</info>
<return type='const char *' info='a pointer to the name or NULL, the string need not be deallocated its lifetime will be the same as the domain object.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virDomainGetOSType' file='libvir' module='libvir'>
<info>Get the type of domain operation system.</info>
<return type='char *' info='the new string or NULL in case of error'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virDomainGetXMLDesc' file='libvir' module='xml'>
<info>Provide an XML description of the domain. NOTE: this API is subject to changes.</info>
<return type='char *' info='a 0 terminated UTF-8 encoded XML instance, or NULL in case of error. the caller must free() the returned value.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
<arg name='flags' type='int' info='and OR&apos;ed set of extraction flags, not used yet'/>
</function>
<function name='virDomainLookupByID' file='libvir' module='libvir'>
<info>Try to find a domain based on the hypervisor ID number</info>
<return type='virDomainPtr' info='a new domain object or NULL in case of failure'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='id' type='int' info='the domain ID number'/>
</function>
<function name='virDomainLookupByName' file='libvir' module='libvir'>
<info>Try to lookup a domain on the given hypervisor based on its name.</info>
<return type='virDomainPtr' info='a new domain object or NULL in case of failure'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='name' type='const char *' info='name for the domain'/>
</function>
<function name='virDomainResume' file='libvir' module='libvir'>
<info>Resume an suspended domain, the process is restarted from the state where it was frozen by calling virSuspendDomain(). This function requires priviledged access to the hypervisor.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virDomainSetMaxMemory' file='libvir' module='libvir'>
<info>Dynamically change the maximum amount of physical memory allocated to a domain. If domain is NULL, then this change the amount of memory reserved to Domain0 i.e. the domain where the application runs. This function requires priviledged access to the hypervisor.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object or NULL'/>
<arg name='memory' type='unsigned long' info='the memory size in kilobytes'/>
</function>
<function name='virDomainShutdown' file='libvir' module='libvir'>
<info>Shutdown a domain, the domain object is still usable there after but the domain OS is being stopped. TODO: should we add an option for reboot, knowing it may not be doable in the general case ?</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virDomainSuspend' file='libvir' module='libvir'>
<info>Suspends an active domain, the process is frozen without further access to CPU resources and I/O but the memory used by the domain at the hypervisor level will stay allocated. Use virDomainResume() to reactivate the domain. This function requires priviledged access to the hypervisor.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virGetVersion' file='libvir' module='libvir'>
<info>Provides two information back, @libVer is the version of the library while @typeVer will be the version of the hypervisor type @type against which the library was compiled. If @type is NULL, &quot;Xen&quot; is assumed, if @type is unknown or not availble, an error code will be returned and @typeVer will be 0.</info>
<return type='int' info='-1 in case of failure, 0 otherwise, and values for @libVer and @typeVer have the format major * 1,000,000 + minor * 1,000 + release.'/>
<arg name='libVer' type='unsigned long *' info='return value for the library version (OUT)'/>
<arg name='type' type='const char *' info='hypervisor type'/>
<arg name='typeVer' type='unsigned long *' info='return value for the version of the hypervisor (OUT)'/>
</function>
</symbols>
</api>

File diff suppressed because it is too large Load Diff

View File

@ -1,36 +1,228 @@
<html>
<head>
<meta http-equiv="Content-Type" content="">
<title>Libvir the virtualization API</title>
<title>Libvirt the virtualization API</title>
</head>
<body bgcolor="#ffffff">
<h1 align="center">Libvir the virtualization API</h1>
<h1 align="center">Libvirt the virtualization API</h1>
<h1>Note: this is the flat content of the <a href="index.html">web
site</a></h1>
<h1 style="text-align: center">libvir</h1>
<h1 style="text-align: center">libvirt</h1>
<p>Libvir is a C toolkit to interract with the virtualization capabilities of
recent versions of Linux (and other OSes). It is free software available
<h3>what is <span class="style1">libvirt?</span></h3>
<p>Libvirt is a C toolkit to interact with the virtualization capabilities
of recent versions of Linux (and other OSes). It is free software available
under the <a href="http://www.opensource.org/licenses/lgpl-license.html">GNU
Lesser General Public License</a>. Virtualization of the Linux Operating
System means the ability to run multiple instances of Operating Systems
concurently on a single hardware system where the basic resources are driven
by a Linux instance. The library aim at providing long term stable C API
primarily for the <a
initially for the <a
href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen
paravirtualization</a> mechanism but should be able to integrate other
virtualization mechanisms if needed.</p>
paravirtualization</a> but should be able to integrate other virtualization
mechanisms if needed.</p>
<h2><a name="News">Releases</a></h2>
<p>There is no official release yet, just CVS state and snapshot, contact the
mailing list and check the <a href="ChangeLog.html">ChangeLog</a> to gauge
progresses.</p>
<p>Here is the list of official releases, however since it is early on in the
development of libvirt, it is preferable when possible to just use the <a
href="downloads.html">CVS version or snapshot</a>, contact the mailing list
and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progresses.</p>
<h3>0.1.10: Dec 20 2006</h3>
<ul>
<li>Extending the API</li>
<li>more localizations</li>
<li>bug fixes: VCPU info breakages on xen 3.0.3, xenDaemonListDomains buffer overflow (Daniel Berrange), reference count bug when creating Xen domains (Daniel Berrange).</li>
<li>improvements: support graphic framebuffer for Xen paravirt (Daniel Berrange), VNC listen IP range support (Daniel Berrange), support for default Xen config files and inactive domains of 3.0.4 (Daniel Berrange).</li>
</ul>
<h3>0.1.9: Nov 29 2006</h3>
<ul>
<li>python bindings: release interpeter lock when calling C (Daniel Berrange)</li>
<li>don't raise HTTP error when looking informations for a domain</li>
<li>some refactoring to use the driver for all entry points</li>
<li>better error reporting (Daniel Berrange)</li>
<li>fix OS reporting when running as non-root</li>
<li>provide XML parsing errors</li>
<li>extension of the test framework (Daniel Berrange)</li>
<li>fix the reconnect regression test</li>
<li>python bindings: Domain instances now link to the Connect to avoid garbage collection and disconnect</li>
<li>separate the notion of maximum memory and current use at the XML level</li>
<li>Fix a memory leak (Daniel Berrange)</li>
<li>add support for shareable drives</li>
<li>add support for non-bridge style networking configs for guests(Daniel Berrange)</li>
<li>python bindings: fix unsigned long marshalling (Daniel Berrange)</li>
<li>new config APIs virConfNew() and virConfSetValue() to build configs from scratch</li>
<li>hot plug device support based on Michel Ponceau patch</li>
<li>added support for inactive domains, new APIs, various associated cleanup (Daniel Berrange)</li>
<li>special device model for HVM guests (Daniel Berrange)</li>
<li>add API to dump core of domains (but requires a patched xend)</li>
<li>pygrub bootloader informations take over &lt;os&gt; informations</li>
<li>updated the localization strings</li>
</ul>
<h3>0.1.8: Oct 16 2006</h3>
<ul>
<li> Bug for system with page size != 4k</li>
<li> vcpu number initialization (Philippe Berthault)</li>
<li> don't label crashed domains as shut off (Peter Vetere)</li>
<li> fix virsh man page (Noriko Mizumoto)</li>
<li> blktapdd support for alternate drivers like blktap (Daniel Berrange)</li>
<li> memory leak fixes (xend interface and XML parsing) (Daniel Berrange)</li>
<li> compile fix</li>
<li> mlock/munlock size fixes (Daniel Berrange)</li>
<li> improve error reporting</li>
</ul>
<h3>0.1.7: Sep 29 2006</h3>
<ul>
<li> fix a memory bug on getting vcpu informations from xend (Daniel Berrange)</li>
<li> fix another problem in the hypercalls change in Xen changeset
86d26e6ec89b when getting domain informations (Daniel Berrange)</li>
</ul>
<h3>0.1.6: Sep 22 2006</h3>
<ul>
<li>Support for localization of strings using gettext (Daniel Berrange)</li>
<li>Support for new Xen-3.0.3 cdrom and disk configuration (Daniel Berrange)</li>
<li>Support for setting VNC port when creating domains with new
xend config files (Daniel Berrange) </li>
<li>Fix bug when running against xen-3.0.2 hypercalls (Jim Fehlig)</li>
<li>Fix reconnection problem when talking directly to http xend</li>
</ul>
<h3>0.1.5: Sep 5 2006</h3>
<ul>
<li>Support for new hypercalls change in Xen changeset 86d26e6ec89b</li>
<li>bug fixes: virParseUUID() was wrong, netwoking for paravirt guestsi
(Daniel Berrange), virsh on non-existent domains (Daniel Berrange),
string cast bug when handling error in python (Pete Vetere), HTTP
500 xend error code handling (Pete Vetere and Daniel Berrange)</li>
<li>improvements: test suite for SEXPR &lt;-&gt; XML format conversions (Daniel
Berrange), virsh output regression suite (Daniel Berrange), new environ
variable VIRSH_DEFAULT_CONNECT_URI for the default URI when connecting
(Daniel Berrange), graphical console support for paravirt guests
(Jeremy Katz), parsing of simple Xen config files (with Daniel Berrange),
early work on defined (not running) domains (Daniel Berrange),
virsh output improvement (Daniel Berrange</li>
</ul>
<h3>0.1.4: Aug 16 2006</h3>
<ul>
<li>bug fixes: spec file fix (Mark McLoughlin), error report problem (with
Hugh Brock), long integer in Python bindings (with Daniel Berrange), XML
generation bug for CDRom (Daniel Berrange), bug whem using number() XPath
function (Mark McLoughlin), fix python detection code, remove duplicate
initialization errors (Daniel Berrange)</li>
<li>improvements: UUID in XML description (Peter Vetere), proxy code
cleanup, virtual CPU and affinity support + virsh support (Michel
Ponceau, Philippe Berthault, Daniel Berrange), port and tty informations
for console in XML (Daniel Berrange), added XML dump to driver and proxy
support (Daniel Berrange), extention of boot options with support for
floppy and cdrom (Daniel Berrange), features block in XML to report/ask
PAE, ACPI, APIC for HVM domains (Daniel Berrange), fail saide-effect
operations when using read-only connection, large improvements to test
driver (Daniel Berrange) </li>
<li>documentation: spelling (Daniel Berrange), test driver examples.</li>
</ul>
<h3>0.1.3: Jul 11 2006</h3>
<ul>
<li>bugfixes: build as non-root, fix xend access when root, handling of
empty XML elements (Mark McLoughlin), XML serialization and parsing fixes
(Mark McLoughlin), allow to create domains without disk (Mark
McLoughlin),</li>
<li>improvement: xenDaemonLookupByID from O(n^2) to O(n) (Daniel Berrange),
support for fully virtualized guest (Jim Fehlig, DV, Mark McLoughlin)</li>
<li>documentation: augmented to cover hvm domains</li>
</ul>
<h3>0.1.2: Jul 3 2006</h3>
<ul>
<li>headers include paths fixup</li>
<li>proxy mechanism for unpriviledged read-only access by httpu</li>
</ul>
<h3>0.1.1: Jun 21 2006</h3>
<ul>
<li>building fixes: ncurses fallback (Jim Fehlig), VPATH builds (Daniel P.
Berrange)</li>
<li>driver cleanups: new entry points, cleanup of libvirt.c (with Daniel P.
Berrange)</li>
<li>Cope with API change introduced in Xen changeset 10277</li>
<li>new test driver for regression checks (Daniel P. Berrange)</li>
<li>improvements: added UUID to XML serialization, buffer usage (Karel
Zak), --connect argument to virsh (Daniel P. Berrange),</li>
<li>bug fixes: uninitialized memory access in error reporting, S-Expr
parsing (Jim Fehlig, Jeremy Katz), virConnectOpen bug, remove a TODO in
xs_internal.c</li>
<li>documentation: Python examples (David Lutterkort), new Perl binding
URL, man page update (Karel Zak)</li>
</ul>
<h3>0.1.0: Apr 10 2006</h3>
<ul>
<li>building fixes: --with-xen-distdir option (Ronald Aigner), out of tree
build and pkginfo cflag fix (Daniel Berrange)</li>
<li>enhancement and fixes of the XML description format (David Lutterkort
and Jim Fehlig)</li>
<li>new APIs: for Node information and Reboot</li>
<li>internal code cleanup: refactoring internals into a driver model, more
error handling, structure sharing, thread safety and ref counting</li>
<li>bug fixes: error message (Jim Meyering), error allocation in virsh (Jim
Meyering), virDomainLookupByID (Jim Fehlig),</li>
<li>documentation: updates on architecture, and format, typo fix (Jim
Meyering)</li>
<li>bindings: exception handling in examples (Jim Meyering), perl ones out
of tree (Daniel Berrange)</li>
<li>virsh: more options, create, nodeinfo (Karel Zak), renaming of some
options (Karel Zak), use stderr only for errors (Karel Zak), man page
(Andrew Puch)</li>
</ul>
<h3>0.0.6: Feb 28 2006</h3>
<ul>
<li>add UUID lookup and extract API</li>
<li>add error handling APIs both synchronous and asynchronous</li>
<li>added minimal hook for error handling at the python level, improved the
python bindings</li>
<li>augment the documentation and tests to cover error handling</li>
</ul>
<h3>0.0.5: Feb 23 2006</h3>
<ul>
<li>Added XML description parsing, dependance to libxml2, implemented the
creation API virDomainCreateLinux()</li>
<li>new APIs to lookup and name domain by UUID</li>
<li>fixed the XML dump when using the Xend access</li>
<li>Fixed a few more problem related to the name change</li>
<li>Adding regression tests in python and examples in C</li>
<li>web site improvement, extended the documentation to cover the XML
format and Python API</li>
<li>Added devhelp help for Gnome/Gtk programmers</li>
</ul>
<h3>0.0.4: Feb 10 2006</h3>
<ul>
<li>Fix various bugs introduced in the name change</li>
</ul>
<h3>0.0.3: Feb 9 2006</h3>
<ul>
<li>Switch name from from 'libvir' to libvirt</li>
<li>Starting infrastructure to add code examples</li>
<li>Update of python bindings for completeness</li>
</ul>
<h3>0.0.2: Jan 29 2006</h3>
<ul>
<li>Update of the documentation, web site redesign (Diana Fong)</li>
<li>integration of HTTP xend RPC based on libxend by Anthony Liquori for
most operations</li>
<li>Adding Save and Restore APIs</li>
<li>extended the virsh command line tool (Karel Zak)</li>
<li>remove xenstore transactions (Anthony Liguori)</li>
<li>fix the Python bindings bug when domain and connections where freed</li>
</ul>
<h3>0.0.1: Dec 19 2005</h3>
@ -42,37 +234,582 @@ progresses.</p>
<h2><a name="Introducti">Introduction</a></h2>
<p></p>
<p>Libvirt is a C toolkit to interact with the virtualization capabilities of
recent versions of Linux (and other OSes), but libvirt won't try to provide
all possible interfaces for interacting with the virtualization features.</p>
<h2><a name="architecture">libvir architecture</a></h2>
<p>To avoid ambiguity about the terms used here here are the definitions for
some of the specific concepts used in libvirt documentation:</p>
<ul>
<li>a <strong>node</strong> is a single physical machine</li>
<li>an <strong>hypervisor</strong> is a layer of software allowing to
virtualize a node in a set of virtual machines with possibly different
configurations than the node itself</li>
<li>a <strong>domain</strong> is an instance of an operating system running
on a virtualized machine provided by the hypervisor</li>
</ul>
<p style="text-align: center"><img
alt="Hypervisor and domains running on a node" src="node.gif"></p>
<p>Now we can define the goal of libvirt: to provide the lowest possible
generic and stable layer to manage domains on a node.</p>
<p>This implies the following:</p>
<ul>
<li>the API should not be targetted to a single virtualization environment
though Xen is the current default, which also means that some very
specific capabilities which are not generic enough may not be provided as
libvirt APIs</li>
<li>the API should allow to do efficiently and cleanly all the operations
needed to manage domains on a node</li>
<li>the API will not try to provide hight level multi-nodes management
features like load balancing, though they could be implemented on top of
libvirt</li>
<li>stability of the API is a big concern, libvirt should isolate
applications from the frequent changes expected at the lower level of the
virtualization framework</li>
</ul>
<p>So libvirt should be a building block for higher level management tools
and for applications focusing on virtualization of a single node (the only
exception being domain migration between node capabilities which may need to
be added at the libvirt level). Where possible libvirt should be extendable
to be able to provide the same API for remote nodes, however this is not the
case at the moment, the code currently handle only local node accesses.</p>
<h2><a name="architecture">libvirt architecture</a></h2>
<h3>This is in a large part Xen specific since this is the only hypervisor
supported at the moment</h3>
<p>When running in a Xen environment, programs using libvirt have to execute
in "Domain 0", which is the primary Linux OS loaded on the machine. That OS
kernel provides most if not all of the actual drivers used by the set of
domains. It also runs the Xen Store, a database of informations shared by the
hypervisor, the kernels, the drivers and the xen daemon. Xend. The xen daemon
supervise the control and execution of the sets of domains. The hypervisor,
drivers, kernels and daemons communicate though a shared system bus
implemented in the hypervisor. The figure below tries to provide a view of
this environment:</p>
<img src="architecture.gif" alt="The Xen architecture">
<p>The library can be initialized in 2 ways depending on the level of
priviledge of the embedding program. If it runs with root access,
virConnectOpen() can be used, it will use three different ways to connect to
the Xen infrastructure:</p>
<ul>
<li>a connection to the Xen Daemon though an HTTP RPC layer</li>
<li>a read/write connection to the Xen Store</li>
<li>use Xen Hypervisor calls</li>
</ul>
<p>The library will usually interact with the Xen daemon for any operation
changing the state of the system, but for performance and accuracy reasons
may talk directly to the hypervisor when gathering state informations at
least when possible (i.e. when the running program using libvirt has root
priviledge access).</p>
<p>If it runs without root access virConnectOpenReadOnly() should be used to
connect to initialize the library. It will try to open the read-only socket
<code>/var/run/xenstored/socket_ro</code> to connect to the Xen Store and
also try to use the RPC to the Xen daemon. In this case use of hypervisor
calls and write to the Xen Store will not be possible, restraining the amount
of APIs available and slowing down information gathering about domains.</p>
<h3>Internal architecture</h3>
<p>As the previous section explains, libvirt can communicate using different
channels with the current hypervisor, and should also be able to use
different kind of hypervisor. To simplify the internal design, code, ease
maintainance and simplify the support of other virtualization engine the
internals have been structured as one core component, the libvirt.c module
acting as a front-end for the library API and a set of hypvisor drivers
defining a common set of routines. That way the Xen Daemon accces, the Xen
Store one, the Hypervisor hypercall are all isolated in separate C modules
implementing at least a subset of the common operations defined by the
drivers present in driver.h:</p>
<ul>
<li>xend_internal: implements the driver functions though the Xen
Daemon</li>
<li>xs_internal: implements the subset of the driver availble though the
Xen Store</li>
<li>xen_internal: provide the implementation of the functions possible via
direct hypervisor access</li>
</ul>
<p>Note that a given driver may only implement a subset of those functions,
for example saving a domain state to disk and restoring it is only possible
though the Xen Daemon, on the other hand all interfaces allow to query the
runtime state of a given domain.</p>
<p></p>
<h2><a name="Downloads">Downloads</a></h2>
<p>The latest versions of libvir can be found on the <a
href="ftp://libvir.org/libvir/">libvir.org</a> server ( <a
href="http://libvir.org/sources/">HTTP</a>, <a
href="ftp://libvir.org/libvir/">FTP</a>). You will find there the released
<p>The latest versions of libvirt can be found on the <a
href="ftp://libvirt.org/libvirt/">libvirt.org</a> server ( <a
href="http://libvirt.org/sources/">HTTP</a>, <a
href="ftp://libvirt.org/libvirt/">FTP</a>). You will find there the released
versions as well as <a
href="http://libvir.org/sources/libvir-cvs-snapshot.tar.gz">snapshot
href="http://libvirt.org/sources/libvirt-cvs-snapshot.tar.gz">snapshot
tarballs</a> updated from CVS head every hour</p>
<p>Anonymous <a href="http://ximbiot.com/cvs/cvshome/docs/">CVS</a> is also
available, first register onto the server:</p>
<p><code>cvs -d :pserver:anoncvs@libvir.org:2401/data/cvs login</code></p>
<p><code>cvs -d :pserver:anoncvs@libvirt.org:2401/data/cvs login</code></p>
<p>it will request a password, enter <strong>anoncvs</strong>. Then you can
checkout the development tree with:</p>
<p><code>cvs -d :pserver:anoncvs@libvir.org:2401/data/cvs co libvir</code></p>
<p><code>cvs -d :pserver:anoncvs@libvirt.org:2401/data/cvs co
libvirt</code></p>
<p>Use ./autogen.sh to configure the local checkout, then <code>make</code>
and <code>make install</code>, as usual. All normal cvs commands are now
available except commiting to the base.</p>
<h2><a name="FAQ">FAQ</a></h2>
<h2><a name="Format">XML Format</a></h2>
<p>This section describes the XML format used to represent domains, there are
variations on the format based on the kind of domains run and the options
used to launch them:</p>
<p><a href="#Normal1">Normal paravirtualized Xen domains</a></p>
<p><a href="#Fully1">Fully virtualized Xen domains</a></p>
<p>The formats try as much as possible to follow the same structure and reuse
elements and attributes where it makes sense.</p>
<h3 id="Normal"><a name="Normal1" id="Normal1">Normal paravirtualized Xen
guests</a>:</h3>
<p>The library use an XML format to describe domains, as input to <a
href="html/libvirt-libvirt.html#virDomainCreateLinux">virDomainCreateLinux()</a>
and as the output of <a
href="html/libvirt-libvirt.html#virDomainGetXMLDesc">virDomainGetXMLDesc()</a>,
the following is an example of the format as returned by the shell command
<code>virsh xmldump fc4</code> , where fc4 was one of the running domains:</p>
<pre>&lt;domain type='xen' <span style="color: #0071FF; background-color: #FFFFFF">id='18'</span>&gt;
&lt;name&gt;fc4&lt;/name&gt;
<span style="color: #00B200; background-color: #FFFFFF">&lt;os&gt;
&lt;type&gt;linux&lt;/type&gt;
&lt;kernel&gt;/boot/vmlinuz-2.6.15-1.43_FC5guest&lt;/kernel&gt;
&lt;initrd&gt;/boot/initrd-2.6.15-1.43_FC5guest.img&lt;/initrd&gt;
&lt;root&gt;/dev/sda1&lt;/root&gt;
&lt;cmdline&gt; ro selinux=0 3&lt;/cmdline&gt;
&lt;/os&gt;</span>
&lt;memory&gt;131072&lt;/memory&gt;
&lt;vcpu&gt;1&lt;/vcpu&gt;
&lt;devices&gt;
<span style="color: #FF0080; background-color: #FFFFFF">&lt;disk type='file'&gt;
&lt;source file='/u/fc4.img'/&gt;
&lt;target dev='sda1'/&gt;
&lt;/disk&gt;</span>
<span style="color: #0000FF; background-color: #FFFFFF">&lt;interface type='bridge'&gt;
&lt;source bridge='xenbr0'/&gt;
&lt;mac address='</span><span style="color: #0000FF; background-color: #FFFFFF"></span><span style="color: #0000FF; background-color: #FFFFFF">aa:00:00:00:00:11'/&gt;
&lt;script path='/etc/xen/scripts/vif-bridge'/&gt;
&lt;/interface&gt;</span>
<span style="color: #FF8000; background-color: #FFFFFF">&lt;console tty='/dev/pts/5'/&gt;</span>
&lt;/devices&gt;
&lt;/domain&gt;</pre>
<p>The root element must be called <code>domain</code> with no namespace, the
<code>type</code> attribute indicates the kind of hypervisor used, 'xen' is
the default value. The <code>id</code> attribute gives the domain id at
runtime (not however that this may change, for example if the domain is saved
to disk and restored). The domain has a few children whose order is not
significant:</p>
<ul>
<li>name: the domain name, preferably ASCII based</li>
<li>memory: the maximum memory allocated to the domain in kilobytes</li>
<li>vcpu: the number of virtual cpu configured for the domain</li>
<li>os: a block describing the Operating System, its content will be
dependant on the OS type
<ul>
<li>type: indicate the OS type, always linux at this point</li>
<li>kernel: path to the kernel on the Domain 0 filesystem</li>
<li>initrd: an optional path for the init ramdisk on the Domain 0
filesystem</li>
<li>cmdline: optional command line to the kernel</li>
<li>root: the root filesystem from the guest viewpoint, it may be
passed as part of the cmdline content too</li>
</ul>
</li>
<li>devices: a list of <code>disk</code>, <code>interface</code> and
<code>console</code> descriptions in no special order</li>
</ul>
<p>The format of the devices and their type may grow over time, but the
following should be sufficient for basic use:</p>
<p>A <code>disk</code> device indicates a block device, it can have two
values for the type attribute either 'file' or 'block' corresponding to the 2
options availble at the Xen layer. It has two mandatory children, and one
optional one in no specific order:</p>
<ul>
<li>source with a file attribute containing the path in Domain 0 to the
file or a dev attribute if using a block device, containing the device
name ('hda5' or '/dev/hda5')</li>
<li>target indicates in a dev attribute the device where it is mapped in
the guest</li>
<li>readonly an optional empty element indicating the device is
read-only</li>
</ul>
<p>An <code>interface</code> element describes a network device mapped on the
guest, it also has a type whose value is currently 'bridge', it also have a
number of children in no specific order:</p>
<ul>
<li>source: indicating the bridge name</li>
<li>mac: the optional mac address provided in the address attribute</li>
<li>ip: the optional IP address provided in the address attribute</li>
<li>script: the script used to bridge the interfcae in the Domain 0</li>
<li>target: and optional target indicating the device name.</li>
</ul>
<p>A <code>console</code> element describes a serial console connection to
the guest. It has no children, and a single attribute <code>tty</code> which
provides the path to the Pseudo TTY on which the guest console can be
accessed</p>
<p>Life cycle actions for the domain can also be expressed in the XML format,
they drive what should be happening if the domain crashes, is rebooted or is
poweroff. There is various actions possible when this happen:</p>
<ul>
<li>destroy: The domain is cleaned up (that's the default normal processing
in Xen)</li>
<li>restart: A new domain is started in place of the old one with the same
configuration parameters</li>
<li>preserve: The domain will remain in memory until it is destroyed
manually, it won't be running but allows for post-mortem debugging</li>
<li>rename-restart: a variant of the previous one but where the old domain
is renamed before being saved to allow a restart</li>
</ul>
<p>The following could be used for a Xen production system:</p>
<pre>&lt;domain&gt;
...
&lt;on_reboot&gt;restart&lt;/on_reboot&gt;
&lt;on_poweroff&gt;destroy&lt;/on_poweroff&gt;
&lt;on_crash&gt;rename-restart&lt;/on_crash&gt;
...
&lt;/domain&gt;</pre>
<p>While the format may be extended in various ways as support for more
hypervisor types and features are added, it is expected that this core subset
will remain functional in spite of the evolution of the library.</p>
<h3 id="Fully"><a name="Fully1" id="Fully1">Fully virtualized guests</a>
(added in 0.1.3):</h3>
<p>Here is an example of a domain description used to start a fully
virtualized (a.k.a. HVM) Xen domain. This requires hardware virtualization
support at the processor level but allows to run unmodified operating
systems:</p>
<pre>&lt;domain type='xen' id='3'&gt;
&lt;name&gt;fv0&lt;/name&gt;
&lt;uuid&gt;4dea22b31d52d8f32516782e98ab3fa0&lt;/uuid&gt;
&lt;os&gt;
<span style="color: #0000E5; background-color: #FFFFFF">&lt;type&gt;hvm&lt;/type&gt;</span>
<span style="color: #0000E5; background-color: #FFFFFF">&lt;loader&gt;/usr/lib/xen/boot/hvmloader&lt;/loader&gt;</span>
<span style="color: #0000E5; background-color: #FFFFFF">&lt;boot dev='hd'/&gt;</span>
&lt;/os&gt;
&lt;memory&gt;524288&lt;/memory&gt;
&lt;vcpu&gt;1&lt;/vcpu&gt;
&lt;on_poweroff&gt;destroy&lt;/on_poweroff&gt;
&lt;on_reboot&gt;restart&lt;/on_reboot&gt;
&lt;on_crash&gt;restart&lt;/on_crash&gt;
&lt;features&gt;
<span style="color: #E50000; background-color: #FFFFFF">&lt;pae/&gt;
&lt;acpi/&gt;
&lt;apic/&gt;</span>
&lt;/features&gt;
&lt;devices&gt;
<span style="color: #0000E5; background-color: #FFFFFF">&lt;emulator&gt;/usr/lib/xen/bin/qemu-dm&lt;/emulator&gt;</span>
&lt;interface type='bridge'&gt;
&lt;source bridge='xenbr0'/&gt;
&lt;mac address='00:16:3e:5d:c7:9e'/&gt;
&lt;script path='vif-bridge'/&gt;
&lt;/interface&gt;
&lt;disk type='file'&gt;
&lt;source file='/root/fv0'/&gt;
&lt;target <span style="color: #0000E5; background-color: #FFFFFF">dev='hda'</span>/&gt;
&lt;/disk&gt;
&lt;disk type='file' <span style="color: #0000E5; background-color: #FFFFFF">device='cdrom'</span>&gt;
&lt;source file='/root/fc5-x86_64-boot.iso'/&gt;
&lt;target <span style="color: #0000E5; background-color: #FFFFFF">dev='hdc'</span>/&gt;
&lt;readonly/&gt;
&lt;/disk&gt;
&lt;disk type='file' <span style="color: #0000E5; background-color: #FFFFFF">device='floppy'</span>&gt;
&lt;source file='/root/fd.img'/&gt;
&lt;target <span style="color: #0000E5; background-color: #FFFFFF">dev='fda'</span>/&gt;
&lt;/disk&gt;
<span style="color: #0000E5; background-color: #FFFFFF">&lt;graphics type='vnc' port='5904'/&gt;</span>
&lt;/devices&gt;
&lt;/domain&gt;</pre>
<p>There is a few things to notice specifically for HVM domains:</p>
<ul>
<li>the optional <code>&lt;features&gt;</code> block is used to enable
certain guest CPU / system features. For HVM guests the following
features are defined:
<ul>
<li><code>pae</code> - enable PAE memory addressing</li>
<li><code>apic</code> - enable IO APIC</li>
<li><code>acpi</code> - enable ACPI bios</li>
</ul>
</li>
<li>the <code>&lt;os&gt;</code> block description is very different, first
it indicates that the type is 'hvm' for hardware virtualization, then
instead of a kernel, boot and command line arguments, it points to an os
boot loader which will extract the boot informations from the boot device
specified in a separate boot element. The <code>dev</code> attribute on
the <code>boot</code> tag can be one of:
<ul>
<li><code>fd</code> - boot from first floppy device</li>
<li><code>hd</code> - boot from first harddisk device</li>
<li><code>cdrom</code> - boot from first cdrom device</li>
</ul>
</li>
<li>the <code>&lt;devices&gt;</code> section includes an emulator entry
pointing to an additional program in charge of emulating the devices</li>
<li>the disk entry indicates in the dev target section that the emulation
for the drive is the first IDE disk device hda. The list of device names
supported is dependant on the Hypervisor, but for Xen it can be any IDE
device <code>hda</code>-<code>hdd</code>, or a floppy device
<code>fda</code>, <code>fdb</code>. The <code>&lt;disk&gt;</code> element
also supports a 'device' attribute to indicate what kinda of hardware to
emulate. The following values are supported:
<ul>
<li><code>floppy</code> - a floppy disk controller</li>
<li><code>disk</code> - a generic hard drive (the default it
omitted)</li>
<li><code>cdrom</code> - a CDROM device</li>
</ul>
For Xen 3.0.2 and earlier a CDROM device can only be emulated on the
<code>hdc</code> channel, while for 3.0.3 and later, it can be emulated
on any IDE channel.</li>
<li>the <code>&lt;devices&gt;</code> section also include at least one
entry for the graphic device used to render the os. Currently there is
just 2 types possible 'vnc' or 'sdl'. If the type is 'vnc', then an
additional <code>port</code> attribute will be present indicating the TCP
port on which the VNC server is accepting client connections.</li>
</ul>
<p>It is likely that the HVM description gets additional optional elements
and attributes as the support for fully virtualized domain expands,
especially for the variety of devices emulated and the graphic support
options offered.</p>
<h2><a name="Python" id="Python">Binding for Python</a></h2>
<p>Libvirt comes with direct support for the Python language (just make sure
you installed the libvirt-python package if not compiling from sources). Also
note that Daniel Berrange provides <a
href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">bindings for Perl</a>
too.</p>
<p>The Python binding should be complete and are mostly automatically
generated from the formal description of the API in xml. The bindings are
articulated around 2 classes <code>virConnect</code> and virDomain mapping to
the C types. Functions in the C API taking either type as argument then
becomes methods for the classes, their name is just stripped from the
virConnect or virDomain(Get) prefix and the first letter gets converted to
lower case, for example the C functions:</p>
<p><code>int <a
href="html/libvirt-libvirt.html#virConnectNumOfDomains">virConnectNumOfDomains</a>
(virConnectPtr conn);</code></p>
<p><code>int <a
href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a>
(virDomainPtr domain, unsigned long memory);</code></p>
<p>become</p>
<p><code>virConn::numOfDomains(self)</code></p>
<p><code>virDomain::setMaxMemory(self, memory)</code></p>
<p>This process is fully automated, you can get a summary of the conversion
in the file libvirtclass.txt present in the python dir or in the docs.There
is a couple of function who don't map directly to their C counterparts due to
specificities in their argument conversions:</p>
<ul>
<li><code><a
href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a></code>
is replaced by <code>virDomain::listDomainsID(self)</code> which returns
a list of the integer ID for the currently running domains</li>
<li><code><a
href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a></code>
is replaced by <code>virDomain::info()</code> which returns a list of
<ol>
<li>state: one of the state values (virDomainState)</li>
<li>maxMemory: the maximum memory used by the domain</li>
<li>memory: the current amount of memory used by the domain</li>
<li>nbVirtCPU: the number of virtual CPU</li>
<li>cpuTime: the time used by the domain in nanoseconds</li>
</ol>
</li>
</ul>
<p>So let's look at a simple example inspired from the <code>basic.py</code>
test found in <code>python/tests/</code> in the source tree:</p>
<pre>import <span style="color: #0071FF; background-color: #FFFFFF">libvirt</span>
import sys
conn = <span style="color: #0071FF; background-color: #FFFFFF">libvirt</span>.openReadOnly(None)
if conn == None:
print 'Failed to open connection to the hypervisor'
sys.exit(1)
try:
dom0 = conn.<span style="color: #007F00; background-color: #FFFFFF">lookupByName</span>("Domain-0")
except:
print 'Failed to find the main domain'
sys.exit(1)
print "Domain 0: id %d running %s" % (dom0.<span style="color: #FF0080; background-color: #FFFFFF">ID</span>(), dom0.<span style="color: #FF0080; background-color: #FFFFFF">OSType</span>())
print dom0.<span style="color: #FF0080; background-color: #FFFFFF">info</span>()</pre>
<p>There is not much to comment about it, it really is a straight mapping
from the C API, the only points to notice are:</p>
<ul>
<li>the import of the module called <code><span
style="color: #0071FF; background-color: #FFFFFF">libvirt</span></code></li>
<li>getting a connection to the hypervisor, in that case using the
openReadOnly function allows the code to execute as a normal user.</li>
<li>getting an object representing the Domain 0 using <span
style="color: #007F00; background-color: #FFFFFF">lookupByName</span></li>
<li>if the domain is not found a libvirtError exception will be raised</li>
<li>extracting and printing some informations about the domain using
various <span
style="color: #E50073; background-color: #FFFFFF">methods</span>
associated to the virDomain class.</li>
</ul>
<h2><a name="Errors" id="Errors">Handling of errors</a></h2>
<p>The main goals of libvirt when it comes to error handling are:</p>
<ul>
<li>provide as much detail as possible</li>
<li>provide the informations as soon as possible</li>
<li>dont force the library user into one style of error handling</li>
</ul>
<p>As result the library provide both synchronous, callback based and
asynchronous error reporting. When an error happens in the library code the
error is logged, allowing to retrieve it later and if the user registered an
error callback it will be called synchronously. Once the call to libvirt ends
the error can be detected by the return value and the full information for
the last logged error can be retrieved.</p>
<p>To avoid as much as prossible troubles with a global variable in a
multithreaded environment, libvirt will associate when possible the errors to
the current connection they are related to, that way the error is stored in a
dynamic structure which can be made thread specific. Error callback can be
set specifically to a connection with</p>
<p>So error handling in the code is the following:</p>
<ol>
<li>if the error can be associated to a connection for example when failing
to look up a domain
<ol>
<li>if there is a callback associated to the connection set with <a
href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a>,
call it with the error informations</li>
<li>otherwise if there is a global callback set with <a
href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a>,
call it with the error information</li>
<li>otherwise call <a
href="html/libvirt-virterror.html#virDefaultErrorFunc">virDefaultErrorFunc</a>
which is the default error function of the library issuing the error
on stderr</li>
<li>save the error in the connection for later retrieval with <a
href="html/libvirt-virterror.html#virConnGetLastError">virConnGetLastError</a></li>
</ol>
</li>
<li>otherwise like when failing to create an hypervisor connection:
<ol>
<li>if there is a global callback set with <a
href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a>,
call it with the error information</li>
<li>otherwise call <a
href="html/libvirt-virterror.html#virDefaultErrorFunc">virDefaultErrorFunc</a>
which is the default error function of the library issuing the error
on stderr</li>
<li>save the error in the connection for later retrieval with <a
href="html/libvirt-virterror.html#virGetLastError">virGetLastError</a></li>
</ol>
</li>
</ol>
<p>In all cases the error informations are provided as a <a
href="html/libvirt-virterror.html#virErrorPtr">virErrorPtr</a> pointer to
read-only structure <a
href="html/libvirt-virterror.html#virError">virError</a> containing the
following fields:</p>
<ul>
<li>code: an error number from the <a
href="html/libvirt-virterror.html#virErrorNumber">virErrorNumber</a>
enum</li>
<li>domain: an enum indicating which part of libvirt raised the error see
<a
href="html/libvirt-virterror.html#virErrorDomain">virErrorDomain</a></li>
<li>level: the error level, usually VIR_ERR_ERROR, though there is room for
warnings like VIR_ERR_WARNING</li>
<li>message: the full human-readable formatted string of the error</li>
<li>conn: if available a pointer to the <a
href="html/libvirt-libvirt.html#virConnectPtr">virConnectPtr</a>
connection to the hypervisor where this happened</li>
<li>dom: if available a pointer to the <a
href="html/libvirt-libvirt.html#virDomainPtr">virDomainPtr</a> domain
targetted in the operation</li>
</ul>
<p>and then extra raw informations about the error which may be initialized
to 0 or NULL if unused</p>
<ul>
<li>str1, str2, str3: string informations, usually str1 is the error
message format</li>
<li>int1, int2: integer informations</li>
</ul>
<p>So usually, setting up specific error handling with libvirt consist of
registering an handler with with <a
href="html/libvirt-virterror.html#virSetErrorFunc">virSetErrorFunc</a> or
with <a
href="html/libvirt-virterror.html#virConnSetErrorFunc">virConnSetErrorFunc</a>,
chech the value of the code value, take appropriate action, if needed let
libvirt print the error on stderr by calling <a
href="html/libvirt-virterror.html#virDefaultErrorFunc">virDefaultErrorFunc</a>.
For asynchronous error handing, set such a function doing nothing to avoid
the error being reported on stderr, and call virConnGetLastError or
virGetLastError when an API call returned an error value. It can be a good
idea to use <a
href="html/libvirt-virterror.html#virResetLastError">virResetError</a> or <a
href="html/libvirt-virterror.html#virConnResetLastError">virConnResetLastError</a>
once an error has been processed fully.</p>
<p>At the python level, there only a global reporting callback function at
this point, see the error.py example about it:</p>
<pre>def handler(ctxt, err):
global errno
#print "handler(%s, %s)" % (ctxt, err)
errno = err
libvirt.registerErrorHandler(handler, 'context') </pre>
<p>the second argument to the registerErrorHandler function is passed as the
fist argument of the callback like in the C version. The error is a tuple
containing the same field as a virError in C, but cast to Python.</p>
<h2><a name="FAQ" id="FAQ">FAQ</a></h2>
<p>Table of Contents:</p>
<ul>
@ -84,15 +821,15 @@ available except commiting to the base.</p>
<h3><a name="License">License</a>(s)</h3>
<ol>
<li><em>Licensing Terms for libvir</em>
<p>libvir is released under the <a
<li><em>Licensing Terms for libvirt</em>
<p>libvirt is released under the <a
href="http://www.opensource.org/licenses/lgpl-license.html">GNU Lesser
General Public License</a>, see the file COPYING.LIB in the distribution
for the precise wording. The only library that libvir depends upon is the
Xen store access library which is also licenced under the LGPL.</p>
for the precise wording. The only library that libvirt depends upon is
the Xen store access library which is also licenced under the LGPL.</p>
</li>
<li><em>Can I embed libvir in a proprietary application ?</em>
<p>Yes. The LGPL allows you to embed libvir into a proprietary
<li><em>Can I embed libvirt in a proprietary application ?</em>
<p>Yes. The LGPL allows you to embed libvirt into a proprietary
application. It would be graceful to send-back bug fixes and improvements
as patches for possible incorporation in the main development tree. It
will decrease your maintainance costs anyway if you do so.</p>
@ -101,39 +838,48 @@ available except commiting to the base.</p>
<h3><a name="Installati">Installation</a></h3>
<ol>
<li><em>Where can I get libvir</em> ?
<li><em>Where can I get libvirt</em> ?
<p>The original distribution comes from <a
href="ftp://libvir.org/libvir/">ftp://libvir.org/libvir/</a>.</p>
href="ftp://libvirt.org/libvirt/">ftp://libvirt.org/libvirt/</a>.</p>
</li>
<li><em>I can't install the libvir/libvir-devel RPM packages due to failed
dependencies</em>
<li><em>I can't install the libvirt/libvirt-devel RPM packages due to
failed dependencies</em>
<p>The most generic solution is to re-fetch the latest src.rpm , and
rebuild it locally with</p>
<p><code>rpm --rebuild libvir-xxx.src.rpm</code>.</p>
<p><code>rpm --rebuild libvirt-xxx.src.rpm</code>.</p>
<p>If everything goes well it will generate two binary rpm packages (one
providing the shared libs and virsh, and the other one, the -devel
package, providing includes, static libraries and scripts needed to build
applications with libvir that you can install locally.</p>
applications with libvirt that you can install locally.</p>
<p>One can also rebuild the RPMs from a tarball:</p>
<p><code>rpmbuild -ta libdir-xxx.tar.gz</code></p>
<p>Or from a configured tree with:</p>
<p><code>make rpm</code></p>
</li>
<li><em>Failure to use the API for non-root users</em>
<p>Large parts of the API are only accessible as root, however the read
only access to the xenstore data doesnot have to be forbidden to user, at
least for monitoring purposes. If "virsh info" fails to run as an user,
change the mode of the xenstore read-only socket with:</p>
<p>Large parts of the API may only be accessible with root priviledges,
however the read only access to the xenstore data doesnot have to be
forbidden to user, at least for monitoring purposes. If "virsh dominfo"
fails to run as an user, change the mode of the xenstore read-only socket
with:</p>
<p><code>chmod 666 /var/run/xenstored/socket_ro</code></p>
<p>and also make sure that the Xen Daemon is running correctly with local
HTTP server enabled, this is defined in
<code>/etc/xen/xend-config.sxp</code> which need the following line to be
enabled:</p>
<p><code>(xend-http-server yes)</code></p>
<p>If needed restart the xend daemon after making the change with the
following command run as root:</p>
<p><code>service xend restart</code></p>
</li>
</ol>
<h3><a name="Compilatio">Compilation</a></h3>
<ol>
<li><em>What is the process to compile libvir ?</em>
<p>As most UNIX libraries libvir follows the "standard":</p>
<p><code>gunzip -c libvir-xxx.tar.gz | tar xvf -</code></p>
<p><code>cd libvir-xxxx</code></p>
<li><em>What is the process to compile libvirt ?</em>
<p>As most UNIX libraries libvirt follows the "standard":</p>
<p><code>gunzip -c libvirt-xxx.tar.gz | tar xvf -</code></p>
<p><code>cd libvirt-xxxx</code></p>
<p><code>./configure --help</code></p>
<p>to see the options, then the compilation/installation proper</p>
<p><code>./configure [possible options]</code></p>
@ -142,8 +888,8 @@ available except commiting to the base.</p>
<p>At that point you may have to rerun ldconfig or a similar utility to
update your list of installed shared libs.</p>
</li>
<li><em>What other libraries are needed to compile/install libvir ?</em>
<p>Libvir requires libxenstore, which is usually provided by the xen
<li><em>What other libraries are needed to compile/install libvirt ?</em>
<p>Libvirt requires libxenstore, which is usually provided by the xen
packages as well as the public headers to compile against libxenstore.</p>
</li>
<li><em>I use the CVS version and there is no configure script</em>
@ -156,18 +902,18 @@ available except commiting to the base.</p>
<h3><a name="Developer">Developer</a> corner</h3>
<ol>
<li><em>Troubles compiling or linking programs using libvir</em>
<p>To simplify the process of reusing the library, libvir comes with
<li><em>Troubles compiling or linking programs using libvirt</em>
<p>To simplify the process of reusing the library, libvirt comes with
pkgconfig support, which can be used directly from autoconf support or
via the pkg-config command line tool, like:</p>
<p><code>pkg-config libvir --libs</code></p>
<p><code>pkg-config libvirt --libs</code></p>
</li>
</ol>
<h2><a name="Reporting">Reporting bugs and getting help</a></h2>
<p>There is a mailing-list <a
href="mailto:libvir-list@redhat.com">libvir-list@redhat.com</a> for libvir,
href="mailto:libvir-list@redhat.com">libvir-list@redhat.com</a> for libvirt,
with an <a href="https://www.redhat.com/archives/libvir-list/">on-line
archive</a>. Please subscribe to this list before posting by visiting the <a
href="https://www.redhat.com/mailman/listinfo/libvir-list">associated Web</a>
@ -175,8 +921,10 @@ page and follow the instructions. Patches with explanations and provided as
attachments are really appreciated and will be discussed on the mailing list.
If possible generate the patches by using cvs diff -u in a CVS checkout.</p>
<p>We expect to use <a href="https://bugzilla.redhat.com/">Red Hat
Bugzilla</a> to track bugs for libvir, though there isn't yet a libvir
software module.</p>
<p>We use Red Hat Bugzilla to track bugs to libvirt. If you want to report a
bug, please check <a href="http://bugzilla.redhat.com/bugzilla/buglist.cgi?component=libvirt&amp;component=libvirt-devel&amp;component=libvirt-python&amp;bug_status=ASSIGNED&amp;bug_status=INVESTIGATE&amp;bug_status=NEW&amp;bug_status=REOPENED&amp;bug_status=VERIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;Search=Search">the existing open bugs</a>, then if yours isn't a duplicate of
an existing bug, <a href="http://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Fedora%20Core&amp;component=libvirt">log a new bug</a>. It may be good
to post to the <a href="mailto:libvir-list@redhat.com">mailing-list</a>
too if the issue looks serious, thanks !</p>
</body>
</html>

BIN
docs/libvirHeader.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

BIN
docs/libvirLogo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

666
docs/libvirt-api.xml Normal file
View File

@ -0,0 +1,666 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<api name='libvirt'>
<files>
<file name='libvirt'>
<summary>core interfaces for the libvirt library</summary>
<description>Provides the interfaces of the libvirt library to handle Xen domains from a process running in domain 0 </description>
<author>Daniel Veillard &lt;veillard@redhat.com&gt; </author>
<exports symbol='VIR_NODEINFO_MAXCPUS' type='macro'/>
<exports symbol='LIBVIR_VERSION_NUMBER' type='macro'/>
<exports symbol='VIR_USE_CPU' type='macro'/>
<exports symbol='VIR_CPU_MAPLEN' type='macro'/>
<exports symbol='VIR_CPU_USABLE' type='macro'/>
<exports symbol='VIR_COPY_CPUMAP' type='macro'/>
<exports symbol='VIR_GET_CPUMAP' type='macro'/>
<exports symbol='VIR_UNUSE_CPU' type='macro'/>
<exports symbol='VIR_DOMAIN_SHUTOFF' type='enum'/>
<exports symbol='VIR_DOMAIN_DESTROY' type='enum'/>
<exports symbol='VIR_DEVICE_DEFAULT' type='enum'/>
<exports symbol='VIR_DOMAIN_RENAME_RESTART' type='enum'/>
<exports symbol='VIR_DOMAIN_PRESERVE' type='enum'/>
<exports symbol='VIR_VCPU_BLOCKED' type='enum'/>
<exports symbol='VIR_DOMAIN_SHUTDOWN' type='enum'/>
<exports symbol='VIR_VCPU_OFFLINE' type='enum'/>
<exports symbol='VIR_DEVICE_RO' type='enum'/>
<exports symbol='VIR_DEVICE_RW_FORCE' type='enum'/>
<exports symbol='VIR_VCPU_RUNNING' type='enum'/>
<exports symbol='VIR_DOMAIN_CRASHED' type='enum'/>
<exports symbol='VIR_DOMAIN_NONE' type='enum'/>
<exports symbol='VIR_DEVICE_RW' type='enum'/>
<exports symbol='VIR_DOMAIN_BLOCKED' type='enum'/>
<exports symbol='VIR_DOMAIN_PAUSED' type='enum'/>
<exports symbol='VIR_DOMAIN_RESTART' type='enum'/>
<exports symbol='VIR_DOMAIN_RUNNING' type='enum'/>
<exports symbol='VIR_DOMAIN_NOSTATE' type='enum'/>
<exports symbol='virNodeInfoPtr' type='typedef'/>
<exports symbol='virDomainInfoPtr' type='typedef'/>
<exports symbol='virDomainKernelPtr' type='typedef'/>
<exports symbol='virConnectPtr' type='typedef'/>
<exports symbol='virDomainKernel' type='typedef'/>
<exports symbol='virNodeInfo' type='typedef'/>
<exports symbol='virDomainState' type='typedef'/>
<exports symbol='virDeviceMode' type='typedef'/>
<exports symbol='virDomain' type='typedef'/>
<exports symbol='virDomainPtr' type='typedef'/>
<exports symbol='virVcpuInfo' type='typedef'/>
<exports symbol='virVcpuInfoPtr' type='typedef'/>
<exports symbol='virDomainRestart' type='typedef'/>
<exports symbol='virConnect' type='typedef'/>
<exports symbol='virDomainCreateFlags' type='typedef'/>
<exports symbol='virDomainInfo' type='typedef'/>
<exports symbol='virVcpuState' type='typedef'/>
<exports symbol='_virDomainInfo' type='struct'/>
<exports symbol='_virDomainKernel' type='struct'/>
<exports symbol='_virNodeInfo' type='struct'/>
<exports symbol='_virVcpuInfo' type='struct'/>
<exports symbol='virDomainGetInfo' type='function'/>
<exports symbol='virDomainUndefine' type='function'/>
<exports symbol='virDomainDefineXML' type='function'/>
<exports symbol='virDomainShutdown' type='function'/>
<exports symbol='virGetVersion' type='function'/>
<exports symbol='virConnectListDefinedDomains' type='function'/>
<exports symbol='virDomainLookupByName' type='function'/>
<exports symbol='virDomainPinVcpu' type='function'/>
<exports symbol='virDomainRestore' type='function'/>
<exports symbol='virConnectGetType' type='function'/>
<exports symbol='virDomainSave' type='function'/>
<exports symbol='virDomainCreate' type='function'/>
<exports symbol='virConnectListDomains' type='function'/>
<exports symbol='virDomainCoreDump' type='function'/>
<exports symbol='virDomainLookupByUUID' type='function'/>
<exports symbol='virDomainLookupByUUIDString' type='function'/>
<exports symbol='virDomainLookupByID' type='function'/>
<exports symbol='virDomainGetOSType' type='function'/>
<exports symbol='virNodeGetInfo' type='function'/>
<exports symbol='virDomainGetUUID' type='function'/>
<exports symbol='virConnectNumOfDomains' type='function'/>
<exports symbol='virDomainGetUUIDString' type='function'/>
<exports symbol='virDomainGetMaxMemory' type='function'/>
<exports symbol='virDomainAttachDevice' type='function'/>
<exports symbol='virDomainSetMaxMemory' type='function'/>
<exports symbol='virDomainFree' type='function'/>
<exports symbol='virConnectOpen' type='function'/>
<exports symbol='virDomainSuspend' type='function'/>
<exports symbol='virConnectNumOfDefinedDomains' type='function'/>
<exports symbol='virConnectClose' type='function'/>
<exports symbol='virDomainReboot' type='function'/>
<exports symbol='virInitialize' type='function'/>
<exports symbol='virDomainSetVcpus' type='function'/>
<exports symbol='virDomainGetID' type='function'/>
<exports symbol='virDomainResume' type='function'/>
<exports symbol='virDomainCreateLinux' type='function'/>
<exports symbol='virDomainSetMemory' type='function'/>
<exports symbol='virDomainDestroy' type='function'/>
<exports symbol='virDomainDetachDevice' type='function'/>
<exports symbol='virDomainGetVcpus' type='function'/>
<exports symbol='virDomainGetXMLDesc' type='function'/>
<exports symbol='virConnectGetVersion' type='function'/>
<exports symbol='virDomainGetName' type='function'/>
<exports symbol='virConnectOpenReadOnly' type='function'/>
</file>
<file name='virterror'>
<summary>error handling interfaces for the libvirt library</summary>
<description>Provides the interfaces of the libvirt library to handle errors raised while using the library. </description>
<author>Daniel Veillard &lt;veillard@redhat.com&gt; </author>
<exports symbol='VIR_ERR_CALL_FAILED' type='enum'/>
<exports symbol='VIR_ERR_WARNING' type='enum'/>
<exports symbol='VIR_ERR_NO_XEN' type='enum'/>
<exports symbol='VIR_ERR_INVALID_ARG' type='enum'/>
<exports symbol='VIR_ERR_ERROR' type='enum'/>
<exports symbol='VIR_ERR_NO_DEVICE' type='enum'/>
<exports symbol='VIR_ERR_NO_MEMORY' type='enum'/>
<exports symbol='VIR_FROM_SEXPR' type='enum'/>
<exports symbol='VIR_FROM_RPC' type='enum'/>
<exports symbol='VIR_ERR_XML_ERROR' type='enum'/>
<exports symbol='VIR_FROM_NONE' type='enum'/>
<exports symbol='VIR_ERR_DOM_EXIST' type='enum'/>
<exports symbol='VIR_ERR_NO_XENSTORE' type='enum'/>
<exports symbol='VIR_FROM_DOM' type='enum'/>
<exports symbol='VIR_ERR_INVALID_DOMAIN' type='enum'/>
<exports symbol='VIR_FROM_XML' type='enum'/>
<exports symbol='VIR_FROM_CONF' type='enum'/>
<exports symbol='VIR_ERR_PARSE_FAILED' type='enum'/>
<exports symbol='VIR_ERR_NO_KERNEL' type='enum'/>
<exports symbol='VIR_ERR_POST_FAILED' type='enum'/>
<exports symbol='VIR_ERR_OS_TYPE' type='enum'/>
<exports symbol='VIR_ERR_INVALID_CONN' type='enum'/>
<exports symbol='VIR_ERR_NONE' type='enum'/>
<exports symbol='VIR_ERR_OK' type='enum'/>
<exports symbol='VIR_ERR_XML_DETAIL' type='enum'/>
<exports symbol='VIR_ERR_NO_NAME' type='enum'/>
<exports symbol='VIR_ERR_NO_ROOT' type='enum'/>
<exports symbol='VIR_ERR_OPERATION_FAILED' type='enum'/>
<exports symbol='VIR_ERR_GET_FAILED' type='enum'/>
<exports symbol='VIR_ERR_DRIVER_FULL' type='enum'/>
<exports symbol='VIR_ERR_HTTP_ERROR' type='enum'/>
<exports symbol='VIR_ERR_NO_SOURCE' type='enum'/>
<exports symbol='VIR_ERR_NO_TARGET' type='enum'/>
<exports symbol='VIR_ERR_OPERATION_DENIED' type='enum'/>
<exports symbol='VIR_ERR_WRITE_FAILED' type='enum'/>
<exports symbol='VIR_ERR_INTERNAL_ERROR' type='enum'/>
<exports symbol='VIR_ERR_CONF_SYNTAX' type='enum'/>
<exports symbol='VIR_ERR_NO_SUPPORT' type='enum'/>
<exports symbol='VIR_FROM_XEND' type='enum'/>
<exports symbol='VIR_FROM_PROXY' type='enum'/>
<exports symbol='VIR_ERR_READ_FAILED' type='enum'/>
<exports symbol='VIR_ERR_SEXPR_SERIAL' type='enum'/>
<exports symbol='VIR_FROM_XENSTORE' type='enum'/>
<exports symbol='VIR_FROM_XEN' type='enum'/>
<exports symbol='VIR_ERR_OPEN_FAILED' type='enum'/>
<exports symbol='VIR_ERR_XEN_CALL' type='enum'/>
<exports symbol='VIR_ERR_UNKNOWN_HOST' type='enum'/>
<exports symbol='VIR_ERR_NO_CONNECT' type='enum'/>
<exports symbol='VIR_ERR_NO_OS' type='enum'/>
<exports symbol='virErrorPtr' type='typedef'/>
<exports symbol='virErrorLevel' type='typedef'/>
<exports symbol='virErrorDomain' type='typedef'/>
<exports symbol='virErrorNumber' type='typedef'/>
<exports symbol='virError' type='typedef'/>
<exports symbol='_virError' type='struct'/>
<exports symbol='virCopyLastError' type='function'/>
<exports symbol='virConnSetErrorFunc' type='function'/>
<exports symbol='virResetLastError' type='function'/>
<exports symbol='virErrorFunc' type='function'/>
<exports symbol='virResetError' type='function'/>
<exports symbol='virConnGetLastError' type='function'/>
<exports symbol='virDefaultErrorFunc' type='function'/>
<exports symbol='virGetLastError' type='function'/>
<exports symbol='virSetErrorFunc' type='function'/>
<exports symbol='virConnCopyLastError' type='function'/>
<exports symbol='virConnResetLastError' type='function'/>
</file>
</files>
<symbols>
<macro name='LIBVIR_VERSION_NUMBER' file='libvirt'>
<info>Macro providing the version of the library as version * 1,000,000 + minor * 1000 + micro</info>
</macro>
<macro name='VIR_COPY_CPUMAP' file='libvirt'>
<info>This macro is to be used in conjonction with virDomainGetVcpus() and virDomainPinVcpu() APIs. VIR_COPY_CPUMAP macro extract the cpumap of the specified vcpu from cpumaps array and copy it into cpumap to be used later by virDomainPinVcpu() API.</info>
<arg name='cpumaps' info='pointer to an array of cpumap (in 8-bit bytes) (IN)'/>
<arg name='maplen' info='the length (in bytes) of one cpumap'/>
<arg name='vcpu' info='the virtual CPU number'/>
<arg name='cpumap' info='pointer to a cpumap (in 8-bit bytes) (OUT) This cpumap must be previously allocated by the caller (ie: malloc(maplen))'/>
</macro>
<macro name='VIR_CPU_MAPLEN' file='libvirt'>
<info>This macro is to be used in conjonction with virDomainPinVcpu() API. It returns the length (in bytes) required to store the complete CPU map between a single virtual &amp; all physical CPUs of a domain.</info>
<arg name='cpu' info='number of physical CPUs'/>
</macro>
<macro name='VIR_CPU_USABLE' file='libvirt'>
<info>This macro is to be used in conjonction with virDomainGetVcpus() API. VIR_CPU_USABLE macro returns a non zero value (true) if the cpu is usable by the vcpu, and 0 otherwise.</info>
<arg name='cpumaps' info='pointer to an array of cpumap (in 8-bit bytes) (IN)'/>
<arg name='maplen' info='the length (in bytes) of one cpumap'/>
<arg name='vcpu' info='the virtual CPU number'/>
<arg name='cpu' info='the physical CPU number'/>
</macro>
<macro name='VIR_GET_CPUMAP' file='libvirt'>
<info>This macro is to be used in conjonction with virDomainGetVcpus() and virDomainPinVcpu() APIs. VIR_GET_CPUMAP macro returns a pointer to the cpumap of the specified vcpu from cpumaps array.</info>
<arg name='cpumaps' info='pointer to an array of cpumap (in 8-bit bytes) (IN)'/>
<arg name='maplen' info='the length (in bytes) of one cpumap'/>
<arg name='vcpu' info='the virtual CPU number'/>
</macro>
<macro name='VIR_NODEINFO_MAXCPUS' file='libvirt'>
<info>This macro is to calculate the total number of CPUs supported but not neccessarily active in the host.</info>
<arg name='nodeinfo' info='virNodeInfo instance'/>
</macro>
<macro name='VIR_UNUSE_CPU' file='libvirt'>
<info>This macro is to be used in conjonction with virDomainPinVcpu() API. USE_CPU macro reset the bit (CPU not usable) of the related cpu in cpumap.</info>
<arg name='cpumap' info='pointer to a bit map of real CPUs (in 8-bit bytes) (IN/OUT)'/>
<arg name='cpu' info='the physical CPU number'/>
</macro>
<macro name='VIR_USE_CPU' file='libvirt'>
<info>This macro is to be used in conjonction with virDomainPinVcpu() API. USE_CPU macro set the bit (CPU usable) of the related cpu in cpumap.</info>
<arg name='cpumap' info='pointer to a bit map of real CPUs (in 8-bit bytes) (IN/OUT)'/>
<arg name='cpu' info='the physical CPU number'/>
</macro>
<enum name='VIR_DEVICE_DEFAULT' file='libvirt' value='0' type='virDeviceMode' info='Default mode'/>
<enum name='VIR_DEVICE_RO' file='libvirt' value='1' type='virDeviceMode' info='Access read-only'/>
<enum name='VIR_DEVICE_RW' file='libvirt' value='2' type='virDeviceMode' info='Access read-write'/>
<enum name='VIR_DEVICE_RW_FORCE' file='libvirt' value='3' type='virDeviceMode' info=' Forced read-write even if already used'/>
<enum name='VIR_DOMAIN_BLOCKED' file='libvirt' value='2' type='virDomainState' info='the domain is blocked on resource'/>
<enum name='VIR_DOMAIN_CRASHED' file='libvirt' value='6' type='virDomainState' info=' the domain is crashed'/>
<enum name='VIR_DOMAIN_DESTROY' file='libvirt' value='1' type='virDomainRestart' info='destroy the domain'/>
<enum name='VIR_DOMAIN_NONE' file='libvirt' value='0' type='virDomainCreateFlags'/>
<enum name='VIR_DOMAIN_NOSTATE' file='libvirt' value='0' type='virDomainState' info='no state'/>
<enum name='VIR_DOMAIN_PAUSED' file='libvirt' value='3' type='virDomainState' info='the domain is paused by user'/>
<enum name='VIR_DOMAIN_PRESERVE' file='libvirt' value='3' type='virDomainRestart' info='keep as is, need manual destroy, for debug'/>
<enum name='VIR_DOMAIN_RENAME_RESTART' file='libvirt' value='4' type='virDomainRestart' info=' restart under an new unique name'/>
<enum name='VIR_DOMAIN_RESTART' file='libvirt' value='2' type='virDomainRestart' info='restart the domain'/>
<enum name='VIR_DOMAIN_RUNNING' file='libvirt' value='1' type='virDomainState' info='the domain is running'/>
<enum name='VIR_DOMAIN_SHUTDOWN' file='libvirt' value='4' type='virDomainState' info='the domain is being shut down'/>
<enum name='VIR_DOMAIN_SHUTOFF' file='libvirt' value='5' type='virDomainState' info='the domain is shut off'/>
<enum name='VIR_ERR_CALL_FAILED' file='virterror' value='26' type='virErrorNumber' info='not supported by the drivers'/>
<enum name='VIR_ERR_CONF_SYNTAX' file='virterror' value='33' type='virErrorNumber' info='failed to parse the syntax of a conf file'/>
<enum name='VIR_ERR_DOM_EXIST' file='virterror' value='28' type='virErrorNumber' info='the domain already exist'/>
<enum name='VIR_ERR_DRIVER_FULL' file='virterror' value='25' type='virErrorNumber' info='too many drivers registered'/>
<enum name='VIR_ERR_ERROR' file='virterror' value='2' type='virErrorLevel' info=' An error'/>
<enum name='VIR_ERR_GET_FAILED' file='virterror' value='10' type='virErrorNumber' info='a HTTP GET command to failed'/>
<enum name='VIR_ERR_HTTP_ERROR' file='virterror' value='12' type='virErrorNumber' info='unexpected HTTP error code'/>
<enum name='VIR_ERR_INTERNAL_ERROR' file='virterror' value='1' type='virErrorNumber' info='internal error'/>
<enum name='VIR_ERR_INVALID_ARG' file='virterror' value='8' type='virErrorNumber' info='invalid function argument'/>
<enum name='VIR_ERR_INVALID_CONN' file='virterror' value='6' type='virErrorNumber' info='invalid connection object'/>
<enum name='VIR_ERR_INVALID_DOMAIN' file='virterror' value='7' type='virErrorNumber' info='invalid domain object'/>
<enum name='VIR_ERR_NONE' file='virterror' value='0' type='virErrorLevel'/>
<enum name='VIR_ERR_NO_CONNECT' file='virterror' value='5' type='virErrorNumber' info='can&apos;t connect to hypervisor'/>
<enum name='VIR_ERR_NO_DEVICE' file='virterror' value='23' type='virErrorNumber' info='missing domain devices information'/>
<enum name='VIR_ERR_NO_KERNEL' file='virterror' value='17' type='virErrorNumber' info='missing kernel information'/>
<enum name='VIR_ERR_NO_MEMORY' file='virterror' value='2' type='virErrorNumber' info='memory allocation failure'/>
<enum name='VIR_ERR_NO_NAME' file='virterror' value='21' type='virErrorNumber' info='missing domain name information'/>
<enum name='VIR_ERR_NO_OS' file='virterror' value='22' type='virErrorNumber' info='missing domain OS information'/>
<enum name='VIR_ERR_NO_ROOT' file='virterror' value='18' type='virErrorNumber' info='missing root device information'/>
<enum name='VIR_ERR_NO_SOURCE' file='virterror' value='19' type='virErrorNumber' info='missing source device information'/>
<enum name='VIR_ERR_NO_SUPPORT' file='virterror' value='3' type='virErrorNumber' info='no support for this connection'/>
<enum name='VIR_ERR_NO_TARGET' file='virterror' value='20' type='virErrorNumber' info='missing target device information'/>
<enum name='VIR_ERR_NO_XEN' file='virterror' value='14' type='virErrorNumber' info='could not open Xen hypervisor control'/>
<enum name='VIR_ERR_NO_XENSTORE' file='virterror' value='24' type='virErrorNumber' info='could not open Xen Store control'/>
<enum name='VIR_ERR_OK' file='virterror' value='0' type='virErrorNumber'/>
<enum name='VIR_ERR_OPEN_FAILED' file='virterror' value='30' type='virErrorNumber' info='failed to open a conf file'/>
<enum name='VIR_ERR_OPERATION_DENIED' file='virterror' value='29' type='virErrorNumber' info='operation forbidden on read-only connections'/>
<enum name='VIR_ERR_OPERATION_FAILED' file='virterror' value='9' type='virErrorNumber' info='a command to hypervisor failed'/>
<enum name='VIR_ERR_OS_TYPE' file='virterror' value='16' type='virErrorNumber' info='unknown OS type'/>
<enum name='VIR_ERR_PARSE_FAILED' file='virterror' value='32' type='virErrorNumber' info='failed to parse a conf file'/>
<enum name='VIR_ERR_POST_FAILED' file='virterror' value='11' type='virErrorNumber' info='a HTTP POST command to failed'/>
<enum name='VIR_ERR_READ_FAILED' file='virterror' value='31' type='virErrorNumber' info='failed to read a conf file'/>
<enum name='VIR_ERR_SEXPR_SERIAL' file='virterror' value='13' type='virErrorNumber' info='failure to serialize an S-Expr'/>
<enum name='VIR_ERR_UNKNOWN_HOST' file='virterror' value='4' type='virErrorNumber' info='could not resolve hostname'/>
<enum name='VIR_ERR_WARNING' file='virterror' value='1' type='virErrorLevel' info='A simple warning'/>
<enum name='VIR_ERR_WRITE_FAILED' file='virterror' value='34' type='virErrorNumber' info='failed to write a conf file'/>
<enum name='VIR_ERR_XEN_CALL' file='virterror' value='15' type='virErrorNumber' info='failure doing an hypervisor call'/>
<enum name='VIR_ERR_XML_DETAIL' file='virterror' value='35' type='virErrorNumber' info=' detail of an XML error'/>
<enum name='VIR_ERR_XML_ERROR' file='virterror' value='27' type='virErrorNumber' info='an XML description is not well formed or broken'/>
<enum name='VIR_FROM_CONF' file='virterror' value='9' type='virErrorDomain' info=' Error in the configuration file handling'/>
<enum name='VIR_FROM_DOM' file='virterror' value='6' type='virErrorDomain' info='Error when operating on a domain'/>
<enum name='VIR_FROM_NONE' file='virterror' value='0' type='virErrorDomain'/>
<enum name='VIR_FROM_PROXY' file='virterror' value='8' type='virErrorDomain' info='Error in the proxy code'/>
<enum name='VIR_FROM_RPC' file='virterror' value='7' type='virErrorDomain' info='Error in the XML-RPC code'/>
<enum name='VIR_FROM_SEXPR' file='virterror' value='4' type='virErrorDomain' info='Error in the S-Epression code'/>
<enum name='VIR_FROM_XEN' file='virterror' value='1' type='virErrorDomain' info='Error at Xen hypervisor layer'/>
<enum name='VIR_FROM_XEND' file='virterror' value='2' type='virErrorDomain' info='Error at connection with xend daemon'/>
<enum name='VIR_FROM_XENSTORE' file='virterror' value='3' type='virErrorDomain' info='Error at connection with xen store'/>
<enum name='VIR_FROM_XML' file='virterror' value='5' type='virErrorDomain' info='Error in the XML code'/>
<enum name='VIR_VCPU_BLOCKED' file='libvirt' value='2' type='virVcpuState' info=' the virtual CPU is blocked on resource'/>
<enum name='VIR_VCPU_OFFLINE' file='libvirt' value='0' type='virVcpuState' info='the virtual CPU is offline'/>
<enum name='VIR_VCPU_RUNNING' file='libvirt' value='1' type='virVcpuState' info='the virtual CPU is running'/>
<struct name='virConnect' file='libvirt' type='struct _virConnect'/>
<typedef name='virConnectPtr' file='libvirt' type='virConnect *'>
<info>a virConnectPtr is pointer to a virConnect private structure, this is the type used to reference a connection to the Xen Hypervisor in the API.</info>
</typedef>
<typedef name='virDeviceMode' file='libvirt' type='enum'/>
<struct name='virDomain' file='libvirt' type='struct _virDomain'/>
<typedef name='virDomainCreateFlags' file='libvirt' type='enum'/>
<struct name='virDomainInfo' file='libvirt' type='struct _virDomainInfo'>
<field name='state' type='unsigned char' info=' the running state, one of virDomainFlags'/>
<field name='maxMem' type='unsigned long' info=' the maximum memory in KBytes allowed'/>
<field name='memory' type='unsigned long' info=' the memory in KBytes used by the domain'/>
<field name='nrVirtCpu' type='unsigned short' info=' the number of virtual CPUs for the domain'/>
<field name='cpuTime' type='unsigned long long' info=' the CPU time used in nanoseconds'/>
</struct>
<typedef name='virDomainInfoPtr' file='libvirt' type='virDomainInfo *'>
<info>a virDomainInfoPtr is a pointer to a virDomainInfo structure.</info>
</typedef>
<struct name='virDomainKernel' file='libvirt' type='struct _virDomainKernel'>
<field name='kernel' type='const char *' info=' filename pointing to the kernel image'/>
<field name='ramdisk' type='const char *' info=' an optional init ramdisk'/>
<field name='root' type='const char *' info=' an optional root block device'/>
<field name='extra' type='const char *' info=' optional kernel command line parameters'/>
</struct>
<typedef name='virDomainKernelPtr' file='libvirt' type='virDomainKernel *'>
<info>a virDomainKernelPtr is a pointer to a virDomainKernel structure.</info>
</typedef>
<typedef name='virDomainPtr' file='libvirt' type='virDomain *'>
<info>a virDomainPtr is pointer to a virDomain private structure, this is the type used to reference a Xen domain in the API.</info>
</typedef>
<typedef name='virDomainRestart' file='libvirt' type='enum'/>
<typedef name='virDomainState' file='libvirt' type='enum'/>
<struct name='virError' file='virterror' type='struct _virError'>
<field name='code' type='int' info=' The error code, a virErrorNumber'/>
<field name='domain' type='int' info=' What part of the library raised this error'/>
<field name='message' type='char *' info=' human-readable informative error message'/>
<field name='level' type='virErrorLevel' info=' how consequent is the error'/>
<field name='conn' type='virConnectPtr' info=' the connection if available'/>
<field name='dom' type='virDomainPtr' info=' the domain if available'/>
<field name='str1' type='char *' info=' extra string information'/>
<field name='str2' type='char *' info=' extra string information'/>
<field name='str3' type='char *' info=' extra string information'/>
<field name='int1' type='int' info=' extra number information'/>
<field name='int2' type='int' info=' extra number information'/>
</struct>
<typedef name='virErrorDomain' file='virterror' type='enum'/>
<typedef name='virErrorLevel' file='virterror' type='enum'/>
<typedef name='virErrorNumber' file='virterror' type='enum'/>
<typedef name='virErrorPtr' file='virterror' type='virError *'/>
<struct name='virNodeInfo' file='libvirt' type='struct _virNodeInfo'>
<field name='model' type='charmodel[32]' info=' string indicating the CPU model'/>
<field name='memory' type='unsigned long' info=' memory size in kilobytes'/>
<field name='cpus' type='unsigned int' info=' the number of active CPUs'/>
<field name='mhz' type='unsigned int' info=' expected CPU frequency'/>
<field name='nodes' type='unsigned int' info=' the number of NUMA cell, 1 for uniform mem access'/>
<field name='sockets' type='unsigned int' info=' number of CPU socket per node'/>
<field name='cores' type='unsigned int' info=' number of core per socket'/>
<field name='threads' type='unsigned int' info=' number of threads per core'/>
</struct>
<typedef name='virNodeInfoPtr' file='libvirt' type='virNodeInfo *'>
<info>a virNodeInfoPtr is a pointer to a virNodeInfo structure.</info>
</typedef>
<struct name='virVcpuInfo' file='libvirt' type='struct _virVcpuInfo'>
<field name='number' type='unsigned int' info=' virtual CPU number'/>
<field name='state' type='int' info=' value from virVcpuState'/>
<field name='cpuTime' type='unsigned long long' info=' CPU time used, in nanoseconds'/>
<field name='cpu' type='int' info=' real CPU number, or -1 if offline'/>
</struct>
<typedef name='virVcpuInfoPtr' file='libvirt' type='virVcpuInfo *'/>
<typedef name='virVcpuState' file='libvirt' type='enum'/>
<function name='virConnCopyLastError' file='virterror' module='virterror'>
<info>Copy the content of the last error caught on that connection One will need to free the result with virResetError()</info>
<return type='int' info='0 if no error was found and the error code otherwise and -1 in case of parameter error.'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='to' type='virErrorPtr' info='target to receive the copy'/>
</function>
<function name='virConnGetLastError' file='virterror' module='virterror'>
<info>Provide a pointer to the last error caught on that connection Simpler but may not be suitable for multithreaded accesses, in which case use virConnCopyLastError()</info>
<return type='virErrorPtr' info='a pointer to the last error or NULL if none occured.'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
</function>
<function name='virConnResetLastError' file='virterror' module='virterror'>
<info>Reset the last error caught on that connection</info>
<return type='void'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
</function>
<function name='virConnSetErrorFunc' file='virterror' module='virterror'>
<info>Set a connection error handling function, if @handler is NULL it will reset to default which is to pass error back to the global library handler.</info>
<return type='void'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='userData' type='void *' info='pointer to the user data provided in the handler callback'/>
<arg name='handler' type='virErrorFunc' info='the function to get called in case of error or NULL'/>
</function>
<function name='virConnectClose' file='libvirt' module='libvirt'>
<info>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.</info>
<return type='int' info='0 in case of success or -1 in case of error.'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
</function>
<function name='virConnectGetType' file='libvirt' module='libvirt'>
<info>Get the name of the Hypervisor software used.</info>
<return type='const char *' info='NULL in case of error, a static zero terminated string otherwise.'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
</function>
<function name='virConnectGetVersion' file='libvirt' module='libvirt'>
<info>Get the version level of the Hypervisor running. This may work only with hypervisor call, i.e. with priviledged access to the hypervisor, not with a Read-Only connection.</info>
<return type='int' info='-1 in case of error, 0 otherwise. if the version can&apos;t be extracted by lack of capacities returns 0 and @hvVer is 0, otherwise @hvVer value is major * 1,000,000 + minor * 1,000 + release'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='hvVer' type='unsigned long *' info='return value for the version of the running hypervisor (OUT)'/>
</function>
<function name='virConnectListDefinedDomains' file='libvirt' module='libvirt'>
<info>list the defined domains, stores the pointers to the names in @names</info>
<return type='int' info='the number of names provided in the array or -1 in case of error'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='names' type='const char **' info='pointer to an array to store the names'/>
<arg name='maxnames' type='int' info='size of the array'/>
</function>
<function name='virConnectListDomains' file='libvirt' module='libvirt'>
<info>Collect the list of active domains, and store their ID in @maxids</info>
<return type='int' info='the number of domain found or -1 in case of error'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='ids' type='int *' info='array to collect the list of IDs of active domains'/>
<arg name='maxids' type='int' info='size of @ids'/>
</function>
<function name='virConnectNumOfDefinedDomains' file='libvirt' module='libvirt'>
<info>Provides the number of active domains.</info>
<return type='int' info='the number of domain found or -1 in case of error'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
</function>
<function name='virConnectNumOfDomains' file='libvirt' module='libvirt'>
<info>Provides the number of active domains.</info>
<return type='int' info='the number of domain found or -1 in case of error'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
</function>
<function name='virConnectOpen' file='libvirt' module='libvirt'>
<info>This function should be called first to get a connection to the Hypervisor and xen store</info>
<return type='virConnectPtr' info='a pointer to the hypervisor connection or NULL in case of error'/>
<arg name='name' type='const char *' info='optional argument currently unused, pass NULL'/>
</function>
<function name='virConnectOpenReadOnly' file='libvirt' module='libvirt'>
<info>This function should be called first to get a restricted connection to the libbrary functionalities. The set of APIs usable are then restricted on the available methods to control the domains.</info>
<return type='virConnectPtr' info='a pointer to the hypervisor connection or NULL in case of error'/>
<arg name='name' type='const char *' info='optional argument currently unused, pass NULL'/>
</function>
<function name='virCopyLastError' file='virterror' module='virterror'>
<info>Copy the content of the last error caught at the library level One will need to free the result with virResetError()</info>
<return type='int' info='0 if no error was found and the error code otherwise and -1 in case of parameter error.'/>
<arg name='to' type='virErrorPtr' info='target to receive the copy'/>
</function>
<function name='virDefaultErrorFunc' file='virterror' module='virterror'>
<info>Default routine reporting an error to stderr.</info>
<return type='void'/>
<arg name='err' type='virErrorPtr' info='pointer to the error.'/>
</function>
<function name='virDomainAttachDevice' file='libvirt' module='libvirt'>
<info>Create a virtual device attachment to backend.</info>
<return type='int' info='0 in case of success, -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='pointer to domain object'/>
<arg name='xml' type='char *' info='pointer to XML description of one device'/>
</function>
<function name='virDomainCoreDump' file='libvirt' module='libvirt'>
<info>This method will dump the core of a domain on a given file for analysis. Note that for remote Xen Daemon the file path will be interpreted in the remote host.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
<arg name='to' type='const char *' info='path for the core file'/>
<arg name='flags' type='int' info='extra flags, currently unused'/>
</function>
<function name='virDomainCreate' file='libvirt' module='libvirt'>
<info>launch a defined domain. If the call succeed the domain moves from the defined to the running domains pools.</info>
<return type='int' info='0 in case of success, -1 in case of error'/>
<arg name='domain' type='virDomainPtr' info='pointer to a defined domain'/>
</function>
<function name='virDomainCreateLinux' file='libvirt' module='libvirt'>
<info>Launch a new Linux guest domain, based on an XML description similar to the one returned by virDomainGetXMLDesc() This function may requires priviledged access to the hypervisor.</info>
<return type='virDomainPtr' info='a new domain object or NULL in case of failure'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='xmlDesc' type='const char *' info='an XML description of the domain'/>
<arg name='flags' type='unsigned int' info='an optional set of virDomainFlags'/>
</function>
<function name='virDomainDefineXML' file='libvirt' module='libvirt'>
<info>define a domain, but does not start it</info>
<return type='virDomainPtr' info='NULL in case of error, a pointer to the domain otherwise'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='xml' type='const char *' info='the XML description for the domain, preferably in UTF-8'/>
</function>
<function name='virDomainDestroy' file='libvirt' module='libvirt'>
<info>Destroy the domain object. The running instance is shutdown if not down already and all resources used by it are given back to the hypervisor. The data structure is freed and should not be used thereafter if the call does not return an error. This function may requires priviledged access</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virDomainDetachDevice' file='libvirt' module='libvirt'>
<info>Destroy a virtual device attachment to backend.</info>
<return type='int' info='0 in case of success, -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='pointer to domain object'/>
<arg name='xml' type='char *' info='pointer to XML description of one device'/>
</function>
<function name='virDomainFree' file='libvirt' module='libvirt'>
<info>Free the domain object. The running instance is kept alive. The data structure is freed and should not be used thereafter.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virDomainGetID' file='libvirt' module='libvirt'>
<info>Get the hypervisor ID number for the domain</info>
<return type='unsigned int' info='the domain ID number or (unsigned int) -1 in case of error'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virDomainGetInfo' file='libvirt' module='libvirt'>
<info>Extract information about a domain. Note that if the connection used to get the domain is limited only a partial set of the information can be extracted.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
<arg name='info' type='virDomainInfoPtr' info='pointer to a virDomainInfo structure allocated by the user'/>
</function>
<function name='virDomainGetMaxMemory' file='libvirt' module='libvirt'>
<info>Retrieve the maximum amount of physical memory allocated to a domain. If domain is NULL, then this get the amount of memory reserved to Domain0 i.e. the domain where the application runs.</info>
<return type='unsigned long' info='the memory size in kilobytes or 0 in case of error.'/>
<arg name='domain' type='virDomainPtr' info='a domain object or NULL'/>
</function>
<function name='virDomainGetName' file='libvirt' module='libvirt'>
<info>Get the public name for that domain</info>
<return type='const char *' info='a pointer to the name or NULL, the string need not be deallocated its lifetime will be the same as the domain object.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virDomainGetOSType' file='libvirt' module='libvirt'>
<info>Get the type of domain operation system.</info>
<return type='char *' info='the new string or NULL in case of error, the string must be freed by the caller.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virDomainGetUUID' file='libvirt' module='libvirt'>
<info>Get the UUID for a domain</info>
<return type='int' info='-1 in case of error, 0 in case of success'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
<arg name='uuid' type='unsigned char *' info='pointer to a 16 bytes array'/>
</function>
<function name='virDomainGetUUIDString' file='libvirt' module='libvirt'>
<info>Get the UUID for a domain as string. For more information about UUID see RFC4122.</info>
<return type='int' info='-1 in case of error, 0 in case of success'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
<arg name='buf' type='char *' info='pointer to a 37 bytes array'/>
</function>
<function name='virDomainGetVcpus' file='libvirt' module='libvirt'>
<info>Extract information about virtual CPUs of domain, store it in info array and also in cpumaps if this pointer is&apos;nt NULL.</info>
<return type='int' info='the number of info filled in case of success, -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='pointer to domain object, or NULL for Domain0'/>
<arg name='info' type='virVcpuInfoPtr' info='pointer to an array of virVcpuInfo structures (OUT)'/>
<arg name='maxinfo' type='int' info='number of structures in info array'/>
<arg name='cpumaps' type='unsigned char *' info='pointer to an bit map of real CPUs for all vcpus of this domain (in 8-bit bytes) (OUT) If cpumaps is NULL, then no cupmap information is returned by the API. It&apos;s assumed there is &lt;maxinfo&gt; cpumap in cpumaps array. The memory allocated to cpumaps must be (maxinfo * maplen) bytes (ie: calloc(maxinfo, maplen)). One cpumap inside cpumaps has the format described in virDomainPinVcpu() API.'/>
<arg name='maplen' type='int' info='number of bytes in one cpumap, from 1 up to size of CPU map in underlying virtualization system (Xen...).'/>
</function>
<function name='virDomainGetXMLDesc' file='libvirt' module='libvirt'>
<info>Provide an XML description of the domain. The description may be reused later to relaunch the domain with virDomainCreateLinux().</info>
<return type='char *' info='a 0 terminated UTF-8 encoded XML instance, or NULL in case of error. the caller must free() the returned value.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
<arg name='flags' type='int' info='and OR&apos;ed set of extraction flags, not used yet'/>
</function>
<function name='virDomainLookupByID' file='libvirt' module='libvirt'>
<info>Try to find a domain based on the hypervisor ID number</info>
<return type='virDomainPtr' info='a new domain object or NULL in case of failure'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='id' type='int' info='the domain ID number'/>
</function>
<function name='virDomainLookupByName' file='libvirt' module='libvirt'>
<info>Try to lookup a domain on the given hypervisor based on its name.</info>
<return type='virDomainPtr' info='a new domain object or NULL in case of failure'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='name' type='const char *' info='name for the domain'/>
</function>
<function name='virDomainLookupByUUID' file='libvirt' module='libvirt'>
<info>Try to lookup a domain on the given hypervisor based on its UUID.</info>
<return type='virDomainPtr' info='a new domain object or NULL in case of failure'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='uuid' type='const unsigned char *' info='the raw UUID for the domain'/>
</function>
<function name='virDomainLookupByUUIDString' file='libvirt' module='libvirt'>
<info>Try to lookup a domain on the given hypervisor based on its UUID.</info>
<return type='virDomainPtr' info='a new domain object or NULL in case of failure'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='uuidstr' type='const char *' info='the string UUID for the domain'/>
</function>
<function name='virDomainPinVcpu' file='libvirt' module='libvirt'>
<info>Dynamically change the real CPUs which can be allocated to a virtual CPU. This function requires priviledged access to the hypervisor.</info>
<return type='int' info='0 in case of success, -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='pointer to domain object, or NULL for Domain0'/>
<arg name='vcpu' type='unsigned int' info='virtual CPU number'/>
<arg name='cpumap' type='unsigned char *' info='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.'/>
<arg name='maplen' type='int' info='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.'/>
</function>
<function name='virDomainReboot' file='libvirt' module='libvirt'>
<info>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.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
<arg name='flags' type='unsigned int' info='extra flags for the reboot operation, not used yet'/>
</function>
<function name='virDomainRestore' file='libvirt' module='libvirt'>
<info>This method will restore a domain saved to disk by virDomainSave().</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='from' type='const char *' info='path to the'/>
</function>
<function name='virDomainResume' file='libvirt' module='libvirt'>
<info>Resume an suspended domain, the process is restarted from the state where it was frozen by calling virSuspendDomain(). This function may requires priviledged access</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virDomainSave' file='libvirt' module='libvirt'>
<info>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.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
<arg name='to' type='const char *' info='path for the output file'/>
</function>
<function name='virDomainSetMaxMemory' file='libvirt' module='libvirt'>
<info>Dynamically change the maximum amount of physical memory allocated to a domain. If domain is NULL, then this change the amount of memory reserved to Domain0 i.e. the domain where the application runs. This function requires priviledged access to the hypervisor.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object or NULL'/>
<arg name='memory' type='unsigned long' info='the memory size in kilobytes'/>
</function>
<function name='virDomainSetMemory' file='libvirt' module='libvirt'>
<info>Dynamically change the target amount of physical memory allocated to a domain. If domain is NULL, then this change the amount of memory reserved to Domain0 i.e. the domain where the application runs. This function may requires priviledged access to the hypervisor.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object or NULL'/>
<arg name='memory' type='unsigned long' info='the memory size in kilobytes'/>
</function>
<function name='virDomainSetVcpus' file='libvirt' module='libvirt'>
<info>Dynamically change the number of virtual CPUs used by the domain. Note that this call may fail if the underlying virtualization hypervisor does not support it or if growing the number is arbitrary limited. This function requires priviledged access to the hypervisor.</info>
<return type='int' info='0 in case of success, -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='pointer to domain object, or NULL for Domain0'/>
<arg name='nvcpus' type='unsigned int' info='the new number of virtual CPUs for this domain'/>
</function>
<function name='virDomainShutdown' file='libvirt' module='libvirt'>
<info>Shutdown a domain, the domain object is still usable there after but the domain OS is being stopped. Note that the guest OS may ignore the request. TODO: should we add an option for reboot, knowing it may not be doable in the general case ?</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virDomainSuspend' file='libvirt' module='libvirt'>
<info>Suspends an active domain, the process is frozen without further access to CPU resources and I/O but the memory used by the domain at the hypervisor level will stay allocated. Use virDomainResume() to reactivate the domain. This function may requires priviledged access.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='virDomainPtr' info='a domain object'/>
</function>
<function name='virDomainUndefine' file='libvirt' module='libvirt'>
<info>undefine a domain but does not stop it if it is running</info>
<return type='int' info='0 in case of success, -1 in case of error'/>
<arg name='domain' type='virDomainPtr' info='pointer to a defined domain'/>
</function>
<functype name='virErrorFunc' file='virterror' module='virterror'>
<info>Signature of a function to use when there is an error raised by the library.</info>
<return type='void'/>
<arg name='userData' type='void *' info='user provided data for the error callback'/>
<arg name='error' type='virErrorPtr' info='the error being raised.'/>
</functype>
<function name='virGetLastError' file='virterror' module='virterror'>
<info>Provide a pointer to the last error caught at the library level Simpler but may not be suitable for multithreaded accesses, in which case use virCopyLastError()</info>
<return type='virErrorPtr' info='a pointer to the last error or NULL if none occured.'/>
</function>
<function name='virGetVersion' file='libvirt' module='libvirt'>
<info>Provides two information back, @libVer is the version of the library while @typeVer will be the version of the hypervisor type @type against which the library was compiled. If @type is NULL, &quot;Xen&quot; is assumed, if @type is unknown or not availble, an error code will be returned and @typeVer will be 0.</info>
<return type='int' info='-1 in case of failure, 0 otherwise, and values for @libVer and @typeVer have the format major * 1,000,000 + minor * 1,000 + release.'/>
<arg name='libVer' type='unsigned long *' info='return value for the library version (OUT)'/>
<arg name='type' type='const char *' info='the type of connection/driver looked at'/>
<arg name='typeVer' type='unsigned long *' info='return value for the version of the hypervisor (OUT)'/>
</function>
<function name='virInitialize' file='libvirt' module='libvirt'>
<info>Initialize the library. It&apos;s better to call this routine at startup in multithreaded applications to avoid potential race when initializing the library.</info>
<return type='int' info='0 in case of success, -1 in case of error'/>
</function>
<function name='virNodeGetInfo' file='libvirt' module='libvirt'>
<info>Extract hardware information about the node.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='info' type='virNodeInfoPtr' info='pointer to a virNodeInfo structure allocated by the user'/>
</function>
<function name='virResetError' file='virterror' module='virterror'>
<info>Reset the error being pointed to</info>
<return type='void'/>
<arg name='err' type='virErrorPtr' info='pointer to the virError to clean up'/>
</function>
<function name='virResetLastError' file='virterror' module='virterror'>
<info>Reset the last error caught at the library level.</info>
<return type='void'/>
</function>
<function name='virSetErrorFunc' file='virterror' module='virterror'>
<info>Set a library global error handling function, if @handler is NULL, it will reset to default printing on stderr. The error raised there are those for which no handler at the connection level could caught.</info>
<return type='void'/>
<arg name='userData' type='void *' info='pointer to the user data provided in the handler callback'/>
<arg name='handler' type='virErrorFunc' info='the function to get called in case of error or NULL'/>
</function>
</symbols>
</api>

2726
docs/libvirt-refs.xml Normal file

File diff suppressed because it is too large Load Diff

171
docs/libvirt.css Normal file
View File

@ -0,0 +1,171 @@
body
{
margin: 0;
padding: 0;
color: #333333;
font: 13px Verdana, Arial, Helvetica, sans;
background: #898989;
text-align: justify;
}
a
{
color: #0D7520;
}
a:hover
{
color: #a8a8a8;
}
img
{
border: 0;
}
#container
{
margin: 0 auto;
width: 766px;
position: relative;
background: #fff;
padding: 0 10px 0 10px;
text-align: justify;
}
* html #container
{
width: 766px;
}
#pageHeader
{
position: absolute;
background: url(libvirtHeader.png) center no-repeat;
top: 30px;
height: 76px;
width: 766px;
}
#content h3
{
text-align: right;
color: #a8a8a8;
}
#content2 h1
{
text-align: right;
color: #0d7520;
}
#content h3
{
text-align: right;
font-size: 24px;
}
#content h3 .style1
{
color: #0d7520;
}
#adjustments
{
padding-top: 15px;
}
#container #adjustments .p1
{
font-size: 11px;
height: 300px;
background: url(libvirtLogo.png) center no-repeat;
margin: 0;
width: 766px;
}
#container #bottom .p1
{
font-size: 11px;
height: 600px;
margin: 0;
width: 766px;
}
#content2
{
margin: 100px 10px 0 160px;
}
#content2 p
{
line-height: 150%;
margin: 10px 0 10px 0;
}
#content
{
margin: 0 10px 0 160px;
}
#content p
{
line-height: 150%;
margin: 10px 0 10px 0;
}
.linkList
{
position: absolute;
top: 320px;
left: 10px;
width: 140px;
}
.llinks ul
{
list-style-type: none;
margin: 0;
padding: 0 0 0 10px;
}
.linkList .llinks ul li
{
font-size: 13px;
border-bottom: 1px solid #E6EEF0;
display: block;
padding: 8px 0;
}
.llinks h3.links
{
background: #e6e6e6;
color: #999999;
font-size: 14px;
height: 25px;
padding: 10px 0 0 5px;
margin: 15px 0 5px 5px;
}
.linkList2
{
position: absolute;
top: 100px;
left: 10px;
width: 140px;
}
.llinks2 ul
{
list-style-type: none;
margin: 0;
padding: 0 0 0 10px;
}
.linkList2 .llinks2 ul li
{
font-size: 13px;
border-bottom: 1px solid #E6EEF0;
display: block;
padding: 8px 0;
}
.llinks2 h3.links2
{
background: #e6e6e6;
color: #999999;
font-size: 14px;
height: 25px;
padding: 10px 0 0 5px;
margin: 15px 0 5px 5px;
}
div.deprecated pre.programlisting
{
border-style: double;
border-color: red;
}
pre.programlisting
{
border-style: double;
background: #F0F0F0;
}

BIN
docs/libvirtHeader.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

BIN
docs/libvirtLogo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -1,127 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<api name='libxen'>
<files>
<file name='libxen'>
<exports symbol='XEN_DOMAIN_NONE' type='enum'/>
<exports symbol='xenDomain' type='typedef'/>
<exports symbol='xenDomainFlags' type='typedef'/>
<exports symbol='xenConnectPtr' type='typedef'/>
<exports symbol='xenDomainPtr' type='typedef'/>
<exports symbol='xenConnect' type='typedef'/>
<exports symbol='xenDomainResume' type='function'/>
<exports symbol='xenDomainLookupByID' type='function'/>
<exports symbol='xenConnectOpenReadOnly' type='function'/>
<exports symbol='xenDomainGetName' type='function'/>
<exports symbol='xenDomainGetMaxMemory' type='function'/>
<exports symbol='xenDomainGetID' type='function'/>
<exports symbol='xenConnectOpen' type='function'/>
<exports symbol='xenDomainSetMaxMemory' type='function'/>
<exports symbol='xenDomainDestroy' type='function'/>
<exports symbol='xenDomainSuspend' type='function'/>
<exports symbol='xenConnectClose' type='function'/>
<exports symbol='xenDomainCreateLinux' type='function'/>
<exports symbol='xenDomainLookupByName' type='function'/>
<exports symbol='xenConnectGetVersion' type='function'/>
</file>
<file name='internal'>
<exports symbol='ATTRIBUTE_UNUSED' type='macro'/>
<exports symbol='TODO' type='macro'/>
</file>
</files>
<symbols>
<macro name='ATTRIBUTE_UNUSED' file='internal'>
<info>Macro to flag conciously unused parameters to functions</info>
</macro>
<macro name='TODO' file='internal'>
<info>macro to flag unimplemented blocks</info>
</macro>
<enum name='XEN_DOMAIN_NONE' file='libxen' value='0' type='xenDomainFlags'/>
<struct name='xenConnect' file='libxen' type='struct _xenConnect'/>
<typedef name='xenConnectPtr' file='libxen' type='xenConnect *'>
<info>a xenConnectPtr is pointer to a xenConnect private structure, this is the type used to reference a connection to the Xen Hypervisor in the API.</info>
</typedef>
<struct name='xenDomain' file='libxen' type='struct _xenDomain'/>
<typedef name='xenDomainFlags' file='libxen' type='enum'/>
<typedef name='xenDomainPtr' file='libxen' type='xenDomain *'>
<info>a xenDomainPtr is pointer to a xenDomain private structure, this is the type used to reference a Xen domain in the API.</info>
</typedef>
<function name='xenConnectClose' file='libxen' module='libxen'>
<info>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.</info>
<return type='int' info='0 in case of success or -1 in case of error.'/>
<arg name='conn' type='xenConnectPtr' info='pointer to the hypervisor connection'/>
</function>
<function name='xenConnectGetVersion' file='libxen' module='libxen'>
<info>Get the version level of the Hypervisor running.</info>
<return type='unsigned long' info='-1 in case of error or major * 10,000 + minor * 100 + rev otherwise'/>
<arg name='conn' type='xenConnectPtr' info='pointer to the hypervisor connection'/>
</function>
<function name='xenConnectOpen' file='libxen' module='libxen'>
<info>This function should be called first to get a connection to the Hypervisor and xen store</info>
<return type='xenConnectPtr' info='a pointer to the hypervisor connection or NULL in case of error'/>
<arg name='name' type='const char *' info='optional argument currently unused, pass NULL'/>
</function>
<function name='xenConnectOpenReadOnly' file='libxen' module='libxen'>
<info>This function should be called first to get a read-only connection to the xen store. The set of APIs usable are then restricted.</info>
<return type='xenConnectPtr' info='a pointer to the hypervisor connection or NULL in case of error'/>
<arg name='name' type='const char *' info='optional argument currently unused, pass NULL'/>
</function>
<function name='xenDomainCreateLinux' file='libxen' module='libxen'>
<info>Launch a new Linux guest domain</info>
<return type='xenDomainPtr' info='a new domain object or NULL in case of failure'/>
<arg name='conn' type='xenConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='kernel_path' type='const char *' info='the file path to the kernel image'/>
<arg name='initrd_path' type='const char *' info='an optional file path to an initrd'/>
<arg name='cmdline' type='const char *' info='optional command line parameters for the kernel'/>
<arg name='memory' type='unsigned long' info='the memory size in kilobytes'/>
<arg name='flags' type='unsigned int' info='an optional set of xenDomainFlags'/>
</function>
<function name='xenDomainDestroy' file='libxen' module='libxen'>
<info>Destroy the domain object. The running instance is shutdown if not down already and all resources used by it are given back to the hypervisor.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='xenDomainPtr' info='a domain object'/>
</function>
<function name='xenDomainGetID' file='libxen' module='libxen'>
<info>Get the hypervisor ID number for the domain</info>
<return type='unsigned int' info='the domain ID number or (unsigned int) -1 in case of error'/>
<arg name='domain' type='xenDomainPtr' info='a domain object'/>
</function>
<function name='xenDomainGetMaxMemory' file='libxen' module='libxen'>
<info>Retrieve the maximum amount of physical memory allocated to a domain. If domain is NULL, then this get the amount of memory reserved to Domain0 i.e. the domain where the application runs.</info>
<return type='unsigned long' info='the memory size in kilobytes or 0 in case of error.'/>
<arg name='domain' type='xenDomainPtr' info='a domain object or NULL'/>
</function>
<function name='xenDomainGetName' file='libxen' module='libxen'>
<info>Get the public name for that domain</info>
<return type='const char *' info='a pointer to the name or NULL, the string need not be deallocated its lifetime will be the same as the domain object.'/>
<arg name='domain' type='xenDomainPtr' info='a domain object'/>
</function>
<function name='xenDomainLookupByID' file='libxen' module='libxen'>
<info>Try to find a domain based on the hypervisor ID number</info>
<return type='xenDomainPtr' info='a new domain object or NULL in case of failure'/>
<arg name='conn' type='xenConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='id' type='int' info='the domain ID number'/>
</function>
<function name='xenDomainLookupByName' file='libxen' module='libxen'>
<info>Try to lookup a domain on the given hypervisor</info>
<return type='xenDomainPtr' info='a new domain object or NULL in case of failure'/>
<arg name='conn' type='xenConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='name' type='const char *' info='name for the domain'/>
</function>
<function name='xenDomainResume' file='libxen' module='libxen'>
<info>Resume an suspended domain, the process is restarted from the state where it was frozen by calling xenSuspendDomain().</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='xenDomainPtr' info='a domain object'/>
</function>
<function name='xenDomainSetMaxMemory' file='libxen' module='libxen'>
<info>Dynamically change the maximum amount of physical memory allocated to a domain. If domain is NULL, then this change the amount of memory reserved to Domain0 i.e. the domain where the application runs.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='xenDomainPtr' info='a domain object or NULL'/>
<arg name='memory' type='unsigned long' info='the memory size in kilobytes'/>
</function>
<function name='xenDomainSuspend' file='libxen' module='libxen'>
<info>Suspends an active domain, the process is frozen without further access to CPU resources and I/O but the memory used by the domain at the hypervisor level will stay allocated. Use xenDomainResume() to reactivate the domain.</info>
<return type='int' info='0 in case of success and -1 in case of failure.'/>
<arg name='domain' type='xenDomainPtr' info='a domain object'/>
</function>
</symbols>
</api>

View File

@ -1,741 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<apirefs name='libxen'>
<references>
<reference name='ATTRIBUTE_UNUSED' href='html/libxen-internal.html#ATTRIBUTE_UNUSED'/>
<reference name='TODO' href='html/libxen-internal.html#TODO'/>
<reference name='XEN_DOMAIN_NONE' href='html/libxen-libxen.html#XEN_DOMAIN_NONE'/>
<reference name='xenConnect' href='html/libxen-libxen.html#xenConnect'/>
<reference name='xenConnectClose' href='html/libxen-libxen.html#xenConnectClose'/>
<reference name='xenConnectGetVersion' href='html/libxen-libxen.html#xenConnectGetVersion'/>
<reference name='xenConnectOpen' href='html/libxen-libxen.html#xenConnectOpen'/>
<reference name='xenConnectOpenReadOnly' href='html/libxen-libxen.html#xenConnectOpenReadOnly'/>
<reference name='xenConnectPtr' href='html/libxen-libxen.html#xenConnectPtr'/>
<reference name='xenDomain' href='html/libxen-libxen.html#xenDomain'/>
<reference name='xenDomainCreateLinux' href='html/libxen-libxen.html#xenDomainCreateLinux'/>
<reference name='xenDomainDestroy' href='html/libxen-libxen.html#xenDomainDestroy'/>
<reference name='xenDomainFlags' href='html/libxen-libxen.html#xenDomainFlags'/>
<reference name='xenDomainGetID' href='html/libxen-libxen.html#xenDomainGetID'/>
<reference name='xenDomainGetMaxMemory' href='html/libxen-libxen.html#xenDomainGetMaxMemory'/>
<reference name='xenDomainGetName' href='html/libxen-libxen.html#xenDomainGetName'/>
<reference name='xenDomainLookupByID' href='html/libxen-libxen.html#xenDomainLookupByID'/>
<reference name='xenDomainLookupByName' href='html/libxen-libxen.html#xenDomainLookupByName'/>
<reference name='xenDomainPtr' href='html/libxen-libxen.html#xenDomainPtr'/>
<reference name='xenDomainResume' href='html/libxen-libxen.html#xenDomainResume'/>
<reference name='xenDomainSetMaxMemory' href='html/libxen-libxen.html#xenDomainSetMaxMemory'/>
<reference name='xenDomainSuspend' href='html/libxen-libxen.html#xenDomainSuspend'/>
</references>
<alpha>
<letter name='A'>
<ref name='ATTRIBUTE_UNUSED'/>
</letter>
<letter name='T'>
<ref name='TODO'/>
</letter>
<letter name='X'>
<ref name='XEN_DOMAIN_NONE'/>
</letter>
<letter name='x'>
<ref name='xenConnect'/>
<ref name='xenConnectClose'/>
<ref name='xenConnectGetVersion'/>
<ref name='xenConnectOpen'/>
<ref name='xenConnectOpenReadOnly'/>
<ref name='xenConnectPtr'/>
<ref name='xenDomain'/>
<ref name='xenDomainCreateLinux'/>
<ref name='xenDomainDestroy'/>
<ref name='xenDomainFlags'/>
<ref name='xenDomainGetID'/>
<ref name='xenDomainGetMaxMemory'/>
<ref name='xenDomainGetName'/>
<ref name='xenDomainLookupByID'/>
<ref name='xenDomainLookupByName'/>
<ref name='xenDomainPtr'/>
<ref name='xenDomainResume'/>
<ref name='xenDomainSetMaxMemory'/>
<ref name='xenDomainSuspend'/>
</letter>
</alpha>
<constructors>
<type name='unsigned int'>
<ref name='xenDomainGetID'/>
</type>
<type name='unsigned long'>
<ref name='xenConnectGetVersion'/>
<ref name='xenDomainGetMaxMemory'/>
</type>
<type name='xenConnectPtr'>
<ref name='xenConnectOpen'/>
<ref name='xenConnectOpenReadOnly'/>
</type>
<type name='xenDomainPtr'>
<ref name='xenDomainCreateLinux'/>
<ref name='xenDomainLookupByID'/>
<ref name='xenDomainLookupByName'/>
</type>
</constructors>
<functions>
<type name='unsigned int'>
<ref name='xenDomainCreateLinux'/>
</type>
<type name='unsigned long'>
<ref name='xenDomainCreateLinux'/>
<ref name='xenDomainSetMaxMemory'/>
</type>
<type name='xenConnectPtr'>
<ref name='xenConnectClose'/>
<ref name='xenConnectGetVersion'/>
<ref name='xenDomainCreateLinux'/>
<ref name='xenDomainLookupByID'/>
<ref name='xenDomainLookupByName'/>
</type>
<type name='xenDomainPtr'>
<ref name='xenDomainDestroy'/>
<ref name='xenDomainGetID'/>
<ref name='xenDomainGetMaxMemory'/>
<ref name='xenDomainGetName'/>
<ref name='xenDomainResume'/>
<ref name='xenDomainSetMaxMemory'/>
<ref name='xenDomainSuspend'/>
</type>
</functions>
<files>
<file name='libxen'>
<ref name='XEN_DOMAIN_NONE'/>
<ref name='xenConnect'/>
<ref name='xenConnectClose'/>
<ref name='xenConnectGetVersion'/>
<ref name='xenConnectOpen'/>
<ref name='xenConnectOpenReadOnly'/>
<ref name='xenConnectPtr'/>
<ref name='xenDomain'/>
<ref name='xenDomainCreateLinux'/>
<ref name='xenDomainDestroy'/>
<ref name='xenDomainFlags'/>
<ref name='xenDomainGetID'/>
<ref name='xenDomainGetMaxMemory'/>
<ref name='xenDomainGetName'/>
<ref name='xenDomainLookupByID'/>
<ref name='xenDomainLookupByName'/>
<ref name='xenDomainPtr'/>
<ref name='xenDomainResume'/>
<ref name='xenDomainSetMaxMemory'/>
<ref name='xenDomainSuspend'/>
</file>
<file name='internal'>
<ref name='ATTRIBUTE_UNUSED'/>
<ref name='TODO'/>
</file>
</files>
<index>
<chunk name='chunk0'>
<letter name='A'>
<word name='APIs'>
<ref name='xenConnectOpenReadOnly'/>
</word>
</letter>
<letter name='C'>
<word name='CPU'>
<ref name='xenDomainSuspend'/>
</word>
</letter>
<letter name='D'>
<word name='Destroy'>
<ref name='xenDomainDestroy'/>
</word>
<word name='Domain0'>
<ref name='xenDomainGetMaxMemory'/>
<ref name='xenDomainSetMaxMemory'/>
</word>
<word name='Dynamically'>
<ref name='xenDomainSetMaxMemory'/>
</word>
</letter>
<letter name='G'>
<word name='Get'>
<ref name='xenConnectGetVersion'/>
<ref name='xenDomainGetID'/>
<ref name='xenDomainGetName'/>
</word>
</letter>
<letter name='H'>
<word name='Hypervisor'>
<ref name='xenConnectClose'/>
<ref name='xenConnectGetVersion'/>
<ref name='xenConnectOpen'/>
</word>
</letter>
<letter name='L'>
<word name='Launch'>
<ref name='xenDomainCreateLinux'/>
</word>
<word name='Linux'>
<ref name='xenDomainCreateLinux'/>
</word>
</letter>
<letter name='M'>
<word name='Macro'>
<ref name='ATTRIBUTE_UNUSED'/>
</word>
</letter>
<letter name='N'>
<word name='NULL'>
<ref name='xenConnectOpen'/>
<ref name='xenConnectOpenReadOnly'/>
<ref name='xenDomainCreateLinux'/>
<ref name='xenDomainGetMaxMemory'/>
<ref name='xenDomainGetName'/>
<ref name='xenDomainLookupByID'/>
<ref name='xenDomainLookupByName'/>
<ref name='xenDomainSetMaxMemory'/>
</word>
</letter>
<letter name='R'>
<word name='Resume'>
<ref name='xenDomainResume'/>
</word>
<word name='Retrieve'>
<ref name='xenDomainGetMaxMemory'/>
</word>
</letter>
<letter name='S'>
<word name='Suspends'>
<ref name='xenDomainSuspend'/>
</word>
</letter>
<letter name='T'>
<word name='This'>
<ref name='xenConnectClose'/>
<ref name='xenConnectOpen'/>
<ref name='xenConnectOpenReadOnly'/>
</word>
<word name='Try'>
<ref name='xenDomainLookupByID'/>
<ref name='xenDomainLookupByName'/>
</word>
</letter>
<letter name='U'>
<word name='Use'>
<ref name='xenDomainSuspend'/>
</word>
</letter>
<letter name='a'>
<word name='access'>
<ref name='xenDomainSuspend'/>
</word>
<word name='active'>
<ref name='xenDomainSuspend'/>
</word>
<word name='all'>
<ref name='xenDomainDestroy'/>
</word>
<word name='allocated'>
<ref name='xenDomainGetMaxMemory'/>
<ref name='xenDomainSetMaxMemory'/>
<ref name='xenDomainSuspend'/>
</word>
<word name='already'>
<ref name='xenDomainDestroy'/>
</word>
<word name='amount'>
<ref name='xenDomainGetMaxMemory'/>
<ref name='xenDomainSetMaxMemory'/>
</word>
<word name='application'>
<ref name='xenConnectClose'/>
<ref name='xenDomainGetMaxMemory'/>
<ref name='xenDomainSetMaxMemory'/>
</word>
<word name='are'>
<ref name='xenConnectClose'/>
<ref name='xenConnectOpenReadOnly'/>
<ref name='xenDomainDestroy'/>
</word>
<word name='argument'>
<ref name='xenConnectOpen'/>
<ref name='xenConnectOpenReadOnly'/>
</word>
</letter>
<letter name='b'>
<word name='back'>
<ref name='xenDomainDestroy'/>
</word>
<word name='based'>
<ref name='xenDomainLookupByID'/>
</word>
<word name='blocks'>
<ref name='TODO'/>
</word>
<word name='but'>
<ref name='xenDomainSuspend'/>
</word>
</letter>
<letter name='c'>
<word name='called'>
<ref name='xenConnectClose'/>
<ref name='xenConnectOpen'/>
<ref name='xenConnectOpenReadOnly'/>
</word>
<word name='calling'>
<ref name='xenDomainResume'/>
</word>
<word name='case'>
<ref name='xenConnectClose'/>
<ref name='xenConnectGetVersion'/>
<ref name='xenConnectOpen'/>
<ref name='xenConnectOpenReadOnly'/>
<ref name='xenDomainCreateLinux'/>
<ref name='xenDomainDestroy'/>
<ref name='xenDomainGetID'/>
<ref name='xenDomainGetMaxMemory'/>
<ref name='xenDomainLookupByID'/>
<ref name='xenDomainLookupByName'/>
<ref name='xenDomainResume'/>
<ref name='xenDomainSetMaxMemory'/>
<ref name='xenDomainSuspend'/>
</word>
<word name='change'>
<ref name='xenDomainSetMaxMemory'/>
</word>
<word name='closes'>
<ref name='xenConnectClose'/>
</word>
<word name='command'>
<ref name='xenDomainCreateLinux'/>
</word>
<word name='conciously'>
<ref name='ATTRIBUTE_UNUSED'/>
</word>
<word name='connection'>
<ref name='xenConnectClose'/>
<ref name='xenConnectGetVersion'/>
<ref name='xenConnectOpen'/>
<ref name='xenConnectOpenReadOnly'/>
<ref name='xenDomainCreateLinux'/>
<ref name='xenDomainLookupByID'/>
<ref name='xenDomainLookupByName'/>
</word>
<word name='currently'>
<ref name='xenConnectOpen'/>
<ref name='xenConnectOpenReadOnly'/>
</word>
</letter>
<letter name='d'>
<word name='deallocated'>
<ref name='xenDomainGetName'/>
</word>
<word name='down'>
<ref name='xenDomainDestroy'/>
</word>
</letter>
<letter name='e'>
<word name='error'>
<ref name='xenConnectClose'/>
<ref name='xenConnectGetVersion'/>
<ref name='xenConnectOpen'/>
<ref name='xenConnectOpenReadOnly'/>
<ref name='xenDomainGetID'/>
<ref name='xenDomainGetMaxMemory'/>
</word>
<word name='especially'>
<ref name='xenConnectClose'/>
</word>
</letter>
<letter name='f'>
<word name='failure'>
<ref name='xenDomainCreateLinux'/>
<ref name='xenDomainDestroy'/>
<ref name='xenDomainLookupByID'/>
<ref name='xenDomainLookupByName'/>
<ref name='xenDomainResume'/>
<ref name='xenDomainSetMaxMemory'/>
<ref name='xenDomainSuspend'/>
</word>
<word name='file'>
<ref name='xenDomainCreateLinux'/>
</word>
<word name='find'>
<ref name='xenDomainLookupByID'/>
</word>
<word name='first'>
<ref name='xenConnectOpen'/>
<ref name='xenConnectOpenReadOnly'/>
</word>
<word name='flag'>
<ref name='ATTRIBUTE_UNUSED'/>
<ref name='TODO'/>
</word>
<word name='for'>
<ref name='xenDomainCreateLinux'/>
<ref name='xenDomainGetID'/>
<ref name='xenDomainGetName'/>
<ref name='xenDomainLookupByName'/>
</word>
<word name='from'>
<ref name='xenDomainResume'/>
</word>
<word name='frozen'>
<ref name='xenDomainResume'/>
<ref name='xenDomainSuspend'/>
</word>
<word name='function'>
<ref name='xenConnectClose'/>
<ref name='xenConnectOpen'/>
<ref name='xenConnectOpenReadOnly'/>
</word>
<word name='functions'>
<ref name='ATTRIBUTE_UNUSED'/>
</word>
<word name='further'>
<ref name='xenConnectClose'/>
<ref name='xenDomainSuspend'/>
</word>
</letter>
<letter name='g'>
<word name='get'>
<ref name='xenConnectOpen'/>
<ref name='xenConnectOpenReadOnly'/>
<ref name='xenDomainGetMaxMemory'/>
</word>
<word name='given'>
<ref name='xenDomainDestroy'/>
<ref name='xenDomainLookupByName'/>
</word>
<word name='guest'>
<ref name='xenDomainCreateLinux'/>
</word>
</letter>
<letter name='h'>
<word name='hypervisor'>
<ref name='xenConnectClose'/>
<ref name='xenConnectGetVersion'/>
<ref name='xenConnectOpen'/>
<ref name='xenConnectOpenReadOnly'/>
<ref name='xenDomainCreateLinux'/>
<ref name='xenDomainDestroy'/>
<ref name='xenDomainGetID'/>
<ref name='xenDomainLookupByID'/>
<ref name='xenDomainLookupByName'/>
<ref name='xenDomainSuspend'/>
</word>
</letter>
<letter name='i'>
<word name='image'>
<ref name='xenDomainCreateLinux'/>
</word>
<word name='initrd'>
<ref name='xenDomainCreateLinux'/>
</word>
<word name='instance'>
<ref name='xenDomainDestroy'/>
</word>
<word name='int'>
<ref name='xenDomainGetID'/>
</word>
<word name='interaction'>
<ref name='xenConnectClose'/>
</word>
<word name='its'>
<ref name='xenDomainGetName'/>
</word>
</letter>
<letter name='k'>
<word name='kernel'>
<ref name='xenDomainCreateLinux'/>
</word>
<word name='kilobytes'>
<ref name='xenDomainCreateLinux'/>
<ref name='xenDomainGetMaxMemory'/>
<ref name='xenDomainSetMaxMemory'/>
</word>
</letter>
<letter name='l'>
<word name='level'>
<ref name='xenConnectGetVersion'/>
<ref name='xenDomainSuspend'/>
</word>
<word name='lifetime'>
<ref name='xenDomainGetName'/>
</word>
<word name='line'>
<ref name='xenDomainCreateLinux'/>
</word>
<word name='lookup'>
<ref name='xenDomainLookupByName'/>
</word>
</letter>
<letter name='m'>
<word name='macro'>
<ref name='TODO'/>
</word>
<word name='major'>
<ref name='xenConnectGetVersion'/>
</word>
<word name='maximum'>
<ref name='xenDomainGetMaxMemory'/>
<ref name='xenDomainSetMaxMemory'/>
</word>
<word name='memory'>
<ref name='xenDomainCreateLinux'/>
<ref name='xenDomainGetMaxMemory'/>
<ref name='xenDomainSetMaxMemory'/>
<ref name='xenDomainSuspend'/>
</word>
<word name='minor'>
<ref name='xenConnectGetVersion'/>
</word>
<word name='monitoring'>
<ref name='xenConnectClose'/>
</word>
</letter>
<letter name='n'>
<word name='name'>
<ref name='xenDomainGetName'/>
<ref name='xenDomainLookupByName'/>
</word>
<word name='need'>
<ref name='xenConnectClose'/>
<ref name='xenDomainGetName'/>
</word>
<word name='needed'>
<ref name='xenConnectClose'/>
</word>
<word name='new'>
<ref name='xenDomainCreateLinux'/>
<ref name='xenDomainLookupByID'/>
<ref name='xenDomainLookupByName'/>
</word>
<word name='not'>
<ref name='xenConnectClose'/>
<ref name='xenDomainDestroy'/>
<ref name='xenDomainGetName'/>
</word>
<word name='number'>
<ref name='xenDomainGetID'/>
<ref name='xenDomainLookupByID'/>
</word>
</letter>
<letter name='o'>
<word name='object'>
<ref name='xenDomainCreateLinux'/>
<ref name='xenDomainDestroy'/>
<ref name='xenDomainGetID'/>
<ref name='xenDomainGetMaxMemory'/>
<ref name='xenDomainGetName'/>
<ref name='xenDomainLookupByID'/>
<ref name='xenDomainLookupByName'/>
<ref name='xenDomainResume'/>
<ref name='xenDomainSetMaxMemory'/>
<ref name='xenDomainSuspend'/>
</word>
<word name='optional'>
<ref name='xenConnectOpen'/>
<ref name='xenConnectOpenReadOnly'/>
<ref name='xenDomainCreateLinux'/>
</word>
<word name='otherwise'>
<ref name='xenConnectGetVersion'/>
</word>
</letter>
<letter name='p'>
<word name='parameters'>
<ref name='ATTRIBUTE_UNUSED'/>
<ref name='xenDomainCreateLinux'/>
</word>
<word name='pass'>
<ref name='xenConnectOpen'/>
<ref name='xenConnectOpenReadOnly'/>
</word>
<word name='path'>
<ref name='xenDomainCreateLinux'/>
</word>
<word name='physical'>
<ref name='xenDomainGetMaxMemory'/>
<ref name='xenDomainSetMaxMemory'/>
</word>
<word name='pointer'>
<ref name='xenConnectClose'/>
<ref name='xenConnectGetVersion'/>
<ref name='xenConnectOpen'/>
<ref name='xenConnectOpenReadOnly'/>
<ref name='xenDomainCreateLinux'/>
<ref name='xenDomainGetName'/>
<ref name='xenDomainLookupByID'/>
<ref name='xenDomainLookupByName'/>
</word>
<word name='process'>
<ref name='xenDomainResume'/>
<ref name='xenDomainSuspend'/>
</word>
<word name='public'>
<ref name='xenDomainGetName'/>
</word>
</letter>
</chunk>
<chunk name='chunk1'>
<letter name='r'>
<word name='reactivate'>
<ref name='xenDomainSuspend'/>
</word>
<word name='read-only'>
<ref name='xenConnectOpenReadOnly'/>
</word>
<word name='reserved'>
<ref name='xenDomainGetMaxMemory'/>
<ref name='xenDomainSetMaxMemory'/>
</word>
<word name='resources'>
<ref name='xenDomainDestroy'/>
<ref name='xenDomainSuspend'/>
</word>
<word name='restarted'>
<ref name='xenDomainResume'/>
</word>
<word name='restricted'>
<ref name='xenConnectOpenReadOnly'/>
</word>
<word name='rev'>
<ref name='xenConnectGetVersion'/>
</word>
<word name='running'>
<ref name='xenConnectClose'/>
<ref name='xenConnectGetVersion'/>
<ref name='xenDomainDestroy'/>
</word>
<word name='runs'>
<ref name='xenDomainGetMaxMemory'/>
<ref name='xenDomainSetMaxMemory'/>
</word>
</letter>
<letter name='s'>
<word name='same'>
<ref name='xenDomainGetName'/>
</word>
<word name='set'>
<ref name='xenConnectOpenReadOnly'/>
<ref name='xenDomainCreateLinux'/>
</word>
<word name='should'>
<ref name='xenConnectClose'/>
<ref name='xenConnectOpen'/>
<ref name='xenConnectOpenReadOnly'/>
</word>
<word name='shutdown'>
<ref name='xenDomainDestroy'/>
</word>
<word name='size'>
<ref name='xenDomainCreateLinux'/>
<ref name='xenDomainGetMaxMemory'/>
<ref name='xenDomainSetMaxMemory'/>
</word>
<word name='state'>
<ref name='xenDomainResume'/>
</word>
<word name='stay'>
<ref name='xenDomainSuspend'/>
</word>
<word name='store'>
<ref name='xenConnectOpen'/>
<ref name='xenConnectOpenReadOnly'/>
</word>
<word name='string'>
<ref name='xenDomainGetName'/>
</word>
<word name='success'>
<ref name='xenConnectClose'/>
<ref name='xenDomainDestroy'/>
<ref name='xenDomainResume'/>
<ref name='xenDomainSetMaxMemory'/>
<ref name='xenDomainSuspend'/>
</word>
<word name='suspended'>
<ref name='xenDomainResume'/>
</word>
</letter>
<letter name='t'>
<word name='that'>
<ref name='xenDomainGetName'/>
</word>
<word name='then'>
<ref name='xenConnectOpenReadOnly'/>
<ref name='xenDomainGetMaxMemory'/>
<ref name='xenDomainSetMaxMemory'/>
</word>
<word name='there'>
<ref name='xenConnectClose'/>
</word>
<word name='this'>
<ref name='xenDomainGetMaxMemory'/>
<ref name='xenDomainSetMaxMemory'/>
</word>
</letter>
<letter name='u'>
<word name='unimplemented'>
<ref name='TODO'/>
</word>
<word name='unsigned'>
<ref name='xenDomainGetID'/>
</word>
<word name='unused'>
<ref name='ATTRIBUTE_UNUSED'/>
<ref name='xenConnectOpen'/>
<ref name='xenConnectOpenReadOnly'/>
</word>
<word name='usable'>
<ref name='xenConnectOpenReadOnly'/>
</word>
<word name='used'>
<ref name='xenDomainDestroy'/>
<ref name='xenDomainSuspend'/>
</word>
</letter>
<letter name='v'>
<word name='version'>
<ref name='xenConnectGetVersion'/>
</word>
</letter>
<letter name='w'>
<word name='was'>
<ref name='xenDomainResume'/>
</word>
<word name='where'>
<ref name='xenDomainGetMaxMemory'/>
<ref name='xenDomainResume'/>
<ref name='xenDomainSetMaxMemory'/>
</word>
<word name='which'>
<ref name='xenConnectClose'/>
</word>
<word name='will'>
<ref name='xenDomainGetName'/>
<ref name='xenDomainSuspend'/>
</word>
<word name='with'>
<ref name='xenConnectClose'/>
</word>
<word name='without'>
<ref name='xenDomainSuspend'/>
</word>
</letter>
<letter name='x'>
<word name='xen'>
<ref name='xenConnectOpen'/>
<ref name='xenConnectOpenReadOnly'/>
</word>
<word name='xenDomainFlags'>
<ref name='xenDomainCreateLinux'/>
</word>
<word name='xenDomainResume'>
<ref name='xenDomainSuspend'/>
</word>
<word name='xenSuspendDomain'>
<ref name='xenDomainResume'/>
</word>
</letter>
</chunk>
<chunks>
<chunk name='chunk0' start='A' end='p'/>
<chunk name='chunk1' start='r' end='x'/>
</chunks>
</index>
</apirefs>

BIN
docs/madeWith.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!--
Stylesheet to generate the HTML documentation from an XML API descriptions:
xsltproc newapi.xsl libvir-api.xml
xsltproc newapi.xsl libvirt-api.xml
Daniel Veillard
-->
@ -27,79 +27,6 @@
<xsl:variable name="htmldir">html</xsl:variable>
<xsl:variable name="href_base">../</xsl:variable>
<!-- The table of content for the HTML API pages -->
<xsl:variable name="menu_name">API Menu</xsl:variable>
<xsl:variable name="apitoc">
<form action="../search.php"
enctype="application/x-www-form-urlencoded" method="get">
<input name="query" type="text" size="20" value=""/>
<input name="submit" type="submit" value="Search ..."/>
</form>
<ul><!-- style="margin-left: -1em" -->
<li><a style="font-weight:bold"
href="{$href_base}index.html">Main Menu</a></li>
<li><a style="font-weight:bold"
href="index.html">API Menu</a></li>
<li><a href="{$href_base}ChangeLog.html">ChangeLog</a></li>
</ul>
</xsl:variable>
<xsl:template name="apitoc">
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td colspan="1" bgcolor="#eecfa1" align="center">
<center>
<b><xsl:value-of select="$menu_name"/></b>
</center>
</td>
</tr>
<tr>
<td bgcolor="#fffacd">
<xsl:copy-of select="$apitoc"/>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td colspan="1" bgcolor="#eecfa1" align="center">
<center>
<b>API Indexes</b>
</center>
</td>
</tr>
<tr>
<td bgcolor="#fffacd">
<xsl:copy-of select="$api"/>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td colspan="1" bgcolor="#eecfa1" align="center">
<center>
<b>Related links</b>
</center>
</td>
</tr>
<tr>
<td bgcolor="#fffacd">
<xsl:copy-of select="$related"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</xsl:template>
<xsl:template name="docstyle">
<style type="text/css">
div.deprecated pre.programlisting {border-style: double;border-color:red}
pre.programlisting {border-style: double;background: #EECFA1}
</style>
</xsl:template>
<xsl:template name="navbar">
<xsl:variable name="previous" select="preceding-sibling::file[1]"/>
<xsl:variable name="next" select="following-sibling::file[1]"/>
@ -107,16 +34,16 @@
cellpadding="2" cellspacing="2">
<tr valign="middle">
<xsl:if test="$previous">
<td><a accesskey="p" href="libvir-{$previous/@name}.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></img></a></td>
<th align="left"><a href="libvir-{$previous/@name}.html"><xsl:value-of select="$previous/@name"/></a></th>
<td><a accesskey="p" href="libvirt-{$previous/@name}.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></img></a></td>
<th align="left"><a href="libvirt-{$previous/@name}.html"><xsl:value-of select="$previous/@name"/></a></th>
</xsl:if>
<td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></img></a></td>
<th align="left"><a href="index.html">API documentation</a></th>
<td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></img></a></td>
<th align="center"><a href="../index.html">The virtualization API</a></th>
<xsl:if test="$next">
<th align="right"><a href="libvir-{$next/@name}.html"><xsl:value-of select="$next/@name"/></a></th>
<td><a accesskey="n" href="libvir-{$next/@name}.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></img></a></td>
<th align="right"><a href="libvirt-{$next/@name}.html"><xsl:value-of select="$next/@name"/></a></th>
<td><a accesskey="n" href="libvirt-{$next/@name}.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></img></a></td>
</xsl:if>
</tr>
</table>
@ -130,7 +57,7 @@
<xsl:variable name="ref" select="key('symbols', $token)"/>
<xsl:choose>
<xsl:when test="$ref">
<a href="libvir-{$ref/@file}.html#{$ref/@name}"><xsl:value-of select="$token"/></a>
<a href="libvirt-{$ref/@file}.html#{$ref/@name}"><xsl:value-of select="$token"/></a>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$token"/>
@ -570,37 +497,25 @@
<xsl:template match="file">
<xsl:variable name="name" select="@name"/>
<xsl:variable name="title">Module <xsl:value-of select="$name"/> from <xsl:value-of select="/api/@name"/></xsl:variable>
<xsl:document href="{$htmldir}/libvir-{$name}.html" method="xml" encoding="ISO-8859-1"
<xsl:document href="{$htmldir}/libvirt-{$name}.html" method="xml" encoding="ISO-8859-1"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<xsl:call-template name="style"/>
<xsl:call-template name="docstyle"/>
<title><xsl:value-of select="$title"/></title>
</head>
<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<xsl:call-template name="apitoc"/>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<html>
<head>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
</head>
<body>
<div id="container">
<div id="intro">
<div id="adjustments"/>
<div id="pageHeader"/>
<div id="content2">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<xsl:call-template name="navbar"/>
<xsl:call-template name="description"/>
<xsl:choose>
@ -651,31 +566,20 @@
</xsl:apply-templates>
</xsl:otherwise>
</xsl:choose>
<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
</div>
</div>
<xsl:call-template name="linkList2"/>
<xsl:call-template name="bottom"/>
</div>
</body>
</html>
</xsl:document>
</xsl:template>
<xsl:template match="file" mode="toc">
<xsl:variable name="name" select="@name"/>
<li>
<a href="libvir-{$name}.html"><xsl:value-of select="$name"/></a>
<a href="libvirt-{$name}.html"><xsl:value-of select="$name"/></a>
<xsl:text>: </xsl:text>
<xsl:value-of select="summary"/>
</li>
@ -687,56 +591,33 @@
<xsl:document href="{$file}" method="xml" encoding="ISO-8859-1"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<xsl:call-template name="style"/>
<xsl:call-template name="docstyle"/>
<title><xsl:value-of select="$title"/></title>
</head>
<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<xsl:call-template name="apitoc"/>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<h2>Table of Contents</h2>
<ul>
<xsl:apply-templates select="/api/files/file" mode="toc"/>
</ul>
<p><a href="{$href_base}bugs.html">Daniel Veillard</a></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
<html>
<head>
<xsl:call-template name="style"/>
<xsl:element name="title">
<xsl:value-of select="$title"/>
</xsl:element>
</head>
<body>
<div id="container">
<div id="intro">
<div id="adjustments"/>
<div id="pageHeader"/>
<div id="content2">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<h2>Table of Contents</h2>
<ul>
<xsl:apply-templates select="/api/files/file" mode="toc"/>
</ul>
</div>
</div>
<xsl:call-template name="linkList2"/>
<xsl:call-template name="bottom"/>
</div>
</body>
</html>
</xsl:document>
</xsl:template>
@ -747,7 +628,7 @@
<xsl:with-param name="file" select="concat($htmldir, '/book1.html')"/>
</xsl:call-template>
<xsl:call-template name="mainpage">
<xsl:with-param name="file" select="concat($htmldir, '/libvir-lib.html')"/>
<xsl:with-param name="file" select="concat($htmldir, '/libvirt-lib.html')"/>
</xsl:call-template>
<!-- now build the file for each of the modules -->
<xsl:apply-templates select="/api/files/file"/>

View File

@ -1,16 +1,140 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style><title>Releases</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>Libvir the virtualization API</h1><h2>Releases</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a style="font-weight:bold" href="html/index.html">API Menu</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li></ul></td></tr></table></td></tr></table><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>There is no official release yet, just CVS state and snapshot, contact the
mailing list and check the <a href="ChangeLog.html">ChangeLog</a> to gauge
progresses.</p><ul><li>Extending the API</li>
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Releases</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Releases</h1><p>Here is the list of official releases, however since it is early on in the
development of libvirt, it is preferable when possible to just use the <a href="downloads.html">CVS version or snapshot</a>, contact the mailing list
and check the <a href="ChangeLog.html">ChangeLog</a> to gauge progresses.</p><h3>0.1.10: Dec 20 2006</h3><ul><li>more localizations</li>
<li>bug fixes: VCPU info breakages on xen 3.0.3, xenDaemonListDomains buffer overflow (Daniel Berrange), reference count bug when creating Xen domains (Daniel Berrange).</li>
<li>improvements: support graphic framebuffer for Xen paravirt (Daniel Berrange), VNC listen IP range support (Daniel Berrange), support for default Xen config files and inactive domains of 3.0.4 (Daniel Berrange).</li>
</ul><h3>0.1.9: Nov 29 2006</h3><ul><li>python bindings: release interpeter lock when calling C (Daniel Berrange)</li>
<li>don't raise HTTP error when looking informations for a domain</li>
<li>some refactoring to use the driver for all entry points</li>
<li>better error reporting (Daniel Berrange)</li>
<li>fix OS reporting when running as non-root</li>
<li>provide XML parsing errors</li>
<li>extension of the test framework (Daniel Berrange)</li>
<li>fix the reconnect regression test</li>
<li>python bindings: Domain instances now link to the Connect to avoid garbage collection and disconnect</li>
<li>separate the notion of maximum memory and current use at the XML level</li>
<li>Fix a memory leak (Daniel Berrange)</li>
<li>add support for shareable drives</li>
<li>add support for non-bridge style networking configs for guests(Daniel Berrange)</li>
<li>python bindings: fix unsigned long marshalling (Daniel Berrange)</li>
<li>new config APIs virConfNew() and virConfSetValue() to build configs from scratch</li>
<li>hot plug device support based on Michel Ponceau patch</li>
<li>added support for inactive domains, new APIs, various associated cleanup (Daniel Berrange)</li>
<li>special device model for HVM guests (Daniel Berrange)</li>
<li>add API to dump core of domains (but requires a patched xend)</li>
<li>pygrub bootloader informations take over &lt;os&gt; informations</li>
<li>updated the localization strings</li>
</ul><h3>0.1.8: Oct 16 2006</h3><ul><li> Bug for system with page size != 4k</li>
<li> vcpu number initialization (Philippe Berthault)</li>
<li> don't label crashed domains as shut off (Peter Vetere)</li>
<li> fix virsh man page (Noriko Mizumoto)</li>
<li> blktapdd support for alternate drivers like blktap (Daniel Berrange)</li>
<li> memory leak fixes (xend interface and XML parsing) (Daniel Berrange)</li>
<li> compile fix</li>
<li> mlock/munlock size fixes (Daniel Berrange)</li>
<li> improve error reporting</li>
</ul><h3>0.1.7: Sep 29 2006</h3><ul><li> fix a memory bug on getting vcpu informations from xend (Daniel Berrange)</li>
<li> fix another problem in the hypercalls change in Xen changeset
86d26e6ec89b when getting domain informations (Daniel Berrange)</li>
</ul><h3>0.1.6: Sep 22 2006</h3><ul><li>Support for localization of strings using gettext (Daniel Berrange)</li>
<li>Support for new Xen-3.0.3 cdrom and disk configuration (Daniel Berrange)</li>
<li>Support for setting VNC port when creating domains with new
xend config files (Daniel Berrange) </li>
<li>Fix bug when running against xen-3.0.2 hypercalls (Jim Fehlig)</li>
<li>Fix reconnection problem when talking directly to http xend</li>
</ul><h3>0.1.5: Sep 5 2006</h3><ul><li>Support for new hypercalls change in Xen changeset 86d26e6ec89b</li>
<li>bug fixes: virParseUUID() was wrong, netwoking for paravirt guestsi
(Daniel Berrange), virsh on non-existent domains (Daniel Berrange),
string cast bug when handling error in python (Pete Vetere), HTTP
500 xend error code handling (Pete Vetere and Daniel Berrange)</li>
<li>improvements: test suite for SEXPR &lt;-&gt; XML format conversions (Daniel
Berrange), virsh output regression suite (Daniel Berrange), new environ
variable VIRSH_DEFAULT_CONNECT_URI for the default URI when connecting
(Daniel Berrange), graphical console support for paravirt guests
(Jeremy Katz), parsing of simple Xen config files (with Daniel Berrange),
early work on defined (not running) domains (Daniel Berrange),
virsh output improvement (Daniel Berrange</li>
</ul><h3>0.1.4: Aug 16 2006</h3><ul><li>bug fixes: spec file fix (Mark McLoughlin), error report problem (with
Hugh Brock), long integer in Python bindings (with Daniel Berrange), XML
generation bug for CDRom (Daniel Berrange), bug whem using number() XPath
function (Mark McLoughlin), fix python detection code, remove duplicate
initialization errors (Daniel Berrange)</li>
<li>improvements: UUID in XML description (Peter Vetere), proxy code
cleanup, virtual CPU and affinity support + virsh support (Michel
Ponceau, Philippe Berthault, Daniel Berrange), port and tty informations
for console in XML (Daniel Berrange), added XML dump to driver and proxy
support (Daniel Berrange), extention of boot options with support for
floppy and cdrom (Daniel Berrange), features block in XML to report/ask
PAE, ACPI, APIC for HVM domains (Daniel Berrange), fail saide-effect
operations when using read-only connection, large improvements to test
driver (Daniel Berrange) </li>
<li>documentation: spelling (Daniel Berrange), test driver examples.</li>
</ul><h3>0.1.3: Jul 11 2006</h3><ul><li>bugfixes: build as non-root, fix xend access when root, handling of
empty XML elements (Mark McLoughlin), XML serialization and parsing fixes
(Mark McLoughlin), allow to create domains without disk (Mark
McLoughlin),</li>
<li>improvement: xenDaemonLookupByID from O(n^2) to O(n) (Daniel Berrange),
support for fully virtualized guest (Jim Fehlig, DV, Mark McLoughlin)</li>
<li>documentation: augmented to cover hvm domains</li>
</ul><h3>0.1.2: Jul 3 2006</h3><ul><li>headers include paths fixup</li>
<li>proxy mechanism for unpriviledged read-only access by httpu</li>
</ul><h3>0.1.1: Jun 21 2006</h3><ul><li>building fixes: ncurses fallback (Jim Fehlig), VPATH builds (Daniel P.
Berrange)</li>
<li>driver cleanups: new entry points, cleanup of libvirt.c (with Daniel P.
Berrange)</li>
<li>Cope with API change introduced in Xen changeset 10277</li>
<li>new test driver for regression checks (Daniel P. Berrange)</li>
<li>improvements: added UUID to XML serialization, buffer usage (Karel
Zak), --connect argument to virsh (Daniel P. Berrange),</li>
<li>bug fixes: uninitialized memory access in error reporting, S-Expr
parsing (Jim Fehlig, Jeremy Katz), virConnectOpen bug, remove a TODO in
xs_internal.c</li>
<li>documentation: Python examples (David Lutterkort), new Perl binding
URL, man page update (Karel Zak)</li>
</ul><h3>0.1.0: Apr 10 2006</h3><ul><li>building fixes: --with-xen-distdir option (Ronald Aigner), out of tree
build and pkginfo cflag fix (Daniel Berrange)</li>
<li>enhancement and fixes of the XML description format (David Lutterkort
and Jim Fehlig)</li>
<li>new APIs: for Node information and Reboot</li>
<li>internal code cleanup: refactoring internals into a driver model, more
error handling, structure sharing, thread safety and ref counting</li>
<li>bug fixes: error message (Jim Meyering), error allocation in virsh (Jim
Meyering), virDomainLookupByID (Jim Fehlig),</li>
<li>documentation: updates on architecture, and format, typo fix (Jim
Meyering)</li>
<li>bindings: exception handling in examples (Jim Meyering), perl ones out
of tree (Daniel Berrange)</li>
<li>virsh: more options, create, nodeinfo (Karel Zak), renaming of some
options (Karel Zak), use stderr only for errors (Karel Zak), man page
(Andrew Puch)</li>
</ul><h3>0.0.6: Feb 28 2006</h3><ul><li>add UUID lookup and extract API</li>
<li>add error handling APIs both synchronous and asynchronous</li>
<li>added minimal hook for error handling at the python level, improved the
python bindings</li>
<li>augment the documentation and tests to cover error handling</li>
</ul><h3>0.0.5: Feb 23 2006</h3><ul><li>Added XML description parsing, dependance to libxml2, implemented the
creation API virDomainCreateLinux()</li>
<li>new APIs to lookup and name domain by UUID</li>
<li>fixed the XML dump when using the Xend access</li>
<li>Fixed a few more problem related to the name change</li>
<li>Adding regression tests in python and examples in C</li>
<li>web site improvement, extended the documentation to cover the XML
format and Python API</li>
<li>Added devhelp help for Gnome/Gtk programmers</li>
</ul><h3>0.0.4: Feb 10 2006</h3><ul><li>Fix various bugs introduced in the name change</li>
</ul><h3>0.0.3: Feb 9 2006</h3><ul><li>Switch name from from 'libvir' to libvirt</li>
<li>Starting infrastructure to add code examples</li>
<li>Update of python bindings for completeness</li>
</ul><h3>0.0.2: Jan 29 2006</h3><ul><li>Update of the documentation, web site redesign (Diana Fong)</li>
<li>integration of HTTP xend RPC based on libxend by Anthony Liquori for
most operations</li>
<li>Adding Save and Restore APIs</li>
<li>extended the virsh command line tool (Karel Zak)</li>
<li>remove xenstore transactions (Anthony Liguori)</li>
<li>fix the Python bindings bug when domain and connections where freed</li>
</ul><h3>0.0.1: Dec 19 2005</h3><ul><li>First release</li>
<li>Basic management of existing Xen domains</li>
<li>Minimal autogenerated Python bindings</li>
</ul><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
</ul></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="architecture.html">libvirt architecture</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="format.html">XML Format</a></li><li><a href="python.html">Binding for Python</a></li><li><a href="errors.html">Handling of errors</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

46
docs/news.xsl Normal file
View File

@ -0,0 +1,46 @@
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
version="1.0">
<xsl:output method="text" encoding="ISO-8859-1"/>
<xsl:template match="/">
<xsl:text>
NEWS file for libvirt
Note that this is automatically generated from the news webpage at:
http://libvirt.org/news.html
</xsl:text>
<xsl:apply-templates select="//xhtml:div[@id='content2']//xhtml:h3[1]/.."/>
</xsl:template>
<xsl:template match="xhtml:h3">
<xsl:text>
</xsl:text>
<xsl:apply-templates/>
<xsl:text>:
</xsl:text>
</xsl:template>
<xsl:template match="xhtml:ul">
<xsl:apply-templates select=".//xhtml:li"/>
<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="xhtml:li">
<xsl:text> - </xsl:text>
<xsl:value-of select="."/>
<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="xhtml:a">
<xsl:value-of select="."/>
<xsl:text> at
</xsl:text>
<xsl:value-of select="@href"/>
<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="xhtml:p">
</xsl:template>
</xsl:stylesheet>

30
docs/node.fig Normal file
View File

@ -0,0 +1,30 @@
#FIG 3.2
Landscape
Center
Inches
Letter
100.00
Single
-2
1200 2
6 1275 1800 2550 2250
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
2550 2250 2550 1800 1275 1800 1275 2250 2550 2250
4 0 0 50 -1 0 20 0.0000 4 195 930 1500 2100 Domain\001
-6
6 1275 2325 2550 2775
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
2550 2775 2550 2325 1275 2325 1275 2775 2550 2775
4 0 0 50 -1 0 20 0.0000 4 195 930 1500 2625 Domain\001
-6
6 1275 2850 2550 3300
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
2550 3300 2550 2850 1275 2850 1275 3300 2550 3300
4 0 0 50 -1 0 20 0.0000 4 195 930 1500 3150 Domain\001
-6
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
975 1500 3375 1500 3375 4125 975 4125 975 1500
2 4 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5
3225 3975 3225 3450 1125 3450 1125 3975 3225 3975
4 0 0 50 -1 0 20 0.0000 4 255 1260 1500 3825 Hypervisor\001
4 0 0 50 -1 0 20 0.0000 4 195 600 2700 2850 Node\001

BIN
docs/node.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

53
docs/python.html Normal file
View File

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="stylesheet" type="text/css" href="libvirt.css" /><link rel="SHORTCUT ICON" href="/32favicon.png" /><title>Binding for Python</title></head><body><div id="container"><div id="intro"><div id="adjustments"></div><div id="pageHeader"></div><div id="content2"><h1 class="style1">Binding for Python</h1><p>Libvirt comes with direct support for the Python language (just make sure
you installed the libvirt-python package if not compiling from sources). Also
note that Daniel Berrange provides <a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">bindings for Perl</a>
too.</p><p>The Python binding should be complete and are mostly automatically
generated from the formal description of the API in xml. The bindings are
articulated around 2 classes <code>virConnect</code> and virDomain mapping to
the C types. Functions in the C API taking either type as argument then
becomes methods for the classes, their name is just stripped from the
virConnect or virDomain(Get) prefix and the first letter gets converted to
lower case, for example the C functions:</p><p><code>int <a href="html/libvirt-libvirt.html#virConnectNumOfDomains">virConnectNumOfDomains</a>
(virConnectPtr conn);</code></p><p><code>int <a href="html/libvirt-libvirt.html#virDomainSetMaxMemory">virDomainSetMaxMemory</a>
(virDomainPtr domain, unsigned long memory);</code></p><p>become</p><p><code>virConn::numOfDomains(self)</code></p><p><code>virDomain::setMaxMemory(self, memory)</code></p><p>This process is fully automated, you can get a summary of the conversion
in the file libvirtclass.txt present in the python dir or in the docs.There
is a couple of function who don't map directly to their C counterparts due to
specificities in their argument conversions:</p><ul><li><code><a href="html/libvirt-libvirt.html#virConnectListDomains">virConnectListDomains</a></code>
is replaced by <code>virDomain::listDomainsID(self)</code> which returns
a list of the integer ID for the currently running domains</li>
<li><code><a href="html/libvirt-libvirt.html#virDomainGetInfo">virDomainGetInfo</a></code>
is replaced by <code>virDomain::info()</code> which returns a list of
<ol><li>state: one of the state values (virDomainState)</li>
<li>maxMemory: the maximum memory used by the domain</li>
<li>memory: the current amount of memory used by the domain</li>
<li>nbVirtCPU: the number of virtual CPU</li>
<li>cpuTime: the time used by the domain in nanoseconds</li>
</ol></li>
</ul><p>So let's look at a simple example inspired from the <code>basic.py</code>
test found in <code>python/tests/</code> in the source tree:</p><pre>import <span style="color: #0071FF; background-color: #FFFFFF">libvirt</span>
import sys
conn = <span style="color: #0071FF; background-color: #FFFFFF">libvirt</span>.openReadOnly(None)
if conn == None:
print 'Failed to open connection to the hypervisor'
sys.exit(1)
try:
dom0 = conn.<span style="color: #007F00; background-color: #FFFFFF">lookupByName</span>("Domain-0")
except:
print 'Failed to find the main domain'
sys.exit(1)
print "Domain 0: id %d running %s" % (dom0.<span style="color: #FF0080; background-color: #FFFFFF">ID</span>(), dom0.<span style="color: #FF0080; background-color: #FFFFFF">OSType</span>())
print dom0.<span style="color: #FF0080; background-color: #FFFFFF">info</span>()</pre><p>There is not much to comment about it, it really is a straight mapping
from the C API, the only points to notice are:</p><ul><li>the import of the module called <code><span style="color: #0071FF; background-color: #FFFFFF">libvirt</span></code></li>
<li>getting a connection to the hypervisor, in that case using the
openReadOnly function allows the code to execute as a normal user.</li>
<li>getting an object representing the Domain 0 using <span style="color: #007F00; background-color: #FFFFFF">lookupByName</span></li>
<li>if the domain is not found a libvirtError exception will be raised</li>
<li>extracting and printing some informations about the domain using
various <span style="color: #E50073; background-color: #FFFFFF">methods</span>
associated to the virDomain class.</li>
</ul></div></div><div class="linkList2"><div class="llinks2"><h3 class="links2"><span>main menu</span></h3><ul><li><a href="index.html">Home</a></li><li><a href="news.html">Releases</a></li><li><a href="intro.html">Introduction</a></li><li><a href="architecture.html">libvirt architecture</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="format.html">XML Format</a></li><li><a href="python.html">Binding for Python</a></li><li><a href="errors.html">Handling of errors</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="html/index.html">API Menu</a></li><li><a href="examples/index.html">C code examples</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></div><div class="llinks2"><h3 class="links2"><span>related links</span></h3><ul><li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li><li><a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li><li><a href="http://virt-manager.et.redhat.com/">virt-manager</a></li><li><a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li><li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li><li><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" /></form></li><li><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li></ul><p class="credits">Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p></div></div><div id="bottom"><p class="p1"></p></div></div></body></html>

View File

@ -1,63 +1,17 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link rel="SHORTCUT ICON" href="/favicon.ico">
<style type="text/css"><!--
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
--></style>
<title>Search the documentation on Libvir.org</title>
</head>
<body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000">
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr>
<td width="180">
<a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo"></a>
</td>
<td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center">
<h1>Libvir the virtualization library</h1>
<h2>Search engine</h2>
</td></tr></table></td></tr></table></td>
</tr></table>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr>
<td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr>
<tr><td bgcolor="#fffacd"><ul>
<li><a href="index.html">Home</a></li>
<li><a href="intro.html">Introduction</a></li>
<li><a href="FAQ.html">FAQ</a></li>
<li><a href="bugs.html">Reporting bugs and getting help</a></li>
<li><a href="downloads.html">Downloads</a></li>
<li><a href="news.html">News</a></li>
<li>
<a href="xml.html">flat page</a>, <a href="site.xsl">stylesheet</a>
</li>
</ul></td></tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr>
<tr><td bgcolor="#fffacd"><ul>
<li><a href="APIchunk0.html">Alphabetic</a></li>
<li><a href="APIconstructors.html">Constructors</a></li>
<li><a href="APIfunctions.html">Functions/Types</a></li>
<li><a href="APIfiles.html">Modules</a></li>
<li><a href="APIsymbols.html">Symbols</a></li>
</ul></td></tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr>
<tr><td bgcolor="#fffacd"><ul>
<li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li>
<li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li>
</ul></td></tr>
</table>
</td></tr></table></td>
<td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<link rel="stylesheet" type="text/css" href="libvirt.css" />
<link rel="SHORTCUT ICON" href="/32favicon.png" />
<title>Search the documentation on Libvir.org</title>
</head>
<body>
<div id="container">
<div id="intro">
<div id="adjustments">
<p class="p1"></p>
</div>
<div id="content">
<?php
$query = $HTTP_GET_VARS[ "query" ];
$scope = $HTTP_GET_VARS[ "scope" ];
@ -74,7 +28,7 @@ A:link, A:visited, A:active { text-decoration: underline }
$scope = "any";
?>
<p> The search service indexes the libvir APIs and documentation as well as the libvir-list@redhat.com mailing-list archives. To use it simply provide a set of keywords:
<p> The search service indexes the libvirt APIs and documentation as well as the libvir-list@redhat.com mailing-list archives. To use it simply provide a set of keywords:
<p>
<form action="<?php echo "$PHP_SELF", "?query=", rawurlencode($query) ?>"
enctype="application/x-www-form-urlencoded" method="GET">
@ -137,7 +91,7 @@ A:link, A:visited, A:active { text-decoration: underline }
$result = NULL;
$j = 0;
if ($word) {
$result = mysql_query ("SELECT wordsArchive.relevance, wordsArchive.name, 'xml-list', archives.resource, archives.title FROM wordsArchive, archives WHERE LCASE(wordsArchive.name) LIKE LCASE('$word') and wordsArchive.ID = archives.ID ORDER BY relevance DESC LIMIT 75");
$result = mysql_query ("SELECT wordsArchive.relevance, wordsArchive.name, 'libvir-list', archives.resource, archives.title FROM wordsArchive, archives WHERE LCASE(wordsArchive.name) LIKE LCASE('$word') and wordsArchive.ID = archives.ID ORDER BY relevance DESC LIMIT 75");
if ($result) {
$j = mysql_num_rows($result);
if ($j == 0)
@ -181,7 +135,7 @@ A:link, A:visited, A:active { text-decoration: underline }
} else {
$id = $name;
$m = strtolower($module);
$url = "html/libvir-$module.html#$id";
$url = "html/libvirt-$module.html#$id";
$results[$name] = array($relevance,$type,
$module, $desc, $name, $url);
}
@ -226,7 +180,7 @@ A:link, A:visited, A:active { text-decoration: underline }
$id = $name;
$m = strtolower($module);
$u = str_replace(
"http://mail.gnome.org/archives/xml/", "", $url);
"http://www.redhat.com/archives/libvir-list/", "", $url);
$results[$url] = array($relevance,$type,
$u, $desc, $name, $url);
}
@ -253,7 +207,7 @@ A:link, A:visited, A:active { text-decoration: underline }
} else {
$id = $name;
$m = strtolower($module);
$url = "html/libvir-$module.html#$id";
$url = "html/libvirt-$module.html#$id";
$results[$name] = array($relevance,$type,
$module, $desc, $name, $url);
}
@ -286,9 +240,71 @@ A:link, A:visited, A:active { text-decoration: underline }
}
}
?>
</td></tr></table></td></tr></table></td></tr></table></td>
</tr></table></td></tr></table>
</body>
</div>
</div>
<div class="linkList">
<div class="llinks">
<h3 class="links">
<span>main menu</span>
</h3>
<ul>
<li>
<a href="index.html">Home</a>
</li>
<li>
<a href="news.html">Releases</a>
</li>
<li>
<a href="intro.html">Introduction</a>
</li>
<li>
<a href="architecture.html">libvirt architecture</a>
</li>
<li>
<a href="downloads.html">Downloads</a>
</li>
<li>
<a href="FAQ.html">FAQ</a>
</li>
<li>
<a href="bugs.html">Reporting bugs and getting help</a>
</li>
<li>
<a style="font-weight:bold" href="html/index.html">API Menu</a>
</li>
<li>
<a href="ChangeLog.html">Recent Changes</a>
</li>
</ul>
</div>
<div class="llinks">
<h3 class="links">
<span>related links</span>
</h3>
<ul>
<li>
<a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a>
</li>
<li>
<a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a>
</li>
<li>
<form action="search.php" enctype="application/x-www-form-urlencoded" method="get">
<input name="query" type="text" size="12" value="Search..." />
<input name="submit" type="submit" value="Go" />
</form>
</li>
<li>
<a href="http://xmlsoft.org/">
<img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" />
</a>
</li>
</ul>
</div>
</div>
<div id="bottom">
<p class="p1"></p>
</div>
</div>
</body>
</html>

View File

@ -9,202 +9,6 @@
<!--
- returns the filename associated to an ID in the original file
-->
<xsl:template name="tocfilename">
<xsl:param name="name" select="string(@href)"/>
<xsl:choose>
<xsl:when test="$name = '#Introducti'">
<xsl:text>intro.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Documentat'">
<xsl:text>docs.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Reporting'">
<xsl:text>bugs.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#help'">
<xsl:text>help.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Help'">
<xsl:text>help.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Downloads'">
<xsl:text>downloads.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#News'">
<xsl:text>news.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Contributi'">
<xsl:text>contribs.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#xsltproc'">
<xsl:text>xsltproc2.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#API'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#XSLT'">
<xsl:text>XSLT.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#XML'">
<xsl:text>XMLinfo.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Validation'">
<xsl:text>xmldtd.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#tree'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#library'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#interface'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Example'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Entities'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#architecture'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Namespaces'">
<xsl:text>namespaces.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#DOM'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Catalog'">
<xsl:text>catalog.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Upgrading'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Encodings'">
<xsl:text>encoding.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#IO'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Memory'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Thread'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#FAQ'">
<xsl:text>FAQ.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Python'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = ''">
<xsl:text>unknown.html</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$name"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="docfilename">
<xsl:param name="name" select="string(@href)"/>
<xsl:choose>
<xsl:when test="$name = '#Introducti'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Documentat'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Reporting'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#help'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Help'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Downloads'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#News'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Contributi'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#xsltproc'">
<xsl:text>xsltproc2.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#API'">
<xsl:text>API.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#XSLT'">
<xsl:text>XSLT.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#XML'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Validation'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#tree'">
<xsl:text>tree.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#library'">
<xsl:text>library.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#interface'">
<xsl:text>interface.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Example'">
<xsl:text>example.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Entities'">
<xsl:text>entities.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#architecture'">
<xsl:text>architecture.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Namespaces'">
<xsl:text>namespaces.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#DOM'">
<xsl:text>DOM.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Catalog'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Upgrading'">
<xsl:text>upgrade.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Encodings'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#IO'">
<xsl:text>xmlio.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Memory'">
<xsl:text>xmlmem.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Thread'">
<xsl:text>threads.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#FAQ'">
<xsl:text></xsl:text>
</xsl:when>
<xsl:when test="$name = '#Python'">
<xsl:text>python.html</xsl:text>
</xsl:when>
<xsl:when test="$name = ''">
<xsl:text>unknown.html</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$name"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="filename">
<xsl:param name="name" select="string(@href)"/>
<xsl:choose>
@ -223,6 +27,9 @@
<xsl:when test="$name = '#Help'">
<xsl:text>help.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Errors'">
<xsl:text>errors.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Downloads'">
<xsl:text>downloads.html</xsl:text>
</xsl:when>
@ -232,69 +39,18 @@
<xsl:when test="$name = '#Contributi'">
<xsl:text>contribs.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#xsltproc'">
<xsl:text>xsltproc2.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#API'">
<xsl:text>API.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#XSLT'">
<xsl:text>XSLT.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#XML'">
<xsl:text>XMLinfo.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Validation'">
<xsl:text>xmldtd.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#tree'">
<xsl:text>tree.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#library'">
<xsl:text>library.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#interface'">
<xsl:text>interface.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Example'">
<xsl:text>example.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Entities'">
<xsl:text>entities.html</xsl:text>
<xsl:when test="$name = '#Format'">
<xsl:text>format.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#architecture'">
<xsl:text>architecture.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Namespaces'">
<xsl:text>namespaces.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#DOM'">
<xsl:text>DOM.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Catalog'">
<xsl:text>catalog.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Upgrading'">
<xsl:text>upgrade.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Encodings'">
<xsl:text>encoding.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#IO'">
<xsl:text>xmlio.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Memory'">
<xsl:text>xmlmem.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Thread'">
<xsl:text>threads.html</xsl:text>
<xsl:when test="$name = '#Python'">
<xsl:text>python.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#FAQ'">
<xsl:text>FAQ.html</xsl:text>
</xsl:when>
<xsl:when test="$name = '#Python'">
<xsl:text>python.html</xsl:text>
</xsl:when>
<xsl:when test="$name = ''">
<xsl:text>unknown.html</xsl:text>
</xsl:when>
@ -307,262 +63,226 @@
- The global title
-->
<xsl:variable name="globaltitle" select="string(/html/body/h1[1])"/>
<!--
- The table of content
the main menu box
-->
<xsl:variable name="toc">
<form action="search.php"
<xsl:template name="linkList">
<div class="linkList">
<div class="llinks">
<h3 class="links"><span>main menu</span></h3>
<ul>
<li>Home</li>
<xsl:for-each select="/html/body/h2">
<xsl:variable name="filename">
<xsl:call-template name="filename">
<xsl:with-param name="name" select="concat('#', string(a[1]/@name))"/>
</xsl:call-template>
</xsl:variable>
<xsl:if test="$filename != ''">
<li>
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="$filename"/>
</xsl:attribute>
<xsl:if test="$filename = 'docs.html'">
<xsl:attribute name="style">font-weight:bold</xsl:attribute>
</xsl:if>
<xsl:value-of select="."/>
</xsl:element>
</li>
</xsl:if>
</xsl:for-each>
<li><a href="{$href_base}html/index.html">API Menu</a></li>
<li><a href="{$href_base}examples/index.html">C code examples</a></li>
<li><a href="{$href_base}ChangeLog.html">Recent Changes</a></li>
</ul>
</div>
<div class="llinks">
<h3 class="links"><span>related links</span></h3>
<ul>
<li> <a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li>
<li> <a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li>
<li> <a href="http://virt-manager.et.redhat.com/">virt-manager</a></li>
<li> <a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li>
<li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li>
<li><form action="{$href_base}search.php" enctype="application/x-www-form-urlencoded" method="get">
<input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" />
</form></li>
<li><a href="http://xmlsoft.org/"> <img src="{$href_base}Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li>
</ul>
<p class='credits'>Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p>
</div>
</div>
</xsl:template>
<xsl:template name="linkList2">
<div class="linkList2">
<div class="llinks2">
<h3 class="links2"><span>main menu</span></h3>
<ul>
<li><a href="{$href_base}index.html">Home</a></li>
<xsl:for-each select="/html/body/h2">
<xsl:variable name="filename">
<xsl:call-template name="filename">
<xsl:with-param name="name" select="concat('#', string(a[1]/@name))"/>
</xsl:call-template>
</xsl:variable>
<xsl:if test="$filename != ''">
<li>
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="$filename"/>
</xsl:attribute>
<xsl:if test="$filename = 'docs.html'">
<xsl:attribute name="style">font-weight:bold</xsl:attribute>
</xsl:if>
<xsl:value-of select="."/>
</xsl:element>
</li>
</xsl:if>
</xsl:for-each>
<li><a href="{$href_base}html/index.html">API Menu</a></li>
<li><a href="{$href_base}examples/index.html">C code examples</a></li>
<li><a href="{$href_base}ChangeLog.html">Recent Changes</a></li>
</ul>
</div>
<div class="llinks2">
<h3 class="links2"><span>related links</span></h3>
<ul>
<li> <a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li>
<li> <a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li>
<li> <a href="http://virt-manager.et.redhat.com/">virt-manager</a></li>
<li> <a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li>
<li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li>
<li><form action="{$href_base}search.php" enctype="application/x-www-form-urlencoded" method="get">
<input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" />
</form></li>
<li><a href="http://xmlsoft.org/"> <img src="{$href_base}Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li>
</ul>
<p class='credits'>Graphics and design by <a href="mail:dfong@redhat.com">Diana Fong</a></p>
</div>
</div>
</xsl:template>
<!--
the main menu box
-->
<xsl:template name="develtoc">
<div class="left">
<form action="{$href_base}search.php"
enctype="application/x-www-form-urlencoded" method="get">
<input name="query" type="text" size="20" value=""/>
<input name="submit" type="submit" value="Search ..."/>
</form>
<ul><!-- style="margin-left: -1em" -->
<li><a href="index.html">Home</a></li>
<xsl:for-each select="/html/body/h2">
<xsl:variable name="filename">
<xsl:call-template name="tocfilename">
<xsl:with-param name="name" select="concat('#', string(a[1]/@name))"/>
</xsl:call-template>
</xsl:variable>
<xsl:if test="$filename != ''">
<li>
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="$filename"/>
</xsl:attribute>
<xsl:if test="$filename = 'docs.html'">
<xsl:attribute name="style">font-weight:bold</xsl:attribute>
</xsl:if>
<xsl:value-of select="."/>
</xsl:element>
</li>
</xsl:if>
</xsl:for-each>
<li><a style="font-weight:bold"
href="html/index.html">API Menu</a></li>
<li><a href="ChangeLog.html">Recent Changes</a></li>
</ul>
</xsl:variable>
<xsl:variable name="develtoc">
<form action="search.php"
enctype="application/x-www-form-urlencoded" method="get">
<input name="query" type="text" size="20" value=""/>
<input name="submit" type="submit" value="Search ..."/>
</form>
<ul><!-- style="margin-left: -1em" -->
<li><a href="index.html" style="font-weight:bold">Main Menu</a></li>
<li><a style="font-weight:bold"
href="html/index.html">API Menu</a></li>
<li><a href="ChangeLog.html">ChangeLog</a></li>
<xsl:for-each select="/html/body/h2">
<xsl:variable name="filename">
<xsl:call-template name="docfilename">
<xsl:with-param name="name" select="concat('#', string(a[1]/@name))"/>
</xsl:call-template>
</xsl:variable>
<xsl:if test="$filename != ''">
<li>
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="$filename"/>
</xsl:attribute>
<xsl:value-of select="."/>
</xsl:element>
</li>
</xsl:if>
</xsl:for-each>
<li><a href="libvir.html">flat page</a>, <a href="site.xsl">stylesheet</a></li>
</ul>
</xsl:variable>
<xsl:variable name="api">
<ul><!-- style="margin-left: -1em" -->
<div class="box">
<h2 class="box_title">API menu</h2>
</div>
<p><a href="{$href_base}index.html">Main menu</a></p>
<p><a href="{$href_base}/html/index.html">API menu</a></p>
<p><a href="{$href_base}ChangeLog.html">ChangeLog</a></p>
<div class="box">
<h2 class="box_title">API Indexes</h2>
</div>
<p><a href="{$href_base}APIchunk0.html">Alphabetic</a></p>
<p><a href="{$href_base}APIconstructors.html">Constructors</a></p>
<p><a href="{$href_base}APIfunctions.html">Functions/Types</a></p>
<p><a href="{$href_base}APIfiles.html">Modules</a></p>
<p><a href="{$href_base}APIsymbols.html">Symbols</a></p>
<div class="box">
<h2 class="box_title">related links</h2>
</div>
<p><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></p>
<p> <a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></p>
<p> <a href="http://virt-manager.et.redhat.com/">virt-manager</a></p>
<p> <a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></p>
<p><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></p>
<a href="http://xmlsoft.org/"><img src="{$href_base}Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo"/></a>
</div>
<div class="linkList2">
<div class="llinks2">
<h3 class="links2"><span>API menu</span></h3>
<ul>
<li><a href="{$href_base}index.html">Main menu</a></li>
<li><a href="{$href_base}/html/index.html">API menu</a></li>
<li><a href="{$href_base}ChangeLog.html">ChangeLog</a></li>
</ul>
</div>
<div class="llinks2">
<h3 class="links2"><span>API indexes</span></h3>
<ul>
<li><a href="{$href_base}APIchunk0.html">Alphabetic</a></li>
<li><a href="{$href_base}APIconstructors.html">Constructors</a></li>
<li><a href="{$href_base}APIfunctions.html">Functions/Types</a></li>
<li><a href="{$href_base}APIfiles.html">Modules</a></li>
<li><a href="{$href_base}APIsymbols.html">Symbols</a></li>
</ul>
</xsl:variable>
<xsl:variable name="related">
<ul><!-- style="margin-left: -1em" -->
<li><a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li>
<li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li>
</ul>
</div>
<div class="llinks2">
<h3 class="links2"><span>related links</span></h3>
<ul>
<li> <a href="https://www.redhat.com/archives/libvir-list/">Mail archive</a></li>
<li> <a href="https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora+Core&amp;component=libvirt&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;bug_status=MODIFIED&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;long_desc_type=allwordssubstr">Open bugs</a></li>
<li> <a href="http://virt-manager.et.redhat.com/">virt-manager</a></li>
<li> <a href="http://search.cpan.org/~danberr/Sys-Virt-0.1.0/">Perl bindings</a></li>
<li><a href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html">Xen project</a></li>
<li><form action="{$href_base}search.php" enctype="application/x-www-form-urlencoded" method="get">
<input name="query" type="text" size="12" value="Search..." /><input name="submit" type="submit" value="Go" />
</form></li>
<li><a href="http://xmlsoft.org/"> <img src="Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo" /></a></li>
</ul>
</div>
</div>
</xsl:template>
<!--
<li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li>
-->
</ul>
</xsl:variable>
<xsl:template name="toc">
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td colspan="1" bgcolor="#eecfa1" align="center">
<center>
<b><xsl:value-of select="$menu_name"/></b>
</center>
</td>
</tr>
<tr>
<td bgcolor="#fffacd">
<xsl:copy-of select="$toc"/>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td colspan="1" bgcolor="#eecfa1" align="center">
<center>
<b>Related links</b>
</center>
</td>
</tr>
<tr>
<td bgcolor="#fffacd">
<xsl:copy-of select="$related"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
<a href="http://xmlsoft.org/"><img src="{$href_base}Libxml2-Logo-90x34.gif" alt="Made with Libxml2 Logo"/></a>
the menu box for developper's pages
-->
<!--
the page title
-->
<xsl:template name="titlebox">
<xsl:param name="title"/>
<h1 class="style1"><xsl:value-of select="$title"/></h1>
</xsl:template>
<xsl:template name="develtoc">
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td colspan="1" bgcolor="#eecfa1" align="center">
<center>
<b>Developer Menu</b>
</center>
</td>
</tr>
<tr>
<td bgcolor="#fffacd">
<xsl:copy-of select="$develtoc"/>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td colspan="1" bgcolor="#eecfa1" align="center">
<center>
<b>API Indexes</b>
</center>
</td>
</tr>
<tr>
<td bgcolor="#fffacd">
<xsl:copy-of select="$api"/>
</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td colspan="1" bgcolor="#eecfa1" align="center">
<center>
<b>Related links</b>
</center>
</td>
</tr>
<tr>
<td bgcolor="#fffacd">
<xsl:copy-of select="$related"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</xsl:template>
<xsl:template mode="head" match="title">
<title>
<xsl:apply-templates/>
</title>
</xsl:template>
<xsl:template mode="head" match="meta">
</xsl:template>
<!--
- Write the styles in the head
-->
<xsl:template name="style">
<link rel="SHORTCUT ICON" href="/favicon.ico"/>
<style type="text/css">
TD {font-family: Verdana,Arial,Helvetica}
BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
H1 {font-family: Verdana,Arial,Helvetica}
H2 {font-family: Verdana,Arial,Helvetica}
H3 {font-family: Verdana,Arial,Helvetica}
A:link, A:visited, A:active { text-decoration: underline }
</style>
<link rel="stylesheet" type="text/css" href="{$href_base}libvirt.css" />
<link rel="SHORTCUT ICON" href="/32favicon.png" />
</xsl:template>
<!--
- Write the title box on top
- The top section
-->
<xsl:template name="titlebox">
<xsl:param name="title" select="'Main Page'"/>
<table border="0" width="100%" cellpadding="5" cellspacing="0" align="center">
<tr>
<td width="120">
<a href="http://www.redhat.com/"><img src="{$href_base}redhat.gif" alt="Red Hat Logo"/></a>
</td>
<td>
<table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000">
<tr>
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd">
<tr>
<td align="center">
<xsl:element name="h1">
<xsl:value-of select="$globaltitle"/>
</xsl:element>
<xsl:element name="h2">
<xsl:value-of select="$title"/>
</xsl:element>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<xsl:template name="top">
<div id="top">
<img src="{$href_base}libvirtHeader.png" alt="Libvirt the virtualization API" />
</div>
</xsl:template>
<!--
- Handling of nodes in the body before the first H2, table of content
- Everything is just copied over, except href which may get rewritten
- and h1/h2/a at the top level
- The top section for the main page
-->
<xsl:template priority="2" mode="subcontent" match="a">
<xsl:variable name="filename">
<xsl:call-template name="filename">
<xsl:with-param name="name" select="string(@href)"/>
</xsl:call-template>
</xsl:variable>
<xsl:copy>
<xsl:attribute name="href">
<xsl:value-of select="$filename"/>
</xsl:attribute>
<xsl:apply-templates mode="subcontent" select="node()"/>
</xsl:copy>
<xsl:template name="topmain">
<div id="topmain">
<img src="{$href_base}libvirtLogo.png" alt="Libvirt the virtualization API" />
</div>
</xsl:template>
<xsl:template mode="subcontent" match="@*|node()">
<xsl:copy>
<xsl:apply-templates mode="subcontent" select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template mode="content" match="@*|node()">
<xsl:if test="name() != 'h1' and name() != 'h2'">
<xsl:copy>
<xsl:apply-templates mode="subcontent" select="@*|node()"/>
</xsl:copy>
</xsl:if>
<!--
- The bottom section
-->
<xsl:template name="bottom">
<div id="bottom">
<p class="p1"></p>
</div>
</xsl:template>
<!--
- Handling of nodes in the body after an H2
- Open a new file and dump all the siblings up to the next H2
@ -574,11 +294,6 @@ A:link, A:visited, A:active { text-decoration: underline }
<xsl:with-param name="name" select="concat('#', string($header/a[1]/@name))"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="tocfilename">
<xsl:call-template name="tocfilename">
<xsl:with-param name="name" select="concat('#', string($header/a[1]/@name))"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="title">
<xsl:value-of select="$header"/>
</xsl:variable>
@ -592,125 +307,80 @@ A:link, A:visited, A:active { text-decoration: underline }
<xsl:value-of select="$title"/>
</xsl:element>
</head>
<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<xsl:choose>
<xsl:when test="$filename = 'docs.html'">
<xsl:call-template name="develtoc"/>
</xsl:when>
<xsl:when test="$tocfilename = ''">
<xsl:call-template name="develtoc"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="toc"/>
</xsl:otherwise>
</xsl:choose>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<xsl:apply-templates mode="subfile" select="$header/following-sibling::*[preceding-sibling::h2[1] = $header and name() != 'h2' ]"/>
<p><a href="bugs.html">Daniel Veillard</a></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<body>
<div id="container">
<div id="intro">
<div id="adjustments"/>
<div id="pageHeader"/>
<div id="content2">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="$title"/>
</xsl:call-template>
<xsl:apply-templates mode="subfile" select="$header/following-sibling::*[preceding-sibling::h2[1] = $header and name() != 'h2' ]"/>
</div>
</div>
<xsl:call-template name="linkList2"/>
<xsl:call-template name="bottom"/>
</div>
</body>
</html>
</xsl:document>
</xsl:template>
<xsl:template mode="subcontent" match="@*|node()">
<xsl:copy>
<xsl:apply-templates mode="subcontent" select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template mode="content" match="@*|node()">
<xsl:if test="name() != 'h1' and name() != 'h2'">
<xsl:copy>
<xsl:apply-templates mode="subcontent" select="@*|node()"/>
</xsl:copy>
</xsl:if>
</xsl:template>
<xsl:template mode="subfile" match="@*|node()">
<xsl:copy>
<xsl:apply-templates mode="content" select="@*|node()"/>
</xsl:copy>
</xsl:template>
<!--
- Handling of the initial body and head HTML document
-->
<xsl:template match="body">
<xsl:variable name="firsth2" select="./h2[1]"/>
<xsl:variable name="rest2" select="./h2[position()&gt;1]"/>
<body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000">
<xsl:call-template name="titlebox">
<xsl:with-param name="title" select="'libvir'"/>
</xsl:call-template>
<table border="0" cellpadding="4" cellspacing="0" width="100%" align="center">
<tr>
<td bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td valign="top" width="200" bgcolor="#8b7765">
<xsl:call-template name="toc"/>
</td>
<td valign="top" bgcolor="#8b7765">
<table border="0" cellspacing="0" cellpadding="1" width="100%">
<tr>
<td>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000">
<tr>
<td>
<table border="0" cellpadding="3" cellspacing="1" width="100%">
<tr>
<td bgcolor="#fffacd">
<xsl:apply-templates mode="content" select="($firsth2/preceding-sibling::*)"/>
<xsl:for-each select="./h2">
<xsl:call-template name="subfile">
<xsl:with-param name="header" select="."/>
</xsl:call-template>
</xsl:for-each>
<p><a href="bugs.html">Daniel Veillard</a></p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<body>
<div id="container">
<div id="intro">
<div id="adjustments">
<p class="p1"></p>
</div>
<div id="content">
<xsl:apply-templates mode="content" select="($firsth2/preceding-sibling::*)"/>
<xsl:for-each select="./h2">
<xsl:call-template name="subfile">
<xsl:with-param name="header" select="."/>
</xsl:call-template>
</xsl:for-each>
</div>
</div>
<xsl:call-template name="linkList"/>
<xsl:call-template name="bottom"/>
</div>
</body>
</xsl:template>
<xsl:template match="head">
<head>
<xsl:call-template name="style"/>
<xsl:apply-templates mode="head"/>
</head>
</xsl:template>
<xsl:template match="html">
<xsl:message>Generating the Web pages</xsl:message>
<html>
<head>
<xsl:call-template name="style"/>
<title>the virtualization API</title>
</head>
<xsl:apply-templates/>
</html>
</xsl:template>

25
docs/testdomfc4.xml Normal file
View File

@ -0,0 +1,25 @@
<domain type='test'>
<name>fc4</name>
<uuid>EF86180145B911CB88E3AFBFE5370493</uuid>
<os>
<type>linux</type>
<kernel>/boot/vmlinuz-2.6.15-1.43_FC5guest</kernel>
<initrd>/boot/initrd-2.6.15-1.43_FC5guest.img</initrd>
<root>/dev/sda1</root>
<cmdline> ro selinux=0 3</cmdline>
</os>
<memory>131072</memory>
<vcpu>1</vcpu>
<devices>
<disk type='file'>
<source file='/u/fc4.img'/>
<target dev='sda1'/>
</disk>
<interface type='bridge'>
<source bridge='xenbr0'/>
<mac address='aa:00:00:00:00:11'/>
<script path='/etc/xen/scripts/vif-bridge'/>
</interface>
<console tty='/dev/pts/5'/>
</devices>
</domain>

42
docs/testdomfv0.xml Normal file
View File

@ -0,0 +1,42 @@
<domain type='test'>
<name>fv0</name>
<uuid>4dea22b31d52d8f32516782e98ab3fa0</uuid>
<os>
<type>hvm</type>
<loader>/usr/lib/xen/boot/hvmloader</loader>
<boot dev='hd'/>
</os>
<memory>524288</memory>
<maxMemory>1524288</maxMemory>
<vcpu>4</vcpu>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<features>
<pae/>
<acpi/>
<apic/>
</features>
<devices>
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
<interface type='bridge'>
<source bridge='xenbr0'/>
<mac address='00:16:3e:5d:c7:9e'/>
<script path='vif-bridge'/>
</interface>
<disk type='file'>
<source file='/root/fv0'/>
<target dev='hda'/>
</disk>
<disk type='file' device='cdrom'>
<source file='/root/fc5-x86_64-boot.iso'/>
<target dev='hdc'/>
<readonly/>
</disk>
<disk type='file' device='floppy'>
<source file='/root/fd.img'/>
<target dev='fda'/>
</disk>
<graphics type='vnc' port='5904'/>
</devices>
</domain>

23
docs/testnode.xml Normal file
View File

@ -0,0 +1,23 @@
<node>
<!-- This file gives an example config for the mock 'test' backend
driver to libvirt. This is intended to allow relible unit testing
of applications using libvirt. To use this with virsh, run something
like:
virsh -connect test:////path/to/this/dir/testnode.xml nodeinfo
-->
<domain file="testdomfv0.xml"/>
<domain file="testdomfc4.xml"/>
<cpu>
<mhz>6000</mhz>
<model>i986</model>
<active>50</active>
<nodes>4</nodes>
<sockets>4</sockets>
<cores>4</cores>
<threads>2</threads>
</cpu>
<memory>137438953</memory>
</node>

Some files were not shown because too many files have changed in this diff Show More