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

System.Posix.ByteString

Description

POSIX.1-2008 support with ByteString file paths and environment strings.

This module exports exactly the same API as System.Posix, except that all file paths and environment strings are represented by ByteString instead of String . The System.Posix API implicitly translates all file paths and environment strings using the locale encoding, whereas this version of the API does no encoding or decoding and works directly in terms of raw bytes.

Note that if you do need to interpret file paths or environment strings as text, then some Unicode encoding or decoding should be applied first.

Documentation

type RawFilePath = ByteString Source #

A literal POSIX file path

module System.Posix.Types

module System.Posix.Signals

module System.Posix.Directory.ByteString

module System.Posix.Files.ByteString

module System.Posix.Unistd

module System.Posix.IO.ByteString

module System.Posix.Env.ByteString

module System.Posix.Process.ByteString

module System.Posix.Temp.ByteString

module System.Posix.Terminal.ByteString

module System.Posix.Time

module System.Posix.User

module System.Posix.Resource

module System.Posix.Semaphore

module System.Posix.SharedMem

data DL Source #

Flags for dlsym . Notice that Next might not be available on your particular platform! Use haveRtldNext .

If RTLD_DEFAULT is not defined on your platform, packDL Default reduces to nullPtr .

Constructors

DLHandle (Ptr ())

Instances

Instances details
Instance details

Defined in System.Posix.DynamicLinker.Prim

Methods

showsPrec :: Int -> DL -> ShowS #

show :: DL -> String #

showList :: [DL] -> ShowS #

c_dlopen :: CString -> CInt -> IO (Ptr ()) Source #

c_dlsym :: Ptr () -> CString -> IO (FunPtr a) Source #

c_dlerror :: IO CString Source #

c_dlclose :: Ptr () -> IO CInt Source #

haveRtldNext :: Bool Source #

On some hosts (e.g. SuSe and Ubuntu Linux) RTLD_NEXT (and RTLD_DEFAULT) are not visible without setting the macro _GNU_SOURCE. Since we don't want to define this macro, you can use the function haveRtldNext to check whether the flag Next is available. Ideally, this will be optimized by the compiler so that it should be as efficient as an #ifdef.

If you fail to test the flag and use it although it is undefined, packDL will throw an error.

haveRtldLocal :: Bool Source #

Deprecated: defaults to True

packRTLDFlags :: [RTLDFlags] -> CInt Source #

data RTLDFlags Source #

Flags for dlopen .

Constructors

Instances

Instances details
Instance details

Defined in System.Posix.DynamicLinker.Prim

packDL :: DL -> Ptr () Source #

dlopen :: RawFilePath -> [RTLDFlags] -> IO DL Source #

dlsym :: DL -> String -> IO (FunPtr a) Source #

dlsym returns the address binding of the symbol described in symbol, as it occurs in the shared object identified by source.

dlerror :: IO String Source #

dlclose :: DL -> IO () Source #

withDL :: RawFilePath -> [RTLDFlags] -> (DL -> IO a) -> IO a Source #

withDL_ :: RawFilePath -> [RTLDFlags] -> (DL -> IO a) -> IO () Source #

undl :: DL -> Ptr () Source #

undl obtains the raw handle. You mustn't do something like withDL mod flags $ liftM undl >>= p -> use p

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