Commit Graph

853 Commits

Author SHA1 Message Date
Daniel Veillard
10d1650843 integration of the VirtualBox support
* configure.in include/libvirt/virterror.h src/Makefile.am
  src/domain_conf.[ch] src/driver.h src/virterror.c src/vbox/README
  src/vbox/vbox_CAPI_v2_2.h src/vbox/vbox_V2_2.c
  src/vbox/vbox_XPCOMCGlue.[ch] src/vbox/vbox_driver.[ch]
  src/vbox/vbox_tmpl.c: integration of the VirtualBox support
  patches by Pritesh Kothari
Daniel
2009-04-17 16:09:07 +00:00
Daniel Veillard
81e6a22192 Small doc fixes
* src/libvirt.c: fix the doc of virNodeGetFreeMemory to say bytes
* docs/drvlxc.html.in docs/drvlxc.html: fix command used in examples
daniel
2009-04-17 15:34:53 +00:00
Chris Lalancette
4d3d0039e5 Convert all drivers to use old-style struct initializers; this makes a handy
built-in TODO list for each driver.  Also rip out the internal getURI method;
it is never used by any of the drivers, and was buggy to boot.
2009-03-31 15:47:16 +00:00
Cole Robinson
b68a19be0f Don't allow readonly connections to dump secure xml. 2009-03-16 17:21:12 +00:00
Daniel P. Berrange
b9739b4709 Add missing locking calls in remote driver 2009-03-03 19:33:34 +00:00
Daniel P. Berrange
8d13558ae6 Internal driver API for sVirt support (James Morris & Dan Walsh) 2009-03-03 09:14:28 +00:00
Daniel Veillard
737af2ea04 Adds the APIs for virNodeDeviceDettach , ReAttach and Reset
* include/libvirt/libvirt.h include/libvirt/libvirt.h.in
  src/driver.h src/libvirt.c src/libvirt_public.syms
  src/lxc_driver.c src/openvz_driver.c src/qemu_driver.c
  src/test.c src/uml_driver.c: add the public APIs for
  virNodeDeviceDettach virNodeDeviceReAttach and virNodeDeviceReset
  and extends the driver structure accordingly.
Daniel
2009-03-02 16:25:13 +00:00
Jim Meyering
64b72210ad Work around 'virGetVersion' build problem
The 'getVer' fix introducted in d88d459d [Allow remote://hostname/
style URIs for automatic driver probe...] breaks compiling libvirt
with loadable module support.  Work around this to get it building again.

