diff --git a/bindings-DSL.cabal b/bindings-DSL.cabal
--- a/bindings-DSL.cabal
+++ b/bindings-DSL.cabal
@@ -17,7 +17,7 @@
   .
   This package contains no Haskell code, only C header files
   designed for hsc2hs.
-version: 1.0.4
+version: 1.0.5
 license: BSD3
 license-file: LICENSE
 maintainer: Maurício C. Antunes <mauricio.antunes@gmail.com>
diff --git a/bindings.dsl.h b/bindings.dsl.h
--- a/bindings.dsl.h
+++ b/bindings.dsl.h
@@ -100,10 +100,13 @@
     bc_varid(# name);printf(" :: FunPtr a\n"); \
 
 #define hsc_ccall(name,type) \
-    printf("foreign import ccall \"%s\" ",# name); \
+    hsc_callconv(name,ccall,type) \
+
+#define hsc_callconv(name,conv,type) \
+    printf("foreign import "# conv" \"%s\" ",# name); \
     bc_varid(# name);printf("\n"); \
     printf("  :: ");bc_typemarkup(# type);printf("\n"); \
-    printf("foreign import ccall \"&%s\" ",# name); \
+    printf("foreign import "# conv" \"&%s\" ",# name); \
     bc_ptrid(# name);printf("\n"); \
     printf("  :: FunPtr (");bc_typemarkup(# type);printf(")\n"); \
 
