{-# LANGUAGE ForeignFunctionInterface #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE NoFieldSelectors #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_HADDOCK prune #-}
module SDL3.Sys.Bindgen.AtomicShims.FunPtr (
SDL3.Sys.Bindgen.AtomicShims.FunPtr.lithon_SDL_AtomicIncRef,
SDL3.Sys.Bindgen.AtomicShims.FunPtr.lithon_SDL_AtomicDecRef,
)
where
import Prelude (IO, fmap)
import HsBindgen.Runtime.Support qualified as BG
import HsBindgen.Runtime.Support.CAPI qualified
import SDL3.Sys.Bindgen.Atomic qualified
$( HsBindgen.Runtime.Support.CAPI.addCSource
( HsBindgen.Runtime.Support.CAPI.unlines
[ "#define SDL_MAIN_HANDLED"
, "#define SDL_SLOW_MEMCPY"
, "#define SDL_SLOW_MEMMOVE"
, "#define SDL_SLOW_MEMSET"
, "#include <sdl3-bindgen-sys/SDL_atomic_shims.h>"
, "/* sdl3bindgensys_SDL3.Sys.Bindgen.AtomicShims_get_lithon_SDL_AtomicIncRef */"
, "__attribute__ ((const))"
, "signed int (*hs_bindgen_d91e850bfd3ae06a (void)) ("
, " SDL_AtomicInt *arg1"
, ")"
, "{"
, " return &lithon_SDL_AtomicIncRef;"
, "}"
, "/* sdl3bindgensys_SDL3.Sys.Bindgen.AtomicShims_get_lithon_SDL_AtomicDecRef */"
, "__attribute__ ((const))"
, "_Bool (*hs_bindgen_3bf2290199609fea (void)) ("
, " SDL_AtomicInt *arg1"
, ")"
, "{"
, " return &lithon_SDL_AtomicDecRef;"
, "}"
]
)
)
foreign import ccall unsafe "hs_bindgen_d91e850bfd3ae06a"
hs_bindgen_d91e850bfd3ae06a_base
:: IO (BG.FunPtr BG.Void)
hs_bindgen_d91e850bfd3ae06a
:: IO (BG.FunPtr (BG.Ptr SDL3.Sys.Bindgen.Atomic.SDL_AtomicInt -> IO BG.CInt))
hs_bindgen_d91e850bfd3ae06a :: IO (FunPtr (Ptr SDL_AtomicInt -> IO CInt))
hs_bindgen_d91e850bfd3ae06a =
(FunPtr Void -> FunPtr (Ptr SDL_AtomicInt -> IO CInt))
-> IO (FunPtr Void) -> IO (FunPtr (Ptr SDL_AtomicInt -> IO CInt))
forall a b. (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap FunPtr Void -> FunPtr (Ptr SDL_AtomicInt -> IO CInt)
FFIType (FunPtr (Ptr SDL_AtomicInt -> IO CInt))
-> FunPtr (Ptr SDL_AtomicInt -> IO CInt)
forall a. HasFFIType a => FFIType a -> a
BG.fromFFIType IO (FunPtr Void)
hs_bindgen_d91e850bfd3ae06a_base
{-# NOINLINE lithon_SDL_AtomicIncRef #-}
lithon_SDL_AtomicIncRef :: BG.FunPtr (BG.Ptr SDL3.Sys.Bindgen.Atomic.SDL_AtomicInt -> IO BG.CInt)
lithon_SDL_AtomicIncRef :: FunPtr (Ptr SDL_AtomicInt -> IO CInt)
lithon_SDL_AtomicIncRef =
IO (FunPtr (Ptr SDL_AtomicInt -> IO CInt))
-> FunPtr (Ptr SDL_AtomicInt -> IO CInt)
forall a. IO a -> a
BG.unsafePerformIO IO (FunPtr (Ptr SDL_AtomicInt -> IO CInt))
hs_bindgen_d91e850bfd3ae06a
foreign import ccall unsafe "hs_bindgen_3bf2290199609fea"
hs_bindgen_3bf2290199609fea_base
:: IO (BG.FunPtr BG.Void)
hs_bindgen_3bf2290199609fea
:: IO (BG.FunPtr (BG.Ptr SDL3.Sys.Bindgen.Atomic.SDL_AtomicInt -> IO BG.CBool))
hs_bindgen_3bf2290199609fea :: IO (FunPtr (Ptr SDL_AtomicInt -> IO CBool))
hs_bindgen_3bf2290199609fea =
(FunPtr Void -> FunPtr (Ptr SDL_AtomicInt -> IO CBool))
-> IO (FunPtr Void) -> IO (FunPtr (Ptr SDL_AtomicInt -> IO CBool))
forall a b. (a -> b) -> IO a -> IO b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap FunPtr Void -> FunPtr (Ptr SDL_AtomicInt -> IO CBool)
FFIType (FunPtr (Ptr SDL_AtomicInt -> IO CBool))
-> FunPtr (Ptr SDL_AtomicInt -> IO CBool)
forall a. HasFFIType a => FFIType a -> a
BG.fromFFIType IO (FunPtr Void)
hs_bindgen_3bf2290199609fea_base
{-# NOINLINE lithon_SDL_AtomicDecRef #-}
lithon_SDL_AtomicDecRef :: BG.FunPtr (BG.Ptr SDL3.Sys.Bindgen.Atomic.SDL_AtomicInt -> IO BG.CBool)
lithon_SDL_AtomicDecRef :: FunPtr (Ptr SDL_AtomicInt -> IO CBool)
lithon_SDL_AtomicDecRef =
IO (FunPtr (Ptr SDL_AtomicInt -> IO CBool))
-> FunPtr (Ptr SDL_AtomicInt -> IO CBool)
forall a. IO a -> a
BG.unsafePerformIO IO (FunPtr (Ptr SDL_AtomicInt -> IO CBool))
hs_bindgen_3bf2290199609fea