There is a module in base that let's you do pointer arith in Haskell. I forget where it is. But it's there.
Hi,
You can use:
ptrToIntPtr :: Ptr a -> IntPtr
intPtrToPtr :: IntPtr -> Ptr a
Cheers
Sylvain
Le 07/12/2013 18:58, keydana@gmx.de a écrit :
Hi,
is there any way to convert between a Ptr a and an Integer?
(I would like to attach to shared memory and dereference pointers to certain memory addresses, as you would do in C.)
If there is no way at all, I think I could still get along by defining c_shmat as
c_shmat :: CInt -> CInt -> CInt -> IO (Ptr a)
and perform calculations using plusPtr,
but then how do I check if I got back the correct address, and not (void *) -1, which is what shmat returns on error?
Any help very much appreciated!
Thanks
Sigrid
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe