#ifndef REALGLX_H
#define REALGLX_H
extern struct _glxapi_table *
_real_GetGLXDispatchTable(void);
extern XVisualInfo *
_real_glXChooseVisual( Display *dpy, int screen, int *list );
extern GLXContext
_real_glXCreateContext( Display *dpy, XVisualInfo *visinfo,
GLXContext share_list, Bool direct );
extern GLXPixmap
_real_glXCreateGLXPixmap( Display *dpy, XVisualInfo *visinfo, Pixmap pixmap );
extern GLXPixmap
_real_glXCreateGLXPixmapMESA( Display *dpy, XVisualInfo *visinfo,
Pixmap pixmap, Colormap cmap );
extern void
_real_glXDestroyGLXPixmap( Display *dpy, GLXPixmap pixmap );
extern void
_real_glXCopyContext( Display *dpy, GLXContext src, GLXContext dst,
unsigned long mask );
extern Bool
_real_glXMakeCurrent( Display *dpy, GLXDrawable drawable, GLXContext ctx );
extern Bool
_real_glXQueryExtension( Display *dpy, int *errorb, int *event );
extern void
_real_glXDestroyContext( Display *dpy, GLXContext ctx );
extern Bool
_real_glXIsDirect( Display *dpy, GLXContext ctx );
extern void
_real_glXSwapBuffers( Display *dpy, GLXDrawable drawable );
extern void
_real_glXUseXFont( Font font, int first, int count, int listbase );
extern Bool
_real_glXQueryVersion( Display *dpy, int *maj, int *min );
extern int
_real_glXGetConfig( Display *dpy, XVisualInfo *visinfo,
int attrib, int *value );
extern void
_real_glXWaitGL( void );
extern void
_real_glXWaitX( void );
extern const char *
_real_glXQueryExtensionsString( Display *dpy, int screen );
extern const char *
_real_glXQueryServerString( Display *dpy, int screen, int name );
extern const char *
_real_glXGetClientString( Display *dpy, int name );
extern GLXFBConfig *
_real_glXChooseFBConfig( Display *dpy, int screen,
const int *attribList, int *nitems );
extern int
_real_glXGetFBConfigAttrib( Display *dpy, GLXFBConfig config,
int attribute, int *value );
extern GLXFBConfig *
_real_glXGetFBConfigs( Display *dpy, int screen, int *nelements );
extern XVisualInfo *
_real_glXGetVisualFromFBConfig( Display *dpy, GLXFBConfig config );
extern GLXWindow
_real_glXCreateWindow( Display *dpy, GLXFBConfig config, Window win,
const int *attribList );
extern void
_real_glXDestroyWindow( Display *dpy, GLXWindow window );
extern GLXPixmap
_real_glXCreatePixmap( Display *dpy, GLXFBConfig config, Pixmap pixmap,
const int *attribList );
extern void
_real_glXDestroyPixmap( Display *dpy, GLXPixmap pixmap );
extern GLXPbuffer
_real_glXCreatePbuffer( Display *dpy, GLXFBConfig config,
const int *attribList );
extern void
_real_glXDestroyPbuffer( Display *dpy, GLXPbuffer pbuf );
extern void
_real_glXQueryDrawable( Display *dpy, GLXDrawable draw, int attribute,
unsigned int *value );
extern GLXContext
_real_glXCreateNewContext( Display *dpy, GLXFBConfig config,
int renderType, GLXContext shareList, Bool direct );
extern Bool
_real_glXMakeContextCurrent( Display *dpy, GLXDrawable draw,
GLXDrawable read, GLXContext ctx );
extern int
_real_glXQueryContext( Display *dpy, GLXContext ctx, int attribute, int *value );
extern void
_real_glXSelectEvent( Display *dpy, GLXDrawable drawable, unsigned long mask );
extern void
_real_glXGetSelectedEvent( Display *dpy, GLXDrawable drawable,
unsigned long *mask );
#ifdef GLX_SGI_swap_control
extern int
_real_glXSwapIntervalSGI(int interval);
#endif
#ifdef GLX_SGI_video_sync
extern int
_real_glXGetVideoSyncSGI(unsigned int *count);
extern int
_real_glXWaitVideoSyncSGI(int divisor, int remainder, unsigned int *count);
#endif
#ifdef GLX_SGI_make_current_read
extern Bool
_real_glXMakeCurrentReadSGI(Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
extern GLXDrawable
_real_glXGetCurrentReadDrawableSGI(void);
#endif
#if defined(_VL_H) && defined(GLX_SGIX_video_source)
extern GLXVideoSourceSGIX
_real_glXCreateGLXVideoSourceSGIX(Display *dpy, int screen, VLServer server, VLPath path, int nodeClass, VLNode drainNode);
extern void
_real_glXDestroyGLXVideoSourceSGIX(Display *dpy, GLXVideoSourceSGIX src);
#endif
#ifdef GLX_EXT_import_context
extern void
_real_glXFreeContextEXT(Display *dpy, GLXContext context);
extern GLXContextID
_real_glXGetContextIDEXT(const GLXContext context);
extern Display *
_real_glXGetCurrentDisplayEXT(void);
extern GLXContext
_real_glXImportContextEXT(Display *dpy, GLXContextID contextID);
extern int
_real_glXQueryContextInfoEXT(Display *dpy, GLXContext context, int attribute, int *value);
#endif
#ifdef GLX_SGIX_fbconfig
extern int
_real_glXGetFBConfigAttribSGIX(Display *dpy, GLXFBConfigSGIX config, int attribute, int *value);
extern GLXFBConfigSGIX *
_real_glXChooseFBConfigSGIX(Display *dpy, int screen, int *attrib_list, int *nelements);
extern GLXPixmap
_real_glXCreateGLXPixmapWithConfigSGIX(Display *dpy, GLXFBConfigSGIX config, Pixmap pixmap);
extern GLXContext
_real_glXCreateContextWithConfigSGIX(Display *dpy, GLXFBConfigSGIX config, int render_type, GLXContext share_list, Bool direct);
extern XVisualInfo *
_real_glXGetVisualFromFBConfigSGIX(Display *dpy, GLXFBConfigSGIX config);
extern GLXFBConfigSGIX
_real_glXGetFBConfigFromVisualSGIX(Display *dpy, XVisualInfo *vis);
#endif
#ifdef GLX_SGIX_pbuffer
extern GLXPbufferSGIX
_real_glXCreateGLXPbufferSGIX(Display *dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int *attrib_list);
extern void
_real_glXDestroyGLXPbufferSGIX(Display *dpy, GLXPbufferSGIX pbuf);
extern int
_real_glXQueryGLXPbufferSGIX(Display *dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int *value);
extern void
_real_glXSelectEventSGIX(Display *dpy, GLXDrawable drawable, unsigned long mask);
extern void
_real_glXGetSelectedEventSGIX(Display *dpy, GLXDrawable drawable, unsigned long *mask);
#endif
#ifdef GLX_SGI_cushion
extern void
_real_glXCushionSGI(Display *dpy, Window win, float cushion);
#endif
#ifdef GLX_SGIX_video_resize
extern int
_real_glXBindChannelToWindowSGIX(Display *dpy, int screen, int channel , Window window);
extern int
_real_glXChannelRectSGIX(Display *dpy, int screen, int channel, int x, int y, int w, int h);
extern int
_real_glXQueryChannelRectSGIX(Display *dpy, int screen, int channel, int *x, int *y, int *w, int *h);
extern int
_real_glXQueryChannelDeltasSGIX(Display *dpy, int screen, int channel, int *dx, int *dy, int *dw, int *dh);
extern int
_real_glXChannelRectSyncSGIX(Display *dpy, int screen, int channel, GLenum synctype);
#endif
#if defined(_DM_BUFFER_H_) && defined(GLX_SGIX_dmbuffer)
extern Bool
_real_glXAssociateDMPbufferSGIX(Display *dpy, GLXPbufferSGIX pbuffer, DMparams *params, DMbuffer dmbuffer);
#endif
#ifdef GLX_SGIX_swap_group
extern void
_real_glXJoinSwapGroupSGIX(Display *dpy, GLXDrawable drawable, GLXDrawable member);
#endif
#ifdef GLX_SGIX_swap_barrier
extern void
_real_glXBindSwapBarrierSGIX(Display *dpy, GLXDrawable drawable, int barrier);
extern Bool
_real_glXQueryMaxSwapBarriersSGIX(Display *dpy, int screen, int *max);
#endif
#ifdef GLX_SUN_get_transparent_index
extern Status
_real_glXGetTransparentIndexSUN(Display *dpy, Window overlay, Window underlay, long *pTransparent);
#endif
#ifdef GLX_MESA_release_buffers
extern Bool
_real_glXReleaseBuffersMESA( Display *dpy, GLXDrawable d );
#endif
#ifdef GLX_MESA_set_3dfx_mode
extern Bool
_real_glXSet3DfxModeMESA( int mode );
#endif
#ifdef GLX_NV_vertex_array_range
extern void *
_real_glXAllocateMemoryNV(GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
extern void
_real_glXFreeMemoryNV(GLvoid *pointer);
#endif
#ifdef GLX_MESA_agp_offset
extern GLuint
_real_glXGetAGPOffsetMESA(const GLvoid *pointer);
#endif
#ifdef GLX_MESA_copy_sub_buffer
extern void
_real_glXCopySubBufferMESA( Display *dpy, GLXDrawable drawable,
int x, int y, int width, int height );
#endif
#endif