unloadObj, -- :: String -> IO ()
lookupSymbol, -- :: String -> IO (Maybe (Ptr a))
resolveObjs, -- :: IO ()
- addDLL -- :: String -> IO Bool
+ addDLL -- :: String -> IO (Ptr CChar)
) where
+import CTypes ( CChar )
import Foreign ( Ptr, nullPtr )
import PrelByteArr
import PrelPack (packString)
else return ()
addDLL str = do
- r <- c_addDLL (packString str)
- return (r == 0)
+ maybe_errmsg <- c_addDLL (packString str)
+ return maybe_errmsg
type PackedString = ByteArray Int
initLinker :: IO ()
foreign import "addDLL" unsafe
- c_addDLL :: PackedString -> IO Int
+ c_addDLL :: PackedString -> IO (Ptr CChar)
\end{code}