Signed-off-by: Maximilian Wilhelm <max@rfc2324.org>
2009-02-17 10:33:41 +00:00
John Levon
66929686c4 fix more printf("%s", NULL) cases 2009-02-02 18:41:56 +00:00
John Levon
745c249a61 Fix yet another printf("%s", NULL) case
Fix getpwuid_r() usage
Fix virsh migrateuri handling
2009-01-30 15:43:05 +00:00
John Levon
e96d88ff3d fix another printf("%s", NULL) case 2009-01-29 17:18:24 +00:00
Jim Meyering
bc18a91f91 error-reporting calls using VIR_ERR_NO_MEMORY: use virReportOOMError instead
* src/uml_conf.c (VIR_FROM_THIS): Define to VIR_FROM_UML.
* src/xs_internal.c (VIR_FROM_THIS): Define to VIR_FROM_XEN.
* src/xml.c (VIR_FROM_THIS): Define to VIR_FROM_XML.
* src/stats_linux.c (VIR_FROM_THIS): Define to VIR_FROM_STATS_LINUX.
* src/datatypes.c (VIR_FROM_THIS): Define to VIR_FROM_NONE.
* src/lxc_conf.c (VIR_FROM_THIS): Define to VIR_FROM_LXC.
* src/libvirt.c (VIR_FROM_THIS): Define to VIR_FROM_NONE.
* src/node_device_conf.c (VIR_FROM_THIS): Define to VIR_FROM_NODEDEV.
* src/openvz_conf.c (VIR_FROM_THIS): Define to VIR_FROM_OPENVZ.
* src/openvz_driver.c (VIR_FROM_THIS): Define to VIR_FROM_OPENVZ.
* src/conf.c (VIR_FROM_THIS): Define to VIR_FROM_CONF.
Note: this loses config_filename:config_lineno diagnostics,
but that's ok.
* src/node_device.c (VIR_FROM_THIS): Define to VIR_FROM_NODEDEV.
* src/sexpr.c (VIR_FROM_THIS): Define to VIR_FROM_SEXPR.
* po/POTFILES.in: remove src/sexpr.c and src/lxc_conf.c
2009-01-29 12:10:32 +00:00
Jim Meyering
727d4fdc6e fix comment typo: s/contains/continues/
* src/libvirt.c (virStorageVolFree): Correct typo in comment.
2009-01-23 14:18:43 +00:00
Daniel P. Berrange
c4985e9419 use the gnulib random_r function 2009-01-22 20:27:01 +00:00
Daniel P. Berrange
a776fad370 Add public APIs for ref counting on public objects 2009-01-20 12:14:03 +00:00
Daniel P. Berrange
ead04dcbe8 Thread local error reporting 2009-01-20 12:01:45 +00:00
Daniel P. Berrange
4dac0a1105 Generic internal threads API 2009-01-15 19:56:05 +00:00
John Levon
4d713eabf5 Avoid passing NULL to printf %s specifier 2009-01-15 17:54:20 +00:00
Guido Günther
043d702f02 use virAsprintf instead of asprintf 2008-12-23 13:03:29 +00:00
Daniel Veillard
f99b202f5b * src/libvirt.c: convert entry points to new logging
daniel
2008-12-22 10:46:01 +00:00
Daniel P. Berrange
53611889ff Add missing checks for read-only connection flag (CVE-2008-5086) 2008-12-17 16:45:22 +00:00
Daniel P. Berrange
e8a4ea75a3 Merge all return paths from node device driver APIs 2008-12-04 21:46:34 +00:00
Daniel P. Berrange
d88d459d7b Allow remote://hostname/ style URIs for automatic driver probe. Fix virGetVersion impl 2008-11-28 12:03:20 +00:00
Daniel Veillard
517ff04bec Release of 0.5.0
* configure.in docs/* NEWS: release of 0.5.0
* po/*: updated from the translators and merged
* docs/apibuild.py src/libvirt.c: avoid some warnings at doc
  generation time
daniel
2008-11-25 15:48:11 +00:00
Jim Meyering
335de2ba1f libvirt.c: document the virState* functions
* src/libvirt.c (virStateActive, virStateCleanup, virStateReload):
(virStateActive): Add per-function comments.
2008-11-25 10:31:52 +00:00
Daniel P. Berrange
145bb1e821 Misc tweaks to node device impl 2008-11-21 12:46:39 +00:00
Daniel P. Berrange
0793e73c02 Public API for node device enumeration (David Lively) 2008-11-21 12:19:22 +00:00
Daniel P. Berrange
2c855c1c66 Optional dlopen support for drivers 2008-11-21 12:16:08 +00:00
Daniel P. Berrange
3d41e86534 Add a virFreeCallback to virDomainEventRegister (from David Lively) 2008-11-19 15:25:24 +00:00
Daniel P. Berrange
89156f1985 Link QEMU, LXC, network and storage drivers directly into libvirtd 2008-11-17 12:18:18 +00:00
Daniel P. Berrange
618276de19 Push URI probing logic down into individual drivers 2008-11-17 11:44:51 +00:00
Daniel P. Berrange
25047e7cf8 Use a versioned linker script 2008-11-17 11:03:25 +00:00
Daniel Veillard
df285bdd8d KVM/QEmu migration support
* qemud/remote.c qemud/remote_dispatch_localvars.h
  qemud/remote_dispatch_proc_switch.h qemud/remote_dispatch_prototypes.h
  qemud/remote_protocol.c qemud/remote_protocol.h
  qemud/remote_protocol.x src/driver.h src/libvirt.c
  src/libvirt_internal.h src/libvirt_sym.version src/lxc_driver.c
  src/openvz_driver.c src/qemu_conf.h src/qemu_driver.c
  src/remote_internal.c src/test.c src/virsh.c: large patch to
  add migration support for KVM/QEmu, based on the work of Rich Jones
  and Chris Lalancette. This introduce a new version of the prepare
  and finish steps of the migration, so changes the driver API and
  a lot of code.
Daniel
2008-11-14 08:42:47 +00:00
Daniel Veillard
df93e1ee24 add new logging module, and move existing definitions there
* src/logging.c src/logging.h proxy/Makefile.am proxy/libvirt_proxy.c
  src/Makefile.am src/cgroup.c src/datatypes.c src/domain_event.c
  src/internal.h src/libvirt.c src/lxc_container.c src/lxc_controller.c
  src/lxc_driver.c src/proxy_internal.c src/qemu_driver.c
  src/remote_internal.c src/storage_backend_disk.c src/util.c
  src/veth.c src/xen_internal.c src/xen_unified.c src/xend_internal.c:
  add new logging module, and move existing definitions there
Daniel
2008-11-06 16:36:07 +00:00
Daniel P. Berrange
c9ff52fb8a Move WITH_XXX driver feature flags into config.h instead of direct compiler/linker args 2008-11-04 23:37:23 +00:00
Daniel P. Berrange
2ea1eceb75 Move domain events helpers into dedicated file 2008-11-04 23:33:57 +00:00
Daniel P. Berrange
6ace5a39c3 Move some API declarations out of internal.h & hash.c into dedicated files 2008-11-04 23:22:06 +00:00
Daniel P. Berrange
2f19b24a03 Remove unused internal virStateSigDispatcher() API 2008-11-04 22:55:51 +00:00
Daniel P. Berrange
d714b2afae Move internal error APIs into virterror_internal.h & drop leading __ prefix 2008-11-04 22:30:33 +00:00
Daniel P. Berrange
cbb1dd0a9b Remove use of virStringList in favour of strongly typed APIs 2008-11-04 21:54:21 +00:00
Daniel P. Berrange
b38d045dea Remove use of sys/poll.h on mingw 2008-10-24 13:10:30 +00:00
Jim Meyering
327b2eea26 fix mingw compilation warning
* src/libvirt.c (winsock_init) [HAVE_WINSOCK2_H]: Always return a value.
2008-10-24 08:55:13 +00:00
Daniel Veillard
1509b8027f Massive patch adding event APIs by Ben Guthro
* include/libvirt/libvirt.h include/libvirt/libvirt.h.in
  src/libvirt.c src/libvirt_sym.version: new libvirt event entry
  points, big patch provided by Ben Guthro
* Makefile.am configure.in src/driver.h src/event.c src/event.h
  src/internal.h src/libvirt.c src/libvirt_sym.version src/lxc_driver.c
  src/openvz_driver.c src/qemu_conf.h src/qemu_driver.c
  src/remote_internal.c src/storage_backend_fs.c src/test.c
  qemud/event.c qemud/event.h qemud/mdns.c qemud/qemud.c
  qemud/qemud.h qemud/remote.c qemud/remote_dispatch_localvars.h
  qemud/remote_dispatch_proc_switch.h qemud/remote_dispatch_prototypes.h
  qemud/remote_protocol.c qemud/remote_protocol.h
  qemud/remote_protocol.x proxy/Makefile.am python/generator.py:
  Not much is left untouched by the patch adding the events support
* docs/libvirt-api.xml docs/libvirt-refs.xml
  docs/html/libvirt-libvirt.html: regenerated the docs
* examples/domain-events/events-c/Makefile.am
  examples/domain-events/events-c/event-test.c: a test example
* AUTHORS: added Ben Guthro
daniel
2008-10-23 13:18:18 +00:00
Richard W.M. Jones
d510d4bf92 * src/libvirt.c: Register the remote driver even when we are
configured --without-libvirtd.  Also adds debugging of
        registration events.
2008-10-15 10:33:01 +00:00
Daniel P. Berrange
1564711a27 Split network driver out into separate files 2008-10-10 13:57:13 +00:00
Daniel Veillard
f6803c960f virDomainDefineXML, and a few additional cleanups
* include/libvirt/libvirt.h[.in] include/libvirt/virterror.h
  qemud/remote* src/driver.h src/libvirt.c src/libvirt_sym.version
  src/lxc_driver.c src/openvz_driver.c src/proxy_internal.c
  src/qemu_driver.c src/remote_internal.c src/test.c src/virsh.c
  src/xen_internal.c src/xen_unified.c src/xen_unified.h
  src/xend_internal.c src/xend_internal.h src/xm_internal.c
  src/xs_internal.c docs/*: cleanup virDomainCreateLinux into
  virDomainDefineXML, and a few additional cleanups
Daniel
2008-10-10 09:32:27 +00:00
Cole Robinson
e2a43cdb87 Move DEBUG macros to central location. 2008-10-06 19:53:06 +00:00
Richard W.M. Jones
a744ddad59 include/libvirt/libvirt.h.in, src/libvirt.c: Fix comments
which incorrectly referred to non-existent 'virDomainFlags'
type (Anton Protopopov).
2008-09-17 14:15:20 +00:00
Daniel Veillard
b8f2610280 check availbility of emulators before reporting them in capabilities
* src/qemu_conf.c: patch from Cole Robinson to report in the
  capabilities only the ones where the emulators is actually found
* po/libvirt.pot: regenerated
* src/libvirt.c: small typo fix
Daniel
2008-09-02 15:00:09 +00:00
Daniel P. Berrange
39c9354c5c Add storage pool source discovery support (patch from David Lively) 2008-08-27 20:05:58 +00:00
Daniel P. Berrange
11a2e2972a Propagate virConnectOpen errors to global error object 2008-08-21 10:12:32 +00:00
Daniel P. Berrange
bb16f4a25d Do conditional driver config in Makefile.am, not source files 2008-08-20 20:48:35 +00:00
Daniel P. Berrange
5cd1d3c53c Remove duplicated call to virInitialize 2008-08-18 09:24:46 +00:00
Daniel Veillard
eba65e1c6d * docs/formatdomain.html docs/formatdomain.html.in docs/libvirt-api.xml
docs/libvirt-refs.xml docs/html/libvirt-libvirt.html src/libvirt.c:
  fixed somedocs and API entry point descriptions as suggested by
  Charles Duffy and regenerated the API descriptions.
Daniel
2008-08-01 06:42:45 +00:00
Daniel Veillard
edbbb3aa12 ID domain lookup fixup
* src/libvirt.c src/openvz_driver.c: fix the description of the ID
  domain lookup and fix the OpenVZ routine
Daniel
2008-07-16 20:42:38 +00:00
Daniel Veillard
fc2076033b bug in do_open()
* src/libvirt.c: Evgeniy Sokolov found a driver open bug
  in do_open()
Daniel
2008-07-10 15:29:39 +00:00
Atsushi SAKAI
fbb5d771a0 Compilation fixes for MinGW 2008-06-26 09:37:51 +00:00
Richard W.M. Jones
6bcf25017b virDomainMemoryPeek API
* include/libvirt/libvirt.h.in, src/libvirt.c, src/driver.h,
          src/libvirt_sym.version: New virDomainMemoryPeek API.
        * qemud/remote.c, qemud/remote_protocol.x, src/remote_internal.c:
          Support for remote.
        * src/qemu_driver.c: QEMU driver implementation of API.
        * src/test.c: Test driver (null) implementation of API.
        * docs/hvsupport.html.in: Document API.
        * libvirt.spec.in: New path /var/cache/libvirt for temporary
          storage of memory images.
        * qemud/libvirtd.init.in: Remove any old temp files in
          /var/cache/libvirt on restarts.
        * src/Makefile.am: make install creates /var/cache/libvirt.
        * configure.in: Detect mkdir -p.
2008-06-10 10:43:28 +00:00
Richard W.M. Jones
a73a88a19f virDomainBlockPeek QEMU and remote support
* qemud/remote.c, qemud/remote_protocol.x, src/remote_internal.c:
	  Remote support.
	* qemud/remote_dispatch_localvars.h,
	  qemud/remote_dispatch_proc_switch.h,
	  qemud/remote_dispatch_prototypes.h,
	  qemud/remote_protocol.c,
	  qemud/remote_protocol.h:
	  Generated files for remote support.
	* src/xen_unified.c, src/driver.h, src/libvirt.c: Small fix -
	  pass flags around internally.
	* src/qemu_driver.c: Support for QEMU.
	* src/xend_internal.c: Remove redundant fstat call from Xen.
2008-06-05 21:12:26 +00:00
Richard W.M. Jones
8354895e68 virDomainBlockPeek call
* configure.in: Document AC_SYS_LARGEFILE.
	* docs/hvsupport.html.in: Document HV support for virDomainBlockPeek.
	* include/libvirt/libvirt.h.in, src/driver.h, src/libvirt.c,
	src/libvirt_sym.version: Add virDomainBlockPeek infrastructure.
	* src/qemu_driver.c, src/test.c: Null versions of this call.
	* src/xen_unified.c, src/xend_internal.c, src/xend_internal.h,
	src/xm_internal.c, src/xm_internal.h: Xen implementation.
	* tests/sexpr2xmldata/sexpr2xml-curmem.xml,
	tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml: XML output
	has been reordered slightly in the Xen driver, but should be
	functionally the same.
2008-06-05 13:17:45 +00:00
Daniel P. Berrange
5e124764c1 Fix parted check & disable storage driver if daemon isn't present 2008-05-29 19:23:17 +00:00
Richard W.M. Jones
1d8d4f86b6 Standardize use of header files, making internal.h primary.
* qemud/internal.h, qemud/qemud.h: Rename this file so it
	doesn't conflict with src/internal.h.
	* HACKING: Document how header files should be used.
	* qemud/Makefile.am: Add src/ directory to includes.
	* qemud/event.c, qemud/mdns.c, qemud/qemud.c, qemud/remote.c,
	qemud/remote_protocol.c, qemud/remote_protocol.h,
	qemud/remote_protocol.x, src/buf.c, src/libvirt.c,
	src/nodeinfo.c, src/qemu_conf.c, src/qemu_driver.c,
	src/stats_linux.c, src/storage_backend.c, src/storage_backend_fs.c,
	src/storage_backend_iscsi.c, src/storage_backend_logical.c,
	src/storage_conf.c, src/storage_driver.c, src/util.c,
	src/util.h, src/virsh.c, src/virterror.c, src/xend_internal.c,
	src/xml.c, tests/reconnect.c, tests/xmlrpctest.c,
	tests/qparamtest.c: Standardize	use of header files.
	* docs/*, po/*: Rebuild docs.
2008-05-23 08:24:41 +00:00
Daniel P. Berrange
dd674689df Fix misc memory leaks 2008-05-22 15:12:25 +00:00
Daniel P. Berrange
e866e302f8 Fixed couple of memory leaks wrt to virXXXDestroy APIs, and clarify docs to match reality 2008-05-21 20:53:30 +00:00
Daniel P. Berrange
1d73398e8f Remove all use of strcmp, strncmp in favour of STREQ, STREQLEN, STRPREFIX 2008-05-14 19:51:24 +00:00
David L. Leskovec
94311de539 Enable libvirtd drivers to handle signals, in lxc, sigchld triggers vm cleanup
Mon May 12 23:32:21 PST 2008 David L. Leskovec <dlesko@linux.vnet.ibm.com>

	* qemud/qemud.c: get siginfo with signals, distribute to drivers that
    register a handler
	* src/driver.h: add sighandler function to state driver table
	* src/internal.h: define virStateSigDispatcher functions
	* src/libvirt.c: add __virStateSigDispatcher function
	* src/libvirt_sym.version: add __virStateSigDispatcher
	* src/lxc_driver.c: add sig handler function, cleanup vm when sigchld
    received from container process
	* src/qemu_driver.c: NULL for sig handler (no handler) in state driver
	* src/remote_internal.c: NULL for sig handler (no handler) in state driver
	* src/storage_driver.c: NULL for sig handler (no handler) in state driver
2008-05-13 06:30:58 +00:00
Jim Meyering
5bf824ea10 convert TAB-based indentation in C sources to use only spaces
Done using this command (also includes .c.in and .h.in files):
for i in $(g ls-files|grep -E '\.[ch](\.in)?$'|grep -v gnulib); do
  expand -i $i > j && mv j $i;done
2008-04-10 16:54:54 +00:00
Jim Meyering
dc42a9d2de remove Vim and Emacs variable settings from C source files
Done with these commands:
git grep -l Local.variab|xargs \
  perl -0x3b -pi -e 's,\n+/\*\n \* vim:(.|\n)*,\n,'

git grep -l Local.variab|xargs \
  perl -0x3b -pi -e 's,\n+/\*\n \* Local variables:\n(.|\n)*,\n,'
2008-04-10 16:53:29 +00:00
Richard W.M. Jones
ed8a6d6a10 Core code contains Xen-ism UUID of dom0 = 0..0
* src/libvirt.c: Remove a Xen-ism from the core code, the
          assumption that dom0's UUID is all zeroes.
2008-04-09 14:03:01 +00:00
Daniel P. Berrange
d4a6fe9f99 Don't do polkit auth as root 2008-04-04 15:09:19 +00:00
Daniel Veillard
a528e97383 typos fixes
* docs//* src/conf.c src/hash.c src/libvirt.c src/proxy_internal.c
 src/remote_internal.c src/virsh.c src/xen_internal.c
 src/xend_internal.c src/xml.c: applied patch from Atsushi SAKAI
 fixing a lot of typos
Daniel
2008-04-04 07:58:29 +00:00
Daniel Veillard
f163895204 Initial Linux containers work
* configure.in include/libvirt/virterror.h src/Makefile.am
  src/driver.h src/lxc_conf.[ch] src/lxc_driver.[ch] src/virterror.c:
  Applied 3 patches from Dave Leskovec for intial support of
  Linux containers, configured off by default, work in progress.
* src/libvirt.c: improve virDomainCreateLinux xmlDesc description
Daniel
2008-03-21 15:03:37 +00:00
Daniel Veillard
96c795328d fixed DefinedDomains function comments c.f. 437216
* libvirt.c: fixed DefinedDomains function comments c.f. 437216
* docs/libvirt-*.xml docs/*/libvirt-libvirt.html: regenerated
Daniel
2008-03-17 16:43:54 +00:00
Daniel Veillard
ca7047f122 * src/libvirt.c docs/libvirt-*.xml docs/html/libvirt-libvirt.html:
fixed a few missing argument descriptions and regenerated.
Daniel
2008-03-17 10:48:02 +00:00
Daniel Veillard
08ecf61b35 * NEWS virsh.1 docs//* include/libvirt/libvirt.h[.in] qemud/mdns.h
src/libvirt.c src/qemu.conf src/remote_internal.c src/xend_internal.c
  tests/confdata/libvirtd.conf tests/confdata/libvirtd.out: patch from
  Atsushi SAKAI fixing a ot more typo
