Unixutils-1.54.3: A crude interface between Haskell and Unix-like operating systems

Safe Haskell | None
Language | Haskell2010

System.Unix.SpecialDevice

Description

Construct an ADT representing block and character devices (but mostly block devices) by interpreting the contents of the Linux sysfs filesystem.

Synopsis

- 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

data SpecialDevice Source #

#### Instances

Instances details

Show SpecialDevice Source # |
Instance details Defined in System.Unix.SpecialDevice Methods showsPrec :: Int -> SpecialDevice -> ShowS Source # show :: SpecialDevice -> String Source # showList :: [SpecialDevice] -> ShowS Source #
Eq SpecialDevice Source # |
Instance details Defined in System.Unix.SpecialDevice Methods (==) :: SpecialDevice -> SpecialDevice -> Bool Source # (/=) :: SpecialDevice -> SpecialDevice -> Bool Source #
Ord SpecialDevice Source # |

Instance details

Defined in System.Unix.SpecialDevice

Methods

compare :: SpecialDevice -> SpecialDevice -> Ordering Source #

(<) :: SpecialDevice -> SpecialDevice -> Bool Source #

(<=) :: SpecialDevice -> SpecialDevice -> Bool Source #

(>) :: SpecialDevice -> SpecialDevice -> Bool Source #

(>=) :: SpecialDevice -> SpecialDevice -> Bool Source #

max :: SpecialDevice -> SpecialDevice -> SpecialDevice Source #

min :: SpecialDevice -> SpecialDevice -> SpecialDevice Source #

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.

ofNodeStatus :: FileStatus -> Maybe SpecialDevice Source #

ofPath :: FilePath -> IO (Maybe SpecialDevice) Source #

rootPart :: IO (Maybe SpecialDevice) Source #

ofDevNo :: (DeviceID -> SpecialDevice) -> Int -> SpecialDevice Source #

ofSysName :: String -> IO (Maybe SpecialDevice) Source #

ofSysPath :: (DeviceID -> SpecialDevice) -> FilePath -> IO (Maybe SpecialDevice) Source #

toDevno :: SpecialDevice -> DeviceID Source #

ofMajorMinor :: (DeviceID -> SpecialDevice) -> Int -> Int -> SpecialDevice Source #

node :: SpecialDevice -> IO (Maybe FilePath) Source #

nodes :: SpecialDevice -> IO [FilePath] Source #

sysName :: SpecialDevice -> IO (Maybe String) Source #

splitPart :: String -> (String, Int) Source #

sysDir :: SpecialDevice -> IO (Maybe FilePath) Source #

diskOfPart :: SpecialDevice -> IO (Maybe SpecialDevice) Source #

getAllDisks :: IO [SpecialDevice] Source #

getAllPartitions :: IO [SpecialDevice] Source #

getAllCdroms :: IO [SpecialDevice] Source #

getAllRemovable :: IO [SpecialDevice] Source #