/* WARNING: This is auto-generated file. Do not modify, since changes will
 * be lost! Modify the generating script instead.
 *
 * Generated from Khronos EGL API description (egl.xml) revision 3338ed0db494d6a4db7f76627b38f0b1892db096.
 */
	{ "eglBindAPI",							(deFunctionPtr)eglBindAPI },
	{ "eglBindTexImage",					(deFunctionPtr)eglBindTexImage },
	{ "eglChooseConfig",					(deFunctionPtr)eglChooseConfig },
	{ "eglClientWaitSync",					(deFunctionPtr)eglClientWaitSync },
	{ "eglCopyBuffers",						(deFunctionPtr)eglCopyBuffers },
	{ "eglCreateContext",					(deFunctionPtr)eglCreateContext },
	{ "eglCreateImage",						(deFunctionPtr)eglCreateImage },
	{ "eglCreatePbufferFromClientBuffer",	(deFunctionPtr)eglCreatePbufferFromClientBuffer },
	{ "eglCreatePbufferSurface",			(deFunctionPtr)eglCreatePbufferSurface },
	{ "eglCreatePixmapSurface",				(deFunctionPtr)eglCreatePixmapSurface },
	{ "eglCreatePlatformPixmapSurface",		(deFunctionPtr)eglCreatePlatformPixmapSurface },
	{ "eglCreatePlatformWindowSurface",		(deFunctionPtr)eglCreatePlatformWindowSurface },
	{ "eglCreateSync",						(deFunctionPtr)eglCreateSync },
	{ "eglCreateWindowSurface",				(deFunctionPtr)eglCreateWindowSurface },
	{ "eglDestroyContext",					(deFunctionPtr)eglDestroyContext },
	{ "eglDestroyImage",					(deFunctionPtr)eglDestroyImage },
	{ "eglDestroySurface",					(deFunctionPtr)eglDestroySurface },
	{ "eglDestroySync",						(deFunctionPtr)eglDestroySync },
	{ "eglGetConfigAttrib",					(deFunctionPtr)eglGetConfigAttrib },
	{ "eglGetConfigs",						(deFunctionPtr)eglGetConfigs },
	{ "eglGetCurrentContext",				(deFunctionPtr)eglGetCurrentContext },
	{ "eglGetCurrentDisplay",				(deFunctionPtr)eglGetCurrentDisplay },
	{ "eglGetCurrentSurface",				(deFunctionPtr)eglGetCurrentSurface },
	{ "eglGetDisplay",						(deFunctionPtr)eglGetDisplay },
	{ "eglGetError",						(deFunctionPtr)eglGetError },
	{ "eglGetPlatformDisplay",				(deFunctionPtr)eglGetPlatformDisplay },
	{ "eglGetProcAddress",					(deFunctionPtr)eglGetProcAddress },
	{ "eglGetSyncAttrib",					(deFunctionPtr)eglGetSyncAttrib },
	{ "eglInitialize",						(deFunctionPtr)eglInitialize },
	{ "eglMakeCurrent",						(deFunctionPtr)eglMakeCurrent },
	{ "eglQueryAPI",						(deFunctionPtr)eglQueryAPI },
	{ "eglQueryContext",					(deFunctionPtr)eglQueryContext },
	{ "eglQueryString",						(deFunctionPtr)eglQueryString },
	{ "eglQuerySurface",					(deFunctionPtr)eglQuerySurface },
	{ "eglReleaseTexImage",					(deFunctionPtr)eglReleaseTexImage },
	{ "eglReleaseThread",					(deFunctionPtr)eglReleaseThread },
	{ "eglSurfaceAttrib",					(deFunctionPtr)eglSurfaceAttrib },
	{ "eglSwapBuffers",						(deFunctionPtr)eglSwapBuffers },
	{ "eglSwapInterval",					(deFunctionPtr)eglSwapInterval },
	{ "eglTerminate",						(deFunctionPtr)eglTerminate },
	{ "eglWaitClient",						(deFunctionPtr)eglWaitClient },
	{ "eglWaitGL",							(deFunctionPtr)eglWaitGL },
	{ "eglWaitNative",						(deFunctionPtr)eglWaitNative },
	{ "eglWaitSync",						(deFunctionPtr)eglWaitSync },
