{-# LINE 1 "src-gen/Graphics/Vulkan/Types/Struct/DebugUtilsMessengerCallbackDataEXT.hsc" #-}


{-# LANGUAGE DataKinds             #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict                #-}
{-# LANGUAGE TypeFamilies          #-}
module Graphics.Vulkan.Types.Struct.DebugUtilsMessengerCallbackDataEXT
       (VkDebugUtilsMessengerCallbackDataEXT) where
import Graphics.Vulkan.Marshal
import Graphics.Vulkan.Marshal.Internal
import Graphics.Vulkan.Types.Bitmasks                           (VkDebugUtilsMessengerCallbackDataFlagsEXT)
import Graphics.Vulkan.Types.Enum.StructureType                 (VkStructureType)
import Graphics.Vulkan.Types.Struct.DebugUtilsLabelEXT          (VkDebugUtilsLabelEXT)
import Graphics.Vulkan.Types.Struct.DebugUtilsObjectNameInfoEXT (VkDebugUtilsObjectNameInfoEXT)

-- | > typedef struct VkDebugUtilsMessengerCallbackDataEXT {
--   >     VkStructureType sType;
--   >     const void*                                                        pNext;
--   >     VkDebugUtilsMessengerCallbackDataFlagsEXT                          flags;
--   >     const char*                                  pMessageIdName;
--   >     int32_t                                                            messageIdNumber;
--   >     const char*                                                  pMessage;
--   >     uint32_t                                                           queueLabelCount;
--   >     const VkDebugUtilsLabelEXT*                  pQueueLabels;
--   >     uint32_t                                                           cmdBufLabelCount;
--   >     const VkDebugUtilsLabelEXT*                 pCmdBufLabels;
--   >     uint32_t                                                           objectCount;
--   >     const VkDebugUtilsObjectNameInfoEXT*             pObjects;
--   > } VkDebugUtilsMessengerCallbackDataEXT;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkDebugUtilsMessengerCallbackDataEXT VkDebugUtilsMessengerCallbackDataEXT registry at www.khronos.org>
type VkDebugUtilsMessengerCallbackDataEXT =
     VkStruct VkDebugUtilsMessengerCallbackDataEXT' -- ' closing tick for hsc2hs

data VkDebugUtilsMessengerCallbackDataEXT' -- ' closing tick for hsc2hs

instance VulkanMarshal VkDebugUtilsMessengerCallbackDataEXT where
    type StructRep VkDebugUtilsMessengerCallbackDataEXT =
         'StructMeta "VkDebugUtilsMessengerCallbackDataEXT" -- ' closing tick for hsc2hs
           VkDebugUtilsMessengerCallbackDataEXT
           (96)
{-# LINE 43 "src-gen/Graphics/Vulkan/Types/Struct/DebugUtilsMessengerCallbackDataEXT.hsc" #-}
           8
{-# LINE 44 "src-gen/Graphics/Vulkan/Types/Struct/DebugUtilsMessengerCallbackDataEXT.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 46 "src-gen/Graphics/Vulkan/Types/Struct/DebugUtilsMessengerCallbackDataEXT.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'True 
                                                  (8)
{-# LINE 51 "src-gen/Graphics/Vulkan/Types/Struct/DebugUtilsMessengerCallbackDataEXT.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "flags" VkDebugUtilsMessengerCallbackDataFlagsEXT 'True
                (16)
{-# LINE 56 "src-gen/Graphics/Vulkan/Types/Struct/DebugUtilsMessengerCallbackDataEXT.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pMessageIdName" CString 'True 
                                                        (24)
{-# LINE 61 "src-gen/Graphics/Vulkan/Types/Struct/DebugUtilsMessengerCallbackDataEXT.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "messageIdNumber" Int32 'True 
                                                       (32)
{-# LINE 66 "src-gen/Graphics/Vulkan/Types/Struct/DebugUtilsMessengerCallbackDataEXT.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pMessage" CString 'False 
                                                   (40)
{-# LINE 71 "src-gen/Graphics/Vulkan/Types/Struct/DebugUtilsMessengerCallbackDataEXT.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "queueLabelCount" Word32 'True 
                                                        (48)
{-# LINE 76 "src-gen/Graphics/Vulkan/Types/Struct/DebugUtilsMessengerCallbackDataEXT.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pQueueLabels" (Ptr VkDebugUtilsLabelEXT) 'False
                (56)
{-# LINE 81 "src-gen/Graphics/Vulkan/Types/Struct/DebugUtilsMessengerCallbackDataEXT.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "cmdBufLabelCount" Word32 'True 
                                                         (64)
{-# LINE 86 "src-gen/Graphics/Vulkan/Types/Struct/DebugUtilsMessengerCallbackDataEXT.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pCmdBufLabels" (Ptr VkDebugUtilsLabelEXT) 'False
                (72)
{-# LINE 91 "src-gen/Graphics/Vulkan/Types/Struct/DebugUtilsMessengerCallbackDataEXT.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "objectCount" Word32 'True 
                                                    (80)
{-# LINE 96 "src-gen/Graphics/Vulkan/Types/Struct/DebugUtilsMessengerCallbackDataEXT.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pObjects" (Ptr VkDebugUtilsObjectNameInfoEXT) 'False
                (88)
{-# LINE 101 "src-gen/Graphics/Vulkan/Types/Struct/DebugUtilsMessengerCallbackDataEXT.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True)] -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           'False -- ' closing tick for hsc2hs
           '[] -- ' closing tick for hsc2hs