unix-2.8.8.0: POSIX functionality
Copyright(c) The University of Glasgow 2014
LicenseBSD-style (see the file LICENSE)
Maintainerlibraries@haskell.org
Stabilityprovisional
Portabilitynon-portable (requires POSIX)
Safe HaskellSafe
LanguageHaskell2010

System.Posix.Fcntl

Description

POSIX file control support

Since: 2.7.1.0

File allocation

data Advice Source #

Advice parameter for fileAdvise operation.

For more details, see documentation of posix_fadvise(2).

Since: 2.7.1.0

Constructors

Instances

Instances details
Instance details

Defined in System.Posix.Fcntl

Methods

(==) :: Advice -> Advice -> Bool #

(/=) :: Advice -> Advice -> Bool #

fileAdvise :: Fd -> FileOffset -> FileOffset -> Advice -> IO () Source #

Performs posix_fadvise(2) operation on file-descriptor.

If platform does not provide posix_fadvise(2) fileAdvise becomes a no-op.

(use #if HAVE_POSIX_FADVISE CPP guard to detect availability)

Since: 2.7.1.0

fileAllocate :: Fd -> FileOffset -> FileOffset -> IO () Source #

Performs posix_fallocate(2) operation on file-descriptor.

Throws IOError ("unsupported operation") if platform does not provide posix_fallocate(2).

(use #if HAVE_POSIX_FALLOCATE CPP guard to detect availability).

Since: 2.7.1.0

File caching

fileGetCaching :: Fd -> IO Bool Source #

Performs the fcntl(2) operation on a file-desciptor to get the cache mode.

If the cache mode is False , then cache effects for file system reads and writes are minimised or otherwise eliminated. If the cache mode is True , then cache effects occur like normal.

On Linux, FreeBSD, and NetBSD this checks whether the O_DIRECT file flag is set.

Throws IOError ("unsupported operation") if platform does not support getting the cache mode.

Use #if HAVE_O_DIRECT CPP guard to detect availability. Use #include "HsUnix.h" to bring HAVE_O_DIRECT into scope.

Since: 2.8.7.0

fileSetCaching :: Fd -> Bool -> IO () Source #

Performs the fcntl(2) operation on a file-desciptor to set the cache mode.

If the cache mode is False , then cache effects for file system reads and writes are minimised or otherwise eliminated. If the cache mode is True , then cache effects occur like normal.

On Linux, FreeBSD, and NetBSD this sets the O_DIRECT file flag. On OSX, this sets the F_NOCACHE fcntl flag.

Throws IOError ("unsupported operation") if platform does not support setting the cache mode.

Use #if HAVE_O_DIRECT || HAVE_F_NOCACHE CPP guard to detect availability. Use #include "HsUnix.h" to bring HAVE_O_DIRECT and HAVE_F_NOCACHE into scope.

Since: 2.8.7.0

AltStyle によって変換されたページ (->オリジナル) /