-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | dynamic linker tools for Haskell
--
-- Package rtld provides simplistic interface to the dynamic
-- linker/loader. It wraps 'dlopen/dlclose' family of functions
-- ('LoadLibrary/FreeLibrary' on Windows) and tries to provide a common
-- interface to dynamically load foreign libraries at runtime. It is used
-- currently as a helper package for curlhs
-- (http://hackage.haskell.org/package/curlhs), but is not ready
-- for the public use (more tests and design decisions needed).
--
-- Package is distributed under ISC License (MIT/BSD-style, see LICENSE
-- file for details). It is marked as OtherLicense due to
-- limitations of Cabal.
--
@package rtld
@version 0.0.2
module System.RTLD
class RTLD so where withlib so = bracket_ (loadlib so) (freelib so)
withlib :: RTLD so => so -> IO a -> IO a
loadlib :: RTLD so => so -> IO ()
freelib :: RTLD so => so -> IO ()
type LIBH = Ptr ()
dynload :: String -> IO LIBH
dynfree :: LIBH -> IO Bool
dynfunc :: LIBH -> Ptr CChar -> IO (FunPtr ())
dynfail :: IO String
newtype SYMTABENTRY
RTSYM :: (CInt, CInt, Ptr CChar) -> SYMTABENTRY
data RTSO a
RTSO :: MVar (Maybe (a, LIBH, Int)) -> String -> (a -> String) -> (a -> [String]) -> (a -> IO ()) -> (a -> IO ()) -> (a -> IO (Maybe a)) -> Ptr SYMTABENTRY -> Ptr (FunPtr ()) -> Int -> RTSO a
rtPKGMVAR :: RTSO a -> MVar (Maybe (a, LIBH, Int))
rtPKGNAME :: RTSO a -> String
rtLIBNAME :: RTSO a -> a -> String
rtSONAMES :: RTSO a -> a -> [String]
rtONLOAD :: RTSO a -> a -> IO ()
rtONFREE :: RTSO a -> a -> IO ()
rtGETAPI :: RTSO a -> a -> IO (Maybe a)
rtSYMTAB :: RTSO a -> Ptr SYMTABENTRY
rtADRTAB :: RTSO a -> Ptr (FunPtr ())
rtTABLEN :: RTSO a -> Int
rtload :: (Ord a, Enum a, Bounded a) => RTSO a -> a -> IO ()
rtfree :: RTSO a -> IO ()
instance Storable SYMTABENTRY