Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > ec5844e219498f2057da8f8f3070d4a1 > files > 167

ghc-MissingH-devel-1.1.0.3-2.fc14.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>System.IO.HVFS</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
></SCRIPT
><SCRIPT TYPE="text/javascript"
>window.onload = function () {setSynopsis("mini_System-IO-HVFS.html")};</SCRIPT
></HEAD
><BODY
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topbar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
></TD
><TD CLASS="title"
>MissingH-1.1.0.3: Large utility library</TD
><TD CLASS="topbut"
><A HREF="src/System-IO-HVFS.html"
>Source code</A
></TD
><TD CLASS="topbut"
><A HREF="index.html"
>Contents</A
></TD
><TD CLASS="topbut"
><A HREF="doc-index.html"
>Index</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="modulebar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><FONT SIZE="6"
>System.IO.HVFS</FONT
></TD
><TD ALIGN="right"
><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="infohead"
>Portability</TD
><TD CLASS="infoval"
>portable</TD
></TR
><TR
><TD CLASS="infohead"
>Stability</TD
><TD CLASS="infoval"
>provisional</TD
></TR
><TR
><TD CLASS="infohead"
>Maintainer</TD
><TD CLASS="infoval"
>John Goerzen &lt;jgoerzen@complete.org&gt; </TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><B
>Contents</B
></TD
></TR
><TR
><TD
><DL
><DT
><A HREF="#1"
>Implementation Classes / Types
</A
></DT
><DT
><A HREF="#2"
>Re-exported types from other modules
</A
></DT
></DL
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Description</TD
></TR
><TR
><TD CLASS="doc"
><P
>Haskell Virtual FS -- generic support for real or virtual filesystem in Haskell
</P
><P
>Copyright (c) 2004-2005 John Goerzen, jgoerzen@complete.org
</P
><P
>The idea of this module is to provide virtualization of filesystem calls.
In addition to the &quot;real&quot; system filesystem, you can also provide access
to other, virtual, filesystems using the same set of calls.  Examples of
such virtual filesystems might include a remote FTP server, WebDAV server,
a local Hashtable, a ConfigParser object, or any other data structure
you can represent as a tree of named nodes containing strings.
</P
><P
>Each <TT
><A HREF="System-IO-HVFS.html#t%3AHVFS"
>HVFS</A
></TT
> function takes a <TT
><A HREF="System-IO-HVFS.html#t%3AHVFS"
>HVFS</A
></TT
> &quot;handle&quot; (<TT
><A HREF="System-IO-HVFS.html#t%3AHVFS"
>HVFS</A
></TT
> instance) as its
first parameter.  If you wish to operate on the standard system filesystem,
you can just use <TT
><A HREF="System-IO-HVFS.html#t%3ASystemFS"
>SystemFS</A
></TT
>.
</P
><P
>The <A HREF="MissingH-HVFS-IO-InstanceHelpers.html"
>MissingH.HVFS.IO.InstanceHelpers</A
> module contains some code to help
you make your own HVFS instances.
</P
><P
>The <TT
><A HREF="System-IO-HVFS.html#t%3AHVFSOpenable"
>HVFSOpenable</A
></TT
> class works together with the <A HREF="System-IO-HVIO.html"
>System.IO.HVIO</A
> module
to provide a complete virtual filesystem and I/O model that allows you
to open up virtual filesystem files and act upon them in a manner similar
to standard Handles.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Synopsis</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> a =&gt; <A HREF="#t%3AHVFS"
>HVFS</A
> a  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3AvGetCurrentDirectory"
>vGetCurrentDirectory</A
> :: a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvSetCurrentDirectory"
>vSetCurrentDirectory</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvGetDirectoryContents"
>vGetDirectoryContents</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> [<A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
>]</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvDoesFileExist"
>vDoesFileExist</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvDoesDirectoryExist"
>vDoesDirectoryExist</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvDoesExist"
>vDoesExist</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvCreateDirectory"
>vCreateDirectory</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvRemoveDirectory"
>vRemoveDirectory</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvRenameDirectory"
>vRenameDirectory</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvRemoveFile"
>vRemoveFile</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvRenameFile"
>vRenameFile</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvGetFileStatus"
>vGetFileStatus</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="System-IO-HVFS.html#t%3AHVFSStatEncap"
>HVFSStatEncap</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvGetSymbolicLinkStatus"
>vGetSymbolicLinkStatus</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="System-IO-HVFS.html#t%3AHVFSStatEncap"
>HVFSStatEncap</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvGetModificationTime"
>vGetModificationTime</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/haskell98-1.0.1.1/Time.html#t%3AClockTime"
>ClockTime</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvRaiseError"
>vRaiseError</A
> ::  a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO-Error.html#t%3AIOErrorType"
>IOErrorType</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> c</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvCreateSymbolicLink"
>vCreateSymbolicLink</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvReadSymbolicLink"
>vReadSymbolicLink</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvCreateLink"
>vCreateLink</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> a =&gt; <A HREF="#t%3AHVFSStat"
>HVFSStat</A
> a  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3AvDeviceID"
>vDeviceID</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3ADeviceID"
>DeviceID</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvFileID"
>vFileID</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFileID"
>FileID</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvFileMode"
>vFileMode</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFileMode"
>FileMode</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvLinkCount"
>vLinkCount</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3ALinkCount"
>LinkCount</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvFileOwner"
>vFileOwner</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AUserID"
>UserID</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvFileGroup"
>vFileGroup</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AGroupID"
>GroupID</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvSpecialDeviceID"
>vSpecialDeviceID</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3ADeviceID"
>DeviceID</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvFileSize"
>vFileSize</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFileOffset"
>FileOffset</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvAccessTime"
>vAccessTime</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AEpochTime"
>EpochTime</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvModificationTime"
>vModificationTime</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AEpochTime"
>EpochTime</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvStatusChangeTime"
>vStatusChangeTime</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AEpochTime"
>EpochTime</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvIsBlockDevice"
>vIsBlockDevice</A
> :: a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvIsCharacterDevice"
>vIsCharacterDevice</A
> :: a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvIsNamedPipe"
>vIsNamedPipe</A
> :: a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvIsRegularFile"
>vIsRegularFile</A
> :: a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvIsDirectory"
>vIsDirectory</A
> :: a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvIsSymbolicLink"
>vIsSymbolicLink</A
> :: a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvIsSocket"
>vIsSocket</A
> :: a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
> <A HREF="System-IO-HVFS.html#t%3AHVFS"
>HVFS</A
> a =&gt; <A HREF="#t%3AHVFSOpenable"
>HVFSOpenable</A
> a  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3AvOpen"
>vOpen</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="System-IO-HVFS.html#t%3AIOMode"
>IOMode</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="System-IO-HVFS.html#t%3AHVFSOpenEncap"
>HVFSOpenEncap</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvReadFile"
>vReadFile</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvWriteFile"
>vWriteFile</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AvOpenBinaryFile"
>vOpenBinaryFile</A
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="System-IO-HVFS.html#t%3AIOMode"
>IOMode</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="System-IO-HVFS.html#t%3AHVFSOpenEncap"
>HVFSOpenEncap</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AHVFSOpenEncap"
>HVFSOpenEncap</A
>  = <SPAN CLASS="keyword"
>forall</SPAN
> a . <A HREF="System-IO-HVIO.html#t%3AHVIO"
>HVIO</A
> a =&gt; <A HREF="#v%3AHVFSOpenEncap"
>HVFSOpenEncap</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AHVFSStatEncap"
>HVFSStatEncap</A
>  = <SPAN CLASS="keyword"
>forall</SPAN
> a . <A HREF="System-IO-HVFS.html#t%3AHVFSStat"
>HVFSStat</A
> a =&gt; <A HREF="#v%3AHVFSStatEncap"
>HVFSStatEncap</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwithStat"
>withStat</A
> :: <SPAN CLASS="keyword"
>forall</SPAN
> b.  <A HREF="System-IO-HVFS.html#t%3AHVFSStatEncap"
>HVFSStatEncap</A
> -&gt; (<SPAN CLASS="keyword"
>forall</SPAN
> a. <A HREF="System-IO-HVFS.html#t%3AHVFSStat"
>HVFSStat</A
> a =&gt; a -&gt; b) -&gt; b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwithOpen"
>withOpen</A
> :: <SPAN CLASS="keyword"
>forall</SPAN
> b.  <A HREF="System-IO-HVFS.html#t%3AHVFSOpenEncap"
>HVFSOpenEncap</A
> -&gt; (<SPAN CLASS="keyword"
>forall</SPAN
> a. <A HREF="System-IO-HVIO.html#t%3AHVIO"
>HVIO</A
> a =&gt; a -&gt; b) -&gt; b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ASystemFS"
>SystemFS</A
>  = <A HREF="#v%3ASystemFS"
>SystemFS</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AFilePath"
>FilePath</A
> = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ADeviceID"
>DeviceID</A
> = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACDev"
>CDev</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AFileID"
>FileID</A
> = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACIno"
>CIno</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AFileMode"
>FileMode</A
> = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACMode"
>CMode</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ALinkCount"
>LinkCount</A
> = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACNlink"
>CNlink</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AUserID"
>UserID</A
> = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACUid"
>CUid</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AGroupID"
>GroupID</A
> = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACGid"
>CGid</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AFileOffset"
>FileOffset</A
> = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACOff"
>COff</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AEpochTime"
>EpochTime</A
> = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACTime"
>CTime</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AIOMode"
>IOMode</A
> </TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="1"
><A NAME="1"
>Implementation Classes / Types
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>class</SPAN
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> a =&gt; <A NAME="t:HVFS"
><A NAME="t%3AHVFS"
></A
></A
><B
>HVFS</B
> a  <SPAN CLASS="keyword"
>where</SPAN
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#HVFS"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><P
>The main HVFS class.
</P
><P
>Default implementations of these functions are provided:
</P
><UL
><LI
> <TT
><A HREF="System-IO-HVFS.html#v%3AvGetModificationTime"
>vGetModificationTime</A
></TT
> -- implemented in terms of <TT
><A HREF="System-IO-HVFS.html#v%3AvGetFileStatus"
>vGetFileStatus</A
></TT
>
</LI
><LI
> <TT
><A HREF="System-IO-HVFS.html#v%3AvRaiseError"
>vRaiseError</A
></TT
>
</LI
><LI
> <TT
><A HREF="System-IO-HVFS.html#v%3AvDoesFileExist"
>vDoesFileExist</A
></TT
> -- implemented in terms of <TT
><A HREF="System-IO-HVFS.html#v%3AvGetFileStatus"
>vGetFileStatus</A
></TT
>
</LI
><LI
> <TT
><A HREF="System-IO-HVFS.html#v%3AvDoesDirectoryExist"
>vDoesDirectoryExist</A
></TT
> -- implemented in terms of <TT
><A HREF="System-IO-HVFS.html#v%3AvGetFileStatus"
>vGetFileStatus</A
></TT
>
</LI
><LI
> <TT
><A HREF="System-IO-HVFS.html#v%3AvDoesExist"
>vDoesExist</A
></TT
> -- implemented in terms of <TT
><A HREF="System-IO-HVFS.html#v%3AvGetSymbolicLinkStatus"
>vGetSymbolicLinkStatus</A
></TT
>
</LI
><LI
> <TT
><A HREF="System-IO-HVFS.html#v%3AvGetSymbolicLinkStatus"
>vGetSymbolicLinkStatus</A
></TT
> -- set to call <TT
><A HREF="System-IO-HVFS.html#v%3AvGetFileStatus"
>vGetFileStatus</A
></TT
>.
</LI
></UL
><P
>Default implementations of all other functions
will generate an isIllegalOperation error, since they are assumed to be
un-implemented.
</P
><P
>You should always provide at least a <TT
><A HREF="System-IO-HVFS.html#v%3AvGetFileStatus"
>vGetFileStatus</A
></TT
> call, and almost
certainly several of the others.
</P
><P
>Most of these functions correspond to functions in System.Directory or
System.Posix.Files.  Please see detailed documentation on them there.
</P
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
>Methods</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vGetCurrentDirectory"
><A NAME="v%3AvGetCurrentDirectory"
></A
></A
><B
>vGetCurrentDirectory</B
> :: a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vGetCurrentDirectory"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vSetCurrentDirectory"
><A NAME="v%3AvSetCurrentDirectory"
></A
></A
><B
>vSetCurrentDirectory</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vSetCurrentDirectory"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vGetDirectoryContents"
><A NAME="v%3AvGetDirectoryContents"
></A
></A
><B
>vGetDirectoryContents</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> [<A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
>]</TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vGetDirectoryContents"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vDoesFileExist"
><A NAME="v%3AvDoesFileExist"
></A
></A
><B
>vDoesFileExist</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vDoesFileExist"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vDoesDirectoryExist"
><A NAME="v%3AvDoesDirectoryExist"
></A
></A
><B
>vDoesDirectoryExist</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vDoesDirectoryExist"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vDoesExist"
><A NAME="v%3AvDoesExist"
></A
></A
><B
>vDoesExist</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vDoesExist"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>True if the file exists, regardless of what type it is.
       This is even True if the given path is a broken symlink. 
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vCreateDirectory"
><A NAME="v%3AvCreateDirectory"
></A
></A
><B
>vCreateDirectory</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vCreateDirectory"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vRemoveDirectory"
><A NAME="v%3AvRemoveDirectory"
></A
></A
><B
>vRemoveDirectory</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vRemoveDirectory"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vRenameDirectory"
><A NAME="v%3AvRenameDirectory"
></A
></A
><B
>vRenameDirectory</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vRenameDirectory"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vRemoveFile"
><A NAME="v%3AvRemoveFile"
></A
></A
><B
>vRemoveFile</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vRemoveFile"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vRenameFile"
><A NAME="v%3AvRenameFile"
></A
></A
><B
>vRenameFile</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vRenameFile"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vGetFileStatus"
><A NAME="v%3AvGetFileStatus"
></A
></A
><B
>vGetFileStatus</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="System-IO-HVFS.html#t%3AHVFSStatEncap"
>HVFSStatEncap</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vGetFileStatus"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vGetSymbolicLinkStatus"
><A NAME="v%3AvGetSymbolicLinkStatus"
></A
></A
><B
>vGetSymbolicLinkStatus</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="System-IO-HVFS.html#t%3AHVFSStatEncap"
>HVFSStatEncap</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vGetSymbolicLinkStatus"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vGetModificationTime"
><A NAME="v%3AvGetModificationTime"
></A
></A
><B
>vGetModificationTime</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/haskell98-1.0.1.1/Time.html#t%3AClockTime"
>ClockTime</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vGetModificationTime"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vRaiseError"
><A NAME="v%3AvRaiseError"
></A
></A
><B
>vRaiseError</B
> ::  a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO-Error.html#t%3AIOErrorType"
>IOErrorType</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> c</TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vRaiseError"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Raise an error relating to actions on this class. 
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vCreateSymbolicLink"
><A NAME="v%3AvCreateSymbolicLink"
></A
></A
><B
>vCreateSymbolicLink</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vCreateSymbolicLink"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vReadSymbolicLink"
><A NAME="v%3AvReadSymbolicLink"
></A
></A
><B
>vReadSymbolicLink</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vReadSymbolicLink"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vCreateLink"
><A NAME="v%3AvCreateLink"
></A
></A
><B
>vCreateLink</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vCreateLink"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:HVFS')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:HVFS" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="System-IO-HVFS.html#t%3AHVFS"
>HVFS</A
> <A HREF="System-IO-HVFS.html#t%3ASystemFS"
>SystemFS</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="System-IO-HVFS.html#t%3AHVFS"
>HVFS</A
> <A HREF="System-IO-HVFS-InstanceHelpers.html#t%3AMemoryVFS"
>MemoryVFS</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="System-IO-HVFS.html#t%3AHVFS"
>HVFS</A
> a =&gt; <A HREF="System-IO-HVFS.html#t%3AHVFS"
>HVFS</A
> (<A HREF="System-IO-HVFS-Combinators.html#t%3AHVFSChroot"
>HVFSChroot</A
> a)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="System-IO-HVFS.html#t%3AHVFS"
>HVFS</A
> a =&gt; <A HREF="System-IO-HVFS.html#t%3AHVFS"
>HVFS</A
> (<A HREF="System-IO-HVFS-Combinators.html#t%3AHVFSReadOnly"
>HVFSReadOnly</A
> a)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>class</SPAN
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> a =&gt; <A NAME="t:HVFSStat"
><A NAME="t%3AHVFSStat"
></A
></A
><B
>HVFSStat</B
> a  <SPAN CLASS="keyword"
>where</SPAN
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#HVFSStat"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><P
>Evaluating types of files and information about them.
</P
><P
>This corresponds to the System.Posix.Types.FileStatus type, and indeed,
that is one instance of this class.
</P
><P
>Inplementators must, at minimum, implement <TT
><A HREF="System-IO-HVFS.html#v%3AvIsDirectory"
>vIsDirectory</A
></TT
> and
<TT
><A HREF="System-IO-HVFS.html#v%3AvIsRegularFile"
>vIsRegularFile</A
></TT
>.
</P
><P
>Default implementations of everything else are provided, returning
reasonable values.
</P
><P
>A default implementation of this is not currently present on Windows.
</P
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
>Methods</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vDeviceID"
><A NAME="v%3AvDeviceID"
></A
></A
><B
>vDeviceID</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3ADeviceID"
>DeviceID</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vDeviceID"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vFileID"
><A NAME="v%3AvFileID"
></A
></A
><B
>vFileID</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFileID"
>FileID</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vFileID"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vFileMode"
><A NAME="v%3AvFileMode"
></A
></A
><B
>vFileMode</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFileMode"
>FileMode</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vFileMode"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Refers to file permissions, NOT the st_mode field from stat(2) 
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vLinkCount"
><A NAME="v%3AvLinkCount"
></A
></A
><B
>vLinkCount</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3ALinkCount"
>LinkCount</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vLinkCount"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vFileOwner"
><A NAME="v%3AvFileOwner"
></A
></A
><B
>vFileOwner</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AUserID"
>UserID</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vFileOwner"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vFileGroup"
><A NAME="v%3AvFileGroup"
></A
></A
><B
>vFileGroup</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AGroupID"
>GroupID</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vFileGroup"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vSpecialDeviceID"
><A NAME="v%3AvSpecialDeviceID"
></A
></A
><B
>vSpecialDeviceID</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3ADeviceID"
>DeviceID</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vSpecialDeviceID"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vFileSize"
><A NAME="v%3AvFileSize"
></A
></A
><B
>vFileSize</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFileOffset"
>FileOffset</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vFileSize"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vAccessTime"
><A NAME="v%3AvAccessTime"
></A
></A
><B
>vAccessTime</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AEpochTime"
>EpochTime</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vAccessTime"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vModificationTime"
><A NAME="v%3AvModificationTime"
></A
></A
><B
>vModificationTime</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AEpochTime"
>EpochTime</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vModificationTime"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vStatusChangeTime"
><A NAME="v%3AvStatusChangeTime"
></A
></A
><B
>vStatusChangeTime</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AEpochTime"
>EpochTime</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vStatusChangeTime"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vIsBlockDevice"
><A NAME="v%3AvIsBlockDevice"
></A
></A
><B
>vIsBlockDevice</B
> :: a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vIsBlockDevice"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vIsCharacterDevice"
><A NAME="v%3AvIsCharacterDevice"
></A
></A
><B
>vIsCharacterDevice</B
> :: a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vIsCharacterDevice"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vIsNamedPipe"
><A NAME="v%3AvIsNamedPipe"
></A
></A
><B
>vIsNamedPipe</B
> :: a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vIsNamedPipe"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vIsRegularFile"
><A NAME="v%3AvIsRegularFile"
></A
></A
><B
>vIsRegularFile</B
> :: a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vIsRegularFile"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vIsDirectory"
><A NAME="v%3AvIsDirectory"
></A
></A
><B
>vIsDirectory</B
> :: a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vIsDirectory"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vIsSymbolicLink"
><A NAME="v%3AvIsSymbolicLink"
></A
></A
><B
>vIsSymbolicLink</B
> :: a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vIsSymbolicLink"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vIsSocket"
><A NAME="v%3AvIsSocket"
></A
></A
><B
>vIsSocket</B
> :: a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vIsSocket"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:HVFSStat')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:HVFSStat" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="System-IO-HVFS.html#t%3AHVFSStat"
>HVFSStat</A
> <A HREF="/usr/share/doc/ghc/html/libraries/unix-2.4.0.2/System-Posix-Files.html#t%3AFileStatus"
>FileStatus</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="System-IO-HVFS.html#t%3AHVFSStat"
>HVFSStat</A
> <A HREF="System-IO-HVFS-InstanceHelpers.html#t%3ASimpleStat"
>SimpleStat</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>class</SPAN
> <A HREF="System-IO-HVFS.html#t%3AHVFS"
>HVFS</A
> a =&gt; <A NAME="t:HVFSOpenable"
><A NAME="t%3AHVFSOpenable"
></A
></A
><B
>HVFSOpenable</B
> a  <SPAN CLASS="keyword"
>where</SPAN
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#HVFSOpenable"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Types that can open a HVIO object should be instances of this class.
You need only implement <TT
><A HREF="System-IO-HVFS.html#v%3AvOpen"
>vOpen</A
></TT
>. 
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
>Methods</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vOpen"
><A NAME="v%3AvOpen"
></A
></A
><B
>vOpen</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="System-IO-HVFS.html#t%3AIOMode"
>IOMode</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="System-IO-HVFS.html#t%3AHVFSOpenEncap"
>HVFSOpenEncap</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vOpen"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vReadFile"
><A NAME="v%3AvReadFile"
></A
></A
><B
>vReadFile</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vReadFile"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vWriteFile"
><A NAME="v%3AvWriteFile"
></A
></A
><B
>vWriteFile</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vWriteFile"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:vOpenBinaryFile"
><A NAME="v%3AvOpenBinaryFile"
></A
></A
><B
>vOpenBinaryFile</B
> :: a -&gt; <A HREF="System-IO-HVFS.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="System-IO-HVFS.html#t%3AIOMode"
>IOMode</A
> -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> <A HREF="System-IO-HVFS.html#t%3AHVFSOpenEncap"
>HVFSOpenEncap</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#vOpenBinaryFile"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:HVFSOpenable')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:HVFSOpenable" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="System-IO-HVFS.html#t%3AHVFSOpenable"
>HVFSOpenable</A
> <A HREF="System-IO-HVFS.html#t%3ASystemFS"
>SystemFS</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="System-IO-HVFS.html#t%3AHVFSOpenable"
>HVFSOpenable</A
> <A HREF="System-IO-HVFS-InstanceHelpers.html#t%3AMemoryVFS"
>MemoryVFS</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="System-IO-HVFS.html#t%3AHVFSOpenable"
>HVFSOpenable</A
> a =&gt; <A HREF="System-IO-HVFS.html#t%3AHVFSOpenable"
>HVFSOpenable</A
> (<A HREF="System-IO-HVFS-Combinators.html#t%3AHVFSChroot"
>HVFSChroot</A
> a)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="System-IO-HVFS.html#t%3AHVFSOpenable"
>HVFSOpenable</A
> a =&gt; <A HREF="System-IO-HVFS.html#t%3AHVFSOpenable"
>HVFSOpenable</A
> (<A HREF="System-IO-HVFS-Combinators.html#t%3AHVFSReadOnly"
>HVFSReadOnly</A
> a)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:HVFSOpenEncap"
><A NAME="t%3AHVFSOpenEncap"
></A
></A
><B
>HVFSOpenEncap</B
>  </TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#HVFSOpenEncap"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Similar to <TT
><A HREF="System-IO-HVFS.html#t%3AHVFSStatEncap"
>HVFSStatEncap</A
></TT
>, but for <TT
><A HREF="System-IO-HVFS.html#v%3AvOpen"
>vOpen</A
></TT
> result.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><SPAN CLASS="keyword"
>forall</SPAN
> a . <A HREF="System-IO-HVIO.html#t%3AHVIO"
>HVIO</A
> a =&gt; <A NAME="v:HVFSOpenEncap"
><A NAME="v%3AHVFSOpenEncap"
></A
></A
><B
>HVFSOpenEncap</B
> a</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:HVFSStatEncap"
><A NAME="t%3AHVFSStatEncap"
></A
></A
><B
>HVFSStatEncap</B
>  </TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#HVFSStatEncap"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><P
>Encapsulate a <TT
><A HREF="System-IO-HVFS.html#t%3AHVFSStat"
>HVFSStat</A
></TT
> result.  This is required due to Haskell
typing restrictions.  You can get at it with:
</P
><PRE
> case encap of
    HVFSStatEncap x -&gt; -- now use x
