<commit_before>module Graphics.OpenGL.Types (
	  module Foreign.Ptr

	, GLDEBUGPROC
	, GLDEBUGPROCAMD
	, GLDEBUGPROCARB
	, GLDEBUGPROCKHR

	, GLbitfield
	, GLboolean
	, GLbyte
	, GLchar
	, GLcharARB
	, GLclampd
	, GLclampf
	, GLclampx
	, GLdouble
	, GLeglImageOES
	, GLenum
	, GLfixed
	, GLfloat
	, GLhalfNV
	, GLhandleARB
	, GLint
	, GLint64
	, GLint64EXT
	, GLintptr
	, GLintptrARB
	, GLshort
	, GLsizei
	, GLsizeiptr
	, GLsizeiptrARB
	, GLsync
	, GLubyte
	, GLuint
	, GLuint64
	, GLuint64EXT
	, GLushort
	, GLvdpauSurfaceNV
) where

import Data.Int
import Data.Word
import Foreign.C.Types
import Foreign.Ptr

type GLDEBUGPROC =
	FunPtr (GLenum
	     -> GLenum
	     -> GLuint
	     -> GLenum
	     -> GLsizei
	     -> Ptr GLchar
	     -> Ptr ()
	     -> IO ())

type GLDEBUGPROCAMD =
	FunPtr (GLuint
	     -> GLenum
	     -> GLenum
	     -> GLsizei
	     -> Ptr GLchar
	     -> Ptr ()
	     -> IO ())

type GLDEBUGPROCARB =
	FunPtr (GLenum
	     -> GLenum
	     -> GLuint
	     -> GLenum
	     -> GLsizei
	     -> Ptr GLchar
	     -> Ptr ()
	     -> IO ())

type GLDEBUGPROCKHR =
	FunPtr (GLenum
	     -> GLenum
	     -> GLuint
	     -> GLenum
	     -> GLsizei
	     -> Ptr GLchar
	     -> Ptr ()
	     -> IO ())

type GLbitfield = CUInt
type GLboolean = CUChar
type GLbyte = CSChar
type GLchar = CChar
type GLcharARB = CChar
type GLclampd = CDouble
type GLclampf = CFloat
type GLclampx = CInt
type GLdouble = CDouble
type GLeglImageOES = Ptr ()
type GLenum = CUInt
type GLfixed = GLint
type GLfloat = CFloat
type GLhalfNV = CUShort<commit_msg>Expose FFI wrappers for function types<commit_after>module Graphics.OpenGL.Types (
	  module Foreign.Ptr

	-- * Types
	-- ** Function Types
	, GLDEBUGPROC
	, GLDEBUGPROCAMD
	, GLDEBUGPROCARB
	, GLDEBUGPROCKHR

	, mkGLDEBUGPROC
	, mkGLDEBUGPROCAMD
	, mkGLDEBUGPROCARB
	, mkGLDEBUGPROCKHR

	-- ** Common Types
	, GLbitfield
	, GLboolean
	, GLbyte
	, GLchar
	, GLcharARB
	, GLclampd
	, GLclampf
	, GLclampx
	, GLdouble
	, GLeglImageOES
	, GLenum
	, GLfixed
	, GLfloat
	, GLhalfNV
	, GLhandleARB
	, GLint
	, GLint64
	, GLint64EXT
	, GLintptr
	, GLintptrARB
	, GLshort
	, GLsizei
	, GLsizeiptr
	, GLsizeiptrARB
	, GLsync
	, GLubyte
	, GLuint
	, GLuint64
	, GLuint64EXT
	, GLushort
	, GLvdpauSurfaceNV
) where

import Data.Int
import Data.Word
import Foreign.C.Types
import Foreign.Ptr

type GLDEBUGPROC =
	FunPtr (GLenum
	     -> GLenum
	     -> GLuint
	     -> GLenum
	     -> GLsizei
	     -> Ptr GLchar
	     -> Ptr ()
	     -> IO ())

type GLDEBUGPROCAMD =
	FunPtr (GLuint
	     -> GLenum
	     -> GLenum
	     -> GLsizei
	     -> Ptr GLchar
	     -> Ptr ()
	     -> IO ())

type GLDEBUGPROCARB =
	FunPtr (GLenum
	     -> GLenum
	     -> GLuint
	     -> GLenum
	     -> GLsizei
	     -> Ptr GLchar
	     -> Ptr ()
	     -> IO ())

type GLDEBUGPROCKHR =
	FunPtr (GLenum
	     -> GLenum
	     -> GLuint
	     -> GLenum
	     -> GLsizei
	     -> Ptr GLchar
	     -> Ptr ()
	     -> IO ())

foreign import ccall "wrapper"
	mkGLDEBUGPROC :: (GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ()) -> IO GLDEBUGPROC

foreign import ccall "wrapper"
	mkGLDEBUGPROCAMD :: (GLuint -> GLenum -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ()) -> IO GLDEBUGPROCAMD

foreign import ccall "wrapper"
	mkGLDEBUGPROCARB :: (GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ()) -> IO GLDEBUGPROCARB

foreign import ccall "wrapper"
	mkGLDEBUGPROCKHR :: (GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> Ptr () -> IO ()) -> IO GLDEBUGPROCKHR

type GLbitfield = CUInt
type GLboolean = CUChar
type GLbyte = CSChar
type GLchar = CChar
type GLcharARB = CChar
type GLclampd = CDouble
type GLclampf = CFloat
type GLclampx = CInt
type GLdouble = CDouble
type GLeglImageOES = Ptr ()
type GLenum = CUInt
type GLfixed = GLint
type GLfloat = CFloat
type GLhalfNV = CUShort
{'fraction_non_alphanumeric': 0.10587626197256018, 'fraction_numerical': 0.0041418586590732595, 'mean_word_length': 2.4134275618374557, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 88, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3678491', 'n_tokens_mistral': 1539, 'n_tokens_neox': 1469, 'n_words': 350}