{-# LINE 1 "src/Shaderc/Include/Core.hsc" #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TupleSections #-} {-# LANGUAGE PatternSynonyms, ViewPatterns #-} {-# OPTIONS_GHC -Wall -fno-warn-tabs #-} module Shaderc.Include.Core where import Foreign.Ptr import Foreign.Storable import Foreign.C.String import Foreign.C.Enum import Foreign.C.Struct import Data.Word type PtrVoid = Ptr () struct "Result" (40) {-# LINE 20 "src/Shaderc/Include/Core.hsc" #-} 8 [ {-# LINE 21 "src/Shaderc/Include/Core.hsc" #-} ("sourceName", ''CString, [| (\hsc_ptr -> peekByteOff hsc_ptr 0) |], {-# LINE 23 "src/Shaderc/Include/Core.hsc" #-} [| (\hsc_ptr -> pokeByteOff hsc_ptr 0) |]), {-# LINE 24 "src/Shaderc/Include/Core.hsc" #-} ("sourceNameLength", ''Word64, {-# LINE 25 "src/Shaderc/Include/Core.hsc" #-} [| (\hsc_ptr -> peekByteOff hsc_ptr 8) |], {-# LINE 26 "src/Shaderc/Include/Core.hsc" #-} [| (\hsc_ptr -> pokeByteOff hsc_ptr 8) |]), {-# LINE 27 "src/Shaderc/Include/Core.hsc" #-} ("content", ''CString, [| (\hsc_ptr -> peekByteOff hsc_ptr 16) |], {-# LINE 29 "src/Shaderc/Include/Core.hsc" #-} [| (\hsc_ptr -> pokeByteOff hsc_ptr 16) |]), {-# LINE 30 "src/Shaderc/Include/Core.hsc" #-} ("contentLength", ''Word64, {-# LINE 31 "src/Shaderc/Include/Core.hsc" #-} [| (\hsc_ptr -> peekByteOff hsc_ptr 24) |], {-# LINE 32 "src/Shaderc/Include/Core.hsc" #-} [| (\hsc_ptr -> pokeByteOff hsc_ptr 24) |]), {-# LINE 33 "src/Shaderc/Include/Core.hsc" #-} ("userData", ''PtrVoid, [| (\hsc_ptr -> peekByteOff hsc_ptr 32) |], {-# LINE 35 "src/Shaderc/Include/Core.hsc" #-} [| (\hsc_ptr -> pokeByteOff hsc_ptr 32) |]) ] {-# LINE 36 "src/Shaderc/Include/Core.hsc" #-} [''Show, ''Storable] enum "Type" ''Word32 [''Show, ''Storable] [ {-# LINE 39 "src/Shaderc/Include/Core.hsc" #-} ("TypeRelative", 0), {-# LINE 40 "src/Shaderc/Include/Core.hsc" #-} ("TypeStandard", 1) ] {-# LINE 41 "src/Shaderc/Include/Core.hsc" #-} type ResolveFn = PtrVoid -> CString -> Type -> CString -> Word64 -> {-# LINE 44 "src/Shaderc/Include/Core.hsc" #-} IO (Ptr Result) foreign import ccall "wrapper" wrap_resolveFn :: ResolveFn -> IO (FunPtr ResolveFn) type ResultReleaseFn = PtrVoid -> Ptr Result -> IO () foreign import ccall "wrapper" wrap_resultReleaseFn :: ResultReleaseFn -> IO (FunPtr ResultReleaseFn)