</PRE
></TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><SPAN CLASS="keyword"
>forall</SPAN
> a . <A HREF="System-IO-HVFS.html#t%3AHVFSStat"
>HVFSStat</A
> a =&gt; <A NAME="v:HVFSStatEncap"
><A NAME="v%3AHVFSStatEncap"
></A
></A
><B
>HVFSStatEncap</B
> a</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:withStat"
><A NAME="v%3AwithStat"
></A
></A
><B
>withStat</B
> :: <SPAN CLASS="keyword"
>forall</SPAN
> b.  <A HREF="System-IO-HVFS.html#t%3AHVFSStatEncap"
>HVFSStatEncap</A
> -&gt; (<SPAN CLASS="keyword"
>forall</SPAN
> a. <A HREF="System-IO-HVFS.html#t%3AHVFSStat"
>HVFSStat</A
> a =&gt; a -&gt; b) -&gt; b</TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#withStat"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Convenience function for working with stat -- takes a stat result
and a function that uses it, and returns the result. 
</P
><P
>Here is an example from the HVFS source:
</P
><PRE
>    vGetModificationTime fs fp = 
       do s &lt;- vGetFileStatus fs fp
          return $ epochToClockTime (withStat s vModificationTime)
</PRE
><P
>See <TT
><A HREF="System-Time-Utils.html#v%3AepochToClockTime"
>epochToClockTime</A
></TT
> for more information.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:withOpen"
><A NAME="v%3AwithOpen"
></A
></A
><B
>withOpen</B
> :: <SPAN CLASS="keyword"
>forall</SPAN
> b.  <A HREF="System-IO-HVFS.html#t%3AHVFSOpenEncap"
>HVFSOpenEncap</A
> -&gt; (<SPAN CLASS="keyword"
>forall</SPAN
> a. <A HREF="System-IO-HVIO.html#t%3AHVIO"
>HVIO</A
> a =&gt; a -&gt; b) -&gt; b</TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#withOpen"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Similar to <TT
><A HREF="System-IO-HVFS.html#v%3AwithStat"
>withStat</A
></TT
>, but for the <TT
><A HREF="System-IO-HVFS.html#v%3AvOpen"
>vOpen</A
></TT
> result. 
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:SystemFS"
><A NAME="t%3ASystemFS"
></A
></A
><B
>SystemFS</B
>  </TD
><TD CLASS="declbut"
><A HREF="src/System-IO-HVFS.html#SystemFS"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:SystemFS"
><A NAME="v%3ASystemFS"
></A
></A
><B
>SystemFS</B
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:SystemFS')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:SystemFS" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="System-IO-HVFS.html#t%3ASystemFS"
>SystemFS</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="System-IO-HVFS.html#t%3ASystemFS"
>SystemFS</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="System-IO-HVFS.html#t%3AHVFSOpenable"
>HVFSOpenable</A
> <A HREF="System-IO-HVFS.html#t%3ASystemFS"
>SystemFS</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="System-IO-HVFS.html#t%3AHVFS"
>HVFS</A
> <A HREF="System-IO-HVFS.html#t%3ASystemFS"
>SystemFS</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="2"
><A NAME="2"
>Re-exported types from other modules
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:FilePath"
><A NAME="t%3AFilePath"
></A
></A
><B
>FilePath</B
> = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="declbut"
><A HREF="src/GHC-IO.html#FilePath"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>File and directory names are values of type <TT
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
></TT
>, whose precise
 meaning is operating system dependent. Files can be opened, yielding a
 handle which can then be used to operate on the contents of that file.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:DeviceID"
