hsfm/HSFM-FileSystem-FileType.html

33 lines
46 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HSFM.FileSystem.FileType</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_HSFM-FileSystem-FileType.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/HSFM-FileSystem-FileType.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hsfm-gtk</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">HSFM.FileSystem.FileType</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module provides a data type for representing directories/files
in a well-typed and convenient way. This is useful to gather and
save information about a file, so the information can be easily
processed in e.g. a GUI.</p><p>However, it's not meant to be used to interact with low-level
functions that copy files etc, since there's no guarantee that
the in-memory representation of the type still matches what is
happening on filesystem level.</p><p>If you interact with low-level libraries, you must not pattern
match on the `File a` type. Instead, you should only use the saved
<code><a href="HSFM-FileSystem-FileType.html#v:path">path</a></code> and make no assumptions about the file the path might or
might not point to.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:File">File</a> a<ul class="subs"><li>= <a href="#v:Dir">Dir</a> { <ul class="subs"><li><a href="#v:path">path</a> :: !(Path Abs)</li><li><a href="#v:fvar">fvar</a> :: a</li></ul> }</li><li>| <a href="#v:RegFile">RegFile</a> { <ul class="subs"><li><a href="#v:path">path</a> :: !(Path Abs)</li><li><a href="#v:fvar">fvar</a> :: a</li></ul> }</li><li>| <a href="#v:SymLink">SymLink</a> { <ul class="subs"><li><a href="#v:path">path</a> :: !(Path Abs)</li><li><a href="#v:fvar">fvar</a> :: a</li><li><a href="#v:sdest">sdest</a> :: <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="HSFM-FileSystem-FileType.html#t:File">File</a> a)</li><li><a href="#v:rawdest">rawdest</a> :: !<a href="https://hackage.haskell.org/package/bytestring-0.10.6.0/docs/Data-ByteString.html#t:ByteString">ByteString</a></li></ul> }</li><li>| <a href="#v:BlockDev">BlockDev</a> { <ul class="subs"><li><a href="#v:path">path</a> :: !(Path Abs)</li><li><a href="#v:fvar">fvar</a> :: a</li></ul> }</li><li>| <a href="#v:CharDev">CharDev</a> { <ul class="subs"><li><a href="#v:path">path</a> :: !(Path Abs)</li><li><a href="#v:fvar">fvar</a> :: a</li></ul> }</li><li>| <a href="#v:NamedPipe">NamedPipe</a> { <ul class="subs"><li><a href="#v:path">path</a> :: !(Path Abs)</li><li><a href="#v:fvar">fvar</a> :: a</li></ul> }</li><li>| <a href="#v:Socket">Socket</a> { <ul class="subs"><li><a href="#v:path">path</a> :: !(Path Abs)</li><li><a href="#v:fvar">fvar</a> :: a</li></ul> }</li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:FileInfo">FileInfo</a> = <a href="#v:FileInfo">FileInfo</a> {<ul class="subs"><li><a href="#v:deviceID">deviceID</a> :: !<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:DeviceID">DeviceID</a></li><li><a href="#v:fileID">fileID</a> :: !<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:FileID">FileID</a></li><li><a href="#v:fileMode">fileMode</a> :: !<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:FileMode">FileMode</a></li><li><a href="#v:linkCount">linkCount</a> :: !<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:LinkCount">LinkCount</a></li><li><a href="#v:fileOwner">fileOwner</a> :: !<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:UserID">UserID</a></li><li><a href="#v:fileGroup">fileGroup</a> :: !<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:GroupID">GroupID</a></li><li><a href="#v:specialDeviceID">specialDeviceID</a> :: !<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:DeviceID">DeviceID</a></li><li><a href="#v:fileSize">fileSize</a> :: !<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:FileOffset">FileOffset</a></li><li><a href="#v:accessTime">accessTime</a> :: !<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:EpochTime">EpochTime</a></li><li><a href="#v:modificationTime">modificationTime</a> :: !<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:EpochTime">EpochTime</a></li><li><a href="#v:statusChangeTime">statusChangeTime</a> :: !<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:EpochTime">EpochTime</a></li><li><a href="#v:accessTimeHiRes">accessTimeHiRes</a> :: !<a href="https://hackage.haskell.org/package/time-1.5.0.1/docs/Data-Time-Clock-POSIX.html#t:POSIXTime">POSIXTime</a></li><li><a href="#v:modificationTimeHiRes">modificationTimeHiRes</a> :: !<a href="https://hackage.haskell.org/package/time-1.5.0.1/docs/Data-Time-Clock-POSIX.html#t:POSIXTime">POSIXTime</a></li><li><a href="#v:statusChangeTimeHiRes">statusChangeTimeHiRes</a> :: !<a href="https://hackage.haskell.org/package/time-1.5.0.1/docs/Data-Time-Clock-POSIX.html#t:POSIXTime">POSIXTime</a></li></ul>}</li><li class="src short"><a href="#v:sfileLike">sfileLike</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; (<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a>, <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>)</li><li class="src short"><a href="#v:fileLike">fileLike</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; (<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a>, <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>)</li><li class="src short"><a href="#v:sdir">sdir</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; (<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a>, <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>)</li><li class="src short"><span class="keyword">pattern</span> <a href="#v:FileLike">FileLike</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a></li><li class="src short"><span class="keyword">pattern</span> <a href="#v:DirList">DirList</a> :: [<a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>] -&gt; [<a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>]</li><li class="src short"><span class="keyword">pattern</span> <a href="#v:FileLikeList">FileLikeList</a> :: [<a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>] -&gt; [<a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>]</li><li class="src short"><a href="#v:brokenSymlink">brokenSymlink</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; (<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a>, <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>)</li><li class="src short"><a href="#v:fileLikeSym">fileLikeSym</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; (<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a>, <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>)</li><li class="src short"><a href="#v:dirSym">dirSym</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; (<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a>, <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>)</li><li class="src short"><span class="keyword">pattern</span> <a href="#v:FileLikeSym">FileLikeSym</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a></li><li class="src short"><span class="keyword">pattern</span> <a href="#v:BrokenSymlink">BrokenSymlink</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a></li><li class="src short"><span class="keyword">pattern</span> <a href="#v:DirOrSym">DirOrSym</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a></li><li class="src short"><span class="keyword">pattern</span> <a href="#v:DirSym">DirSym</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a></li><li class="src short"><span class="keyword">pattern</span> <a href="#v:FileLikeOrSym">FileLikeOrSym</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a></li><li class="src short"><a href="#v:readFile">readFile</a> :: (Path Abs -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-IO.html#t:IO">IO</a> a) -&gt; Path Abs -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-IO.html#t:IO">IO</a> (<a href="HSFM-FileSystem-FileType.html#t:File">File</a> a)</li><li class="src short"><a href="#v:readDirectoryContents">readDirectoryContents</a> :: (Path Abs -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-IO.html#t:IO">IO</a> a) -&gt; Path Abs -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-IO.html#t:IO">IO</a> [<a href="HSFM-FileSystem-FileType.html#t:File">File</a> a]</li><li class="src short"><a href="#v:getContents">getContents</a> :: (Path Abs -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-IO.html#t:IO">IO</a> a) -&gt; <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-IO.html#t:IO">IO</a> [<a href="HSFM-FileSystem-FileType.html#t:File">File</a> a]</li><li class="src short"><a href="#v:goUp">goUp</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-IO.html#t:IO">IO</a> (<a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>)</li><li class="src short"><a href="#v:goUp-39-">goUp'</a> :: Path Abs -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-IO.html#t:IO">IO</a> (<a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>)</li><li class="src short"><a href="#v:comparingConstr">comparingConstr</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Ord.html#t:Ordering">Ordering</a></li><li class="src short"><a href="#v:isFileC">isFileC</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> a -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isDirC">isDirC</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> a -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isSymC">isSymC</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> a -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isBlockC">isBlockC</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> a -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isCharC">isCharC</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> a -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isNamedC">isNamedC</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> a -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isSocketC">isSocketC</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> a -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:getFileInfo">getFileInfo</a> :: Path Abs -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-IO.html#t:IO">IO</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a></li><li class="src short"><a href="#v:isBrokenSymlink">isBrokenSymlink</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:packModTime">packModTime</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:packAccessTime">packAccessTime</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:epochToString">epochToString</a> :: <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:EpochTime">EpochTime</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:packPermissions">packPermissions</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:packFileType">packFileType</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> a -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:packLinkDestination">packLinkDestination</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> a -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Maybe.html#t:Maybe">Maybe</a> <a href="https://hackage.haskell.org/package/bytestring-0.10.6.0/docs/Data-ByteString.html#t:ByteString">ByteString</a></li><li class="src short"><a href="#v:getFPasStr">getFPasStr</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> a -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-String.html#t:String">String</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:File" class="def">File</a> a <a href="src/HSFM-FileSystem-FileType.html#File" class="link">Source</a></p><div class="doc"><p>The String in the path field is always a full path.
The free type variable is used in the File/Dir constructor and can hold
Handles, Strings representing a file's contents or anything else you can
think of.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Dir" class="def">Dir</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:path" class="def">path</a> :: !(Path Abs)</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fvar" class="def">fvar</a> :: a</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:RegFile" class="def">RegFile</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:path" class="def">path</a> :: !(Path Abs)</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fvar" class="def">fvar</a> :: a</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:SymLink" class="def">SymLink</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:path" class="def">path</a> :: !(Path Abs)</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fvar" class="def">fvar</a> :: a</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:sdest" class="def">sdest</a> :: <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="HSFM-FileSystem-FileType.html#t:File">File</a> a)</dt><dd class="doc"><p>symlink madness,
we need to know where it points to</p></dd><dt class="src"><a name="v:rawdest" class="def">rawdest</a> :: !<a href="https://hackage.haskell.org/package/bytestring-0.10.6.0/docs/Data-ByteString.html#t:ByteString">ByteString</a></dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:BlockDev" class="def">BlockDev</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:path" class="def">path</a> :: !(Path Abs)</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fvar" class="def">fvar</a> :: a</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:CharDev" class="def">CharDev</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:path" class="def">path</a> :: !(Path Abs)</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fvar" class="def">fvar</a> :: a</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:NamedPipe" class="def">NamedPipe</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:path" class="def">path</a> :: !(Path Abs)</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fvar" class="def">fvar</a> :: a</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:Socket" class="def">Socket</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:path" class="def">path</a> :: !(Path Abs)</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fvar" class="def">fvar</a> :: a</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:File" class="caption collapser" onclick="toggleSection('i:File')">Instances</p><div id="section.i:File" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Eq.html#t:Eq">Eq</a> (<a href="HSFM-FileSystem-FileType.html#t:File">File</a> a)</span> <a href="src/HSFM-FileSystem-FileType.html#line-126" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Ord.html#t:Ord">Ord</a> (<a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>)</span> <a href="src/HSFM-FileSystem-FileType.html#line-279" class="link">Source</a></td><td class="doc"><p>First compare constructors: Failed &lt; Dir &lt; File...
Then compare <code>name</code>...
Then compare free variable parameter of <code><a href="HSFM-FileSystem-FileType.html#t:File">File</a></code> constructors</p></td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Text-Show.html#t:Show">Show</a> a =&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Text-Show.html#t:Show">Show</a> (<a href="HSFM-FileSystem-FileType.html#t:File">File</a> a)</span> <a href="src/HSFM-FileSystem-FileType.html#line-126" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:FileInfo" class="def">FileInfo</a> <a href="src/HSFM-FileSystem-FileType.html#FileInfo" class="link">Source</a></p><div class="doc"><p>Low-level file information.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:FileInfo" class="def">FileInfo</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:deviceID" class="def">deviceID</a> :: !<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:DeviceID">DeviceID</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fileID" class="def">fileID</a> :: !<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:FileID">FileID</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fileMode" class="def">fileMode</a> :: !<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:FileMode">FileMode</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:linkCount" class="def">linkCount</a> :: !<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:LinkCount">LinkCount</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fileOwner" class="def">fileOwner</a> :: !<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:UserID">UserID</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fileGroup" class="def">fileGroup</a> :: !<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:GroupID">GroupID</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:specialDeviceID" class="def">specialDeviceID</a> :: !<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:DeviceID">DeviceID</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fileSize" class="def">fileSize</a> :: !<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:FileOffset">FileOffset</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:accessTime" class="def">accessTime</a> :: !<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:EpochTime">EpochTime</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:modificationTime" class="def">modificationTime</a> :: !<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:EpochTime">EpochTime</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:statusChangeTime" class="def">statusChangeTime</a> :: !<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:EpochTime">EpochTime</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:accessTimeHiRes" class="def">accessTimeHiRes</a> :: !<a href="https://hackage.haskell.org/package/time-1.5.0.1/docs/Data-Time-Clock-POSIX.html#t:POSIXTime">POSIXTime</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:modificationTimeHiRes" class="def">modificationTimeHiRes</a> :: !<a href="https://hackage.haskell.org/package/time-1.5.0.1/docs/Data-Time-Clock-POSIX.html#t:POSIXTime">POSIXTime</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:statusChangeTimeHiRes" class="def">statusChangeTimeHiRes</a> :: !<a href="https://hackage.haskell.org/package/time-1.5.0.1/docs/Data-Time-Clock-POSIX.html#t:POSIXTime">POSIXTime</a></dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:FileInfo" class="caption collapser" onclick="toggleSection('i:FileInfo')">Instances</p><div id="section.i:FileInfo" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Eq.html#t:Eq">Eq</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a></span> <a href="src/HSFM-FileSystem-FileType.html#line-145" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Ord.html#t:Ord">Ord</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a></span> <a href="src/HSFM-FileSystem-FileType.html#line-145" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Text-Show.html#t:Show">Show</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a></span> <a href="src/HSFM-FileSystem-FileType.html#line-145" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Ord.html#t:Ord">Ord</a> (<a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>)</span> <a href="src/HSFM-FileSystem-FileType.html#line-279" class="link">Source</a></td><td class="doc"><p>First compare constructors: Failed &lt; Dir &lt; File...
Then compare <code>name</code>...
Then compare free variable parameter of <code><a href="HSFM-FileSystem-FileType.html#t:File">File</a></code> constructors</p></td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:sfileLike" class="def">sfileLike</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; (<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a>, <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>) <a href="src/HSFM-FileSystem-FileType.html#sfileLike" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:fileLike" class="def">fileLike</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; (<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a>, <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>) <a href="src/HSFM-FileSystem-FileType.html#fileLike" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:sdir" class="def">sdir</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; (<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a>, <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>) <a href="src/HSFM-FileSystem-FileType.html#sdir" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">pattern</span> <a name="v:FileLike" class="def">FileLike</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> <a href="src/HSFM-FileSystem-FileType.html#FileLike" class="link">Source</a></p><div class="doc"><p>Matches on any non-directory kind of files, excluding symlinks.</p></div></div><div class="top"><p class="src"><span class="keyword">pattern</span> <a name="v:DirList" class="def">DirList</a> :: [<a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>] -&gt; [<a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>] <a href="src/HSFM-FileSystem-FileType.html#DirList" class="link">Source</a></p><div class="doc"><p>Matches a list of directories or symlinks pointing to directories.</p></div></div><div class="top"><p class="src"><span class="keyword">pattern</span> <a name="v:FileLikeList" class="def">FileLikeList</a> :: [<a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>] -&gt; [<a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>] <a href="src/HSFM-FileSystem-FileType.html#FileLikeList" class="link">Source</a></p><div class="doc"><p>Matches a list of any non-directory kind of files or symlinks
pointing to such.</p></div></div><div class="top"><p class="src"><a name="v:brokenSymlink" class="def">brokenSymlink</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; (<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a>, <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>) <a href="src/HSFM-FileSystem-FileType.html#brokenSymlink" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:fileLikeSym" class="def">fileLikeSym</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; (<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a>, <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>) <a href="src/HSFM-FileSystem-FileType.html#fileLikeSym" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:dirSym" class="def">dirSym</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; (<a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a>, <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>) <a href="src/HSFM-FileSystem-FileType.html#dirSym" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">pattern</span> <a name="v:FileLikeSym" class="def">FileLikeSym</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> <a href="src/HSFM-FileSystem-FileType.html#FileLikeSym" class="link">Source</a></p><div class="doc"><p>Matches on symlinks pointing to file-like files only.</p></div></div><div class="top"><p class="src"><span class="keyword">pattern</span> <a name="v:BrokenSymlink" class="def">BrokenSymlink</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> <a href="src/HSFM-FileSystem-FileType.html#BrokenSymlink" class="link">Source</a></p><div class="doc"><p>Matches on broken symbolic links.</p></div></div><div class="top"><p class="src"><span class="keyword">pattern</span> <a name="v:DirOrSym" class="def">DirOrSym</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> <a href="src/HSFM-FileSystem-FileType.html#DirOrSym" class="link">Source</a></p><div class="doc"><p>Matches on directories or symlinks pointing to directories.
If the symlink is pointing to a symlink pointing to a directory, then
it will return True, but also return the first element in the symlink-
chain, not the last.</p></div></div><div class="top"><p class="src"><span class="keyword">pattern</span> <a name="v:DirSym" class="def">DirSym</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> <a href="src/HSFM-FileSystem-FileType.html#DirSym" class="link">Source</a></p><div class="doc"><p>Matches on symlinks pointing to directories only.</p></div></div><div class="top"><p class="src"><span class="keyword">pattern</span> <a name="v:FileLikeOrSym" class="def">FileLikeOrSym</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> <a href="src/HSFM-FileSystem-FileType.html#FileLikeOrSym" class="link">Source</a></p><div class="doc"><p>Matches on any non-directory kind of files or symlinks pointing to
such.
If the symlink is pointing to a symlink pointing to such a file, then
it will return True, but also return the first element in the symlink-
chain, not the last.</p></div></div><div class="top"><p class="src"><a name="v:readFile" class="def">readFile</a> :: (Path Abs -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-IO.html#t:IO">IO</a> a) -&gt; Path Abs -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-IO.html#t:IO">IO</a> (<a href="HSFM-FileSystem-FileType.html#t:File">File</a> a) <a href="src/HSFM-FileSystem-FileType.html#readFile" class="link">Source</a></p><div class="doc"><p>Reads a file or directory Path into an <code>AnchoredFile</code>, filling the free
variables via the given function.</p></div></div><div class="top"><p class="src"><a name="v:readDirectoryContents" class="def">readDirectoryContents</a> <a href="src/HSFM-FileSystem-FileType.html#readDirectoryContents" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: (Path Abs -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-IO.html#t:IO">IO</a> a)</td><td class="doc"><p>fills free a variable</p></td></tr><tr><td class="src">-&gt; Path Abs</td><td class="doc"><p>path to read</p></td></tr><tr><td class="src">-&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-IO.html#t:IO">IO</a> [<a href="HSFM-FileSystem-FileType.html#t:File">File</a> a]</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Get the contents of a given directory and return them as a list
of <code>AnchoredFile</code>.</p></div></div><div class="top"><p class="src"><a name="v:getContents" class="def">getContents</a> :: (Path Abs -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-IO.html#t:IO">IO</a> a) -&gt; <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-IO.html#t:IO">IO</a> [<a href="HSFM-FileSystem-FileType.html#t:File">File</a> a] <a href="src/HSFM-FileSystem-FileType.html#getContents" class="link">Source</a></p><div class="doc"><p>A variant of <code><a href="HSFM-FileSystem-FileType.html#v:readDirectoryContents">readDirectoryContents</a></code> where the second argument
is a <code><a href="HSFM-FileSystem-FileType.html#t:File">File</a></code>. If a non-directory is passed returns an empty list.</p></div></div><div class="top"><p class="src"><a name="v:goUp" class="def">goUp</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-IO.html#t:IO">IO</a> (<a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>) <a href="src/HSFM-FileSystem-FileType.html#goUp" class="link">Source</a></p><div class="doc"><p>Go up one directory in the filesystem hierarchy.</p></div></div><div class="top"><p class="src"><a name="v:goUp-39-" class="def">goUp'</a> :: Path Abs -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-IO.html#t:IO">IO</a> (<a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a>) <a href="src/HSFM-FileSystem-FileType.html#goUp%27" class="link">Source</a></p><div class="doc"><p>Go up one directory in the filesystem hierarchy.</p></div></div><div class="top"><p class="src"><a name="v:comparingConstr" class="def">comparingConstr</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Ord.html#t:Ordering">Ordering</a> <a href="src/HSFM-FileSystem-FileType.html#comparingConstr" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:isFileC" class="def">isFileC</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> a -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a> <a href="src/HSFM-FileSystem-FileType.html#isFileC" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:isDirC" class="def">isDirC</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> a -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a> <a href="src/HSFM-FileSystem-FileType.html#isDirC" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:isSymC" class="def">isSymC</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> a -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a> <a href="src/HSFM-FileSystem-FileType.html#isSymC" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:isBlockC" class="def">isBlockC</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> a -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a> <a href="src/HSFM-FileSystem-FileType.html#isBlockC" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:isCharC" class="def">isCharC</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> a -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a> <a href="src/HSFM-FileSystem-FileType.html#isCharC" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:isNamedC" class="def">isNamedC</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> a -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a> <a href="src/HSFM-FileSystem-FileType.html#isNamedC" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:isSocketC" class="def">isSocketC</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> a -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a> <a href="src/HSFM-FileSystem-FileType.html#isSocketC" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:getFileInfo" class="def">getFileInfo</a> :: Path Abs -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-IO.html#t:IO">IO</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> <a href="src/HSFM-FileSystem-FileType.html#getFileInfo" class="link">Source</a></p><div class="doc"><p>Gets all file information.</p></div></div><div class="top"><p class="src"><a name="v:isBrokenSymlink" class="def">isBrokenSymlink</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Bool.html#t:Bool">Bool</a> <a href="src/HSFM-FileSystem-FileType.html#isBrokenSymlink" class="link">Source</a></p><div class="doc"><p>Checks if a symlink is broken by examining the constructor of the
symlink destination.</p><p>When called on a non-symlink, returns False.</p></div></div><div class="top"><p class="src"><a name="v:packModTime" class="def">packModTime</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-String.html#t:String">String</a> <a href="src/HSFM-FileSystem-FileType.html#packModTime" class="link">Source</a></p><div class="doc"><p>Pack the modification time into a string.</p></div></div><div class="top"><p class="src"><a name="v:packAccessTime" class="def">packAccessTime</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-String.html#t:String">String</a> <a href="src/HSFM-FileSystem-FileType.html#packAccessTime" class="link">Source</a></p><div class="doc"><p>Pack the modification time into a string.</p></div></div><div class="top"><p class="src"><a name="v:epochToString" class="def">epochToString</a> :: <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/System-Posix-Types.html#t:EpochTime">EpochTime</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-String.html#t:String">String</a> <a href="src/HSFM-FileSystem-FileType.html#epochToString" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:packPermissions" class="def">packPermissions</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> <a href="HSFM-FileSystem-FileType.html#t:FileInfo">FileInfo</a> -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-String.html#t:String">String</a> <a href="src/HSFM-FileSystem-FileType.html#packPermissions" class="link">Source</a></p><div class="doc"><p>Pack the permissions into a string, similar to what &quot;ls -l&quot; does.</p></div></div><div class="top"><p class="src"><a name="v:packFileType" class="def">packFileType</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> a -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-String.html#t:String">String</a> <a href="src/HSFM-FileSystem-FileType.html#packFileType" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:packLinkDestination" class="def">packLinkDestination</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> a -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-Maybe.html#t:Maybe">Maybe</a> <a href="https://hackage.haskell.org/package/bytestring-0.10.6.0/docs/Data-ByteString.html#t:ByteString">ByteString</a> <a href="src/HSFM-FileSystem-FileType.html#packLinkDestination" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:getFPasStr" class="def">getFPasStr</a> :: <a href="HSFM-FileSystem-FileType.html#t:File">File</a> a -&gt; <a href="https://hackage.haskell.org/package/base-4.8.1.0/docs/Data-String.html#t:String">String</a> <a href="src/HSFM-FileSystem-FileType.html#getFPasStr" class="link">Source</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.1</p></div></body></html>