unix-2.7.2.2: POSIX functionality

Copyright(c) Volker Stolz <vs@foldr.org> 2003
LicenseBSD-style (see the file libraries/base/LICENSE)
Maintainervs@foldr.org
Stabilityprovisional
Portabilitynon-portable (requires POSIX)
Safe HaskellTrustworthy
LanguageHaskell2010

System.Posix.DynamicLinker.Prim

Contents

Description

dlopen(3) and friends Derived from GModule.chs by M.Weber & M.Chakravarty which is part of c2hs. I left the API more or less the same, mostly the flags are different.

Synopsis

low level API

c_dlsym :: Ptr () -> CString -> IO (FunPtr a) 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 wether 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

packDL :: DL -> Ptr () Source #

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

Null 
Next 
Default 
DLHandle (Ptr ()) 

Instances

Show DL Source # 

Methods

showsPrec :: Int -> DL -> ShowS #

show :: DL -> String #

showList :: [DL] -> ShowS #