packages feed

hs-bindgen-1.0.0.0: test-artefacts/fixtures/edge-cases/iterator/Example/Unsafe.hs

{-# LANGUAGE ForeignFunctionInterface #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE TemplateHaskell #-}
{-# OPTIONS_HADDOCK prune #-}

module Example.Unsafe
    ( Example.Unsafe.makeToggle
    , Example.Unsafe.toggleNext
    , Example.Unsafe.releaseToggle
    , Example.Unsafe.makeCounter
    , Example.Unsafe.counterNext
    , Example.Unsafe.releaseCounter
    , Example.Unsafe.makeVarCounter
    , Example.Unsafe.varCounterNext
    , Example.Unsafe.releaseVarCounter
    )
  where

import qualified HsBindgen.Runtime.Support as BG
import qualified HsBindgen.Runtime.Support.CAPI
import Example
import Prelude (IO, fmap)

$(HsBindgen.Runtime.Support.CAPI.addCSource (HsBindgen.Runtime.Support.CAPI.unlines
  [ "#include <edge-cases/iterator.h>"
  , "Toggle hs_bindgen_1b7a6a61a9c0da07 ("
  , "  _Bool arg1"
  , ")"
  , "{"
  , "  return (makeToggle)(arg1);"
  , "}"
  , "_Bool hs_bindgen_4d2d650f2c8798d6 ("
  , "  Toggle arg1"
  , ")"
  , "{"
  , "  return (toggleNext)(arg1);"
  , "}"
  , "void hs_bindgen_ddbe11e76502cbdc ("
  , "  Toggle arg1"
  , ")"
  , "{"
  , "  (releaseToggle)(arg1);"
  , "}"
  , "Counter hs_bindgen_2b04d558934551d2 ("
  , "  signed int arg1,"
  , "  signed int arg2"
  , ")"
  , "{"
  , "  return (makeCounter)(arg1, arg2);"
  , "}"
  , "signed int hs_bindgen_5bba69c8bfbeedf0 ("
  , "  Counter arg1"
  , ")"
  , "{"
  , "  return (counterNext)(arg1);"
  , "}"
  , "void hs_bindgen_429845bb55a5a7b5 ("
  , "  Counter arg1"
  , ")"
  , "{"
  , "  (releaseCounter)(arg1);"
  , "}"
  , "VarCounter hs_bindgen_4421633e88fc96c4 ("
  , "  signed int arg1"
  , ")"
  , "{"
  , "  return (makeVarCounter)(arg1);"
  , "}"
  , "signed int hs_bindgen_31edd817cb78027d ("
  , "  VarCounter arg1,"
  , "  signed int arg2"
  , ")"
  , "{"
  , "  return (varCounterNext)(arg1, arg2);"
  , "}"
  , "void hs_bindgen_32e5b257124f69a2 ("
  , "  VarCounter arg1"
  , ")"
  , "{"
  , "  (releaseVarCounter)(arg1);"
  , "}"
  ]))

-- __unique:__ @test_edgecasesiterator_Example_Unsafe_makeToggle@
foreign import ccall unsafe "hs_bindgen_1b7a6a61a9c0da07" hs_bindgen_1b7a6a61a9c0da07_base ::
     BG.CBool
  -> IO (BG.Ptr BG.Void)

-- __unique:__ @test_edgecasesiterator_Example_Unsafe_makeToggle@
hs_bindgen_1b7a6a61a9c0da07 ::
     BG.CBool
  -> IO Toggle
hs_bindgen_1b7a6a61a9c0da07 =
  \x0 ->
    fmap BG.fromFFIType (hs_bindgen_1b7a6a61a9c0da07_base (BG.toFFIType x0))

{-| __C declaration:__ @makeToggle@

    __defined at:__ @edge-cases\/iterator.h 4:8@

    __exported by:__ @edge-cases\/iterator.h@
-}
makeToggle ::
     BG.CBool
     -- ^ __C declaration:__ @start@
  -> IO Toggle
makeToggle = hs_bindgen_1b7a6a61a9c0da07

-- __unique:__ @test_edgecasesiterator_Example_Unsafe_toggleNext@
foreign import ccall unsafe "hs_bindgen_4d2d650f2c8798d6" hs_bindgen_4d2d650f2c8798d6_base ::
     BG.Ptr BG.Void
  -> IO BG.CBool

-- __unique:__ @test_edgecasesiterator_Example_Unsafe_toggleNext@
hs_bindgen_4d2d650f2c8798d6 ::
     Toggle
  -> IO BG.CBool
hs_bindgen_4d2d650f2c8798d6 =
  \x0 ->
    fmap BG.fromFFIType (hs_bindgen_4d2d650f2c8798d6_base (BG.toFFIType x0))

{-| __C declaration:__ @toggleNext@

    __defined at:__ @edge-cases\/iterator.h 5:6@

    __exported by:__ @edge-cases\/iterator.h@
-}
toggleNext ::
     Toggle
     -- ^ __C declaration:__ @block@
  -> IO BG.CBool
toggleNext = hs_bindgen_4d2d650f2c8798d6

-- __unique:__ @test_edgecasesiterator_Example_Unsafe_releaseToggle@
foreign import ccall unsafe "hs_bindgen_ddbe11e76502cbdc" hs_bindgen_ddbe11e76502cbdc_base ::
     BG.Ptr BG.Void
  -> IO ()

-- __unique:__ @test_edgecasesiterator_Example_Unsafe_releaseToggle@
hs_bindgen_ddbe11e76502cbdc ::
     Toggle
  -> IO ()
hs_bindgen_ddbe11e76502cbdc =
  \x0 ->
    hs_bindgen_ddbe11e76502cbdc_base (BG.toFFIType x0)

{-| __C declaration:__ @releaseToggle@

    __defined at:__ @edge-cases\/iterator.h 6:6@

    __exported by:__ @edge-cases\/iterator.h@
-}
releaseToggle ::
     Toggle
     -- ^ __C declaration:__ @block@
  -> IO ()
releaseToggle = hs_bindgen_ddbe11e76502cbdc

-- __unique:__ @test_edgecasesiterator_Example_Unsafe_makeCounter@
foreign import ccall unsafe "hs_bindgen_2b04d558934551d2" hs_bindgen_2b04d558934551d2_base ::
     BG.CInt
  -> BG.CInt
  -> IO (BG.Ptr BG.Void)

-- __unique:__ @test_edgecasesiterator_Example_Unsafe_makeCounter@
hs_bindgen_2b04d558934551d2 ::
     BG.CInt
  -> BG.CInt
  -> IO Counter
hs_bindgen_2b04d558934551d2 =
  \x0 ->
    \x1 ->
      fmap BG.fromFFIType (hs_bindgen_2b04d558934551d2_base (BG.toFFIType x0) (BG.toFFIType x1))

{-| __C declaration:__ @makeCounter@

    __defined at:__ @edge-cases\/iterator.h 11:9@

    __exported by:__ @edge-cases\/iterator.h@
-}
makeCounter ::
     BG.CInt
     -- ^ __C declaration:__ @start@
  -> BG.CInt
     -- ^ __C declaration:__ @increment@
  -> IO Counter
makeCounter = hs_bindgen_2b04d558934551d2

-- __unique:__ @test_edgecasesiterator_Example_Unsafe_counterNext@
foreign import ccall unsafe "hs_bindgen_5bba69c8bfbeedf0" hs_bindgen_5bba69c8bfbeedf0_base ::
     BG.Ptr BG.Void
  -> IO BG.CInt

-- __unique:__ @test_edgecasesiterator_Example_Unsafe_counterNext@
hs_bindgen_5bba69c8bfbeedf0 ::
     Counter
  -> IO BG.CInt
hs_bindgen_5bba69c8bfbeedf0 =
  \x0 ->
    fmap BG.fromFFIType (hs_bindgen_5bba69c8bfbeedf0_base (BG.toFFIType x0))

{-| __C declaration:__ @counterNext@

    __defined at:__ @edge-cases\/iterator.h 12:5@

    __exported by:__ @edge-cases\/iterator.h@
-}
counterNext ::
     Counter
     -- ^ __C declaration:__ @block@
  -> IO BG.CInt
counterNext = hs_bindgen_5bba69c8bfbeedf0

-- __unique:__ @test_edgecasesiterator_Example_Unsafe_releaseCounter@
foreign import ccall unsafe "hs_bindgen_429845bb55a5a7b5" hs_bindgen_429845bb55a5a7b5_base ::
     BG.Ptr BG.Void
  -> IO ()

-- __unique:__ @test_edgecasesiterator_Example_Unsafe_releaseCounter@
hs_bindgen_429845bb55a5a7b5 ::
     Counter
  -> IO ()
hs_bindgen_429845bb55a5a7b5 =
  \x0 ->
    hs_bindgen_429845bb55a5a7b5_base (BG.toFFIType x0)

{-| __C declaration:__ @releaseCounter@

    __defined at:__ @edge-cases\/iterator.h 13:6@

    __exported by:__ @edge-cases\/iterator.h@
-}
releaseCounter ::
     Counter
     -- ^ __C declaration:__ @block@
  -> IO ()
releaseCounter = hs_bindgen_429845bb55a5a7b5

-- __unique:__ @test_edgecasesiterator_Example_Unsafe_makeVarCounter@
foreign import ccall unsafe "hs_bindgen_4421633e88fc96c4" hs_bindgen_4421633e88fc96c4_base ::
     BG.CInt
  -> IO (BG.Ptr BG.Void)

-- __unique:__ @test_edgecasesiterator_Example_Unsafe_makeVarCounter@
hs_bindgen_4421633e88fc96c4 ::
     BG.CInt
  -> IO VarCounter
hs_bindgen_4421633e88fc96c4 =
  \x0 ->
    fmap BG.fromFFIType (hs_bindgen_4421633e88fc96c4_base (BG.toFFIType x0))

{-| __C declaration:__ @makeVarCounter@

    __defined at:__ @edge-cases\/iterator.h 18:12@

    __exported by:__ @edge-cases\/iterator.h@
-}
makeVarCounter ::
     BG.CInt
     -- ^ __C declaration:__ @start@
  -> IO VarCounter
makeVarCounter = hs_bindgen_4421633e88fc96c4

-- __unique:__ @test_edgecasesiterator_Example_Unsafe_varCounterNext@
foreign import ccall unsafe "hs_bindgen_31edd817cb78027d" hs_bindgen_31edd817cb78027d_base ::
     BG.Ptr BG.Void
  -> BG.CInt
  -> IO BG.CInt

-- __unique:__ @test_edgecasesiterator_Example_Unsafe_varCounterNext@
hs_bindgen_31edd817cb78027d ::
     VarCounter
  -> BG.CInt
  -> IO BG.CInt
hs_bindgen_31edd817cb78027d =
  \x0 ->
    \x1 ->
      fmap BG.fromFFIType (hs_bindgen_31edd817cb78027d_base (BG.toFFIType x0) (BG.toFFIType x1))

{-| __C declaration:__ @varCounterNext@

    __defined at:__ @edge-cases\/iterator.h 19:5@

    __exported by:__ @edge-cases\/iterator.h@
-}
varCounterNext ::
     VarCounter
     -- ^ __C declaration:__ @block@
  -> BG.CInt
     -- ^ __C declaration:__ @increment@
  -> IO BG.CInt
varCounterNext = hs_bindgen_31edd817cb78027d

-- __unique:__ @test_edgecasesiterator_Example_Unsafe_releaseVarCounter@
foreign import ccall unsafe "hs_bindgen_32e5b257124f69a2" hs_bindgen_32e5b257124f69a2_base ::
     BG.Ptr BG.Void
  -> IO ()

-- __unique:__ @test_edgecasesiterator_Example_Unsafe_releaseVarCounter@
hs_bindgen_32e5b257124f69a2 ::
     VarCounter
  -> IO ()
hs_bindgen_32e5b257124f69a2 =
  \x0 ->
    hs_bindgen_32e5b257124f69a2_base (BG.toFFIType x0)

{-| __C declaration:__ @releaseVarCounter@

    __defined at:__ @edge-cases\/iterator.h 20:6@

    __exported by:__ @edge-cases\/iterator.h@
-}
releaseVarCounter ::
     VarCounter
     -- ^ __C declaration:__ @block@
  -> IO ()
releaseVarCounter = hs_bindgen_32e5b257124f69a2