summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Veillard <veillard@redhat.com>2009-04-24 16:25:34 +0000
committerDaniel Veillard <veillard@redhat.com>2009-04-24 16:25:34 +0000
commit8e00488f1334e5acb01ca9bac5b4f73a6565d48a (patch)
tree962854aa7174e286f863e3a09169cc76239c32ca
parentebd5a51c1041f23fa8343296b4422f987f69a06e (diff)
downloadlibvirt-python-v6-libvirt-0.6.3-5.el5.tar.gz
libvirt-python-v6-libvirt-0.6.3-5.el5.tar.xz
libvirt-python-v6-libvirt-0.6.3-5.el5.zip
- Upstream release 0.6.3 - various bug fixes - a couple of packaging fixes including #496867 - Related: rhbz#475821
-rw-r--r--.cvsignore15
-rw-r--r--Makefile.in1235
-rw-r--r--libvirt-py.c2011
-rw-r--r--libvirt-py.h111
-rw-r--r--libvirt.py1746
-rw-r--r--tests/.cvsignore2
-rw-r--r--tests/Makefile.in902
7 files changed, 6005 insertions, 17 deletions
diff --git a/.cvsignore b/.cvsignore
deleted file mode 100644
index db6c706..0000000
--- a/.cvsignore
+++ /dev/null
@@ -1,15 +0,0 @@
-Makefile
-Makefile.in
-.deps
-.libs
-*.lo
-*.la
-*.loT
-libvirt.py
-libvirt-export.c
-libvirtclass.txt
-libvirt-py.[ch]
-libvirtclass.py
-gen_prog
-*.pyc
-generated.stamp
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 0000000..017dd46
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,1235 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# Makefile for libvirt python library
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = python
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in TODO
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/gnulib/m4/00gnulib.m4 \
+ $(top_srcdir)/gnulib/m4/alloca.m4 \
+ $(top_srcdir)/gnulib/m4/arpa_inet_h.m4 \
+ $(top_srcdir)/gnulib/m4/close.m4 \
+ $(top_srcdir)/gnulib/m4/errno_h.m4 \
+ $(top_srcdir)/gnulib/m4/extensions.m4 \
+ $(top_srcdir)/gnulib/m4/fclose.m4 \
+ $(top_srcdir)/gnulib/m4/float_h.m4 \
+ $(top_srcdir)/gnulib/m4/fseeko.m4 \
+ $(top_srcdir)/gnulib/m4/getaddrinfo.m4 \
+ $(top_srcdir)/gnulib/m4/getdelim.m4 \
+ $(top_srcdir)/gnulib/m4/gethostname.m4 \
+ $(top_srcdir)/gnulib/m4/getline.m4 \
+ $(top_srcdir)/gnulib/m4/getpass.m4 \
+ $(top_srcdir)/gnulib/m4/gettimeofday.m4 \
+ $(top_srcdir)/gnulib/m4/gnulib-common.m4 \
+ $(top_srcdir)/gnulib/m4/gnulib-comp.m4 \
+ $(top_srcdir)/gnulib/m4/hostent.m4 \
+ $(top_srcdir)/gnulib/m4/include_next.m4 \
+ $(top_srcdir)/gnulib/m4/inet_ntop.m4 \
+ $(top_srcdir)/gnulib/m4/inet_pton.m4 \
+ $(top_srcdir)/gnulib/m4/intmax_t.m4 \
+ $(top_srcdir)/gnulib/m4/inttypes_h.m4 \
+ $(top_srcdir)/gnulib/m4/longlong.m4 \
+ $(top_srcdir)/gnulib/m4/lseek.m4 \
+ $(top_srcdir)/gnulib/m4/lstat.m4 \
+ $(top_srcdir)/gnulib/m4/malloc.m4 \
+ $(top_srcdir)/gnulib/m4/mkstemp.m4 \
+ $(top_srcdir)/gnulib/m4/multiarch.m4 \
+ $(top_srcdir)/gnulib/m4/netdb_h.m4 \
+ $(top_srcdir)/gnulib/m4/netinet_in_h.m4 \
+ $(top_srcdir)/gnulib/m4/onceonly.m4 \
+ $(top_srcdir)/gnulib/m4/perror.m4 \
+ $(top_srcdir)/gnulib/m4/physmem.m4 \
+ $(top_srcdir)/gnulib/m4/po.m4 $(top_srcdir)/gnulib/m4/poll.m4 \
+ $(top_srcdir)/gnulib/m4/posix-shell.m4 \
+ $(top_srcdir)/gnulib/m4/printf.m4 \
+ $(top_srcdir)/gnulib/m4/random_r.m4 \
+ $(top_srcdir)/gnulib/m4/realloc.m4 \
+ $(top_srcdir)/gnulib/m4/servent.m4 \
+ $(top_srcdir)/gnulib/m4/snprintf.m4 \
+ $(top_srcdir)/gnulib/m4/sockets.m4 \
+ $(top_srcdir)/gnulib/m4/socklen.m4 \
+ $(top_srcdir)/gnulib/m4/sockpfaf.m4 \
+ $(top_srcdir)/gnulib/m4/stdbool.m4 \
+ $(top_srcdir)/gnulib/m4/stdint.m4 \
+ $(top_srcdir)/gnulib/m4/stdint_h.m4 \
+ $(top_srcdir)/gnulib/m4/stdio_h.m4 \
+ $(top_srcdir)/gnulib/m4/stdlib_h.m4 \
+ $(top_srcdir)/gnulib/m4/stpcpy.m4 \
+ $(top_srcdir)/gnulib/m4/strdup.m4 \
+ $(top_srcdir)/gnulib/m4/strerror.m4 \
+ $(top_srcdir)/gnulib/m4/string_h.m4 \
+ $(top_srcdir)/gnulib/m4/strndup.m4 \
+ $(top_srcdir)/gnulib/m4/strnlen.m4 \
+ $(top_srcdir)/gnulib/m4/strsep.m4 \
+ $(top_srcdir)/gnulib/m4/sys_ioctl_h.m4 \
+ $(top_srcdir)/gnulib/m4/sys_select_h.m4 \
+ $(top_srcdir)/gnulib/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gnulib/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gnulib/m4/sys_time_h.m4 \
+ $(top_srcdir)/gnulib/m4/tempname.m4 \
+ $(top_srcdir)/gnulib/m4/time_h.m4 \
+ $(top_srcdir)/gnulib/m4/time_r.m4 \
+ $(top_srcdir)/gnulib/m4/unistd_h.m4 \
+ $(top_srcdir)/gnulib/m4/vasnprintf.m4 \
+ $(top_srcdir)/gnulib/m4/vasprintf.m4 \
+ $(top_srcdir)/gnulib/m4/wchar.m4 \
+ $(top_srcdir)/m4/compiler-flags.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \
+ $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
+ $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(pythondir)"
+pythonLTLIBRARIES_INSTALL = $(INSTALL)
+LTLIBRARIES = $(python_LTLIBRARIES)
+@WITH_PYTHON_TRUE@libvirtmod_la_DEPENDENCIES = $(mylibs)
+am__libvirtmod_la_SOURCES_DIST = libvir.c types.c libvirt-py.c \
+ libvirt-py.h
+@WITH_PYTHON_TRUE@am_libvirtmod_la_OBJECTS = libvirtmod_la-libvir.lo \
+@WITH_PYTHON_TRUE@ libvirtmod_la-types.lo \
+@WITH_PYTHON_TRUE@ libvirtmod_la-libvirt-py.lo
+libvirtmod_la_OBJECTS = $(am_libvirtmod_la_OBJECTS)
+libvirtmod_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libvirtmod_la_CFLAGS) \
+ $(CFLAGS) $(libvirtmod_la_LDFLAGS) $(LDFLAGS) -o $@
+@WITH_PYTHON_TRUE@am_libvirtmod_la_rpath = -rpath $(pythondir)
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
+am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
+SOURCES = $(libvirtmod_la_SOURCES)
+DIST_SOURCES = $(am__libvirtmod_la_SOURCES_DIST)
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+ html-recursive info-recursive install-data-recursive \
+ install-dvi-recursive install-exec-recursive \
+ install-html-recursive install-info-recursive \
+ install-pdf-recursive install-ps-recursive install-recursive \
+ installcheck-recursive installdirs-recursive pdf-recursive \
+ ps-recursive uninstall-recursive
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
+AMTAR = @AMTAR@
+APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+AR = @AR@
+ARPA_INET_H = @ARPA_INET_H@
+AS = @AS@
+AUGPARSE = @AUGPARSE@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AVAHI_CFLAGS = @AVAHI_CFLAGS@
+AVAHI_LIBS = @AVAHI_LIBS@
+AWK = @AWK@
+BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
+BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
+BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
+BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
+BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+BRCTL = @BRCTL@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+COMPILER_FLAGS = @COMPILER_FLAGS@
+COVERAGE_CFLAGS = @COVERAGE_CFLAGS@
+COVERAGE_LDFLAGS = @COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+CYGWIN_EXTRA_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@
+CYGWIN_EXTRA_LIBADD = @CYGWIN_EXTRA_LIBADD@
+CYGWIN_EXTRA_PYTHON_LIBADD = @CYGWIN_EXTRA_PYTHON_LIBADD@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DEVKIT_CFLAGS = @DEVKIT_CFLAGS@
+DEVKIT_LIBS = @DEVKIT_LIBS@
+DLLTOOL = @DLLTOOL@
+DNSMASQ = @DNSMASQ@
+DRIVER_MODULES_CFLAGS = @DRIVER_MODULES_CFLAGS@
+DRIVER_MODULES_LIBS = @DRIVER_MODULES_LIBS@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
+EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
+ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
+ENOLINK_VALUE = @ENOLINK_VALUE@
+EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
+EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
+ERRNO_H = @ERRNO_H@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FLOAT_H = @FLOAT_H@
+GETADDRINFO_LIB = @GETADDRINFO_LIB@
+GLIB2_CFLAGS = @GLIB2_CFLAGS@
+GLIB2_LIBS = @GLIB2_LIBS@
+GMSGFMT = @GMSGFMT@
+GNULIB_ACCEPT = @GNULIB_ACCEPT@
+GNULIB_ATOLL = @GNULIB_ATOLL@
+GNULIB_BIND = @GNULIB_BIND@
+GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CHOWN = @GNULIB_CHOWN@
+GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_CONNECT = @GNULIB_CONNECT@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_ENVIRON = @GNULIB_ENVIRON@
+GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
+GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@
+GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
+GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
+GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
+GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
+GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
+GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
+GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
+GNULIB_INET_PTON = @GNULIB_INET_PTON@
+GNULIB_IOCTL = @GNULIB_IOCTL@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
+GNULIB_LCHOWN = @GNULIB_LCHOWN@
+GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LISTEN = @GNULIB_LISTEN@
+GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
+GNULIB_MBRLEN = @GNULIB_MBRLEN@
+GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
+GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
+GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
+GNULIB_MBSCHR = @GNULIB_MBSCHR@
+GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
+GNULIB_MBSINIT = @GNULIB_MBSINIT@
+GNULIB_MBSLEN = @GNULIB_MBSLEN@
+GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
+GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
+GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
+GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
+GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
+GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
+GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
+GNULIB_MBSSEP = @GNULIB_MBSSEP@
+GNULIB_MBSSPN = @GNULIB_MBSSPN@
+GNULIB_MBSSTR = @GNULIB_MBSSTR@
+GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MEMMEM = @GNULIB_MEMMEM@
+GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
+GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
+GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_RECV = @GNULIB_RECV@
+GNULIB_RECVFROM = @GNULIB_RECVFROM@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SELECT = @GNULIB_SELECT@
+GNULIB_SEND = @GNULIB_SEND@
+GNULIB_SENDTO = @GNULIB_SENDTO@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
+GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
+GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SOCKET = @GNULIB_SOCKET@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
+GNULIB_STPCPY = @GNULIB_STPCPY@
+GNULIB_STPNCPY = @GNULIB_STPNCPY@
+GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
+GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
+GNULIB_STRDUP = @GNULIB_STRDUP@
+GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRNDUP = @GNULIB_STRNDUP@
+GNULIB_STRNLEN = @GNULIB_STRNLEN@
+GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRSEP = @GNULIB_STRSEP@
+GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
+GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WRITE = @GNULIB_WRITE@
+GNUTLS_CFLAGS = @GNUTLS_CFLAGS@
+GNUTLS_LIBS = @GNUTLS_LIBS@
+GREP = @GREP@
+HAL_CFLAGS = @HAL_CFLAGS@
+HAL_LIBS = @HAL_LIBS@
+HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
+HAVE_ATOLL = @HAVE_ATOLL@
+HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
+HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@
+HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@
+HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@
+HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
+HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
+HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
+HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
+HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
+HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
+HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
+HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
+HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
+HAVE_DUP2 = @HAVE_DUP2@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
+HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LINK = @HAVE_LINK@
+HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
+HAVE_MBRLEN = @HAVE_MBRLEN@
+HAVE_MBRTOWC = @HAVE_MBRTOWC@
+HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
+HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_NETDB_H = @HAVE_NETDB_H@
+HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
+HAVE_OS_H = @HAVE_OS_H@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
+HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
+HAVE_READLINK = @HAVE_READLINK@
+HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SETENV = @HAVE_SETENV@
+HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
+HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
+HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
+HAVE_SLEEP = @HAVE_SLEEP@
+HAVE_STDINT_H = @HAVE_STDINT_H@
+HAVE_STPCPY = @HAVE_STPCPY@
+HAVE_STPNCPY = @HAVE_STPNCPY@
+HAVE_STRCASESTR = @HAVE_STRCASESTR@
+HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRNDUP = @HAVE_STRNDUP@
+HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
+HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
+HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
+HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
+HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
+HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
+HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNSETENV = @HAVE_UNSETENV@
+HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
+HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
+HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
+HAVE__BOOL = @HAVE__BOOL@
+HOSTENT_LIB = @HOSTENT_LIB@
+HTML_DIR = @HTML_DIR@
+INCLUDE_NEXT = @INCLUDE_NEXT@
+INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+IPTABLES_PATH = @IPTABLES_PATH@
+ISCSIADM = @ISCSIADM@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBOBJS = @LIBOBJS@
+LIBPARTED_CFLAGS = @LIBPARTED_CFLAGS@
+LIBPARTED_LIBS = @LIBPARTED_LIBS@
+LIBS = @LIBS@
+LIBSOCKET = @LIBSOCKET@
+LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTOOL = @LIBTOOL@
+LIBVIRT_MAJOR_VERSION = @LIBVIRT_MAJOR_VERSION@
+LIBVIRT_MICRO_VERSION = @LIBVIRT_MICRO_VERSION@
+LIBVIRT_MINOR_VERSION = @LIBVIRT_MINOR_VERSION@
+LIBVIRT_VERSION = @LIBVIRT_VERSION@
+LIBVIRT_VERSION_INFO = @LIBVIRT_VERSION_INFO@
+LIBVIRT_VERSION_NUMBER = @LIBVIRT_VERSION_NUMBER@
+LIBXML_CFLAGS = @LIBXML_CFLAGS@
+LIBXML_LIBS = @LIBXML_LIBS@
+LN_S = @LN_S@
+LOKKIT_PATH = @LOKKIT_PATH@
+LTALLOCA = @LTALLOCA@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LVCREATE = @LVCREATE@
+LVREMOVE = @LVREMOVE@
+LVS = @LVS@
+LV_LIBTOOL_OBJDIR = @LV_LIBTOOL_OBJDIR@
+MAKEINFO = @MAKEINFO@
+MINGW_EXTRA_LDFLAGS = @MINGW_EXTRA_LDFLAGS@
+MKDIR_P = @MKDIR_P@
+MKINSTALLDIRS = @MKINSTALLDIRS@
+MODPROBE = @MODPROBE@
+MOUNT = @MOUNT@
+MSGFMT = @MSGFMT@
+MSGMERGE = @MSGMERGE@
+MV = @MV@
+NETDB_H = @NETDB_H@
+NETINET_IN_H = @NETINET_IN_H@
+NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
+NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FLOAT_H = @NEXT_FLOAT_H@
+NEXT_NETDB_H = @NEXT_NETDB_H@
+NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
+NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
+NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
+NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
+NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
+NEXT_TIME_H = @NEXT_TIME_H@
+NEXT_UNISTD_H = @NEXT_UNISTD_H@
+NEXT_WCHAR_H = @NEXT_WCHAR_H@
+NUMACTL_CFLAGS = @NUMACTL_CFLAGS@
+NUMACTL_LIBS = @NUMACTL_LIBS@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PARTED = @PARTED@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+POLKIT_AUTH = @POLKIT_AUTH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POLL_H = @POLL_H@
+POSIX_SHELL = @POSIX_SHELL@
+POSUB = @POSUB@
+PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PREFERABLY_POSIX_SHELL = @PREFERABLY_POSIX_SHELL@
+PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
+PVCREATE = @PVCREATE@
+PVREMOVE = @PVREMOVE@
+PVS = @PVS@
+PYTHON = @PYTHON@
+PYTHON_INCLUDES = @PYTHON_INCLUDES@
+PYTHON_SITE_PACKAGES = @PYTHON_SITE_PACKAGES@
+PYTHON_VERSION = @PYTHON_VERSION@
+QCOW_CREATE = @QCOW_CREATE@
+QEMU_IMG = @QEMU_IMG@
+RANLIB = @RANLIB@
+READLINE_CFLAGS = @READLINE_CFLAGS@
+REMOTE_PID_FILE = @REMOTE_PID_FILE@
+REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CHOWN = @REPLACE_CHOWN@
+REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MBRLEN = @REPLACE_MBRLEN@
+REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
+REPLACE_MBSINIT = @REPLACE_MBSINIT@
+REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
+REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
+REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRDUP = @REPLACE_STRDUP@
+REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRPTIME = @REPLACE_STRPTIME@
+REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
+REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
+REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WRITE = @REPLACE_WRITE@
+RM = @RM@
+RPCGEN = @RPCGEN@
+SASL_CFLAGS = @SASL_CFLAGS@
+SASL_LIBS = @SASL_LIBS@
+SED = @SED@
+SELINUX_CFLAGS = @SELINUX_CFLAGS@
+SELINUX_LIBS = @SELINUX_LIBS@
+SERVENT_LIB = @SERVENT_LIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SHOWMOUNT = @SHOWMOUNT@
+SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
+SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STATIC_BINARIES = @STATIC_BINARIES@
+STDBOOL_H = @STDBOOL_H@
+STDINT_H = @STDINT_H@
+STRIP = @STRIP@
+SYS_IOCTL_H = @SYS_IOCTL_H@
+SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
+SYS_SELECT_H = @SYS_SELECT_H@
+SYS_SOCKET_H = @SYS_SOCKET_H@
+SYS_STAT_H = @SYS_STAT_H@
+SYS_TIME_H = @SYS_TIME_H@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TAR = @TAR@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+U = @U@
+UDEVADM = @UDEVADM@
+UDEVSETTLE = @UDEVSETTLE@
+UMOUNT = @UMOUNT@
+UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+VERSION_SCRIPT_FLAGS = @VERSION_SCRIPT_FLAGS@
+VGCHANGE = @VGCHANGE@
+VGCREATE = @VGCREATE@
+VGREMOVE = @VGREMOVE@
+VGS = @VGS@
+VGSCAN = @VGSCAN@
+VIRSH_LIBS = @VIRSH_LIBS@
+VOID_UNSETENV = @VOID_UNSETENV@
+WARN_CFLAGS = @WARN_CFLAGS@
+WARN_PYTHON_CFLAGS = @WARN_PYTHON_CFLAGS@
+WCHAR_H = @WCHAR_H@
+WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
+WINDRES = @WINDRES@
+WINT_T_SUFFIX = @WINT_T_SUFFIX@
+XEN_CFLAGS = @XEN_CFLAGS@
+XEN_LIBS = @XEN_LIBS@
+XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_aux_dir = @abs_aux_dir@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+gl_LIBOBJS = @gl_LIBOBJS@
+gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJS = @gltests_LIBOBJS@
+gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = . tests
+INCLUDES = \
+ $(WARN_CFLAGS) \
+ -I$(PYTHON_INCLUDES) \
+ -I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
+ -I$(top_builddir)/$(subdir)
+
+DOCS_DIR = $(datadir)/doc/libvirt-python-$(LIBVIRT_VERSION)
+DOCS = ${srcdir}/TODO
+CLASSES_EXTRA = virConnect.py
+EXTRA_DIST = \
+ libvir.c \
+ types.c \
+ generator.py \
+ libvirt_wrap.h \
+ libvirt.py \
+ libvir.py \
+ libvirt-python-api.xml \
+ $(CLASSES_EXTRA) \
+ $(DOCS)
+
+@WITH_PYTHON_TRUE@mylibs = $(top_builddir)/src/libvirt.la
+@WITH_PYTHON_TRUE@python_LTLIBRARIES = libvirtmod.la
+@WITH_PYTHON_TRUE@libvirtmod_la_SOURCES = libvir.c types.c libvirt-py.c libvirt-py.h
+# Python <= 2.4 header files contain a redundant decl, hence we
+# need extra flags here
+@WITH_PYTHON_TRUE@libvirtmod_la_CFLAGS = @WARN_PYTHON_CFLAGS@
+@WITH_PYTHON_TRUE@libvirtmod_la_LDFLAGS = -module -avoid-version -L$(top_builddir)/src/.libs \
+@WITH_PYTHON_TRUE@ @CYGWIN_EXTRA_LDFLAGS@
+
+@WITH_PYTHON_TRUE@libvirtmod_la_LIBADD = $(mylibs) \
+@WITH_PYTHON_TRUE@ @CYGWIN_EXTRA_LIBADD@ @CYGWIN_EXTRA_PYTHON_LIBADD@
+
+@WITH_PYTHON_TRUE@GENERATE = generator.py
+@WITH_PYTHON_TRUE@API_DESC = $(top_srcdir)/docs/libvirt-api.xml $(srcdir)/libvirt-python-api.xml
+@WITH_PYTHON_TRUE@GENERATED = libvirt-export.c \
+@WITH_PYTHON_TRUE@ libvirtclass.txt \
+@WITH_PYTHON_TRUE@ libvirt-py.c \
+@WITH_PYTHON_TRUE@ libvirt-py.h \
+@WITH_PYTHON_TRUE@ libvirtclass.py
+
+@WITH_PYTHON_TRUE@CLEANFILES = $(GENERATED) generated.stamp libvirt.py
+all: all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu python/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu python/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-pythonLTLIBRARIES: $(python_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ test -z "$(pythondir)" || $(MKDIR_P) "$(DESTDIR)$(pythondir)"
+ @list='$(python_LTLIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ f=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pythonLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(pythondir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(pythonLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(pythondir)/$$f"; \
+ else :; fi; \
+ done
+
+uninstall-pythonLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(python_LTLIBRARIES)'; for p in $$list; do \
+ p=$(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pythondir)/$$p'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pythondir)/$$p"; \
+ done
+
+clean-pythonLTLIBRARIES:
+ -test -z "$(python_LTLIBRARIES)" || rm -f $(python_LTLIBRARIES)
+ @list='$(python_LTLIBRARIES)'; for p in $$list; do \
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+ test "$$dir" != "$$p" || dir=.; \
+ echo "rm -f \"$${dir}/so_locations\""; \
+ rm -f "$${dir}/so_locations"; \
+ done
+libvirtmod.la: $(libvirtmod_la_OBJECTS) $(libvirtmod_la_DEPENDENCIES)
+ $(libvirtmod_la_LINK) $(am_libvirtmod_la_rpath) $(libvirtmod_la_OBJECTS) $(libvirtmod_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvirtmod_la-libvir.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvirtmod_la-libvirt-py.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvirtmod_la-types.Plo@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
+
+libvirtmod_la-libvir.lo: libvir.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvirtmod_la_CFLAGS) $(CFLAGS) -MT libvirtmod_la-libvir.lo -MD -MP -MF $(DEPDIR)/libvirtmod_la-libvir.Tpo -c -o libvirtmod_la-libvir.lo `test -f 'libvir.c' || echo '$(srcdir)/'`libvir.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libvirtmod_la-libvir.Tpo $(DEPDIR)/libvirtmod_la-libvir.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libvir.c' object='libvirtmod_la-libvir.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvirtmod_la_CFLAGS) $(CFLAGS) -c -o libvirtmod_la-libvir.lo `test -f 'libvir.c' || echo '$(srcdir)/'`libvir.c
+
+libvirtmod_la-types.lo: types.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvirtmod_la_CFLAGS) $(CFLAGS) -MT libvirtmod_la-types.lo -MD -MP -MF $(DEPDIR)/libvirtmod_la-types.Tpo -c -o libvirtmod_la-types.lo `test -f 'types.c' || echo '$(srcdir)/'`types.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libvirtmod_la-types.Tpo $(DEPDIR)/libvirtmod_la-types.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='types.c' object='libvirtmod_la-types.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvirtmod_la_CFLAGS) $(CFLAGS) -c -o libvirtmod_la-types.lo `test -f 'types.c' || echo '$(srcdir)/'`types.c
+
+libvirtmod_la-libvirt-py.lo: libvirt-py.c
+@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvirtmod_la_CFLAGS) $(CFLAGS) -MT libvirtmod_la-libvirt-py.lo -MD -MP -MF $(DEPDIR)/libvirtmod_la-libvirt-py.Tpo -c -o libvirtmod_la-libvirt-py.lo `test -f 'libvirt-py.c' || echo '$(srcdir)/'`libvirt-py.c
+@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libvirtmod_la-libvirt-py.Tpo $(DEPDIR)/libvirtmod_la-libvirt-py.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libvirt-py.c' object='libvirtmod_la-libvirt-py.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libvirtmod_la_CFLAGS) $(CFLAGS) -c -o libvirtmod_la-libvirt-py.lo `test -f 'libvirt-py.c' || echo '$(srcdir)/'`libvirt-py.c
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+ @failcom='exit 1'; \
+ for f in x $$MAKEFLAGS; do \
+ case $$f in \
+ *=* | --[!k]*);; \
+ *k*) failcom='fail=yes';; \
+ esac; \
+ done; \
+ dot_seen=no; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ rev=''; for subdir in $$list; do \
+ if test "$$subdir" = "."; then :; else \
+ rev="$$subdir $$rev"; \
+ fi; \
+ done; \
+ rev="$$rev ."; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+ctags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+ done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$tags $$unique; \
+ fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
+ $(TAGS_FILES) $(LISP)
+ tags=; \
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | \
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
+ test -z "$(CTAGS_ARGS)$$tags$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$tags $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && cd $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) $$here
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ distdir=`$(am__cd) $(distdir) && pwd`; \
+ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
+ (cd $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$top_distdir" \
+ distdir="$$distdir/$$subdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+@WITH_PYTHON_FALSE@all-local:
+all-am: Makefile $(LTLIBRARIES) all-local
+installdirs: installdirs-recursive
+installdirs-am:
+ for dir in "$(DESTDIR)$(pythondir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+@WITH_PYTHON_FALSE@uninstall-local:
+@WITH_PYTHON_FALSE@install-data-local:
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool clean-pythonLTLIBRARIES \
+ mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-data-local install-pythonLTLIBRARIES
+
+install-dvi: install-dvi-recursive
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-info: install-info-recursive
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-ps: install-ps-recursive
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-local uninstall-pythonLTLIBRARIES
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
+ install-strip
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+ all all-am all-local check check-am clean clean-generic \
+ clean-libtool clean-pythonLTLIBRARIES ctags ctags-recursive \
+ distclean distclean-compile distclean-generic \
+ distclean-libtool distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-data \
+ install-data-am install-data-local install-dvi install-dvi-am \
+ install-exec install-exec-am install-html install-html-am \
+ install-info install-info-am install-man install-pdf \
+ install-pdf-am install-ps install-ps-am \
+ install-pythonLTLIBRARIES install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-recursive uninstall uninstall-am uninstall-local \
+ uninstall-pythonLTLIBRARIES
+
+
+@WITH_PYTHON_TRUE@all-local: libvirt.py
+
+@WITH_PYTHON_TRUE@generated.stamp: $(srcdir)/$(GENERATE) $(API_DESC)
+@WITH_PYTHON_TRUE@ $(PYTHON) $(srcdir)/$(GENERATE) $(srcdir)
+@WITH_PYTHON_TRUE@ touch $@
+
+@WITH_PYTHON_TRUE@$(GENERATED): generated.stamp
+
+@WITH_PYTHON_TRUE@libvirt.py: $(srcdir)/libvir.py $(GENERATED) $(CLASSES_EXTRA)
+@WITH_PYTHON_TRUE@ cat $(srcdir)/libvir.py libvirtclass.py > $@-t
+@WITH_PYTHON_TRUE@ mv $@-t $@
+
+@WITH_PYTHON_TRUE@$(libvirtmod_la_OBJECTS): $(GENERATED)
+
+@WITH_PYTHON_TRUE@install-data-local:
+@WITH_PYTHON_TRUE@ $(mkinstalldirs) $(DESTDIR)$(pythondir)
+@WITH_PYTHON_TRUE@ @INSTALL@ -m 0644 libvirt.py $(DESTDIR)$(pythondir)
+@WITH_PYTHON_TRUE@ $(mkinstalldirs) $(DESTDIR)$(DOCS_DIR)
+@WITH_PYTHON_TRUE@ @(for doc in $(DOCS) ; \
+@WITH_PYTHON_TRUE@ do @INSTALL@ -m 0644 $$doc $(DESTDIR)$(DOCS_DIR) ; done)
+
+@WITH_PYTHON_TRUE@uninstall-local:
+@WITH_PYTHON_TRUE@ rm -f $(DESTDIR)$(pythondir)/libvirt.py
+
+@WITH_PYTHON_FALSE@all:
+
+dummy:
+
+tests test: all dummy
+ -@(cd tests && $(MAKE) MAKEFLAGS+=--silent tests)
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libvirt-py.c b/libvirt-py.c
new file mode 100644
index 0000000..9027310
--- /dev/null
+++ b/libvirt-py.c
@@ -0,0 +1,2011 @@
+/* Generated */
+
+#include <Python.h>
+#include <libvirt/libvirt.h>
+#include "libvirt_wrap.h"
+#include "libvirt-py.h"
+
+PyObject *
+libvirt_virStoragePoolGetXMLDesc(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ char * c_retval;
+ virStoragePoolPtr pool;
+ PyObject *pyobj_pool;
+ unsigned int flags;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oi:virStoragePoolGetXMLDesc", &pyobj_pool, &flags))
+ return(NULL);
+ pool = (virStoragePoolPtr) PyvirStoragePool_Get(pyobj_pool);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStoragePoolGetXMLDesc(pool, flags);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_charPtrWrap((char *) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStorageVolGetKey(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ const char * c_retval;
+ virStorageVolPtr vol;
+ PyObject *pyobj_vol;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virStorageVolGetKey", &pyobj_vol))
+ return(NULL);
+ vol = (virStorageVolPtr) PyvirStorageVol_Get(pyobj_vol);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStorageVolGetKey(vol);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_charPtrConstWrap((const char *) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virConnectClose(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virConnectClose", &pyobj_conn))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virConnectClose(conn);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainDefineXML(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virDomainPtr c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+ char * xml;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oz:virDomainDefineXML", &pyobj_conn, &xml))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainDefineXML(conn, xml);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virDomainPtrWrap((virDomainPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainShutdown(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virDomainShutdown", &pyobj_domain))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainShutdown(domain);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virInitialize(PyObject *self ATTRIBUTE_UNUSED, PyObject *args ATTRIBUTE_UNUSED) {
+ PyObject *py_retval;
+ int c_retval;
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virInitialize();
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNodeDeviceGetName(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ const char * c_retval;
+ virNodeDevicePtr dev;
+ PyObject *pyobj_dev;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virNodeDeviceGetName", &pyobj_dev))
+ return(NULL);
+ dev = (virNodeDevicePtr) PyvirNodeDevice_Get(pyobj_dev);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNodeDeviceGetName(dev);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_charPtrConstWrap((const char *) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStoragePoolSetAutostart(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virStoragePoolPtr pool;
+ PyObject *pyobj_pool;
+ int autostart;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oi:virStoragePoolSetAutostart", &pyobj_pool, &autostart))
+ return(NULL);
+ pool = (virStoragePoolPtr) PyvirStoragePool_Get(pyobj_pool);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStoragePoolSetAutostart(pool, autostart);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNodeDeviceDettach(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virNodeDevicePtr dev;
+ PyObject *pyobj_dev;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virNodeDeviceDettach", &pyobj_dev))
+ return(NULL);
+ dev = (virNodeDevicePtr) PyvirNodeDevice_Get(pyobj_dev);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNodeDeviceDettach(dev);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainLookupByUUIDString(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virDomainPtr c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+ char * uuidstr;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oz:virDomainLookupByUUIDString", &pyobj_conn, &uuidstr))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainLookupByUUIDString(conn, uuidstr);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virDomainPtrWrap((virDomainPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virConnectNumOfDefinedNetworks(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virConnectNumOfDefinedNetworks", &pyobj_conn))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virConnectNumOfDefinedNetworks(conn);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virConnectNumOfDomains(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virConnectNumOfDomains", &pyobj_conn))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virConnectNumOfDomains(conn);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNodeDeviceCreateXML(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virNodeDevicePtr c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+ char * xmlDesc;
+ unsigned int flags;
+
+ if (!PyArg_ParseTuple(args, (char *)"Ozi:virNodeDeviceCreateXML", &pyobj_conn, &xmlDesc, &flags))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNodeDeviceCreateXML(conn, xmlDesc, flags);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virNodeDevicePtrWrap((virNodeDevicePtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStoragePoolGetConnect(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virConnectPtr c_retval;
+ virStoragePoolPtr pool;
+ PyObject *pyobj_pool;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virStoragePoolGetConnect", &pyobj_pool))
+ return(NULL);
+ pool = (virStoragePoolPtr) PyvirStoragePool_Get(pyobj_pool);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStoragePoolGetConnect(pool);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virConnectPtrWrap((virConnectPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainFree(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virDomainFree", &pyobj_domain))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainFree(domain);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStorageVolRef(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virStorageVolPtr vol;
+ PyObject *pyobj_vol;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virStorageVolRef", &pyobj_vol))
+ return(NULL);
+ vol = (virStorageVolPtr) PyvirStorageVol_Get(pyobj_vol);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStorageVolRef(vol);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStoragePoolGetName(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ const char * c_retval;
+ virStoragePoolPtr pool;
+ PyObject *pyobj_pool;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virStoragePoolGetName", &pyobj_pool))
+ return(NULL);
+ pool = (virStoragePoolPtr) PyvirStoragePool_Get(pyobj_pool);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStoragePoolGetName(pool);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_charPtrConstWrap((const char *) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainSetAutostart(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+ int autostart;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oi:virDomainSetAutostart", &pyobj_domain, &autostart))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainSetAutostart(domain, autostart);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStoragePoolDefineXML(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virStoragePoolPtr c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+ char * xml;
+ unsigned int flags;
+
+ if (!PyArg_ParseTuple(args, (char *)"Ozi:virStoragePoolDefineXML", &pyobj_conn, &xml, &flags))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStoragePoolDefineXML(conn, xml, flags);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virStoragePoolPtrWrap((virStoragePoolPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStorageVolLookupByPath(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virStorageVolPtr c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+ char * path;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oz:virStorageVolLookupByPath", &pyobj_conn, &path))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStorageVolLookupByPath(conn, path);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virStorageVolPtrWrap((virStorageVolPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStorageVolLookupByName(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virStorageVolPtr c_retval;
+ virStoragePoolPtr pool;
+ PyObject *pyobj_pool;
+ char * name;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oz:virStorageVolLookupByName", &pyobj_pool, &name))
+ return(NULL);
+ pool = (virStoragePoolPtr) PyvirStoragePool_Get(pyobj_pool);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStorageVolLookupByName(pool, name);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virStorageVolPtrWrap((virStorageVolPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainCreateLinux(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virDomainPtr c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+ char * xmlDesc;
+ unsigned int flags;
+
+ if (!PyArg_ParseTuple(args, (char *)"Ozi:virDomainCreateLinux", &pyobj_conn, &xmlDesc, &flags))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainCreateLinux(conn, xmlDesc, flags);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virDomainPtrWrap((virDomainPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainSetMaxMemory(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+ unsigned long memory;
+
+ if (!PyArg_ParseTuple(args, (char *)"Ol:virDomainSetMaxMemory", &pyobj_domain, &memory))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainSetMaxMemory(domain, memory);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainGetConnect(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virConnectPtr c_retval;
+ virDomainPtr dom;
+ PyObject *pyobj_dom;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virDomainGetConnect", &pyobj_dom))
+ return(NULL);
+ dom = (virDomainPtr) PyvirDomain_Get(pyobj_dom);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainGetConnect(dom);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virConnectPtrWrap((virConnectPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainSuspend(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virDomainSuspend", &pyobj_domain))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainSuspend(domain);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNetworkCreate(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virNetworkPtr network;
+ PyObject *pyobj_network;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virNetworkCreate", &pyobj_network))
+ return(NULL);
+ network = (virNetworkPtr) PyvirNetwork_Get(pyobj_network);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNetworkCreate(network);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNodeDeviceGetXMLDesc(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ char * c_retval;
+ virNodeDevicePtr dev;
+ PyObject *pyobj_dev;
+ unsigned int flags;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oi:virNodeDeviceGetXMLDesc", &pyobj_dev, &flags))
+ return(NULL);
+ dev = (virNodeDevicePtr) PyvirNodeDevice_Get(pyobj_dev);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNodeDeviceGetXMLDesc(dev, flags);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_charPtrWrap((char *) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainDestroy(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virDomainDestroy", &pyobj_domain))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainDestroy(domain);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virConnectNumOfNetworks(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virConnectNumOfNetworks", &pyobj_conn))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virConnectNumOfNetworks(conn);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStorageVolGetName(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ const char * c_retval;
+ virStorageVolPtr vol;
+ PyObject *pyobj_vol;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virStorageVolGetName", &pyobj_vol))
+ return(NULL);
+ vol = (virStorageVolPtr) PyvirStorageVol_Get(pyobj_vol);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStorageVolGetName(vol);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_charPtrConstWrap((const char *) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStoragePoolLookupByUUIDString(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virStoragePoolPtr c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+ char * uuidstr;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oz:virStoragePoolLookupByUUIDString", &pyobj_conn, &uuidstr))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStoragePoolLookupByUUIDString(conn, uuidstr);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virStoragePoolPtrWrap((virStoragePoolPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainGetXMLDesc(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ char * c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+ int flags;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oi:virDomainGetXMLDesc", &pyobj_domain, &flags))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainGetXMLDesc(domain, flags);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_charPtrWrap((char *) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNodeDeviceFree(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virNodeDevicePtr dev;
+ PyObject *pyobj_dev;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virNodeDeviceFree", &pyobj_dev))
+ return(NULL);
+ dev = (virNodeDevicePtr) PyvirNodeDevice_Get(pyobj_dev);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNodeDeviceFree(dev);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNetworkDestroy(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virNetworkPtr network;
+ PyObject *pyobj_network;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virNetworkDestroy", &pyobj_network))
+ return(NULL);
+ network = (virNetworkPtr) PyvirNetwork_Get(pyobj_network);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNetworkDestroy(network);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStoragePoolLookupByName(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virStoragePoolPtr c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+ char * name;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oz:virStoragePoolLookupByName", &pyobj_conn, &name))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStoragePoolLookupByName(conn, name);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virStoragePoolPtrWrap((virStoragePoolPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStoragePoolCreateXML(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virStoragePoolPtr c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+ char * xmlDesc;
+ unsigned int flags;
+
+ if (!PyArg_ParseTuple(args, (char *)"Ozi:virStoragePoolCreateXML", &pyobj_conn, &xmlDesc, &flags))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStoragePoolCreateXML(conn, xmlDesc, flags);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virStoragePoolPtrWrap((virStoragePoolPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNetworkGetBridgeName(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ char * c_retval;
+ virNetworkPtr network;
+ PyObject *pyobj_network;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virNetworkGetBridgeName", &pyobj_network))
+ return(NULL);
+ network = (virNetworkPtr) PyvirNetwork_Get(pyobj_network);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNetworkGetBridgeName(network);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_charPtrWrap((char *) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStorageVolGetXMLDesc(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ char * c_retval;
+ virStorageVolPtr vol;
+ PyObject *pyobj_vol;
+ unsigned int flags;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oi:virStorageVolGetXMLDesc", &pyobj_vol, &flags))
+ return(NULL);
+ vol = (virStorageVolPtr) PyvirStorageVol_Get(pyobj_vol);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStorageVolGetXMLDesc(vol, flags);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_charPtrWrap((char *) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virConnectGetType(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ const char * c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virConnectGetType", &pyobj_conn))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virConnectGetType(conn);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_charPtrConstWrap((const char *) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStorageVolCreateXML(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virStorageVolPtr c_retval;
+ virStoragePoolPtr pool;
+ PyObject *pyobj_pool;
+ char * xmldesc;
+ unsigned int flags;
+
+ if (!PyArg_ParseTuple(args, (char *)"Ozi:virStorageVolCreateXML", &pyobj_pool, &xmldesc, &flags))
+ return(NULL);
+ pool = (virStoragePoolPtr) PyvirStoragePool_Get(pyobj_pool);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStorageVolCreateXML(pool, xmldesc, flags);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virStorageVolPtrWrap((virStorageVolPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainSave(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+ char * to;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oz:virDomainSave", &pyobj_domain, &to))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainSave(domain, to);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainCreate(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virDomainCreate", &pyobj_domain))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainCreate(domain);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainCoreDump(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+ char * to;
+ int flags;
+
+ if (!PyArg_ParseTuple(args, (char *)"Ozi:virDomainCoreDump", &pyobj_domain, &to, &flags))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainCoreDump(domain, to, flags);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainSetMemory(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+ unsigned long memory;
+
+ if (!PyArg_ParseTuple(args, (char *)"Ol:virDomainSetMemory", &pyobj_domain, &memory))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainSetMemory(domain, memory);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virResetLastError(PyObject *self ATTRIBUTE_UNUSED, PyObject *args ATTRIBUTE_UNUSED) {
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ virResetLastError();
+LIBVIRT_END_ALLOW_THREADS;
+ Py_INCREF(Py_None);
+ return(Py_None);
+}
+
+PyObject *
+libvirt_virStoragePoolCreate(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virStoragePoolPtr pool;
+ PyObject *pyobj_pool;
+ unsigned int flags;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oi:virStoragePoolCreate", &pyobj_pool, &flags))
+ return(NULL);
+ pool = (virStoragePoolPtr) PyvirStoragePool_Get(pyobj_pool);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStoragePoolCreate(pool, flags);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNetworkSetAutostart(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virNetworkPtr network;
+ PyObject *pyobj_network;
+ int autostart;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oi:virNetworkSetAutostart", &pyobj_network, &autostart))
+ return(NULL);
+ network = (virNetworkPtr) PyvirNetwork_Get(pyobj_network);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNetworkSetAutostart(network, autostart);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainGetMaxMemory(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ unsigned long c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virDomainGetMaxMemory", &pyobj_domain))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainGetMaxMemory(domain);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_longWrap((long) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNodeDeviceDestroy(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virNodeDevicePtr dev;
+ PyObject *pyobj_dev;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virNodeDeviceDestroy", &pyobj_dev))
+ return(NULL);
+ dev = (virNodeDevicePtr) PyvirNodeDevice_Get(pyobj_dev);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNodeDeviceDestroy(dev);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStoragePoolFree(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virStoragePoolPtr pool;
+ PyObject *pyobj_pool;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virStoragePoolFree", &pyobj_pool))
+ return(NULL);
+ pool = (virStoragePoolPtr) PyvirStoragePool_Get(pyobj_pool);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStoragePoolFree(pool);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNetworkDefineXML(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virNetworkPtr c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+ char * xml;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oz:virNetworkDefineXML", &pyobj_conn, &xml))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNetworkDefineXML(conn, xml);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virNetworkPtrWrap((virNetworkPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virConnResetLastError(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virConnResetLastError", &pyobj_conn))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ virConnResetLastError(conn);
+LIBVIRT_END_ALLOW_THREADS;
+ Py_INCREF(Py_None);
+ return(Py_None);
+}
+
+PyObject *
+libvirt_virDomainResume(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virDomainResume", &pyobj_domain))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainResume(domain);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virConnectGetHostname(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ char * c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virConnectGetHostname", &pyobj_conn))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virConnectGetHostname(conn);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_charPtrWrap((char *) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNodeDeviceGetParent(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ const char * c_retval;
+ virNodeDevicePtr dev;
+ PyObject *pyobj_dev;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virNodeDeviceGetParent", &pyobj_dev))
+ return(NULL);
+ dev = (virNodeDevicePtr) PyvirNodeDevice_Get(pyobj_dev);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNodeDeviceGetParent(dev);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_charPtrConstWrap((const char *) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainGetName(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ const char * c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virDomainGetName", &pyobj_domain))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainGetName(domain);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_charPtrConstWrap((const char *) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStoragePoolRef(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virStoragePoolPtr pool;
+ PyObject *pyobj_pool;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virStoragePoolRef", &pyobj_pool))
+ return(NULL);
+ pool = (virStoragePoolPtr) PyvirStoragePool_Get(pyobj_pool);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStoragePoolRef(pool);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNetworkGetXMLDesc(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ char * c_retval;
+ virNetworkPtr network;
+ PyObject *pyobj_network;
+ int flags;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oi:virNetworkGetXMLDesc", &pyobj_network, &flags))
+ return(NULL);
+ network = (virNetworkPtr) PyvirNetwork_Get(pyobj_network);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNetworkGetXMLDesc(network, flags);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_charPtrWrap((char *) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virConnectNumOfStoragePools(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virConnectNumOfStoragePools", &pyobj_conn))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virConnectNumOfStoragePools(conn);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNetworkGetName(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ const char * c_retval;
+ virNetworkPtr network;
+ PyObject *pyobj_network;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virNetworkGetName", &pyobj_network))
+ return(NULL);
+ network = (virNetworkPtr) PyvirNetwork_Get(pyobj_network);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNetworkGetName(network);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_charPtrConstWrap((const char *) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virConnectGetCapabilities(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ char * c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virConnectGetCapabilities", &pyobj_conn))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virConnectGetCapabilities(conn);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_charPtrWrap((char *) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainLookupByName(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virDomainPtr c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+ char * name;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oz:virDomainLookupByName", &pyobj_conn, &name))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainLookupByName(conn, name);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virDomainPtrWrap((virDomainPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virConnectFindStoragePoolSources(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ char * c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+ char * type;
+ char * srcSpec;
+ unsigned int flags;
+
+ if (!PyArg_ParseTuple(args, (char *)"Ozzi:virConnectFindStoragePoolSources", &pyobj_conn, &type, &srcSpec, &flags))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virConnectFindStoragePoolSources(conn, type, srcSpec, flags);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_charPtrWrap((char *) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainRestore(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+ char * frm;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oz:virDomainRestore", &pyobj_conn, &frm))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainRestore(conn, frm);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStorageVolGetPath(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ char * c_retval;
+ virStorageVolPtr vol;
+ PyObject *pyobj_vol;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virStorageVolGetPath", &pyobj_vol))
+ return(NULL);
+ vol = (virStorageVolPtr) PyvirStorageVol_Get(pyobj_vol);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStorageVolGetPath(vol);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_charPtrWrap((char *) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNetworkLookupByUUIDString(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virNetworkPtr c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+ char * uuidstr;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oz:virNetworkLookupByUUIDString", &pyobj_conn, &uuidstr))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNetworkLookupByUUIDString(conn, uuidstr);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virNetworkPtrWrap((virNetworkPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainLookupByID(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virDomainPtr c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+ int id;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oi:virDomainLookupByID", &pyobj_conn, &id))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainLookupByID(conn, id);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virDomainPtrWrap((virDomainPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStorageVolFree(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virStorageVolPtr vol;
+ PyObject *pyobj_vol;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virStorageVolFree", &pyobj_vol))
+ return(NULL);
+ vol = (virStorageVolPtr) PyvirStorageVol_Get(pyobj_vol);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStorageVolFree(vol);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStoragePoolDelete(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virStoragePoolPtr pool;
+ PyObject *pyobj_pool;
+ unsigned int flags;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oi:virStoragePoolDelete", &pyobj_pool, &flags))
+ return(NULL);
+ pool = (virStoragePoolPtr) PyvirStoragePool_Get(pyobj_pool);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStoragePoolDelete(pool, flags);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virConnectRef(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virConnectRef", &pyobj_conn))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virConnectRef(conn);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNetworkCreateXML(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virNetworkPtr c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+ char * xmlDesc;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oz:virNetworkCreateXML", &pyobj_conn, &xmlDesc))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNetworkCreateXML(conn, xmlDesc);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virNetworkPtrWrap((virNetworkPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNodeDeviceLookupByName(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virNodeDevicePtr c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+ char * name;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oz:virNodeDeviceLookupByName", &pyobj_conn, &name))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNodeDeviceLookupByName(conn, name);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virNodeDevicePtrWrap((virNodeDevicePtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNetworkRef(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virNetworkPtr network;
+ PyObject *pyobj_network;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virNetworkRef", &pyobj_network))
+ return(NULL);
+ network = (virNetworkPtr) PyvirNetwork_Get(pyobj_network);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNetworkRef(network);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStoragePoolRefresh(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virStoragePoolPtr pool;
+ PyObject *pyobj_pool;
+ unsigned int flags;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oi:virStoragePoolRefresh", &pyobj_pool, &flags))
+ return(NULL);
+ pool = (virStoragePoolPtr) PyvirStoragePool_Get(pyobj_pool);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStoragePoolRefresh(pool, flags);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virConnectNumOfDefinedDomains(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virConnectNumOfDefinedDomains", &pyobj_conn))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virConnectNumOfDefinedDomains(conn);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStorageVolLookupByKey(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virStorageVolPtr c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+ char * key;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oz:virStorageVolLookupByKey", &pyobj_conn, &key))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStorageVolLookupByKey(conn, key);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virStorageVolPtrWrap((virStorageVolPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainUndefine(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virDomainUndefine", &pyobj_domain))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainUndefine(domain);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainReboot(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+ unsigned int flags;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oi:virDomainReboot", &pyobj_domain, &flags))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainReboot(domain, flags);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNetworkLookupByName(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virNetworkPtr c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+ char * name;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oz:virNetworkLookupByName", &pyobj_conn, &name))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNetworkLookupByName(conn, name);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virNetworkPtrWrap((virNetworkPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainGetMaxVcpus(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virDomainGetMaxVcpus", &pyobj_domain))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainGetMaxVcpus(domain);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNodeDeviceReset(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virNodeDevicePtr dev;
+ PyObject *pyobj_dev;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virNodeDeviceReset", &pyobj_dev))
+ return(NULL);
+ dev = (virNodeDevicePtr) PyvirNodeDevice_Get(pyobj_dev);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNodeDeviceReset(dev);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainDetachDevice(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+ char * xml;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oz:virDomainDetachDevice", &pyobj_domain, &xml))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainDetachDevice(domain, xml);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStoragePoolNumOfVolumes(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virStoragePoolPtr pool;
+ PyObject *pyobj_pool;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virStoragePoolNumOfVolumes", &pyobj_pool))
+ return(NULL);
+ pool = (virStoragePoolPtr) PyvirStoragePool_Get(pyobj_pool);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStoragePoolNumOfVolumes(pool);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNodeDeviceReAttach(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virNodeDevicePtr dev;
+ PyObject *pyobj_dev;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virNodeDeviceReAttach", &pyobj_dev))
+ return(NULL);
+ dev = (virNodeDevicePtr) PyvirNodeDevice_Get(pyobj_dev);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNodeDeviceReAttach(dev);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStoragePoolUndefine(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virStoragePoolPtr pool;
+ PyObject *pyobj_pool;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virStoragePoolUndefine", &pyobj_pool))
+ return(NULL);
+ pool = (virStoragePoolPtr) PyvirStoragePool_Get(pyobj_pool);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStoragePoolUndefine(pool);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainAttachDevice(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+ char * xml;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oz:virDomainAttachDevice", &pyobj_domain, &xml))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainAttachDevice(domain, xml);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virConnectGetURI(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ char * c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virConnectGetURI", &pyobj_conn))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virConnectGetURI(conn);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_charPtrWrap((char *) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virConnectOpenReadOnly(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virConnectPtr c_retval;
+ char * name;
+
+ if (!PyArg_ParseTuple(args, (char *)"z:virConnectOpenReadOnly", &name))
+ return(NULL);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virConnectOpenReadOnly(name);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virConnectPtrWrap((virConnectPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNetworkFree(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virNetworkPtr network;
+ PyObject *pyobj_network;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virNetworkFree", &pyobj_network))
+ return(NULL);
+ network = (virNetworkPtr) PyvirNetwork_Get(pyobj_network);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNetworkFree(network);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStorageVolDelete(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virStorageVolPtr vol;
+ PyObject *pyobj_vol;
+ unsigned int flags;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oi:virStorageVolDelete", &pyobj_vol, &flags))
+ return(NULL);
+ vol = (virStorageVolPtr) PyvirStorageVol_Get(pyobj_vol);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStorageVolDelete(vol, flags);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNetworkUndefine(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virNetworkPtr network;
+ PyObject *pyobj_network;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virNetworkUndefine", &pyobj_network))
+ return(NULL);
+ network = (virNetworkPtr) PyvirNetwork_Get(pyobj_network);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNetworkUndefine(network);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNodeDeviceNumOfCaps(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virNodeDevicePtr dev;
+ PyObject *pyobj_dev;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virNodeDeviceNumOfCaps", &pyobj_dev))
+ return(NULL);
+ dev = (virNodeDevicePtr) PyvirNodeDevice_Get(pyobj_dev);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNodeDeviceNumOfCaps(dev);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNetworkGetConnect(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virConnectPtr c_retval;
+ virNetworkPtr net;
+ PyObject *pyobj_net;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virNetworkGetConnect", &pyobj_net))
+ return(NULL);
+ net = (virNetworkPtr) PyvirNetwork_Get(pyobj_net);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNetworkGetConnect(net);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virConnectPtrWrap((virConnectPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNodeGetFreeMemory(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ unsigned long long c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virNodeGetFreeMemory", &pyobj_conn))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNodeGetFreeMemory(conn);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_longlongWrap((long long) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStorageVolGetConnect(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virConnectPtr c_retval;
+ virStorageVolPtr vol;
+ PyObject *pyobj_vol;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virStorageVolGetConnect", &pyobj_vol))
+ return(NULL);
+ vol = (virStorageVolPtr) PyvirStorageVol_Get(pyobj_vol);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStorageVolGetConnect(vol);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virConnectPtrWrap((virConnectPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNodeNumOfDevices(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+ char * cap;
+ unsigned int flags;
+
+ if (!PyArg_ParseTuple(args, (char *)"Ozi:virNodeNumOfDevices", &pyobj_conn, &cap, &flags))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNodeNumOfDevices(conn, cap, flags);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStoragePoolDestroy(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virStoragePoolPtr pool;
+ PyObject *pyobj_pool;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virStoragePoolDestroy", &pyobj_pool))
+ return(NULL);
+ pool = (virStoragePoolPtr) PyvirStoragePool_Get(pyobj_pool);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStoragePoolDestroy(pool);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStoragePoolLookupByVolume(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virStoragePoolPtr c_retval;
+ virStorageVolPtr vol;
+ PyObject *pyobj_vol;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virStoragePoolLookupByVolume", &pyobj_vol))
+ return(NULL);
+ vol = (virStorageVolPtr) PyvirStorageVol_Get(pyobj_vol);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStoragePoolLookupByVolume(vol);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virStoragePoolPtrWrap((virStoragePoolPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainGetOSType(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ char * c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virDomainGetOSType", &pyobj_domain))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainGetOSType(domain);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_charPtrWrap((char *) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virStoragePoolBuild(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virStoragePoolPtr pool;
+ PyObject *pyobj_pool;
+ unsigned int flags;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oi:virStoragePoolBuild", &pyobj_pool, &flags))
+ return(NULL);
+ pool = (virStoragePoolPtr) PyvirStoragePool_Get(pyobj_pool);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virStoragePoolBuild(pool, flags);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virConnectGetMaxVcpus(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+ char * type;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oz:virConnectGetMaxVcpus", &pyobj_conn, &type))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virConnectGetMaxVcpus(conn, type);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainMigrate(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virDomainPtr c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+ virConnectPtr dconn;
+ PyObject *pyobj_dconn;
+ unsigned long flags;
+ char * dname;
+ char * uri;
+ unsigned long bandwidth;
+
+ if (!PyArg_ParseTuple(args, (char *)"OOlzzl:virDomainMigrate", &pyobj_domain, &pyobj_dconn, &flags, &dname, &uri, &bandwidth))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+ dconn = (virConnectPtr) PyvirConnect_Get(pyobj_dconn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainMigrate(domain, dconn, flags, dname, uri, bandwidth);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virDomainPtrWrap((virDomainPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virConnectNumOfDefinedStoragePools(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virConnectNumOfDefinedStoragePools", &pyobj_conn))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virConnectNumOfDefinedStoragePools(conn);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virConnectOpen(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virConnectPtr c_retval;
+ char * name;
+
+ if (!PyArg_ParseTuple(args, (char *)"z:virConnectOpen", &name))
+ return(NULL);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virConnectOpen(name);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virConnectPtrWrap((virConnectPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainCreateXML(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ virDomainPtr c_retval;
+ virConnectPtr conn;
+ PyObject *pyobj_conn;
+ char * xmlDesc;
+ unsigned int flags;
+
+ if (!PyArg_ParseTuple(args, (char *)"Ozi:virDomainCreateXML", &pyobj_conn, &xmlDesc, &flags))
+ return(NULL);
+ conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainCreateXML(conn, xmlDesc, flags);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_virDomainPtrWrap((virDomainPtr) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virNodeDeviceRef(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virNodeDevicePtr dev;
+ PyObject *pyobj_dev;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virNodeDeviceRef", &pyobj_dev))
+ return(NULL);
+ dev = (virNodeDevicePtr) PyvirNodeDevice_Get(pyobj_dev);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virNodeDeviceRef(dev);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainSetVcpus(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+ unsigned int nvcpus;
+
+ if (!PyArg_ParseTuple(args, (char *)"Oi:virDomainSetVcpus", &pyobj_domain, &nvcpus))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainSetVcpus(domain, nvcpus);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainRef(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virDomainRef", &pyobj_domain))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainRef(domain);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
+PyObject *
+libvirt_virDomainGetID(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ unsigned int c_retval;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virDomainGetID", &pyobj_domain))
+ return(NULL);
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+LIBVIRT_BEGIN_ALLOW_THREADS;
+
+ c_retval = virDomainGetID(domain);
+LIBVIRT_END_ALLOW_THREADS;
+ py_retval = libvirt_intWrap((int) c_retval);
+ return(py_retval);
+}
+
diff --git a/libvirt-py.h b/libvirt-py.h
new file mode 100644
index 0000000..11c1df0
--- /dev/null
+++ b/libvirt-py.h
@@ -0,0 +1,111 @@
+/* Generated */
+
+PyObject * libvirt_virStoragePoolGetXMLDesc(PyObject *self, PyObject *args);
+PyObject * libvirt_virStorageVolGetKey(PyObject *self, PyObject *args);
+PyObject * libvirt_virConnectClose(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainDefineXML(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainShutdown(PyObject *self, PyObject *args);
+PyObject * libvirt_virInitialize(PyObject *self, PyObject *args);
+PyObject * libvirt_virNodeDeviceGetName(PyObject *self, PyObject *args);
+PyObject * libvirt_virStoragePoolSetAutostart(PyObject *self, PyObject *args);
+PyObject * libvirt_virNodeDeviceDettach(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainLookupByUUIDString(PyObject *self, PyObject *args);
+PyObject * libvirt_virConnectNumOfDefinedNetworks(PyObject *self, PyObject *args);
+PyObject * libvirt_virConnectNumOfDomains(PyObject *self, PyObject *args);
+PyObject * libvirt_virNodeDeviceCreateXML(PyObject *self, PyObject *args);
+PyObject * libvirt_virStoragePoolGetConnect(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainFree(PyObject *self, PyObject *args);
+PyObject * libvirt_virStorageVolRef(PyObject *self, PyObject *args);
+PyObject * libvirt_virStoragePoolGetName(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainSetAutostart(PyObject *self, PyObject *args);
+PyObject * libvirt_virStoragePoolDefineXML(PyObject *self, PyObject *args);
+PyObject * libvirt_virStorageVolLookupByPath(PyObject *self, PyObject *args);
+PyObject * libvirt_virStorageVolLookupByName(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainCreateLinux(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainSetMaxMemory(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainGetConnect(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainSuspend(PyObject *self, PyObject *args);
+PyObject * libvirt_virNetworkCreate(PyObject *self, PyObject *args);
+PyObject * libvirt_virNodeDeviceGetXMLDesc(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainDestroy(PyObject *self, PyObject *args);
+PyObject * libvirt_virConnectNumOfNetworks(PyObject *self, PyObject *args);
+PyObject * libvirt_virStorageVolGetName(PyObject *self, PyObject *args);
+PyObject * libvirt_virStoragePoolLookupByUUIDString(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainGetXMLDesc(PyObject *self, PyObject *args);
+PyObject * libvirt_virNodeDeviceFree(PyObject *self, PyObject *args);
+PyObject * libvirt_virNetworkDestroy(PyObject *self, PyObject *args);
+PyObject * libvirt_virStoragePoolLookupByName(PyObject *self, PyObject *args);
+PyObject * libvirt_virStoragePoolCreateXML(PyObject *self, PyObject *args);
+PyObject * libvirt_virNetworkGetBridgeName(PyObject *self, PyObject *args);
+PyObject * libvirt_virStorageVolGetXMLDesc(PyObject *self, PyObject *args);
+PyObject * libvirt_virConnectGetType(PyObject *self, PyObject *args);
+PyObject * libvirt_virStorageVolCreateXML(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainSave(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainCreate(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainCoreDump(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainSetMemory(PyObject *self, PyObject *args);
+PyObject * libvirt_virResetLastError(PyObject *self, PyObject *args);
+PyObject * libvirt_virStoragePoolCreate(PyObject *self, PyObject *args);
+PyObject * libvirt_virNetworkSetAutostart(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainGetMaxMemory(PyObject *self, PyObject *args);
+PyObject * libvirt_virNodeDeviceDestroy(PyObject *self, PyObject *args);
+PyObject * libvirt_virStoragePoolFree(PyObject *self, PyObject *args);
+PyObject * libvirt_virNetworkDefineXML(PyObject *self, PyObject *args);
+PyObject * libvirt_virConnResetLastError(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainResume(PyObject *self, PyObject *args);
+PyObject * libvirt_virConnectGetHostname(PyObject *self, PyObject *args);
+PyObject * libvirt_virNodeDeviceGetParent(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainGetName(PyObject *self, PyObject *args);
+PyObject * libvirt_virStoragePoolRef(PyObject *self, PyObject *args);
+PyObject * libvirt_virNetworkGetXMLDesc(PyObject *self, PyObject *args);
+PyObject * libvirt_virConnectNumOfStoragePools(PyObject *self, PyObject *args);
+PyObject * libvirt_virNetworkGetName(PyObject *self, PyObject *args);
+PyObject * libvirt_virConnectGetCapabilities(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainLookupByName(PyObject *self, PyObject *args);
+PyObject * libvirt_virConnectFindStoragePoolSources(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainRestore(PyObject *self, PyObject *args);
+PyObject * libvirt_virStorageVolGetPath(PyObject *self, PyObject *args);
+PyObject * libvirt_virNetworkLookupByUUIDString(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainLookupByID(PyObject *self, PyObject *args);
+PyObject * libvirt_virStorageVolFree(PyObject *self, PyObject *args);
+PyObject * libvirt_virStoragePoolDelete(PyObject *self, PyObject *args);
+PyObject * libvirt_virConnectRef(PyObject *self, PyObject *args);
+PyObject * libvirt_virNetworkCreateXML(PyObject *self, PyObject *args);
+PyObject * libvirt_virNodeDeviceLookupByName(PyObject *self, PyObject *args);
+PyObject * libvirt_virNetworkRef(PyObject *self, PyObject *args);
+PyObject * libvirt_virStoragePoolRefresh(PyObject *self, PyObject *args);
+PyObject * libvirt_virConnectNumOfDefinedDomains(PyObject *self, PyObject *args);
+PyObject * libvirt_virStorageVolLookupByKey(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainUndefine(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainReboot(PyObject *self, PyObject *args);
+PyObject * libvirt_virNetworkLookupByName(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainGetMaxVcpus(PyObject *self, PyObject *args);
+PyObject * libvirt_virNodeDeviceReset(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainDetachDevice(PyObject *self, PyObject *args);
+PyObject * libvirt_virStoragePoolNumOfVolumes(PyObject *self, PyObject *args);
+PyObject * libvirt_virNodeDeviceReAttach(PyObject *self, PyObject *args);
+PyObject * libvirt_virStoragePoolUndefine(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainAttachDevice(PyObject *self, PyObject *args);
+PyObject * libvirt_virConnectGetURI(PyObject *self, PyObject *args);
+PyObject * libvirt_virConnectOpenReadOnly(PyObject *self, PyObject *args);
+PyObject * libvirt_virNetworkFree(PyObject *self, PyObject *args);
+PyObject * libvirt_virStorageVolDelete(PyObject *self, PyObject *args);
+PyObject * libvirt_virNetworkUndefine(PyObject *self, PyObject *args);
+PyObject * libvirt_virNodeDeviceNumOfCaps(PyObject *self, PyObject *args);
+PyObject * libvirt_virNetworkGetConnect(PyObject *self, PyObject *args);
+PyObject * libvirt_virNodeGetFreeMemory(PyObject *self, PyObject *args);
+PyObject * libvirt_virStorageVolGetConnect(PyObject *self, PyObject *args);
+PyObject * libvirt_virNodeNumOfDevices(PyObject *self, PyObject *args);
+PyObject * libvirt_virStoragePoolDestroy(PyObject *self, PyObject *args);
+PyObject * libvirt_virStoragePoolLookupByVolume(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainGetOSType(PyObject *self, PyObject *args);
+PyObject * libvirt_virStoragePoolBuild(PyObject *self, PyObject *args);
+PyObject * libvirt_virConnectGetMaxVcpus(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainMigrate(PyObject *self, PyObject *args);
+PyObject * libvirt_virConnectNumOfDefinedStoragePools(PyObject *self, PyObject *args);
+PyObject * libvirt_virConnectOpen(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainCreateXML(PyObject *self, PyObject *args);
+PyObject * libvirt_virNodeDeviceRef(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainSetVcpus(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainRef(PyObject *self, PyObject *args);
+PyObject * libvirt_virDomainGetID(PyObject *self, PyObject *args);
diff --git a/libvirt.py b/libvirt.py
new file mode 100644
index 0000000..9ee36f2
--- /dev/null
+++ b/libvirt.py
@@ -0,0 +1,1746 @@
+#!/usr/bin/python -u
+#
+# Those are the autogenerated Python bindings for libvirt.
+# Check python/generator.py in the source distribution of libvir
+# to find out more about the generation process
+#
+
+# On cygwin, the DLL is called cygvirtmod.dll
+try:
+ import libvirtmod
+except:
+ import cygvirtmod as libvirtmod
+
+import types
+
+# The root of all libvirt errors.
+class libvirtError(Exception):
+ def __init__(self, defmsg, conn=None, dom=None, net=None, pool=None, vol=None):
+
+ if dom is not None:
+ conn = dom._conn
+ elif net is not None:
+ conn = net._conn
+ elif pool is not None:
+ conn = pool._conn
+ elif vol is not None:
+ conn = vol._conn
+
+ # Never call virConnGetLastError().
+ # virGetLastError() is now thread local
+ err = virGetLastError()
+ if err is None:
+ msg = defmsg
+ else:
+ msg = err[2]
+
+ Exception.__init__(self, msg)
+
+ self.err = err
+
+ def get_error_code(self):
+ if self.err is None:
+ return None
+ return self.err[0]
+
+ def get_error_domain(self):
+ if self.err is None:
+ return None
+ return self.err[1]
+
+ def get_error_message(self):
+ if self.err is None:
+ return None
+ return self.err[2]
+
+ def get_error_level(self):
+ if self.err is None:
+ return None
+ return self.err[3]
+
+ def get_str1(self):
+ if self.err is None:
+ return None
+ return self.err[4]
+
+ def get_str2(self):
+ if self.err is None:
+ return None
+ return self.err[5]
+
+ def get_str3(self):
+ if self.err is None:
+ return None
+ return self.err[6]
+
+ def get_int1(self):
+ if self.err is None:
+ return None
+ return self.err[7]
+
+ def get_int2(self):
+ if self.err is None:
+ return None
+ return self.err[8]
+
+#
+# register the libvirt global error handler
+#
+def registerErrorHandler(f, ctx):
+ """Register a Python written function to for error reporting.
+ The function is called back as f(ctx, error), with error
+ being a list of information about the error being raised.
+ Returns 1 in case of success."""
+ return libvirtmod.virRegisterErrorHandler(f,ctx)
+
+def openAuth(uri, auth, flags):
+ ret = libvirtmod.virConnectOpenAuth(uri, auth, flags)
+ if ret is None:raise libvirtError('virConnectOpenAuth() failed')
+ return virConnect(_obj=ret)
+
+
+#
+# Return library version.
+#
+def getVersion (name = None):
+ """If no name parameter is passed (or name is None) then the
+ version of the libvirt library is returned as an integer.
+
+ If a name is passed and it refers to a driver linked to the
+ libvirt library, then this returns a tuple of (library version,
+ driver version).
+
+ If the name passed refers to a non-existent driver, then you
+ will get the exception 'no support for hypervisor'.
+
+ Versions numbers are integers: 1000000*major + 1000*minor + release."""
+ if name is None:
+ ret = libvirtmod.virGetVersion ();
+ else:
+ ret = libvirtmod.virGetVersion (name);
+ if ret is None: raise libvirtError ("virGetVersion() failed")
+ return ret
+
+
+#
+# Invoke an EventHandle callback
+#
+def eventInvokeHandleCallback (watch, fd, event, callback, opaque):
+ """
+ Invoke the Event Impl Handle Callback in C
+ """
+ libvirtmod.virEventInvokeHandleCallback(watch, fd, event, callback, opaque);
+
+#
+# Invoke an EventTimeout callback
+#
+def eventInvokeTimeoutCallback (timer, callback, opaque):
+ """
+ Invoke the Event Impl Timeout Callback in C
+ """
+ libvirtmod.virEventInvokeTimeoutCallback(timer, callback, opaque);
+
+
+
+# WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
+#
+# Everything before this line comes from libvir.py
+# Everything after this line is automatically generated
+#
+# WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
+#
+# Functions from module libvirt
+#
+
+def open(name):
+ """This function should be called first to get a connection to
+ the Hypervisor and xen store """
+ ret = libvirtmod.virConnectOpen(name)
+ if ret is None:raise libvirtError('virConnectOpen() failed')
+ return virConnect(_obj=ret)
+
+def openReadOnly(name):
+ """This function should be called first to get a restricted
+ connection to the library functionalities. The set of APIs
+ usable are then restricted on the available methods to
+ control the domains. """
+ ret = libvirtmod.virConnectOpenReadOnly(name)
+ if ret is None:raise libvirtError('virConnectOpenReadOnly() failed')
+ return virConnect(_obj=ret)
+
+def virEventRegisterImpl(addHandle, updateHandle, removeHandle, addTimeout, updateTimeout, removeTimeout):
+ libvirtmod.virEventRegisterImpl(addHandle, updateHandle, removeHandle, addTimeout, updateTimeout, removeTimeout)
+
+def virInitialize():
+ """Initialize the library. It's better to call this routine at
+ startup in multithreaded applications to avoid potential
+ race when initializing the library. """
+ ret = libvirtmod.virInitialize()
+ if ret == -1: raise libvirtError ('virInitialize() failed')
+ return ret
+
+#
+# Functions from module virterror
+#
+
+def virGetLastError():
+ """Provide a pointer to the last error caught at the library
+ level The error object is kept in thread local storage, so
+ separate threads can safely access this concurrently. """
+ ret = libvirtmod.virGetLastError()
+ return ret
+
+def virResetLastError():
+ """Reset the last error caught at the library level. The
+ error object is kept in thread local storage, so separate
+ threads can safely access this concurrently, only resetting
+ their own error object. """
+ libvirtmod.virResetLastError()
+
+class virDomain:
+ def __init__(self, conn, _obj=None):
+ self._conn = conn
+ if _obj != None:self._o = _obj;return
+ self._o = None
+
+ def __del__(self):
+ if self._o != None:
+ libvirtmod.virDomainFree(self._o)
+ self._o = None
+
+ #
+ # virDomain functions from module libvirt
+ #
+
+ def ID(self):
+ """Get the hypervisor ID number for the domain """
+ ret = libvirtmod.virDomainGetID(self._o)
+ return ret
+
+ def OSType(self):
+ """Get the type of domain operation system. """
+ ret = libvirtmod.virDomainGetOSType(self._o)
+ if ret is None: raise libvirtError ('virDomainGetOSType() failed', dom=self)
+ return ret
+
+ def XMLDesc(self, flags):
+ """Provide an XML description of the domain. The description
+ may be reused later to relaunch the domain with
+ virDomainCreateXML(). """
+ ret = libvirtmod.virDomainGetXMLDesc(self._o, flags)
+ if ret is None: raise libvirtError ('virDomainGetXMLDesc() failed', dom=self)
+ return ret
+
+ def attachDevice(self, xml):
+ """Create a virtual device attachment to backend. """
+ ret = libvirtmod.virDomainAttachDevice(self._o, xml)
+ if ret == -1: raise libvirtError ('virDomainAttachDevice() failed', dom=self)
+ return ret
+
+ def blockPeek(self, path, offset, size, buffer, flags):
+ """This function allows you to read the contents of a domain's
+ disk device. Typical uses for this are to determine if the
+ domain has written a Master Boot Record (indicating that
+ the domain has completed installation), or to try to work
+ out the state of the domain's filesystems. (Note that in
+ the local case you might try to open the block device or
+ file directly, but that won't work in the remote case, nor
+ if you don't have sufficient permission. Hence the need for
+ this call). 'path' must be a device or file corresponding
+ to the domain. In other words it must be the precise string
+ returned in a <disk><source dev='...'/></disk> from
+ virDomainGetXMLDesc. 'offset' and 'size' represent an area
+ which must lie entirely within the device or file. 'size'
+ may be 0 to test if the call would succeed. 'buffer' is
+ the return buffer and must be at least 'size' bytes. NB.
+ The remote driver imposes a 64K byte limit on 'size'. For
+ your program to be able to work reliably over a remote
+ connection you should split large requests to <= 65536
+ bytes. """
+ ret = libvirtmod.virDomainBlockPeek(self._o, path, offset, size, buffer, flags)
+ if ret == -1: raise libvirtError ('virDomainBlockPeek() failed', dom=self)
+ return ret
+
+ def connect(self):
+ """Provides the connection pointer associated with a domain.
+ The reference counter on the connection is not increased by
+ this call. WARNING: When writing libvirt bindings in other
+ languages, do not use this function. Instead, store the
+ connection and the domain object together. """
+ ret = libvirtmod.virDomainGetConnect(self._o)
+ if ret is None:raise libvirtError('virDomainGetConnect() failed', dom=self)
+ __tmp = virConnect(_obj=ret)
+ return __tmp
+
+ def coreDump(self, to, flags):
+ """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. """
+ ret = libvirtmod.virDomainCoreDump(self._o, to, flags)
+ if ret == -1: raise libvirtError ('virDomainCoreDump() failed', dom=self)
+ return ret
+
+ def create(self):
+ """launch a defined domain. If the call succeed the domain
+ moves from the defined to the running domains pools. """
+ ret = libvirtmod.virDomainCreate(self._o)
+ if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
+ return ret
+
+ def destroy(self):
+ """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. This does not free the associated
+ virDomainPtr object. This function may require privileged
+ access """
+ ret = libvirtmod.virDomainDestroy(self._o)
+ if ret == -1: raise libvirtError ('virDomainDestroy() failed', dom=self)
+ return ret
+
+ def detachDevice(self, xml):
+ """Destroy a virtual device attachment to backend. """
+ ret = libvirtmod.virDomainDetachDevice(self._o, xml)
+ if ret == -1: raise libvirtError ('virDomainDetachDevice() failed', dom=self)
+ return ret
+
+ def maxMemory(self):
+ """Retrieve the maximum amount of physical memory allocated to
+ a domain. If domain is None, then this get the amount of
+ memory reserved to Domain0 i.e. the domain where the
+ application runs. """
+ ret = libvirtmod.virDomainGetMaxMemory(self._o)
+ if ret == 0: raise libvirtError ('virDomainGetMaxMemory() failed', dom=self)
+ return ret
+
+ def maxVcpus(self):
+ """Provides the maximum number of virtual CPUs supported for
+ the guest VM. If the guest is inactive, this is basically
+ the same as virConnectGetMaxVcpus. If the guest is running
+ this will reflect the maximum number of virtual CPUs the
+ guest was booted with. """
+ ret = libvirtmod.virDomainGetMaxVcpus(self._o)
+ if ret == -1: raise libvirtError ('virDomainGetMaxVcpus() failed', dom=self)
+ return ret
+
+ def memoryPeek(self, start, size, buffer, flags):
+ """This function allows you to read the contents of a domain's
+ memory. The memory which is read is controlled by the
+ 'start', 'size' and 'flags' parameters. If 'flags' is
+ VIR_MEMORY_VIRTUAL then the 'start' and 'size' parameters
+ are interpreted as virtual memory addresses for whichever
+ task happens to be running on the domain at the moment.
+ Although this sounds haphazard it is in fact what you want
+ in order to read Linux kernel state, because it ensures
+ that pointers in the kernel image can be interpreted
+ coherently. 'buffer' is the return buffer and must be at
+ least 'size' bytes. 'size' may be 0 to test if the call
+ would succeed. NB. The remote driver imposes a 64K byte
+ limit on 'size'. For your program to be able to work
+ reliably over a remote connection you should split large
+ requests to <= 65536 bytes. """
+ ret = libvirtmod.virDomainMemoryPeek(self._o, start, size, buffer, flags)
+ if ret == -1: raise libvirtError ('virDomainMemoryPeek() failed', dom=self)
+ return ret
+
+ def migrate(self, dconn, flags, dname, uri, bandwidth):
+ """Migrate the domain object from its current host to the
+ destination host given by dconn (a connection to the
+ destination host). Flags may be one of more of the
+ following: VIR_MIGRATE_LIVE Attempt a live migration. If
+ a hypervisor supports renaming domains during migration,
+ then you may set the dname parameter to the new name
+ (otherwise it keeps the same name). If this is not
+ supported by the hypervisor, dname must be None or else you
+ will get an error. Since typically the two hypervisors
+ connect directly to each other in order to perform the
+ migration, you may need to specify a path from the source
+ to the destination. This is the purpose of the uri
+ parameter. If uri is None, then libvirt will try to find
+ the best method. Uri may specify the hostname or IP
+ address of the destination host as seen from the source.
+ Or uri may be a URI giving transport, hostname, user, port,
+ etc. in the usual form. Refer to driver documentation for
+ the particular URIs supported. The maximum bandwidth (in
+ Mbps) that will be used to do migration can be specified
+ with the bandwidth parameter. If set to 0, libvirt will
+ choose a suitable default. Some hypervisors do not support
+ this feature and will return an error if bandwidth is not
+ 0. To see which features are supported by the current
+ hypervisor, see virConnectGetCapabilities,
+ /capabilities/host/migration_features. There are many
+ limitations on migration imposed by the underlying
+ technology - for example it may not be possible to migrate
+ between different processors even with the same
+ architecture, or between different types of hypervisor. """
+ if dconn is None: dconn__o = None
+ else: dconn__o = dconn._o
+ ret = libvirtmod.virDomainMigrate(self._o, dconn__o, flags, dname, uri, bandwidth)
+ if ret is None:raise libvirtError('virDomainMigrate() failed', dom=self)
+ __tmp = virDomain(self,_obj=ret)
+ return __tmp
+
+ def name(self):
+ """Get the public name for that domain """
+ ret = libvirtmod.virDomainGetName(self._o)
+ return ret
+
+ def reboot(self, flags):
+ """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. """
+ ret = libvirtmod.virDomainReboot(self._o, flags)
+ if ret == -1: raise libvirtError ('virDomainReboot() failed', dom=self)
+ return ret
+
+ def ref(self):
+ """Increment the reference count on the domain. For each
+ additional call to this method, there shall be a
+ corresponding call to virDomainFree to release the
+ reference count, once the caller no longer needs the
+ reference to this object. This method is typically useful
+ for applications where multiple threads are using a
+ connection, and it is required that the connection remain
+ open until all threads have finished using it. ie, each new
+ thread using a domain would increment the reference count. """
+ ret = libvirtmod.virDomainRef(self._o)
+ if ret == -1: raise libvirtError ('virDomainRef() failed', dom=self)
+ return ret
+
+ def resume(self):
+ """Resume an suspended domain, the process is restarted from
+ the state where it was frozen by calling
+ virSuspendDomain(). This function may requires privileged
+ access """
+ ret = libvirtmod.virDomainResume(self._o)
+ if ret == -1: raise libvirtError ('virDomainResume() failed', dom=self)
+ return ret
+
+ def save(self, to):
+ """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. """
+ ret = libvirtmod.virDomainSave(self._o, to)
+ if ret == -1: raise libvirtError ('virDomainSave() failed', dom=self)
+ return ret
+
+ def setAutostart(self, autostart):
+ """Configure the domain to be automatically started when the
+ host machine boots. """
+ ret = libvirtmod.virDomainSetAutostart(self._o, autostart)
+ if ret == -1: raise libvirtError ('virDomainSetAutostart() failed', dom=self)
+ return ret
+
+ def setMaxMemory(self, memory):
+ """Dynamically change the maximum amount of physical memory
+ allocated to a domain. If domain is None, then this change
+ the amount of memory reserved to Domain0 i.e. the domain
+ where the application runs. This function requires
+ privileged access to the hypervisor. """
+ ret = libvirtmod.virDomainSetMaxMemory(self._o, memory)
+ if ret == -1: raise libvirtError ('virDomainSetMaxMemory() failed', dom=self)
+ return ret
+
+ def setMemory(self, memory):
+ """Dynamically change the target amount of physical memory
+ allocated to a domain. If domain is None, then this change
+ the amount of memory reserved to Domain0 i.e. the domain
+ where the application runs. This function may requires
+ privileged access to the hypervisor. """
+ ret = libvirtmod.virDomainSetMemory(self._o, memory)
+ if ret == -1: raise libvirtError ('virDomainSetMemory() failed', dom=self)
+ return ret
+
+ def setVcpus(self, nvcpus):
+ """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
+ privileged access to the hypervisor. """
+ ret = libvirtmod.virDomainSetVcpus(self._o, nvcpus)
+ if ret == -1: raise libvirtError ('virDomainSetVcpus() failed', dom=self)
+ return ret
+
+ def shutdown(self):
+ """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 ? """
+ ret = libvirtmod.virDomainShutdown(self._o)
+ if ret == -1: raise libvirtError ('virDomainShutdown() failed', dom=self)
+ return ret
+
+ def suspend(self):
+ """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 privileged access. """
+ ret = libvirtmod.virDomainSuspend(self._o)
+ if ret == -1: raise libvirtError ('virDomainSuspend() failed', dom=self)
+ return ret
+
+ def undefine(self):
+ """Undefine a domain but does not stop it if it is running """
+ ret = libvirtmod.virDomainUndefine(self._o)
+ if ret == -1: raise libvirtError ('virDomainUndefine() failed', dom=self)
+ return ret
+
+ #
+ # virDomain functions from module python
+ #
+
+ def UUID(self):
+ """Extract the UUID unique Identifier of a domain. """
+ ret = libvirtmod.virDomainGetUUID(self._o)
+ if ret is None: raise libvirtError ('virDomainGetUUID() failed', dom=self)
+ return ret
+
+ def UUIDString(self):
+ """Fetch globally unique ID of the domain as a string. """
+ ret = libvirtmod.virDomainGetUUIDString(self._o)
+ if ret is None: raise libvirtError ('virDomainGetUUIDString() failed', dom=self)
+ return ret
+
+ def autostart(self):
+ """Extract the autostart flag for a domain """
+ ret = libvirtmod.virDomainGetAutostart(self._o)
+ if ret == -1: raise libvirtError ('virDomainGetAutostart() failed', dom=self)
+ return ret
+
+ def blockStats(self, path):
+ """Extracts block device statistics for a domain """
+ ret = libvirtmod.virDomainBlockStats(self._o, path)
+ return ret
+
+ def info(self):
+ """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. """
+ ret = libvirtmod.virDomainGetInfo(self._o)
+ if ret is None: raise libvirtError ('virDomainGetInfo() failed', dom=self)
+ return ret
+
+ def interfaceStats(self, path):
+ """Extracts interface device statistics for a domain """
+ ret = libvirtmod.virDomainInterfaceStats(self._o, path)
+ return ret
+
+ def pinVcpu(self, vcpu, cpumap):
+ """Dynamically change the real CPUs which can be allocated to
+ a virtual CPU. This function requires privileged access to
+ the hypervisor. """
+ ret = libvirtmod.virDomainPinVcpu(self._o, vcpu, cpumap)
+ if ret == -1: raise libvirtError ('virDomainPinVcpu() failed', dom=self)
+ return ret
+
+ def schedulerParameters(self):
+ """Get the scheduler parameters, the @params array will be
+ filled with the values. """
+ ret = libvirtmod.virDomainGetSchedulerParameters(self._o)
+ if ret == -1: raise libvirtError ('virDomainGetSchedulerParameters() failed', dom=self)
+ return ret
+
+ def schedulerType(self):
+ """Get the scheduler type. """
+ ret = libvirtmod.virDomainGetSchedulerType(self._o)
+ if ret is None: raise libvirtError ('virDomainGetSchedulerType() failed', dom=self)
+ return ret
+
+ def setSchedulerParameters(self, params):
+ """Change the scheduler parameters """
+ ret = libvirtmod.virDomainSetSchedulerParameters(self._o, params)
+ if ret == -1: raise libvirtError ('virDomainSetSchedulerParameters() failed', dom=self)
+ return ret
+
+ def vcpus(self):
+ """Extract information about virtual CPUs of domain, store it
+ in info array and also in cpumaps if this pointer is'nt
+ None. """
+ ret = libvirtmod.virDomainGetVcpus(self._o)
+ if ret == -1: raise libvirtError ('virDomainGetVcpus() failed', dom=self)
+ return ret
+
+class virNetwork:
+ def __init__(self, conn, _obj=None):
+ self._conn = conn
+ if _obj != None:self._o = _obj;return
+ self._o = None
+
+ def __del__(self):
+ if self._o != None:
+ libvirtmod.virNetworkFree(self._o)
+ self._o = None
+
+ #
+ # virNetwork functions from module libvirt
+ #
+
+ def XMLDesc(self, flags):
+ """Provide an XML description of the network. The description
+ may be reused later to relaunch the network with
+ virNetworkCreateXML(). """
+ ret = libvirtmod.virNetworkGetXMLDesc(self._o, flags)
+ if ret is None: raise libvirtError ('virNetworkGetXMLDesc() failed', net=self)
+ return ret
+
+ def bridgeName(self):
+ """Provides a bridge interface name to which a domain may
+ connect a network interface in order to join the network. """
+ ret = libvirtmod.virNetworkGetBridgeName(self._o)
+ if ret is None: raise libvirtError ('virNetworkGetBridgeName() failed', net=self)
+ return ret
+
+ def connect(self):
+ """Provides the connection pointer associated with a network.
+ The reference counter on the connection is not increased by
+ this call. WARNING: When writing libvirt bindings in other
+ languages, do not use this function. Instead, store the
+ connection and the network object together. """
+ ret = libvirtmod.virNetworkGetConnect(self._o)
+ if ret is None:raise libvirtError('virNetworkGetConnect() failed', net=self)
+ __tmp = virConnect(_obj=ret)
+ return __tmp
+
+ def create(self):
+ """Create and start a defined network. If the call succeed the
+ network moves from the defined to the running networks
+ pools. """
+ ret = libvirtmod.virNetworkCreate(self._o)
+ if ret == -1: raise libvirtError ('virNetworkCreate() failed', net=self)
+ return ret
+
+ def destroy(self):
+ """Destroy the network object. The running instance is
+ shutdown if not down already and all resources used by it
+ are given back to the hypervisor. This does not free the
+ associated virNetworkPtr object. This function may require
+ privileged access """
+ ret = libvirtmod.virNetworkDestroy(self._o)
+ if ret == -1: raise libvirtError ('virNetworkDestroy() failed', net=self)
+ return ret
+
+ def name(self):
+ """Get the public name for that network """
+ ret = libvirtmod.virNetworkGetName(self._o)
+ return ret
+
+ def ref(self):
+ """Increment the reference count on the network. For each
+ additional call to this method, there shall be a
+ corresponding call to virNetworkFree to release the
+ reference count, once the caller no longer needs the
+ reference to this object. This method is typically useful
+ for applications where multiple threads are using a
+ connection, and it is required that the connection remain
+ open until all threads have finished using it. ie, each new
+ thread using a network would increment the reference count. """
+ ret = libvirtmod.virNetworkRef(self._o)
+ if ret == -1: raise libvirtError ('virNetworkRef() failed', net=self)
+ return ret
+
+ def setAutostart(self, autostart):
+ """Configure the network to be automatically started when the
+ host machine boots. """
+ ret = libvirtmod.virNetworkSetAutostart(self._o, autostart)
+ if ret == -1: raise libvirtError ('virNetworkSetAutostart() failed', net=self)
+ return ret
+
+ def undefine(self):
+ """Undefine a network but does not stop it if it is running """
+ ret = libvirtmod.virNetworkUndefine(self._o)
+ if ret == -1: raise libvirtError ('virNetworkUndefine() failed', net=self)
+ return ret
+
+ #
+ # virNetwork functions from module python
+ #
+
+ def UUID(self):
+ """Extract the UUID unique Identifier of a network. """
+ ret = libvirtmod.virNetworkGetUUID(self._o)
+ if ret is None: raise libvirtError ('virNetworkGetUUID() failed', net=self)
+ return ret
+
+ def UUIDString(self):
+ """Fetch globally unique ID of the network as a string. """
+ ret = libvirtmod.virNetworkGetUUIDString(self._o)
+ if ret is None: raise libvirtError ('virNetworkGetUUIDString() failed', net=self)
+ return ret
+
+ def autostart(self):
+ """Extract the autostart flag for a network. """
+ ret = libvirtmod.virNetworkGetAutostart(self._o)
+ if ret == -1: raise libvirtError ('virNetworkGetAutostart() failed', net=self)
+ return ret
+
+ def networkLookupByUUID(self, uuid):
+ """Try to lookup a network on the given hypervisor based on
+ its UUID. """
+ ret = libvirtmod.virNetworkLookupByUUID(self._o, uuid)
+ if ret is None:raise libvirtError('virNetworkLookupByUUID() failed', net=self)
+ __tmp = virNetwork(self, _obj=ret)
+ return __tmp
+
+class virStoragePool:
+ def __init__(self, conn, _obj=None):
+ self._conn = conn
+ if not isinstance(conn, virConnect):
+ self._conn = conn._conn
+ if _obj != None:self._o = _obj;return
+ self._o = None
+
+ def __del__(self):
+ if self._o != None:
+ libvirtmod.virStoragePoolFree(self._o)
+ self._o = None
+
+ #
+ # virStoragePool functions from module libvirt
+ #
+
+ def XMLDesc(self, flags):
+ """Fetch an XML document describing all aspects of the storage
+ pool. This is suitable for later feeding back into the
+ virStoragePoolCreateXML method. """
+ ret = libvirtmod.virStoragePoolGetXMLDesc(self._o, flags)
+ if ret is None: raise libvirtError ('virStoragePoolGetXMLDesc() failed', pool=self)
+ return ret
+
+ def build(self, flags):
+ """Build the underlying storage pool """
+ ret = libvirtmod.virStoragePoolBuild(self._o, flags)
+ if ret == -1: raise libvirtError ('virStoragePoolBuild() failed', pool=self)
+ return ret
+
+ def connect(self):
+ """Provides the connection pointer associated with a storage
+ pool. The reference counter on the connection is not
+ increased by this call. WARNING: When writing libvirt
+ bindings in other languages, do not use this function.
+ Instead, store the connection and the pool object together. """
+ ret = libvirtmod.virStoragePoolGetConnect(self._o)
+ if ret is None:raise libvirtError('virStoragePoolGetConnect() failed', pool=self)
+ __tmp = virConnect(_obj=ret)
+ return __tmp
+
+ def create(self, flags):
+ """Starts an inactive storage pool """
+ ret = libvirtmod.virStoragePoolCreate(self._o, flags)
+ if ret == -1: raise libvirtError ('virStoragePoolCreate() failed', pool=self)
+ return ret
+
+ def createXML(self, xmldesc, flags):
+ """Create a storage volume within a pool based on an XML
+ description. Not all pools support creation of volumes """
+ ret = libvirtmod.virStorageVolCreateXML(self._o, xmldesc, flags)
+ if ret is None:raise libvirtError('virStorageVolCreateXML() failed', pool=self)
+ __tmp = virStorageVol(self, _obj=ret)
+ return __tmp
+
+ def delete(self, flags):
+ """Delete the underlying pool resources. This is a
+ non-recoverable operation. The virStoragePoolPtr object
+ itself is not free'd. """
+ ret = libvirtmod.virStoragePoolDelete(self._o, flags)
+ if ret == -1: raise libvirtError ('virStoragePoolDelete() failed', pool=self)
+ return ret
+
+ def destroy(self):
+ """Destroy an active storage pool. This will deactivate the
+ pool on the host, but keep any persistent config associated
+ with it. If it has a persistent config it can later be
+ restarted with virStoragePoolCreate(). This does not free
+ the associated virStoragePoolPtr object. """
+ ret = libvirtmod.virStoragePoolDestroy(self._o)
+ if ret == -1: raise libvirtError ('virStoragePoolDestroy() failed', pool=self)
+ return ret
+
+ def name(self):
+ """Fetch the locally unique name of the storage pool """
+ ret = libvirtmod.virStoragePoolGetName(self._o)
+ return ret
+
+ def numOfVolumes(self):
+ """Fetch the number of storage volumes within a pool """
+ ret = libvirtmod.virStoragePoolNumOfVolumes(self._o)
+ if ret == -1: raise libvirtError ('virStoragePoolNumOfVolumes() failed', pool=self)
+ return ret
+
+ def ref(self):
+ """Increment the reference count on the pool. For each
+ additional call to this method, there shall be a
+ corresponding call to virStoragePoolFree to release the
+ reference count, once the caller no longer needs the
+ reference to this object. This method is typically useful
+ for applications where multiple threads are using a
+ connection, and it is required that the connection remain
+ open until all threads have finished using it. ie, each new
+ thread using a pool would increment the reference count. """
+ ret = libvirtmod.virStoragePoolRef(self._o)
+ if ret == -1: raise libvirtError ('virStoragePoolRef() failed', pool=self)
+ return ret
+
+ def refresh(self, flags):
+ """Request that the pool refresh its list of volumes. This may
+ involve communicating with a remote server, and/or
+ initializing new devices at the OS layer """
+ ret = libvirtmod.virStoragePoolRefresh(self._o, flags)
+ if ret == -1: raise libvirtError ('virStoragePoolRefresh() failed', pool=self)
+ return ret
+
+ def setAutostart(self, autostart):
+ """Sets the autostart flag """
+ ret = libvirtmod.virStoragePoolSetAutostart(self._o, autostart)
+ if ret == -1: raise libvirtError ('virStoragePoolSetAutostart() failed', pool=self)
+ return ret
+
+ def storageVolLookupByName(self, name):
+ """Fetch a pointer to a storage volume based on its name
+ within a pool """
+ ret = libvirtmod.virStorageVolLookupByName(self._o, name)
+ if ret is None:raise libvirtError('virStorageVolLookupByName() failed', pool=self)
+ __tmp = virStorageVol(self, _obj=ret)
+ return __tmp
+
+ def undefine(self):
+ """Undefine an inactive storage pool """
+ ret = libvirtmod.virStoragePoolUndefine(self._o)
+ if ret == -1: raise libvirtError ('virStoragePoolUndefine() failed', pool=self)
+ return ret
+
+ #
+ # virStoragePool functions from module python
+ #
+
+ def UUID(self):
+ """Extract the UUID unique Identifier of a storage pool. """
+ ret = libvirtmod.virStoragePoolGetUUID(self._o)
+ if ret is None: raise libvirtError ('virStoragePoolGetUUID() failed', pool=self)
+ return ret
+
+ def UUIDString(self):
+ """Fetch globally unique ID of the storage pool as a string. """
+ ret = libvirtmod.virStoragePoolGetUUIDString(self._o)
+ if ret is None: raise libvirtError ('virStoragePoolGetUUIDString() failed', pool=self)
+ return ret
+
+ def autostart(self):
+ """Extract the autostart flag for a storage pool """
+ ret = libvirtmod.virStoragePoolGetAutostart(self._o)
+ if ret == -1: raise libvirtError ('virStoragePoolGetAutostart() failed', pool=self)
+ return ret
+
+ def info(self):
+ """Extract information about a storage pool. Note that if the
+ connection used to get the domain is limited only a partial
+ set of the information can be extracted. """
+ ret = libvirtmod.virStoragePoolGetInfo(self._o)
+ if ret is None: raise libvirtError ('virStoragePoolGetInfo() failed', pool=self)
+ return ret
+
+ def listVolumes(self):
+ """list the storage volumes, stores the pointers to the names
+ in @names """
+ ret = libvirtmod.virStoragePoolListVolumes(self._o)
+ if ret is None: raise libvirtError ('virStoragePoolListVolumes() failed', pool=self)
+ return ret
+
+class virStorageVol:
+ def __init__(self, conn, _obj=None):
+ self._conn = conn
+ if not isinstance(conn, virConnect):
+ self._conn = conn._conn
+ if _obj != None:self._o = _obj;return
+ self._o = None
+
+ def __del__(self):
+ if self._o != None:
+ libvirtmod.virStorageVolFree(self._o)
+ self._o = None
+
+ #
+ # virStorageVol functions from module libvirt
+ #
+
+ def XMLDesc(self, flags):
+ """Fetch an XML document describing all aspects of the storage
+ volume """
+ ret = libvirtmod.virStorageVolGetXMLDesc(self._o, flags)
+ if ret is None: raise libvirtError ('virStorageVolGetXMLDesc() failed', vol=self)
+ return ret
+
+ def connect(self):
+ """Provides the connection pointer associated with a storage
+ volume. The reference counter on the connection is not
+ increased by this call. WARNING: When writing libvirt
+ bindings in other languages, do not use this function.
+ Instead, store the connection and the volume object
+ together. """
+ ret = libvirtmod.virStorageVolGetConnect(self._o)
+ if ret is None:raise libvirtError('virStorageVolGetConnect() failed', vol=self)
+ __tmp = virConnect(_obj=ret)
+ return __tmp
+
+ def delete(self, flags):
+ """Delete the storage volume from the pool """
+ ret = libvirtmod.virStorageVolDelete(self._o, flags)
+ if ret == -1: raise libvirtError ('virStorageVolDelete() failed', vol=self)
+ return ret
+
+ def key(self):
+ """Fetch the storage volume key. This is globally unique, so
+ the same volume will have the same key no matter what host
+ it is accessed from """
+ ret = libvirtmod.virStorageVolGetKey(self._o)
+ if ret is None: raise libvirtError ('virStorageVolGetKey() failed', vol=self)
+ return ret
+
+ def name(self):
+ """Fetch the storage volume name. This is unique within the
+ scope of a pool """
+ ret = libvirtmod.virStorageVolGetName(self._o)
+ return ret
+
+ def path(self):
+ """Fetch the storage volume path. Depending on the pool
+ configuration this is either persistent across hosts, or
+ dynamically assigned at pool startup. Consult pool
+ documentation for information on getting the persistent
+ naming """
+ ret = libvirtmod.virStorageVolGetPath(self._o)
+ if ret is None: raise libvirtError ('virStorageVolGetPath() failed', vol=self)
+ return ret
+
+ def ref(self):
+ """Increment the reference count on the vol. For each
+ additional call to this method, there shall be a
+ corresponding call to virStorageVolFree to release the
+ reference count, once the caller no longer needs the
+ reference to this object. This method is typically useful
+ for applications where multiple threads are using a
+ connection, and it is required that the connection remain
+ open until all threads have finished using it. ie, each new
+ thread using a vol would increment the reference count. """
+ ret = libvirtmod.virStorageVolRef(self._o)
+ if ret == -1: raise libvirtError ('virStorageVolRef() failed', vol=self)
+ return ret
+
+ def storagePoolLookupByVolume(self):
+ """Fetch a storage pool which contains a particular volume """
+ ret = libvirtmod.virStoragePoolLookupByVolume(self._o)
+ if ret is None:raise libvirtError('virStoragePoolLookupByVolume() failed', vol=self)
+ __tmp = virStoragePool(self, _obj=ret)
+ return __tmp
+
+ #
+ # virStorageVol functions from module python
+ #
+
+ def info(self):
+ """Extract information about a storage pool. Note that if the
+ connection used to get the domain is limited only a partial
+ set of the information can be extracted. """
+ ret = libvirtmod.virStorageVolGetInfo(self._o)
+ if ret is None: raise libvirtError ('virStorageVolGetInfo() failed', vol=self)
+ return ret
+
+class virConnect:
+ def __init__(self, _obj=None):
+ if _obj != None:self._o = _obj;return
+ self._o = None
+
+ #
+ # virConnect functions from module libvirt
+ #
+
+ def close(self):
+ """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. """
+ ret = libvirtmod.virConnectClose(self._o)
+ self._o = None
+ if ret == -1: raise libvirtError ('virConnectClose() failed', conn=self)
+ return ret
+
+ def createLinux(self, xmlDesc, flags):
+ """Deprecated after 0.4.6. Renamed to virDomainCreateXML()
+ providing identical functionality. This existing name will
+ left indefinitely for API compatability. """
+ ret = libvirtmod.virDomainCreateLinux(self._o, xmlDesc, flags)
+ if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self)
+ __tmp = virDomain(self,_obj=ret)
+ return __tmp
+
+ def createXML(self, xmlDesc, flags):
+ """Create a new device on the VM host machine, for example,
+ virtual HBAs created using vport_create. """
+ ret = libvirtmod.virNodeDeviceCreateXML(self._o, xmlDesc, flags)
+ if ret is None:raise libvirtError('virNodeDeviceCreateXML() failed', conn=self)
+ __tmp = virNodeDevice(self, _obj=ret)
+ return __tmp
+
+ def createXML(self, xmlDesc, flags):
+ """Launch a new guest domain, based on an XML description
+ similar to the one returned by virDomainGetXMLDesc() This
+ function may requires privileged access to the hypervisor.
+ The domain is not persistent, so its definition will
+ disappear when it is destroyed, or if the host is restarted
+ (see virDomainDefineXML() to define persistent domains). """
+ ret = libvirtmod.virDomainCreateXML(self._o, xmlDesc, flags)
+ if ret is None:raise libvirtError('virDomainCreateXML() failed', conn=self)
+ __tmp = virDomain(self,_obj=ret)
+ return __tmp
+
+ def defineXML(self, xml):
+ """Define a domain, but does not start it. This definition is
+ persistent, until explicitly undefined with
+ virDomainUndefine(). A previous definition for this domain
+ would be overriden if it already exists. """
+ ret = libvirtmod.virDomainDefineXML(self._o, xml)
+ if ret is None:raise libvirtError('virDomainDefineXML() failed', conn=self)
+ __tmp = virDomain(self,_obj=ret)
+ return __tmp
+
+ def findStoragePoolSources(self, type, srcSpec, flags):
+ """Talks to a storage backend and attempts to auto-discover
+ the set of available storage pool sources. e.g. For iSCSI
+ this would be a set of iSCSI targets. For NFS this would be
+ a list of exported paths. The srcSpec (optional for some
+ storage pool types, e.g. local ones) is an instance of the
+ storage pool's source element specifying where to look for
+ the pools. srcSpec is not required for some types (e.g.,
+ those querying local storage resources only) """
+ ret = libvirtmod.virConnectFindStoragePoolSources(self._o, type, srcSpec, flags)
+ if ret is None: raise libvirtError ('virConnectFindStoragePoolSources() failed', conn=self)
+ return ret
+
+ def getCapabilities(self):
+ """Provides capabilities of the hypervisor / driver. """
+ ret = libvirtmod.virConnectGetCapabilities(self._o)
+ if ret is None: raise libvirtError ('virConnectGetCapabilities() failed', conn=self)
+ return ret
+
+ def getFreeMemory(self):
+ """provides the free memory available on the Node Note: most
+ libvirt APIs provide memory sizes in kilobytes, but in this
+ function the returned value is in bytes. Divide by 1024 as
+ necessary. """
+ ret = libvirtmod.virNodeGetFreeMemory(self._o)
+ return ret
+
+ def getHostname(self):
+ """This returns the system hostname on which the hypervisor is
+ running (the result of the gethostname(2) system call). If
+ we are connected to a remote system, then this returns the
+ hostname of the remote system. """
+ ret = libvirtmod.virConnectGetHostname(self._o)
+ if ret is None: raise libvirtError ('virConnectGetHostname() failed', conn=self)
+ return ret
+
+ def getMaxVcpus(self, type):
+ """Provides the maximum number of virtual CPUs supported for a
+ guest VM of a specific type. The 'type' parameter here
+ corresponds to the 'type' attribute in the <domain> element
+ of the XML. """
+ ret = libvirtmod.virConnectGetMaxVcpus(self._o, type)
+ if ret == -1: raise libvirtError ('virConnectGetMaxVcpus() failed', conn=self)
+ return ret
+
+ def getType(self):
+ """Get the name of the Hypervisor software used. """
+ ret = libvirtmod.virConnectGetType(self._o)
+ if ret is None: raise libvirtError ('virConnectGetType() failed', conn=self)
+ return ret
+
+ def getURI(self):
+ """This returns the URI (name) of the hypervisor connection.
+ Normally this is the same as or similar to the string
+ passed to the virConnectOpen/virConnectOpenReadOnly call,
+ but the driver may make the URI canonical. If name == None
+ was passed to virConnectOpen, then the driver will return a
+ non-None URI which can be used to connect to the same
+ hypervisor later. """
+ ret = libvirtmod.virConnectGetURI(self._o)
+ if ret is None: raise libvirtError ('virConnectGetURI() failed', conn=self)
+ return ret
+
+ def lookupByID(self, id):
+ """Try to find a domain based on the hypervisor ID number Note
+ that this won't work for inactive domains which have an ID
+ of -1, in that case a lookup based on the Name or UUId need
+ to be done instead. """
+ ret = libvirtmod.virDomainLookupByID(self._o, id)
+ if ret is None:raise libvirtError('virDomainLookupByID() failed', conn=self)
+ __tmp = virDomain(self,_obj=ret)
+ return __tmp
+
+ def lookupByName(self, name):
+ """Try to lookup a domain on the given hypervisor based on its
+ name. """
+ ret = libvirtmod.virDomainLookupByName(self._o, name)
+ if ret is None:raise libvirtError('virDomainLookupByName() failed', conn=self)
+ __tmp = virDomain(self,_obj=ret)
+ return __tmp
+
+ def lookupByUUIDString(self, uuidstr):
+ """Try to lookup a domain on the given hypervisor based on its
+ UUID. """
+ ret = libvirtmod.virDomainLookupByUUIDString(self._o, uuidstr)
+ if ret is None:raise libvirtError('virDomainLookupByUUIDString() failed', conn=self)
+ __tmp = virDomain(self,_obj=ret)
+ return __tmp
+
+ def migrate(self, domain, flags, dname, uri, bandwidth):
+ """Migrate the domain object from its current host to the
+ destination host given by dconn (a connection to the
+ destination host). Flags may be one of more of the
+ following: VIR_MIGRATE_LIVE Attempt a live migration. If
+ a hypervisor supports renaming domains during migration,
+ then you may set the dname parameter to the new name
+ (otherwise it keeps the same name). If this is not
+ supported by the hypervisor, dname must be None or else you
+ will get an error. Since typically the two hypervisors
+ connect directly to each other in order to perform the
+ migration, you may need to specify a path from the source
+ to the destination. This is the purpose of the uri
+ parameter. If uri is None, then libvirt will try to find
+ the best method. Uri may specify the hostname or IP
+ address of the destination host as seen from the source.
+ Or uri may be a URI giving transport, hostname, user, port,
+ etc. in the usual form. Refer to driver documentation for
+ the particular URIs supported. The maximum bandwidth (in
+ Mbps) that will be used to do migration can be specified
+ with the bandwidth parameter. If set to 0, libvirt will
+ choose a suitable default. Some hypervisors do not support
+ this feature and will return an error if bandwidth is not
+ 0. To see which features are supported by the current
+ hypervisor, see virConnectGetCapabilities,
+ /capabilities/host/migration_features. There are many
+ limitations on migration imposed by the underlying
+ technology - for example it may not be possible to migrate
+ between different processors even with the same
+ architecture, or between different types of hypervisor. """
+ if domain is None: domain__o = None
+ else: domain__o = domain._o
+ ret = libvirtmod.virDomainMigrate(domain__o, self._o, flags, dname, uri, bandwidth)
+ if ret is None:raise libvirtError('virDomainMigrate() failed', conn=self)
+ __tmp = virDomain(self,_obj=ret)
+ return __tmp
+
+ def networkCreateXML(self, xmlDesc):
+ """Create and start a new virtual network, based on an XML
+ description similar to the one returned by
+ virNetworkGetXMLDesc() """
+ ret = libvirtmod.virNetworkCreateXML(self._o, xmlDesc)
+ if ret is None:raise libvirtError('virNetworkCreateXML() failed', conn=self)
+ __tmp = virNetwork(self, _obj=ret)
+ return __tmp
+
+ def networkDefineXML(self, xml):
+ """Define a network, but does not create it """
+ ret = libvirtmod.virNetworkDefineXML(self._o, xml)
+ if ret is None:raise libvirtError('virNetworkDefineXML() failed', conn=self)
+ __tmp = virNetwork(self, _obj=ret)
+ return __tmp
+
+ def networkLookupByName(self, name):
+ """Try to lookup a network on the given hypervisor based on
+ its name. """
+ ret = libvirtmod.virNetworkLookupByName(self._o, name)
+ if ret is None:raise libvirtError('virNetworkLookupByName() failed', conn=self)
+ __tmp = virNetwork(self, _obj=ret)
+ return __tmp
+
+ def networkLookupByUUIDString(self, uuidstr):
+ """Try to lookup a network on the given hypervisor based on
+ its UUID. """
+ ret = libvirtmod.virNetworkLookupByUUIDString(self._o, uuidstr)
+ if ret is None:raise libvirtError('virNetworkLookupByUUIDString() failed', conn=self)
+ __tmp = virNetwork(self, _obj=ret)
+ return __tmp
+
+ def nodeDeviceLookupByName(self, name):
+ """Lookup a node device by its name. """
+ ret = libvirtmod.virNodeDeviceLookupByName(self._o, name)
+ if ret is None:raise libvirtError('virNodeDeviceLookupByName() failed', conn=self)
+ __tmp = virNodeDevice(self, _obj=ret)
+ return __tmp
+
+ def numOfDefinedDomains(self):
+ """Provides the number of defined but inactive domains. """
+ ret = libvirtmod.virConnectNumOfDefinedDomains(self._o)
+ if ret == -1: raise libvirtError ('virConnectNumOfDefinedDomains() failed', conn=self)
+ return ret
+
+ def numOfDefinedNetworks(self):
+ """Provides the number of inactive networks. """
+ ret = libvirtmod.virConnectNumOfDefinedNetworks(self._o)
+ if ret == -1: raise libvirtError ('virConnectNumOfDefinedNetworks() failed', conn=self)
+ return ret
+
+ def numOfDefinedStoragePools(self):
+ """Provides the number of inactive storage pools """
+ ret = libvirtmod.virConnectNumOfDefinedStoragePools(self._o)
+ if ret == -1: raise libvirtError ('virConnectNumOfDefinedStoragePools() failed', conn=self)
+ return ret
+
+ def numOfDevices(self, cap, flags):
+ """Provides the number of node devices. If the optional 'cap'
+ argument is non-None, then the count will be restricted to
+ devices with the specified capability """
+ ret = libvirtmod.virNodeNumOfDevices(self._o, cap, flags)
+ if ret == -1: raise libvirtError ('virNodeNumOfDevices() failed', conn=self)
+ return ret
+
+ def numOfDomains(self):
+ """Provides the number of active domains. """
+ ret = libvirtmod.virConnectNumOfDomains(self._o)
+ if ret == -1: raise libvirtError ('virConnectNumOfDomains() failed', conn=self)
+ return ret
+
+ def numOfNetworks(self):
+ """Provides the number of active networks. """
+ ret = libvirtmod.virConnectNumOfNetworks(self._o)
+ if ret == -1: raise libvirtError ('virConnectNumOfNetworks() failed', conn=self)
+ return ret
+
+ def numOfStoragePools(self):
+ """Provides the number of active storage pools """
+ ret = libvirtmod.virConnectNumOfStoragePools(self._o)
+ if ret == -1: raise libvirtError ('virConnectNumOfStoragePools() failed', conn=self)
+ return ret
+
+ def ref(self):
+ """Increment the reference count on the connection. For each
+ additional call to this method, there shall be a
+ corresponding call to virConnectClose to release the
+ reference count, once the caller no longer needs the
+ reference to this object. This method is typically useful
+ for applications where multiple threads are using a
+ connection, and it is required that the connection remain
+ open until all threads have finished using it. ie, each new
+ thread using a connection would increment the reference
+ count. """
+ ret = libvirtmod.virConnectRef(self._o)
+ if ret == -1: raise libvirtError ('virConnectRef() failed', conn=self)
+ return ret
+
+ def restore(self, frm):
+ """This method will restore a domain saved to disk by
+ virDomainSave(). """
+ ret = libvirtmod.virDomainRestore(self._o, frm)
+ if ret == -1: raise libvirtError ('virDomainRestore() failed', conn=self)
+ return ret
+
+ def storagePoolCreateXML(self, xmlDesc, flags):
+ """Create a new storage based on its XML description. The pool
+ is not persistent, so its definition will disappear when it
+ is destroyed, or if the host is restarted """
+ ret = libvirtmod.virStoragePoolCreateXML(self._o, xmlDesc, flags)
+ if ret is None:raise libvirtError('virStoragePoolCreateXML() failed', conn=self)
+ __tmp = virStoragePool(self, _obj=ret)
+ return __tmp
+
+ def storagePoolDefineXML(self, xml, flags):
+ """Define a new inactive storage pool based on its XML
+ description. The pool is persistent, until explicitly
+ undefined. """
+ ret = libvirtmod.virStoragePoolDefineXML(self._o, xml, flags)
+ if ret is None:raise libvirtError('virStoragePoolDefineXML() failed', conn=self)
+ __tmp = virStoragePool(self, _obj=ret)
+ return __tmp
+
+ def storagePoolLookupByName(self, name):
+ """Fetch a storage pool based on its unique name """
+ ret = libvirtmod.virStoragePoolLookupByName(self._o, name)
+ if ret is None:raise libvirtError('virStoragePoolLookupByName() failed', conn=self)
+ __tmp = virStoragePool(self, _obj=ret)
+ return __tmp
+
+ def storagePoolLookupByUUID(self, uuid):
+ """Fetch a storage pool based on its globally unique id """
+ ret = libvirtmod.virStoragePoolLookupByUUID(self._o, uuid)
+ if ret is None:raise libvirtError('virStoragePoolLookupByUUID() failed', conn=self)
+ __tmp = virStoragePool(self, _obj=ret)
+ return __tmp
+
+ def storagePoolLookupByUUIDString(self, uuidstr):
+ """Fetch a storage pool based on its globally unique id """
+ ret = libvirtmod.virStoragePoolLookupByUUIDString(self._o, uuidstr)
+ if ret is None:raise libvirtError('virStoragePoolLookupByUUIDString() failed', conn=self)
+ __tmp = virStoragePool(self, _obj=ret)
+ return __tmp
+
+ def storageVolLookupByKey(self, key):
+ """Fetch a pointer to a storage volume based on its globally
+ unique key """
+ ret = libvirtmod.virStorageVolLookupByKey(self._o, key)
+ if ret is None:raise libvirtError('virStorageVolLookupByKey() failed', conn=self)
+ __tmp = virStorageVol(self, _obj=ret)
+ return __tmp
+
+ def storageVolLookupByPath(self, path):
+ """Fetch a pointer to a storage volume based on its locally
+ (host) unique path """
+ ret = libvirtmod.virStorageVolLookupByPath(self._o, path)
+ if ret is None:raise libvirtError('virStorageVolLookupByPath() failed', conn=self)
+ __tmp = virStorageVol(self, _obj=ret)
+ return __tmp
+
+ #
+ # virConnect functions from module python
+ #
+
+ def getCellsFreeMemory(self, startCell, maxCells):
+ """Returns the available memory for a list of cells """
+ ret = libvirtmod.virNodeGetCellsFreeMemory(self._o, startCell, maxCells)
+ if ret is None: raise libvirtError ('virNodeGetCellsFreeMemory() failed', conn=self)
+ return ret
+
+ def getInfo(self):
+ """Extract hardware information about the Node. """
+ ret = libvirtmod.virNodeGetInfo(self._o)
+ if ret is None: raise libvirtError ('virNodeGetInfo() failed', conn=self)
+ return ret
+
+ def listDefinedDomains(self):
+ """list the defined domains, stores the pointers to the names
+ in @names """
+ ret = libvirtmod.virConnectListDefinedDomains(self._o)
+ if ret is None: raise libvirtError ('virConnectListDefinedDomains() failed', conn=self)
+ return ret
+
+ def listDefinedNetworks(self):
+ """list the defined networks, stores the pointers to the names
+ in @names """
+ ret = libvirtmod.virConnectListDefinedNetworks(self._o)
+ if ret is None: raise libvirtError ('virConnectListDefinedNetworks() failed', conn=self)
+ return ret
+
+ def listDefinedStoragePools(self):
+ """list the defined storage pool, stores the pointers to the
+ names in @names """
+ ret = libvirtmod.virConnectListDefinedStoragePools(self._o)
+ if ret is None: raise libvirtError ('virConnectListDefinedStoragePools() failed', conn=self)
+ return ret
+
+ def listDevices(self, cap, flags):
+ """list the node devices """
+ ret = libvirtmod.virNodeListDevices(self._o, cap, flags)
+ if ret is None: raise libvirtError ('virNodeListDevices() failed', conn=self)
+ return ret
+
+ def listDomainsID(self):
+ """Returns the list of the ID of the domains on the hypervisor """
+ ret = libvirtmod.virConnectListDomainsID(self._o)
+ if ret is None: raise libvirtError ('virConnectListDomainsID() failed', conn=self)
+ return ret
+
+ def listNetworks(self):
+ """list the networks, stores the pointers to the names in
+ @names """
+ ret = libvirtmod.virConnectListNetworks(self._o)
+ if ret is None: raise libvirtError ('virConnectListNetworks() failed', conn=self)
+ return ret
+
+ def listStoragePools(self):
+ """list the storage pools, stores the pointers to the names in
+ @names """
+ ret = libvirtmod.virConnectListStoragePools(self._o)
+ if ret is None: raise libvirtError ('virConnectListStoragePools() failed', conn=self)
+ return ret
+
+ def lookupByUUID(self, uuid):
+ """Try to lookup a domain on the given hypervisor based on its
+ UUID. """
+ ret = libvirtmod.virDomainLookupByUUID(self._o, uuid)
+ if ret is None:raise libvirtError('virDomainLookupByUUID() failed', conn=self)
+ __tmp = virDomain(self,_obj=ret)
+ return __tmp
+
+ #
+ # virConnect functions from module virterror
+ #
+
+ def virConnGetLastError(self):
+ """Provide a pointer to the last error caught on that
+ connection This method is not protected against access
+ from multiple threads. In a multi-threaded application,
+ always use the global virGetLastError() API which is backed
+ by thread local storage. If the connection object was
+ discovered to be invalid by an API call, then the error
+ will be reported against the global error object. Since
+ 0.6.0, all errors reported in the per-connection object are
+ also duplicated in the global error object. As such an
+ application can always use virGetLastError(). This method
+ remains for backwards compatability. """
+ ret = libvirtmod.virConnGetLastError(self._o)
+ return ret
+
+ def virConnResetLastError(self):
+ """The error object is kept in thread local storage, so
+ separate threads can safely access this concurrently.
+ Reset the last error caught on that connection """
+ libvirtmod.virConnResetLastError(self._o)
+
+ #
+ # virConnect methods from virConnect.py (hand coded)
+ #
+ def __del__(self):
+ try:
+ for cb,opaque in self.domainEventCallbacks.items():
+ del self.domainEventCallbacks[cb]
+ self.domainEventCallbacks = None
+ libvirtmod.virConnectDomainEventDeregister(self._o, self)
+ except AttributeError:
+ pass
+
+ if self._o != None:
+ libvirtmod.virConnectClose(self._o)
+ self._o = None
+
+ def domainEventDeregister(self, cb):
+ """Removes a Domain Event Callback. De-registering for a
+ domain callback will disable delivery of this event type """
+ try:
+ del self.domainEventCallbacks[cb]
+ if len(self.domainEventCallbacks) == 0:
+ ret = libvirtmod.virConnectDomainEventDeregister(self._o, self)
+ if ret == -1: raise libvirtError ('virConnectDomainEventDeregister() failed', conn=self)
+ except AttributeError:
+ pass
+
+ def domainEventRegister(self, cb, opaque):
+ """Adds a Domain Event Callback. Registering for a domain
+ callback will enable delivery of the events """
+ try:
+ self.domainEventCallbacks[cb] = opaque
+ except AttributeError:
+ self.domainEventCallbacks = {cb:opaque}
+ ret = libvirtmod.virConnectDomainEventRegister(self._o, self)
+ if ret == -1: raise libvirtError ('virConnectDomainEventRegister() failed', conn=self)
+
+ def dispatchDomainEventCallbacks(self, dom, event, detail):
+ """Dispatches events to python user domain event callbacks
+ """
+ try:
+ for cb,opaque in self.domainEventCallbacks.items():
+ cb(self,dom,event,detail,opaque)
+ return 0
+ except AttributeError:
+ pass
+class virNodeDevice:
+ def __init__(self, conn, _obj=None):
+ self._conn = conn
+ if _obj != None:self._o = _obj;return
+ self._o = None
+
+ def __del__(self):
+ if self._o != None:
+ libvirtmod.virNodeDeviceFree(self._o)
+ self._o = None
+
+ #
+ # virNodeDevice functions from module libvirt
+ #
+
+ def XMLDesc(self, flags):
+ """Fetch an XML document describing all aspects of the device. """
+ ret = libvirtmod.virNodeDeviceGetXMLDesc(self._o, flags)
+ if ret is None: raise libvirtError ('virNodeDeviceGetXMLDesc() failed')
+ return ret
+
+ def destroy(self):
+ """Destroy the device object. The virtual device is removed
+ from the host operating system. This function may require
+ privileged access """
+ ret = libvirtmod.virNodeDeviceDestroy(self._o)
+ if ret == -1: raise libvirtError ('virNodeDeviceDestroy() failed')
+ return ret
+
+ def dettach(self):
+ """Dettach the node device from the node itself so that it may
+ be assigned to a guest domain. Depending on the
+ hypervisor, this may involve operations such as unbinding
+ any device drivers from the device, binding the device to a
+ dummy device driver and resetting the device. If the
+ device is currently in use by the node, this method may
+ fail. Once the device is not assigned to any guest, it may
+ be re-attached to the node using the
+ virNodeDeviceReattach() method. """
+ ret = libvirtmod.virNodeDeviceDettach(self._o)
+ if ret == -1: raise libvirtError ('virNodeDeviceDettach() failed')
+ return ret
+
+ def name(self):
+ """Just return the device name """
+ ret = libvirtmod.virNodeDeviceGetName(self._o)
+ return ret
+
+ def numOfCaps(self):
+ """Accessor for the number of capabilities supported by the
+ device. """
+ ret = libvirtmod.virNodeDeviceNumOfCaps(self._o)
+ if ret == -1: raise libvirtError ('virNodeDeviceNumOfCaps() failed')
+ return ret
+
+ def parent(self):
+ """Accessor for the parent of the device """
+ ret = libvirtmod.virNodeDeviceGetParent(self._o)
+ return ret
+
+ def reAttach(self):
+ """Re-attach a previously dettached node device to the node so
+ that it may be used by the node again. Depending on the
+ hypervisor, this may involve operations such as resetting
+ the device, unbinding it from a dummy device driver and
+ binding it to its appropriate driver. If the device is
+ currently in use by a guest, this method may fail. """
+ ret = libvirtmod.virNodeDeviceReAttach(self._o)
+ if ret == -1: raise libvirtError ('virNodeDeviceReAttach() failed')
+ return ret
+
+ def ref(self):
+ """Increment the reference count on the dev. For each
+ additional call to this method, there shall be a
+ corresponding call to virNodeDeviceFree to release the
+ reference count, once the caller no longer needs the
+ reference to this object. This method is typically useful
+ for applications where multiple threads are using a
+ connection, and it is required that the connection remain
+ open until all threads have finished using it. ie, each new
+ thread using a dev would increment the reference count. """
+ ret = libvirtmod.virNodeDeviceRef(self._o)
+ if ret == -1: raise libvirtError ('virNodeDeviceRef() failed')
+ return ret
+
+ def reset(self):
+ """Reset a previously dettached node device to the node before
+ or after assigning it to a guest. The exact reset
+ semantics depends on the hypervisor and device type but,
+ for example, KVM will attempt to reset PCI devices with a
+ Function Level Reset, Secondary Bus Reset or a Power
+ Management D-State reset. If the reset will affect other
+ devices which are currently in use, this function may fail. """
+ ret = libvirtmod.virNodeDeviceReset(self._o)
+ if ret == -1: raise libvirtError ('virNodeDeviceReset() failed')
+ return ret
+
+ #
+ # virNodeDevice functions from module python
+ #
+
+ def listCaps(self):
+ """list the node device's capabilities """
+ ret = libvirtmod.virNodeDeviceListCaps(self._o)
+ if ret is None: raise libvirtError ('virNodeDeviceListCaps() failed')
+ return ret
+
+# virDomainMigrateFlags
+VIR_MIGRATE_LIVE = 1
+
+# virErrorLevel
+VIR_ERR_NONE = 0
+VIR_ERR_WARNING = 1
+VIR_ERR_ERROR = 2
+
+# virDomainEventResumedDetailType
+VIR_DOMAIN_EVENT_RESUMED_UNPAUSED = 0
+VIR_DOMAIN_EVENT_RESUMED_MIGRATED = 1
+
+# virErrorDomain
+VIR_FROM_NONE = 0
+VIR_FROM_XEN = 1
+VIR_FROM_XEND = 2
+VIR_FROM_XENSTORE = 3
+VIR_FROM_SEXPR = 4
+VIR_FROM_XML = 5
+VIR_FROM_DOM = 6
+VIR_FROM_RPC = 7
+VIR_FROM_PROXY = 8
+VIR_FROM_CONF = 9
+VIR_FROM_QEMU = 10
+VIR_FROM_NET = 11
+VIR_FROM_TEST = 12
+VIR_FROM_REMOTE = 13
+VIR_FROM_OPENVZ = 14
+VIR_FROM_XENXM = 15
+VIR_FROM_STATS_LINUX = 16
+VIR_FROM_LXC = 17
+VIR_FROM_STORAGE = 18
+VIR_FROM_NETWORK = 19
+VIR_FROM_DOMAIN = 20
+VIR_FROM_UML = 21
+VIR_FROM_NODEDEV = 22
+VIR_FROM_XEN_INOTIFY = 23
+VIR_FROM_SECURITY = 24
+VIR_FROM_VBOX = 25
+
+# virDomainEventStartedDetailType
+VIR_DOMAIN_EVENT_STARTED_BOOTED = 0
+VIR_DOMAIN_EVENT_STARTED_MIGRATED = 1
+VIR_DOMAIN_EVENT_STARTED_RESTORED = 2
+
+# virEventHandleType
+VIR_EVENT_HANDLE_READABLE = 1
+VIR_EVENT_HANDLE_WRITABLE = 2
+VIR_EVENT_HANDLE_ERROR = 4
+VIR_EVENT_HANDLE_HANGUP = 8
+
+# virDomainEventType
+VIR_DOMAIN_EVENT_DEFINED = 0
+VIR_DOMAIN_EVENT_UNDEFINED = 1
+VIR_DOMAIN_EVENT_STARTED = 2
+VIR_DOMAIN_EVENT_SUSPENDED = 3
+VIR_DOMAIN_EVENT_RESUMED = 4
+VIR_DOMAIN_EVENT_STOPPED = 5
+
+# virDomainState
+VIR_DOMAIN_NOSTATE = 0
+VIR_DOMAIN_RUNNING = 1
+VIR_DOMAIN_BLOCKED = 2
+VIR_DOMAIN_PAUSED = 3
+VIR_DOMAIN_SHUTDOWN = 4
+VIR_DOMAIN_SHUTOFF = 5
+VIR_DOMAIN_CRASHED = 6
+
+# virStoragePoolDeleteFlags
+VIR_STORAGE_POOL_DELETE_NORMAL = 0
+VIR_STORAGE_POOL_DELETE_ZEROED = 1
+
+# virStoragePoolState
+VIR_STORAGE_POOL_INACTIVE = 0
+VIR_STORAGE_POOL_BUILDING = 1
+VIR_STORAGE_POOL_RUNNING = 2
+VIR_STORAGE_POOL_DEGRADED = 3
+
+# virSchedParameterType
+VIR_DOMAIN_SCHED_FIELD_INT = 1
+VIR_DOMAIN_SCHED_FIELD_UINT = 2
+VIR_DOMAIN_SCHED_FIELD_LLONG = 3
+VIR_DOMAIN_SCHED_FIELD_ULLONG = 4
+VIR_DOMAIN_SCHED_FIELD_DOUBLE = 5
+VIR_DOMAIN_SCHED_FIELD_BOOLEAN = 6
+
+# virConnectFlags
+VIR_CONNECT_RO = 1
+
+# virDomainEventDefinedDetailType
+VIR_DOMAIN_EVENT_DEFINED_ADDED = 0
+VIR_DOMAIN_EVENT_DEFINED_UPDATED = 1
+
+# virErrorNumber
+VIR_ERR_OK = 0
+VIR_ERR_INTERNAL_ERROR = 1
+VIR_ERR_NO_MEMORY = 2
+VIR_ERR_NO_SUPPORT = 3
+VIR_ERR_UNKNOWN_HOST = 4
+VIR_ERR_NO_CONNECT = 5
+VIR_ERR_INVALID_CONN = 6
+VIR_ERR_INVALID_DOMAIN = 7
+VIR_ERR_INVALID_ARG = 8
+VIR_ERR_OPERATION_FAILED = 9
+VIR_ERR_GET_FAILED = 10
+VIR_ERR_POST_FAILED = 11
+VIR_ERR_HTTP_ERROR = 12
+VIR_ERR_SEXPR_SERIAL = 13
+VIR_ERR_NO_XEN = 14
+VIR_ERR_XEN_CALL = 15
+VIR_ERR_OS_TYPE = 16
+VIR_ERR_NO_KERNEL = 17
+VIR_ERR_NO_ROOT = 18
+VIR_ERR_NO_SOURCE = 19
+VIR_ERR_NO_TARGET = 20
+VIR_ERR_NO_NAME = 21
+VIR_ERR_NO_OS = 22
+VIR_ERR_NO_DEVICE = 23
+VIR_ERR_NO_XENSTORE = 24
+VIR_ERR_DRIVER_FULL = 25
+VIR_ERR_CALL_FAILED = 26
+VIR_ERR_XML_ERROR = 27
+VIR_ERR_DOM_EXIST = 28
+VIR_ERR_OPERATION_DENIED = 29
+VIR_ERR_OPEN_FAILED = 30
+VIR_ERR_READ_FAILED = 31
+VIR_ERR_PARSE_FAILED = 32
+VIR_ERR_CONF_SYNTAX = 33
+VIR_ERR_WRITE_FAILED = 34
+VIR_ERR_XML_DETAIL = 35
+VIR_ERR_INVALID_NETWORK = 36
+VIR_ERR_NETWORK_EXIST = 37
+VIR_ERR_SYSTEM_ERROR = 38
+VIR_ERR_RPC = 39
+VIR_ERR_GNUTLS_ERROR = 40
+VIR_WAR_NO_NETWORK = 41
+VIR_ERR_NO_DOMAIN = 42
+VIR_ERR_NO_NETWORK = 43
+VIR_ERR_INVALID_MAC = 44
+VIR_ERR_AUTH_FAILED = 45
+VIR_ERR_INVALID_STORAGE_POOL = 46
+VIR_ERR_INVALID_STORAGE_VOL = 47
+VIR_WAR_NO_STORAGE = 48
+VIR_ERR_NO_STORAGE_POOL = 49
+VIR_ERR_NO_STORAGE_VOL = 50
+VIR_WAR_NO_NODE = 51
+VIR_ERR_INVALID_NODE_DEVICE = 52
+VIR_ERR_NO_NODE_DEVICE = 53
+VIR_ERR_NO_SECURITY_MODEL = 54
+
+# virDomainMemoryFlags
+VIR_MEMORY_VIRTUAL = 1
+
+# virDomainEventStoppedDetailType
+VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN = 0
+VIR_DOMAIN_EVENT_STOPPED_DESTROYED = 1
+VIR_DOMAIN_EVENT_STOPPED_CRASHED = 2
+VIR_DOMAIN_EVENT_STOPPED_MIGRATED = 3
+VIR_DOMAIN_EVENT_STOPPED_SAVED = 4
+VIR_DOMAIN_EVENT_STOPPED_FAILED = 5
+
+# virVcpuState
+VIR_VCPU_OFFLINE = 0
+VIR_VCPU_RUNNING = 1
+VIR_VCPU_BLOCKED = 2
+
+# virStorageVolDeleteFlags
+VIR_STORAGE_VOL_DELETE_NORMAL = 0
+VIR_STORAGE_VOL_DELETE_ZEROED = 1
+
+# virDomainEventSuspendedDetailType
+VIR_DOMAIN_EVENT_SUSPENDED_PAUSED = 0
+VIR_DOMAIN_EVENT_SUSPENDED_MIGRATED = 1
+
+# virStoragePoolBuildFlags
+VIR_STORAGE_POOL_BUILD_NEW = 0
+VIR_STORAGE_POOL_BUILD_REPAIR = 1
+VIR_STORAGE_POOL_BUILD_RESIZE = 2
+
+# virDomainXMLFlags
+VIR_DOMAIN_XML_SECURE = 1
+VIR_DOMAIN_XML_INACTIVE = 2
+
+# virStorageVolType
+VIR_STORAGE_VOL_FILE = 0
+VIR_STORAGE_VOL_BLOCK = 1
+
+# virDomainEventUndefinedDetailType
+VIR_DOMAIN_EVENT_UNDEFINED_REMOVED = 0
+
+# virConnectCredentialType
+VIR_CRED_USERNAME = 1
+VIR_CRED_AUTHNAME = 2
+VIR_CRED_LANGUAGE = 3
+VIR_CRED_CNONCE = 4
+VIR_CRED_PASSPHRASE = 5
+VIR_CRED_ECHOPROMPT = 6
+VIR_CRED_NOECHOPROMPT = 7
+VIR_CRED_REALM = 8
+VIR_CRED_EXTERNAL = 9
+
+# virDomainCreateFlags
+VIR_DOMAIN_NONE = 0
+
diff --git a/tests/.cvsignore b/tests/.cvsignore
deleted file mode 100644
index 282522d..0000000
--- a/tests/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-Makefile
-Makefile.in
diff --git a/tests/Makefile.in b/tests/Makefile.in
new file mode 100644
index 0000000..a913200
--- /dev/null
+++ b/tests/Makefile.in
@@ -0,0 +1,902 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = python/tests
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/gnulib/m4/00gnulib.m4 \
+ $(top_srcdir)/gnulib/m4/alloca.m4 \
+ $(top_srcdir)/gnulib/m4/arpa_inet_h.m4 \
+ $(top_srcdir)/gnulib/m4/close.m4 \
+ $(top_srcdir)/gnulib/m4/errno_h.m4 \
+ $(top_srcdir)/gnulib/m4/extensions.m4 \
+ $(top_srcdir)/gnulib/m4/fclose.m4 \
+ $(top_srcdir)/gnulib/m4/float_h.m4 \
+ $(top_srcdir)/gnulib/m4/fseeko.m4 \
+ $(top_srcdir)/gnulib/m4/getaddrinfo.m4 \
+ $(top_srcdir)/gnulib/m4/getdelim.m4 \
+ $(top_srcdir)/gnulib/m4/gethostname.m4 \
+ $(top_srcdir)/gnulib/m4/getline.m4 \
+ $(top_srcdir)/gnulib/m4/getpass.m4 \
+ $(top_srcdir)/gnulib/m4/gettimeofday.m4 \
+ $(top_srcdir)/gnulib/m4/gnulib-common.m4 \
+ $(top_srcdir)/gnulib/m4/gnulib-comp.m4 \
+ $(top_srcdir)/gnulib/m4/hostent.m4 \
+ $(top_srcdir)/gnulib/m4/include_next.m4 \
+ $(top_srcdir)/gnulib/m4/inet_ntop.m4 \
+ $(top_srcdir)/gnulib/m4/inet_pton.m4 \
+ $(top_srcdir)/gnulib/m4/intmax_t.m4 \
+ $(top_srcdir)/gnulib/m4/inttypes_h.m4 \
+ $(top_srcdir)/gnulib/m4/longlong.m4 \
+ $(top_srcdir)/gnulib/m4/lseek.m4 \
+ $(top_srcdir)/gnulib/m4/lstat.m4 \
+ $(top_srcdir)/gnulib/m4/malloc.m4 \
+ $(top_srcdir)/gnulib/m4/mkstemp.m4 \
+ $(top_srcdir)/gnulib/m4/multiarch.m4 \
+ $(top_srcdir)/gnulib/m4/netdb_h.m4 \
+ $(top_srcdir)/gnulib/m4/netinet_in_h.m4 \
+ $(top_srcdir)/gnulib/m4/onceonly.m4 \
+ $(top_srcdir)/gnulib/m4/perror.m4 \
+ $(top_srcdir)/gnulib/m4/physmem.m4 \
+ $(top_srcdir)/gnulib/m4/po.m4 $(top_srcdir)/gnulib/m4/poll.m4 \
+ $(top_srcdir)/gnulib/m4/posix-shell.m4 \
+ $(top_srcdir)/gnulib/m4/printf.m4 \
+ $(top_srcdir)/gnulib/m4/random_r.m4 \
+ $(top_srcdir)/gnulib/m4/realloc.m4 \
+ $(top_srcdir)/gnulib/m4/servent.m4 \
+ $(top_srcdir)/gnulib/m4/snprintf.m4 \
+ $(top_srcdir)/gnulib/m4/sockets.m4 \
+ $(top_srcdir)/gnulib/m4/socklen.m4 \
+ $(top_srcdir)/gnulib/m4/sockpfaf.m4 \
+ $(top_srcdir)/gnulib/m4/stdbool.m4 \
+ $(top_srcdir)/gnulib/m4/stdint.m4 \
+ $(top_srcdir)/gnulib/m4/stdint_h.m4 \
+ $(top_srcdir)/gnulib/m4/stdio_h.m4 \
+ $(top_srcdir)/gnulib/m4/stdlib_h.m4 \
+ $(top_srcdir)/gnulib/m4/stpcpy.m4 \
+ $(top_srcdir)/gnulib/m4/strdup.m4 \
+ $(top_srcdir)/gnulib/m4/strerror.m4 \
+ $(top_srcdir)/gnulib/m4/string_h.m4 \
+ $(top_srcdir)/gnulib/m4/strndup.m4 \
+ $(top_srcdir)/gnulib/m4/strnlen.m4 \
+ $(top_srcdir)/gnulib/m4/strsep.m4 \
+ $(top_srcdir)/gnulib/m4/sys_ioctl_h.m4 \
+ $(top_srcdir)/gnulib/m4/sys_select_h.m4 \
+ $(top_srcdir)/gnulib/m4/sys_socket_h.m4 \
+ $(top_srcdir)/gnulib/m4/sys_stat_h.m4 \
+ $(top_srcdir)/gnulib/m4/sys_time_h.m4 \
+ $(top_srcdir)/gnulib/m4/tempname.m4 \
+ $(top_srcdir)/gnulib/m4/time_h.m4 \
+ $(top_srcdir)/gnulib/m4/time_r.m4 \
+ $(top_srcdir)/gnulib/m4/unistd_h.m4 \
+ $(top_srcdir)/gnulib/m4/vasnprintf.m4 \
+ $(top_srcdir)/gnulib/m4/vasprintf.m4 \
+ $(top_srcdir)/gnulib/m4/wchar.m4 \
+ $(top_srcdir)/m4/compiler-flags.m4 $(top_srcdir)/m4/gettext.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/size_max.m4 \
+ $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \
+ $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALLOCA_H = @ALLOCA_H@
+AMTAR = @AMTAR@
+APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
+AR = @AR@
+ARPA_INET_H = @ARPA_INET_H@
+AS = @AS@
+AUGPARSE = @AUGPARSE@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AVAHI_CFLAGS = @AVAHI_CFLAGS@
+AVAHI_LIBS = @AVAHI_LIBS@
+AWK = @AWK@
+BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
+BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
+BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
+BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
+BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+BRCTL = @BRCTL@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+COMPILER_FLAGS = @COMPILER_FLAGS@
+COVERAGE_CFLAGS = @COVERAGE_CFLAGS@
+COVERAGE_LDFLAGS = @COVERAGE_LDFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+CYGWIN_EXTRA_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@
+CYGWIN_EXTRA_LIBADD = @CYGWIN_EXTRA_LIBADD@
+CYGWIN_EXTRA_PYTHON_LIBADD = @CYGWIN_EXTRA_PYTHON_LIBADD@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DEVKIT_CFLAGS = @DEVKIT_CFLAGS@
+DEVKIT_LIBS = @DEVKIT_LIBS@
+DLLTOOL = @DLLTOOL@
+DNSMASQ = @DNSMASQ@
+DRIVER_MODULES_CFLAGS = @DRIVER_MODULES_CFLAGS@
+DRIVER_MODULES_LIBS = @DRIVER_MODULES_LIBS@
+ECHO = @ECHO@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
+EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
+ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
+ENOLINK_VALUE = @ENOLINK_VALUE@
+EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
+EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
+ERRNO_H = @ERRNO_H@
+EXEEXT = @EXEEXT@
+F77 = @F77@
+FFLAGS = @FFLAGS@
+FLOAT_H = @FLOAT_H@
+GETADDRINFO_LIB = @GETADDRINFO_LIB@
+GLIB2_CFLAGS = @GLIB2_CFLAGS@
+GLIB2_LIBS = @GLIB2_LIBS@
+GMSGFMT = @GMSGFMT@
+GNULIB_ACCEPT = @GNULIB_ACCEPT@
+GNULIB_ATOLL = @GNULIB_ATOLL@
+GNULIB_BIND = @GNULIB_BIND@
+GNULIB_BTOWC = @GNULIB_BTOWC@
+GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
+GNULIB_CHOWN = @GNULIB_CHOWN@
+GNULIB_CLOSE = @GNULIB_CLOSE@
+GNULIB_CONNECT = @GNULIB_CONNECT@
+GNULIB_DPRINTF = @GNULIB_DPRINTF@
+GNULIB_DUP2 = @GNULIB_DUP2@
+GNULIB_ENVIRON = @GNULIB_ENVIRON@
+GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
+GNULIB_FCHDIR = @GNULIB_FCHDIR@
+GNULIB_FCLOSE = @GNULIB_FCLOSE@
+GNULIB_FFLUSH = @GNULIB_FFLUSH@
+GNULIB_FOPEN = @GNULIB_FOPEN@
+GNULIB_FPRINTF = @GNULIB_FPRINTF@
+GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
+GNULIB_FPUTC = @GNULIB_FPUTC@
+GNULIB_FPUTS = @GNULIB_FPUTS@
+GNULIB_FREOPEN = @GNULIB_FREOPEN@
+GNULIB_FSEEK = @GNULIB_FSEEK@
+GNULIB_FSEEKO = @GNULIB_FSEEKO@
+GNULIB_FSYNC = @GNULIB_FSYNC@
+GNULIB_FTELL = @GNULIB_FTELL@
+GNULIB_FTELLO = @GNULIB_FTELLO@
+GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
+GNULIB_FWRITE = @GNULIB_FWRITE@
+GNULIB_GETADDRINFO = @GNULIB_GETADDRINFO@
+GNULIB_GETCWD = @GNULIB_GETCWD@
+GNULIB_GETDELIM = @GNULIB_GETDELIM@
+GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
+GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
+GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
+GNULIB_GETLINE = @GNULIB_GETLINE@
+GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
+GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
+GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
+GNULIB_GETPEERNAME = @GNULIB_GETPEERNAME@
+GNULIB_GETSOCKNAME = @GNULIB_GETSOCKNAME@
+GNULIB_GETSOCKOPT = @GNULIB_GETSOCKOPT@
+GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
+GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
+GNULIB_INET_NTOP = @GNULIB_INET_NTOP@
+GNULIB_INET_PTON = @GNULIB_INET_PTON@
+GNULIB_IOCTL = @GNULIB_IOCTL@
+GNULIB_LCHMOD = @GNULIB_LCHMOD@
+GNULIB_LCHOWN = @GNULIB_LCHOWN@
+GNULIB_LINK = @GNULIB_LINK@
+GNULIB_LISTEN = @GNULIB_LISTEN@
+GNULIB_LSEEK = @GNULIB_LSEEK@
+GNULIB_LSTAT = @GNULIB_LSTAT@
+GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
+GNULIB_MBRLEN = @GNULIB_MBRLEN@
+GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
+GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
+GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
+GNULIB_MBSCHR = @GNULIB_MBSCHR@
+GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
+GNULIB_MBSINIT = @GNULIB_MBSINIT@
+GNULIB_MBSLEN = @GNULIB_MBSLEN@
+GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
+GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
+GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
+GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
+GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
+GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
+GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
+GNULIB_MBSSEP = @GNULIB_MBSSEP@
+GNULIB_MBSSPN = @GNULIB_MBSSPN@
+GNULIB_MBSSTR = @GNULIB_MBSSTR@
+GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
+GNULIB_MEMMEM = @GNULIB_MEMMEM@
+GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
+GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
+GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
+GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
+GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
+GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
+GNULIB_PERROR = @GNULIB_PERROR@
+GNULIB_PRINTF = @GNULIB_PRINTF@
+GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
+GNULIB_PUTC = @GNULIB_PUTC@
+GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
+GNULIB_PUTENV = @GNULIB_PUTENV@
+GNULIB_PUTS = @GNULIB_PUTS@
+GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
+GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
+GNULIB_READLINK = @GNULIB_READLINK@
+GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
+GNULIB_RECV = @GNULIB_RECV@
+GNULIB_RECVFROM = @GNULIB_RECVFROM@
+GNULIB_RPMATCH = @GNULIB_RPMATCH@
+GNULIB_SELECT = @GNULIB_SELECT@
+GNULIB_SEND = @GNULIB_SEND@
+GNULIB_SENDTO = @GNULIB_SENDTO@
+GNULIB_SETENV = @GNULIB_SETENV@
+GNULIB_SETSOCKOPT = @GNULIB_SETSOCKOPT@
+GNULIB_SHUTDOWN = @GNULIB_SHUTDOWN@
+GNULIB_SLEEP = @GNULIB_SLEEP@
+GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
+GNULIB_SOCKET = @GNULIB_SOCKET@
+GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
+GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
+GNULIB_STPCPY = @GNULIB_STPCPY@
+GNULIB_STPNCPY = @GNULIB_STPNCPY@
+GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
+GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
+GNULIB_STRDUP = @GNULIB_STRDUP@
+GNULIB_STRERROR = @GNULIB_STRERROR@
+GNULIB_STRNDUP = @GNULIB_STRNDUP@
+GNULIB_STRNLEN = @GNULIB_STRNLEN@
+GNULIB_STRPBRK = @GNULIB_STRPBRK@
+GNULIB_STRSEP = @GNULIB_STRSEP@
+GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
+GNULIB_STRSTR = @GNULIB_STRSTR@
+GNULIB_STRTOD = @GNULIB_STRTOD@
+GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
+GNULIB_STRTOLL = @GNULIB_STRTOLL@
+GNULIB_STRTOULL = @GNULIB_STRTOULL@
+GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
+GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
+GNULIB_UNSETENV = @GNULIB_UNSETENV@
+GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
+GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
+GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
+GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
+GNULIB_VPRINTF = @GNULIB_VPRINTF@
+GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
+GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
+GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
+GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
+GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
+GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
+GNULIB_WCTOB = @GNULIB_WCTOB@
+GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
+GNULIB_WRITE = @GNULIB_WRITE@
+GNUTLS_CFLAGS = @GNUTLS_CFLAGS@
+GNUTLS_LIBS = @GNUTLS_LIBS@
+GREP = @GREP@
+HAL_CFLAGS = @HAL_CFLAGS@
+HAL_LIBS = @HAL_LIBS@
+HAVE_ARPA_INET_H = @HAVE_ARPA_INET_H@
+HAVE_ATOLL = @HAVE_ATOLL@
+HAVE_BTOWC = @HAVE_BTOWC@
+HAVE_CALLOC_POSIX = @HAVE_CALLOC_POSIX@
+HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
+HAVE_DECL_FREEADDRINFO = @HAVE_DECL_FREEADDRINFO@
+HAVE_DECL_GAI_STRERROR = @HAVE_DECL_GAI_STRERROR@
+HAVE_DECL_GETADDRINFO = @HAVE_DECL_GETADDRINFO@
+HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
+HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
+HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
+HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
+HAVE_DECL_GETNAMEINFO = @HAVE_DECL_GETNAMEINFO@
+HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
+HAVE_DECL_INET_PTON = @HAVE_DECL_INET_PTON@
+HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
+HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
+HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
+HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
+HAVE_DECL_STRERROR = @HAVE_DECL_STRERROR@
+HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
+HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
+HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
+HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
+HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
+HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
+HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
+HAVE_DPRINTF = @HAVE_DPRINTF@
+HAVE_DUP2 = @HAVE_DUP2@
+HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
+HAVE_FSEEKO = @HAVE_FSEEKO@
+HAVE_FSYNC = @HAVE_FSYNC@
+HAVE_FTELLO = @HAVE_FTELLO@
+HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
+HAVE_GETDOMAINNAME = @HAVE_GETDOMAINNAME@
+HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
+HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
+HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
+HAVE_GETUSERSHELL = @HAVE_GETUSERSHELL@
+HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
+HAVE_LCHMOD = @HAVE_LCHMOD@
+HAVE_LINK = @HAVE_LINK@
+HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
+HAVE_LSTAT = @HAVE_LSTAT@
+HAVE_MALLOC_POSIX = @HAVE_MALLOC_POSIX@
+HAVE_MBRLEN = @HAVE_MBRLEN@
+HAVE_MBRTOWC = @HAVE_MBRTOWC@
+HAVE_MBSINIT = @HAVE_MBSINIT@
+HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
+HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
+HAVE_MEMPCPY = @HAVE_MEMPCPY@
+HAVE_MKDTEMP = @HAVE_MKDTEMP@
+HAVE_NETDB_H = @HAVE_NETDB_H@
+HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
+HAVE_OS_H = @HAVE_OS_H@
+HAVE_RANDOM_H = @HAVE_RANDOM_H@
+HAVE_RANDOM_R = @HAVE_RANDOM_R@
+HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
+HAVE_READLINK = @HAVE_READLINK@
+HAVE_REALLOC_POSIX = @HAVE_REALLOC_POSIX@
+HAVE_RPMATCH = @HAVE_RPMATCH@
+HAVE_SETENV = @HAVE_SETENV@
+HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
+HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
+HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
+HAVE_SLEEP = @HAVE_SLEEP@
+HAVE_STDINT_H = @HAVE_STDINT_H@
+HAVE_STPCPY = @HAVE_STPCPY@
+HAVE_STPNCPY = @HAVE_STPNCPY@
+HAVE_STRCASESTR = @HAVE_STRCASESTR@
+HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
+HAVE_STRNDUP = @HAVE_STRNDUP@
+HAVE_STRPBRK = @HAVE_STRPBRK@
+HAVE_STRSEP = @HAVE_STRSEP@
+HAVE_STRTOD = @HAVE_STRTOD@
+HAVE_STRTOLL = @HAVE_STRTOLL@
+HAVE_STRTOULL = @HAVE_STRTOULL@
+HAVE_STRUCT_ADDRINFO = @HAVE_STRUCT_ADDRINFO@
+HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
+HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
+HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
+HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
+HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
+HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
+HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
+HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
+HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
+HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
+HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
+HAVE_UNISTD_H = @HAVE_UNISTD_H@
+HAVE_UNSETENV = @HAVE_UNSETENV@
+HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
+HAVE_VASPRINTF = @HAVE_VASPRINTF@
+HAVE_VDPRINTF = @HAVE_VDPRINTF@
+HAVE_WCHAR_H = @HAVE_WCHAR_H@
+HAVE_WCRTOMB = @HAVE_WCRTOMB@
+HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
+HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
+HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
+HAVE_WINT_T = @HAVE_WINT_T@
+HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
+HAVE__BOOL = @HAVE__BOOL@
+HOSTENT_LIB = @HOSTENT_LIB@
+HTML_DIR = @HTML_DIR@
+INCLUDE_NEXT = @INCLUDE_NEXT@
+INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+IPTABLES_PATH = @IPTABLES_PATH@
+ISCSIADM = @ISCSIADM@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBOBJS = @LIBOBJS@
+LIBPARTED_CFLAGS = @LIBPARTED_CFLAGS@
+LIBPARTED_LIBS = @LIBPARTED_LIBS@
+LIBS = @LIBS@
+LIBSOCKET = @LIBSOCKET@
+LIBTESTS_LIBDEPS = @LIBTESTS_LIBDEPS@
+LIBTOOL = @LIBTOOL@
+LIBVIRT_MAJOR_VERSION = @LIBVIRT_MAJOR_VERSION@
+LIBVIRT_MICRO_VERSION = @LIBVIRT_MICRO_VERSION@
+LIBVIRT_MINOR_VERSION = @LIBVIRT_MINOR_VERSION@
+LIBVIRT_VERSION = @LIBVIRT_VERSION@
+LIBVIRT_VERSION_INFO = @LIBVIRT_VERSION_INFO@
+LIBVIRT_VERSION_NUMBER = @LIBVIRT_VERSION_NUMBER@
+LIBXML_CFLAGS = @LIBXML_CFLAGS@
+LIBXML_LIBS = @LIBXML_LIBS@
+LN_S = @LN_S@
+LOKKIT_PATH = @LOKKIT_PATH@
+LTALLOCA = @LTALLOCA@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LVCREATE = @LVCREATE@
+LVREMOVE = @LVREMOVE@
+LVS = @LVS@
+LV_LIBTOOL_OBJDIR = @LV_LIBTOOL_OBJDIR@
+MAKEINFO = @MAKEINFO@
+MINGW_EXTRA_LDFLAGS = @MINGW_EXTRA_LDFLAGS@
+MKDIR_P = @MKDIR_P@
+MKINSTALLDIRS = @MKINSTALLDIRS@
+MODPROBE = @MODPROBE@
+MOUNT = @MOUNT@
+MSGFMT = @MSGFMT@
+MSGMERGE = @MSGMERGE@
+MV = @MV@
+NETDB_H = @NETDB_H@
+NETINET_IN_H = @NETINET_IN_H@
+NEXT_ARPA_INET_H = @NEXT_ARPA_INET_H@
+NEXT_ERRNO_H = @NEXT_ERRNO_H@
+NEXT_FLOAT_H = @NEXT_FLOAT_H@
+NEXT_NETDB_H = @NEXT_NETDB_H@
+NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
+NEXT_STDINT_H = @NEXT_STDINT_H@
+NEXT_STDIO_H = @NEXT_STDIO_H@
+NEXT_STDLIB_H = @NEXT_STDLIB_H@
+NEXT_STRING_H = @NEXT_STRING_H@
+NEXT_SYS_IOCTL_H = @NEXT_SYS_IOCTL_H@
+NEXT_SYS_SELECT_H = @NEXT_SYS_SELECT_H@
+NEXT_SYS_SOCKET_H = @NEXT_SYS_SOCKET_H@
+NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
+NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
+NEXT_TIME_H = @NEXT_TIME_H@
+NEXT_UNISTD_H = @NEXT_UNISTD_H@
+NEXT_WCHAR_H = @NEXT_WCHAR_H@
+NUMACTL_CFLAGS = @NUMACTL_CFLAGS@
+NUMACTL_LIBS = @NUMACTL_LIBS@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PARTED = @PARTED@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+POLKIT_AUTH = @POLKIT_AUTH@
+POLKIT_CFLAGS = @POLKIT_CFLAGS@
+POLKIT_LIBS = @POLKIT_LIBS@
+POLL_H = @POLL_H@
+POSIX_SHELL = @POSIX_SHELL@
+POSUB = @POSUB@
+PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
+PREFERABLY_POSIX_SHELL = @PREFERABLY_POSIX_SHELL@
+PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
+PVCREATE = @PVCREATE@
+PVREMOVE = @PVREMOVE@
+PVS = @PVS@
+PYTHON = @PYTHON@
+PYTHON_INCLUDES = @PYTHON_INCLUDES@
+PYTHON_SITE_PACKAGES = @PYTHON_SITE_PACKAGES@
+PYTHON_VERSION = @PYTHON_VERSION@
+QCOW_CREATE = @QCOW_CREATE@
+QEMU_IMG = @QEMU_IMG@
+RANLIB = @RANLIB@
+READLINE_CFLAGS = @READLINE_CFLAGS@
+REMOTE_PID_FILE = @REMOTE_PID_FILE@
+REPLACE_BTOWC = @REPLACE_BTOWC@
+REPLACE_CHOWN = @REPLACE_CHOWN@
+REPLACE_CLOSE = @REPLACE_CLOSE@
+REPLACE_DPRINTF = @REPLACE_DPRINTF@
+REPLACE_FCHDIR = @REPLACE_FCHDIR@
+REPLACE_FCLOSE = @REPLACE_FCLOSE@
+REPLACE_FFLUSH = @REPLACE_FFLUSH@
+REPLACE_FOPEN = @REPLACE_FOPEN@
+REPLACE_FPRINTF = @REPLACE_FPRINTF@
+REPLACE_FREOPEN = @REPLACE_FREOPEN@
+REPLACE_FSEEK = @REPLACE_FSEEK@
+REPLACE_FSEEKO = @REPLACE_FSEEKO@
+REPLACE_FTELL = @REPLACE_FTELL@
+REPLACE_FTELLO = @REPLACE_FTELLO@
+REPLACE_GETCWD = @REPLACE_GETCWD@
+REPLACE_GETLINE = @REPLACE_GETLINE@
+REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
+REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_LCHOWN = @REPLACE_LCHOWN@
+REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LSEEK = @REPLACE_LSEEK@
+REPLACE_LSTAT = @REPLACE_LSTAT@
+REPLACE_MBRLEN = @REPLACE_MBRLEN@
+REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
+REPLACE_MBSINIT = @REPLACE_MBSINIT@
+REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
+REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
+REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
+REPLACE_MEMMEM = @REPLACE_MEMMEM@
+REPLACE_MKDIR = @REPLACE_MKDIR@
+REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
+REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
+REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
+REPLACE_PERROR = @REPLACE_PERROR@
+REPLACE_PRINTF = @REPLACE_PRINTF@
+REPLACE_PUTENV = @REPLACE_PUTENV@
+REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
+REPLACE_SPRINTF = @REPLACE_SPRINTF@
+REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
+REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
+REPLACE_STRDUP = @REPLACE_STRDUP@
+REPLACE_STRERROR = @REPLACE_STRERROR@
+REPLACE_STRPTIME = @REPLACE_STRPTIME@
+REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
+REPLACE_STRSTR = @REPLACE_STRSTR@
+REPLACE_STRTOD = @REPLACE_STRTOD@
+REPLACE_TIMEGM = @REPLACE_TIMEGM@
+REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
+REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
+REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
+REPLACE_VPRINTF = @REPLACE_VPRINTF@
+REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
+REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
+REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
+REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
+REPLACE_WCTOB = @REPLACE_WCTOB@
+REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
+REPLACE_WRITE = @REPLACE_WRITE@
+RM = @RM@
+RPCGEN = @RPCGEN@
+SASL_CFLAGS = @SASL_CFLAGS@
+SASL_LIBS = @SASL_LIBS@
+SED = @SED@
+SELINUX_CFLAGS = @SELINUX_CFLAGS@
+SELINUX_LIBS = @SELINUX_LIBS@
+SERVENT_LIB = @SERVENT_LIB@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SHOWMOUNT = @SHOWMOUNT@
+SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
+SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
+STATIC_BINARIES = @STATIC_BINARIES@
+STDBOOL_H = @STDBOOL_H@
+STDINT_H = @STDINT_H@
+STRIP = @STRIP@
+SYS_IOCTL_H = @SYS_IOCTL_H@
+SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
+SYS_SELECT_H = @SYS_SELECT_H@
+SYS_SOCKET_H = @SYS_SOCKET_H@
+SYS_STAT_H = @SYS_STAT_H@
+SYS_TIME_H = @SYS_TIME_H@
+SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
+TAR = @TAR@
+TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
+U = @U@
+UDEVADM = @UDEVADM@
+UDEVSETTLE = @UDEVSETTLE@
+UMOUNT = @UMOUNT@
+UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+VERSION_SCRIPT_FLAGS = @VERSION_SCRIPT_FLAGS@
+VGCHANGE = @VGCHANGE@
+VGCREATE = @VGCREATE@
+VGREMOVE = @VGREMOVE@
+VGS = @VGS@
+VGSCAN = @VGSCAN@
+VIRSH_LIBS = @VIRSH_LIBS@
+VOID_UNSETENV = @VOID_UNSETENV@
+WARN_CFLAGS = @WARN_CFLAGS@
+WARN_PYTHON_CFLAGS = @WARN_PYTHON_CFLAGS@
+WCHAR_H = @WCHAR_H@
+WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
+WINDRES = @WINDRES@
+WINT_T_SUFFIX = @WINT_T_SUFFIX@
+XEN_CFLAGS = @XEN_CFLAGS@
+XEN_LIBS = @XEN_LIBS@
+XGETTEXT = @XGETTEXT@
+XMLCATALOG = @XMLCATALOG@
+XMLLINT = @XMLLINT@
+XSLTPROC = @XSLTPROC@
+abs_aux_dir = @abs_aux_dir@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_F77 = @ac_ct_F77@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+gl_LIBOBJS = @gl_LIBOBJS@
+gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gltests_LIBOBJS = @gltests_LIBOBJS@
+gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pythondir = @pythondir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXAMPLE_DIR = $(datadir)/doc/libvirt-python-$(LIBVIRT_VERSION)/examples
+PYTESTS = \
+ basic.py \
+ create.py \
+ uuid.py \
+ error.py \
+ node.py
+
+EXTRA_DIST = $(PYTESTS)
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu python/tests/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --gnu python/tests/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-data-local
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-local
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ distclean distclean-generic distclean-libtool distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-data install-data-am install-data-local install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ uninstall uninstall-am uninstall-local
+
+
+@WITH_PYTHON_TRUE@tests: $(PYTESTS)
+@WITH_PYTHON_TRUE@ @echo "## running Python regression tests"
+@WITH_PYTHON_TRUE@ -@(PYTHONPATH="..:../.libs:../src/.libs:$(srcdir)/../src:$$PYTHONPATH";\
+@WITH_PYTHON_TRUE@ export PYTHONPATH; \
+@WITH_PYTHON_TRUE@ LD_LIBRARY_PATH="$(top_builddir)/src/.libs:$$LD_LIBRARY_PATH" ; \
+@WITH_PYTHON_TRUE@ export LD_LIBRARY_PATH; \
+@WITH_PYTHON_TRUE@ for test in $(PYTESTS) ; \
+@WITH_PYTHON_TRUE@ do log=`$(PYTHON) $(srcdir)/$$test` ; \
+@WITH_PYTHON_TRUE@ if [ "`echo $$log | grep OK`" = "" ] ; then \
+@WITH_PYTHON_TRUE@ echo "-- $$test" ; echo "$$log" ; fi ; done)
+@WITH_PYTHON_FALSE@tests:
+
+clean:
+ rm -f *.pyc core
+
+install-data-local:
+ $(mkinstalldirs) $(DESTDIR)$(EXAMPLE_DIR)
+ -(for test in $(PYTESTS); \
+ do @INSTALL@ -m 0644 $(srcdir)/$$test $(DESTDIR)$(EXAMPLE_DIR) ; done)
+
+uninstall-local:
+ for test in $(PYTESTS); do rm -f $(DESTDIR)$(EXAMPLE_DIR)/$$test; done
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT: