vulkan-api-1.1.0.0: src-gen/Graphics/Vulkan/Types/Funcpointers.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE Strict #-}
module Graphics.Vulkan.Types.Funcpointers
(PFN_vkAllocationFunction, HS_vkAllocationFunction,
newVkAllocationFunction, unwrapVkAllocationFunction,
PFN_vkDebugReportCallbackEXT, HS_vkDebugReportCallbackEXT,
newVkDebugReportCallbackEXT, unwrapVkDebugReportCallbackEXT,
PFN_vkDebugUtilsMessengerCallbackEXT,
HS_vkDebugUtilsMessengerCallbackEXT,
newVkDebugUtilsMessengerCallbackEXT,
unwrapVkDebugUtilsMessengerCallbackEXT, PFN_vkFreeFunction,
HS_vkFreeFunction, newVkFreeFunction, unwrapVkFreeFunction,
PFN_vkInternalAllocationNotification,
HS_vkInternalAllocationNotification,
newVkInternalAllocationNotification,
unwrapVkInternalAllocationNotification,
PFN_vkInternalFreeNotification, HS_vkInternalFreeNotification,
newVkInternalFreeNotification, unwrapVkInternalFreeNotification,
PFN_vkReallocationFunction, HS_vkReallocationFunction,
newVkReallocationFunction, unwrapVkReallocationFunction,
PFN_vkVoidFunction, HS_vkVoidFunction, newVkVoidFunction,
unwrapVkVoidFunction)
where
import Graphics.Vulkan.Marshal
import Graphics.Vulkan.Types.BaseTypes
(VkBool32 (..),
VkFlags (..))
import Graphics.Vulkan.Types.Enum.VkDebugReportFlagsEXT
(VkDebugReportBitmaskEXT (..),
VkDebugReportFlagsEXT)
import Graphics.Vulkan.Types.Enum.VkDebugReportObjectTypeEXT
(VkDebugReportObjectTypeEXT (..))
import Graphics.Vulkan.Types.Enum.VkDebugUtilsMessageSeverityFlagsEXT
(VkDebugUtilsMessageSeverityBitmaskEXT (..),
VkDebugUtilsMessageSeverityFlagBitsEXT)
import Graphics.Vulkan.Types.Enum.VkDebugUtilsMessageTypeFlagsEXT
(VkDebugUtilsMessageTypeBitmaskEXT (..),
VkDebugUtilsMessageTypeFlagsEXT)
import Graphics.Vulkan.Types.Enum.VkInternalAllocationType
(VkInternalAllocationType (..))
import Graphics.Vulkan.Types.Enum.VkSystemAllocationScope
(VkSystemAllocationScope (..))
import Graphics.Vulkan.Types.Struct.VkDebugUtilsMessengerCallbackDataEXT
(VkDebugUtilsMessengerCallbackDataEXT (..))
type HS_vkAllocationFunction =
Ptr Void ->
CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void)
-- | > typedef void* (VKAPI_PTR *PFN_vkAllocationFunction)(
-- > void* pUserData,
-- > size_t size,
-- > size_t alignment,
-- > VkSystemAllocationScope allocationScope);
type PFN_vkAllocationFunction = FunPtr HS_vkAllocationFunction
-- | Wrap haskell function into C-callable FunPtr.
-- Note, you need to free resources after using it.
foreign import ccall "wrapper" newVkAllocationFunction ::
HS_vkAllocationFunction -> IO PFN_vkAllocationFunction
foreign import ccall "dynamic" unwrapVkAllocationFunction ::
PFN_vkAllocationFunction -> HS_vkAllocationFunction
type HS_vkDebugReportCallbackEXT =
VkDebugReportFlagsEXT ->
VkDebugReportObjectTypeEXT ->
Word64 ->
CSize -> Int32 -> CString -> CString -> Ptr Void -> IO VkBool32
-- | > typedef VkBool32 (VKAPI_PTR *PFN_vkDebugReportCallbackEXT)(
-- > VkDebugReportFlagsEXT flags,
-- > VkDebugReportObjectTypeEXT objectType,
-- > uint64_t object,
-- > size_t location,
-- > int32_t messageCode,
-- > const char* pLayerPrefix,
-- > const char* pMessage,
-- > void* pUserData);
type PFN_vkDebugReportCallbackEXT =
FunPtr HS_vkDebugReportCallbackEXT
-- | Wrap haskell function into C-callable FunPtr.
-- Note, you need to free resources after using it.
foreign import ccall "wrapper" newVkDebugReportCallbackEXT ::
HS_vkDebugReportCallbackEXT -> IO PFN_vkDebugReportCallbackEXT
foreign import ccall "dynamic" unwrapVkDebugReportCallbackEXT ::
PFN_vkDebugReportCallbackEXT -> HS_vkDebugReportCallbackEXT
type HS_vkDebugUtilsMessengerCallbackEXT =
VkDebugUtilsMessageSeverityFlagBitsEXT ->
VkDebugUtilsMessageTypeFlagsEXT ->
Ptr VkDebugUtilsMessengerCallbackDataEXT -> Ptr Void -> IO VkBool32
-- | > typedef VkBool32 (VKAPI_PTR *PFN_vkDebugUtilsMessengerCallbackEXT)(
-- > VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,
-- > VkDebugUtilsMessageTypeFlagsEXT messageType,
-- > const VkDebugUtilsMessengerCallbackDataEXT* pCallbackData,
-- > void* pUserData);
type PFN_vkDebugUtilsMessengerCallbackEXT =
FunPtr HS_vkDebugUtilsMessengerCallbackEXT
-- | Wrap haskell function into C-callable FunPtr.
-- Note, you need to free resources after using it.
foreign import ccall "wrapper" newVkDebugUtilsMessengerCallbackEXT
::
HS_vkDebugUtilsMessengerCallbackEXT ->
IO PFN_vkDebugUtilsMessengerCallbackEXT
foreign import ccall "dynamic"
unwrapVkDebugUtilsMessengerCallbackEXT ::
PFN_vkDebugUtilsMessengerCallbackEXT ->
HS_vkDebugUtilsMessengerCallbackEXT
type HS_vkFreeFunction = Ptr Void -> Ptr Void -> IO ()
-- | > typedef void (VKAPI_PTR *PFN_vkFreeFunction)(
-- > void* pUserData,
-- > void* pMemory);
type PFN_vkFreeFunction = FunPtr HS_vkFreeFunction
-- | Wrap haskell function into C-callable FunPtr.
-- Note, you need to free resources after using it.
foreign import ccall "wrapper" newVkFreeFunction ::
HS_vkFreeFunction -> IO PFN_vkFreeFunction
foreign import ccall "dynamic" unwrapVkFreeFunction ::
PFN_vkFreeFunction -> HS_vkFreeFunction
type HS_vkInternalAllocationNotification =
Ptr Void ->
CSize ->
VkInternalAllocationType -> VkSystemAllocationScope -> IO ()
-- | > typedef void (VKAPI_PTR *PFN_vkInternalAllocationNotification)(
-- > void* pUserData,
-- > size_t size,
-- > VkInternalAllocationType allocationType,
-- > VkSystemAllocationScope allocationScope);
type PFN_vkInternalAllocationNotification =
FunPtr HS_vkInternalAllocationNotification
-- | Wrap haskell function into C-callable FunPtr.
-- Note, you need to free resources after using it.
foreign import ccall "wrapper" newVkInternalAllocationNotification
::
HS_vkInternalAllocationNotification ->
IO PFN_vkInternalAllocationNotification
foreign import ccall "dynamic"
unwrapVkInternalAllocationNotification ::
PFN_vkInternalAllocationNotification ->
HS_vkInternalAllocationNotification
type HS_vkInternalFreeNotification =
Ptr Void ->
CSize ->
VkInternalAllocationType -> VkSystemAllocationScope -> IO ()
-- | > typedef void (VKAPI_PTR *PFN_vkInternalFreeNotification)(
-- > void* pUserData,
-- > size_t size,
-- > VkInternalAllocationType allocationType,
-- > VkSystemAllocationScope allocationScope);
type PFN_vkInternalFreeNotification =
FunPtr HS_vkInternalFreeNotification
-- | Wrap haskell function into C-callable FunPtr.
-- Note, you need to free resources after using it.
foreign import ccall "wrapper" newVkInternalFreeNotification ::
HS_vkInternalFreeNotification -> IO PFN_vkInternalFreeNotification
foreign import ccall "dynamic" unwrapVkInternalFreeNotification ::
PFN_vkInternalFreeNotification -> HS_vkInternalFreeNotification
type HS_vkReallocationFunction =
Ptr Void ->
Ptr Void ->
CSize -> CSize -> VkSystemAllocationScope -> IO (Ptr Void)
-- | > typedef void* (VKAPI_PTR *PFN_vkReallocationFunction)(
-- > void* pUserData,
-- > void* pOriginal,
-- > size_t size,
-- > size_t alignment,
-- > VkSystemAllocationScope allocationScope);
type PFN_vkReallocationFunction = FunPtr HS_vkReallocationFunction
-- | Wrap haskell function into C-callable FunPtr.
-- Note, you need to free resources after using it.
foreign import ccall "wrapper" newVkReallocationFunction ::
HS_vkReallocationFunction -> IO PFN_vkReallocationFunction
foreign import ccall "dynamic" unwrapVkReallocationFunction ::
PFN_vkReallocationFunction -> HS_vkReallocationFunction
type HS_vkVoidFunction = IO ()
-- | > typedef void (VKAPI_PTR *PFN_vkVoidFunction)(void);
type PFN_vkVoidFunction = FunPtr HS_vkVoidFunction
-- | Wrap haskell function into C-callable FunPtr.
-- Note, you need to free resources after using it.
foreign import ccall "wrapper" newVkVoidFunction ::
HS_vkVoidFunction -> IO PFN_vkVoidFunction
foreign import ccall "dynamic" unwrapVkVoidFunction ::
PFN_vkVoidFunction -> HS_vkVoidFunction