/* WARNING: This is auto-generated file. Do not modify, since changes will
 * be lost! Modify the generating script instead.
 * This file was generated by /scripts/gen_framework.py
 */
CreateInstanceFunc							createInstance;
GetInstanceProcAddrFunc						getInstanceProcAddr;
EnumerateInstanceExtensionPropertiesFunc	enumerateInstanceExtensionProperties;
EnumerateInstanceLayerPropertiesFunc		enumerateInstanceLayerProperties;
EnumerateInstanceVersionFunc				enumerateInstanceVersion;
