-- 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.2.0.0 -- | 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 () -- | Alter flags of a mounted filesystem (call to mount() with -- MS_REMOUNT). remount :: FilePath -> [MountFlag] -> DriverData -> IO () -- | A filesystem independent option to be used when mounting a filesystem. data MountFlag -- | Mount read-only (MS_RDONLY). ReadOnly :: MountFlag -- | Ignore suid and sgid bits (MS_NOSUID). NoSUID :: MountFlag -- | Disallow access to device special files (MS_NODEV). NoDev :: MountFlag -- | Disallow program execution (MS_NOEXEC). NoExec :: MountFlag -- | Writes are synced at once (MS_SYNCHRONOUS). Synchronous :: MountFlag -- | Allow mandatory locks on a filesystem (MS_MANDLOCK). MandLock :: MountFlag -- | Directory modifications are synchronous (MS_DIRSYNC). DirSync :: MountFlag -- | Do not update access times (MS_NOATIME). NoATime :: MountFlag -- | Do not update directory access times (MS_NODIRATIME). NoDirATime :: MountFlag -- | Silent mount (MS_SILENT). Silent :: MountFlag -- | VFS does not apply the umask (MS_POSIXACL). PosixACL :: MountFlag -- | Update atime relative to mtime/ctime (MS_RELATIME). RelATime :: MountFlag -- | Update inode I_version field (MS_I_VERSION). IVersion :: MountFlag -- | Always perform atime updates (MS_STRICTATIME). StrictATime :: 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 -- | Mount an already mounted filesystem under a new directory (call to -- mount() with MS_BIND). bind :: FilePath -> FilePath -> IO () -- | Mount an already mounted filesystem and all its submounts under a new -- directory (call to mount() with MS_BIND and -- MS_REC). rBind :: FilePath -> FilePath -> IO () -- | Alter flags of a bound filesystem (call to mount() with -- MS_REMOUNT and MS_BIND). rebind :: FilePath -> [MountFlag] -> IO () -- | Set the MS_SHARED propagation flag on a mounted filesystem. makeShared :: FilePath -> IO () -- | Set the MS_SHARED propagation flag on a mounted filesystem -- and recursively on all submounts. makeRShared :: FilePath -> IO () -- | Set the MS_SLAVE propagation flag on a mounted filesystem. makeSlave :: FilePath -> IO () -- | Set the MS_SLAVE propagation flag on a mounted filesystem -- recursively on all submounts. makeRSlave :: FilePath -> IO () -- | Set the MS_PRIVATE propagation flag on a mounted filesystem. makePrivate :: FilePath -> IO () -- | Set the MS_PRIVATE propagation flag on a mounted filesystem -- and recursively on all submounts. makeRPrivate :: FilePath -> IO () -- | Set the MS_UNBINDABLE propagation flag on a mounted -- filesystem. makeUnbindable :: FilePath -> IO () -- | Set the MS_UNBINDABLE propagation flag on a mounted -- filesystem and recursively on all submounts. makeRUnbindable :: FilePath -> IO () -- | Atomically move a mounted filesystem to another mount point (call to -- mount() with MS_MOVE). move :: FilePath -> FilePath -> 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 -> SymLink -> FilePath -> IO () -- | 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 -- | Whether to follow symbolic links on umount. data SymLink Follow :: SymLink NoFollow :: SymLink instance Eq MountFlag instance Read MountFlag instance Show MountFlag instance Eq UmountFlag instance Read UmountFlag instance Show UmountFlag instance Eq SymLink instance Read SymLink instance Show SymLink