Daniel
2008-03-17 10:27:31 +00:00
Daniel Veillard
adbf991a1d * src/libvirt.c: virDomainSetSchedulerParameters need to be
blocked on read-only connections, patch from Saori Fukuta
Daniel
2008-03-13 09:27:46 +00:00
Daniel P. Berrange
77ed8ded7b Remove unused variable 2008-03-11 16:01:23 +00:00
Daniel P. Berrange
8d2d44ad05 Remove use of polkit-grant. Keep stdio open when running polkit-auth 2008-03-11 14:49:04 +00:00
Daniel Veillard
ea47a7d4e4 Oops trailing blank, Daniel 2008-02-26 07:06:48 +00:00
Daniel Veillard
36c6bfa63d * src/driver.h src/libvirt.c src/openvz_driver.c src/qemu_driver.c
src/remote_internal.c src/test.c src/util.c src/util.h
  src/xen_unified.c: added probe interface at the driver level,
  use that to improve default hypervisor selection in the absence
  of a given URI when connecting
Daniel
2008-02-26 07:05:18 +00:00
Daniel P. Berrange
104cc98636 Update to work with new policy kit APIs 2008-02-20 16:54:35 +00:00
Daniel P. Berrange
20878720c0 Added main internal storage driver impl 2008-02-20 15:34:52 +00:00
Daniel P. Berrange
cb228a0e24 Internal driver API for storage management 2008-02-20 15:06:53 +00:00
Jim Meyering
e04912a9f0 Remove all trailing blanks; turn on the rule to detect them.
* Makefile.cfg (local-checks-to-skip): Remove sc_trailing_blank.
* .x-sc_trailing_blank: New file, to exempt the few binary files.
2008-02-05 19:27:37 +00:00
Jim Meyering
ecaa696250 Enable more checks for unmarked messages; fix violators.
* Makefile.maint (sc_unmarked_diagnostics): Check for more functions.
* src/conf.c (virConfParseValue): Remove trailing space in diagnostic.
* src/libvirt.c (do_open, virDomainMigrate): Mark diagnostics.
* src/xend_internal.c (do_connect, xenDaemonDomainDumpXMLByID): Likewise.
(xenDaemonDomainDumpXMLByName, xenDaemonCreateLinux): Likewise.
(xenDaemonDomainMigratePerform, xenDaemonDomainDefineXML): Likewise.
* src/xml.c (virXPathString, virXPathNumber, virXPathLong): Likewise.
(virXPathBoolean, virXPathNode, virXPathNodeSet): Likewise.
(virDomainParseXMLOSDescHVM): Likewise.
* src/xmlrpc.c (xmlRpcValueNew): Likewise.
(xmlRpcValueUnmarshalDictElement): Likewise.
2008-02-04 19:31:30 +00:00
Jim Meyering
6997b1920f src/libvirt.c (do_open): Avoid double-free upon failure. 2008-01-30 19:53:10 +00:00
Jim Meyering
a378188194 Enable the <config.h>-requiring test; fix violations
Use <config.h>, not "config.h", per autoconf documentation.
* Makefile.cfg (local-checks-to-skip) [sc_require_config_h]: Enable.
* .x-sc_require_config_h: New file, to list exempted files.
* Makefile.am (EXTRA_DIST): Add .x-sc_require_config_h.
2008-01-29 18:15:54 +00:00
Jim Meyering
acff2d11ac Given code like if (foo) free (foo); remove the useless "if (foo) " part.
Likewise, given if (foo != NULL) free (foo); remove the useless "if" test.

