diff options
Diffstat (limited to 'examples')
-rw-r--r-- | examples/Makefile.am | 8 | ||||
-rw-r--r-- | examples/hello.c | 33 |
2 files changed, 39 insertions, 2 deletions
diff --git a/examples/Makefile.am b/examples/Makefile.am index 66a32d7b..9bac5f36 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -1,7 +1,11 @@ # libguestfs examples -noinst_PROGRAMS = df +noinst_PROGRAMS = df hello df_SOURCES = df.c -df_CFLAGS = -I$(top_builddir)/src +df_CFLAGS = -I$(top_builddir)/src -Wall df_LDADD = $(top_builddir)/src/libguestfs.la + +hello_SOURCES = hello.c +hello_CFLAGS = -I$(top_builddir)/src -Wall +hello_LDADD = $(top_builddir)/src/libguestfs.la diff --git a/examples/hello.c b/examples/hello.c new file mode 100644 index 00000000..5f1ab0ec --- /dev/null +++ b/examples/hello.c @@ -0,0 +1,33 @@ +/* Create a "/hello" file on /dev/sda1. */ + +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <guestfs.h> + +int +main (int argc, char *argv[]) +{ + guestfs_h *g; + + if (argc != 2 || access (argv[1], F_OK) != 0) { + fprintf (stderr, "Usage: hello disk-image\n"); + exit (1); + } + + if (!(g = guestfs_create ())) exit (1); + + guestfs_set_verbose (g, 1); + if (guestfs_add_drive (g, argv[1]) == -1) exit (1); + + if (guestfs_launch (g) == -1) exit (1); + if (guestfs_wait_ready (g) == -1) exit (1); + + if (guestfs_mount (g, "/dev/sda1", "/") == -1) exit (1); + + if (guestfs_touch (g, "/hello") == -1) exit (1); + + guestfs_sync (g); + guestfs_close (g); + return 0; +} |