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


{-# LANGUAGE DataKinds             #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict                #-}
{-# LANGUAGE TypeFamilies          #-}
module Graphics.Vulkan.Types.Struct.ApplicationInfo
       (VkApplicationInfo) where
import Graphics.Vulkan.Marshal
import Graphics.Vulkan.Marshal.Internal
import Graphics.Vulkan.Types.Enum.StructureType (VkStructureType)

-- | > typedef struct VkApplicationInfo {
--   >     VkStructureType sType;
--   >     const void*     pNext;
--   >     const char*     pApplicationName;
--   >     uint32_t        applicationVersion;
--   >     const char*     pEngineName;
--   >     uint32_t        engineVersion;
--   >     uint32_t        apiVersion;
--   > } VkApplicationInfo;
--
--   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkApplicationInfo VkApplicationInfo registry at www.khronos.org>
type VkApplicationInfo = VkStruct VkApplicationInfo' -- ' closing tick for hsc2hs

data VkApplicationInfo' -- ' closing tick for hsc2hs

instance VulkanMarshal VkApplicationInfo where
    type StructRep VkApplicationInfo =
         'StructMeta "VkApplicationInfo" VkApplicationInfo  -- ' closing tick for hsc2hs
                                                           (48)
{-# LINE 33 "src-gen/Graphics/Vulkan/Types/Struct/ApplicationInfo.hsc" #-}
           8
{-# LINE 34 "src-gen/Graphics/Vulkan/Types/Struct/ApplicationInfo.hsc" #-}
           '[('FieldMeta "sType" VkStructureType 'False  -- ' closing tick for hsc2hs
                                                        (0)
{-# LINE 36 "src-gen/Graphics/Vulkan/Types/Struct/ApplicationInfo.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pNext" (Ptr Void) 'False 
                                                   (8)
{-# LINE 41 "src-gen/Graphics/Vulkan/Types/Struct/ApplicationInfo.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pApplicationName" CString 'True 
                                                          (16)
{-# LINE 46 "src-gen/Graphics/Vulkan/Types/Struct/ApplicationInfo.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "applicationVersion" Word32 'False 
                                                            (24)
{-# LINE 51 "src-gen/Graphics/Vulkan/Types/Struct/ApplicationInfo.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "pEngineName" CString 'True 
                                                     (32)
{-# LINE 56 "src-gen/Graphics/Vulkan/Types/Struct/ApplicationInfo.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "engineVersion" Word32 'False 
                                                       (40)
{-# LINE 61 "src-gen/Graphics/Vulkan/Types/Struct/ApplicationInfo.hsc" #-}
                1
                'True -- ' closing tick for hsc2hs
                'True), -- ' closing tick for hsc2hs
             ('FieldMeta "apiVersion" Word32 'False 
                                                    (44)
{-# LINE 66 "src-gen/Graphics/Vulkan/Types/Struct/ApplicationInfo.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