#ifndef CLIB_EGL_PROTOS_H
#define CLIB_EGL_PROTOS_H

/*
    *** Automatically generated from '/data/deadwood/gitAROS/AROS/workbench/libs/mesa/src/aros/egl/egl.conf'. Edits will be lost. ***
    Copyright © 1995-2011, The AROS Development Team. All rights reserved.
*/

#include <aros/libcall.h>

#include <EGL/egl.h>

__BEGIN_DECLS

AROS_LP0(EGLint, eglGetError,
         LIBBASETYPEPTR, EglBase, 35, Egl
);
AROS_LP1(EGLDisplay, eglGetDisplay,
         AROS_LPA(EGLNativeDisplayType, display_id, D0),
         LIBBASETYPEPTR, EglBase, 36, Egl
);
AROS_LP3(EGLBoolean, eglInitialize,
         AROS_LPA(EGLDisplay, dpy, D0),
         AROS_LPA(EGLint *, major, A0),
         AROS_LPA(EGLint *, minor, A1),
         LIBBASETYPEPTR, EglBase, 37, Egl
);
AROS_LP1(EGLBoolean, eglTerminate,
         AROS_LPA(EGLDisplay, dpy, D0),
         LIBBASETYPEPTR, EglBase, 38, Egl
);
AROS_LP2(const char *, eglQueryString,
         AROS_LPA(EGLDisplay, dpy, D0),
         AROS_LPA(EGLint, name, D1),
         LIBBASETYPEPTR, EglBase, 39, Egl
);
AROS_LP4(EGLBoolean, eglGetConfigs,
         AROS_LPA(EGLDisplay, dpy, D0),
         AROS_LPA(EGLConfig *, configs, A0),
         AROS_LPA(EGLint, config_size, D1),
         AROS_LPA(EGLint *, num_config, A1),
         LIBBASETYPEPTR, EglBase, 40, Egl
);
AROS_LP5(EGLBoolean, eglChooseConfig,
         AROS_LPA(EGLDisplay, dpy, D0),
         AROS_LPA(const EGLint *, attrib_list, A0),
         AROS_LPA(EGLConfig *, configs, A1),
         AROS_LPA(EGLint, config_size, D1),
         AROS_LPA(EGLint *, num_config, A2),
         LIBBASETYPEPTR, EglBase, 41, Egl
);
AROS_LP4(EGLBoolean, eglGetConfigAttrib,
         AROS_LPA(EGLDisplay, dpy, D0),
         AROS_LPA(EGLConfig, config, D1),
         AROS_LPA(EGLint, attribute, D2),
         AROS_LPA(EGLint *, value, A0),
         LIBBASETYPEPTR, EglBase, 42, Egl
);
AROS_LP4(EGLSurface, eglCreateWindowSurface,
         AROS_LPA(EGLDisplay, dpy, D0),
         AROS_LPA(EGLConfig, config, D1),
         AROS_LPA(EGLNativeWindowType, win, D2),
         AROS_LPA(const EGLint *, attrib_list, A0),
         LIBBASETYPEPTR, EglBase, 43, Egl
);
AROS_LP3(EGLSurface, eglCreatePbufferSurface,
         AROS_LPA(EGLDisplay, dpy, D0),
         AROS_LPA(EGLConfig, config, D1),
         AROS_LPA(const EGLint *, attrib_list, A0),
         LIBBASETYPEPTR, EglBase, 44, Egl
);
AROS_LP4(EGLSurface, eglCreatePixmapSurface,
         AROS_LPA(EGLDisplay, dpy, D0),
         AROS_LPA(EGLConfig, config, D1),
         AROS_LPA(EGLNativePixmapType, pixmap, D2),
         AROS_LPA(const EGLint *, attrib_list, A0),
         LIBBASETYPEPTR, EglBase, 45, Egl
);
AROS_LP2(EGLBoolean, eglDestroySurface,
         AROS_LPA(EGLDisplay, dpy, D0),
         AROS_LPA(EGLSurface, surface, D1),
         LIBBASETYPEPTR, EglBase, 46, Egl
);
AROS_LP4(EGLBoolean, eglQuerySurface,
         AROS_LPA(EGLDisplay, dpy, D0),
         AROS_LPA(EGLSurface, surface, D1),
         AROS_LPA(EGLint, attribute, D2),
         AROS_LPA(EGLint *, value, A0),
         LIBBASETYPEPTR, EglBase, 47, Egl
);
AROS_LP1(EGLBoolean, eglBindAPI,
         AROS_LPA(EGLenum, api, D0),
         LIBBASETYPEPTR, EglBase, 48, Egl
);
AROS_LP0(EGLenum, eglQueryAPI,
         LIBBASETYPEPTR, EglBase, 49, Egl
);
AROS_LP0(EGLBoolean, eglWaitClient,
         LIBBASETYPEPTR, EglBase, 50, Egl
);
AROS_LP0(EGLBoolean, eglReleaseThread,
         LIBBASETYPEPTR, EglBase, 51, Egl
);
AROS_LP5(EGLSurface, eglCreatePbufferFromClientBuffer,
         AROS_LPA(EGLDisplay, dpy, D0),
         AROS_LPA(EGLenum, buftype, D1),
         AROS_LPA(EGLClientBuffer, buffer, D2),
         AROS_LPA(EGLConfig, config, D3),
         AROS_LPA(const EGLint *, attrib_list, A0),
         LIBBASETYPEPTR, EglBase, 52, Egl
);
AROS_LP4(EGLBoolean, eglSurfaceAttrib,
         AROS_LPA(EGLDisplay, dpy, D0),
         AROS_LPA(EGLSurface, surface, D1),
         AROS_LPA(EGLint, attribute, D2),
         AROS_LPA(EGLint, value, D3),
         LIBBASETYPEPTR, EglBase, 53, Egl
);
AROS_LP3(EGLBoolean, eglBindTexImage,
         AROS_LPA(EGLDisplay, dpy, D0),
         AROS_LPA(EGLSurface, surface, D1),
         AROS_LPA(EGLint, buffer, D2),
         LIBBASETYPEPTR, EglBase, 54, Egl
);
AROS_LP3(EGLBoolean, eglReleaseTexImage,
         AROS_LPA(EGLDisplay, dpy, D0),
         AROS_LPA(EGLSurface, surface, D1),
         AROS_LPA(EGLint, buffer, D2),
         LIBBASETYPEPTR, EglBase, 55, Egl
);
AROS_LP2(EGLBoolean, eglSwapInterval,
         AROS_LPA(EGLDisplay, dpy, D0),
         AROS_LPA(EGLint, interval, D1),
         LIBBASETYPEPTR, EglBase, 56, Egl
);
AROS_LP4(EGLContext, eglCreateContext,
         AROS_LPA(EGLDisplay, dpy, D0),
         AROS_LPA(EGLConfig, config, D1),
         AROS_LPA(EGLContext, share_context, D2),
         AROS_LPA(const EGLint *, attrib_list, A0),
         LIBBASETYPEPTR, EglBase, 57, Egl
);
AROS_LP2(EGLBoolean, eglDestroyContext,
         AROS_LPA(EGLDisplay, dpy, D0),
         AROS_LPA(EGLContext, ctx, D1),
         LIBBASETYPEPTR, EglBase, 58, Egl
);
AROS_LP4(EGLBoolean, eglMakeCurrent,
         AROS_LPA(EGLDisplay, dpy, D0),
         AROS_LPA(EGLSurface, draw, D1),
         AROS_LPA(EGLSurface, read, D2),
         AROS_LPA(EGLContext, ctx, D3),
         LIBBASETYPEPTR, EglBase, 59, Egl
);
AROS_LP0(EGLContext, eglGetCurrentContext,
         LIBBASETYPEPTR, EglBase, 60, Egl
);
AROS_LP1(EGLSurface, eglGetCurrentSurface,
         AROS_LPA(EGLint, readdraw, D0),
         LIBBASETYPEPTR, EglBase, 61, Egl
);
AROS_LP0(EGLDisplay, eglGetCurrentDisplay,
         LIBBASETYPEPTR, EglBase, 62, Egl
);
AROS_LP4(EGLBoolean, eglQueryContext,
         AROS_LPA(EGLDisplay, dpy, D0),
         AROS_LPA(EGLContext, ctx, D1),
         AROS_LPA(EGLint, attribute, D2),
         AROS_LPA(EGLint *, value, A0),
         LIBBASETYPEPTR, EglBase, 63, Egl
);
AROS_LP0(EGLBoolean, eglWaitGL,
         LIBBASETYPEPTR, EglBase, 64, Egl
);
AROS_LP1(EGLBoolean, eglWaitNative,
         AROS_LPA(EGLint, engine, D0),
         LIBBASETYPEPTR, EglBase, 65, Egl
);
AROS_LP2(EGLBoolean, eglSwapBuffers,
         AROS_LPA(EGLDisplay, dpy, D0),
         AROS_LPA(EGLSurface, surface, D1),
         LIBBASETYPEPTR, EglBase, 66, Egl
);
AROS_LP3(EGLBoolean, eglCopyBuffers,
         AROS_LPA(EGLDisplay, dpy, D0),
         AROS_LPA(EGLSurface, surface, D1),
         AROS_LPA(EGLNativePixmapType, target, D2),
         LIBBASETYPEPTR, EglBase, 67, Egl
);

__END_DECLS

#endif /* CLIB_EGL_PROTOS_H */
