loader: Add structures to support new init method

These structures will be used to extend CreateInstance
and CreateDevice to support layers. The loader will
create a chain of these structures - one per layer -
that tells the layer the Get*ProcAddr for the next
lower part.
diff --git a/include/vulkan/vk_layer.h b/include/vulkan/vk_layer.h
index aeb6ab9..6899182 100644
--- a/include/vulkan/vk_layer.h
+++ b/include/vulkan/vk_layer.h
@@ -222,4 +222,29 @@
 } VkLayerDbgAction;
 
 // ------------------------------------------------------------------------------------------------
+// CreateInstance and CreateDevice support structures
+typedef struct VkLayerInstanceLink_ {
+    struct VkLayerInstanceLink_* pNext;
+    PFN_vkGetInstanceProcAddr pfnNextGetInstanceProcAddr;
+} VkLayerInstanceLink;
+
+typedef struct {
+    VkStructureType sType; // VK_STRUCTURE_TYPE_LAYER_INSTANCE_CREATE_INFO
+    const void* pNext;
+    VkLayerInstanceLink* pLayerInfo;
+} VkLayerInstanceCreateInfo;
+
+typedef struct VkLayerDeviceLink_ {
+    struct VkLayerDeviceLink_* pNext;
+    PFN_vkGetInstanceProcAddr pfnNextGetInstanceProcAddr;
+    PFN_vkGetDeviceProcAddr pfnNextGetDeviceProcAddr;
+} VkLayerDeviceLink;
+
+typedef struct {
+    VkStructureType sType; // VK_STRUCTURE_TYPE_LAYER_DEVICE_CREATE_INFO
+    const void* pNext;
+    VkLayerDeviceLink* pLayerInfo;
+} VkLayerDeviceCreateInfo;
+
+// ------------------------------------------------------------------------------------------------
 // API functions