And in the middle it prints out its name to demonstrate changes in later patch(es). Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx> --- .gitignore | 1 + configure.ac | 1 + examples/rename/Makefile.am | 24 +++++++++++++++ examples/rename/rename.c | 73 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 99 insertions(+) create mode 100644 examples/rename/Makefile.am create mode 100644 examples/rename/rename.c diff --git a/.gitignore b/.gitignore index 6bd41be9db89..19402f5b8cd2 100644 --- a/.gitignore +++ b/.gitignore @@ -83,6 +83,7 @@ /examples/domtop/domtop /examples/hellolibvirt/hellolibvirt /examples/openauth/openauth +/examples/rename/test /gnulib/lib/* /gnulib/m4/* /gnulib/tests/* diff --git a/configure.ac b/configure.ac index 8471a4659464..de31486792fb 100644 --- a/configure.ac +++ b/configure.ac @@ -2806,6 +2806,7 @@ AC_CONFIG_FILES([\ examples/domtop/Makefile \ examples/openauth/Makefile \ examples/hellolibvirt/Makefile \ + examples/rename/Makefile \ examples/systemtap/Makefile \ examples/xml/nwfilter/Makefile \ examples/lxcconvert/Makefile \ diff --git a/examples/rename/Makefile.am b/examples/rename/Makefile.am new file mode 100644 index 000000000000..1b3484c1f30e --- /dev/null +++ b/examples/rename/Makefile.am @@ -0,0 +1,24 @@ +## Copyright (C) 2005-2013 Red Hat, Inc. +## +## This library is free software; you can redistribute it and/or +## modify it under the terms of the GNU Lesser General Public +## License as published by the Free Software Foundation; either +## version 2.1 of the License, or (at your option) any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## Lesser General Public License for more details. +## +## You should have received a copy of the GNU Lesser General Public +## License along with this library. If not, see +## <http://www.gnu.org/licenses/>. + +INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include +LDADDS = $(STATIC_BINARIES) $(WARN_CFLAGS) $(top_builddir)/src/libvirt.la \ + $(COVERAGE_LDFLAGS) + +noinst_PROGRAMS=rename + +rename_SOURCES=rename.c +rename_LDADD= $(LDADDS) diff --git a/examples/rename/rename.c b/examples/rename/rename.c new file mode 100644 index 000000000000..85f18e9df32d --- /dev/null +++ b/examples/rename/rename.c @@ -0,0 +1,73 @@ +/* + * rename.c + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see + * <http://www.gnu.org/licenses/>. + */ + +#include <stdio.h> +#include <stdlib.h> +#include <libvirt/libvirt.h> + +int main(int argc, char **argv) +{ + virConnectPtr conn = NULL; /* the hypervisor connection */ + virDomainPtr dom = NULL; /* the domain being checked */ + int ret = EXIT_FAILURE; + + if (argc != 3) { + fprintf(stderr, "Usage: %s <current_domname> <temporary_domname>\n", + argv[0]); + goto error; + } + + conn = virConnectOpen(NULL); + if (conn == NULL) { + fprintf(stderr, "Failed to connect to hypervisor\n"); + goto error; + } + + dom = virDomainLookupByName(conn, argv[1]); + if (dom == NULL) { + fprintf(stderr, "Failed to find domain\n"); + goto error; + } + + printf("Before first rename: %s\n", virDomainGetName(dom)); + + /* Get the information */ + ret = virDomainRename(dom, argv[2], 0); + if (ret < 0) { + fprintf(stderr, "Failed to rename domain\n"); + goto error; + } + + printf("After first rename: %s\n", virDomainGetName(dom)); + + /* Get the information */ + ret = virDomainRename(dom, argv[1], 0); + if (ret < 0) { + fprintf(stderr, "Failed to rename domain\n"); + goto error; + } + + printf("After second rename: %s\n", virDomainGetName(dom)); + + error: + if (dom != NULL) + virDomainFree(dom); + if (conn != NULL) + virConnectClose(conn); + return ret; +} -- 2.5.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list