X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=daemon%2Fntfs.c;h=8938dbdea68ed67c3e54d3e095a7b5204c4001e1;hp=87881b1ff048a1195208cd8db22be2fcd8e666db;hb=42f59b28f123f53ae038df23a9abee08e959e46b;hpb=56bef498f46ac3dd580f4bde3c8f3ed2fe688826 diff --git a/daemon/ntfs.c b/daemon/ntfs.c index 87881b1..8938dbd 100644 --- a/daemon/ntfs.c +++ b/daemon/ntfs.c @@ -1,5 +1,5 @@ /* libguestfs - the guestfsd daemon - * Copyright (C) 2009 Red Hat Inc. + * Copyright (C) 2009 Red Hat Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -25,24 +25,53 @@ #include "daemon.h" #include "actions.h" +#include "optgroups.h" int -do_ntfs_3g_probe (int rw, char *device) +optgroup_ntfs3g_available (void) +{ + int r = access ("/bin/ntfs-3g.probe", X_OK); + return r == 0; +} + +int +optgroup_ntfsprogs_available (void) +{ + int r = access ("/usr/sbin/ntfsresize", X_OK); + return r == 0; +} + +int +do_ntfs_3g_probe (int rw, const char *device) { char *err; int r; const char *rw_flag; - IS_DEVICE (device, -1); - rw_flag = rw ? "-w" : "-r"; r = commandr (NULL, &err, "ntfs-3g.probe", rw_flag, device, NULL); if (r == -1) { - reply_with_error ("ntfs-3g.probe: %s: %s", device, err); + reply_with_error ("%s: %s", device, err); free (err); return -1; } return r; } + +int +do_ntfsresize (const char *device) +{ + char *err; + int r; + + r = command (NULL, &err, "ntfsresize", "-P", device, NULL); + if (r == -1) { + reply_with_error ("%s: %s", device, err); + free (err); + return -1; + } + + return 0; +}