###############################################################################
# Copyright (c) 2000, 2006 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
org_eclipse_swt_internal_opengl_glx_GLX=
GLX_XVisualInfo_sizeof=

GLX_glGetIntegerv=
GLX_glGetIntegerv_0=cast=(GLenum)
GLX_glGetIntegerv_1=cast=(GLint *),flags=no_in

GLX_glViewport=
GLX_glViewport_0=cast=(GLint)
GLX_glViewport_1=cast=(GLint)
GLX_glViewport_2=cast=(GLsizei)
GLX_glViewport_3=cast=(GLsizei)

GLX_glXChooseVisual=
GLX_glXChooseVisual_0=cast=(Display *)
GLX_glXChooseVisual_1=
GLX_glXChooseVisual_2=

GLX_glXCopyContext=
GLX_glXCopyContext_0=cast=(Display *)
GLX_glXCopyContext_1=cast=(GLXContext)
GLX_glXCopyContext_2=cast=(GLXContext)
GLX_glXCopyContext_3=

GLX_glXCreateContext=
GLX_glXCreateContext_0=cast=(Display *)
GLX_glXCreateContext_1=
GLX_glXCreateContext_2=cast=(GLXContext)
GLX_glXCreateContext_3=

GLX_glXCreateGLXPixmap=
GLX_glXCreateGLXPixmap_0=cast=(Display *)
GLX_glXCreateGLXPixmap_1=
GLX_glXCreateGLXPixmap_2=cast=(Pixmap)

GLX_glXDestroyContext=
GLX_glXDestroyContext_0=cast=(Display *)
GLX_glXDestroyContext_1=cast=(GLXContext)

GLX_glXDestroyGLXPixmap=
GLX_glXDestroyGLXPixmap_0=cast=(Display *)
GLX_glXDestroyGLXPixmap_1=cast=(GLXPixmap)

GLX_glXGetClientString=
GLX_glXGetClientString_0=cast=(Display *)
GLX_glXGetClientString_1=

GLX_glXGetConfig=
GLX_glXGetConfig_0=cast=(Display *)
GLX_glXGetConfig_1=
GLX_glXGetConfig_2=
GLX_glXGetConfig_3=

GLX_glXGetCurrentContext=

GLX_glXGetCurrentDrawable=

GLX_glXIsDirect=
GLX_glXIsDirect_0=cast=(Display *)
GLX_glXIsDirect_1=cast=(GLXContext)

GLX_glXMakeCurrent=
GLX_glXMakeCurrent_0=cast=(Display *)
GLX_glXMakeCurrent_1=cast=(GLXDrawable)
GLX_glXMakeCurrent_2=cast=(GLXContext)

GLX_glXQueryExtension=
GLX_glXQueryExtension_0=cast=(Display *)
GLX_glXQueryExtension_1=
GLX_glXQueryExtension_2=

GLX_glXQueryExtensionsString=
GLX_glXQueryExtensionsString_0=cast=(Display *)
GLX_glXQueryExtensionsString_1=

GLX_glXQueryServerString=
GLX_glXQueryServerString_0=cast=(Display *)
GLX_glXQueryServerString_1=
GLX_glXQueryServerString_2=

GLX_glXQueryVersion=
GLX_glXQueryVersion_0=cast=(Display *)
GLX_glXQueryVersion_1=flags=no_in
GLX_glXQueryVersion_2=flags=no_in

GLX_glXSwapBuffers=
GLX_glXSwapBuffers_0=cast=(Display *)
GLX_glXSwapBuffers_1=cast=(GLXDrawable)

GLX_glXWaitGL=

GLX_glXWaitX=

GLX_memmove=
GLX_memmove_0=
GLX_memmove_1=cast=(const void *)
GLX_memmove_2=cast=(size_t)


org_eclipse_swt_internal_opengl_glx_XVisualInfo=
XVisualInfo_visual=cast=(Visual *)
XVisualInfo_visualid=
XVisualInfo_screen=
XVisualInfo_depth=
XVisualInfo_cclass=accessor=class
XVisualInfo_red_mask=
XVisualInfo_green_mask=
XVisualInfo_blue_mask=
XVisualInfo_colormap_size=
XVisualInfo_bits_per_rgb=

