X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=examples%2Fhello.c;h=b3d36e6365be861499f4651690229e78ffa0d6fe;hp=5f1ab0eca6143c339368aa1584addbc9a31cb90e;hb=d600342b7d29c0176ff96a7807ebb38303ecb3a6;hpb=40ca9a57829f2e82362e391d7d998bf33c8bd671;ds=sidebyside diff --git a/examples/hello.c b/examples/hello.c index 5f1ab0e..b3d36e6 100644 --- a/examples/hello.c +++ b/examples/hello.c @@ -1,5 +1,12 @@ -/* Create a "/hello" file on /dev/sda1. */ - +/* Create a "/hello" file on chosen partition. + * eg: + * hello guest.img /dev/sda1 + * hello guest.img /dev/VolGroup00/LogVol00 + */ + +#if HAVE_CONFIG_H +# include +#endif #include #include #include @@ -10,22 +17,23 @@ 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 (argc != 3 || access (argv[1], F_OK) != 0) { + fprintf (stderr, "Usage: hello disk-image partition\n"); + exit (EXIT_FAILURE); } - if (!(g = guestfs_create ())) exit (1); + if (!(g = guestfs_create ())) exit (EXIT_FAILURE); - guestfs_set_verbose (g, 1); - if (guestfs_add_drive (g, argv[1]) == -1) exit (1); + if (guestfs_add_drive_opts (g, argv[1], + GUESTFS_ADD_DRIVE_OPTS_FORMAT, "raw", + -1) == -1) + exit (EXIT_FAILURE); - if (guestfs_launch (g) == -1) exit (1); - if (guestfs_wait_ready (g) == -1) exit (1); + if (guestfs_launch (g) == -1) exit (EXIT_FAILURE); - if (guestfs_mount (g, "/dev/sda1", "/") == -1) exit (1); + if (guestfs_mount_options (g, "", argv[2], "/") == -1) exit (EXIT_FAILURE); - if (guestfs_touch (g, "/hello") == -1) exit (1); + if (guestfs_touch (g, "/hello") == -1) exit (EXIT_FAILURE); guestfs_sync (g); guestfs_close (g);