module Foreign.LibLTDL.Internal where
import Foreign
import Foreign.C.String
import Foreign.C.Types
lT_PATHSEP_CHAR :: Char
lT_PATHSEP_CHAR = ':'
data OpaqueDLHandle = OpaqueDLHandle
newtype DLHandle = DLHandle { unDLHandle :: Ptr OpaqueDLHandle }
deriving (Eq, Ord, Show)
data OpaqueDLAdvise = OpaqueDLAdvise
newtype DLAdvise = DLAdvise { unDLAdvise :: Ptr OpaqueDLAdvise }
deriving (Eq, Ord, Show, Storable)
foreign import ccall "libltdl.h lt_dlinit"
c_lt_dlinit :: IO CInt
foreign import ccall "libltdl.h lt_dlexit"
c_lt_dlexit :: IO CInt
foreign import ccall "libltdl.h lt_dlopen"
c_lt_dlopen :: CString -> IO DLHandle
foreign import ccall "libltdl.h lt_dlopenext"
c_lt_dlopenext :: CString -> IO DLHandle
foreign import ccall "libltdl.h lt_dlopenadvise"
c_lt_dlopenadvise :: CString -> DLAdvise -> IO DLHandle
foreign import ccall "libltdl.h lt_dladvise_init"
c_lt_dladvise_init :: Ptr DLAdvise -> IO CInt
foreign import ccall "libltdl.h lt_dladvise_destroy"
c_lt_dladvise_destroy :: Ptr DLAdvise -> IO CInt
foreign import ccall "libltdl.h lt_dladvise_ext"
c_lt_dladvise_ext :: Ptr DLAdvise -> IO CInt
foreign import ccall "libltdl.h lt_dladvise_global"
c_lt_dladvise_global :: Ptr DLAdvise -> IO CInt
foreign import ccall "libltdl.h lt_dladvise_local"
c_lt_dladvise_local :: Ptr DLAdvise -> IO CInt
foreign import ccall "libltdl.h lt_dladvise_resident"
c_lt_dladvise_resident :: Ptr DLAdvise -> IO CInt
foreign import ccall "libltdl.h lt_dladvise_preload"
c_lt_dladvise_preload :: Ptr DLAdvise -> IO CInt
foreign import ccall "libltdl.h lt_dlclose"
c_lt_dlclose :: DLHandle -> IO CInt
foreign import ccall "libltdl.h lt_dlsym"
c_lt_dlsym :: DLHandle -> CString -> IO (FunPtr a)
foreign import ccall "libltdl.h lt_dlerror"
c_lt_dlerror :: IO CString
foreign import ccall "libltdl.h lt_dladdsearchdir"
c_lt_dladdsearchdir :: CString -> IO CInt
foreign import ccall "libltdl.h lt_dlinsertsearchdir"
c_lt_dlinsertsearchdir :: CString -> CString -> IO CInt
foreign import ccall "libltdl.h lt_dlsetsearchpath"
c_lt_dlsetsearchpath :: CString -> IO CInt
foreign import ccall "libltdl.h lt_dlgetsearchpath"
c_lt_dlgetsearchpath :: IO CString
foreign import ccall "libltdl.h lt_dlforeachfile"
c_lt_dlforeachfile :: CString -> FunPtr (CString -> Ptr a -> IO CInt) -> Ptr a -> IO CInt
foreign import ccall "libltdl.h lt_dlmakeresident"
c_lt_dlmakeresident :: DLHandle -> IO CInt
foreign import ccall "libltdl.h lt_dlisresident"
c_lt_dlisresident :: DLHandle -> IO CInt