* proxy/libvirt_proxy.c: Remove unnecessary "if" test before free.
* python/generator.py: Likewise.
* qemud/qemud.c: Likewise.
* src/buf.c: Likewise.
* src/conf.c: Likewise.
* src/hash.c: Likewise.
* src/iptables.c: Likewise.
* src/libvirt.c: Likewise.
* src/openvz_conf.c: Likewise.
* src/qemu_conf.c: Likewise.
* src/qemu_driver.c: Likewise.
* src/remote_internal.c: Likewise.
* src/test.c: Likewise.
* src/virsh.c: Likewise.
* src/virterror.c: Likewise.
* src/xen_internal.c: Likewise.
* src/xen_unified.c: Likewise.
* src/xend_internal.c: Likewise.
* src/xm_internal.c: Likewise.
* src/xml.c: Likewise.
* src/xmlrpc.c: Likewise.
* src/xs_internal.c: Likewise.
* tests/testutils.c: Likewise.
* tests/xencapstest.c: Likewise.
* tests/xmconfigtest.c: Likewise.
2008-01-29 17:41:07 +00:00
Daniel Veillard
3f9a94bec3 * src/libvirt.c: Jay Gagnon pointed out that virDomainGetXMLDesc
was failing with a non-zero flag value
Daniel
2008-01-24 17:09:56 +00:00
Daniel P. Berrange
97bed42f7a Fix & refactor ref counting cleanup code 2008-01-21 16:29:10 +00:00
Jim Meyering
a430f22be4 Don't access line[-1] for a zero-length "line" from fgets.
A NUL byte at beginning of input, or just after a newline
would provoke an invalid buf[-1] access (possible segfault).
* src/libvirt.c (virConnectAuthCallbackDefault):
2008-01-21 14:09:51 +00:00
Daniel P. Berrange
e8d690aeb5 Enable debug by default, but only if LIBVIRT_DEBUG=1. Use generic macro for debug output 2008-01-19 18:36:01 +00:00
Richard W.M. Jones
029aef1d24 Miscellaneous fixes for building on Windows (MinGW).
* configure.in: xdr functions may require -lxdr.
	* configure.in, src/Makefile.am: Extra linking flags for
	  building libvirt DLL.
	* src/socketcompat.h: Hide Windows Winsock incompatibilities
	  in a separate header file.
	* src/remote_internal.c: Switch to using socketcompat.h /
	  socket_errno().
	* src/test.c: Switch to using socketcompat.h.
	* gnulib/lib/arpa/.cvsignore: Ignore another generated file.
	* src/qparams.c: Include <config.h>.