><A NAME="t%3ADeviceID"
></A
></A
><B
>DeviceID</B
> = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACDev"
>CDev</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-Posix-Types.html#DeviceID"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:FileID"
><A NAME="t%3AFileID"
></A
></A
><B
>FileID</B
> = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACIno"
>CIno</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-Posix-Types.html#FileID"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:FileMode"
><A NAME="t%3AFileMode"
></A
></A
><B
>FileMode</B
> = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACMode"
>CMode</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-Posix-Types.html#FileMode"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:LinkCount"
><A NAME="t%3ALinkCount"
></A
></A
><B
>LinkCount</B
> = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACNlink"
>CNlink</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-Posix-Types.html#LinkCount"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:UserID"
><A NAME="t%3AUserID"
></A
></A
><B
>UserID</B
> = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACUid"
>CUid</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-Posix-Types.html#UserID"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:GroupID"
><A NAME="t%3AGroupID"
></A
></A
><B
>GroupID</B
> = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACGid"
>CGid</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-Posix-Types.html#GroupID"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:FileOffset"
><A NAME="t%3AFileOffset"
></A
></A
><B
>FileOffset</B
> = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-Posix-Types.html#t%3ACOff"
>COff</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-Posix-Types.html#FileOffset"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:EpochTime"
><A NAME="t%3AEpochTime"
></A
></A
><B
>EpochTime</B
> = <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Foreign-C-Types.html#t%3ACTime"
>CTime</A
></TD
><TD CLASS="declbut"
><A HREF="src/System-Posix-Types.html#EpochTime"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:IOMode"
><A NAME="t%3AIOMode"
></A
></A
><B
>IOMode</B
>  </TD
><TD CLASS="declbut"
><A HREF="src/GHC-IO-IOMode.html#IOMode"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:IOMode')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:IOMode" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3AEnum"
>Enum</A
> <A HREF="System-IO-HVFS.html#t%3AIOMode"
>IOMode</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="System-IO-HVFS.html#t%3AIOMode"
>IOMode</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="System-IO-HVFS.html#t%3AIOMode"
>IOMode</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Read.html#t%3ARead"
>Read</A
> <A HREF="System-IO-HVFS.html#t%3AIOMode"
>IOMode</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="System-IO-HVFS.html#t%3AIOMode"
>IOMode</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Ix.html#t%3AIx"
>Ix</A
> <A HREF="System-IO-HVFS.html#t%3AIOMode"
>IOMode</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.6.1</TD
></TR
></TABLE
></BODY
></HTML
>