diff --git a/bindings-libffi.cabal b/bindings-libffi.cabal
--- a/bindings-libffi.cabal
+++ b/bindings-libffi.cabal
@@ -3,7 +3,7 @@
 homepage: http://bitbucket.org/mauricio/bindings
 synopsis:
   Check bindings-common package for directions.
-version: 0.0.1
+version: 0.0.2
 license: BSD3
 license-file: LICENSE
 maintainer: Maurício C. Antunes
diff --git a/src/LibffiTypes.hs b/src/LibffiTypes.hs
--- a/src/LibffiTypes.hs
+++ b/src/LibffiTypes.hs
@@ -29,8 +29,14 @@
 
 type Ffi_abi = CInt
 
-data Ffi_cif
+data Ffi_cif = Ffi_cif
 
+instance Storable Ffi_cif where
+    sizeOf _ = fromIntegral size_of_ffi_cif
+    alignment = sizeOf
+    peek p = return Ffi_cif
+    poke p v = return ()
+
 data Ffi_closure
 
 foreign import ccall "size_of_ffi_type" size_of_ffi_type
@@ -44,3 +50,5 @@
     :: Ptr Ffi_type -> Ptr CSize -> Ptr CUShort -> Ptr CUShort ->
        Ptr (Ptr (Ptr Ffi_type)) -> IO ()
 
+foreign import ccall "size_of_ffi_cif" size_of_ffi_cif
+    :: CInt
diff --git a/src/types.c b/src/types.c
--- a/src/types.c
+++ b/src/types.c
@@ -29,3 +29,8 @@
     *p4 = p->elements;
 }
 
+int size_of_ffi_cif (void)
+{
+    return sizeof (ffi_cif);
+}
+
