Safe Haskell | None |
---|---|
Language | Haskell98 |
Construct an ADT representing block and character devices (but mostly block devices) by interpreting the contents of the Linux sysfs filesystem.
- data SpecialDevice
- sysMountPoint :: FilePath
- ofNode :: FilePath -> IO (Maybe SpecialDevice)
- ofNodeStatus :: FileStatus -> Maybe SpecialDevice
- ofPath :: FilePath -> IO (Maybe SpecialDevice)
- rootPart :: IO (Maybe SpecialDevice)
- ofDevNo :: (DeviceID -> SpecialDevice) -> Int -> SpecialDevice
- ofSysName :: String -> IO (Maybe SpecialDevice)
- ofSysPath :: (DeviceID -> SpecialDevice) -> FilePath -> IO (Maybe SpecialDevice)
- toDevno :: SpecialDevice -> DeviceID
- ofMajorMinor :: (DeviceID -> SpecialDevice) -> Int -> Int -> SpecialDevice
- node :: SpecialDevice -> IO (Maybe FilePath)
- nodes :: SpecialDevice -> IO [FilePath]
- sysName :: SpecialDevice -> IO (Maybe String)
- splitPart :: String -> (String, Int)
- sysDir :: SpecialDevice -> IO (Maybe FilePath)
- diskOfPart :: SpecialDevice -> IO (Maybe SpecialDevice)
- getAllDisks :: IO [SpecialDevice]
- getAllPartitions :: IO [SpecialDevice]
- getAllCdroms :: IO [SpecialDevice]
- getAllRemovable :: IO [SpecialDevice]
Documentation
sysMountPoint :: FilePath Source
FIXME: We should really get this value from the mount table.
ofNode :: FilePath -> IO (Maybe SpecialDevice) Source
Return the device represented by a device node, such as /dev/sda2. Returns Nothing if there is an exception trying to stat the node, or if the node turns out not to be a special device.
rootPart :: IO (Maybe SpecialDevice) Source
ofDevNo :: (DeviceID -> SpecialDevice) -> Int -> SpecialDevice Source
ofSysPath :: (DeviceID -> SpecialDevice) -> FilePath -> IO (Maybe SpecialDevice) Source
toDevno :: SpecialDevice -> DeviceID Source
ofMajorMinor :: (DeviceID -> SpecialDevice) -> Int -> Int -> SpecialDevice Source
nodes :: SpecialDevice -> IO [FilePath] Source
diskOfPart :: SpecialDevice -> IO (Maybe SpecialDevice) Source
getAllDisks :: IO [SpecialDevice] Source