diff R/rdyncall/inst/dynports/SDL.R @ 0:0cfcc391201f

initial from svn dyncall-1745
author Daniel Adler
date Thu, 19 Mar 2015 22:26:28 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/R/rdyncall/inst/dynports/SDL.R	Thu Mar 19 22:26:28 2015 +0100
@@ -0,0 +1,760 @@
+# Mac OS X: this one is needed in case, we are running from Console
+# and no initial event loop is available.
+  
+# On Mac OS X Console, a Cocoa Environment is needed for SDL.
+if ( Sys.info()[["sysname"]] == "Darwin" && .Platform$GUI != "AQUA") {
+
+  # This seem to be the most practical solution for now:
+  # A dummy quartz device is created and closed again.
+  
+  quartz()
+  dev.off()
+
+  # An alternative solution via R package 'cocoa' from dyncall site.
+  # source: http://dyncall.org/svn/trunk/bindings/R/cocoa 
+  
+  # from: http://www.mail-archive.com/r-help@r-project.org/msg91375.html
+  # is.installed <- function(mypkg) is.element(mypkg, installed.packages()[,1])
+  #if (!is.installed("cocoa")) {
+  #  install.packages("cocoa",,"http://dyncall.org/r")
+  #}
+  #library(cocoa)
+
+  # Probably on 10.3 using Carbon with older SDL:
+  #
+  # FIXME: Create NSAutoreleasePool 
+  # if (!is.installed("CarbonEL")) {
+  #   install.packages("CarbonEL",,"http://rforge.net")
+  # }
+  # library(CarbonEL)
+}
+
+dynbind( c("SDL","SDL-1.2","SDL-1.2.so.0"), "
+SDL_AddTimer(I*p*v)*<_SDL_TimerID>;
+SDL_AllocRW()*<SDL_RWops>;
+SDL_AudioDriverName(*ci)*c;
+SDL_AudioInit(*c)i;
+SDL_AudioQuit()v;
+SDL_BuildAudioCVT(*<SDL_AudioCVT>SCiSCi)i;
+SDL_CDClose(*<SDL_CD>)v;
+SDL_CDEject(*<SDL_CD>)i;
+SDL_CDName(i)*c;
+SDL_CDNumDrives()i;
+SDL_CDOpen(i)*<SDL_CD>;
+SDL_CDPause(*<SDL_CD>)i;
+SDL_CDPlay(*<SDL_CD>ii)i;
+SDL_CDPlayTracks(*<SDL_CD>iiii)i;
+SDL_CDResume(*<SDL_CD>)i;
+SDL_CDStatus(*<SDL_CD>)i;
+SDL_CDStop(*<SDL_CD>)i;
+SDL_ClearError()v;
+SDL_CloseAudio()v;
+SDL_CondBroadcast(*<SDL_cond>)i;
+SDL_CondSignal(*<SDL_cond>)i;
+SDL_CondWait(*<SDL_cond>*<SDL_mutex>)i;
+SDL_CondWaitTimeout(*<SDL_cond>*<SDL_mutex>I)i;
+SDL_ConvertAudio(*<SDL_AudioCVT>)i;
+SDL_ConvertSurface(*<SDL_Surface>*<SDL_PixelFormat>I)*<SDL_Surface>;
+SDL_CreateCond()*<SDL_cond>;
+SDL_CreateCursor(*C*Ciiii)*<SDL_Cursor>;
+SDL_CreateMutex()*<SDL_mutex>;
+SDL_CreateRGBSurface(IiiiIIII)*<SDL_Surface>;
+SDL_CreateRGBSurfaceFrom(*viiiiIIII)*<SDL_Surface>;
+SDL_CreateSemaphore(I)*<SDL_semaphore>;
+SDL_CreateThread(*p*v)*<SDL_Thread>;
+SDL_CreateYUVOverlay(iiI*<SDL_Surface>)*<SDL_Overlay>;
+SDL_Delay(I)v;
+SDL_DestroyCond(*<SDL_cond>)v;
+SDL_DestroyMutex(*<SDL_mutex>)v;
+SDL_DestroySemaphore(*<SDL_semaphore>)v;
+SDL_DisplayFormat(*<SDL_Surface>)*<SDL_Surface>;
+SDL_DisplayFormatAlpha(*<SDL_Surface>)*<SDL_Surface>;
+SDL_DisplayYUVOverlay(*<SDL_Overlay>*<SDL_Rect>)i;
+SDL_EnableKeyRepeat(ii)i;
+SDL_EnableUNICODE(i)i;
+SDL_Error(i)v;
+SDL_EventState(Ci)C;
+SDL_FillRect(*<SDL_Surface>*<SDL_Rect>I)i;
+SDL_Flip(*<SDL_Surface>)i;
+SDL_FreeCursor(*<SDL_Cursor>)v;
+SDL_FreeRW(*<SDL_RWops>)v;
+SDL_FreeSurface(*<SDL_Surface>)v;
+SDL_FreeWAV(*C)v;
+SDL_FreeYUVOverlay(*<SDL_Overlay>)v;
+SDL_GL_GetAttribute(i*i)i;
+SDL_GL_GetProcAddress(*c)*v;
+SDL_GL_LoadLibrary(*c)i;
+SDL_GL_Lock()v;
+SDL_GL_SetAttribute(ii)i;
+SDL_GL_SwapBuffers()v;
+SDL_GL_Unlock()v;
+SDL_GL_UpdateRects(i*<SDL_Rect>)v;
+SDL_GetAppState()C;
+SDL_GetAudioStatus()i;
+SDL_GetClipRect(*<SDL_Surface>*<SDL_Rect>)v;
+SDL_GetCursor()*<SDL_Cursor>;
+SDL_GetError()*c;
+SDL_GetEventFilter()*p;
+SDL_GetGammaRamp(*S*S*S)i;
+SDL_GetKeyName(i)*c;
+SDL_GetKeyRepeat(*i*i)v;
+SDL_GetKeyState(*i)*C;
+SDL_GetModState()i;
+SDL_GetMouseState(*i*i)C;
+SDL_GetRGB(I*<SDL_PixelFormat>*C*C*C)v;
+SDL_GetRGBA(I*<SDL_PixelFormat>*C*C*C*C)v;
+SDL_GetRelativeMouseState(*i*i)C;
+SDL_GetThreadID(*<SDL_Thread>)I;
+SDL_GetTicks()I;
+SDL_GetVideoInfo()*<SDL_VideoInfo>;
+SDL_GetVideoSurface()*<SDL_Surface>;
+SDL_Has3DNow()i;
+SDL_Has3DNowExt()i;
+SDL_HasAltiVec()i;
+SDL_HasMMX()i;
+SDL_HasMMXExt()i;
+SDL_HasRDTSC()i;
+SDL_HasSSE()i;
+SDL_HasSSE2()i;
+SDL_Init(I)i;
+SDL_InitSubSystem(I)i;
+SDL_JoystickClose(*<_SDL_Joystick>)v;
+SDL_JoystickEventState(i)i;
+SDL_JoystickGetAxis(*<_SDL_Joystick>i)s;
+SDL_JoystickGetBall(*<_SDL_Joystick>i*i*i)i;
+SDL_JoystickGetButton(*<_SDL_Joystick>i)C;
+SDL_JoystickGetHat(*<_SDL_Joystick>i)C;
+SDL_JoystickIndex(*<_SDL_Joystick>)i;
+SDL_JoystickName(i)*c;
+SDL_JoystickNumAxes(*<_SDL_Joystick>)i;
+SDL_JoystickNumBalls(*<_SDL_Joystick>)i;
+SDL_JoystickNumButtons(*<_SDL_Joystick>)i;
+SDL_JoystickNumHats(*<_SDL_Joystick>)i;
+SDL_JoystickOpen(i)*<_SDL_Joystick>;
+SDL_JoystickOpened(i)i;
+SDL_JoystickUpdate()v;
+SDL_KillThread(*<SDL_Thread>)v;
+SDL_Linked_Version()*<SDL_version>;
+SDL_ListModes(*<SDL_PixelFormat>I)*;
+SDL_LoadBMP_RW(*<SDL_RWops>i)*<SDL_Surface>;
+SDL_LoadFunction(*v*c)*v;
+SDL_LoadObject(*c)*v;
+SDL_LoadWAV_RW(*<SDL_RWops>i*<SDL_AudioSpec>**I)*<SDL_AudioSpec>;
+SDL_LockAudio()v;
+SDL_LockSurface(*<SDL_Surface>)i;
+SDL_LockYUVOverlay(*<SDL_Overlay>)i;
+SDL_LowerBlit(*<SDL_Surface>*<SDL_Rect>*<SDL_Surface>*<SDL_Rect>)i;
+SDL_MapRGB(*<SDL_PixelFormat>CCC)I;
+SDL_MapRGBA(*<SDL_PixelFormat>CCCC)I;
+SDL_MixAudio(*C*CIi)v;
+SDL_NumJoysticks()i;
+SDL_OpenAudio(*<SDL_AudioSpec>*<SDL_AudioSpec>)i;
+SDL_PauseAudio(i)v;
+SDL_PeepEvents(*<SDL_Event>iiI)i;
+SDL_PollEvent(*<SDL_Event>)i;
+SDL_PumpEvents()v;
+SDL_PushEvent(*<SDL_Event>)i;
+SDL_Quit()v;
+SDL_QuitSubSystem(I)v;
+SDL_RWFromConstMem(*vi)*<SDL_RWops>;
+SDL_RWFromFP(*<__sFILE>i)*<SDL_RWops>;
+SDL_RWFromFile(*c*c)*<SDL_RWops>;
+SDL_RWFromMem(*vi)*<SDL_RWops>;
+SDL_ReadBE16(*<SDL_RWops>)S;
+SDL_ReadBE32(*<SDL_RWops>)I;
+SDL_ReadBE64(*<SDL_RWops>)L;
+SDL_ReadLE16(*<SDL_RWops>)S;
+SDL_ReadLE32(*<SDL_RWops>)I;
+SDL_ReadLE64(*<SDL_RWops>)L;
+SDL_RemoveTimer(*<_SDL_TimerID>)i;
+SDL_SaveBMP_RW(*<SDL_Surface>*<SDL_RWops>i)i;
+SDL_SemPost(*<SDL_semaphore>)i;
+SDL_SemTryWait(*<SDL_semaphore>)i;
+SDL_SemValue(*<SDL_semaphore>)I;
+SDL_SemWait(*<SDL_semaphore>)i;
+SDL_SemWaitTimeout(*<SDL_semaphore>I)i;
+SDL_SetAlpha(*<SDL_Surface>IC)i;
+SDL_SetClipRect(*<SDL_Surface>*<SDL_Rect>)i;
+SDL_SetColorKey(*<SDL_Surface>II)i;
+SDL_SetColors(*<SDL_Surface>*<SDL_Color>ii)i;
+SDL_SetCursor(*<SDL_Cursor>)v;
+SDL_SetError(*c)v;
+SDL_SetEventFilter(*p)v;
+SDL_SetGamma(fff)i;
+SDL_SetGammaRamp(*S*S*S)i;
+SDL_SetModState(i)v;
+SDL_SetPalette(*<SDL_Surface>i*<SDL_Color>ii)i;
+SDL_SetTimer(I*p)i;
+SDL_SetVideoMode(iiiI)*<SDL_Surface>;
+SDL_ShowCursor(i)i;
+SDL_SoftStretch(*<SDL_Surface>*<SDL_Rect>*<SDL_Surface>*<SDL_Rect>)i;
+SDL_Swap16(S)S;
+SDL_Swap32(I)I;
+SDL_Swap64(L)L;
+SDL_ThreadID()I;
+SDL_UnloadObject(*v)v;
+SDL_UnlockAudio()v;
+SDL_UnlockSurface(*<SDL_Surface>)v;
+SDL_UnlockYUVOverlay(*<SDL_Overlay>)v;
+SDL_UpdateRect(*<SDL_Surface>iiII)v;
+SDL_UpdateRects(*<SDL_Surface>i*<SDL_Rect>)v;
+SDL_UpperBlit(*<SDL_Surface>*<SDL_Rect>*<SDL_Surface>*<SDL_Rect>)i;
+SDL_VideoDriverName(*ci)*c;
+SDL_VideoInit(*cI)i;
+SDL_VideoModeOK(iiiI)i;
+SDL_VideoQuit()v;
+SDL_WM_GetCaption(**)v;
+SDL_WM_GrabInput(i)i;
+SDL_WM_IconifyWindow()i;
+SDL_WM_SetCaption(*c*c)v;
+SDL_WM_SetIcon(*<SDL_Surface>*C)v;
+SDL_WM_ToggleFullScreen(*<SDL_Surface>)i;
+SDL_WaitEvent(*<SDL_Event>)i;
+SDL_WaitThread(*<SDL_Thread>*i)v;
+SDL_WarpMouse(SS)v;
+SDL_WasInit(I)I;
+SDL_WriteBE16(*<SDL_RWops>S)i;
+SDL_WriteBE32(*<SDL_RWops>I)i;
+SDL_WriteBE64(*<SDL_RWops>L)i;
+SDL_WriteLE16(*<SDL_RWops>S)i;
+SDL_WriteLE32(*<SDL_RWops>I)i;
+SDL_WriteLE64(*<SDL_RWops>L)i;
+SDL_iconv(*<_SDL_iconv_t>**J**J)J;
+SDL_iconv_close(*<_SDL_iconv_t>)i;
+SDL_iconv_open(*c*c)*<_SDL_iconv_t>;
+SDL_iconv_string(*c*c*cJ)*c;
+SDL_lltoa(l*ci)*c;
+SDL_ltoa(j*ci)*c;
+SDL_main(i*)i;
+SDL_mutexP(*<SDL_mutex>)i;
+SDL_mutexV(*<SDL_mutex>)i;
+SDL_strlwr(*c)*c;
+SDL_strrev(*c)*c;
+SDL_strupr(*c)*c;
+SDL_ulltoa(L*ci)*c;
+SDL_ultoa(J*ci)*c;
+")
+parseStructInfos("
+SDL_Rect{ssSS}x y w h ;
+SDL_version{CCC}major minor patch ;
+SDL_SysWMEvent{C*<SDL_SysWMmsg>}type msg ;
+SDL_SysWMmsg{};
+SDL_UserEvent{Ci*v*v}type code data1 data2 ;
+SDL_QuitEvent{C}type ;
+SDL_ExposeEvent{C}type ;
+SDL_ResizeEvent{Cii}type w h ;
+SDL_JoyButtonEvent{CCCC}type which button state ;
+SDL_JoyHatEvent{CCCC}type which hat value ;
+SDL_JoyBallEvent{CCCss}type which ball xrel yrel ;
+SDL_JoyAxisEvent{CCCs}type which axis value ;
+SDL_MouseButtonEvent{CCCCSS}type which button state x y ;
+SDL_MouseMotionEvent{CCCSSss}type which state x y xrel yrel ;
+SDL_keysym{CiiS}scancode sym mod unicode ;
+SDL_KeyboardEvent{CCC<SDL_keysym>}type which state keysym ;
+SDL_ActiveEvent{CCC}type gain state ;
+WMcursor{};
+private_yuvhwdata{};
+private_yuvhwfuncs{};
+SDL_VideoInfo{IIIIIIIIIIIII*<SDL_PixelFormat>ii}hw_available wm_available UnusedBits1 UnusedBits2 blit_hw blit_hw_CC blit_hw_A blit_sw blit_sw_CC blit_sw_A blit_fill UnusedBits3 video_mem vfmt current_w current_h ;
+SDL_Surface{I*<SDL_PixelFormat>iiS*vi*<private_hwdata><SDL_Rect>II*<SDL_BlitMap>Ii}flags format w h pitch pixels offset hwdata clip_rect unused1 locked map format_version refcount ;
+SDL_BlitMap{};
+private_hwdata{};
+SDL_PixelFormat{*<SDL_Palette>CCCCCCCCCCIIIIIC}palette BitsPerPixel BytesPerPixel Rloss Gloss Bloss Aloss Rshift Gshift Bshift Ashift Rmask Gmask Bmask Amask colorkey alpha ;
+SDL_Palette{i*<SDL_Color>}ncolors colors ;
+SDL_Color{CCCC}r g b unused ;
+SDL_CDtrack{CCSII}id type unused length offset ;
+SDL_Thread{};
+SDL_cond{};
+SDL_semaphore{};
+SDL_mutex{};
+")
+.deactivated <- "SDL_AudioCVT{iSSd*Ciiidi}needed src_format dst_format rate_incr buf len len_cvt len_mult len_ratio filters filter_index ;
+SDL_Overlay{Iiii*S**<private_yuvhwfuncs>*<private_yuvhwdata>II}format w h planes pitches pixels hwfuncs hwdata hw_overlay UnusedBits ;
+SDL_Cursor{<SDL_Rect>ss*C*C*<WMcursor>}area hot_x hot_y data mask save wm_cursor ;
+SDL_CD{iiiii}id status numtracks cur_track cur_frame track ;
+SDL_AudioSpec{iSCCSSI*p*v}freq format channels silence samples padding size callback userdata ;
+SDL_RWops{*p*p*p*pI<$_16>}seek read write close type hidden ;
+imaxdiv_t{ll}quot rem ;
+lldiv_t{ll}quot rem ;
+ldiv_t{jj}quot rem ;
+div_t{ii}quot rem ;
+rlimit{LL}rlim_cur rlim_max ;
+rusage{<timeval><timeval>jjjjjjjjjjjjjj}ru_utime ru_stime ru_maxrss ru_ixrss ru_idrss ru_isrss ru_minflt ru_majflt ru_nswap ru_inblock ru_oublock ru_msgsnd ru_msgrcv ru_nsignals ru_nvcsw ru_nivcsw ;
+timeval{ji}tv_sec tv_usec ;
+sigstack{*ci}ss_sp ss_onstack ;
+sigvec{*pii}sv_handler sv_mask sv_flags ;
+sigaction{<__sigaction_u>Ii}__sigaction_u sa_mask sa_flags ;
+sigevent{ii<sigval>*p*<_opaque_pthread_attr_t>}sigev_notify sigev_signo sigev_value sigev_notify_function sigev_notify_attributes ;
+fd_set{}fds_bits ;
+"
+parseUnionInfos("
+SDL_Event|C<SDL_ActiveEvent><SDL_KeyboardEvent><SDL_MouseMotionEvent><SDL_MouseButtonEvent><SDL_JoyAxisEvent><SDL_JoyBallEvent><SDL_JoyHatEvent><SDL_JoyButtonEvent><SDL_ResizeEvent><SDL_ExposeEvent><SDL_QuitEvent><SDL_UserEvent><SDL_SysWMEvent>}type active key motion button jaxis jball jhat jbutton resize expose quit user syswm ;
+")
+AUDIO_S16=0x8010
+AUDIO_S16LSB=0x8010
+AUDIO_S16MSB=0x9010
+AUDIO_S16SYS=0x8010
+AUDIO_S8=0x8008
+AUDIO_U16=0x0010
+AUDIO_U16LSB=0x0010
+AUDIO_U16MSB=0x1010
+AUDIO_U16SYS=0x0010
+AUDIO_U8=0x0008
+SDLCALL=
+SDL_ALLEVENTS=0xFFFFFFFF
+SDL_ALL_HOTKEYS=0xFFFFFFFF
+SDL_ALPHA_OPAQUE=255
+SDL_ALPHA_TRANSPARENT=0
+SDL_ANYFORMAT=0x10000000
+SDL_APPACTIVE=0x04
+SDL_APPINPUTFOCUS=0x02
+SDL_APPMOUSEFOCUS=0x01
+SDL_ASSEMBLY_ROUTINES=1
+SDL_ASYNCBLIT=0x00000004
+SDL_AUDIO_DRIVER_COREAUDIO=1
+SDL_AUDIO_DRIVER_DISK=1
+SDL_AUDIO_DRIVER_DUMMY=1
+SDL_AUDIO_DRIVER_SNDMGR=1
+SDL_AUDIO_TRACK=0x00
+SDL_AllocSurface=SDL_CreateRGBSurface
+SDL_BIG_ENDIAN=4321
+SDL_BUTTON_LEFT=1
+# SDL_BUTTON_LMASK=(1 << ((1)-1))
+SDL_BUTTON_MIDDLE=2
+# SDL_BUTTON_MMASK=(1 << ((2)-1))
+SDL_BUTTON_RIGHT=3
+# SDL_BUTTON_RMASK=(1 << ((3)-1))
+SDL_BUTTON_WHEELDOWN=5
+SDL_BUTTON_WHEELUP=4
+SDL_BUTTON_X1=6
+# SDL_BUTTON_X1MASK=(1 << ((6)-1))
+SDL_BUTTON_X2=7
+# SDL_BUTTON_X2MASK=(1 << ((7)-1))
+SDL_BYTEORDER=1234
+SDL_BlitSurface=SDL_UpperBlit
+SDL_CDROM_MACOSX=1
+# SDL_COMPILEDVERSION=((1)*1000 + (2)*100 + (13))
+SDL_Colour=SDL_Color
+SDL_DATA_TRACK=0x04
+SDL_DEFAULT_REPEAT_DELAY=500
+SDL_DEFAULT_REPEAT_INTERVAL=30
+SDL_DISABLE=0
+SDL_DOUBLEBUF=0x40000000
+SDL_ENABLE=1
+SDL_FULLSCREEN=0x80000000
+SDL_HAS_64BIT_TYPE=1
+SDL_HAT_CENTERED=0x00
+SDL_HAT_DOWN=0x04
+SDL_HAT_LEFT=0x08
+# SDL_HAT_LEFTDOWN=(0x08|0x04)
+# SDL_HAT_LEFTUP=(0x08|0x01)
+SDL_HAT_RIGHT=0x02
+# SDL_HAT_RIGHTDOWN=(0x02|0x04)
+# SDL_HAT_RIGHTUP=(0x02|0x01)
+SDL_HAT_UP=0x01
+SDL_HWACCEL=0x00000100
+SDL_HWPALETTE=0x20000000
+SDL_HWSURFACE=0x00000001
+# SDL_ICONV_E2BIG=(size_t)-2
+# SDL_ICONV_EILSEQ=(size_t)-3
+# SDL_ICONV_EINVAL=(size_t)-4
+# SDL_ICONV_ERROR=(size_t)-1
+SDL_IGNORE=0
+SDL_INIT_AUDIO=0x00000010
+SDL_INIT_CDROM=0x00000100
+SDL_INIT_EVENTTHREAD=0x01000000
+SDL_INIT_EVERYTHING=0x0000FFFF
+SDL_INIT_JOYSTICK=0x00000200
+SDL_INIT_NOPARACHUTE=0x00100000
+SDL_INIT_TIMER=0x00000001
+SDL_INIT_VIDEO=0x00000020
+SDL_INLINE_OKAY=
+SDL_IYUV_OVERLAY=0x56555949
+SDL_JOYSTICK_IOKIT=1
+SDL_LIL_ENDIAN=1234
+SDL_LOADSO_DLOPEN=1
+SDL_LOGPAL=0x01
+SDL_MAJOR_VERSION=1
+SDL_MAX_TRACKS=99
+SDL_MINOR_VERSION=2
+SDL_MIX_MAXVOLUME=128
+# SDL_MUTEX_MAXWAIT=(~(Uint32)0)
+SDL_MUTEX_TIMEDOUT=1
+SDL_NOFRAME=0x00000020
+SDL_OPENGL=0x00000002
+SDL_OPENGLBLIT=0x0000000A
+SDL_PATCHLEVEL=13
+SDL_PHYSPAL=0x02
+SDL_PREALLOC=0x01000000
+SDL_PRESSED=1
+SDL_QUERY=-1
+SDL_RELEASED=0
+SDL_RESIZABLE=0x00000010
+SDL_RLEACCEL=0x00004000
+SDL_RLEACCELOK=0x00002000
+SDL_SRCALPHA=0x00010000
+SDL_SRCCOLORKEY=0x00001000
+SDL_SWSURFACE=0x00000000
+SDL_THREAD_PTHREAD=1
+SDL_THREAD_PTHREAD_RECURSIVE_MUTEX=1
+SDL_TIMER_UNIX=1
+SDL_TIMESLICE=10
+SDL_UYVY_OVERLAY=0x59565955
+SDL_VIDEO_DRIVER_DUMMY=1
+SDL_VIDEO_DRIVER_QUARTZ=1
+SDL_VIDEO_OPENGL=1
+SDL_YUY2_OVERLAY=0x32595559
+SDL_YV12_OVERLAY=0x32315659
+SDL_YVYU_OVERLAY=0x55595659
+#SDL_abs=abs
+#SDL_atof=atof
+#SDL_atoi=atoi
+#SDL_calloc=calloc
+#SDL_free=free
+#SDL_getenv=getenv
+#SDL_malloc=malloc
+#SDL_memcmp=memcmp
+#SDL_memmove=memmove
+#SDL_memset=memset
+#SDL_putenv=putenv
+#SDL_qsort=qsort
+#SDL_realloc=realloc
+#SDL_snprintf=snprintf
+#SDL_sscanf=sscanf
+#SDL_strcasecmp=strcasecmp
+#SDL_strchr=strchr
+#SDL_strcmp=strcmp
+#SDL_strdup=strdup
+#SDL_strlcat=strlcat
+#SDL_strlcpy=strlcpy
+#SDL_strlen=strlen
+#SDL_strncasecmp=strncasecmp
+#SDL_strncmp=strncmp
+#SDL_strrchr=strrchr
+#SDL_strstr=strstr
+#SDL_strtod=strtod
+#SDL_strtol=strtol
+#SDL_strtoll=strtoll
+#SDL_strtoul=strtoul
+#SDL_strtoull=strtoull
+#SDL_vsnprintf=vsnprintf
+
+
+SDL_ADDEVENT=0;
+SDL_PEEKEVENT=1;
+SDL_GETEVENT=2;
+SDL_ACTIVEEVENTMASK=2;
+SDL_KEYDOWNMASK=4;
+SDL_KEYUPMASK=8;
+SDL_KEYEVENTMASK=12;
+SDL_MOUSEMOTIONMASK=16;
+SDL_MOUSEBUTTONDOWNMASK=32;
+SDL_MOUSEBUTTONUPMASK=64;
+SDL_MOUSEEVENTMASK=112;
+SDL_JOYAXISMOTIONMASK=128;
+SDL_JOYBALLMOTIONMASK=256;
+SDL_JOYHATMOTIONMASK=512;
+SDL_JOYBUTTONDOWNMASK=1024;
+SDL_JOYBUTTONUPMASK=2048;
+SDL_JOYEVENTMASK=3968;
+SDL_VIDEORESIZEMASK=65536;
+SDL_VIDEOEXPOSEMASK=131072;
+SDL_QUITMASK=4096;
+SDL_SYSWMEVENTMASK=8192;
+SDL_NOEVENT=0;
+SDL_ACTIVEEVENT=1;
+SDL_KEYDOWN=2;
+SDL_KEYUP=3;
+SDL_MOUSEMOTION=4;
+SDL_MOUSEBUTTONDOWN=5;
+SDL_MOUSEBUTTONUP=6;
+SDL_JOYAXISMOTION=7;
+SDL_JOYBALLMOTION=8;
+SDL_JOYHATMOTION=9;
+SDL_JOYBUTTONDOWN=10;
+SDL_JOYBUTTONUP=11;
+SDL_QUIT=12;
+SDL_SYSWMEVENT=13;
+SDL_EVENT_RESERVEDA=14;
+SDL_EVENT_RESERVEDB=15;
+SDL_VIDEORESIZE=16;
+SDL_VIDEOEXPOSE=17;
+SDL_EVENT_RESERVED2=18;
+SDL_EVENT_RESERVED3=19;
+SDL_EVENT_RESERVED4=20;
+SDL_EVENT_RESERVED5=21;
+SDL_EVENT_RESERVED6=22;
+SDL_EVENT_RESERVED7=23;
+SDL_USEREVENT=24;
+SDL_NUMEVENTS=32;
+SDL_GRAB_QUERY=-1;
+SDL_GRAB_OFF=0;
+SDL_GRAB_ON=1;
+SDL_GRAB_FULLSCREEN=2;
+SDL_GL_RED_SIZE=0;
+SDL_GL_GREEN_SIZE=1;
+SDL_GL_BLUE_SIZE=2;
+SDL_GL_ALPHA_SIZE=3;
+SDL_GL_BUFFER_SIZE=4;
+SDL_GL_DOUBLEBUFFER=5;
+SDL_GL_DEPTH_SIZE=6;
+SDL_GL_STENCIL_SIZE=7;
+SDL_GL_ACCUM_RED_SIZE=8;
+SDL_GL_ACCUM_GREEN_SIZE=9;
+SDL_GL_ACCUM_BLUE_SIZE=10;
+SDL_GL_ACCUM_ALPHA_SIZE=11;
+SDL_GL_STEREO=12;
+SDL_GL_MULTISAMPLEBUFFERS=13;
+SDL_GL_MULTISAMPLESAMPLES=14;
+SDL_GL_ACCELERATED_VISUAL=15;
+SDL_GL_SWAP_CONTROL=16;
+SDLK_UNKNOWN=0;
+SDLK_FIRST=0;
+SDLK_BACKSPACE=8;
+SDLK_TAB=9;
+SDLK_CLEAR=12;
+SDLK_RETURN=13;
+SDLK_PAUSE=19;
+SDLK_ESCAPE=27;
+SDLK_SPACE=32;
+SDLK_EXCLAIM=33;
+SDLK_QUOTEDBL=34;
+SDLK_HASH=35;
+SDLK_DOLLAR=36;
+SDLK_AMPERSAND=38;
+SDLK_QUOTE=39;
+SDLK_LEFTPAREN=40;
+SDLK_RIGHTPAREN=41;
+SDLK_ASTERISK=42;
+SDLK_PLUS=43;
+SDLK_COMMA=44;
+SDLK_MINUS=45;
+SDLK_PERIOD=46;
+SDLK_SLASH=47;
+SDLK_0=48;
+SDLK_1=49;
+SDLK_2=50;
+SDLK_3=51;
+SDLK_4=52;
+SDLK_5=53;
+SDLK_6=54;
+SDLK_7=55;
+SDLK_8=56;
+SDLK_9=57;
+SDLK_COLON=58;
+SDLK_SEMICOLON=59;
+SDLK_LESS=60;
+SDLK_EQUALS=61;
+SDLK_GREATER=62;
+SDLK_QUESTION=63;
+SDLK_AT=64;
+SDLK_LEFTBRACKET=91;
+SDLK_BACKSLASH=92;
+SDLK_RIGHTBRACKET=93;
+SDLK_CARET=94;
+SDLK_UNDERSCORE=95;
+SDLK_BACKQUOTE=96;
+SDLK_a=97;
+SDLK_b=98;
+SDLK_c=99;
+SDLK_d=100;
+SDLK_e=101;
+SDLK_f=102;
+SDLK_g=103;
+SDLK_h=104;
+SDLK_i=105;
+SDLK_j=106;
+SDLK_k=107;
+SDLK_l=108;
+SDLK_m=109;
+SDLK_n=110;
+SDLK_o=111;
+SDLK_p=112;
+SDLK_q=113;
+SDLK_r=114;
+SDLK_s=115;
+SDLK_t=116;
+SDLK_u=117;
+SDLK_v=118;
+SDLK_w=119;
+SDLK_x=120;
+SDLK_y=121;
+SDLK_z=122;
+SDLK_DELETE=127;
+SDLK_WORLD_0=160;
+SDLK_WORLD_1=161;
+SDLK_WORLD_2=162;
+SDLK_WORLD_3=163;
+SDLK_WORLD_4=164;
+SDLK_WORLD_5=165;
+SDLK_WORLD_6=166;
+SDLK_WORLD_7=167;
+SDLK_WORLD_8=168;
+SDLK_WORLD_9=169;
+SDLK_WORLD_10=170;
+SDLK_WORLD_11=171;
+SDLK_WORLD_12=172;
+SDLK_WORLD_13=173;
+SDLK_WORLD_14=174;
+SDLK_WORLD_15=175;
+SDLK_WORLD_16=176;
+SDLK_WORLD_17=177;
+SDLK_WORLD_18=178;
+SDLK_WORLD_19=179;
+SDLK_WORLD_20=180;
+SDLK_WORLD_21=181;
+SDLK_WORLD_22=182;
+SDLK_WORLD_23=183;
+SDLK_WORLD_24=184;
+SDLK_WORLD_25=185;
+SDLK_WORLD_26=186;
+SDLK_WORLD_27=187;
+SDLK_WORLD_28=188;
+SDLK_WORLD_29=189;
+SDLK_WORLD_30=190;
+SDLK_WORLD_31=191;
+SDLK_WORLD_32=192;
+SDLK_WORLD_33=193;
+SDLK_WORLD_34=194;
+SDLK_WORLD_35=195;
+SDLK_WORLD_36=196;
+SDLK_WORLD_37=197;
+SDLK_WORLD_38=198;
+SDLK_WORLD_39=199;
+SDLK_WORLD_40=200;
+SDLK_WORLD_41=201;
+SDLK_WORLD_42=202;
+SDLK_WORLD_43=203;
+SDLK_WORLD_44=204;
+SDLK_WORLD_45=205;
+SDLK_WORLD_46=206;
+SDLK_WORLD_47=207;
+SDLK_WORLD_48=208;
+SDLK_WORLD_49=209;
+SDLK_WORLD_50=210;
+SDLK_WORLD_51=211;
+SDLK_WORLD_52=212;
+SDLK_WORLD_53=213;
+SDLK_WORLD_54=214;
+SDLK_WORLD_55=215;
+SDLK_WORLD_56=216;
+SDLK_WORLD_57=217;
+SDLK_WORLD_58=218;
+SDLK_WORLD_59=219;
+SDLK_WORLD_60=220;
+SDLK_WORLD_61=221;
+SDLK_WORLD_62=222;
+SDLK_WORLD_63=223;
+SDLK_WORLD_64=224;
+SDLK_WORLD_65=225;
+SDLK_WORLD_66=226;
+SDLK_WORLD_67=227;
+SDLK_WORLD_68=228;
+SDLK_WORLD_69=229;
+SDLK_WORLD_70=230;
+SDLK_WORLD_71=231;
+SDLK_WORLD_72=232;
+SDLK_WORLD_73=233;
+SDLK_WORLD_74=234;
+SDLK_WORLD_75=235;
+SDLK_WORLD_76=236;
+SDLK_WORLD_77=237;
+SDLK_WORLD_78=238;
+SDLK_WORLD_79=239;
+SDLK_WORLD_80=240;
+SDLK_WORLD_81=241;
+SDLK_WORLD_82=242;
+SDLK_WORLD_83=243;
+SDLK_WORLD_84=244;
+SDLK_WORLD_85=245;
+SDLK_WORLD_86=246;
+SDLK_WORLD_87=247;
+SDLK_WORLD_88=248;
+SDLK_WORLD_89=249;
+SDLK_WORLD_90=250;
+SDLK_WORLD_91=251;
+SDLK_WORLD_92=252;
+SDLK_WORLD_93=253;
+SDLK_WORLD_94=254;
+SDLK_WORLD_95=255;
+SDLK_KP0=256;
+SDLK_KP1=257;
+SDLK_KP2=258;
+SDLK_KP3=259;
+SDLK_KP4=260;
+SDLK_KP5=261;
+SDLK_KP6=262;
+SDLK_KP7=263;
+SDLK_KP8=264;
+SDLK_KP9=265;
+SDLK_KP_PERIOD=266;
+SDLK_KP_DIVIDE=267;
+SDLK_KP_MULTIPLY=268;
+SDLK_KP_MINUS=269;
+SDLK_KP_PLUS=270;
+SDLK_KP_ENTER=271;
+SDLK_KP_EQUALS=272;
+SDLK_UP=273;
+SDLK_DOWN=274;
+SDLK_RIGHT=275;
+SDLK_LEFT=276;
+SDLK_INSERT=277;
+SDLK_HOME=278;
+SDLK_END=279;
+SDLK_PAGEUP=280;
+SDLK_PAGEDOWN=281;
+SDLK_F1=282;
+SDLK_F2=283;
+SDLK_F3=284;
+SDLK_F4=285;
+SDLK_F5=286;
+SDLK_F6=287;
+SDLK_F7=288;
+SDLK_F8=289;
+SDLK_F9=290;
+SDLK_F10=291;
+SDLK_F11=292;
+SDLK_F12=293;
+SDLK_F13=294;
+SDLK_F14=295;
+SDLK_F15=296;
+SDLK_NUMLOCK=300;
+SDLK_CAPSLOCK=301;
+SDLK_SCROLLOCK=302;
+SDLK_RSHIFT=303;
+SDLK_LSHIFT=304;
+SDLK_RCTRL=305;
+SDLK_LCTRL=306;
+SDLK_RALT=307;
+SDLK_LALT=308;
+SDLK_RMETA=309;
+SDLK_LMETA=310;
+SDLK_LSUPER=311;
+SDLK_RSUPER=312;
+SDLK_MODE=313;
+SDLK_COMPOSE=314;
+SDLK_HELP=315;
+SDLK_PRINT=316;
+SDLK_SYSREQ=317;
+SDLK_BREAK=318;
+SDLK_MENU=319;
+SDLK_POWER=320;
+SDLK_EURO=321;
+SDLK_UNDO=322;
+SDLK_LAST=323;
+CD_TRAYEMPTY=0;
+CD_STOPPED=1;
+CD_PLAYING=2;
+CD_PAUSED=3;
+CD_ERROR=-1;
+SDL_AUDIO_STOPPED=0;
+SDL_AUDIO_PLAYING=1;
+SDL_AUDIO_PAUSED=2;
+SDL_ENOMEM=0;
+SDL_EFREAD=1;
+SDL_EFWRITE=2;
+SDL_EFSEEK=3;
+SDL_UNSUPPORTED=4;
+SDL_LASTERROR=5;
+SDL_FALSE=0;
+SDL_TRUE=1;