###############################################################################
# Copyright (c) 2005 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_opengl_internal_motif_GLAWT=flags=no_gen
GLAWT_AWTLock=
GLAWT_AWTLock_0=

GLAWT_AWTUnlock=
GLAWT_AWTUnlock_0=

GLAWT_getAWTDisplay=
GLAWT_getAWTDisplay_0=

GLAWT_getAWTHandle=
GLAWT_getAWTHandle_0=


org_eclipse_swt_opengl_internal_motif_OS=
OS_XCreateGC=
OS_XCreateGC_0=cast=(Display *)
OS_XCreateGC_1=
OS_XCreateGC_2=
OS_XCreateGC_3=

OS_XDefaultDepthOfScreen=
OS_XDefaultDepthOfScreen_0=cast=(Screen *)

OS_XDefaultScreen=
OS_XDefaultScreen_0=cast=(Display *)

OS_XDefaultScreenOfDisplay=
OS_XDefaultScreenOfDisplay_0=cast=(Display *)

OS_XFree=
OS_XFree_0=cast=(void *)

OS_XFreeGC=
OS_XFreeGC_0=cast=(Display *)
OS_XFreeGC_1=cast=(GC)

OS_XSetGraphicsExposures=
OS_XSetGraphicsExposures_0=cast=(Display *)
OS_XSetGraphicsExposures_1=cast=(GC)
OS_XSetGraphicsExposures_2=

OS_XtDisplay=
OS_XtDisplay_0=cast=(Widget)

OS_XtFree=
OS_XtFree_0=cast=(char *)

OS_XtMalloc=
OS_XtMalloc_0=

OS_memmove__I_3II=
OS_memmove__I_3II_0=cast=(void *)
OS_memmove__I_3II_1=cast=(const void *),flags=no_out
OS_memmove__I_3II_2=cast=(size_t)

OS_memmove__Lorg_eclipse_swt_opengl_internal_motif_XVisualInfo_2II=
OS_memmove__Lorg_eclipse_swt_opengl_internal_motif_XVisualInfo_2II_0=cast=(void *),flags=no_in
OS_memmove__Lorg_eclipse_swt_opengl_internal_motif_XVisualInfo_2II_1=cast=(const void *)
OS_memmove__Lorg_eclipse_swt_opengl_internal_motif_XVisualInfo_2II_2=cast=(size_t)

OS_memmove___3III=
OS_memmove___3III_0=cast=(void *),flags=no_in
OS_memmove___3III_1=cast=(const void *)
OS_memmove___3III_2=cast=(size_t)


org_eclipse_swt_opengl_internal_motif_XGCValues=
XGCValues_function=
XGCValues_plane_mask=
XGCValues_foreground=
XGCValues_background=
XGCValues_line_width=
XGCValues_line_style=
XGCValues_cap_style=
XGCValues_join_style=
XGCValues_fill_style=
XGCValues_fill_rule=
XGCValues_arc_mode=
XGCValues_tile=
XGCValues_stipple=
XGCValues_ts_x_origin=
XGCValues_ts_y_origin=
XGCValues_font=
XGCValues_subwindow_mode=
XGCValues_graphics_exposures=
XGCValues_clip_x_origin=
XGCValues_clip_y_origin=
XGCValues_clip_mask=
XGCValues_dash_offset=
XGCValues_dashes=

org_eclipse_swt_opengl_internal_motif_XGL=flags=no_gen
XGL_glXChooseVisual=
XGL_glXChooseVisual_0=
XGL_glXChooseVisual_1=
XGL_glXChooseVisual_2=

XGL_glXCopyContext=
XGL_glXCopyContext_0=
XGL_glXCopyContext_1=
XGL_glXCopyContext_2=
XGL_glXCopyContext_3=

XGL_glXCreateContext=
XGL_glXCreateContext_0=
XGL_glXCreateContext_1=
XGL_glXCreateContext_2=
XGL_glXCreateContext_3=

XGL_glXCreateGLXPixmap=
XGL_glXCreateGLXPixmap_0=
XGL_glXCreateGLXPixmap_1=
XGL_glXCreateGLXPixmap_2=

XGL_glXDestroyContext=
XGL_glXDestroyContext_0=
XGL_glXDestroyContext_1=

XGL_glXDestroyGLXPixmap=
XGL_glXDestroyGLXPixmap_0=
XGL_glXDestroyGLXPixmap_1=

XGL_glXGetClientString=
XGL_glXGetClientString_0=
XGL_glXGetClientString_1=

XGL_glXGetConfig=
XGL_glXGetConfig_0=
XGL_glXGetConfig_1=
XGL_glXGetConfig_2=
XGL_glXGetConfig_3=

XGL_glXGetCurrentContext=

XGL_glXGetCurrentDrawable=

XGL_glXIsDirect=
XGL_glXIsDirect_0=
XGL_glXIsDirect_1=

XGL_glXMakeCurrent=
XGL_glXMakeCurrent_0=
XGL_glXMakeCurrent_1=
XGL_glXMakeCurrent_2=

XGL_glXQueryExtension=
XGL_glXQueryExtension_0=
XGL_glXQueryExtension_1=
XGL_glXQueryExtension_2=

XGL_glXQueryExtensionsString=
XGL_glXQueryExtensionsString_0=
XGL_glXQueryExtensionsString_1=

XGL_glXQueryServerString=
XGL_glXQueryServerString_0=
XGL_glXQueryServerString_1=
XGL_glXQueryServerString_2=

XGL_glXQueryVersion=
XGL_glXQueryVersion_0=
XGL_glXQueryVersion_1=
XGL_glXQueryVersion_2=

XGL_glXSwapBuffers=
XGL_glXSwapBuffers_0=
XGL_glXSwapBuffers_1=

XGL_glXUseXFont=
XGL_glXUseXFont_0=
XGL_glXUseXFont_1=
XGL_glXUseXFont_2=
XGL_glXUseXFont_3=

XGL_glXWaitGL=

XGL_glXWaitX=


org_eclipse_swt_opengl_internal_motif_XVisualInfo=flags=no_gen
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=

