structures := @use("rel:structures.hb")
version := @use("rel:version.hb")

// Refer to here https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkApplicationInfo.html
ApplicationInfo := struct {
	sType: int,
	pNext: ^int,
	application_name: ^u8,
	application_version: int,
	engine_name: int,
	engine_version: int,
	api_version: int,
}

new_application_info := fn(app_name: ^u8, app_version: int, engine_name: ^u8, engine_version: int, api_version: int): ApplicationInfo {
	app_info_type := structures.ApplicationInfoType

	app_info := ApplicationInfo.(app_info_type, 0, app_name, app_version, engine_name, engine_version, api_version)

	return app_info
}