fs-api-0.3.0.0: Abstract interface for the file system
Safe HaskellSafe-Inferred
LanguageHaskell2010

System.FS.IO.Unix

Description

This module is mainly meant to be used for the IO implementation of HasFS.

Synopsis

Documentation

close :: FHandle -> IO () Source #

Close handle

This is a no-op when the handle is already closed.

getSize :: FHandle -> IO Word64 Source #

File size of the given file pointer

NOTE: This is not thread safe (changes made to the file in other threads may affect this thread).

open :: FilePath -> OpenMode -> IO Fd Source #

Opens a file from disk.

preadBuf :: FHandle -> Ptr Word8 -> ByteCount -> FileOffset -> IO ByteCount Source #

preadBuf fh buf c off reads c bytes into the buffer buf from the file handle fh at the file offset off. This does not move the position of the file handle.

pwriteBuf :: FHandle -> Ptr Word8 -> ByteCount -> FileOffset -> IO ByteCount Source #

pwriteBuf fh buf c off writes c bytes from the data in the buffer buf to the file handle fh at the file offset off. This does not move the position of the file handle.

read :: FHandle -> Word64 -> IO ByteString Source #

Reads a given number of bytes from the input FHandle.

seek :: FHandle -> SeekMode -> Int64 -> IO () Source #

Seek within the file.

The offset may be negative.

We don't return the new offset since the behaviour of lseek is rather odd (e.g., the file pointer may not actually be moved until a subsequent write)

truncate :: FHandle -> Word64 -> IO () Source #

Truncates the file managed by the input FHandle to the input size.

write :: FHandle -> Ptr Word8 -> Int64 -> IO Word32 Source #

Writes the data pointed by the input 'Ptr Word8' into the input FHandle.