-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A portable sendfile library -- -- A library which exposes zero-copy sendfile functionality in a portable -- way. If a platform does not support sendfile, a fallback -- implementation in haskell is provided. -- -- Currently supported platforms: Windows 2000+ (Native), Linux 2.6+ -- (Native), FreeBSD (Native), OS-X 10.5+ (Native), Everything else -- (Portable Haskell code). @package sendfile @version 0.6.1 -- | A cross-platform wrapper for sendfile -- this implements an available -- operating-system call if supported, otherwise it falls back to a -- portable haskell implementation. -- -- Two interfaces are provided for both the unsafe and safe sets of -- functions. The first interface accepts an output socket/handle and the -- path of the file you want to send; sendFile and unsafeSendFile -- comprise this interface. The second interface accepts an output -- socket/handle, a handle to the file you want to send, an offset, and -- the number of bytes you want to send; sendFile' and unsafeSendFile' -- comprise this interface. -- -- For consistent read/write behavior with either sendFile' or -- unsafeSendFile', the input handle should be opened in Binary mode -- rather than Text mode. module Network.Socket.SendFile -- | The length (in bytes) which should be sent type ByteCount = Integer -- | The file offset (in bytes) to start from type Offset = Integer -- | The simplest interface. Simply give it an output Socket and the -- FilePath to the input file. sendFile :: Socket -> FilePath -> IO () -- | A more powerful interface than sendFile which accepts a starting -- offset, and the bytecount to send; the offset and the count must be a -- positive integer. The initial position of the input file handle -- matters not since the offset is absolute, and the final position may -- be different depending on the platform -- no assumptions can be made. sendFile' :: Socket -> FilePath -> Offset -> ByteCount -> IO () -- | The unsafe version of sendFile which accepts a Handle instead -- of a Socket for the output. It will flush the output handle -- before sending any file data. unsafeSendFile :: Handle -> FilePath -> IO () -- | The unsafe version of sendFile' which accepts a Handle instead -- of a Socket for the output. It will flush the output handle -- before sending any file data. unsafeSendFile' :: Handle -> FilePath -> Offset -> ByteCount -> IO () -- | Returns the mode that sendfile was compiled with. Mainly for debugging -- use. | Possible values are WIN32_SENDFILE, -- LINUX_SENDFILE, FREEBSD_SENDFILE, | -- DARWIN_SENDFILE, and PORTABLE_SENDFILE. sendFileMode :: String