{-# LANGUAGE CApiFFI #-} {-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE TemplateHaskell #-} {-# OPTIONS_HADDOCK prune #-} module Example.FunPtr where import qualified GHC.IO.Unsafe import qualified GHC.Ptr as Ptr import qualified HsBindgen.Runtime.Internal.CAPI import qualified HsBindgen.Runtime.Internal.HasFFIType import Data.Void (Void) import Prelude (IO) $(HsBindgen.Runtime.Internal.CAPI.addCSource (HsBindgen.Runtime.Internal.CAPI.unlines [ "#include " , "/* test_functionsvarargs_Example_get_h */" , "__attribute__ ((const))" , "void (*hs_bindgen_d7b5ad93f4d7fa04 (void)) (void)" , "{" , " return &h;" , "}" ])) -- __unique:__ @test_functionsvarargs_Example_get_h@ foreign import ccall unsafe "hs_bindgen_d7b5ad93f4d7fa04" hs_bindgen_d7b5ad93f4d7fa04_base :: IO (Ptr.FunPtr Void) -- __unique:__ @test_functionsvarargs_Example_get_h@ hs_bindgen_d7b5ad93f4d7fa04 :: IO (Ptr.FunPtr (IO ())) hs_bindgen_d7b5ad93f4d7fa04 = HsBindgen.Runtime.Internal.HasFFIType.fromFFIType hs_bindgen_d7b5ad93f4d7fa04_base {-# NOINLINE h #-} {-| __C declaration:__ @h@ __defined at:__ @functions\/varargs.h 8:6@ __exported by:__ @functions\/varargs.h@ -} h :: Ptr.FunPtr (IO ()) h = GHC.IO.Unsafe.unsafePerformIO hs_bindgen_d7b5ad93f4d7fa04