-- 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), Everything else (Haskell).
@package sendfile
@version 0.3.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. SendFile will flush the output Handle
-- before transmission.
--
-- Keep in mind that the input should only be a Handle derived
-- from a network socket (by using socketToHandle). Using something other
-- than a network socket for the input Handle will result in undefined
-- behavior. Furthermore, for consistent read/write behavior, both the
-- output and input handles should be opened in Binary mode rather than
-- Text mode (especially if you are using hSeek).
module Network.Socket.SendFile
-- | The simplest interface. Simply give it an output Handle and the
-- FilePath to the input file.
sendFile :: Handle -> FilePath -> IO ()
-- | A more powerful interface than sendFile, sendFile' accepts a
-- Handle for the input file instead of a FilePath and the
-- number of bytes you would like to read; this number must be a positive
-- integer. This unlocks the full potential Handle(s). For
-- instance, if you wanted to start reading from a particular offset, you
-- could utilize hSeek. If you need the file size you can use hFileSize.
sendFile' :: Handle -> Handle -> Integer -> IO ()
-- | Returns the mode that sendfile was compiled with. Mainly for debugging
-- use. Possible values are WIN32_SENDFILE, LINUX_SENDFILE, and
-- PORTABLE_SENDFILE.
sendFileMode :: String