
20 Aug
2007
20 Aug
'07
8:56 a.m.
ryani.spam:
I have a C function of type
void f ( HsWord32* p0, HsWord32* p1, HsWord32 size );
along with the FFI declaration:
foreign import ccall unsafe f :: Ptr Word32 -> Ptr Word32 -> Word32 -> IO ()
In my Haskell code I have an unboxed IO array of Word32; IOUArray Int Word32.
I want to pass the pointer to this array to f(). How can I get the pointer out of the array? Or, is there a better way to declare f() to do this?
I'm open to using GHC hackery; using v6.6.1 right now.
Perhaps you want to use Foreign.Array instead (they are unboxed, and can be used as a Ptr over to C land)? -- Don