diff options
Diffstat (limited to 'src/Wetterhorn/Foreign.hs')
-rw-r--r-- | src/Wetterhorn/Foreign.hs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/Wetterhorn/Foreign.hs b/src/Wetterhorn/Foreign.hs new file mode 100644 index 0000000..2d0a42c --- /dev/null +++ b/src/Wetterhorn/Foreign.hs @@ -0,0 +1,18 @@ +module Wetterhorn.Foreign + ( TypedIntPtr (..), + toPtr, + fromPtr, + ) +where + +import Foreign (IntPtr, Ptr) +import qualified Foreign + +toPtr :: TypedIntPtr a -> Ptr a +toPtr (TypedIntPtr ip) = Foreign.intPtrToPtr ip + +fromPtr :: Ptr a -> TypedIntPtr a +fromPtr = TypedIntPtr . Foreign.ptrToIntPtr + +newtype TypedIntPtr a = TypedIntPtr IntPtr + deriving (Show, Read, Eq, Ord, Num) |