-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Mount and unmount filesystems
--
-- This module provides an interface to the system mount and umount
-- functions.
@package linux-mount
@version 0.1.0.1
-- | This module provides an interface to the system mount and umount
-- functions.
module System.Linux.Mount
-- | Mount a filesystem (call to mount()).
mount :: String -> FilePath -> String -> [MountFlag] -> DriverData -> IO ()
-- | Unmount a filesystem (call to umount()).
umount :: FilePath -> IO ()
-- | Unmount a filesystem using specific unmount options (call to
-- umount2()). See UmountFlag for details.
umountWith :: UmountFlag -> Bool -> FilePath -> IO ()
-- | A filesystem independent option to be used when mounting a filesystem.
data MountFlag
Rdonly :: MountFlag
Nosuid :: MountFlag
Nodev :: MountFlag
Noexec :: MountFlag
Synchronous :: MountFlag
Remount :: MountFlag
Mandlock :: MountFlag
Dirsync :: MountFlag
Noatime :: MountFlag
Nodiratime :: MountFlag
Bind :: MountFlag
Move :: MountFlag
Rec :: MountFlag
Silent :: MountFlag
Posixacl :: MountFlag
Unbindable :: MountFlag
Private :: MountFlag
Slave :: MountFlag
Shared :: MountFlag
Relatime :: MountFlag
Kernmount :: MountFlag
IVersion :: MountFlag
Strictatime :: MountFlag
Active :: MountFlag
Nouser :: MountFlag
-- | Filesystem dependent options to be used when mounting a filesystem;
-- the content of DriverData is passed directly to the
-- filesystem driver.
type DriverData = ByteString
-- | Empty DriverData.
noData :: DriverData
-- | A filesystem independent option to be used when unmounting a
-- filesystem.
data UmountFlag
-- | Plain unmount, behaves like umount.
Plain :: UmountFlag
-- | Force unmount even if busy.
Force :: UmountFlag
-- | Perform a lazy unmount: make the mount point unavailable for new
-- accesses, and actually perform the unmount when the mount point ceases
-- to be busy.
Detach :: UmountFlag
-- | Mark the mount point as expired. If a mount point is not currently in
-- use, then an initial call to umountWith with this flag
-- fails with the error EAGAIN, but marks the mount point as
-- expired. The mount point remains expired as long as it isn't accessed
-- by any process. A second umountWith call specifying
-- Expire unmounts an expired mount point.
Expire :: UmountFlag
instance Eq MountFlag
instance Read MountFlag
instance Show MountFlag
instance Eq UmountFlag
instance Read UmountFlag
instance Show UmountFlag