X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=haskell%2FGuestfs.hs;h=ddbad4696f44c1974567e3c64cdbdfcfc855bbb9;hp=210274efd5d0b045f7cf050598401f62fe8ae3fd;hb=bcb3fc0c3336c05e9ecbbfb25c7c31b42bd3e32e;hpb=da7cf3670fe60301beeb175ff6c284b737d5b7f4 diff --git a/haskell/Guestfs.hs b/haskell/Guestfs.hs index 210274e..ddbad46 100644 --- a/haskell/Guestfs.hs +++ b/haskell/Guestfs.hs @@ -83,7 +83,10 @@ module Guestfs ( zerofree, pvresize, resize2fs, - e2fsck_f + e2fsck_f, + scrub_device, + scrub_file, + scrub_freespace ) where import Foreign import Foreign.C @@ -853,3 +856,39 @@ e2fsck_f h device = do fail err else return () +foreign import ccall unsafe "guestfs_scrub_device" c_scrub_device + :: GuestfsP -> CString -> IO (CInt) + +scrub_device :: GuestfsH -> String -> IO () +scrub_device h device = do + r <- withCString device $ \device -> withForeignPtr h (\p -> c_scrub_device p device) + if (r == -1) + then do + err <- last_error h + fail err + else return () + +foreign import ccall unsafe "guestfs_scrub_file" c_scrub_file + :: GuestfsP -> CString -> IO (CInt) + +scrub_file :: GuestfsH -> String -> IO () +scrub_file h file = do + r <- withCString file $ \file -> withForeignPtr h (\p -> c_scrub_file p file) + if (r == -1) + then do + err <- last_error h + fail err + else return () + +foreign import ccall unsafe "guestfs_scrub_freespace" c_scrub_freespace + :: GuestfsP -> CString -> IO (CInt) + +scrub_freespace :: GuestfsH -> String -> IO () +scrub_freespace h dir = do + r <- withCString dir $ \dir -> withForeignPtr h (\p -> c_scrub_freespace p dir) + if (r == -1) + then do + err <- last_error h + fail err + else return () +