X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=fish%2Fcmds.c;h=1035b67f07b09d02d75a61da2a2e1190fc76c231;hb=21ba59ce3cbc594ce9c7aeecd4dadb8430e4042d;hp=6d8e45434bc9b61757821e01f08a98d45be6fca6;hpb=73d6932ab2dd3f9120a1f4a532621c07cb174705;p=libguestfs.git diff --git a/fish/cmds.c b/fish/cmds.c index 6d8e454..1035b67 100644 --- a/fish/cmds.c +++ b/fish/cmds.c @@ -37,11 +37,14 @@ void list_commands (void) printf ("%-20s %s\n", "ll", "list the files in a directory (long format)"); printf ("%-20s %s\n", "ls", "list the files in a directory"); printf ("%-20s %s\n", "lvs", "list the LVM logical volumes (LVs)"); + printf ("%-20s %s\n", "lvs-full", "list the LVM logical volumes (LVs)"); printf ("%-20s %s\n", "mount", "mount a guest disk at a position in the filesystem"); printf ("%-20s %s\n", "pvs", "list the LVM physical volumes (PVs)"); + printf ("%-20s %s\n", "pvs-full", "list the LVM physical volumes (PVs)"); printf ("%-20s %s\n", "sync", "sync disks, writes are flushed through to the disk image"); printf ("%-20s %s\n", "touch", "update file timestamps or create a new file"); printf ("%-20s %s\n", "vgs", "list the LVM volume groups (VGs)"); + printf ("%-20s %s\n", "vgs-full", "list the LVM volume groups (VGs)"); printf (" Use -h / help to show detailed help for a command.\n"); } @@ -72,13 +75,22 @@ void display_command (const char *cmd) pod2text ("list-partitions - list the partitions", " list-partitions\n\nList all the partitions detected on all block devices.\n\nThe full partition device names are returned, eg. C\n\nThis does not return logical volumes. For that you will need to\ncall C."); else if (strcasecmp (cmd, "pvs") == 0) - pod2text ("pvs - list the LVM physical volumes (PVs)", " pvs\n\nList all the physical volumes detected. This is the equivalent\nof the L command."); + pod2text ("pvs - list the LVM physical volumes (PVs)", " pvs\n\nList all the physical volumes detected. This is the equivalent\nof the L command.\n\nThis returns a list of just the device names that contain\nPVs (eg. C).\n\nSee also C."); else if (strcasecmp (cmd, "vgs") == 0) - pod2text ("vgs - list the LVM volume groups (VGs)", " vgs\n\nList all the volumes groups detected. This is the equivalent\nof the L command."); + pod2text ("vgs - list the LVM volume groups (VGs)", " vgs\n\nList all the volumes groups detected. This is the equivalent\nof the L command.\n\nThis returns a list of just the volume group names that were\ndetected (eg. C).\n\nSee also C."); else if (strcasecmp (cmd, "lvs") == 0) - pod2text ("lvs - list the LVM logical volumes (LVs)", " lvs\n\nList all the logical volumes detected. This is the equivalent\nof the L command."); + pod2text ("lvs - list the LVM logical volumes (LVs)", " lvs\n\nList all the logical volumes detected. This is the equivalent\nof the L command.\n\nThis returns a list of the logical volume device names\n(eg. C).\n\nSee also C."); + else + if (strcasecmp (cmd, "pvs_full") == 0 || strcasecmp (cmd, "pvs-full") == 0) + pod2text ("pvs-full - list the LVM physical volumes (PVs)", " pvs-full\n\nList all the physical volumes detected. This is the equivalent\nof the L command. The \"full\" version includes all fields."); + else + if (strcasecmp (cmd, "vgs_full") == 0 || strcasecmp (cmd, "vgs-full") == 0) + pod2text ("vgs-full - list the LVM volume groups (VGs)", " vgs-full\n\nList all the volumes groups detected. This is the equivalent\nof the L command. The \"full\" version includes all fields."); + else + if (strcasecmp (cmd, "lvs_full") == 0 || strcasecmp (cmd, "lvs-full") == 0) + pod2text ("lvs-full - list the LVM logical volumes (LVs)", " lvs-full\n\nList all the logical volumes detected. This is the equivalent\nof the L command. The \"full\" version includes all fields."); else display_builtin_command (cmd); } @@ -310,7 +322,7 @@ static int run_list_partitions (const char *cmd, int argc, char *argv[]) static int run_pvs (const char *cmd, int argc, char *argv[]) { - struct guestfs_lvm_pv_list *r; + char **r; if (argc != 0) { fprintf (stderr, "%s should have 0 parameter(s)\n", cmd); fprintf (stderr, "type 'help %s' for help on %s\n", cmd, cmd); @@ -318,12 +330,57 @@ static int run_pvs (const char *cmd, int argc, char *argv[]) } r = guestfs_pvs (g); if (r == NULL) return -1; + print_strings (r); + free_strings (r); + return 0; +} + +static int run_vgs (const char *cmd, int argc, char *argv[]) +{ + char **r; + if (argc != 0) { + fprintf (stderr, "%s should have 0 parameter(s)\n", cmd); + fprintf (stderr, "type 'help %s' for help on %s\n", cmd, cmd); + return -1; + } + r = guestfs_vgs (g); + if (r == NULL) return -1; + print_strings (r); + free_strings (r); + return 0; +} + +static int run_lvs (const char *cmd, int argc, char *argv[]) +{ + char **r; + if (argc != 0) { + fprintf (stderr, "%s should have 0 parameter(s)\n", cmd); + fprintf (stderr, "type 'help %s' for help on %s\n", cmd, cmd); + return -1; + } + r = guestfs_lvs (g); + if (r == NULL) return -1; + print_strings (r); + free_strings (r); + return 0; +} + +static int run_pvs_full (const char *cmd, int argc, char *argv[]) +{ + struct guestfs_lvm_pv_list *r; + if (argc != 0) { + fprintf (stderr, "%s should have 0 parameter(s)\n", cmd); + fprintf (stderr, "type 'help %s' for help on %s\n", cmd, cmd); + return -1; + } + r = guestfs_pvs_full (g); + if (r == NULL) return -1; print_pv_list (r); guestfs_free_lvm_pv_list (r); return 0; } -static int run_vgs (const char *cmd, int argc, char *argv[]) +static int run_vgs_full (const char *cmd, int argc, char *argv[]) { struct guestfs_lvm_vg_list *r; if (argc != 0) { @@ -331,14 +388,14 @@ static int run_vgs (const char *cmd, int argc, char *argv[]) fprintf (stderr, "type 'help %s' for help on %s\n", cmd, cmd); return -1; } - r = guestfs_vgs (g); + r = guestfs_vgs_full (g); if (r == NULL) return -1; print_vg_list (r); guestfs_free_lvm_vg_list (r); return 0; } -static int run_lvs (const char *cmd, int argc, char *argv[]) +static int run_lvs_full (const char *cmd, int argc, char *argv[]) { struct guestfs_lvm_lv_list *r; if (argc != 0) { @@ -346,7 +403,7 @@ static int run_lvs (const char *cmd, int argc, char *argv[]) fprintf (stderr, "type 'help %s' for help on %s\n", cmd, cmd); return -1; } - r = guestfs_lvs (g); + r = guestfs_lvs_full (g); if (r == NULL) return -1; print_lv_list (r); guestfs_free_lvm_lv_list (r); @@ -388,6 +445,15 @@ int run_action (const char *cmd, int argc, char *argv[]) if (strcasecmp (cmd, "lvs") == 0) return run_lvs (cmd, argc, argv); else + if (strcasecmp (cmd, "pvs_full") == 0 || strcasecmp (cmd, "pvs-full") == 0) + return run_pvs_full (cmd, argc, argv); + else + if (strcasecmp (cmd, "vgs_full") == 0 || strcasecmp (cmd, "vgs-full") == 0) + return run_vgs_full (cmd, argc, argv); + else + if (strcasecmp (cmd, "lvs_full") == 0 || strcasecmp (cmd, "lvs-full") == 0) + return run_lvs_full (cmd, argc, argv); + else { fprintf (stderr, "%s: unknown command\n", cmd); return -1;