2008-01-05 16:06:36 +00:00
Daniel P. Berrange
a11494fd52 Don't invoke callback with unsupported credential types 2007-12-15 17:15:12 +00:00
Richard W.M. Jones
0d14fc0cbb Fri Dec 7 14:49:00 UTC 2007 Richard W.M. Jones <rjones@redhat.com>
* src/console.c, src/console.h, src/virsh.c: Disable
	  text console on Windows.
	* src/libvirt.c: Use replacement getpass from Gnulib.
	* src/libvirt.c: Initialize Winsock before use.
	* src/remote_internal.c: Header file fixes for Windows.
	  Don't fail if AI_ADDRCONFIG isn't defined.  Disable
	  unsupported stuff under Windows.
	* src/uuid.c: ENODATA unavailable on Windows, use EIO instead.
	* src/virsh.c: No uid_t / getuid on Windows.
	* src/virsh.c: No O_SYNC on Windows.
2007-12-07 14:56:37 +00:00
Daniel P. Berrange
e332ccdf71 Wire up SASL interaction callbacks to libvirt callbacks. Provide default callback impl 2007-12-05 18:55:04 +00:00
Daniel P. Berrange
7fa9ceb740 Added public API for authentication credential callback support 2007-12-05 18:28:05 +00:00
Richard W.M. Jones
7a66394fcb Thu Nov 15 17:40:15 UTC 2007 Richard W.M. Jones <rjones@redhat.com>
* docs/hvsupport.html, docs/libvir.html: Document HV support
	  for virNodeGetFreeMemory and virNodeGetCellsFreeMemory.
	* src/libvirt.c: Add DEBUG to virNodeGetFreeMemory and
	  virNodeGetCellsFreeMemory.
	* src/xen_internal.c: virXenError* functions now take an
	  additional virConnectPtr argument, and set it where possible.
2007-11-15 17:44:06 +00:00
Richard W.M. Jones
88f28d6980 Wed Nov 14 11:36:00 UTC 2007 Richard W.M. Jones <rjones@redhat.com>
* src/libvirt.c and all internal driver interfaces: Parse the
	  URI only once and pass it to virDrvOpen instead of the
	  unparsed name string.
2007-11-14 11:40:57 +00:00
Daniel P. Berrange
8a0711c758 Avoiding calling remote network driver recursively if inside daemon 2007-10-27 01:23:28 +00:00
Daniel P. Berrange
b4fab30b89 Mark XML param for attach/detach APIs const 2007-10-15 21:38:56 +00:00
Daniel Veillard
ab0f561de6 Forgot one change, Daniel 2007-09-30 13:17:45 +00:00
Daniel Veillard
9f211bbf3a * include/libvirt/libvirt.h include/libvirt/libvirt.h.in
src/driver.h src/libvirt.c src/openvz_driver.c src/qemu_driver.c
  src/test.c src/xen_unified.c src/xend_internal.c: add new API
  virNodeGetFreeMemory(), extends the driver. Lacks remote and
  QEmu support though.
* src/libvirt.c: allows to fix virNodeGetCellsFreeMemory() adding
  parameter check for startCell.
* proxy/libvirt_proxy.c src/xend_internal.[ch]
  include/libvirt/libvirt.h include/libvirt/libvirt.h.in: applied
  vncpasswd dump patch from Mark Johnson but with the
  virDomainXMLFlags extension as suggested by Daniel Berrange
  this changed a couple of internal APIs too
* tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml: fix one of the
  tests affected by bootloader dump change.
Daniel
2007-09-30 13:09:07 +00:00
Daniel Veillard
4bf3bc9eda * include/libvirt/libvirt.h[.in] src/driver.h src/openvz_driver.c
src/qemu_driver.c src/remote_internal.c src/test.c
  src/xen_internal.[ch] src/xen_unified.c src/xend_internal.[ch]
  src/libvirt.c src/libvirt_sym.version: adding NUMA support patches
  from Beth Kon adding new virNodeGetCellsFreeMemory entry point
  and extending the virConnectGetCapabilities one. Fix a couple of
  issues in the patch and add to exported symbols from shared lib.
* docs/virsh.pod docs/virsh.1 src/virsh.c: added new command
  freecell to get the available memory on the node or in a NUMA cell.
