TARGET_LFLAGS = -lgdi32 -lntdll
-TARGET_SDKLIBS = opengl32.a gdi32.a ntdll.a
+TARGET_SDKLIBS = gdi32.a ntdll.a
# ntdll.a gdi32.a - may still need these
TARGET_OBJECTS = \
gl.o \
opengl32.o \
- wgl.o
+ wgl.o \
+ tebimports.o
DEP_OBJECTS = $(TARGET_OBJECTS)
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
-#include <ntos/types.h>
-#include <napi/teb.h>
+#include "teb.h"
#include "opengl32.h"
-/* GL data types - x86 typedefs */
-typedef unsigned int GLenum;
-typedef unsigned char GLboolean;
-typedef unsigned int GLbitfield;
-typedef signed char GLbyte;
-typedef short GLshort;
-typedef int GLint;
-typedef int GLsizei;
-typedef unsigned char GLubyte;
-typedef unsigned short GLushort;
-typedef unsigned int GLuint;
-typedef unsigned short GLhalf;
-typedef float GLfloat;
-typedef float GLclampf;
-typedef double GLdouble;
-typedef double GLclampd;
-typedef void GLvoid;
-
int STDCALL glEmptyFunc0() { return 0; }
int STDCALL glEmptyFunc4( long l1 ) { return 0; }
int STDCALL glEmptyFunc8( long l1, long l2 ) { return 0; }
long l11, long l12, long l13, long l14 )
{ return 0; }
-
+#if !defined(_M_IX86)
# define X(func, ret, typeargs, args, icdidx, tebidx, stack) \
ret STDCALL func typeargs \
{ \
GLFUNCS_MACRO
+#undef X
+#endif//non-x86 architectures
+
+/* FIXME - change this code to lookup slow table and jump - probably needs to go in nasm */
+#define X(func,ret,typeargs,args,icdidx,stack) EXPORT ret STDCALL func typeargs { return 0; }
+#define XVOID(func,typeargs,args,icdidx,stack) EXPORT void STDCALL func typeargs {}
+#include "slowlist.h"
+#undef XVOID
#undef X
/* EOF */
--- /dev/null
+;GLFUNC name,icdidx,tebidx,stack
+GLFUNC glAccum,213,-1,8
+GLFUNC glAlphaFunc,240,-1,8
+GLFUNC glAreTexturesResident,322,-1,12
+GLFUNC glArrayElement,306,144,4
+GLFUNC glBegin,7,2,4
+GLFUNC glBindTexture,307,145,8
+GLFUNC glBitmap,8,-1,28
+GLFUNC glBlendFunc,241,-1,8
+GLFUNC glCallList,2,0,4
+GLFUNC glCallLists,3,1,12
+GLFUNC glClear,203,-1,4
+GLFUNC glClearAccum,204,-1,16
+GLFUNC glClearColor,206,-1,16
+GLFUNC glClearDepth,208,-1,8
+GLFUNC glClearIndex,205,-1,4
+GLFUNC glClearStencil,207,-1,4
+GLFUNC glClipPlane,150,-1,8
+GLFUNC glColor3b,9,3,12
+GLFUNC glColor3bv,10,4,4
+GLFUNC glColor3d,11,5,24
+GLFUNC glColor3dv,12,6,4
+GLFUNC glColor3f,13,7,12
+GLFUNC glColor3fv,14,8,4
+GLFUNC glColor3i,15,9,12
+GLFUNC glColor3iv,16,10,4
+GLFUNC glColor3s,17,11,12
+GLFUNC glColor3sv,18,12,4
+GLFUNC glColor3ub,19,13,12
+GLFUNC glColor3ubv,20,14,4
+GLFUNC glColor3ui,21,15,12
+GLFUNC glColor3uiv,22,16,4
+GLFUNC glColor3us,23,17,12
+GLFUNC glColor3usv,24,18,4
+GLFUNC glColor4b,25,19,16
+GLFUNC glColor4bv,26,20,4
+GLFUNC glColor4d,27,21,32
+GLFUNC glColor4dv,28,22,4
+GLFUNC glColor4f,29,23,16
+GLFUNC glColor4fv,30,24,4
+GLFUNC glColor4i,31,25,16
+GLFUNC glColor4iv,32,26,4
+GLFUNC glColor4s,33,27,16
+GLFUNC glColor4sv,34,28,4
+GLFUNC glColor4ub,35,29,16
+GLFUNC glColor4ubv,36,30,4
+GLFUNC glColor4ui,37,31,16
+GLFUNC glColor4uiv,38,32,4
+GLFUNC glColor4us,39,33,16
+GLFUNC glColor4usv,40,34,4
+GLFUNC glColorMask,210,-1,16
+GLFUNC glColorMaterial,151,-1,8
+GLFUNC glColorPointer,308,146,16
+GLFUNC glCopyPixels,255,-1,20
+GLFUNC glCopyTexImage1D,323,-1,28
+GLFUNC glCopyTexImage2D,324,-1,32
+GLFUNC glCopyTexSubImage1D,325,-1,24
+GLFUNC glCopyTexSubImage2D,326,-1,32
+GLFUNC glCullFace,152,-1,4
+GLFUNC glDeleteLists,4,-1,8
+GLFUNC glDeleteTextures,327,-1,8
+GLFUNC glDepthFunc,245,-1,4
+GLFUNC glDepthMask,211,-1,4
+GLFUNC glDepthRange,288,-1,16
+GLFUNC glDisable,214,116,4
+GLFUNC glDisableClientState,309,147,4
+GLFUNC glDrawArrays,310,148,12
+GLFUNC glDrawBuffer,202,-1,4
+GLFUNC glDrawElements,311,149,16
+GLFUNC glDrawPixels,257,-1,20
+GLFUNC glEdgeFlag,41,35,4
+GLFUNC glEdgeFlagPointer,312,150,8
+GLFUNC glEdgeFlagv,42,36,4
+GLFUNC glEnable,215,117,4
+GLFUNC glEnableClientState,313,151,4
+GLFUNC glEnd,43,37,0
+GLFUNC glEndList,1,-1,0
+GLFUNC glEvalCoord1d,228,120,8
+GLFUNC glEvalCoord1dv,229,121,4
+GLFUNC glEvalCoord1f,230,122,4
+GLFUNC glEvalCoord1fv,231,123,4
+GLFUNC glEvalCoord2d,232,124,16
+GLFUNC glEvalCoord2dv,233,125,4
+GLFUNC glEvalCoord2f,234,126,8
+GLFUNC glEvalCoord2fv,235,127,4
+GLFUNC glEvalMesh1,236,-1,12
+GLFUNC glEvalMesh2,238,-1,20
+GLFUNC glEvalPoint1,237,128,4
+GLFUNC glEvalPoint2,239,129,8
+GLFUNC glFeedbackBuffer,194,-1,12
+GLFUNC glFinish,216,-1,0
+GLFUNC glFlush,217,-1,0
+GLFUNC glFogf,153,-1,8
+GLFUNC glFogfv,154,-1,8
+GLFUNC glFogi,155,-1,8
+GLFUNC glFogiv,156,-1,8
+GLFUNC glFrontFace,157,-1,4
+GLFUNC glFrustum,289,-1,48
+GLFUNC glGenLists,5,-1,4
+GLFUNC glGenTextures,328,-1,8
+GLFUNC glGetBooleanv,258,-1,8
+GLFUNC glGetClipPlane,259,-1,8
+GLFUNC glGetDoublev,260,-1,8
+GLFUNC glGetError,261,-1,0
+GLFUNC glGetFloatv,262,-1,8
+GLFUNC glGetIntegerv,263,-1,8
+GLFUNC glGetLightfv,264,-1,12
+GLFUNC glGetLightiv,265,-1,12
+GLFUNC glGetMapdv,266,-1,12
+GLFUNC glGetMapfv,267,-1,12
+GLFUNC glGetMapiv,268,-1,12
+GLFUNC glGetMaterialfv,269,-1,12
+GLFUNC glGetMaterialiv,270,-1,12
+GLFUNC glGetPixelMapfv,271,-1,8
+GLFUNC glGetPixelMapuiv,272,-1,8
+GLFUNC glGetPixelMapusv,273,-1,8
+GLFUNC glGetPointerv,329,160,8
+GLFUNC glGetPolygonStipple,274,-1,4
+GLFUNC glGetString,275,-1,4
+GLFUNC glGetTexEnvfv,276,-1,12
+GLFUNC glGetTexEnviv,277,-1,12
+GLFUNC glGetTexGendv,278,-1,12
+GLFUNC glGetTexGenfv,279,-1,12
+GLFUNC glGetTexGeniv,280,-1,12
+GLFUNC glGetTexImage,281,-1,20
+GLFUNC glGetTexLevelParameterfv,284,-1,16
+GLFUNC glGetTexLevelParameteriv,285,-1,16
+GLFUNC glGetTexParameterfv,282,-1,12
+GLFUNC glGetTexParameteriv,283,-1,12
+GLFUNC glHint,158,-1,8
+GLFUNC glIndexMask,212,-1,4
+GLFUNC glIndexPointer,314,152,12
+GLFUNC glIndexd,44,38,8
+GLFUNC glIndexdv,45,39,4
+GLFUNC glIndexf,46,40,4
+GLFUNC glIndexfv,47,41,4
+GLFUNC glIndexi,48,42,4
+GLFUNC glIndexiv,49,43,4
+GLFUNC glIndexs,50,44,4
+GLFUNC glIndexsv,51,45,4
+GLFUNC glIndexub,315,153,4
+GLFUNC glIndexubv,316,154,4
+GLFUNC glInitNames,197,-1,0
+GLFUNC glInterleavedArrays,317,155,12
+GLFUNC glIsEnabled,286,-1,4
+GLFUNC glIsList,287,-1,4
+GLFUNC glIsTexture,330,-1,4
+GLFUNC glLightModelf,163,-1,8
+GLFUNC glLightModelfv,164,-1,8
+GLFUNC glLightModeli,165,-1,8
+GLFUNC glLightModeliv,166,-1,8
+GLFUNC glLightf,159,-1,12
+GLFUNC glLightfv,160,-1,12
+GLFUNC glLighti,161,-1,12
+GLFUNC glLightiv,162,-1,12
+GLFUNC glLineStipple,167,-1,8
+GLFUNC glLineWidth,168,-1,4
+GLFUNC glListBase,6,-1,4
+GLFUNC glLoadIdentity,290,130,0
+GLFUNC glLoadMatrixd,292,132,4
+GLFUNC glLoadMatrixf,291,131,4
+GLFUNC glLoadName,198,-1,4
+GLFUNC glLogicOp,242,-1,4
+GLFUNC glMap1d,220,-1,32
+GLFUNC glMap1f,221,-1,24
+GLFUNC glMap2d,222,-1,56
+GLFUNC glMap2f,223,-1,40
+GLFUNC glMapGrid1d,224,-1,20
+GLFUNC glMapGrid1f,225,-1,12
+GLFUNC glMapGrid2d,226,-1,40
+GLFUNC glMapGrid2f,227,-1,24
+GLFUNC glMaterialf,169,112,12
+GLFUNC glMaterialfv,170,113,12
+GLFUNC glMateriali,171,114,12
+GLFUNC glMaterialiv,172,115,12
+GLFUNC glMatrixMode,293,133,4
+GLFUNC glMultMatrixd,295,135,4
+GLFUNC glMultMatrixf,294,134,4
+GLFUNC glNewList,0,-1,8
+GLFUNC glNormal3b,52,46,12
+GLFUNC glNormal3bv,53,47,4
+GLFUNC glNormal3d,54,48,24
+GLFUNC glNormal3dv,55,49,4
+GLFUNC glNormal3f,56,50,12
+GLFUNC glNormal3fv,57,51,4
+GLFUNC glNormal3i,58,52,12
+GLFUNC glNormal3iv,59,53,4
+GLFUNC glNormal3s,60,54,12
+GLFUNC glNormal3sv,61,55,4
+GLFUNC glNormalPointer,318,156,12
+GLFUNC glOrtho,296,-1,48
+GLFUNC glPassThrough,199,-1,4
+GLFUNC glPixelMapfv,251,-1,12
+GLFUNC glPixelMapuiv,252,-1,12
+GLFUNC glPixelMapusv,253,-1,12
+GLFUNC glPixelStoref,249,-1,8
+GLFUNC glPixelStorei,250,-1,8
+GLFUNC glPixelTransferf,247,-1,8
+GLFUNC glPixelTransferi,248,-1,8
+GLFUNC glPixelZoom,246,-1,8
+GLFUNC glPointSize,173,-1,4
+GLFUNC glPolygonMode,174,-1,8
+GLFUNC glPolygonOffset,319,157,8
+GLFUNC glPolygonStipple,175,-1,4
+GLFUNC glPopAttrib,218,118,0
+GLFUNC glPopClientAttrib,334,161,0
+GLFUNC glPopMatrix,297,136,0
+GLFUNC glPopName,200,-1,0
+GLFUNC glPrioritizeTextures,331,-1,12
+GLFUNC glPushAttrib,219,119,4
+GLFUNC glPushClientAttrib,335,162,4
+GLFUNC glPushMatrix,298,137,0
+GLFUNC glPushName,201,-1,4
+GLFUNC glRasterPos2d,62,-1,16
+GLFUNC glRasterPos2dv,63,-1,4
+GLFUNC glRasterPos2f,64,-1,8
+GLFUNC glRasterPos2fv,65,-1,4
+GLFUNC glRasterPos2i,66,-1,8
+GLFUNC glRasterPos2iv,67,-1,4
+GLFUNC glRasterPos2s,68,-1,8
+GLFUNC glRasterPos2sv,69,-1,4
+GLFUNC glRasterPos3d,70,-1,24
+GLFUNC glRasterPos3dv,71,-1,4
+GLFUNC glRasterPos3f,72,-1,12
+GLFUNC glRasterPos3fv,73,-1,4
+GLFUNC glRasterPos3i,74,-1,12
+GLFUNC glRasterPos3iv,75,-1,4
+GLFUNC glRasterPos3s,76,-1,12
+GLFUNC glRasterPos3sv,77,-1,4
+GLFUNC glRasterPos4d,78,-1,32
+GLFUNC glRasterPos4dv,79,-1,4
+GLFUNC glRasterPos4f,80,-1,16
+GLFUNC glRasterPos4fv,81,-1,4
+GLFUNC glRasterPos4i,82,-1,16
+GLFUNC glRasterPos4iv,83,-1,4
+GLFUNC glRasterPos4s,84,-1,16
+GLFUNC glRasterPos4sv,85,-1,4
+GLFUNC glReadBuffer,254,-1,4
+GLFUNC glReadPixels,256,-1,28
+GLFUNC glRectd,86,-1,32
+GLFUNC glRectdv,87,-1,8
+GLFUNC glRectf,88,-1,16
+GLFUNC glRectfv,89,-1,8
+GLFUNC glRecti,90,-1,16
+GLFUNC glRectiv,91,-1,8
+GLFUNC glRects,92,-1,16
+GLFUNC glRectsv,93,-1,8
+GLFUNC glRenderMode,196,-1,4
+GLFUNC glRotated,299,138,32
+GLFUNC glRotatef,300,139,16
+GLFUNC glScaled,301,140,24
+GLFUNC glScalef,302,141,12
+GLFUNC glScissor,176,-1,16
+GLFUNC glSelectBuffer,195,-1,8
+GLFUNC glShadeModel,177,-1,4
+GLFUNC glStencilFunc,243,-1,12
+GLFUNC glStencilMask,209,-1,4
+GLFUNC glStencilOp,244,-1,12
+GLFUNC glTexCoord1d,94,56,8
+GLFUNC glTexCoord1dv,95,57,4
+GLFUNC glTexCoord1f,96,58,4
+GLFUNC glTexCoord1fv,97,59,4
+GLFUNC glTexCoord1i,98,60,4
+GLFUNC glTexCoord1iv,99,61,4
+GLFUNC glTexCoord1s,100,62,4
+GLFUNC glTexCoord1sv,101,63,4
+GLFUNC glTexCoord2d,102,64,16
+GLFUNC glTexCoord2dv,103,65,4
+GLFUNC glTexCoord2f,104,66,8
+GLFUNC glTexCoord2fv,105,67,4
+GLFUNC glTexCoord2i,106,68,8
+GLFUNC glTexCoord2iv,107,69,4
+GLFUNC glTexCoord2s,108,70,8
+GLFUNC glTexCoord2sv,109,71,4
+GLFUNC glTexCoord3d,110,72,24
+GLFUNC glTexCoord3dv,111,73,4
+GLFUNC glTexCoord3f,112,74,12
+GLFUNC glTexCoord3fv,113,75,4
+GLFUNC glTexCoord3i,114,76,12
+GLFUNC glTexCoord3iv,115,77,4
+GLFUNC glTexCoord3s,116,78,12
+GLFUNC glTexCoord3sv,117,79,4
+GLFUNC glTexCoord4d,118,80,32
+GLFUNC glTexCoord4dv,119,81,4
+GLFUNC glTexCoord4f,120,82,16
+GLFUNC glTexCoord4fv,121,83,4
+GLFUNC glTexCoord4i,122,84,16
+GLFUNC glTexCoord4iv,123,85,4
+GLFUNC glTexCoord4s,124,86,16
+GLFUNC glTexCoord4sv,125,87,4
+GLFUNC glTexCoordPointer,320,158,16
+GLFUNC glTexEnvf,184,-1,12
+GLFUNC glTexEnvfv,185,-1,12
+GLFUNC glTexEnvi,186,-1,12
+GLFUNC glTexEnviv,187,-1,12
+GLFUNC glTexGend,188,-1,16
+GLFUNC glTexGendv,189,-1,12
+GLFUNC glTexGenf,190,-1,12
+GLFUNC glTexGenfv,191,-1,12
+GLFUNC glTexGeni,192,-1,12
+GLFUNC glTexGeniv,193,-1,12
+GLFUNC glTexImage1D,182,-1,32
+GLFUNC glTexImage2D,183,-1,36
+GLFUNC glTexParameterf,178,-1,12
+GLFUNC glTexParameterfv,179,-1,12
+GLFUNC glTexParameteri,180,-1,12
+GLFUNC glTexParameteriv,181,-1,12
+GLFUNC glTexSubImage1D,332,-1,28
+GLFUNC glTexSubImage2D,333,-1,36
+GLFUNC glTranslated,303,142,24
+GLFUNC glTranslatef,304,143,12
+GLFUNC glVertex2d,126,88,16
+GLFUNC glVertex2dv,127,89,4
+GLFUNC glVertex2f,128,90,8
+GLFUNC glVertex2fv,129,91,4
+GLFUNC glVertex2i,130,92,8
+GLFUNC glVertex2iv,131,93,4
+GLFUNC glVertex2s,132,94,8
+GLFUNC glVertex2sv,133,95,4
+GLFUNC glVertex3d,134,96,24
+GLFUNC glVertex3dv,135,97,4
+GLFUNC glVertex3f,136,98,12
+GLFUNC glVertex3fv,137,99,4
+GLFUNC glVertex3i,138,100,12
+GLFUNC glVertex3iv,139,101,4
+GLFUNC glVertex3s,140,102,12
+GLFUNC glVertex3sv,141,103,4
+GLFUNC glVertex4d,142,104,32
+GLFUNC glVertex4dv,143,105,4
+GLFUNC glVertex4f,144,106,16
+GLFUNC glVertex4fv,145,107,4
+GLFUNC glVertex4i,146,108,16
+GLFUNC glVertex4iv,147,109,4
+GLFUNC glVertex4s,148,110,16
+GLFUNC glVertex4sv,149,111,4
+GLFUNC glVertexPointer,321,159,16
+GLFUNC glViewport,305,-1,16
-/* $Id: opengl32.c,v 1.11 2004/02/06 17:22:55 royce Exp $
+/* $Id: opengl32.c,v 1.12 2004/02/06 18:17:18 royce Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <winreg.h>
-#include <ntos/types.h>
-#include <napi/teb.h>
+#include "teb.h"
#include <string.h>
#include "opengl32.h"
GLPROCESSDATA OPENGL32_processdata;
-static void OPENGL32_ThreadDetach()
+static
+void
+OPENGL32_ThreadDetach()
{
/* FIXME - do we need to release some HDC or something? */
GLTHREADDATA* lpData = NULL;
}
-BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD Reason, LPVOID Reserved)
+BOOL
+WINAPI
+DllMain(HINSTANCE hInstance, DWORD Reason, LPVOID Reserved)
{
GLTHREADDATA* lpData = NULL;
ICDTable *dispatchTable = NULL;
* ARGUMENTS: [IN] icd: GLDRIVERDATA to append to list
* NOTES: Only call this when you hold the driver_mutex
*/
-static void OPENGL32_AppendICD( GLDRIVERDATA *icd )
+static
+void
+OPENGL32_AppendICD( GLDRIVERDATA *icd )
{
if (OPENGL32_processdata.driver_list == NULL)
OPENGL32_processdata.driver_list = icd;
* ARGUMENTS: [IN] icd: GLDRIVERDATA to remove from list
* NOTES: Only call this when you hold the driver_mutex
*/
-static void OPENGL32_RemoveICD( GLDRIVERDATA *icd )
+static
+void
+OPENGL32_RemoveICD( GLDRIVERDATA *icd )
{
if (icd == OPENGL32_processdata.driver_list)
OPENGL32_processdata.driver_list = icd->next;
*
* TODO: call SetLastError() where appropriate
*/
-static GLDRIVERDATA *OPENGL32_LoadDriver( LPCWSTR driver )
+static
+GLDRIVERDATA*
+OPENGL32_LoadDriver( LPCWSTR driver )
{
LONG ret;
GLDRIVERDATA *icd;
* RETURNS: error code; ERROR_SUCCESS on success
*/
#define LOAD_DRV_PROC( icd, proc, required ) \
- ((FARPROC)(icd->proc)) = GetProcAddress( icd->handle, #proc ); \
+ *(char**)&icd->proc = (char*)GetProcAddress( icd->handle, #proc ); \
if (required && icd->proc == NULL) { \
DBGPRINT( "Error: GetProcAddress(\"%s\") failed!", #proc ); \
FreeLibrary( icd->handle ); \
return GetLastError(); \
}
-static DWORD OPENGL32_InitializeDriver( GLDRIVERDATA *icd )
+static
+DWORD
+OPENGL32_InitializeDriver( GLDRIVERDATA *icd )
{
/* check version */
if (icd->version > 2)
/* FUNCTION: Unload loaded ICD.
* RETURNS: TRUE on success, FALSE otherwise.
*/
-static BOOL OPENGL32_UnloadDriver( GLDRIVERDATA *icd )
+static
+BOOL
+OPENGL32_UnloadDriver( GLDRIVERDATA *icd )
{
BOOL allOk = TRUE;
/* FUNCTION: Load ICD (shared ICD data)
* RETURNS: GLDRIVERDATA pointer on success, NULL otherwise.
*/
-GLDRIVERDATA *OPENGL32_LoadICD( LPCWSTR driver )
+GLDRIVERDATA*
+OPENGL32_LoadICD ( LPCWSTR driver )
{
GLDRIVERDATA *icd;
/* FUNCTION: Unload ICD (shared ICD data)
* RETURNS: TRUE on success, FALSE otherwise.
*/
-BOOL OPENGL32_UnloadICD( GLDRIVERDATA *icd )
+BOOL
+OPENGL32_UnloadICD( GLDRIVERDATA *icd )
{
BOOL ret = TRUE;
* RETURNS: Error code (ERROR_NO_MORE_ITEMS at end of list); On failure all
* OUT vars are left untouched.
*/
-DWORD OPENGL32_RegEnumDrivers( DWORD idx, LPWSTR name, LPDWORD cName )
+DWORD
+OPENGL32_RegEnumDrivers( DWORD idx, LPWSTR name, LPDWORD cName )
{
HKEY hKey;
- LPCWSTR subKey = L"SOFTWARE\\Microsoft\\Windows NT\\"
- "CurrentVersion\\OpenGLDrivers\\";
+ LPCWSTR subKey =
+ L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\OpenGLDrivers\\";
LONG ret;
DWORD size;
WCHAR driver[256];
* driver_version and flags.
* RETURNS: Error code; On failure all OUT vars are left untouched.
*/
-DWORD OPENGL32_RegGetDriverInfo( LPCWSTR driver, GLDRIVERDATA *icd )
+/*static*/
+DWORD
+OPENGL32_RegGetDriverInfo( LPCWSTR driver, GLDRIVERDATA *icd )
{
HKEY hKey;
- WCHAR subKey[1024] = L"SOFTWARE\\Microsoft\\Windows NT\\"
- "CurrentVersion\\OpenGLDrivers\\";
+ WCHAR subKey[1024] =
+ L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\OpenGLDrivers\\";
LONG ret;
DWORD type, size;
-; $Id: opengl32.def,v 1.2 2004/02/05 04:28:11 royce Exp $
+; $Id: opengl32.def,v 1.3 2004/02/06 18:17:18 royce Exp $
;
-; opengl32.edf
+; opengl32.def
;
; ReactOS Operating System
;
LIBRARY opengl32.dll
EXPORTS
-;DllInitialize
+DllMain
+;DllInitialize
glAccum
glAlphaFunc
glAreTexturesResident
glVertexPointer
glViewport
-wglChoosePixelFormat
-wglCopyContext
-wglCreateContext
-wglCreateLayerContext
-wglDeleteContext
-wglDescribeLayerPlane
-wglDescribePixelFormat
-wglGetCurrentContext
-wglGetCurrentDC
+wglChoosePixelFormat=rosglChoosePixelFormat
+wglCopyContext=rosglCopyContext
+wglCreateContext=rosglCreateContext
+wglCreateLayerContext=rosglCreateLayerContext
+wglDeleteContext=rosglDeleteContext
+wglDescribeLayerPlane=rosglDescribeLayerPlane
+wglDescribePixelFormat=rosglDescribePixelFormat
+wglGetCurrentContext=rosglGetCurrentContext
+wglGetCurrentDC=rosglGetCurrentDC
;wglGetDefaultProcAddress
-wglGetLayerPaletteEntries
-wglGetPixelFormat
-wglGetProcAddress
-wglMakeCurrent
-wglRealizeLayerPalette
-wglSetLayerPaletteEntries
-wglSetPixelFormat
-wglShareLists
-wglSwapBuffers
-wglSwapLayerBuffers
-;wglSwapMultipleBuffers
-wglUseFontBitmapsA
-wglUseFontBitmapsW
-wglUseFontOutlinesA
-wglUseFontOutlinesW
+wglGetLayerPaletteEntries=rosglGetLayerPaletteEntries
+wglGetPixelFormat=rosglGetPixelFormat
+wglGetProcAddress=rosglGetProcAddress
+wglMakeCurrent=rosglMakeCurrent
+wglRealizeLayerPalette=rosglRealizeLayerPalette
+wglSetLayerPaletteEntries=rosglSetLayerPaletteEntries
+wglSetPixelFormat=rosglSetPixelFormat
+wglShareLists=rosglShareLists
+wglSwapBuffers=rosglSwapBuffers
+wglSwapLayerBuffers=rosglSwapLayerBuffers
+;wglSwapMultipleBuffers=rosglSwapMultipleBuffers
+wglUseFontBitmapsA=rosglUseFontBitmapsA
+wglUseFontBitmapsW=rosglUseFontBitmapsW
+wglUseFontOutlinesA=rosglUseFontOutlinesA
+wglUseFontOutlinesW=rosglUseFontOutlinesW
--- /dev/null
+# Microsoft Developer Studio Project File - Name="opengl32" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=opengl32 - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "opengl32.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "opengl32.mak" CFG="opengl32 - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "opengl32 - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "opengl32 - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "opengl32 - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "OPENGL32_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "OPENGL32_EXPORTS" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+
+!ELSEIF "$(CFG)" == "opengl32 - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "OPENGL32_EXPORTS" /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "OPENGL32_EXPORTS" /YX /FD /TP /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 gdi32.lib advapi32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "opengl32 - Win32 Release"
+# Name "opengl32 - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\gl.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\opengl32.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\tebimports.asm
+
+!IF "$(CFG)" == "opengl32 - Win32 Release"
+
+# Begin Custom Build - Compiling $(InputPath)
+IntDir=.\Release
+InputPath=.\tebimports.asm
+InputName=tebimports
+
+"$(IntDir)/$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ nasmw.exe -f win32 $(InputPath) -o "$(IntDir)/$(InputName).obj"
+
+# End Custom Build
+
+!ELSEIF "$(CFG)" == "opengl32 - Win32 Debug"
+
+# Begin Custom Build - Compiling $(InputPath)
+IntDir=.\Debug
+InputPath=.\tebimports.asm
+InputName=tebimports
+
+"$(IntDir)/$(InputName).obj" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
+ nasmw.exe -f win32 -d win32 $(InputPath) -o "$(IntDir)/$(InputName).obj"
+
+# End Custom Build
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
+SOURCE=.\wgl.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\glfuncs.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\icdlist.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\icdtable.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\opengl32.def
+# End Source File
+# Begin Source File
+
+SOURCE=.\opengl32.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\slowlist.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\teb.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\teblist.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\teblist.mac
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
--- /dev/null
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "opengl32"=.\opengl32.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
-/* $Id: opengl32.h,v 1.10 2004/02/06 17:22:55 royce Exp $
+/* $Id: opengl32.h,v 1.11 2004/02/06 18:17:18 royce Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
#ifndef OPENGL32_PRIVATE_H
#define OPENGL32_PRIVATE_H
+#ifdef __cplusplus
+extern "C" {
+#endif//__cplusplus
+
/* gl function list */
#include "glfuncs.h"
#endif /* !NDEBUG */
/* debug macros */
-#ifdef DEBUG_OPENGL32 /* FIXME: DPRINT wants DbgPrint - where is it? */
-ULONG DbgPrint(PCH Format,...);
-# include <debug.h>
-# define DBGPRINT( fmt, args... ) \
- DPRINT( "OpenGL32.DLL: %s: "fmt"\n", __FUNCTION__, ##args )
+#ifdef _MSC_VER
+inline void DBGPRINT ( ... ) {}
#else
-# define DBGPRINT( ... ) do {} while (0)
+# ifdef DEBUG_OPENGL32
+ULONG DbgPrint(PCH Format,...);
+# include <debug.h>
+# define DBGPRINT( fmt, args... ) \
+ DPRINT( "OpenGL32.DLL: %s: "fmt"\n", __FUNCTION__, ##args )
+# else
+# define DBGPRINT( ... ) do {} while (0)
+# endif
#endif
#ifdef DEBUG_OPENGL32_BRKPTS
# endif
#endif
-#if 0
+/* function/data attributes */
+#define EXPORT __declspec(dllexport)
+#ifdef _MSC_VER
+# define NAKED __declspec(naked)
+# define SHARED
+# ifndef STDCALL
+# define STDCALL __stdcall
+# endif/*STDCALL*/
+#else /* GCC */
+# define NAKED __attribute__((naked))
+# define SHARED __attribute__((section("shared"), shared))
+#endif
+
+#ifdef APIENTRY
+#undef APIENTRY
+#endif//APIENTRY
+#define APIENTRY EXPORT __stdcall
+
+/* gl function list */
+#include "glfuncs.h"
+
/* table indices for funcnames and function pointers */
+#if 0
enum glfunc_indices
{
GLIDX_INVALID = -1,
/* function name table */
extern const char* OPENGL32_funcnames[GLIDX_COUNT];
-#endif
+#endif//0
+
+/* GL data types - x86 typedefs */
+typedef unsigned int GLenum;
+typedef unsigned char GLboolean;
+typedef unsigned int GLbitfield;
+typedef signed char GLbyte;
+typedef short GLshort;
+typedef int GLint;
+typedef int GLsizei;
+typedef unsigned char GLubyte;
+typedef unsigned short GLushort;
+typedef unsigned int GLuint;
+typedef unsigned short GLhalf;
+typedef float GLfloat;
+typedef float GLclampf;
+typedef double GLdouble;
+typedef double GLclampd;
+typedef void GLvoid;
/* Called by the driver to set the dispatch table */
typedef DWORD (CALLBACK * SetContextCallBack)( const ICDTable * );
int STDCALL glEmptyFunc56( long, long, long, long, long, long, long, long,
long, long, long, long, long, long );
+#define X(func,ret,typeargs,args,icdidx,tebidx,stack) EXPORT ret STDCALL func typeargs;
+GLFUNCS_MACRO
+#undef X
+
+#ifdef __cplusplus
+}; // extern "C"
+#endif//__cplusplus
+
#endif//OPENGL32_PRIVATE_H
/* EOF */
--- /dev/null
+/*
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS kernel
+ * FILE: lib/opengl32/glfuncs.h
+ * PURPOSE: OpenGL32 lib, GLFUNCS_MACRO
+ * PROGRAMMER: gen_glfuncs_macro.sh
+ * UPDATE HISTORY:
+ * !!! AUTOMATICALLY CREATED FROM glfuncs.csv !!!
+ */
+
+/* To use this macro define a macro X(name, ret, typeargs, args, icdidx, tebidx, stack).
+ * It gets called for every glXXX function. i.e. glVertex3f: name = "glVertex3f",
+ * ret = "void", typeargs = "(GLfloat x, GLfloat y, GLfloat z)", args = "(x,y,z)",
+ * icdidx = "136", tebidx = "98" and stack = "12".
+ * Don't forget to undefine X ;-)
+ */
+
+XVOID(glAccum,(GLenum op, GLfloat value), (op,value), 213, 8)
+XVOID(glAlphaFunc, (GLenum func, GLclampf ref), (func,ref), 240, 8)
+X(glAreTexturesResident, GLboolean, (GLsizei n, const GLuint *textures, GLboolean *residences), (n,textures,residences), 322, 12)
+XVOID(glBitmap, (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap), (width,height,xorig,yorig,xmove,ymove,bitmap), 8, 28)
+XVOID(glBlendFunc, (GLenum sfactor, GLenum dfactor), (sfactor,dfactor), 241, 8)
+XVOID(glClear, (GLbitfield mask), (mask), 203, 4)
+XVOID(glClearAccum, (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha), (red,green,blue,alpha), 204, 16)
+XVOID(glClearColor, (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha), (red,green,blue,alpha), 206, 16)
+XVOID(glClearDepth, (GLclampd depth), (depth), 208, 8)
+XVOID(glClearIndex, (GLfloat c), (c), 205, 4)
+XVOID(glClearStencil, (GLint s), (s), 207, 4)
+XVOID(glClipPlane, (GLenum plane, const GLdouble *equation), (plane,equation), 150, 8)
+XVOID(glColorMask, (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha), (red,green,blue,alpha), 210, 16)
+XVOID(glColorMaterial, (GLenum face, GLenum mode), (face,mode), 151, 8)
+XVOID(glCopyPixels, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum type), (x,y,width,height,type), 255, 20)
+XVOID(glCopyTexImage1D, (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border), (target,level,internalformat,x,y,width,border), 323, 28)
+XVOID(glCopyTexImage2D, (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border), (target,level,internalformat,x,y,width,height,border), 324, 32)
+XVOID(glCopyTexSubImage1D, (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width), (target,level,xoffset,x,y,width), 325, 24)
+XVOID(glCopyTexSubImage2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height), (target,level,xoffset,yoffset,x,y,width,height), 326, 32)
+XVOID(glCullFace, (GLenum mode), (mode), 152, 4)
+XVOID(glDeleteLists, (GLuint list, GLsizei range), (list,range), 4, 8)
+XVOID(glDeleteTextures, (GLsizei n, const GLuint *textures), (n,textures), 327, 8)
+XVOID(glDepthFunc, (GLenum func), (func), 245, 4)
+XVOID(glDepthMask, (GLboolean flag), (flag), 211, 4)
+XVOID(glDepthRange, (GLclampd zNear, GLclampd zFar), (zNear,zFar), 288, 16)
+XVOID(glDrawBuffer, (GLenum mode), (mode), 202, 4)
+XVOID(glDrawPixels, (GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels), (width,height,format,type,pixels), 257, 20)
+XVOID(glEndList, (void), (), 1, 0)
+XVOID(glEvalMesh1, (GLenum mode, GLint i1, GLint i2), (mode,i1,i2), 236, 12)
+XVOID(glEvalMesh2, (GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2), (mode,i1,i2,j1,j2), 238, 20)
+XVOID(glFeedbackBuffer, (GLsizei size, GLenum type, GLfloat *buffer), (size,type,buffer), 194, 12)
+XVOID(glFinish, (void), (), 216, 0)
+XVOID(glFlush, (void), (), 217, 0)
+XVOID(glFogf, (GLenum pname, GLfloat param), (pname,param), 153, 8)
+XVOID(glFogfv, (GLenum pname, const GLfloat *params), (pname,params), 154, 8)
+XVOID(glFogi, (GLenum pname, GLint param), (pname,param), 155, 8)
+XVOID(glFogiv, (GLenum pname, const GLint *params), (pname,params), 156, 8)
+XVOID(glFrontFace, (GLenum mode), (mode), 157, 4)
+XVOID(glFrustum, (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar), (left,right,bottom,top,zNear,zFar), 289, 48)
+X(glGenLists, GLuint, (GLsizei range), (range), 5, 4)
+XVOID(glGenTextures, (GLsizei n, GLuint *textures), (n,textures), 328, 8)
+XVOID(glGetBooleanv, (GLenum pname, GLboolean *params), (pname,params), 258, 8)
+XVOID(glGetClipPlane, (GLenum plane, GLdouble *equation), (plane,equation), 259, 8)
+XVOID(glGetDoublev, (GLenum pname, GLdouble *params), (pname,params), 260, 8)
+X(glGetError, GLenum, (void), (), 261, 0)
+XVOID(glGetFloatv, (GLenum pname, GLfloat *params), (pname,params), 262, 8)
+XVOID(glGetIntegerv, (GLenum pname, GLint *params), (pname,params), 263, 8)
+XVOID(glGetLightfv, (GLenum light, GLenum pname, GLfloat *params), (light,pname,params), 264, 12)
+XVOID(glGetLightiv, (GLenum light, GLenum pname, GLint *params), (light,pname,params), 265, 12)
+XVOID(glGetMapdv, (GLenum target, GLenum query, GLdouble *v), (target,query,v), 266, 12)
+XVOID(glGetMapfv, (GLenum target, GLenum query, GLfloat *v), (target,query,v), 267, 12)
+XVOID(glGetMapiv, (GLenum target, GLenum query, GLint *v), (target,query,v), 268, 12)
+XVOID(glGetMaterialfv, (GLenum face, GLenum pname, GLfloat *params), (face,pname,params), 269, 12)
+XVOID(glGetMaterialiv, (GLenum face, GLenum pname, GLint *params), (face,pname,params), 270, 12)
+XVOID(glGetPixelMapfv, (GLenum map, GLfloat *values), (map,values), 271, 8)
+XVOID(glGetPixelMapuiv, (GLenum map, GLuint *values), (map,values), 272, 8)
+XVOID(glGetPixelMapusv, (GLenum map, GLushort *values), (map,values), 273, 8)
+XVOID(glGetPolygonStipple, (GLubyte *mask), (mask), 274, 4)
+X(glGetString, const GLubyte* , (GLenum name), (name), 275, 4)
+XVOID(glGetTexEnvfv, (GLenum target, GLenum pname, GLfloat *params), (target,pname,params), 276, 12)
+XVOID(glGetTexEnviv, (GLenum target, GLenum pname, GLint *params), (target,pname,params), 277, 12)
+XVOID(glGetTexGendv, (GLenum coord, GLenum pname, GLdouble *params), (coord,pname,params), 278, 12)
+XVOID(glGetTexGenfv, (GLenum coord, GLenum pname, GLfloat *params), (coord,pname,params), 279, 12)
+XVOID(glGetTexGeniv, (GLenum coord, GLenum pname, GLint *params), (coord,pname,params), 280, 12)
+XVOID(glGetTexImage, (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels), (target,level,format,type,pixels), 281, 20)
+XVOID(glGetTexLevelParameterfv, (GLenum target, GLint level, GLenum pname, GLfloat *params), (target,level,pname,params), 284, 16)
+XVOID(glGetTexLevelParameteriv, (GLenum target, GLint level, GLenum pname, GLint *params), (target,level,pname,params), 285, 16)
+XVOID(glGetTexParameterfv, (GLenum target, GLenum pname, GLfloat *params), (target,pname,params), 282, 12)
+XVOID(glGetTexParameteriv, (GLenum target, GLenum pname, GLint *params), (target,pname,params), 283, 12)
+XVOID(glHint, (GLenum target, GLenum mode), (target,mode), 158, 8)
+XVOID(glIndexMask, (GLuint mask), (mask), 212, 4)
+XVOID(glInitNames, (void), (), 197, 0)
+X(glIsEnabled, GLboolean, (GLenum cap), (cap), 286, 4)
+X(glIsList, GLboolean, (GLuint list), (list), 287, 4)
+X(glIsTexture, GLboolean, (GLuint texture), (texture), 330, 4)
+XVOID(glLightModelf, (GLenum pname, GLfloat param), (pname,param), 163, 8)
+XVOID(glLightModelfv, (GLenum pname, const GLfloat *params), (pname,params), 164, 8)
+XVOID(glLightModeli, (GLenum pname, GLint param), (pname,param), 165, 8)
+XVOID(glLightModeliv, (GLenum pname, const GLint *params), (pname,params), 166, 8)
+XVOID(glLightf, (GLenum light, GLenum pname, GLfloat param), (light,pname,param), 159, 12)
+XVOID(glLightfv, (GLenum light, GLenum pname, const GLfloat *params), (light,pname,params), 160, 12)
+XVOID(glLighti, (GLenum light, GLenum pname, GLint param), (light,pname,param), 161, 12)
+XVOID(glLightiv, (GLenum light, GLenum pname, const GLint *params), (light,pname,params), 162, 12)
+XVOID(glLineStipple, (GLint factor, GLushort pattern), (factor,pattern), 167, 8)
+XVOID(glLineWidth, (GLfloat width), (width), 168, 4)
+XVOID(glListBase, (GLuint base), (base), 6, 4)
+XVOID(glLoadName, (GLuint name), (name), 198, 4)
+XVOID(glLogicOp, (GLenum opcode), (opcode), 242, 4)
+XVOID(glMap1d, (GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points), (target,u1,u2,stride,order,points), 220, 32)
+XVOID(glMap1f, (GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points), (target,u1,u2,stride,order,points), 221, 24)
+XVOID(glMap2d, (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points), (target,u1,u2,ustride,uorder,v1,v2,vstride,vorder,points), 222, 56)
+XVOID(glMap2f, (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points), (target,u1,u2,ustride,uorder,v1,v2,vstride,vorder,points), 223, 40)
+XVOID(glMapGrid1d, (GLint un, GLdouble u1, GLdouble u2), (un,u1,u2), 224, 20)
+XVOID(glMapGrid1f, (GLint un, GLfloat u1, GLfloat u2), (un,u1,u2), 225, 12)
+XVOID(glMapGrid2d, (GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2), (un,u1,u2,vn,v1,v2), 226, 40)
+XVOID(glMapGrid2f, (GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2), (un,u1,u2,vn,v1,v2), 227, 24)
+XVOID(glNewList, (GLuint list, GLenum mode), (list,mode), 0, 8)
+XVOID(glOrtho, (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar), (left,right,bottom,top,zNear,zFar), 296, 48)
+XVOID(glPassThrough, (GLfloat token), (token), 199, 4)
+XVOID(glPixelMapfv, (GLenum map, GLint mapsize, const GLfloat *values), (map,mapsize,values), 251, 12)
+XVOID(glPixelMapuiv, (GLenum map, GLint mapsize, const GLuint *values), (map,mapsize,values), 252, 12)
+XVOID(glPixelMapusv, (GLenum map, GLint mapsize, const GLushort *values), (map,mapsize,values), 253, 12)
+XVOID(glPixelStoref, (GLenum pname, GLfloat param), (pname,param), 249, 8)
+XVOID(glPixelStorei, (GLenum pname, GLint param), (pname,param), 250, 8)
+XVOID(glPixelTransferf, (GLenum pname, GLfloat param), (pname,param), 247, 8)
+XVOID(glPixelTransferi, (GLenum pname, GLint param), (pname,param), 248, 8)
+XVOID(glPixelZoom, (GLfloat xfactor, GLfloat yfactor), (xfactor,yfactor), 246, 8)
+XVOID(glPointSize, (GLfloat size), (size), 173, 4)
+XVOID(glPolygonMode, (GLenum face, GLenum mode), (face,mode), 174, 8)
+XVOID(glPolygonStipple, (const GLubyte *mask), (mask), 175, 4)
+XVOID(glPopName, (void), (), 200, 0)
+XVOID(glPrioritizeTextures, (GLsizei n, const GLuint *textures, const GLclampf *priorities), (n,textures,priorities), 331, 12)
+XVOID(glPushName, (GLuint name), (name), 201, 4)
+XVOID(glRasterPos2d, (GLdouble x, GLdouble y), (x,y), 62, 16)
+XVOID(glRasterPos2dv, (const GLdouble *v), (v), 63, 4)
+XVOID(glRasterPos2f, (GLfloat x, GLfloat y), (x,y), 64, 8)
+XVOID(glRasterPos2fv, (const GLfloat *v), (v), 65, 4)
+XVOID(glRasterPos2i, (GLint x, GLint y), (x,y), 66, 8)
+XVOID(glRasterPos2iv, (const GLint *v), (v), 67, 4)
+XVOID(glRasterPos2s, (GLshort x, GLshort y), (x,y), 68, 8)
+XVOID(glRasterPos2sv, (const GLshort *v), (v), 69, 4)
+XVOID(glRasterPos3d, (GLdouble x, GLdouble y, GLdouble z), (x,y,z), 70, 24)
+XVOID(glRasterPos3dv, (const GLdouble *v), (v), 71, 4)
+XVOID(glRasterPos3f, (GLfloat x, GLfloat y, GLfloat z), (x,y,z), 72, 12)
+XVOID(glRasterPos3fv, (const GLfloat *v), (v), 73, 4)
+XVOID(glRasterPos3i, (GLint x, GLint y, GLint z), (x,y,z), 74, 12)
+XVOID(glRasterPos3iv, (const GLint *v), (v), 75, 4)
+XVOID(glRasterPos3s, (GLshort x, GLshort y, GLshort z), (x,y,z), 76, 12)
+XVOID(glRasterPos3sv, (const GLshort *v), (v), 77, 4)
+XVOID(glRasterPos4d, (GLdouble x, GLdouble y, GLdouble z, GLdouble w), (x,y,z,w), 78, 32)
+XVOID(glRasterPos4dv, (const GLdouble *v), (v), 79, 4)
+XVOID(glRasterPos4f, (GLfloat x, GLfloat y, GLfloat z, GLfloat w), (x,y,z,w), 80, 16)
+XVOID(glRasterPos4fv, (const GLfloat *v), (v), 81, 4)
+XVOID(glRasterPos4i, (GLint x, GLint y, GLint z, GLint w), (x,y,z,w), 82, 16)
+XVOID(glRasterPos4iv, (const GLint *v), (v), 83, 4)
+XVOID(glRasterPos4s, (GLshort x, GLshort y, GLshort z, GLshort w), (x,y,z,w), 84, 16)
+XVOID(glRasterPos4sv, (const GLshort *v), (v), 85, 4)
+XVOID(glReadBuffer, (GLenum mode), (mode), 254, 4)
+XVOID(glReadPixels, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels), (x,y,width,height,format,type,pixels), 256, 28)
+XVOID(glRectd, (GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2), (x1,y1,x2,y2), 86, 32)
+XVOID(glRectdv, (const GLdouble *v1, const GLdouble *v2), (v1,v2), 87, 8)
+XVOID(glRectf, (GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2), (x1,y1,x2,y2), 88, 16)
+XVOID(glRectfv, (const GLfloat *v1, const GLfloat *v2), (v1,v2), 89, 8)
+XVOID(glRecti, (GLint x1, GLint y1, GLint x2, GLint y2), (x1,y1,x2,y2), 90, 16)
+XVOID(glRectiv, (const GLint *v1, const GLint *v2), (v1,v2), 91, 8)
+XVOID(glRects, (GLshort x1, GLshort y1, GLshort x2, GLshort y2), (x1,y1,x2,y2), 92, 16)
+XVOID(glRectsv, (const GLshort *v1, const GLshort *v2), (v1,v2), 93, 8)
+X(glRenderMode, GLint, (GLenum mode), (mode), 196, 4)
+XVOID(glScissor, (GLint x, GLint y, GLsizei width, GLsizei height), (x,y,width,height), 176, 16)
+XVOID(glSelectBuffer, (GLsizei size, GLuint *buffer), (size,buffer), 195, 8)
+XVOID(glShadeModel, (GLenum mode), (mode), 177, 4)
+XVOID(glStencilFunc, (GLenum func, GLint ref, GLuint mask), (func,ref,mask), 243, 12)
+XVOID(glStencilMask, (GLuint mask), (mask), 209, 4)
+XVOID(glStencilOp, (GLenum fail, GLenum zfail, GLenum zpass), (fail,zfail,zpass), 244, 12)
+XVOID(glTexEnvf, (GLenum target, GLenum pname, GLfloat param), (target,pname,param), 184, 12)
+XVOID(glTexEnvfv, (GLenum target, GLenum pname, const GLfloat *params), (target,pname,params), 185, 12)
+XVOID(glTexEnvi, (GLenum target, GLenum pname, GLint param), (target,pname,param), 186, 12)
+XVOID(glTexEnviv, (GLenum target, GLenum pname, const GLint *params), (target,pname,params), 187, 12)
+XVOID(glTexGend, (GLenum coord, GLenum pname, GLdouble param), (coord,pname,param), 188, 16)
+XVOID(glTexGendv, (GLenum coord, GLenum pname, const GLdouble *params), (coord,pname,params), 189, 12)
+XVOID(glTexGenf, (GLenum coord, GLenum pname, GLfloat param), (coord,pname,param), 190, 12)
+XVOID(glTexGenfv, (GLenum coord, GLenum pname, const GLfloat *params), (coord,pname,params), 191, 12)
+XVOID(glTexGeni, (GLenum coord, GLenum pname, GLint param), (coord,pname,param), 192, 12)
+XVOID(glTexGeniv, (GLenum coord, GLenum pname, const GLint *params), (coord,pname,params), 193, 12)
+XVOID(glTexImage1D, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels), (target,level,internalformat,width,border,format,type,pixels), 182, 32)
+XVOID(glTexImage2D, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels), (target,level,internalformat,width,height,border,format,type,pixels), 183, 36)
+XVOID(glTexParameterf, (GLenum target, GLenum pname, GLfloat param), (target,pname,param), 178, 12)
+XVOID(glTexParameterfv, (GLenum target, GLenum pname, const GLfloat *params), (target,pname,params), 179, 12)
+XVOID(glTexParameteri, (GLenum target, GLenum pname, GLint param), (target,pname,param), 180, 12)
+XVOID(glTexParameteriv, (GLenum target, GLenum pname, const GLint *params), (target,pname,params), 181, 12)
+XVOID(glTexSubImage1D, (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels), (target,level,xoffset,width,format,type,pixels), 332, 28)
+XVOID(glTexSubImage2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels), (target,level,xoffset,yoffset,width,height,format,type,pixels), 333, 36)
+XVOID(glViewport, (GLint x, GLint y, GLsizei width, GLsizei height), (x,y,width,height), 305, 16)
+
+/* EOF */
--- /dev/null
+// teb.h
+
+#ifdef _MSC_VER
+
+typedef struct _TEB
+{
+ char blah[0x7C4];
+ PVOID glDispatchTable[0xA3]; /* 7C4h */
+ PVOID glReserved1[0xA3]; /* A50h */
+ PVOID glReserved2; /* BDCh */
+ PVOID glSectionInfo; /* BE0h */
+ PVOID glSection; /* BE4h */
+ PVOID glTable; /* BE8h */
+ PVOID glCurrentRC; /* BECh */
+ PVOID glContext; /* BF0h */
+} TEB, *PTEB;
+
+#pragma warning ( disable : 4035 )
+static inline PTEB __declspec(naked) NtCurrentTeb(void)
+{
+ //struct _TEB * pTeb;
+ __asm mov eax, fs:0x18
+ //__asm mov pTeb, eax
+ //return pTeb;
+};
+#pragma warning ( default : 4035 )
+
+#else/*_MSC_VER*/
+
+#include <ntos/types.h>
+#include <napi/teb.h>
+
+#endif/*_MSC_VER*/
--- /dev/null
+section .text
+
+%macro TEB_ENTRY 4
+;TEBOFF_%1 equ ($%3+7C4h)
+;export %1
+global _%1@%4
+_%1@%4:
+ mov eax, [fs:18h] ; obtain a pointer to the TEB
+ jmp [eax+%3+7C4h]
+%endmacro
+%include "teblist.mac"
+%undef TEB_ENTRY
--- /dev/null
+;TEB_ENTRY name,icdidx,tebidx,stack
+TEB_ENTRY glCallList,2,0,4
+TEB_ENTRY glCallLists,3,1,12
+TEB_ENTRY glBegin,7,2,4
+TEB_ENTRY glColor3b,9,3,12
+TEB_ENTRY glColor3bv,10,4,4
+TEB_ENTRY glColor3d,11,5,24
+TEB_ENTRY glColor3dv,12,6,4
+TEB_ENTRY glColor3f,13,7,12
+TEB_ENTRY glColor3fv,14,8,4
+TEB_ENTRY glColor3i,15,9,12
+TEB_ENTRY glColor3iv,16,10,4
+TEB_ENTRY glColor3s,17,11,12
+TEB_ENTRY glColor3sv,18,12,4
+TEB_ENTRY glColor3ub,19,13,12
+TEB_ENTRY glColor3ubv,20,14,4
+TEB_ENTRY glColor3ui,21,15,12
+TEB_ENTRY glColor3uiv,22,16,4
+TEB_ENTRY glColor3us,23,17,12
+TEB_ENTRY glColor3usv,24,18,4
+TEB_ENTRY glColor4b,25,19,16
+TEB_ENTRY glColor4bv,26,20,4
+TEB_ENTRY glColor4d,27,21,32
+TEB_ENTRY glColor4dv,28,22,4
+TEB_ENTRY glColor4f,29,23,16
+TEB_ENTRY glColor4fv,30,24,4
+TEB_ENTRY glColor4i,31,25,16
+TEB_ENTRY glColor4iv,32,26,4
+TEB_ENTRY glColor4s,33,27,16
+TEB_ENTRY glColor4sv,34,28,4
+TEB_ENTRY glColor4ub,35,29,16
+TEB_ENTRY glColor4ubv,36,30,4
+TEB_ENTRY glColor4ui,37,31,16
+TEB_ENTRY glColor4uiv,38,32,4
+TEB_ENTRY glColor4us,39,33,16
+TEB_ENTRY glColor4usv,40,34,4
+TEB_ENTRY glEdgeFlag,41,35,4
+TEB_ENTRY glEdgeFlagv,42,36,4
+TEB_ENTRY glEnd,43,37,0
+TEB_ENTRY glIndexd,44,38,8
+TEB_ENTRY glIndexdv,45,39,4
+TEB_ENTRY glIndexf,46,40,4
+TEB_ENTRY glIndexfv,47,41,4
+TEB_ENTRY glIndexi,48,42,4
+TEB_ENTRY glIndexiv,49,43,4
+TEB_ENTRY glIndexs,50,44,4
+TEB_ENTRY glIndexsv,51,45,4
+TEB_ENTRY glNormal3b,52,46,12
+TEB_ENTRY glNormal3bv,53,47,4
+TEB_ENTRY glNormal3d,54,48,24
+TEB_ENTRY glNormal3dv,55,49,4
+TEB_ENTRY glNormal3f,56,50,12
+TEB_ENTRY glNormal3fv,57,51,4
+TEB_ENTRY glNormal3i,58,52,12
+TEB_ENTRY glNormal3iv,59,53,4
+TEB_ENTRY glNormal3s,60,54,12
+TEB_ENTRY glNormal3sv,61,55,4
+TEB_ENTRY glTexCoord1d,94,56,8
+TEB_ENTRY glTexCoord1dv,95,57,4
+TEB_ENTRY glTexCoord1f,96,58,4
+TEB_ENTRY glTexCoord1fv,97,59,4
+TEB_ENTRY glTexCoord1i,98,60,4
+TEB_ENTRY glTexCoord1iv,99,61,4
+TEB_ENTRY glTexCoord1s,100,62,4
+TEB_ENTRY glTexCoord1sv,101,63,4
+TEB_ENTRY glTexCoord2d,102,64,16
+TEB_ENTRY glTexCoord2dv,103,65,4
+TEB_ENTRY glTexCoord2f,104,66,8
+TEB_ENTRY glTexCoord2fv,105,67,4
+TEB_ENTRY glTexCoord2i,106,68,8
+TEB_ENTRY glTexCoord2iv,107,69,4
+TEB_ENTRY glTexCoord2s,108,70,8
+TEB_ENTRY glTexCoord2sv,109,71,4
+TEB_ENTRY glTexCoord3d,110,72,24
+TEB_ENTRY glTexCoord3dv,111,73,4
+TEB_ENTRY glTexCoord3f,112,74,12
+TEB_ENTRY glTexCoord3fv,113,75,4
+TEB_ENTRY glTexCoord3i,114,76,12
+TEB_ENTRY glTexCoord3iv,115,77,4
+TEB_ENTRY glTexCoord3s,116,78,12
+TEB_ENTRY glTexCoord3sv,117,79,4
+TEB_ENTRY glTexCoord4d,118,80,32
+TEB_ENTRY glTexCoord4dv,119,81,4
+TEB_ENTRY glTexCoord4f,120,82,16
+TEB_ENTRY glTexCoord4fv,121,83,4
+TEB_ENTRY glTexCoord4i,122,84,16
+TEB_ENTRY glTexCoord4iv,123,85,4
+TEB_ENTRY glTexCoord4s,124,86,16
+TEB_ENTRY glTexCoord4sv,125,87,4
+TEB_ENTRY glVertex2d,126,88,16
+TEB_ENTRY glVertex2dv,127,89,4
+TEB_ENTRY glVertex2f,128,90,8
+TEB_ENTRY glVertex2fv,129,91,4
+TEB_ENTRY glVertex2i,130,92,8
+TEB_ENTRY glVertex2iv,131,93,4
+TEB_ENTRY glVertex2s,132,94,8
+TEB_ENTRY glVertex2sv,133,95,4
+TEB_ENTRY glVertex3d,134,96,24
+TEB_ENTRY glVertex3dv,135,97,4
+TEB_ENTRY glVertex3f,136,98,12
+TEB_ENTRY glVertex3fv,137,99,4
+TEB_ENTRY glVertex3i,138,100,12
+TEB_ENTRY glVertex3iv,139,101,4
+TEB_ENTRY glVertex3s,140,102,12
+TEB_ENTRY glVertex3sv,141,103,4
+TEB_ENTRY glVertex4d,142,104,32
+TEB_ENTRY glVertex4dv,143,105,4
+TEB_ENTRY glVertex4f,144,106,16
+TEB_ENTRY glVertex4fv,145,107,4
+TEB_ENTRY glVertex4i,146,108,16
+TEB_ENTRY glVertex4iv,147,109,4
+TEB_ENTRY glVertex4s,148,110,16
+TEB_ENTRY glVertex4sv,149,111,4
+TEB_ENTRY glMaterialf,169,112,12
+TEB_ENTRY glMaterialfv,170,113,12
+TEB_ENTRY glMateriali,171,114,12
+TEB_ENTRY glMaterialiv,172,115,12
+TEB_ENTRY glDisable,214,116,4
+TEB_ENTRY glEnable,215,117,4
+TEB_ENTRY glPopAttrib,218,118,0
+TEB_ENTRY glPushAttrib,219,119,4
+TEB_ENTRY glEvalCoord1d,228,120,8
+TEB_ENTRY glEvalCoord1dv,229,121,4
+TEB_ENTRY glEvalCoord1f,230,122,4
+TEB_ENTRY glEvalCoord1fv,231,123,4
+TEB_ENTRY glEvalCoord2d,232,124,16
+TEB_ENTRY glEvalCoord2dv,233,125,4
+TEB_ENTRY glEvalCoord2f,234,126,8
+TEB_ENTRY glEvalCoord2fv,235,127,4
+TEB_ENTRY glEvalPoint1,237,128,4
+TEB_ENTRY glEvalPoint2,239,129,8
+TEB_ENTRY glLoadIdentity,290,130,0
+TEB_ENTRY glLoadMatrixf,291,131,4
+TEB_ENTRY glLoadMatrixd,292,132,4
+TEB_ENTRY glMatrixMode,293,133,4
+TEB_ENTRY glMultMatrixf,294,134,4
+TEB_ENTRY glMultMatrixd,295,135,4
+TEB_ENTRY glPopMatrix,297,136,0
+TEB_ENTRY glPushMatrix,298,137,0
+TEB_ENTRY glRotated,299,138,32
+TEB_ENTRY glRotatef,300,139,16
+TEB_ENTRY glScaled,301,140,24
+TEB_ENTRY glScalef,302,141,12
+TEB_ENTRY glTranslated,303,142,24
+TEB_ENTRY glTranslatef,304,143,12
+TEB_ENTRY glArrayElement,306,144,4
+TEB_ENTRY glBindTexture,307,145,8
+TEB_ENTRY glColorPointer,308,146,16
+TEB_ENTRY glDisableClientState,309,147,4
+TEB_ENTRY glDrawArrays,310,148,12
+TEB_ENTRY glDrawElements,311,149,16
+TEB_ENTRY glEdgeFlagPointer,312,150,8
+TEB_ENTRY glEnableClientState,313,151,4
+TEB_ENTRY glIndexPointer,314,152,12
+TEB_ENTRY glIndexub,315,153,4
+TEB_ENTRY glIndexubv,316,154,4
+TEB_ENTRY glInterleavedArrays,317,155,12
+TEB_ENTRY glNormalPointer,318,156,12
+TEB_ENTRY glPolygonOffset,319,157,8
+TEB_ENTRY glTexCoordPointer,320,158,16
+TEB_ENTRY glVertexPointer,321,159,16
+TEB_ENTRY glGetPointerv,329,160,8
+TEB_ENTRY glPopClientAttrib,334,161,0
+TEB_ENTRY glPushClientAttrib,335,162,4
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
-#include <ntos/types.h>
-#include <napi/teb.h>
-#include <GL/gl.h>
-
+#include "teb.h"
#include "opengl32.h"
+#ifdef __cplusplus
+extern "C" {
+#endif//__cplusplus
+
+#ifdef _MSC_VER
+#define UNIMPLEMENTED
+#endif//_MSC_VER
/* FUNCTION: Append OpenGL Rendering Context (GLRC) to list
* ARGUMENTS: [IN] glrc: GLRC to append to list
*/
-static void WGL_AppendContext( GLRC *glrc )
+static
+void
+WGL_AppendContext( GLRC *glrc )
{
/* synchronize */
if (WaitForSingleObject( OPENGL32_processdata.glrc_mutex, INFINITE ) ==
/* FUNCTION: Remove OpenGL Rendering Context (GLRC) from list
* ARGUMENTS: [IN] glrc: GLRC to remove from list
*/
-static void WGL_RemoveContext( GLRC *glrc )
+static
+void
+WGL_RemoveContext( GLRC *glrc )
{
/* synchronize */
if (WaitForSingleObject( OPENGL32_processdata.glrc_mutex, INFINITE ) ==
/* FUNCTION: Check wether a GLRC is in the list
* ARGUMENTS: [IN] glrc: GLRC to remove from list
*/
-static BOOL WGL_ContainsContext( GLRC *glrc )
+static
+BOOL
+WGL_ContainsContext( GLRC *glrc )
{
GLRC *p;
* functions)
* RETURNS: unkown
*/
-DWORD CALLBACK WGL_SetContextCallBack( const ICDTable *table )
+DWORD
+CALLBACK
+WGL_SetContextCallBack( const ICDTable *table )
{
/* UINT i;*/
TEB *teb;
}
-int APIENTRY rosglChoosePixelFormat( HDC hdc, CONST PIXELFORMATDESCRIPTOR *pfd )
+int
+APIENTRY
+rosglChoosePixelFormat( HDC hdc, CONST PIXELFORMATDESCRIPTOR *pfd )
{
UNIMPLEMENTED;
return 0;
* [IN] mask Bitfield like given to glPushAttrib()
* RETURN: TRUE on success, FALSE on failure
*/
-BOOL APIENTRY rosglCopyContext( HGLRC hsrc, HGLRC hdst, UINT mask )
+BOOL
+APIENTRY
+rosglCopyContext( HGLRC hsrc, HGLRC hdst, UINT mask )
{
GLRC *src = (GLRC *)hsrc;
GLRC *dst = (GLRC *)hdst;
}
-/* FUNCTION: Create a new GL Rendering Context for the given DC.
- * ARGUMENTS: [IN] hdc Handle for DC for which to create context
- * RETURNS: NULL on failure, new GLRC on success
- */
-HGLRC APIENTRY rosglCreateLayerContext( HDC hdc, int layer );
-HGLRC APIENTRY rosglCreateContext( HDC hdc )
-{
- return rosglCreateLayerContext( hdc, 0 );
-}
-
-
/* FUNCTION: Create a new GL Rendering Context for the given plane on
* the given DC.
* ARGUMENTS: [IN] hdc Handle for DC for which to create context
* [IN] layer Layer number to bind (draw?) to
* RETURNS: NULL on failure, new GLRC on success
*/
-HGLRC APIENTRY rosglCreateLayerContext( HDC hdc, int layer )
+HGLRC
+APIENTRY
+rosglCreateLayerContext( HDC hdc, int layer )
{
/* LONG ret;
WCHAR driver[256];
}
+/* FUNCTION: Create a new GL Rendering Context for the given DC.
+ * ARGUMENTS: [IN] hdc Handle for DC for which to create context
+ * RETURNS: NULL on failure, new GLRC on success
+ */
+HGLRC
+APIENTRY
+rosglCreateContext( HDC hdc )
+{
+ return rosglCreateLayerContext( hdc, 0 );
+}
+
+
/* FUNCTION: Delete an OpenGL context
* ARGUMENTS: [IN] hglrc Handle to GLRC to delete; must not be a threads RC!
* RETURNS: TRUE on success, FALSE otherwise
*/
-BOOL APIENTRY rosglDeleteContext( HGLRC hglrc )
+BOOL
+APIENTRY
+rosglDeleteContext( HGLRC hglrc )
{
GLRC *glrc = (GLRC *)hglrc;
}
-BOOL APIENTRY rosglDescribeLayerPlane( HDC hdc, int iPixelFormat, int iLayerPlane,
+BOOL
+APIENTRY
+rosglDescribeLayerPlane( HDC hdc, int iPixelFormat, int iLayerPlane,
UINT nBytes, LPLAYERPLANEDESCRIPTOR plpd )
{
UNIMPLEMENTED;
}
-int APIENTRY rosglDescribePixelFormat( HDC hdc, int iFormat, UINT nBytes,
+int
+APIENTRY
+rosglDescribePixelFormat( HDC hdc, int iFormat, UINT nBytes,
LPPIXELFORMATDESCRIPTOR pfd )
{
int ret = 0;
/* FUNCTION: Return the current GLRC
* RETURNS: Current GLRC (NULL if none was set current)
*/
-HGLRC APIENTRY rosglGetCurrentContext()
+HGLRC
+APIENTRY
+rosglGetCurrentContext()
{
return (HGLRC)(OPENGL32_threaddata->glrc);
}
/* FUNCTION: Return the current DC
* RETURNS: NULL on failure, current DC otherwise
*/
-HDC APIENTRY rosglGetCurrentDC()
+HDC
+APIENTRY
+rosglGetCurrentDC()
{
/* FIXME: is it correct to return NULL when there is no current GLRC or
is there another way to find out the wanted HDC? */
}
-int APIENTRY rosglGetLayerPaletteEntries( HDC hdc, int iLayerPlane, int iStart,
+int
+APIENTRY
+rosglGetLayerPaletteEntries( HDC hdc, int iLayerPlane, int iStart,
int cEntries, COLORREF *pcr )
{
UNIMPLEMENTED;
}
-int APIENTRY rosglGetPixelFormat( HDC hdc )
+int
+WINAPI
+rosglGetPixelFormat( HDC hdc )
{
UNIMPLEMENTED;
return 0;
* ARGUMENTS: [IN] proc: Name of the function to look for
* RETURNS: The address of the proc or NULL on failure.
*/
-PROC APIENTRY rosglGetProcAddress( LPCSTR proc )
+PROC
+APIENTRY
+rosglGetProcAddress( LPCSTR proc )
{
if (OPENGL32_threaddata->glrc == NULL)
{
* [IN] hglrc Handle for a GLRC to make current
* RETURNS: TRUE on success, FALSE otherwise
*/
-BOOL APIENTRY rosglMakeCurrent( HDC hdc, HGLRC hglrc )
+BOOL
+APIENTRY
+rosglMakeCurrent( HDC hdc, HGLRC hglrc )
{
GLRC *glrc = (GLRC *)hglrc;
}
-BOOL APIENTRY rosglRealizeLayerPalette( HDC hdc, int iLayerPlane, BOOL bRealize )
+BOOL
+APIENTRY
+rosglRealizeLayerPalette( HDC hdc, int iLayerPlane, BOOL bRealize )
{
UNIMPLEMENTED;
return FALSE;
}
-int APIENTRY rosglSetLayerPaletteEntries( HDC hdc, int iLayerPlane, int iStart,
- int cEntries, CONST COLORREF *pcr )
+int
+APIENTRY
+rosglSetLayerPaletteEntries( HDC hdc, int iLayerPlane, int iStart,
+ int cEntries, CONST COLORREF *pcr )
{
UNIMPLEMENTED;
return 0;
}
-BOOL APIENTRY rosglSetPixelFormat( HDC hdc, int iFormat,
- CONST PIXELFORMATDESCRIPTOR *pfd )
+BOOL
+WINAPI
+rosglSetPixelFormat( HDC hdc, int iFormat, CONST PIXELFORMATDESCRIPTOR *pfd )
{
GLDRIVERDATA *icd;
* [IN] hglrc2 GLRC number 2
* RETURNS: TRUR on success, FALSE on failure
*/
-BOOL APIENTRY rosglShareLists( HGLRC hglrc1, HGLRC hglrc2 )
+BOOL
+APIENTRY
+rosglShareLists( HGLRC hglrc1, HGLRC hglrc2 )
{
GLRC *glrc1 = (GLRC *)hglrc1;
GLRC *glrc2 = (GLRC *)hglrc2;
* ARGUMENTS: [IN] hdc Handle to device context to swap buffers for
* RETURNS: TRUE on success, FALSE on failure
*/
-BOOL APIENTRY rosglSwapBuffers( HDC hdc )
+BOOL
+APIENTRY
+rosglSwapBuffers( HDC hdc )
{
#if 0
/* check if there is a current GLRC */
}
-BOOL APIENTRY rosglSwapLayerBuffers( HDC hdc, UINT fuPlanes )
+BOOL
+APIENTRY
+rosglSwapLayerBuffers( HDC hdc, UINT fuPlanes )
{
UNIMPLEMENTED;
return FALSE;
}
-BOOL APIENTRY rosglUseFontBitmapsA( HDC hdc, DWORD first, DWORD count, DWORD listBase )
+BOOL
+APIENTRY
+rosglUseFontBitmapsA( HDC hdc, DWORD first, DWORD count, DWORD listBase )
{
UNIMPLEMENTED;
return FALSE;
}
-BOOL APIENTRY rosglUseFontBitmapsW( HDC hdc, DWORD first, DWORD count, DWORD listBase )
+BOOL
+APIENTRY
+rosglUseFontBitmapsW( HDC hdc, DWORD first, DWORD count, DWORD listBase )
{
UNIMPLEMENTED;
return FALSE;
}
-BOOL APIENTRY rosglUseFontOutlinesA( HDC hdc, DWORD first, DWORD count, DWORD listBase,
+BOOL
+APIENTRY
+rosglUseFontOutlinesA( HDC hdc, DWORD first, DWORD count, DWORD listBase,
FLOAT deviation, FLOAT extrusion, int format,
LPGLYPHMETRICSFLOAT lpgmf )
{
}
-BOOL APIENTRY rosglUseFontOutlinesW( HDC hdc, DWORD first, DWORD count, DWORD listBase,
+BOOL
+APIENTRY
+rosglUseFontOutlinesW( HDC hdc, DWORD first, DWORD count, DWORD listBase,
FLOAT deviation, FLOAT extrusion, int format,
LPGLYPHMETRICSFLOAT lpgmf )
{
return FALSE;
}
+#ifdef __cplusplus
+}; // extern "C"
+#endif//__cplusplus
+
/* EOF */