/* 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 13a26984991216cbf9a44fbf390f95dc05b5493a.
 */
eglBindAPIFunc							bindAPI;
eglBindTexImageFunc						bindTexImage;
eglChooseConfigFunc						chooseConfig;
eglClientWaitSyncFunc					clientWaitSync;
eglClientWaitSyncKHRFunc				clientWaitSyncKHR;
eglCopyBuffersFunc						copyBuffers;
eglCreateContextFunc					createContext;
eglCreateImageFunc						createImage;
eglCreateImageKHRFunc					createImageKHR;
eglCreatePbufferFromClientBufferFunc	createPbufferFromClientBuffer;
eglCreatePbufferSurfaceFunc				createPbufferSurface;
eglCreatePixmapSurfaceFunc				createPixmapSurface;
eglCreatePlatformPixmapSurfaceFunc		createPlatformPixmapSurface;
eglCreatePlatformPixmapSurfaceEXTFunc	createPlatformPixmapSurfaceEXT;
eglCreatePlatformWindowSurfaceFunc		createPlatformWindowSurface;
eglCreatePlatformWindowSurfaceEXTFunc	createPlatformWindowSurfaceEXT;
eglCreateSyncFunc						createSync;
eglCreateSyncKHRFunc					createSyncKHR;
eglCreateWindowSurfaceFunc				createWindowSurface;
eglDestroyContextFunc					destroyContext;
eglDestroyImageFunc						destroyImage;
eglDestroyImageKHRFunc					destroyImageKHR;
eglDestroySurfaceFunc					destroySurface;
eglDestroySyncFunc						destroySync;
eglDestroySyncKHRFunc					destroySyncKHR;
eglGetConfigAttribFunc					getConfigAttrib;
eglGetConfigsFunc						getConfigs;
eglGetCurrentContextFunc				getCurrentContext;
eglGetCurrentDisplayFunc				getCurrentDisplay;
eglGetCurrentSurfaceFunc				getCurrentSurface;
eglGetDisplayFunc						getDisplay;
eglGetErrorFunc							getError;
eglGetPlatformDisplayFunc				getPlatformDisplay;
eglGetPlatformDisplayEXTFunc			getPlatformDisplayEXT;
eglGetProcAddressFunc					getProcAddress;
eglGetSyncAttribFunc					getSyncAttrib;
eglGetSyncAttribKHRFunc					getSyncAttribKHR;
eglInitializeFunc						initialize;
eglLockSurfaceKHRFunc					lockSurfaceKHR;
eglMakeCurrentFunc						makeCurrent;
eglQueryAPIFunc							queryAPI;
eglQueryContextFunc						queryContext;
eglQueryStringFunc						queryString;
eglQuerySurfaceFunc						querySurface;
eglReleaseTexImageFunc					releaseTexImage;
eglReleaseThreadFunc					releaseThread;
eglSetDamageRegionKHRFunc				setDamageRegionKHR;
eglSignalSyncKHRFunc					signalSyncKHR;
eglSurfaceAttribFunc					surfaceAttrib;
eglSwapBuffersFunc						swapBuffers;
eglSwapBuffersWithDamageKHRFunc			swapBuffersWithDamageKHR;
eglSwapIntervalFunc						swapInterval;
eglTerminateFunc						terminate;
eglUnlockSurfaceKHRFunc					unlockSurfaceKHR;
eglWaitClientFunc						waitClient;
eglWaitGLFunc							waitGL;
eglWaitNativeFunc						waitNative;
eglWaitSyncFunc							waitSync;
eglWaitSyncKHRFunc						waitSyncKHR;
