diff --git a/bindings-libusb.cabal b/bindings-libusb.cabal
--- a/bindings-libusb.cabal
+++ b/bindings-libusb.cabal
@@ -3,7 +3,7 @@
 homepage: http://bitbucket.org/mauricio/bindings-libusb
 synopsis:
   Low level bindings to libusb.
-version: 1.3
+version: 1.4
 license: BSD3
 license-file: LICENSE
 maintainer: Maurício C. Antunes <mauricio.antunes@gmail.com>
@@ -17,8 +17,7 @@
     ForeignFunctionInterface
   build-depends:
     base >= 3 && < 5,
-    bindings-common >= 1.3 && < 1.4,
-    bindings-posix >= 1.2 && < 1.3
+    bindings-DSL >= 1.0 && < 1.1
   exposed-modules:
     Bindings.Libusb
     Bindings.Libusb.Asynchronous
diff --git a/src/Bindings/Libusb.hs b/src/Bindings/Libusb.hs
new file mode 100644
--- /dev/null
+++ b/src/Bindings/Libusb.hs
@@ -0,0 +1,1 @@
+module Bindings.Libusb (module Bindings.Libusb.Asynchronous,module Bindings.Libusb.Descriptors,module Bindings.Libusb.HandlingAndEnumeration,module Bindings.Libusb.InitializationDeinitialization,module Bindings.Libusb.Miscellaneous,module Bindings.Libusb.PollingAndTiming,module Bindings.Libusb.Synchronous) where {import Bindings.Libusb.Asynchronous;import Bindings.Libusb.Descriptors;import Bindings.Libusb.HandlingAndEnumeration;import Bindings.Libusb.InitializationDeinitialization;import Bindings.Libusb.Miscellaneous;import Bindings.Libusb.PollingAndTiming;import Bindings.Libusb.Synchronous}
diff --git a/src/Bindings/Libusb.hsc b/src/Bindings/Libusb.hsc
deleted file mode 100644
--- a/src/Bindings/Libusb.hsc
+++ /dev/null
@@ -1,19 +0,0 @@
--- | <http://libusb.sourceforge.net/api-1.0>
-
-module Bindings.Libusb (
-  module Bindings.Libusb.Asynchronous,
-  module Bindings.Libusb.Descriptors,
-  module Bindings.Libusb.HandlingAndEnumeration,
-  module Bindings.Libusb.InitializationDeinitialization,
-  module Bindings.Libusb.Miscellaneous,
-  module Bindings.Libusb.PollingAndTiming,
-  module Bindings.Libusb.Synchronous,
- ) where
-import Prelude ()
-import Bindings.Libusb.Asynchronous
-import Bindings.Libusb.Descriptors
-import Bindings.Libusb.HandlingAndEnumeration
-import Bindings.Libusb.InitializationDeinitialization
-import Bindings.Libusb.Miscellaneous
-import Bindings.Libusb.PollingAndTiming
-import Bindings.Libusb.Synchronous
diff --git a/src/Bindings/Libusb/Asynchronous.hsc b/src/Bindings/Libusb/Asynchronous.hsc
--- a/src/Bindings/Libusb/Asynchronous.hsc
+++ b/src/Bindings/Libusb/Asynchronous.hsc
@@ -1,4 +1,4 @@
-#include <bindings.macros.h>
+#include <bindings.dsl.h>
 #include <libusb.h>
 
 -- | <http://libusb.sourceforge.net/api-1.0/group__asyncio.html>
diff --git a/src/Bindings/Libusb/Descriptors.hsc b/src/Bindings/Libusb/Descriptors.hsc
--- a/src/Bindings/Libusb/Descriptors.hsc
+++ b/src/Bindings/Libusb/Descriptors.hsc
@@ -1,4 +1,4 @@
-#include <bindings.macros.h>
+#include <bindings.dsl.h>
 #include <libusb.h>
 
 -- | <http://libusb.sourceforge.net/api-1.0/group__desc.html>
diff --git a/src/Bindings/Libusb/HandlingAndEnumeration.hsc b/src/Bindings/Libusb/HandlingAndEnumeration.hsc
--- a/src/Bindings/Libusb/HandlingAndEnumeration.hsc
+++ b/src/Bindings/Libusb/HandlingAndEnumeration.hsc
@@ -1,15 +1,16 @@
-#include <bindings.macros.h>
+#include <bindings.dsl.h>
 #include <libusb.h>
 
 -- | <http://libusb.sourceforge.net/api-1.0/group__dev.html>
 
 module Bindings.Libusb.HandlingAndEnumeration where
 #strict_import
-import Bindings.Posix.Sys.Types
 import Bindings.Libusb.InitializationDeinitialization
 
 #opaque_t libusb_device
 #opaque_t libusb_device_handle
+
+#integral_t ssize_t
 
 #ccall libusb_get_device_list , Ptr <libusb_context> -> \
   Ptr (Ptr (Ptr <libusb_device>)) -> IO <ssize_t>
diff --git a/src/Bindings/Libusb/InitializationDeinitialization.hsc b/src/Bindings/Libusb/InitializationDeinitialization.hsc
--- a/src/Bindings/Libusb/InitializationDeinitialization.hsc
+++ b/src/Bindings/Libusb/InitializationDeinitialization.hsc
@@ -1,4 +1,4 @@
-#include <bindings.macros.h>
+#include <bindings.dsl.h>
 #include <libusb.h>
 
 -- | <http://libusb.sourceforge.net/api-1.0/group__lib.html>
diff --git a/src/Bindings/Libusb/Miscellaneous.hsc b/src/Bindings/Libusb/Miscellaneous.hsc
--- a/src/Bindings/Libusb/Miscellaneous.hsc
+++ b/src/Bindings/Libusb/Miscellaneous.hsc
@@ -1,4 +1,4 @@
-#include <bindings.macros.h>
+#include <bindings.dsl.h>
 #include <libusb.h>
 
 -- | <http://libusb.sourceforge.net/api-1.0/group__misc.html>
diff --git a/src/Bindings/Libusb/PollingAndTiming.hsc b/src/Bindings/Libusb/PollingAndTiming.hsc
--- a/src/Bindings/Libusb/PollingAndTiming.hsc
+++ b/src/Bindings/Libusb/PollingAndTiming.hsc
@@ -1,12 +1,13 @@
-#include <bindings.macros.h>
+#include <bindings.dsl.h>
 #include <libusb.h>
 
 -- | <http://libusb.sourceforge.net/api-1.0/group__poll.html>
 
 module Bindings.Libusb.PollingAndTiming where
 #strict_import
-import Bindings.Posix.Sys.Select
 import Bindings.Libusb.InitializationDeinitialization
+
+#opaque_t struct timeval
 
 #starttype struct libusb_pollfd
 #field fd , CInt
diff --git a/src/Bindings/Libusb/Synchronous.hsc b/src/Bindings/Libusb/Synchronous.hsc
--- a/src/Bindings/Libusb/Synchronous.hsc
+++ b/src/Bindings/Libusb/Synchronous.hsc
@@ -1,4 +1,4 @@
-#include <bindings.macros.h>
+#include <bindings.dsl.h>
 #include <libusb.h>
 
 -- | <http://libusb.sourceforge.net/api-1.0/group__syncio.html>
diff --git a/src/inlines.c b/src/inlines.c
--- a/src/inlines.c
+++ b/src/inlines.c
@@ -1,3 +1,4 @@
+#include <bindings.cmacros.h>
 #include <libusb.h>
 
 unsigned char*
