diff options
-rw-r--r-- | .cvsignore | 13 | ||||
-rw-r--r-- | Makefile.in | 718 | ||||
-rw-r--r-- | TODO | 2 | ||||
-rw-r--r-- | libvirt-py.c | 971 | ||||
-rw-r--r-- | libvirt-py.h | 57 | ||||
-rw-r--r-- | libvirt.py | 783 | ||||
-rw-r--r-- | tests/.cvsignore | 2 | ||||
-rw-r--r-- | tests/Makefile.in | 396 |
8 files changed, 2926 insertions, 16 deletions
diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index 7478275..0000000 --- a/.cvsignore +++ /dev/null @@ -1,13 +0,0 @@ -Makefile -Makefile.in -.deps -.libs -*.lo -*.la -*.loT -libvirt.py -libvirt-export.c -libvirtclass.txt -libvirt-py.[ch] -libvirtclass.py -gen_prog diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000..084c0fe --- /dev/null +++ b/Makefile.in @@ -0,0 +1,718 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 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 + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +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)/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)/acinclude.m4 $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/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@am__DEPENDENCIES_1 = $(top_builddir)/src/libvirt.la +@WITH_PYTHON_TRUE@libvirtmod_la_DEPENDENCIES = $(am__DEPENDENCIES_1) +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) +@WITH_PYTHON_TRUE@am_libvirtmod_la_rpath = -rpath $(pythondir) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC --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-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +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@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ENABLE_XEN_TESTS_FALSE = @ENABLE_XEN_TESTS_FALSE@ +ENABLE_XEN_TESTS_TRUE = @ENABLE_XEN_TESTS_TRUE@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GMSGFMT = @GMSGFMT@ +HTML_DIR = @HTML_DIR@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +IPTABLES_PATH = @IPTABLES_PATH@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBVIRT_FEATURES = @LIBVIRT_FEATURES@ +LIBVIRT_INIT_SCRIPTS_RED_HAT_FALSE = @LIBVIRT_INIT_SCRIPTS_RED_HAT_FALSE@ +LIBVIRT_INIT_SCRIPTS_RED_HAT_TRUE = @LIBVIRT_INIT_SCRIPTS_RED_HAT_TRUE@ +LIBVIRT_MAJOR_VERSION = @LIBVIRT_MAJOR_VERSION@ +LIBVIRT_MICRO_VERSION = @LIBVIRT_MICRO_VERSION@ +LIBVIRT_MINOR_VERSION = @LIBVIRT_MINOR_VERSION@ +LIBVIRT_VERSION = @LIBVIRT_VERSION@ +LIBVIRT_VERSION_EXTRA = @LIBVIRT_VERSION_EXTRA@ +LIBVIRT_VERSION_INFO = @LIBVIRT_VERSION_INFO@ +LIBVIRT_VERSION_NUMBER = @LIBVIRT_VERSION_NUMBER@ +LIBXML_CFLAGS = @LIBXML_CFLAGS@ +LIBXML_CONFIG = @LIBXML_CONFIG@ +LIBXML_LIBS = @LIBXML_LIBS@ +LIBXML_MIN_VERSION = @LIBXML_MIN_VERSION@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGMERGE = @MSGMERGE@ +MV = @MV@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POSUB = @POSUB@ +PYTHON = @PYTHON@ +PYTHON_INCLUDES = @PYTHON_INCLUDES@ +PYTHON_SITE_PACKAGES = @PYTHON_SITE_PACKAGES@ +PYTHON_SUBDIR = @PYTHON_SUBDIR@ +PYTHON_VERSION = @PYTHON_VERSION@ +QEMUD_PID_FILE = @QEMUD_PID_FILE@ +RANLIB = @RANLIB@ +RM = @RM@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STATIC_BINARIES = @STATIC_BINARIES@ +STRIP = @STRIP@ +SYSFS_LIBS = @SYSFS_LIBS@ +TAR = @TAR@ +U = @U@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +VIRSH_LIBS = @VIRSH_LIBS@ +WARN_CFLAGS = @WARN_CFLAGS@ +WITH_PYTHON_FALSE = @WITH_PYTHON_FALSE@ +WITH_PYTHON_TRUE = @WITH_PYTHON_TRUE@ +WITH_XEN = @WITH_XEN@ +XGETTEXT = @XGETTEXT@ +XMLLINT = @XMLLINT@ +XSLTPROC = @XSLTPROC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +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@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +pythondir = @pythondir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +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 +EXTRA_DIST = \ + libvir.c \ + types.c \ + generator.py \ + libvirt_wrap.h \ + libvirt.py \ + libvir.py \ + libvirt-python-api.xml \ + $(DOCS) + +libvirtmod_la_LDFLAGS = -module -avoid-version -L$(top_builddir)/src/.libs +@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 +@WITH_PYTHON_TRUE@libvirtmod_la_LIBADD = $(mylibs) +# Python header files contain a redundant decl, hence: +@WITH_PYTHON_TRUE@libvirtmod_la_CFLAGS = -Wno-redundant-decls +@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.py \ +@WITH_PYTHON_TRUE@ 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) gen_prog 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) --mode=install $(pythonLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(pythondir)/$$f'"; \ + $(LIBTOOL) --mode=install $(pythonLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(pythondir)/$$f"; \ + else :; fi; \ + done + +uninstall-pythonLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @set -x; list='$(python_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(pythondir)/$$p'"; \ + $(LIBTOOL) --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) + $(LINK) $(am_libvirtmod_la_rpath) $(libvirtmod_la_LDFLAGS) $(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@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@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@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@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@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@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@ if $(LIBTOOL) --tag=CC --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@ then mv -f "$(DEPDIR)/libvirtmod_la-libvir.Tpo" "$(DEPDIR)/libvirtmod_la-libvir.Plo"; else rm -f "$(DEPDIR)/libvirtmod_la-libvir.Tpo"; exit 1; fi +@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 --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@ if $(LIBTOOL) --tag=CC --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@ then mv -f "$(DEPDIR)/libvirtmod_la-types.Tpo" "$(DEPDIR)/libvirtmod_la-types.Plo"; else rm -f "$(DEPDIR)/libvirtmod_la-types.Tpo"; exit 1; fi +@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 --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@ if $(LIBTOOL) --tag=CC --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@ then mv -f "$(DEPDIR)/libvirtmod_la-libvirt-py.Tpo" "$(DEPDIR)/libvirtmod_la-libvirt-py.Plo"; else rm -f "$(DEPDIR)/libvirtmod_la-libvirt-py.Tpo"; exit 1; fi +@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 --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 + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +# 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" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @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; } \ + END { 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; } \ + END { 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=; \ + here=`pwd`; \ + 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; } \ + END { 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) + $(mkdir_p) $(distdir)/${srcdir} + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + 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" \ + 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@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-libtool distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: install-data-local install-pythonLTLIBRARIES + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +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-info-am uninstall-pythonLTLIBRARIES + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am all-local check \ + check-am clean clean-generic clean-libtool \ + clean-pythonLTLIBRARIES clean-recursive ctags ctags-recursive \ + distclean distclean-compile distclean-generic \ + distclean-libtool distclean-recursive distclean-tags distdir \ + dvi dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-data-local install-exec \ + install-exec-am install-info install-info-am install-man \ + install-pythonLTLIBRARIES install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic maintainer-clean-recursive \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am uninstall-info-am \ + uninstall-pythonLTLIBRARIES + + +@WITH_PYTHON_TRUE@all-local: libvirt.py + +@WITH_PYTHON_TRUE@libvirt.py: $(srcdir)/libvir.py libvirtclass.py +@WITH_PYTHON_TRUE@ cat $(srcdir)/libvir.py libvirtclass.py > libvirt.py + +@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@$(GENERATED): gen_prog + +@WITH_PYTHON_TRUE@gen_prog: $(srcdir)/$(GENERATE) $(API_DESC) +@WITH_PYTHON_TRUE@ $(PYTHON) $(srcdir)/$(GENERATE) $(srcdir) +@WITH_PYTHON_TRUE@ touch gen_prog + +@WITH_PYTHON_TRUE@$(libvirtmod_la_OBJECTS): $(GENERATED) + +@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: @@ -5,4 +5,4 @@ Daniel Veillard -$Date$ +$Date: 2006/01/31 10:24:12 $ diff --git a/libvirt-py.c b/libvirt-py.c new file mode 100644 index 0000000..107dda0 --- /dev/null +++ b/libvirt-py.c @@ -0,0 +1,971 @@ +/* Generated */ + +#include <Python.h> +#include <libvirt/libvirt.h> +#include "libvirt_wrap.h" +#include "libvirt-py.h" + +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_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_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_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_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_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_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_virDomainPinVcpu(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { + PyObject *py_retval; + int c_retval; + virDomainPtr domain; + PyObject *pyobj_domain; + unsigned int vcpu; + unsigned char * cpumap; + int maplen; + + if (!PyArg_ParseTuple(args, (char *)"Oizi:virDomainPinVcpu", &pyobj_domain, &vcpu, &cpumap, &maplen)) + return(NULL); + domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain); +LIBVIRT_BEGIN_ALLOW_THREADS; + + c_retval = virDomainPinVcpu(domain, vcpu, cpumap, maplen); +LIBVIRT_END_ALLOW_THREADS; + py_retval = libvirt_intWrap((int) 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_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_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_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_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_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_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_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_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_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_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_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_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_virDomainGetUUIDString(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { + PyObject *py_retval; + int c_retval; + virDomainPtr domain; + PyObject *pyobj_domain; + char * buf; + + if (!PyArg_ParseTuple(args, (char *)"Oz:virDomainGetUUIDString", &pyobj_domain, &buf)) + return(NULL); + domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain); +LIBVIRT_BEGIN_ALLOW_THREADS; + + c_retval = virDomainGetUUIDString(domain, buf); +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_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_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_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_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_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_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_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_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_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_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_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_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_virNetworkGetUUIDString(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { + PyObject *py_retval; + int c_retval; + virNetworkPtr network; + PyObject *pyobj_network; + char * buf; + + if (!PyArg_ParseTuple(args, (char *)"Oz:virNetworkGetUUIDString", &pyobj_network, &buf)) + return(NULL); + network = (virNetworkPtr) PyvirNetwork_Get(pyobj_network); +LIBVIRT_BEGIN_ALLOW_THREADS; + + c_retval = virNetworkGetUUIDString(network, buf); +LIBVIRT_END_ALLOW_THREADS; + py_retval = libvirt_intWrap((int) 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_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_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); +} + +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_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_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_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_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_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_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_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_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_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); +} + diff --git a/libvirt-py.h b/libvirt-py.h new file mode 100644 index 0000000..4c0c3b6 --- /dev/null +++ b/libvirt-py.h @@ -0,0 +1,57 @@ +/* Generated */ + +PyObject * libvirt_virNetworkGetName(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainGetName(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainDefineXML(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainShutdown(PyObject *self, PyObject *args); +PyObject * libvirt_virNetworkUndefine(PyObject *self, PyObject *args); +PyObject * libvirt_virConnectGetCapabilities(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainLookupByName(PyObject *self, PyObject *args); +PyObject * libvirt_virNetworkGetBridgeName(PyObject *self, PyObject *args); +PyObject * libvirt_virNetworkGetXMLDesc(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainPinVcpu(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainRestore(PyObject *self, PyObject *args); +PyObject * libvirt_virConnectGetType(PyObject *self, PyObject *args); +PyObject * libvirt_virNetworkLookupByName(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainCreate(PyObject *self, PyObject *args); +PyObject * libvirt_virNetworkLookupByUUIDString(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainCoreDump(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainLookupByUUIDString(PyObject *self, PyObject *args); +PyObject * libvirt_virConnectNumOfDefinedNetworks(PyObject *self, PyObject *args); +PyObject * libvirt_virResetLastError(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainUndefine(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainGetOSType(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainSetMemory(PyObject *self, PyObject *args); +PyObject * libvirt_virNetworkSetAutostart(PyObject *self, PyObject *args); +PyObject * libvirt_virConnectNumOfDomains(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainGetUUIDString(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainGetMaxMemory(PyObject *self, PyObject *args); +PyObject * libvirt_virNetworkGetAutostart(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainAttachDevice(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainGetMaxVcpus(PyObject *self, PyObject *args); +PyObject * libvirt_virConnectOpen(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainSetAutostart(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainSuspend(PyObject *self, PyObject *args); +PyObject * libvirt_virConnectGetMaxVcpus(PyObject *self, PyObject *args); +PyObject * libvirt_virConnectNumOfDefinedDomains(PyObject *self, PyObject *args); +PyObject * libvirt_virNetworkDefineXML(PyObject *self, PyObject *args); +PyObject * libvirt_virNetworkCreate(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainReboot(PyObject *self, PyObject *args); +PyObject * libvirt_virInitialize(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainSetVcpus(PyObject *self, PyObject *args); +PyObject * libvirt_virNetworkGetUUIDString(PyObject *self, PyObject *args); +PyObject * libvirt_virConnResetLastError(PyObject *self, PyObject *args); +PyObject * libvirt_virNetworkCreateXML(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainGetID(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainResume(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainCreateLinux(PyObject *self, PyObject *args); +PyObject * libvirt_virNetworkDestroy(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainDestroy(PyObject *self, PyObject *args); +PyObject * libvirt_virConnectNumOfNetworks(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainDetachDevice(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainGetAutostart(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainGetXMLDesc(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainSetMaxMemory(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainLookupByID(PyObject *self, PyObject *args); +PyObject * libvirt_virDomainSave(PyObject *self, PyObject *args); +PyObject * libvirt_virConnectOpenReadOnly(PyObject *self, PyObject *args); diff --git a/libvirt.py b/libvirt.py new file mode 100644 index 0000000..4d572f0 --- /dev/null +++ b/libvirt.py @@ -0,0 +1,783 @@ +#!/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 +# +import libvirtmod +import types + +# The root of all libvirt errors. +class libvirtError(Exception): + def __init__(self, msg, conn=None, dom=None, net=None): + Exception.__init__(self, msg) + + if dom is not None: + conn = dom._conn + elif net is not None: + conn = net._conn + + if conn is None: + self.err = virGetLastError() + else: + self.err = conn.virConnGetLastError() + + 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] + + def __str__(self): + if self.get_error_message() is None: + return Exception.__str__(self) + else: + return Exception.__str__(self) + " " + self.get_error_message() + +# +# 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 informations about the error being raised. + Returns 1 in case of success.""" + return libvirtmod.virRegisterErrorHandler(f,ctx) + +# +# 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 + + +# 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 libbrary 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 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 Simpler but may not be suitable for multithreaded + accesses, in which case use virCopyLastError() """ + ret = libvirtmod.virGetLastError() + return ret + +def virResetLastError(): + """Reset the last error caught at the library level. """ + 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 UUIDString(self, buf): + """Get the UUID for a domain as string. For more information + about UUID see RFC4122. """ + ret = libvirtmod.virDomainGetUUIDString(self._o, buf) + if ret == -1: raise libvirtError ('virDomainGetUUIDString() 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 + virDomainCreateLinux(). """ + 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 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. The data structure is freed and + should not be used thereafter if the call does not return + an error. This function may requires priviledged access """ + ret = libvirtmod.virDomainDestroy(self._o) + if ret == -1: raise libvirtError ('virDomainDestroy() failed', dom=self) + self._o = None + 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 name(self): + """Get the public name for that domain """ + ret = libvirtmod.virDomainGetName(self._o) + return ret + + def pinVcpu(self, vcpu, cpumap, maplen): + """Dynamically change the real CPUs which can be allocated to + a virtual CPU. This function requires priviledged access + to the hypervisor. """ + ret = libvirtmod.virDomainPinVcpu(self._o, vcpu, cpumap, maplen) + if ret == -1: raise libvirtError ('virDomainPinVcpu() failed', dom=self) + 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 resume(self): + """Resume an suspended domain, the process is restarted from + the state where it was frozen by calling + virSuspendDomain(). This function may requires priviledged + 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 + priviledged 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 + priviledged 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 priviledged 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 priviledged 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 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 info(self): + """Extract informations about a domain. Note that if the + connection used to get the domain is limited only a + partial set of the informations can be extracted. """ + ret = libvirtmod.virDomainGetInfo(self._o) + if ret is None: raise libvirtError ('virDomainGetInfo() 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 UUIDString(self, buf): + """Get the UUID for a network as string. For more information + about UUID see RFC4122. """ + ret = libvirtmod.virNetworkGetUUIDString(self._o, buf) + if ret == -1: raise libvirtError ('virNetworkGetUUIDString() failed', net=self) + return ret + + 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 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. The data structure is + freed and should not be used thereafter if the call does + not return an error. This function may requires + priviledged access """ + ret = libvirtmod.virNetworkDestroy(self._o) + if ret == -1: raise libvirtError ('virNetworkDestroy() failed', net=self) + self._o = None + return ret + + def name(self): + """Get the public name for that network """ + ret = libvirtmod.virNetworkGetName(self._o) + if ret is None: raise libvirtError ('virNetworkGetName() 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 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 virConnect: + def __init__(self, _obj=None): + if _obj != None:self._o = _obj;return + self._o = None + + def __del__(self): + if self._o != None: + libvirtmod.virConnectClose(self._o) + self._o = None + + # + # virConnect functions from module libvirt + # + + def createLinux(self, xmlDesc, flags): + """Launch a new Linux guest domain, based on an XML + description similar to the one returned by + virDomainGetXMLDesc() This function may requires + priviledged access to the hypervisor. """ + 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): + """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 defineXML(self, xml): + """define a domain, but does not start it """ + ret = libvirtmod.virDomainDefineXML(self._o, xml) + if ret is None:raise libvirtError('virDomainDefineXML() failed', conn=self) + __tmp = virDomain(self,_obj=ret) + return __tmp + + 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 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 lookupByID(self, id): + """Try to find a domain based on the hypervisor ID number """ + 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 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 numOfDefinedDomains(self): + """Provides the number of 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 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 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 + + # + # virConnect functions from module python + # + + def getInfo(self): + """Extract hardware informations 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 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 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 Simpler but may not be suitable for + multithreaded accesses, in which case use + virConnCopyLastError() """ + ret = libvirtmod.virConnGetLastError(self._o) + return ret + + def virConnResetLastError(self): + """Reset the last error caught on that connection """ + libvirtmod.virConnResetLastError(self._o) + +# virErrorLevel +VIR_ERR_NONE = 0 +VIR_ERR_WARNING = 1 +VIR_ERR_ERROR = 2 + +# 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 + +# virDeviceMode +VIR_DEVICE_DEFAULT = 0 +VIR_DEVICE_RO = 1 +VIR_DEVICE_RW = 2 +VIR_DEVICE_RW_FORCE = 3 + +# 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 + +# virDomainRestart +VIR_DOMAIN_DESTROY = 1 +VIR_DOMAIN_RESTART = 2 +VIR_DOMAIN_PRESERVE = 3 +VIR_DOMAIN_RENAME_RESTART = 4 + +# 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 + +# virDomainCreateFlags +VIR_DOMAIN_NONE = 0 + +# 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 + +# virVcpuState +VIR_VCPU_OFFLINE = 0 +VIR_VCPU_RUNNING = 1 +VIR_VCPU_BLOCKED = 2 + 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..328728c --- /dev/null +++ b/tests/Makefile.in @@ -0,0 +1,396 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 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@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +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)/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)/acinclude.m4 $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +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@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ENABLE_XEN_TESTS_FALSE = @ENABLE_XEN_TESTS_FALSE@ +ENABLE_XEN_TESTS_TRUE = @ENABLE_XEN_TESTS_TRUE@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GMSGFMT = @GMSGFMT@ +HTML_DIR = @HTML_DIR@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +IPTABLES_PATH = @IPTABLES_PATH@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBVIRT_FEATURES = @LIBVIRT_FEATURES@ +LIBVIRT_INIT_SCRIPTS_RED_HAT_FALSE = @LIBVIRT_INIT_SCRIPTS_RED_HAT_FALSE@ +LIBVIRT_INIT_SCRIPTS_RED_HAT_TRUE = @LIBVIRT_INIT_SCRIPTS_RED_HAT_TRUE@ +LIBVIRT_MAJOR_VERSION = @LIBVIRT_MAJOR_VERSION@ +LIBVIRT_MICRO_VERSION = @LIBVIRT_MICRO_VERSION@ +LIBVIRT_MINOR_VERSION = @LIBVIRT_MINOR_VERSION@ +LIBVIRT_VERSION = @LIBVIRT_VERSION@ +LIBVIRT_VERSION_EXTRA = @LIBVIRT_VERSION_EXTRA@ +LIBVIRT_VERSION_INFO = @LIBVIRT_VERSION_INFO@ +LIBVIRT_VERSION_NUMBER = @LIBVIRT_VERSION_NUMBER@ +LIBXML_CFLAGS = @LIBXML_CFLAGS@ +LIBXML_CONFIG = @LIBXML_CONFIG@ +LIBXML_LIBS = @LIBXML_LIBS@ +LIBXML_MIN_VERSION = @LIBXML_MIN_VERSION@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGMERGE = @MSGMERGE@ +MV = @MV@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POSUB = @POSUB@ +PYTHON = @PYTHON@ +PYTHON_INCLUDES = @PYTHON_INCLUDES@ +PYTHON_SITE_PACKAGES = @PYTHON_SITE_PACKAGES@ +PYTHON_SUBDIR = @PYTHON_SUBDIR@ +PYTHON_VERSION = @PYTHON_VERSION@ +QEMUD_PID_FILE = @QEMUD_PID_FILE@ +RANLIB = @RANLIB@ +RM = @RM@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STATIC_BINARIES = @STATIC_BINARIES@ +STRIP = @STRIP@ +SYSFS_LIBS = @SYSFS_LIBS@ +TAR = @TAR@ +U = @U@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +VIRSH_LIBS = @VIRSH_LIBS@ +WARN_CFLAGS = @WARN_CFLAGS@ +WITH_PYTHON_FALSE = @WITH_PYTHON_FALSE@ +WITH_PYTHON_TRUE = @WITH_PYTHON_TRUE@ +WITH_XEN = @WITH_XEN@ +XGETTEXT = @XGETTEXT@ +XMLLINT = @XMLLINT@ +XSLTPROC = @XSLTPROC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +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@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +pythondir = @pythondir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +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 + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + 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 distclean-libtool + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-data-local + +install-exec-am: + +install-info: install-info-am + +install-man: + +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-info-am + +.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-exec \ + install-exec-am install-info install-info-am install-man \ + 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-info-am + + +@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) +# 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: |