* docs/*: updated and regenerated the documentation
Daniel
2007-09-28 14:28:12 +00:00
Richard W.M. Jones
415015506f Thu Sep 20 13:02:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* src/libvirt.c: Don't try to generate an error message with
        an invalid connection object.
2007-09-20 12:04:57 +00:00
Daniel Veillard
298d289542 * include/libvirt/libvirt.h include/libvirt/libvirt.h.in
src/libvirt.c: fixes a few problems in the documentation
  pointed out by Toth Istvan.
* docs/*: regenerated the docs
Daniel
2007-09-10 09:37:10 +00:00
Daniel Veillard
cb2e35b604 * configure.in libvirt.spec.in include/libvirt/libvirt.h docs/*:
preparing release of 0.3.2
* src/libvirt.c: fix a couple of comments
* po/*: string localization merge/update
Daniel
2007-08-21 14:59:47 +00:00
Richard W.M. Jones
442a15770c Tue Aug 21 10:58:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* src/libvirt.c (virDomainBlockStats, virDomainInterfaceStats):
	  Added block device and network interface statistics.
	* src/xen_internal.c: Support for stats from Xen domains.
	* qemud/remote.c, qemud/remote_protocol.x, qemud/remote_internal.c:
	  Support for fetching device and network interface stats
	  across remote connections.
	* src/virsh.c: Added 'virsh domblkstat' and 'virsh domifstat'
	  commands to display stats.
	* docs/libvir.html, docs/hvsupport.html: Updated hvsupport
	  documentation.
2007-08-21 10:08:12 +00:00
Richard W.M. Jones
81005437f4 Tue Aug 21 10:21:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* src/libvirt.c (virDomainMigrate): Added virDomainMigrate
	  API call.
	* src/xend_internal.c, src/xen_unified.c: Support for migration
	  of Xen domains.
	* src/xen_internal.c: Xen capabilities indicates level of
	  support for migration.
	* qemud/remote.c, qemud/remote_protocol.x, src/remote_internal.c:
	  Support for migration between remote hypervisors.
	* src/virsh.c: Added 'virsh migrate' command.
	* docs/libvir.html, docs/hvsupport.html: Updated hvsupport
	  documentation.
2007-08-21 09:31:12 +00:00
Richard W.M. Jones
19e21d8672 Tue Aug 21 09:56:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* qemud/remote.c, qemud/remote_protocol.x, src/driver.h,
          src/internal.h, src/libvirt.c, src/libvirt_sym.version,
          src/qemu_driver.c, src/remote_internal.c, src/test.c:
          Add a private interface so that libvirt.c coordination
          functions can detect the availability of features in
          underlying drivers, using the VIR_DRV_SUPPORTS_FEATURE
          macro.
2007-08-21 09:03:55 +00:00
Daniel P. Berrange
46b433f069 Cleanup UUID apis & constants 2007-08-09 20:19:12 +00:00
Daniel P. Berrange
4e01a607e4 Re-work test driver to implement (nearly) all APIs 2007-07-27 23:23:00 +00:00
Daniel Veillard
3edb4bc9fb * libvirt.spec.in NEWS docs/* po/*: preparing release 0.3.1
* src/libvirt.c python/generator.py: some cleanup and warnings
  from Richard W.M. Jones
Daniel
2007-07-24 15:32:55 +00:00
Daniel Veillard
36e975dd4f * src/openvz_conf.c src/libvirt.c: cleanup, avoid some warnings,
and reuse the existing uuid generation function.
Daniel
2007-07-17 14:40:26 +00:00
Daniel Veillard
b55718444f * configure.in src/Makefile.am src/driver.h src/libvirt.c:
applied patch from Shuveb Hussain to plug the developping
  OpenVZ support. Disabled by default.
* src/openvz_conf.[ch] src/openvz_driver.[ch]: added new
  OpenVZ driver files. Avoid a redefinition of readline().
Daniel
2007-07-17 13:27:26 +00:00
Richard W.M. Jones
65a466b551 Thu Jul 12 09:34:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* src/libvirt.c, src/xen_unified.c: If compiled with
	  --enable-debug=yes then we now trace libvirt calls on
	  stderr.
2007-07-12 08:34:51 +00:00
Richard W.M. Jones
f1f70e5099 Fri Jul 6 16:19:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* src/libvirt.c, src/qemu_driver.c: If the virNetworkLookup*
	  functions cannot find a network, then they now throw
	  VIR_ERR_NO_NETWORK error.
2007-07-06 15:20:38 +00:00
Richard W.M. Jones
b26376750e Fri Jul 6 15:54:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* include/libvirt/virterror.h, src/virterror.c, src/libvirt.c:
	  Add VIR_ERR_NO_DOMAIN and VIR_ERR_NO_NETWORK errors, which
	  indicate that there is no domain/network from vir*Lookup* functions.
	* src/qemu_driver.c: Use VIR_ERR_NO_DOMAIN in lookup functions.
	* src/test.c: Use VIR_ERR_NO_DOMAIN in lookup functions.
2007-07-06 14:56:15 +00:00
Daniel P. Berrange
34908a6a1e move conversion of NULL & xen URIs into libvirt.c 2007-07-05 13:49:17 +00:00
Daniel Veillard
b4c282a79b * docs/apibuild.py docs/newapi.xsl: fix generation of XML and
stylesheet
* docs/*: regenerated
* src/bridge.c src/bridge.h src/buf.c src/iptables.c src/libvirt.c
  src/qemu_driver.c src/qemu_driver.h src/uuid.c src/uuid.h: cleanup,
  addd comments, made functions static and fixe a few bugs
Daniel
2007-06-29 13:23:13 +00:00
Daniel P. Berrange
a07f0a00da Move the QEMU driver & utility files from qemud/ to src/ 2007-06-27 00:12:29 +00:00
Daniel P. Berrange
a78a6602df Move QEMU driver into main libvirt.so and use single daemon for all drivers 2007-06-26 23:48:46 +00:00
Daniel P. Berrange
70da0494c1 Add driver API for global startup/shutdown/reload hooks 2007-06-26 22:56:14 +00:00
Richard W.M. Jones
2be812bbc9 Tue Jun 26 12:40:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* include/libvirt/libvirt.h.in, src/libvirt.c: (and numerous
	  other files) Added support for virConnectGetHostname
	  and virConnectGetURI calls.
2007-06-26 11:42:46 +00:00
Richard W.M. Jones
aa053ba2c5 Mon Jun 25 16:55:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* include/libvirt/libvirt.h.in, src/libvirt.c, src/libvirt_sym.version,
	  python/generator.py: Added virDomainGetConnect and
	  virNetworkGetConnect to allow us to get the "hidden"
	  connection associated with each domain or network.
2007-06-25 15:56:18 +00:00
Richard W.M. Jones
56cd4140d4 Mon Jun 25 09:19:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* qemud/remote.c, src/remote_internal.c: Fix virDomainGetVcpus
	  in the remote case.
	* src/libvirt.c: Allow virConnectListDomains,
	  virConnectListDefinedDomains, virConnectListNetworks and
	  virConnectListDefinedNetworks to work in the case where
	  they are called with maxids/maxnames == 0.
	* src/remote_internal.c: Fix virDomainGetMaxVcpus in remote
	  case so that it copies sufficient data.
	* src/xen_unified.c: Remove autostart functions.
2007-06-25 08:23:10 +00:00
Richard W.M. Jones
e2df281e6c Wed Jun 20 18:23:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* src/libvirt.c, src/qemu_internal.c, src/test.c,
	  src/xen_unified.c, src/xend_internal.c,
	  src/libvirt.c, include/libvirt/virterror.h:
	  VIR_ERR_NO_SUPPORT means the function is not supported by
	  the hypervisor.  VIR_ERR_NO_CONNECT means the connection
	  failed.  VIR_ERR_CALL_FAILED is deprecated.  Drivers which
	  decline a URI now no longer produce an error.  Make
	  xen_unified.c ignore naked URI strings like "foo".
2007-06-20 17:25:39 +00:00
Richard W.M. Jones
2958900d22 Wed Jun 20 10:54:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* src/libvirt.c src/test.c src/xen_unified.c: Fix URI processing
	  so that local file URIs work again.  Move remote driver to
	  last in the list, and fix all drivers so they decline remote
	  URIs (Daniel Berrange).
2007-06-20 10:01:14 +00:00
Richard W.M. Jones
b7c42619e6 Mon Jun 11 12:41:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* src/remote_internal.c, src/remote_internal.h,
	  src/driver.h, src/libvirt.c, src/Makefile.am: Client side
	  of the remote patch - adds a remote driver.
2007-06-11 11:43:41 +00:00
Daniel Veillard
2a10972010 * src/libvirt.c: do not die if the daemon is not running on a Xen
system (shows up as root only) and emit a warning instead
* src/virterror.c include/libvirt/virterror.h docs/*: add
  the new warning.
Daniel
2007-06-07 13:05:00 +00:00
Daniel Veillard
652f3bb13b * include/libvirt/libvirt.h include/libvirt/libvirt.h.in
src/driver.h src/libvirt.c src/libvirt_sym.version
  src/proxy_internal.c src/qemu_internal.c src/test.c
  src/virsh.c src/xen_internal.c src/xen_internal.h src/xen_unified.c
  src/xend_internal.c src/xm_internal.c src/xs_internal.c:
  Applied patches from Atsushi SAKAI to add the scheduler API,
  with patch from Rich Jones for error handing, and a number
  of cleanups and more error checking from me
Daniel
2007-06-05 12:06:08 +00:00
Richard W.M. Jones
3bcd26e6d2 +Tue May 29 15:56:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
+
+       * python/generator.py, python/libvir.c, python/libvir.py:
+         Wrap the virGetVersion call as Python libvirt.getVersion.
+
+       * src/libvirt.c: Change virGetVersion so that the driver name
+         is case insensitive.
+
2007-05-29 14:58:27 +00:00
Richard W.M. Jones
5b74f3c2cd Wed May 2 18:42:00 BST 2007 Richard Jones <rjones@redhat.com>
* src/libvirt.c, src/qemu_internal.c: Allow network
	  drivers to DECLINE to take accept a call.  Only fail
	  outright if the network driver reports an error.
	* src/qemu_internal.c (qemuNetworkOpen): Fix path to
	  driver used in the non-root case.
2007-05-02 17:40:00 +00:00
Richard W.M. Jones
94033dd73f Mon Apr 30 18:33:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* src/libvirt.c, src/driver.h, src/proxy_internal.c,
	  src/qemu_internal.c, src/test.c, src/xen_internal.c,
	  src/xend_internal.c, src/xs_internal.c,
	  proxy/libvirt_proxy.c: Remove VIR_DRV_OPEN_QUIET.
2007-04-30 17:30:11 +00:00
Richard W.M. Jones
68c6d74fa1 Mon Apr 30 17:58:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* src/libvirt.c (virConnectNumOfDefinedDomains): Documentation
	  fix (thanks to Jan Michael).
2007-04-30 16:55:34 +00:00
Richard W.M. Jones
dbcc662ea3 Wed Apr 18 11:12:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* src/test.c, src/libvirt.c, src/virterror.c,
	  include/libvirt/virterror.h: Add a VIR_FROM_TEST error class
	  and ensure that test driver errors are from this class.
	  Tidy up the error messages generated by the test driver when
	  user doesn't add a path to the URL and avoid open ("/").
2007-04-18 10:14:07 +00:00
Richard W.M. Jones
dfe570a9ef Thu Apr 12 15:18:00 BST 2007 Richard Jones <rjones@redhat.com>
* src/libvirt.c: set VIR_CONNECT_RO on read-only connections.
          Patch by S.Sakamoto.
2007-04-12 14:18:39 +00:00
Richard W.M. Jones
18cd1a1e57 Wed Apr 4 15:18:00 BST 2007 Richard W.M. Jones <rjones@redhat.com>
* src/xen_unified.c et al: Unified Xen driver.  Architecture
	  described here:
	  https://www.redhat.com/archives/libvir-list/2007-March/msg00396.html
2007-04-04 14:19:49 +00:00
Daniel Veillard
fb624fbecf * qemud/iptables.c qemud/qemud.c src/conf.c src/hash.c src/libvirt.c
src/virsh.c src/xm_internal.c: change malloc/memset(0) pairs to
  using calloc()
Daniel
2007-03-22 18:30:57 +00:00
Daniel Veillard
7bdee4adef * src/libvirt.c: patch from Atsushi SAKAI, fixing virsh access
as root when libvirt_qemud is not running
* TODO: updated
Daniel
2007-03-19 10:15:52 +00:00
Daniel Veillard
635ae38979 * include/libvirt/libvirt.h[.in] include/libvirt/virterror.h
proxy/libvirt_proxy.c qemud/Makefile.am qemud/conf.c qemud/conf.h
  qemud/dispatch.c qemud/internal.h qemud/protocol.h
  src/driver.h src/internal.h src/libvirt.c src/libvirt_sym.version
  src/proxy_internal.c src/proxy_internal.h src/qemu_internal.c
  src/test.c src/virsh.c src/virterror.c src/xen_internal.c
  src/xen_internal.h src/xend_internal.c src/xm_internal.c
  src/xml.h src/xs_internal.c: applied patch from Richard Jones
  adding virConnectGetCapabilities(), plus various small little
  fixes
* docs/*: fixed the api extractor script and regenerated
Daniel
2007-03-15 17:24:56 +00:00
Daniel Veillard
181ce1fdc6 * configure.in proxy/Makefile.am proxy/libvirt_proxy.c
src/Makefile.am src/libvirt.c src/qemu_internal.c src/test.c
  src/xen_internal.c src/xen_internal.h src/xend_internal.c
  src/xm_internal.c src/xml.c src/xs_internal.c
  tests/Makefile.am tests/sexpr2xmltest.c tests/xmconfigtest.c:
  allow selective compilation of Xen,QEmu/KVM and test support
  in or out at configure time. Also allows to compile on a system
  without Xen development installed. All drivers are selected by
  default.
Daniel
2007-03-15 07:43:16 +00:00
Daniel P. Berrange
f30b84f901 Refactored driver reg to avoid type-punning 2007-03-08 14:53:41 +00:00
Daniel Veillard
b412cfadb5 * include/libvirt/libvirt.h include/libvirt/libvirt.h.in
src/driver.h src/libvirt.c src/libvirt_sym.version
  src/proxy_internal.c src/qemu_internal.c src/test.c src/virsh.c
  src/xen_internal.c src/xen_internal.h src/xend_internal.c
  src/xm_internal.c src/xs_internal.c: applied patch from
  Masayuki Sunou to add and entry point to check the maximum
  number of virtual CPU supported by a virtualization mechanism
* doc/*.html doc/libvirt-*.xml: regenerated the interfaces descriptions
  and associated docs.
Daniel
2007-03-08 08:31:07 +00:00
Daniel P. Berrange
d6db609d74 Fixed up numerous compiler warnings 2007-03-06 21:55:44 +00:00
Mark McLoughlin
57a1819881 Fri Feb 23 08:49:12 IST 2007 Mark McLoughlin <markmc@redhat.com>
* include/libvirt/libvirt.h.in, src/libvirt.c add
        virDomainGetAutostart(), virDomainSetAutostart(),
        virNetworkGetAutostart() and virNetworkSetAutostart().

        * src/libvirt_sym.version: export the API

        * src/driver.h: add methods to the driver vtables.

        * src/proxy_internal.c, src/qemu_internal.c,
          src/test.c, src/xen_internal.c, src/xend_internal.c,
          src/xm_internal.c, src/xs_internal.c: set those
        methods to NULL
2007-02-23 08:51:30 +00:00
Mark McLoughlin
8356c43e42 Tue Feb 14 16:17:51 IST 2007 Mark McLoughlin <markmc@redhat.com>
* include/libvirt/libvirt.h.in, src/libvirt.c: add
        virNetworkGetBridgeName() to allow finding out what
        bridge to connect to in order to join a network.

        * src/driver.h: add networkGetBridgeName() to vtable.

        * qemud/protocol.h: add the request and reply to
        the qemud protocol.

        * qemud/dispatch.c, qemud/driver.[ch]: handle them
        here.

        * src/qemu_internal.c: implement GetBridgeName()
        in the qemu driver.

        * src/libvirt_sym.version: add new symbol.
2007-02-14 16:20:38 +00:00
Mark McLoughlin
8ce3203ad3 Tue Feb 14 15:37:17 EST 2007 Mark McLoughlin <markmc@redhat.com>
Note: potential ABI break here, but people should
        only really be using virError structs returned from
        libvirt itself.

        * include/libvirt/virterror.h: add virNetwork
        to virError

        * src/internal.h, src/virterror.c: add network param
        to __virRaiseError()

        * src/conf.c, src/hash.c, src/libvirt.c, src/proxy_internal.c,
        src/qemu_internal.c, src/sexpr.c, src/test.c, src/xen_internal.c,
        src/xend_internal.c, src/xm_internal.c, src/xml.c, src/xmlrpc.c,
        src/xs_internal.c: update.
2007-02-14 15:40:53 +00:00
Mark McLoughlin
5be54b40cb Tue Feb 14 15:33:05 EST 2007 Mark McLoughlin <markmc@redhat.com>
* include/libvirt/libvirt.h.in: add the networks APIs

        * include/libvirt/virterror.h: add some error codes

        * src/driver.h: add network driver vtable

        * src/hash.c: add networks hash

        * src/internal.h: add virNetwork

        * src/libvirt.c: hook up the APIs to the network
        driver

        * src/libvirt_sym.version: add the new APIs

        * src/virterror.c: handle the new error codes
2007-02-14 15:37:18 +00:00
Daniel P. Berrange
23ad665cb0 Added QEMU support 2007-02-14 01:40:09 +00:00
Mark McLoughlin
6d153563be Mon Jan 23 14:36:18 IST 2007 Mark McLoughlin <markmc@redhat.com>
* include/libvirt/libvirt.h.in: add VIR_UUID_BUFLEN and
        VIR_UUID_STRING_BUFLEN

        * libvirt/proxy/libvirt_proxy.c, libvirt/src/hash.c,
        libvirt/src/internal.h, libvirt/src/libvirt.c,
        libvirt/src/proxy_internal.c, libvirt/src/test.c,
        libvirt/src/virsh.c, libvirt/src/xend_internal.c,
        libvirt/src/xm_internal.c, libvirt/src/xml.c,
        libvirt/python/libvir.c: use them
2007-01-23 14:39:45 +00:00
Mark McLoughlin
e9371d1a46 Mon Jan 22 16:23:52 IST 2007 Mark McLoughlin <markmc@redhat.com>
* src/internal.h: virDomain.handle refers to the "id"
	in the API, so re-name to virDomain.id to avoid
	confusion.

	* src/hash.c, src/libvirt.c, src/proxy_internal.c, src/test.c,
	src/xen_internal.c, src/xend_internal.c, src/xm_internal.c,
	src/xml.c, src/xs_internal.c: update for rename.
2007-01-22 16:25:27 +00:00
Daniel Veillard
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
Daniel P. Berrange
f991089ce4 Support for inactive domain management 2006-11-16 19:06:13 +00:00
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel P. Berrange
e8e5844089 Added support for i18n translation with gettext 2006-09-21 15:24:37 +00:00
Daniel P. Berrange
25726a0ff4 Added driver backends for ListDefinedDomains, NumOfDefinedDomains, DomainStart, DomainDefineXML, DomainUndefine & hooked up all related infrastructure 2006-08-30 14:21:03 +00:00
Daniel P. Berrange
bfd5060347 Make drivers be 'quiet' when opening RW connection. Removed duplicated RO checks 2006-08-16 16:29:46 +00:00
Daniel Veillard
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
Daniel P. Berrange
e1ec9651a2 Fixup handling of HVM boot preference, and include HVM cdrom/floppy in main device list 2006-08-11 14:40:04 +00:00
Daniel P. Berrange
098e0a4bdc Hook up virDomainGetXMLDesc to driver backends. Added implementation of virDomainGetXMLDesc driver for the setuid proxy 2006-08-09 15:21:16 +00:00
Daniel Veillard
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
Daniel P. Berrange
f7e0594f87 Added vcpuinfo vcpupin commands to virsh. Fixed off by one bug in virDomainVcpuPin method 2006-08-07 14:35:20 +00:00
Daniel Veillard
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
Daniel P. Berrange
53161d7cb2 Bulk replace 'informations' with 'information' 2006-07-19 22:24:37 +00:00
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel P. Berrange
5cc5f540f0 Connect up domain destroy, suspend, resume, reboot, shutdown methods to driver backends 2006-06-14 17:07:00 +00:00
Daniel Veillard
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
Daniel Veillard
ef61dba0dc * src/libvirt.c: Daniel P. Berrange pointed out a bug in virConnectOpen
Daniel
2006-06-14 13:03:04 +00:00
Daniel Veillard
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
Daniel Veillard
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
Daniel P. Berrange
e5bb0cb052 Added 'mock' hypervisor driver for use by unit tests 2006-06-06 03:32:51 +00:00
Daniel Veillard
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
Karel Zak
624505349d UUID utils, virsh cleanup, ... 2006-05-22 14:38:33 +00:00
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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
Daniel Veillard
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