-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Read, set and list extended attributes -- -- Bindings to the Linux syscalls for reading and manipulating extended -- attributes (setxattr, getxattr, -- listxattr and removexattr). @package linux-xattr @version 0.1.1.0 -- | linux-xattr provides bindings to the Linux syscalls for -- reading and manipulating extended attributes -- (setxattr, getxattr, -- listxattr and removexattr). -- -- Each function in this module has two variants: one with the name -- prefixed by __l__ and one prefixed by __fd__. Both -- of these are identical to the original version except that the -- __l__-variant does not follow symbolic link but acts on the -- link itself, and the __fd__-variant take a file descriptor as -- argument rather than a FilePath. -- -- Moreover, every function has an xxx__UserXAttr__ -- variant for working transparently in the __user__ namespace -- of extended attributes, without worrying about the -- user. prefix: these functions automatically prepends -- the string user. to the Name of the -- attribute when Name is an input value, or strip the -- prefix user. from it when Name is a -- returned value. See the documentation of each individual function for -- details. module System.Linux.XAttr -- | Set the Value of the extended attribute identified by -- Name and associated with the given -- FilePath in the filesystem. setXAttr :: FilePath -> Name -> Value -> IO () -- | Set the Value of the extended attribute identified by -- Name and associated with the given -- FilePath in the filesystem (do not follow symbolic -- links). lSetXAttr :: FilePath -> Name -> Value -> IO () -- | Set the Value of the extended attribute identified by -- Name and associated with the given file descriptor in -- the filesystem. fdSetXAttr :: Fd -> Name -> Value -> IO () -- |
--   setUserXAttr /some/path foo bar = setXAttr /some/path user.foo bar
--   
setUserXAttr :: FilePath -> Name -> Value -> IO () -- |
--   lSetUserXAttr /some/link foo bar = lSetXAttr /some/link user.foo bar
--   
lSetUserXAttr :: FilePath -> Name -> Value -> IO () -- |
--   fdSetUserXAttr (Fd n) foo bar = fdSetXAttr (Fd n) user.foo bar
--   
fdSetUserXAttr :: Fd -> Name -> Value -> IO () -- | Identical to setXAttr, but if the attribute already -- exists fail with isAlreadyExistsError. createXAttr :: FilePath -> Name -> Value -> IO () -- | Identical to lSetXAttr, but if the attribute already -- exists fail with isAlreadyExistsError. lCreateXAttr :: FilePath -> Name -> Value -> IO () -- | Identical to fdSetXAttr, but if the attribute already -- exists fail with isAlreadyExistsError. fdCreateXAttr :: Fd -> Name -> Value -> IO () -- |
--   createUserXAttr /some/path foo bar = createXAttr /some/path user.foo bar
--   
createUserXAttr :: FilePath -> Name -> Value -> IO () -- |
--   lCreateUserXAttr /some/link foo bar = lCreateXAttr /some/link user.foo bar
--   
lCreateUserXAttr :: FilePath -> Name -> Value -> IO () -- |
--   fdCreateUserXAttr (Fd n) foo bar = fdCreateXAttr (Fd n) user.foo bar
--   
fdCreateUserXAttr :: Fd -> Name -> Value -> IO () -- | Identical to setXAttr, but if the attribute does not -- exist fail with isDoesNotExistError. replaceXAttr :: FilePath -> Name -> Value -> IO () -- | Identical to lSetXAttr, but if the attribute does not -- exist fail with isDoesNotExistError. lReplaceXAttr :: FilePath -> Name -> Value -> IO () -- | Identical to fdSetXAttr, but if the attribute does not -- exist fail with isDoesNotExistError. fdReplaceXAttr :: Fd -> Name -> Value -> IO () -- |
--   replaceUserXAttr /some/path foo bar = replaceXAttr /some/path user.foo bar
--   
replaceUserXAttr :: FilePath -> Name -> Value -> IO () -- |
--   lReplaceUserXAttr /some/link foo bar = lReplaceXAttr /some/link user.foo bar
--   
lReplaceUserXAttr :: FilePath -> Name -> Value -> IO () -- |
--   fdReplaceUserXAttr (Fd n) foo bar = fdReplaceXAttr (Fd n) user.foo bar
--   
fdReplaceUserXAttr :: Fd -> Name -> Value -> IO () -- | Retrieve the Value of the extended attribute -- identified by Name and associated with the given -- FilePath in the filesystem, or fail with -- isDoesNotExistError if the attribute does not exist. getXAttr :: FilePath -> Name -> IO Value -- | Retrieve the Value of the extended attribute -- identified by Name and associated with the given -- FilePath in the filesystem, or fail with -- isDoesNotExistError if the attribute does not exist -- (do not follow symbolic links). lGetXAttr :: FilePath -> Name -> IO Value -- | Retrieve the Value of the extended attribute -- identified by Name and associated with the given file -- descriptor in the filesystem, or fail with -- isDoesNotExistError if the attribute does not exist. fdGetXAttr :: Fd -> Name -> IO Value -- |
--   getUserXAttr /some/path foo = getXAttr /some/path user.foo
--   
getUserXAttr :: FilePath -> Name -> IO Value -- |
--   lGetUserXAttr /some/link foo = lGetXAttr /some/link user.foo
--   
lGetUserXAttr :: FilePath -> Name -> IO Value -- |
--   fdGetUserXAttr (Fd n) foo = fdGetXAttr (Fd n) user.foo
--   
fdGetUserXAttr :: Fd -> Name -> IO Value -- | Get the list of extended attribute Names associated -- with the given FilePath in the filesystem. listXAttr :: FilePath -> IO [Name] -- | Get the list of extended attribute Names associated -- with the given FilePath in the filesystem (do not -- follow symbolic links). lListXAttr :: FilePath -> IO [Name] -- | Get the list of extended attribute Names associated -- with the given file descriptor in the filesystem. fdListXAttr :: Fd -> IO [Name] listUserXAttr :: FilePath -> IO [Name] lListUserXAttr :: FilePath -> IO [Name] fdListUserXAttr :: Fd -> IO [Name] -- | Remove the extended attribute identified by Name and -- associated with the given FilePath in the filesystem, -- or fail with isDoesNotExistError if the attribute does -- not exist. removeXAttr :: FilePath -> Name -> IO () -- | Remove the extended attribute identified by Name and -- associated with the given FilePath in the filesystem, -- or fail with isDoesNotExistError if the attribute does -- not exist (do not follow symbolic links). lRemoveXAttr :: FilePath -> Name -> IO () -- | Remove the extended attribute identified by Name and -- associated with the given file descriptor in the filesystem, or fail -- with isDoesNotExistError if the attribute does not -- exist. fdRemoveXAttr :: Fd -> Name -> IO () -- |
--   removeUserXAttr /some/path foo = removeXAttr /some/path user.foo
--   
removeUserXAttr :: FilePath -> Name -> IO () -- |
--   lRemoveUserXAttr /some/link foo = lRemoveXAttr /some/link user.foo
--   
lRemoveUserXAttr :: FilePath -> Name -> IO () -- |
--   fdRemoveUserXAttr (Fd n) foo = fdRemoveXAttr (Fd n) user.foo
--   
fdRemoveUserXAttr :: Fd -> Name -> IO () -- | Name of extended attribute. type Name = String -- | Value of extended attribute. type Value = ByteString