System.Posix
Copyright | (c) The University of Glasgow 2002 |
---|---|
License | BSD-style (see the file libraries/base/LICENSE) |
Maintainer | [email protected] |
Stability | provisional |
Portability | non-portable (requires POSIX) |
Safe Haskell | Safe |
Language | Haskell2010 |
Description
POSIX.1-2008 support
module System.Posix.Types
module System.Posix.Signals
module System.Posix.Directory
module System.Posix.Files
module System.Posix.Unistd
module System.Posix.IO
module System.Posix.Env
module System.Posix.Process
module System.Posix.Temp
module System.Posix.Terminal
module System.Posix.Time
module System.Posix.User
module System.Posix.Resource
module System.Posix.Semaphore
module System.Posix.SharedMem
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
.
Instances
Flags for dlopen
.
Constructors
RTLD_LAZY | |
RTLD_NOW | |
RTLD_GLOBAL | |
RTLD_LOCAL |
c_dlclose :: Ptr () -> IO CInt Source
c_dlerror :: IO CString Source
c_dlsym :: Ptr () -> CString -> IO (FunPtr a) Source
c_dlopen :: CString -> CInt -> IO (Ptr ()) 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.
Deprecated: defaults to True
packRTLDFlags :: [RTLDFlags] -> CInt 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
.
undl
obtains the raw handle. You mustn't do something like withDL mod flags $ liftM undl >>= p -> use p
dlopen :: FilePath -> [RTLDFlags] -> IO DL Source
withDL :: String -> [RTLDFlags] -> (DL -> IO a) -> IO a Source
withDL_ :: String -> [RTLDFlags] -> (DL -> IO a) -> IO () Source
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.10.2/docs/html/libraries/unix-2.7.2.2/System-Posix.html