--** Interface to foreign library [@text occSDL].
-- Generated automatically using SWIG 1.3.31.
-- @module occSDL

-- ----------------------------------------------------------------------------
-- This file was automatically generated by SWIG (http://www.swig.org).
-- Version 1.3.31
--
-- Do not make changes to this file unless you know what you are doing--modify
-- the SWIG interface file instead.
-- ----------------------------------------------------------------------------- 

#IF NOT DEFINED (WRAPPERS.occSDL.INC)
#DEFINE WRAPPERS.occSDL.INC
--* Foreign [@text int] constant [@text SDL_INIT_TIMER].
VAL INT SDL.INIT.TIMER IS #00000001:
--* Foreign [@text int] constant [@text SDL_INIT_AUDIO].
VAL INT SDL.INIT.AUDIO IS #00000010:
--* Foreign [@text int] constant [@text SDL_INIT_VIDEO].
VAL INT SDL.INIT.VIDEO IS #00000020:
--* Foreign [@text int] constant [@text SDL_INIT_CDROM].
VAL INT SDL.INIT.CDROM IS #00000100:
--* Foreign [@text int] constant [@text SDL_INIT_JOYSTICK].
VAL INT SDL.INIT.JOYSTICK IS #00000200:
--* Foreign [@text int] constant [@text SDL_INIT_NOPARACHUTE].
VAL INT SDL.INIT.NOPARACHUTE IS #00100000:
--* Foreign [@text int] constant [@text SDL_INIT_EVENTTHREAD].
VAL INT SDL.INIT.EVENTTHREAD IS #01000000:
--* Foreign [@text int] constant [@text SDL_INIT_EVERYTHING].
VAL INT SDL.INIT.EVERYTHING IS #0000FFFF:
#PRAGMA EXTERNAL "PROC C.SDL.Init (RESULT INT return.value, VAL INT flags) = 0"

--* Foreign function [@text SDL_Init].
-- @param return.value Function return value with type [@text int].
-- @param flags Argument with type [@text Uint32].
INLINE PROC SDL.Init (RESULT INT return.value, VAL INT flags)
  C.SDL.Init (return.value, flags)
:

#PRAGMA EXTERNAL "PROC C.occ.SDL.Init (RESULT INT return.value, VAL INT flags) = 0"

--* Foreign function [@text occ_SDL_Init].
-- @param return.value Function return value with type [@text int].
-- @param flags Argument with type [@text Uint32].
INLINE PROC occ.SDL.Init (RESULT INT return.value, VAL INT flags)
  C.occ.SDL.Init (return.value, flags)
:

#PRAGMA EXTERNAL "PROC C.SDL.InitSubSystem (RESULT INT return.value, VAL INT flags) = 0"

--* Foreign function [@text SDL_InitSubSystem].
-- @param return.value Function return value with type [@text int].
-- @param flags Argument with type [@text Uint32].
INLINE PROC SDL.InitSubSystem (RESULT INT return.value, VAL INT flags)
  C.SDL.InitSubSystem (return.value, flags)
:

#PRAGMA EXTERNAL "PROC C.SDL.QuitSubSystem (VAL INT flags) = 0"

--* Foreign function [@text SDL_QuitSubSystem].
-- @param flags Argument with type [@text Uint32].
INLINE PROC SDL.QuitSubSystem (VAL INT flags)
  C.SDL.QuitSubSystem (flags)
:

#PRAGMA EXTERNAL "PROC C.SDL.WasInit (RESULT INT return.value, VAL INT flags) = 0"

--* Foreign function [@text SDL_WasInit].
-- @param return.value Function return value with type [@text Uint32].
-- @param flags Argument with type [@text Uint32].
INLINE PROC SDL.WasInit (RESULT INT return.value, VAL INT flags)
  C.SDL.WasInit (return.value, flags)
:

#PRAGMA EXTERNAL "PROC C.SDL.Quit () = 0"

--* Foreign function [@text SDL_Quit].
INLINE PROC SDL.Quit ()
  C.SDL.Quit ()
:

DATA TYPE SDL.bool IS INT:
--*{ SDL.bool Foreign enumeration [@text SDL_bool].
VAL INT SDL.FALSE IS 0:
VAL INT SDL.TRUE IS 1:
--*}

DATA TYPE SDL.DUMMY.ENUM IS INT:
--*{ SDL.DUMMY.ENUM Foreign enumeration [@text SDL_DUMMY_ENUM].
VAL INT DUMMY.ENUM.VALUE IS 0:
--*}

--*{ arbitrary.name0 Foreign enumeration [@text ].
VAL INT SDL.PRESSED IS 1:
VAL INT SDL.RELEASED IS 2:
--*}

--* Foreign [@text int] constant [@text SDL_ALPHA_OPAQUE].
VAL INT SDL.ALPHA.OPAQUE IS 255:
--* Foreign [@text int] constant [@text SDL_ALPHA_TRANSPARENT].
VAL INT SDL.ALPHA.TRANSPARENT IS 0:
--* Foreign structure pointer type [@text SDL_Rect].
DATA TYPE SDL.Rect IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.Rect (RESULT SDL.Rect ptr) = 0"
--* Allocate foreign structure [@text SDL.Rect].
-- @param ptr Pointer to newly-allocated structure.
INLINE PROC create.SDL.Rect (RESULT SDL.Rect ptr)
  C.create.SDL.Rect (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.Rect (SDL.Rect ptr) = 0"
--* Free foreign structure [@text SDL.Rect].
-- @param ptr Pointer to structure to free.
INLINE PROC delete.SDL.Rect (SDL.Rect ptr)
  C.delete.SDL.Rect (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Rect.x (RESULT INT16 value, VAL SDL.Rect ptr) = 0"
--* Get value of member [@text x] of foreign structure [@text SDL.Rect].
-- @param value Contents of the member [@text x].
-- @param ptr Pointer to foreign structure [@text SDL.Rect].
INLINE PROC get.SDL.Rect.x (RESULT INT16 value, VAL SDL.Rect ptr)
  C.get.SDL.Rect.x (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Rect.x (VAL INT16 value, VAL SDL.Rect ptr) = 0"
--* Set value of member [@text x] of foreign structure [@text SDL.Rect].
-- @param value New contents of the member [@text x].
-- @param ptr Pointer to foreign structure [@text SDL.Rect].
INLINE PROC set.SDL.Rect.x (VAL INT16 value, VAL SDL.Rect ptr)
  C.set.SDL.Rect.x (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Rect.y (RESULT INT16 value, VAL SDL.Rect ptr) = 0"
--* Get value of member [@text y] of foreign structure [@text SDL.Rect].
-- @param value Contents of the member [@text y].
-- @param ptr Pointer to foreign structure [@text SDL.Rect].
INLINE PROC get.SDL.Rect.y (RESULT INT16 value, VAL SDL.Rect ptr)
  C.get.SDL.Rect.y (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Rect.y (VAL INT16 value, VAL SDL.Rect ptr) = 0"
--* Set value of member [@text y] of foreign structure [@text SDL.Rect].
-- @param value New contents of the member [@text y].
-- @param ptr Pointer to foreign structure [@text SDL.Rect].
INLINE PROC set.SDL.Rect.y (VAL INT16 value, VAL SDL.Rect ptr)
  C.set.SDL.Rect.y (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Rect.w (RESULT INT16 value, VAL SDL.Rect ptr) = 0"
--* Get value of member [@text w] of foreign structure [@text SDL.Rect].
-- @param value Contents of the member [@text w].
-- @param ptr Pointer to foreign structure [@text SDL.Rect].
INLINE PROC get.SDL.Rect.w (RESULT INT16 value, VAL SDL.Rect ptr)
  C.get.SDL.Rect.w (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Rect.w (VAL INT16 value, VAL SDL.Rect ptr) = 0"
--* Set value of member [@text w] of foreign structure [@text SDL.Rect].
-- @param value New contents of the member [@text w].
-- @param ptr Pointer to foreign structure [@text SDL.Rect].
INLINE PROC set.SDL.Rect.w (VAL INT16 value, VAL SDL.Rect ptr)
  C.set.SDL.Rect.w (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Rect.h (RESULT INT16 value, VAL SDL.Rect ptr) = 0"
--* Get value of member [@text h] of foreign structure [@text SDL.Rect].
-- @param value Contents of the member [@text h].
-- @param ptr Pointer to foreign structure [@text SDL.Rect].
INLINE PROC get.SDL.Rect.h (RESULT INT16 value, VAL SDL.Rect ptr)
  C.get.SDL.Rect.h (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Rect.h (VAL INT16 value, VAL SDL.Rect ptr) = 0"
--* Set value of member [@text h] of foreign structure [@text SDL.Rect].
-- @param value New contents of the member [@text h].
-- @param ptr Pointer to foreign structure [@text SDL.Rect].
INLINE PROC set.SDL.Rect.h (VAL INT16 value, VAL SDL.Rect ptr)
  C.set.SDL.Rect.h (value, ptr)
:
-- End of structure pointer SDL.Rect
--* Foreign structure pointer type [@text SDL_Color].
DATA TYPE SDL.Color IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.Color (RESULT SDL.Color ptr) = 0"
--* Allocate foreign structure [@text SDL.Color].
-- @param ptr Pointer to newly-allocated structure.
INLINE PROC create.SDL.Color (RESULT SDL.Color ptr)
  C.create.SDL.Color (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.Color (SDL.Color ptr) = 0"
--* Free foreign structure [@text SDL.Color].
-- @param ptr Pointer to structure to free.
INLINE PROC delete.SDL.Color (SDL.Color ptr)
  C.delete.SDL.Color (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Color.r (RESULT BYTE value, VAL SDL.Color ptr) = 0"
--* Get value of member [@text r] of foreign structure [@text SDL.Color].
-- @param value Contents of the member [@text r].
-- @param ptr Pointer to foreign structure [@text SDL.Color].
INLINE PROC get.SDL.Color.r (RESULT BYTE value, VAL SDL.Color ptr)
  C.get.SDL.Color.r (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Color.r (VAL BYTE value, VAL SDL.Color ptr) = 0"
--* Set value of member [@text r] of foreign structure [@text SDL.Color].
-- @param value New contents of the member [@text r].
-- @param ptr Pointer to foreign structure [@text SDL.Color].
INLINE PROC set.SDL.Color.r (VAL BYTE value, VAL SDL.Color ptr)
  C.set.SDL.Color.r (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Color.g (RESULT BYTE value, VAL SDL.Color ptr) = 0"
--* Get value of member [@text g] of foreign structure [@text SDL.Color].
-- @param value Contents of the member [@text g].
-- @param ptr Pointer to foreign structure [@text SDL.Color].
INLINE PROC get.SDL.Color.g (RESULT BYTE value, VAL SDL.Color ptr)
  C.get.SDL.Color.g (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Color.g (VAL BYTE value, VAL SDL.Color ptr) = 0"
--* Set value of member [@text g] of foreign structure [@text SDL.Color].
-- @param value New contents of the member [@text g].
-- @param ptr Pointer to foreign structure [@text SDL.Color].
INLINE PROC set.SDL.Color.g (VAL BYTE value, VAL SDL.Color ptr)
  C.set.SDL.Color.g (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Color.b (RESULT BYTE value, VAL SDL.Color ptr) = 0"
--* Get value of member [@text b] of foreign structure [@text SDL.Color].
-- @param value Contents of the member [@text b].
-- @param ptr Pointer to foreign structure [@text SDL.Color].
INLINE PROC get.SDL.Color.b (RESULT BYTE value, VAL SDL.Color ptr)
  C.get.SDL.Color.b (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Color.b (VAL BYTE value, VAL SDL.Color ptr) = 0"
--* Set value of member [@text b] of foreign structure [@text SDL.Color].
-- @param value New contents of the member [@text b].
-- @param ptr Pointer to foreign structure [@text SDL.Color].
INLINE PROC set.SDL.Color.b (VAL BYTE value, VAL SDL.Color ptr)
  C.set.SDL.Color.b (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Color.unused (RESULT BYTE value, VAL SDL.Color ptr) = 0"
--* Get value of member [@text unused] of foreign structure [@text SDL.Color].
-- @param value Contents of the member [@text unused].
-- @param ptr Pointer to foreign structure [@text SDL.Color].
INLINE PROC get.SDL.Color.unused (RESULT BYTE value, VAL SDL.Color ptr)
  C.get.SDL.Color.unused (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Color.unused (VAL BYTE value, VAL SDL.Color ptr) = 0"
--* Set value of member [@text unused] of foreign structure [@text SDL.Color].
-- @param value New contents of the member [@text unused].
-- @param ptr Pointer to foreign structure [@text SDL.Color].
INLINE PROC set.SDL.Color.unused (VAL BYTE value, VAL SDL.Color ptr)
  C.set.SDL.Color.unused (value, ptr)
:
-- End of structure pointer SDL.Color
--* Foreign structure pointer type [@text SDL_Palette].
DATA TYPE SDL.Palette IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.Palette (RESULT SDL.Palette ptr) = 0"
--* Allocate foreign structure [@text SDL.Palette].
-- @param ptr Pointer to newly-allocated structure.
INLINE PROC create.SDL.Palette (RESULT SDL.Palette ptr)
  C.create.SDL.Palette (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.Palette (SDL.Palette ptr) = 0"
--* Free foreign structure [@text SDL.Palette].
-- @param ptr Pointer to structure to free.
INLINE PROC delete.SDL.Palette (SDL.Palette ptr)
  C.delete.SDL.Palette (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Palette.ncolors (RESULT INT value, VAL SDL.Palette ptr) = 0"
--* Get value of member [@text ncolors] of foreign structure [@text SDL.Palette].
-- @param value Contents of the member [@text ncolors].
-- @param ptr Pointer to foreign structure [@text SDL.Palette].
INLINE PROC get.SDL.Palette.ncolors (RESULT INT value, VAL SDL.Palette ptr)
  C.get.SDL.Palette.ncolors (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Palette.ncolors (VAL INT value, VAL SDL.Palette ptr) = 0"
--* Set value of member [@text ncolors] of foreign structure [@text SDL.Palette].
-- @param value New contents of the member [@text ncolors].
-- @param ptr Pointer to foreign structure [@text SDL.Palette].
INLINE PROC set.SDL.Palette.ncolors (VAL INT value, VAL SDL.Palette ptr)
  C.set.SDL.Palette.ncolors (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Palette.colors (RESULT SDL.Color value, VAL SDL.Palette ptr) = 0"
--* Get value of member [@text colors] of foreign structure [@text SDL.Palette].
-- @param value Contents of the member [@text colors].
-- @param ptr Pointer to foreign structure [@text SDL.Palette].
INLINE PROC get.SDL.Palette.colors (RESULT SDL.Color value, VAL SDL.Palette ptr)
  C.get.SDL.Palette.colors (value, ptr)
:
-- End of structure pointer SDL.Palette
--* Foreign structure pointer type [@text SDL_PixelFormat].
DATA TYPE SDL.PixelFormat IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.PixelFormat (RESULT SDL.PixelFormat ptr) = 0"
--* Allocate foreign structure [@text SDL.PixelFormat].
-- @param ptr Pointer to newly-allocated structure.
INLINE PROC create.SDL.PixelFormat (RESULT SDL.PixelFormat ptr)
  C.create.SDL.PixelFormat (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.PixelFormat (SDL.PixelFormat ptr) = 0"
--* Free foreign structure [@text SDL.PixelFormat].
-- @param ptr Pointer to structure to free.
INLINE PROC delete.SDL.PixelFormat (SDL.PixelFormat ptr)
  C.delete.SDL.PixelFormat (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.PixelFormat.palette (RESULT SDL.Palette value, VAL SDL.PixelFormat ptr) = 0"
--* Get value of member [@text palette] of foreign structure [@text SDL.PixelFormat].
-- @param value Contents of the member [@text palette].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC get.SDL.PixelFormat.palette (RESULT SDL.Palette value, VAL SDL.PixelFormat ptr)
  C.get.SDL.PixelFormat.palette (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.PixelFormat.BitsPerPixel (RESULT BYTE value, VAL SDL.PixelFormat ptr) = 0"
--* Get value of member [@text BitsPerPixel] of foreign structure [@text SDL.PixelFormat].
-- @param value Contents of the member [@text BitsPerPixel].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC get.SDL.PixelFormat.BitsPerPixel (RESULT BYTE value, VAL SDL.PixelFormat ptr)
  C.get.SDL.PixelFormat.BitsPerPixel (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.PixelFormat.BitsPerPixel (VAL BYTE value, VAL SDL.PixelFormat ptr) = 0"
--* Set value of member [@text BitsPerPixel] of foreign structure [@text SDL.PixelFormat].
-- @param value New contents of the member [@text BitsPerPixel].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC set.SDL.PixelFormat.BitsPerPixel (VAL BYTE value, VAL SDL.PixelFormat ptr)
  C.set.SDL.PixelFormat.BitsPerPixel (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.PixelFormat.BytesPerPixel (RESULT BYTE value, VAL SDL.PixelFormat ptr) = 0"
--* Get value of member [@text BytesPerPixel] of foreign structure [@text SDL.PixelFormat].
-- @param value Contents of the member [@text BytesPerPixel].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC get.SDL.PixelFormat.BytesPerPixel (RESULT BYTE value, VAL SDL.PixelFormat ptr)
  C.get.SDL.PixelFormat.BytesPerPixel (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.PixelFormat.BytesPerPixel (VAL BYTE value, VAL SDL.PixelFormat ptr) = 0"
--* Set value of member [@text BytesPerPixel] of foreign structure [@text SDL.PixelFormat].
-- @param value New contents of the member [@text BytesPerPixel].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC set.SDL.PixelFormat.BytesPerPixel (VAL BYTE value, VAL SDL.PixelFormat ptr)
  C.set.SDL.PixelFormat.BytesPerPixel (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.PixelFormat.Rloss (RESULT BYTE value, VAL SDL.PixelFormat ptr) = 0"
--* Get value of member [@text Rloss] of foreign structure [@text SDL.PixelFormat].
-- @param value Contents of the member [@text Rloss].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC get.SDL.PixelFormat.Rloss (RESULT BYTE value, VAL SDL.PixelFormat ptr)
  C.get.SDL.PixelFormat.Rloss (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.PixelFormat.Rloss (VAL BYTE value, VAL SDL.PixelFormat ptr) = 0"
--* Set value of member [@text Rloss] of foreign structure [@text SDL.PixelFormat].
-- @param value New contents of the member [@text Rloss].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC set.SDL.PixelFormat.Rloss (VAL BYTE value, VAL SDL.PixelFormat ptr)
  C.set.SDL.PixelFormat.Rloss (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.PixelFormat.Gloss (RESULT BYTE value, VAL SDL.PixelFormat ptr) = 0"
--* Get value of member [@text Gloss] of foreign structure [@text SDL.PixelFormat].
-- @param value Contents of the member [@text Gloss].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC get.SDL.PixelFormat.Gloss (RESULT BYTE value, VAL SDL.PixelFormat ptr)
  C.get.SDL.PixelFormat.Gloss (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.PixelFormat.Gloss (VAL BYTE value, VAL SDL.PixelFormat ptr) = 0"
--* Set value of member [@text Gloss] of foreign structure [@text SDL.PixelFormat].
-- @param value New contents of the member [@text Gloss].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC set.SDL.PixelFormat.Gloss (VAL BYTE value, VAL SDL.PixelFormat ptr)
  C.set.SDL.PixelFormat.Gloss (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.PixelFormat.Bloss (RESULT BYTE value, VAL SDL.PixelFormat ptr) = 0"
--* Get value of member [@text Bloss] of foreign structure [@text SDL.PixelFormat].
-- @param value Contents of the member [@text Bloss].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC get.SDL.PixelFormat.Bloss (RESULT BYTE value, VAL SDL.PixelFormat ptr)
  C.get.SDL.PixelFormat.Bloss (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.PixelFormat.Bloss (VAL BYTE value, VAL SDL.PixelFormat ptr) = 0"
--* Set value of member [@text Bloss] of foreign structure [@text SDL.PixelFormat].
-- @param value New contents of the member [@text Bloss].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC set.SDL.PixelFormat.Bloss (VAL BYTE value, VAL SDL.PixelFormat ptr)
  C.set.SDL.PixelFormat.Bloss (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.PixelFormat.Aloss (RESULT BYTE value, VAL SDL.PixelFormat ptr) = 0"
--* Get value of member [@text Aloss] of foreign structure [@text SDL.PixelFormat].
-- @param value Contents of the member [@text Aloss].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC get.SDL.PixelFormat.Aloss (RESULT BYTE value, VAL SDL.PixelFormat ptr)
  C.get.SDL.PixelFormat.Aloss (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.PixelFormat.Aloss (VAL BYTE value, VAL SDL.PixelFormat ptr) = 0"
--* Set value of member [@text Aloss] of foreign structure [@text SDL.PixelFormat].
-- @param value New contents of the member [@text Aloss].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC set.SDL.PixelFormat.Aloss (VAL BYTE value, VAL SDL.PixelFormat ptr)
  C.set.SDL.PixelFormat.Aloss (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.PixelFormat.Rshift (RESULT BYTE value, VAL SDL.PixelFormat ptr) = 0"
--* Get value of member [@text Rshift] of foreign structure [@text SDL.PixelFormat].
-- @param value Contents of the member [@text Rshift].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC get.SDL.PixelFormat.Rshift (RESULT BYTE value, VAL SDL.PixelFormat ptr)
  C.get.SDL.PixelFormat.Rshift (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.PixelFormat.Rshift (VAL BYTE value, VAL SDL.PixelFormat ptr) = 0"
--* Set value of member [@text Rshift] of foreign structure [@text SDL.PixelFormat].
-- @param value New contents of the member [@text Rshift].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC set.SDL.PixelFormat.Rshift (VAL BYTE value, VAL SDL.PixelFormat ptr)
  C.set.SDL.PixelFormat.Rshift (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.PixelFormat.Gshift (RESULT BYTE value, VAL SDL.PixelFormat ptr) = 0"
--* Get value of member [@text Gshift] of foreign structure [@text SDL.PixelFormat].
-- @param value Contents of the member [@text Gshift].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC get.SDL.PixelFormat.Gshift (RESULT BYTE value, VAL SDL.PixelFormat ptr)
  C.get.SDL.PixelFormat.Gshift (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.PixelFormat.Gshift (VAL BYTE value, VAL SDL.PixelFormat ptr) = 0"
--* Set value of member [@text Gshift] of foreign structure [@text SDL.PixelFormat].
-- @param value New contents of the member [@text Gshift].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC set.SDL.PixelFormat.Gshift (VAL BYTE value, VAL SDL.PixelFormat ptr)
  C.set.SDL.PixelFormat.Gshift (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.PixelFormat.Bshift (RESULT BYTE value, VAL SDL.PixelFormat ptr) = 0"
--* Get value of member [@text Bshift] of foreign structure [@text SDL.PixelFormat].
-- @param value Contents of the member [@text Bshift].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC get.SDL.PixelFormat.Bshift (RESULT BYTE value, VAL SDL.PixelFormat ptr)
  C.get.SDL.PixelFormat.Bshift (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.PixelFormat.Bshift (VAL BYTE value, VAL SDL.PixelFormat ptr) = 0"
--* Set value of member [@text Bshift] of foreign structure [@text SDL.PixelFormat].
-- @param value New contents of the member [@text Bshift].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC set.SDL.PixelFormat.Bshift (VAL BYTE value, VAL SDL.PixelFormat ptr)
  C.set.SDL.PixelFormat.Bshift (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.PixelFormat.Ashift (RESULT BYTE value, VAL SDL.PixelFormat ptr) = 0"
--* Get value of member [@text Ashift] of foreign structure [@text SDL.PixelFormat].
-- @param value Contents of the member [@text Ashift].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC get.SDL.PixelFormat.Ashift (RESULT BYTE value, VAL SDL.PixelFormat ptr)
  C.get.SDL.PixelFormat.Ashift (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.PixelFormat.Ashift (VAL BYTE value, VAL SDL.PixelFormat ptr) = 0"
--* Set value of member [@text Ashift] of foreign structure [@text SDL.PixelFormat].
-- @param value New contents of the member [@text Ashift].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC set.SDL.PixelFormat.Ashift (VAL BYTE value, VAL SDL.PixelFormat ptr)
  C.set.SDL.PixelFormat.Ashift (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.PixelFormat.Rmask (RESULT INT value, VAL SDL.PixelFormat ptr) = 0"
--* Get value of member [@text Rmask] of foreign structure [@text SDL.PixelFormat].
-- @param value Contents of the member [@text Rmask].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC get.SDL.PixelFormat.Rmask (RESULT INT value, VAL SDL.PixelFormat ptr)
  C.get.SDL.PixelFormat.Rmask (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.PixelFormat.Rmask (VAL INT value, VAL SDL.PixelFormat ptr) = 0"
--* Set value of member [@text Rmask] of foreign structure [@text SDL.PixelFormat].
-- @param value New contents of the member [@text Rmask].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC set.SDL.PixelFormat.Rmask (VAL INT value, VAL SDL.PixelFormat ptr)
  C.set.SDL.PixelFormat.Rmask (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.PixelFormat.Gmask (RESULT INT value, VAL SDL.PixelFormat ptr) = 0"
--* Get value of member [@text Gmask] of foreign structure [@text SDL.PixelFormat].
-- @param value Contents of the member [@text Gmask].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC get.SDL.PixelFormat.Gmask (RESULT INT value, VAL SDL.PixelFormat ptr)
  C.get.SDL.PixelFormat.Gmask (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.PixelFormat.Gmask (VAL INT value, VAL SDL.PixelFormat ptr) = 0"
--* Set value of member [@text Gmask] of foreign structure [@text SDL.PixelFormat].
-- @param value New contents of the member [@text Gmask].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC set.SDL.PixelFormat.Gmask (VAL INT value, VAL SDL.PixelFormat ptr)
  C.set.SDL.PixelFormat.Gmask (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.PixelFormat.Bmask (RESULT INT value, VAL SDL.PixelFormat ptr) = 0"
--* Get value of member [@text Bmask] of foreign structure [@text SDL.PixelFormat].
-- @param value Contents of the member [@text Bmask].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC get.SDL.PixelFormat.Bmask (RESULT INT value, VAL SDL.PixelFormat ptr)
  C.get.SDL.PixelFormat.Bmask (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.PixelFormat.Bmask (VAL INT value, VAL SDL.PixelFormat ptr) = 0"
--* Set value of member [@text Bmask] of foreign structure [@text SDL.PixelFormat].
-- @param value New contents of the member [@text Bmask].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC set.SDL.PixelFormat.Bmask (VAL INT value, VAL SDL.PixelFormat ptr)
  C.set.SDL.PixelFormat.Bmask (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.PixelFormat.Amask (RESULT INT value, VAL SDL.PixelFormat ptr) = 0"
--* Get value of member [@text Amask] of foreign structure [@text SDL.PixelFormat].
-- @param value Contents of the member [@text Amask].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC get.SDL.PixelFormat.Amask (RESULT INT value, VAL SDL.PixelFormat ptr)
  C.get.SDL.PixelFormat.Amask (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.PixelFormat.Amask (VAL INT value, VAL SDL.PixelFormat ptr) = 0"
--* Set value of member [@text Amask] of foreign structure [@text SDL.PixelFormat].
-- @param value New contents of the member [@text Amask].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC set.SDL.PixelFormat.Amask (VAL INT value, VAL SDL.PixelFormat ptr)
  C.set.SDL.PixelFormat.Amask (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.PixelFormat.colorkey (RESULT INT value, VAL SDL.PixelFormat ptr) = 0"
--* Get value of member [@text colorkey] of foreign structure [@text SDL.PixelFormat].
-- @param value Contents of the member [@text colorkey].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC get.SDL.PixelFormat.colorkey (RESULT INT value, VAL SDL.PixelFormat ptr)
  C.get.SDL.PixelFormat.colorkey (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.PixelFormat.colorkey (VAL INT value, VAL SDL.PixelFormat ptr) = 0"
--* Set value of member [@text colorkey] of foreign structure [@text SDL.PixelFormat].
-- @param value New contents of the member [@text colorkey].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC set.SDL.PixelFormat.colorkey (VAL INT value, VAL SDL.PixelFormat ptr)
  C.set.SDL.PixelFormat.colorkey (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.PixelFormat.alpha (RESULT BYTE value, VAL SDL.PixelFormat ptr) = 0"
--* Get value of member [@text alpha] of foreign structure [@text SDL.PixelFormat].
-- @param value Contents of the member [@text alpha].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC get.SDL.PixelFormat.alpha (RESULT BYTE value, VAL SDL.PixelFormat ptr)
  C.get.SDL.PixelFormat.alpha (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.PixelFormat.alpha (VAL BYTE value, VAL SDL.PixelFormat ptr) = 0"
--* Set value of member [@text alpha] of foreign structure [@text SDL.PixelFormat].
-- @param value New contents of the member [@text alpha].
-- @param ptr Pointer to foreign structure [@text SDL.PixelFormat].
INLINE PROC set.SDL.PixelFormat.alpha (VAL BYTE value, VAL SDL.PixelFormat ptr)
  C.set.SDL.PixelFormat.alpha (value, ptr)
:
-- End of structure pointer SDL.PixelFormat
--* Foreign function pointer type [@text SDL_blit].
DATA TYPE SDL.blit IS INT:

--* Foreign structure pointer type [@text SDL_Surface].
DATA TYPE SDL.Surface IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.Surface (RESULT SDL.Surface ptr) = 0"
--* Allocate foreign structure [@text SDL.Surface].
-- @param ptr Pointer to newly-allocated structure.
INLINE PROC create.SDL.Surface (RESULT SDL.Surface ptr)
  C.create.SDL.Surface (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.Surface (SDL.Surface ptr) = 0"
--* Free foreign structure [@text SDL.Surface].
-- @param ptr Pointer to structure to free.
INLINE PROC delete.SDL.Surface (SDL.Surface ptr)
  C.delete.SDL.Surface (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Surface.flags (RESULT INT value, VAL SDL.Surface ptr) = 0"
--* Get value of member [@text flags] of foreign structure [@text SDL.Surface].
-- @param value Contents of the member [@text flags].
-- @param ptr Pointer to foreign structure [@text SDL.Surface].
INLINE PROC get.SDL.Surface.flags (RESULT INT value, VAL SDL.Surface ptr)
  C.get.SDL.Surface.flags (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Surface.flags (VAL INT value, VAL SDL.Surface ptr) = 0"
--* Set value of member [@text flags] of foreign structure [@text SDL.Surface].
-- @param value New contents of the member [@text flags].
-- @param ptr Pointer to foreign structure [@text SDL.Surface].
INLINE PROC set.SDL.Surface.flags (VAL INT value, VAL SDL.Surface ptr)
  C.set.SDL.Surface.flags (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Surface.format (RESULT SDL.PixelFormat value, VAL SDL.Surface ptr) = 0"
--* Get value of member [@text format] of foreign structure [@text SDL.Surface].
-- @param value Contents of the member [@text format].
-- @param ptr Pointer to foreign structure [@text SDL.Surface].
INLINE PROC get.SDL.Surface.format (RESULT SDL.PixelFormat value, VAL SDL.Surface ptr)
  C.get.SDL.Surface.format (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Surface.w (RESULT INT value, VAL SDL.Surface ptr) = 0"
--* Get value of member [@text w] of foreign structure [@text SDL.Surface].
-- @param value Contents of the member [@text w].
-- @param ptr Pointer to foreign structure [@text SDL.Surface].
INLINE PROC get.SDL.Surface.w (RESULT INT value, VAL SDL.Surface ptr)
  C.get.SDL.Surface.w (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Surface.w (VAL INT value, VAL SDL.Surface ptr) = 0"
--* Set value of member [@text w] of foreign structure [@text SDL.Surface].
-- @param value New contents of the member [@text w].
-- @param ptr Pointer to foreign structure [@text SDL.Surface].
INLINE PROC set.SDL.Surface.w (VAL INT value, VAL SDL.Surface ptr)
  C.set.SDL.Surface.w (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Surface.h (RESULT INT value, VAL SDL.Surface ptr) = 0"
--* Get value of member [@text h] of foreign structure [@text SDL.Surface].
-- @param value Contents of the member [@text h].
-- @param ptr Pointer to foreign structure [@text SDL.Surface].
INLINE PROC get.SDL.Surface.h (RESULT INT value, VAL SDL.Surface ptr)
  C.get.SDL.Surface.h (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Surface.h (VAL INT value, VAL SDL.Surface ptr) = 0"
--* Set value of member [@text h] of foreign structure [@text SDL.Surface].
-- @param value New contents of the member [@text h].
-- @param ptr Pointer to foreign structure [@text SDL.Surface].
INLINE PROC set.SDL.Surface.h (VAL INT value, VAL SDL.Surface ptr)
  C.set.SDL.Surface.h (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Surface.pitch (RESULT INT16 value, VAL SDL.Surface ptr) = 0"
--* Get value of member [@text pitch] of foreign structure [@text SDL.Surface].
-- @param value Contents of the member [@text pitch].
-- @param ptr Pointer to foreign structure [@text SDL.Surface].
INLINE PROC get.SDL.Surface.pitch (RESULT INT16 value, VAL SDL.Surface ptr)
  C.get.SDL.Surface.pitch (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Surface.pitch (VAL INT16 value, VAL SDL.Surface ptr) = 0"
--* Set value of member [@text pitch] of foreign structure [@text SDL.Surface].
-- @param value New contents of the member [@text pitch].
-- @param ptr Pointer to foreign structure [@text SDL.Surface].
INLINE PROC set.SDL.Surface.pitch (VAL INT16 value, VAL SDL.Surface ptr)
  C.set.SDL.Surface.pitch (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Surface.pixels (RESULT INT value, VAL SDL.Surface ptr) = 0"
--* Get value of member [@text pixels] of foreign structure [@text SDL.Surface].
-- @param value Contents of the member [@text pixels].
-- @param ptr Pointer to foreign structure [@text SDL.Surface].
INLINE PROC get.SDL.Surface.pixels (RESULT INT value, VAL SDL.Surface ptr)
  C.get.SDL.Surface.pixels (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Surface.pixels (VAL INT value, VAL SDL.Surface ptr) = 0"
--* Set value of member [@text pixels] of foreign structure [@text SDL.Surface].
-- @param value New contents of the member [@text pixels].
-- @param ptr Pointer to foreign structure [@text SDL.Surface].
INLINE PROC set.SDL.Surface.pixels (VAL INT value, VAL SDL.Surface ptr)
  C.set.SDL.Surface.pixels (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Surface.offset (RESULT INT value, VAL SDL.Surface ptr) = 0"
--* Get value of member [@text offset] of foreign structure [@text SDL.Surface].
-- @param value Contents of the member [@text offset].
-- @param ptr Pointer to foreign structure [@text SDL.Surface].
INLINE PROC get.SDL.Surface.offset (RESULT INT value, VAL SDL.Surface ptr)
  C.get.SDL.Surface.offset (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Surface.offset (VAL INT value, VAL SDL.Surface ptr) = 0"
--* Set value of member [@text offset] of foreign structure [@text SDL.Surface].
-- @param value New contents of the member [@text offset].
-- @param ptr Pointer to foreign structure [@text SDL.Surface].
INLINE PROC set.SDL.Surface.offset (VAL INT value, VAL SDL.Surface ptr)
  C.set.SDL.Surface.offset (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Surface.clip.rect (RESULT SDL.Rect value, VAL SDL.Surface ptr) = 0"
--* Get value of member [@text clip.rect] of foreign structure [@text SDL.Surface].
-- @param value Contents of the member [@text clip.rect].
-- @param ptr Pointer to foreign structure [@text SDL.Surface].
INLINE PROC get.SDL.Surface.clip.rect (RESULT SDL.Rect value, VAL SDL.Surface ptr)
  C.get.SDL.Surface.clip.rect (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Surface.unused1 (RESULT INT value, VAL SDL.Surface ptr) = 0"
--* Get value of member [@text unused1] of foreign structure [@text SDL.Surface].
-- @param value Contents of the member [@text unused1].
-- @param ptr Pointer to foreign structure [@text SDL.Surface].
INLINE PROC get.SDL.Surface.unused1 (RESULT INT value, VAL SDL.Surface ptr)
  C.get.SDL.Surface.unused1 (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Surface.unused1 (VAL INT value, VAL SDL.Surface ptr) = 0"
--* Set value of member [@text unused1] of foreign structure [@text SDL.Surface].
-- @param value New contents of the member [@text unused1].
-- @param ptr Pointer to foreign structure [@text SDL.Surface].
INLINE PROC set.SDL.Surface.unused1 (VAL INT value, VAL SDL.Surface ptr)
  C.set.SDL.Surface.unused1 (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Surface.locked (RESULT INT value, VAL SDL.Surface ptr) = 0"
--* Get value of member [@text locked] of foreign structure [@text SDL.Surface].
-- @param value Contents of the member [@text locked].
-- @param ptr Pointer to foreign structure [@text SDL.Surface].
INLINE PROC get.SDL.Surface.locked (RESULT INT value, VAL SDL.Surface ptr)
  C.get.SDL.Surface.locked (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Surface.locked (VAL INT value, VAL SDL.Surface ptr) = 0"
--* Set value of member [@text locked] of foreign structure [@text SDL.Surface].
-- @param value New contents of the member [@text locked].
-- @param ptr Pointer to foreign structure [@text SDL.Surface].
INLINE PROC set.SDL.Surface.locked (VAL INT value, VAL SDL.Surface ptr)
  C.set.SDL.Surface.locked (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Surface.format.version (RESULT INT value, VAL SDL.Surface ptr) = 0"
--* Get value of member [@text format.version] of foreign structure [@text SDL.Surface].
-- @param value Contents of the member [@text format.version].
-- @param ptr Pointer to foreign structure [@text SDL.Surface].
INLINE PROC get.SDL.Surface.format.version (RESULT INT value, VAL SDL.Surface ptr)
  C.get.SDL.Surface.format.version (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Surface.format.version (VAL INT value, VAL SDL.Surface ptr) = 0"
--* Set value of member [@text format.version] of foreign structure [@text SDL.Surface].
-- @param value New contents of the member [@text format.version].
-- @param ptr Pointer to foreign structure [@text SDL.Surface].
INLINE PROC set.SDL.Surface.format.version (VAL INT value, VAL SDL.Surface ptr)
  C.set.SDL.Surface.format.version (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Surface.refcount (RESULT INT value, VAL SDL.Surface ptr) = 0"
--* Get value of member [@text refcount] of foreign structure [@text SDL.Surface].
-- @param value Contents of the member [@text refcount].
-- @param ptr Pointer to foreign structure [@text SDL.Surface].
INLINE PROC get.SDL.Surface.refcount (RESULT INT value, VAL SDL.Surface ptr)
  C.get.SDL.Surface.refcount (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Surface.refcount (VAL INT value, VAL SDL.Surface ptr) = 0"
--* Set value of member [@text refcount] of foreign structure [@text SDL.Surface].
-- @param value New contents of the member [@text refcount].
-- @param ptr Pointer to foreign structure [@text SDL.Surface].
INLINE PROC set.SDL.Surface.refcount (VAL INT value, VAL SDL.Surface ptr)
  C.set.SDL.Surface.refcount (value, ptr)
:
-- End of structure pointer SDL.Surface
#PRAGMA EXTERNAL "PROC C.occ.get.SDL.Surface.pixels ([]INT pixels, SDL.Surface surface) = 0"

--* Foreign function [@text occ_get_SDL_Surface_pixels].
-- @param pixels Array pointer argument with element type [@text int].
-- @param surface Argument with type [@text SDL_Surface *].
INLINE PROC occ.get.SDL.Surface.pixels ([]INT pixels, SDL.Surface surface)
  C.occ.get.SDL.Surface.pixels (pixels, surface)
:

--* Foreign [@text int] constant [@text SDL_SWSURFACE].
VAL INT SDL.SWSURFACE IS #00000000:
--* Foreign [@text int] constant [@text SDL_HWSURFACE].
VAL INT SDL.HWSURFACE IS #00000001:
--* Foreign [@text int] constant [@text SDL_ASYNCBLIT].
VAL INT SDL.ASYNCBLIT IS #00000004:
--* Foreign [@text int] constant [@text SDL_ANYFORMAT].
VAL INT SDL.ANYFORMAT IS #10000000:
--* Foreign [@text int] constant [@text SDL_HWPALETTE].
VAL INT SDL.HWPALETTE IS #20000000:
--* Foreign [@text int] constant [@text SDL_DOUBLEBUF].
VAL INT SDL.DOUBLEBUF IS #40000000:
--* Foreign [@text int] constant [@text SDL_FULLSCREEN].
VAL INT SDL.FULLSCREEN IS #80000000:
--* Foreign [@text int] constant [@text SDL_OPENGL].
VAL INT SDL.OPENGL IS #00000002:
--* Foreign [@text int] constant [@text SDL_OPENGLBLIT].
VAL INT SDL.OPENGLBLIT IS #0000000A:
--* Foreign [@text int] constant [@text SDL_RESIZABLE].
VAL INT SDL.RESIZABLE IS #00000010:
--* Foreign [@text int] constant [@text SDL_NOFRAME].
VAL INT SDL.NOFRAME IS #00000020:
--* Foreign [@text int] constant [@text SDL_HWACCEL].
VAL INT SDL.HWACCEL IS #00000100:
--* Foreign [@text int] constant [@text SDL_SRCCOLORKEY].
VAL INT SDL.SRCCOLORKEY IS #00001000:
--* Foreign [@text int] constant [@text SDL_RLEACCELOK].
VAL INT SDL.RLEACCELOK IS #00002000:
--* Foreign [@text int] constant [@text SDL_RLEACCEL].
VAL INT SDL.RLEACCEL IS #00004000:
--* Foreign [@text int] constant [@text SDL_SRCALPHA].
VAL INT SDL.SRCALPHA IS #00010000:
--* Foreign [@text int] constant [@text SDL_PREALLOC].
VAL INT SDL.PREALLOC IS #01000000:
--* Foreign structure pointer type [@text SDL_VideoInfo].
DATA TYPE SDL.VideoInfo IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.VideoInfo (RESULT SDL.VideoInfo ptr) = 0"
--* Allocate foreign structure [@text SDL.VideoInfo].
-- @param ptr Pointer to newly-allocated structure.
INLINE PROC create.SDL.VideoInfo (RESULT SDL.VideoInfo ptr)
  C.create.SDL.VideoInfo (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.VideoInfo (SDL.VideoInfo ptr) = 0"
--* Free foreign structure [@text SDL.VideoInfo].
-- @param ptr Pointer to structure to free.
INLINE PROC delete.SDL.VideoInfo (SDL.VideoInfo ptr)
  C.delete.SDL.VideoInfo (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.VideoInfo.hw.available (RESULT INT value, VAL SDL.VideoInfo ptr) = 0"
--* Get value of member [@text hw.available] of foreign structure [@text SDL.VideoInfo].
-- @param value Contents of the member [@text hw.available].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC get.SDL.VideoInfo.hw.available (RESULT INT value, VAL SDL.VideoInfo ptr)
  C.get.SDL.VideoInfo.hw.available (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.VideoInfo.hw.available (VAL INT value, VAL SDL.VideoInfo ptr) = 0"
--* Set value of member [@text hw.available] of foreign structure [@text SDL.VideoInfo].
-- @param value New contents of the member [@text hw.available].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC set.SDL.VideoInfo.hw.available (VAL INT value, VAL SDL.VideoInfo ptr)
  C.set.SDL.VideoInfo.hw.available (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.VideoInfo.wm.available (RESULT INT value, VAL SDL.VideoInfo ptr) = 0"
--* Get value of member [@text wm.available] of foreign structure [@text SDL.VideoInfo].
-- @param value Contents of the member [@text wm.available].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC get.SDL.VideoInfo.wm.available (RESULT INT value, VAL SDL.VideoInfo ptr)
  C.get.SDL.VideoInfo.wm.available (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.VideoInfo.wm.available (VAL INT value, VAL SDL.VideoInfo ptr) = 0"
--* Set value of member [@text wm.available] of foreign structure [@text SDL.VideoInfo].
-- @param value New contents of the member [@text wm.available].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC set.SDL.VideoInfo.wm.available (VAL INT value, VAL SDL.VideoInfo ptr)
  C.set.SDL.VideoInfo.wm.available (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.VideoInfo.UnusedBits1 (RESULT INT value, VAL SDL.VideoInfo ptr) = 0"
--* Get value of member [@text UnusedBits1] of foreign structure [@text SDL.VideoInfo].
-- @param value Contents of the member [@text UnusedBits1].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC get.SDL.VideoInfo.UnusedBits1 (RESULT INT value, VAL SDL.VideoInfo ptr)
  C.get.SDL.VideoInfo.UnusedBits1 (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.VideoInfo.UnusedBits1 (VAL INT value, VAL SDL.VideoInfo ptr) = 0"
--* Set value of member [@text UnusedBits1] of foreign structure [@text SDL.VideoInfo].
-- @param value New contents of the member [@text UnusedBits1].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC set.SDL.VideoInfo.UnusedBits1 (VAL INT value, VAL SDL.VideoInfo ptr)
  C.set.SDL.VideoInfo.UnusedBits1 (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.VideoInfo.UnusedBits2 (RESULT INT value, VAL SDL.VideoInfo ptr) = 0"
--* Get value of member [@text UnusedBits2] of foreign structure [@text SDL.VideoInfo].
-- @param value Contents of the member [@text UnusedBits2].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC get.SDL.VideoInfo.UnusedBits2 (RESULT INT value, VAL SDL.VideoInfo ptr)
  C.get.SDL.VideoInfo.UnusedBits2 (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.VideoInfo.UnusedBits2 (VAL INT value, VAL SDL.VideoInfo ptr) = 0"
--* Set value of member [@text UnusedBits2] of foreign structure [@text SDL.VideoInfo].
-- @param value New contents of the member [@text UnusedBits2].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC set.SDL.VideoInfo.UnusedBits2 (VAL INT value, VAL SDL.VideoInfo ptr)
  C.set.SDL.VideoInfo.UnusedBits2 (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.VideoInfo.blit.hw (RESULT INT value, VAL SDL.VideoInfo ptr) = 0"
--* Get value of member [@text blit.hw] of foreign structure [@text SDL.VideoInfo].
-- @param value Contents of the member [@text blit.hw].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC get.SDL.VideoInfo.blit.hw (RESULT INT value, VAL SDL.VideoInfo ptr)
  C.get.SDL.VideoInfo.blit.hw (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.VideoInfo.blit.hw (VAL INT value, VAL SDL.VideoInfo ptr) = 0"
--* Set value of member [@text blit.hw] of foreign structure [@text SDL.VideoInfo].
-- @param value New contents of the member [@text blit.hw].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC set.SDL.VideoInfo.blit.hw (VAL INT value, VAL SDL.VideoInfo ptr)
  C.set.SDL.VideoInfo.blit.hw (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.VideoInfo.blit.hw.CC (RESULT INT value, VAL SDL.VideoInfo ptr) = 0"
--* Get value of member [@text blit.hw.CC] of foreign structure [@text SDL.VideoInfo].
-- @param value Contents of the member [@text blit.hw.CC].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC get.SDL.VideoInfo.blit.hw.CC (RESULT INT value, VAL SDL.VideoInfo ptr)
  C.get.SDL.VideoInfo.blit.hw.CC (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.VideoInfo.blit.hw.CC (VAL INT value, VAL SDL.VideoInfo ptr) = 0"
--* Set value of member [@text blit.hw.CC] of foreign structure [@text SDL.VideoInfo].
-- @param value New contents of the member [@text blit.hw.CC].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC set.SDL.VideoInfo.blit.hw.CC (VAL INT value, VAL SDL.VideoInfo ptr)
  C.set.SDL.VideoInfo.blit.hw.CC (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.VideoInfo.blit.hw.A (RESULT INT value, VAL SDL.VideoInfo ptr) = 0"
--* Get value of member [@text blit.hw.A] of foreign structure [@text SDL.VideoInfo].
-- @param value Contents of the member [@text blit.hw.A].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC get.SDL.VideoInfo.blit.hw.A (RESULT INT value, VAL SDL.VideoInfo ptr)
  C.get.SDL.VideoInfo.blit.hw.A (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.VideoInfo.blit.hw.A (VAL INT value, VAL SDL.VideoInfo ptr) = 0"
--* Set value of member [@text blit.hw.A] of foreign structure [@text SDL.VideoInfo].
-- @param value New contents of the member [@text blit.hw.A].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC set.SDL.VideoInfo.blit.hw.A (VAL INT value, VAL SDL.VideoInfo ptr)
  C.set.SDL.VideoInfo.blit.hw.A (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.VideoInfo.blit.sw (RESULT INT value, VAL SDL.VideoInfo ptr) = 0"
--* Get value of member [@text blit.sw] of foreign structure [@text SDL.VideoInfo].
-- @param value Contents of the member [@text blit.sw].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC get.SDL.VideoInfo.blit.sw (RESULT INT value, VAL SDL.VideoInfo ptr)
  C.get.SDL.VideoInfo.blit.sw (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.VideoInfo.blit.sw (VAL INT value, VAL SDL.VideoInfo ptr) = 0"
--* Set value of member [@text blit.sw] of foreign structure [@text SDL.VideoInfo].
-- @param value New contents of the member [@text blit.sw].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC set.SDL.VideoInfo.blit.sw (VAL INT value, VAL SDL.VideoInfo ptr)
  C.set.SDL.VideoInfo.blit.sw (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.VideoInfo.blit.sw.CC (RESULT INT value, VAL SDL.VideoInfo ptr) = 0"
--* Get value of member [@text blit.sw.CC] of foreign structure [@text SDL.VideoInfo].
-- @param value Contents of the member [@text blit.sw.CC].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC get.SDL.VideoInfo.blit.sw.CC (RESULT INT value, VAL SDL.VideoInfo ptr)
  C.get.SDL.VideoInfo.blit.sw.CC (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.VideoInfo.blit.sw.CC (VAL INT value, VAL SDL.VideoInfo ptr) = 0"
--* Set value of member [@text blit.sw.CC] of foreign structure [@text SDL.VideoInfo].
-- @param value New contents of the member [@text blit.sw.CC].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC set.SDL.VideoInfo.blit.sw.CC (VAL INT value, VAL SDL.VideoInfo ptr)
  C.set.SDL.VideoInfo.blit.sw.CC (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.VideoInfo.blit.sw.A (RESULT INT value, VAL SDL.VideoInfo ptr) = 0"
--* Get value of member [@text blit.sw.A] of foreign structure [@text SDL.VideoInfo].
-- @param value Contents of the member [@text blit.sw.A].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC get.SDL.VideoInfo.blit.sw.A (RESULT INT value, VAL SDL.VideoInfo ptr)
  C.get.SDL.VideoInfo.blit.sw.A (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.VideoInfo.blit.sw.A (VAL INT value, VAL SDL.VideoInfo ptr) = 0"
--* Set value of member [@text blit.sw.A] of foreign structure [@text SDL.VideoInfo].
-- @param value New contents of the member [@text blit.sw.A].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC set.SDL.VideoInfo.blit.sw.A (VAL INT value, VAL SDL.VideoInfo ptr)
  C.set.SDL.VideoInfo.blit.sw.A (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.VideoInfo.blit.fill (RESULT INT value, VAL SDL.VideoInfo ptr) = 0"
--* Get value of member [@text blit.fill] of foreign structure [@text SDL.VideoInfo].
-- @param value Contents of the member [@text blit.fill].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC get.SDL.VideoInfo.blit.fill (RESULT INT value, VAL SDL.VideoInfo ptr)
  C.get.SDL.VideoInfo.blit.fill (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.VideoInfo.blit.fill (VAL INT value, VAL SDL.VideoInfo ptr) = 0"
--* Set value of member [@text blit.fill] of foreign structure [@text SDL.VideoInfo].
-- @param value New contents of the member [@text blit.fill].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC set.SDL.VideoInfo.blit.fill (VAL INT value, VAL SDL.VideoInfo ptr)
  C.set.SDL.VideoInfo.blit.fill (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.VideoInfo.UnusedBits3 (RESULT INT value, VAL SDL.VideoInfo ptr) = 0"
--* Get value of member [@text UnusedBits3] of foreign structure [@text SDL.VideoInfo].
-- @param value Contents of the member [@text UnusedBits3].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC get.SDL.VideoInfo.UnusedBits3 (RESULT INT value, VAL SDL.VideoInfo ptr)
  C.get.SDL.VideoInfo.UnusedBits3 (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.VideoInfo.UnusedBits3 (VAL INT value, VAL SDL.VideoInfo ptr) = 0"
--* Set value of member [@text UnusedBits3] of foreign structure [@text SDL.VideoInfo].
-- @param value New contents of the member [@text UnusedBits3].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC set.SDL.VideoInfo.UnusedBits3 (VAL INT value, VAL SDL.VideoInfo ptr)
  C.set.SDL.VideoInfo.UnusedBits3 (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.VideoInfo.video.mem (RESULT INT value, VAL SDL.VideoInfo ptr) = 0"
--* Get value of member [@text video.mem] of foreign structure [@text SDL.VideoInfo].
-- @param value Contents of the member [@text video.mem].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC get.SDL.VideoInfo.video.mem (RESULT INT value, VAL SDL.VideoInfo ptr)
  C.get.SDL.VideoInfo.video.mem (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.VideoInfo.video.mem (VAL INT value, VAL SDL.VideoInfo ptr) = 0"
--* Set value of member [@text video.mem] of foreign structure [@text SDL.VideoInfo].
-- @param value New contents of the member [@text video.mem].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC set.SDL.VideoInfo.video.mem (VAL INT value, VAL SDL.VideoInfo ptr)
  C.set.SDL.VideoInfo.video.mem (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.VideoInfo.vfmt (RESULT SDL.PixelFormat value, VAL SDL.VideoInfo ptr) = 0"
--* Get value of member [@text vfmt] of foreign structure [@text SDL.VideoInfo].
-- @param value Contents of the member [@text vfmt].
-- @param ptr Pointer to foreign structure [@text SDL.VideoInfo].
INLINE PROC get.SDL.VideoInfo.vfmt (RESULT SDL.PixelFormat value, VAL SDL.VideoInfo ptr)
  C.get.SDL.VideoInfo.vfmt (value, ptr)
:
-- End of structure pointer SDL.VideoInfo
--* Foreign [@text int] constant [@text SDL_YV12_OVERLAY].
VAL INT SDL.YV12.OVERLAY IS #32315659:
--* Foreign [@text int] constant [@text SDL_IYUV_OVERLAY].
VAL INT SDL.IYUV.OVERLAY IS #56555949:
--* Foreign [@text int] constant [@text SDL_YUY2_OVERLAY].
VAL INT SDL.YUY2.OVERLAY IS #32595559:
--* Foreign [@text int] constant [@text SDL_UYVY_OVERLAY].
VAL INT SDL.UYVY.OVERLAY IS #59565955:
--* Foreign [@text int] constant [@text SDL_YVYU_OVERLAY].
VAL INT SDL.YVYU.OVERLAY IS #55595659:
--* Foreign structure pointer type [@text SDL_Overlay].
DATA TYPE SDL.Overlay IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.Overlay (RESULT SDL.Overlay ptr) = 0"
--* Allocate foreign structure [@text SDL.Overlay].
-- @param ptr Pointer to newly-allocated structure.
INLINE PROC create.SDL.Overlay (RESULT SDL.Overlay ptr)
  C.create.SDL.Overlay (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.Overlay (SDL.Overlay ptr) = 0"
--* Free foreign structure [@text SDL.Overlay].
-- @param ptr Pointer to structure to free.
INLINE PROC delete.SDL.Overlay (SDL.Overlay ptr)
  C.delete.SDL.Overlay (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Overlay.format (RESULT INT value, VAL SDL.Overlay ptr) = 0"
--* Get value of member [@text format] of foreign structure [@text SDL.Overlay].
-- @param value Contents of the member [@text format].
-- @param ptr Pointer to foreign structure [@text SDL.Overlay].
INLINE PROC get.SDL.Overlay.format (RESULT INT value, VAL SDL.Overlay ptr)
  C.get.SDL.Overlay.format (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Overlay.format (VAL INT value, VAL SDL.Overlay ptr) = 0"
--* Set value of member [@text format] of foreign structure [@text SDL.Overlay].
-- @param value New contents of the member [@text format].
-- @param ptr Pointer to foreign structure [@text SDL.Overlay].
INLINE PROC set.SDL.Overlay.format (VAL INT value, VAL SDL.Overlay ptr)
  C.set.SDL.Overlay.format (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Overlay.w (RESULT INT value, VAL SDL.Overlay ptr) = 0"
--* Get value of member [@text w] of foreign structure [@text SDL.Overlay].
-- @param value Contents of the member [@text w].
-- @param ptr Pointer to foreign structure [@text SDL.Overlay].
INLINE PROC get.SDL.Overlay.w (RESULT INT value, VAL SDL.Overlay ptr)
  C.get.SDL.Overlay.w (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Overlay.w (VAL INT value, VAL SDL.Overlay ptr) = 0"
--* Set value of member [@text w] of foreign structure [@text SDL.Overlay].
-- @param value New contents of the member [@text w].
-- @param ptr Pointer to foreign structure [@text SDL.Overlay].
INLINE PROC set.SDL.Overlay.w (VAL INT value, VAL SDL.Overlay ptr)
  C.set.SDL.Overlay.w (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Overlay.h (RESULT INT value, VAL SDL.Overlay ptr) = 0"
--* Get value of member [@text h] of foreign structure [@text SDL.Overlay].
-- @param value Contents of the member [@text h].
-- @param ptr Pointer to foreign structure [@text SDL.Overlay].
INLINE PROC get.SDL.Overlay.h (RESULT INT value, VAL SDL.Overlay ptr)
  C.get.SDL.Overlay.h (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Overlay.h (VAL INT value, VAL SDL.Overlay ptr) = 0"
--* Set value of member [@text h] of foreign structure [@text SDL.Overlay].
-- @param value New contents of the member [@text h].
-- @param ptr Pointer to foreign structure [@text SDL.Overlay].
INLINE PROC set.SDL.Overlay.h (VAL INT value, VAL SDL.Overlay ptr)
  C.set.SDL.Overlay.h (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Overlay.planes (RESULT INT value, VAL SDL.Overlay ptr) = 0"
--* Get value of member [@text planes] of foreign structure [@text SDL.Overlay].
-- @param value Contents of the member [@text planes].
-- @param ptr Pointer to foreign structure [@text SDL.Overlay].
INLINE PROC get.SDL.Overlay.planes (RESULT INT value, VAL SDL.Overlay ptr)
  C.get.SDL.Overlay.planes (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Overlay.planes (VAL INT value, VAL SDL.Overlay ptr) = 0"
--* Set value of member [@text planes] of foreign structure [@text SDL.Overlay].
-- @param value New contents of the member [@text planes].
-- @param ptr Pointer to foreign structure [@text SDL.Overlay].
INLINE PROC set.SDL.Overlay.planes (VAL INT value, VAL SDL.Overlay ptr)
  C.set.SDL.Overlay.planes (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Overlay.pitches (RESULT INT16 value, VAL SDL.Overlay ptr) = 0"
--* Get value of member [@text pitches] of foreign structure [@text SDL.Overlay].
-- @param value Contents of the member [@text pitches].
-- @param ptr Pointer to foreign structure [@text SDL.Overlay].
INLINE PROC get.SDL.Overlay.pitches (RESULT INT16 value, VAL SDL.Overlay ptr)
  C.get.SDL.Overlay.pitches (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Overlay.pitches (VAL INT16 value, VAL SDL.Overlay ptr) = 0"
--* Set value of member [@text pitches] of foreign structure [@text SDL.Overlay].
-- @param value New contents of the member [@text pitches].
-- @param ptr Pointer to foreign structure [@text SDL.Overlay].
INLINE PROC set.SDL.Overlay.pitches (VAL INT16 value, VAL SDL.Overlay ptr)
  C.set.SDL.Overlay.pitches (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Overlay.pixels (RESULT BYTE value, VAL SDL.Overlay ptr) = 0"
--* Get value of member [@text pixels] of foreign structure [@text SDL.Overlay].
-- @param value Contents of the member [@text pixels].
-- @param ptr Pointer to foreign structure [@text SDL.Overlay].
INLINE PROC get.SDL.Overlay.pixels (RESULT BYTE value, VAL SDL.Overlay ptr)
  C.get.SDL.Overlay.pixels (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Overlay.pixels (VAL BYTE value, VAL SDL.Overlay ptr) = 0"
--* Set value of member [@text pixels] of foreign structure [@text SDL.Overlay].
-- @param value New contents of the member [@text pixels].
-- @param ptr Pointer to foreign structure [@text SDL.Overlay].
INLINE PROC set.SDL.Overlay.pixels (VAL BYTE value, VAL SDL.Overlay ptr)
  C.set.SDL.Overlay.pixels (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Overlay.hw.overlay (RESULT INT value, VAL SDL.Overlay ptr) = 0"
--* Get value of member [@text hw.overlay] of foreign structure [@text SDL.Overlay].
-- @param value Contents of the member [@text hw.overlay].
-- @param ptr Pointer to foreign structure [@text SDL.Overlay].
INLINE PROC get.SDL.Overlay.hw.overlay (RESULT INT value, VAL SDL.Overlay ptr)
  C.get.SDL.Overlay.hw.overlay (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Overlay.hw.overlay (VAL INT value, VAL SDL.Overlay ptr) = 0"
--* Set value of member [@text hw.overlay] of foreign structure [@text SDL.Overlay].
-- @param value New contents of the member [@text hw.overlay].
-- @param ptr Pointer to foreign structure [@text SDL.Overlay].
INLINE PROC set.SDL.Overlay.hw.overlay (VAL INT value, VAL SDL.Overlay ptr)
  C.set.SDL.Overlay.hw.overlay (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Overlay.UnusedBits (RESULT INT value, VAL SDL.Overlay ptr) = 0"
--* Get value of member [@text UnusedBits] of foreign structure [@text SDL.Overlay].
-- @param value Contents of the member [@text UnusedBits].
-- @param ptr Pointer to foreign structure [@text SDL.Overlay].
INLINE PROC get.SDL.Overlay.UnusedBits (RESULT INT value, VAL SDL.Overlay ptr)
  C.get.SDL.Overlay.UnusedBits (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.Overlay.UnusedBits (VAL INT value, VAL SDL.Overlay ptr) = 0"
--* Set value of member [@text UnusedBits] of foreign structure [@text SDL.Overlay].
-- @param value New contents of the member [@text UnusedBits].
-- @param ptr Pointer to foreign structure [@text SDL.Overlay].
INLINE PROC set.SDL.Overlay.UnusedBits (VAL INT value, VAL SDL.Overlay ptr)
  C.set.SDL.Overlay.UnusedBits (value, ptr)
:
-- End of structure pointer SDL.Overlay
DATA TYPE SDL.GLattr IS INT:
--*{ SDL.GLattr Foreign enumeration [@text SDL_GLattr].
VAL INT SDL.GL.RED.SIZE IS 0:
VAL INT SDL.GL.GREEN.SIZE IS 1:
VAL INT SDL.GL.BLUE.SIZE IS 2:
VAL INT SDL.GL.ALPHA.SIZE IS 3:
VAL INT SDL.GL.BUFFER.SIZE IS 4:
VAL INT SDL.GL.DOUBLEBUFFER IS 5:
VAL INT SDL.GL.DEPTH.SIZE IS 6:
VAL INT SDL.GL.STENCIL.SIZE IS 7:
VAL INT SDL.GL.ACCUM.RED.SIZE IS 8:
VAL INT SDL.GL.ACCUM.GREEN.SIZE IS 9:
VAL INT SDL.GL.ACCUM.BLUE.SIZE IS 10:
VAL INT SDL.GL.ACCUM.ALPHA.SIZE IS 11:
VAL INT SDL.GL.STEREO IS 12:
VAL INT SDL.GL.MULTISAMPLEBUFFERS IS 13:
VAL INT SDL.GL.MULTISAMPLESAMPLES IS 14:
--*}

--* Foreign [@text int] constant [@text SDL_LOGPAL].
VAL INT SDL.LOGPAL IS #01:
--* Foreign [@text int] constant [@text SDL_PHYSPAL].
VAL INT SDL.PHYSPAL IS #02:
#PRAGMA EXTERNAL "PROC C.SDL.VideoInit (RESULT INT return.value, BYTE driver.name, VAL INT flags) = 0"

--* Foreign function [@text SDL_VideoInit].
-- @param return.value Function return value with type [@text int].
-- @param driver.name Argument with type [@text char const *].
-- @param flags Argument with type [@text Uint32].
INLINE PROC SDL.VideoInit (RESULT INT return.value, BYTE driver.name, VAL INT flags)
  C.SDL.VideoInit (return.value, driver.name, flags)
:

#PRAGMA EXTERNAL "PROC C.SDL.VideoQuit () = 0"

--* Foreign function [@text SDL_VideoQuit].
INLINE PROC SDL.VideoQuit ()
  C.SDL.VideoQuit ()
:

#PRAGMA EXTERNAL "PROC C.SDL.VideoDriverName (RESULT BYTE return.value, BYTE namebuf, VAL INT maxlen) = 0"

--* Foreign function [@text SDL_VideoDriverName].
-- @param return.value Function return value with type [@text char *].
-- @param namebuf Argument with type [@text char *].
-- @param maxlen Argument with type [@text int].
INLINE PROC SDL.VideoDriverName (RESULT BYTE return.value, BYTE namebuf, VAL INT maxlen)
  C.SDL.VideoDriverName (return.value, namebuf, maxlen)
:

#PRAGMA EXTERNAL "PROC C.SDL.GetVideoSurface (SDL.Surface  return.value) = 0"

--* Foreign function [@text SDL_GetVideoSurface].
-- @param return.value Function return value with type [@text SDL_Surface *].
INLINE PROC SDL.GetVideoSurface (SDL.Surface  return.value)
  C.SDL.GetVideoSurface (return.value)
:

#PRAGMA EXTERNAL "PROC C.SDL.GetVideoInfo (SDL.VideoInfo   return.value) = 0"

--* Foreign function [@text SDL_GetVideoInfo].
-- @param return.value Function return value with type [@text SDL_VideoInfo const *].
INLINE PROC SDL.GetVideoInfo (SDL.VideoInfo   return.value)
  C.SDL.GetVideoInfo (return.value)
:

#PRAGMA EXTERNAL "PROC C.SDL.VideoModeOK (RESULT INT return.value, VAL INT width, VAL INT height, VAL INT bpp, VAL INT flags) = 0"

--* Foreign function [@text SDL_VideoModeOK].
-- @param return.value Function return value with type [@text int].
-- @param width Argument with type [@text int].
-- @param height Argument with type [@text int].
-- @param bpp Argument with type [@text int].
-- @param flags Argument with type [@text Uint32].
INLINE PROC SDL.VideoModeOK (RESULT INT return.value, VAL INT width, VAL INT height, VAL INT bpp, VAL INT flags)
  C.SDL.VideoModeOK (return.value, width, height, bpp, flags)
:

#PRAGMA EXTERNAL "PROC C.SDL.ListModes (SDL.Rect  return.value, SDL.PixelFormat format, VAL INT flags) = 0"

--* Foreign function [@text SDL_ListModes].
-- @param return.value Function return value with type [@text SDL_Rect **].
-- @param format Argument with type [@text SDL_PixelFormat *].
-- @param flags Argument with type [@text Uint32].
INLINE PROC SDL.ListModes (SDL.Rect  return.value, SDL.PixelFormat format, VAL INT flags)
  C.SDL.ListModes (return.value, format, flags)
:

#PRAGMA EXTERNAL "PROC C.SDL.SetVideoMode (SDL.Surface  return.value, VAL INT width, VAL INT height, VAL INT bpp, VAL INT flags) = 0"

--* Foreign function [@text SDL_SetVideoMode].
-- @param return.value Function return value with type [@text SDL_Surface *].
-- @param width Argument with type [@text int].
-- @param height Argument with type [@text int].
-- @param bpp Argument with type [@text int].
-- @param flags Argument with type [@text Uint32].
INLINE PROC SDL.SetVideoMode (SDL.Surface  return.value, VAL INT width, VAL INT height, VAL INT bpp, VAL INT flags)
  C.SDL.SetVideoMode (return.value, width, height, bpp, flags)
:

#PRAGMA EXTERNAL "PROC C.SDL.UpdateRects (SDL.Surface screen, VAL INT numrects, SDL.Rect rects) = 0"

--* Foreign function [@text SDL_UpdateRects].
-- @param screen Argument with type [@text SDL_Surface *].
-- @param numrects Argument with type [@text int].
-- @param rects Argument with type [@text SDL_Rect *].
INLINE PROC SDL.UpdateRects (SDL.Surface screen, VAL INT numrects, SDL.Rect rects)
  C.SDL.UpdateRects (screen, numrects, rects)
:

#PRAGMA EXTERNAL "PROC C.SDL.UpdateRect (SDL.Surface screen, VAL INT x, VAL INT y, VAL INT w, VAL INT h) = 0"

--* Foreign function [@text SDL_UpdateRect].
-- @param screen Argument with type [@text SDL_Surface *].
-- @param x Argument with type [@text Sint32].
-- @param y Argument with type [@text Sint32].
-- @param w Argument with type [@text Uint32].
-- @param h Argument with type [@text Uint32].
INLINE PROC SDL.UpdateRect (SDL.Surface screen, VAL INT x, VAL INT y, VAL INT w, VAL INT h)
  C.SDL.UpdateRect (screen, x, y, w, h)
:

#PRAGMA EXTERNAL "PROC C.SDL.Flip (RESULT INT return.value, SDL.Surface screen) = 0"

--* Foreign function [@text SDL_Flip].
-- @param return.value Function return value with type [@text int].
-- @param screen Argument with type [@text SDL_Surface *].
INLINE PROC SDL.Flip (RESULT INT return.value, SDL.Surface screen)
  C.SDL.Flip (return.value, screen)
:

#PRAGMA EXTERNAL "PROC C.SDL.SetGamma (RESULT INT return.value, VAL REAL32 red, VAL REAL32 green, VAL REAL32 blue) = 0"

--* Foreign function [@text SDL_SetGamma].
-- @param return.value Function return value with type [@text int].
-- @param red Argument with type [@text float].
-- @param green Argument with type [@text float].
-- @param blue Argument with type [@text float].
INLINE PROC SDL.SetGamma (RESULT INT return.value, VAL REAL32 red, VAL REAL32 green, VAL REAL32 blue)
  C.SDL.SetGamma (return.value, red, green, blue)
:

#PRAGMA EXTERNAL "PROC C.SDL.SetGammaRamp (RESULT INT return.value, INT16 red, INT16 green, INT16 blue) = 0"

--* Foreign function [@text SDL_SetGammaRamp].
-- @param return.value Function return value with type [@text int].
-- @param red Argument with type [@text Uint16 const *].
-- @param green Argument with type [@text Uint16 const *].
-- @param blue Argument with type [@text Uint16 const *].
INLINE PROC SDL.SetGammaRamp (RESULT INT return.value, INT16 red, INT16 green, INT16 blue)
  C.SDL.SetGammaRamp (return.value, red, green, blue)
:

#PRAGMA EXTERNAL "PROC C.SDL.GetGammaRamp (RESULT INT return.value, INT16 red, INT16 green, INT16 blue) = 0"

--* Foreign function [@text SDL_GetGammaRamp].
-- @param return.value Function return value with type [@text int].
-- @param red Argument with type [@text Uint16 *].
-- @param green Argument with type [@text Uint16 *].
-- @param blue Argument with type [@text Uint16 *].
INLINE PROC SDL.GetGammaRamp (RESULT INT return.value, INT16 red, INT16 green, INT16 blue)
  C.SDL.GetGammaRamp (return.value, red, green, blue)
:

#PRAGMA EXTERNAL "PROC C.SDL.SetColors (RESULT INT return.value, SDL.Surface surface, SDL.Color colors, VAL INT firstcolor, VAL INT ncolors) = 0"

--* Foreign function [@text SDL_SetColors].
-- @param return.value Function return value with type [@text int].
-- @param surface Argument with type [@text SDL_Surface *].
-- @param colors Argument with type [@text SDL_Color *].
-- @param firstcolor Argument with type [@text int].
-- @param ncolors Argument with type [@text int].
INLINE PROC SDL.SetColors (RESULT INT return.value, SDL.Surface surface, SDL.Color colors, VAL INT firstcolor, VAL INT ncolors)
  C.SDL.SetColors (return.value, surface, colors, firstcolor, ncolors)
:

#PRAGMA EXTERNAL "PROC C.SDL.SetPalette (RESULT INT return.value, SDL.Surface surface, VAL INT flags, SDL.Color colors, VAL INT firstcolor, VAL INT ncolors) = 0"

--* Foreign function [@text SDL_SetPalette].
-- @param return.value Function return value with type [@text int].
-- @param surface Argument with type [@text SDL_Surface *].
-- @param flags Argument with type [@text int].
-- @param colors Argument with type [@text SDL_Color *].
-- @param firstcolor Argument with type [@text int].
-- @param ncolors Argument with type [@text int].
INLINE PROC SDL.SetPalette (RESULT INT return.value, SDL.Surface surface, VAL INT flags, SDL.Color colors, VAL INT firstcolor, VAL INT ncolors)
  C.SDL.SetPalette (return.value, surface, flags, colors, firstcolor, ncolors)
:

#PRAGMA EXTERNAL "PROC C.SDL.MapRGB (RESULT INT return.value, SDL.PixelFormat format, VAL BYTE r, VAL BYTE g, VAL BYTE b) = 0"

--* Foreign function [@text SDL_MapRGB].
-- @param return.value Function return value with type [@text Uint32].
-- @param format Argument with type [@text SDL_PixelFormat *].
-- @param r Argument with type [@text Uint8].
-- @param g Argument with type [@text Uint8].
-- @param b Argument with type [@text Uint8].
INLINE PROC SDL.MapRGB (RESULT INT return.value, SDL.PixelFormat format, VAL BYTE r, VAL BYTE g, VAL BYTE b)
  C.SDL.MapRGB (return.value, format, r, g, b)
:

#PRAGMA EXTERNAL "PROC C.SDL.MapRGBA (RESULT INT return.value, SDL.PixelFormat format, VAL BYTE r, VAL BYTE g, VAL BYTE b, VAL BYTE a) = 0"

--* Foreign function [@text SDL_MapRGBA].
-- @param return.value Function return value with type [@text Uint32].
-- @param format Argument with type [@text SDL_PixelFormat *].
-- @param r Argument with type [@text Uint8].
-- @param g Argument with type [@text Uint8].
-- @param b Argument with type [@text Uint8].
-- @param a Argument with type [@text Uint8].
INLINE PROC SDL.MapRGBA (RESULT INT return.value, SDL.PixelFormat format, VAL BYTE r, VAL BYTE g, VAL BYTE b, VAL BYTE a)
  C.SDL.MapRGBA (return.value, format, r, g, b, a)
:

#PRAGMA EXTERNAL "PROC C.SDL.GetRGB (VAL INT pixel, SDL.PixelFormat fmt, BYTE r, BYTE g, BYTE b) = 0"

--* Foreign function [@text SDL_GetRGB].
-- @param pixel Argument with type [@text Uint32].
-- @param fmt Argument with type [@text SDL_PixelFormat *].
-- @param r Argument with type [@text Uint8 *].
-- @param g Argument with type [@text Uint8 *].
-- @param b Argument with type [@text Uint8 *].
INLINE PROC SDL.GetRGB (VAL INT pixel, SDL.PixelFormat fmt, BYTE r, BYTE g, BYTE b)
  C.SDL.GetRGB (pixel, fmt, r, g, b)
:

#PRAGMA EXTERNAL "PROC C.SDL.GetRGBA (VAL INT pixel, SDL.PixelFormat fmt, BYTE r, BYTE g, BYTE b, BYTE a) = 0"

--* Foreign function [@text SDL_GetRGBA].
-- @param pixel Argument with type [@text Uint32].
-- @param fmt Argument with type [@text SDL_PixelFormat *].
-- @param r Argument with type [@text Uint8 *].
-- @param g Argument with type [@text Uint8 *].
-- @param b Argument with type [@text Uint8 *].
-- @param a Argument with type [@text Uint8 *].
INLINE PROC SDL.GetRGBA (VAL INT pixel, SDL.PixelFormat fmt, BYTE r, BYTE g, BYTE b, BYTE a)
  C.SDL.GetRGBA (pixel, fmt, r, g, b, a)
:

#PRAGMA EXTERNAL "PROC C.SDL.CreateRGBSurface (SDL.Surface  return.value, VAL INT flags, VAL INT width, VAL INT height, VAL INT depth, VAL INT Rmask, VAL INT Gmask, VAL INT Bmask, VAL INT Amask) = 0"

--* Foreign function [@text SDL_CreateRGBSurface].
-- @param return.value Function return value with type [@text SDL_Surface *].
-- @param flags Argument with type [@text Uint32].
-- @param width Argument with type [@text int].
-- @param height Argument with type [@text int].
-- @param depth Argument with type [@text int].
-- @param Rmask Argument with type [@text Uint32].
-- @param Gmask Argument with type [@text Uint32].
-- @param Bmask Argument with type [@text Uint32].
-- @param Amask Argument with type [@text Uint32].
INLINE PROC SDL.CreateRGBSurface (SDL.Surface  return.value, VAL INT flags, VAL INT width, VAL INT height, VAL INT depth, VAL INT Rmask, VAL INT Gmask, VAL INT Bmask, VAL INT Amask)
  C.SDL.CreateRGBSurface (return.value, flags, width, height, depth, Rmask, Gmask, Bmask, Amask)
:

#PRAGMA EXTERNAL "PROC C.SDL.CreateRGBSurfaceFrom (SDL.Surface  return.value, INT pixels, VAL INT width, VAL INT height, VAL INT depth, VAL INT pitch, VAL INT Rmask, VAL INT Gmask, VAL INT Bmask, VAL INT Amask) = 0"

--* Foreign function [@text SDL_CreateRGBSurfaceFrom].
-- @param return.value Function return value with type [@text SDL_Surface *].
-- @param pixels Argument with type [@text void *].
-- @param width Argument with type [@text int].
-- @param height Argument with type [@text int].
-- @param depth Argument with type [@text int].
-- @param pitch Argument with type [@text int].
-- @param Rmask Argument with type [@text Uint32].
-- @param Gmask Argument with type [@text Uint32].
-- @param Bmask Argument with type [@text Uint32].
-- @param Amask Argument with type [@text Uint32].
INLINE PROC SDL.CreateRGBSurfaceFrom (SDL.Surface  return.value, INT pixels, VAL INT width, VAL INT height, VAL INT depth, VAL INT pitch, VAL INT Rmask, VAL INT Gmask, VAL INT Bmask, VAL INT Amask)
  C.SDL.CreateRGBSurfaceFrom (return.value, pixels, width, height, depth, pitch, Rmask, Gmask, Bmask, Amask)
:

#PRAGMA EXTERNAL "PROC C.SDL.FreeSurface (SDL.Surface surface) = 0"

--* Foreign function [@text SDL_FreeSurface].
-- @param surface Argument with type [@text SDL_Surface *].
INLINE PROC SDL.FreeSurface (SDL.Surface surface)
  C.SDL.FreeSurface (surface)
:

#PRAGMA EXTERNAL "PROC C.SDL.LockSurface (RESULT INT return.value, SDL.Surface surface) = 0"

--* Foreign function [@text SDL_LockSurface].
-- @param return.value Function return value with type [@text int].
-- @param surface Argument with type [@text SDL_Surface *].
INLINE PROC SDL.LockSurface (RESULT INT return.value, SDL.Surface surface)
  C.SDL.LockSurface (return.value, surface)
:

#PRAGMA EXTERNAL "PROC C.SDL.UnlockSurface (SDL.Surface surface) = 0"

--* Foreign function [@text SDL_UnlockSurface].
-- @param surface Argument with type [@text SDL_Surface *].
INLINE PROC SDL.UnlockSurface (SDL.Surface surface)
  C.SDL.UnlockSurface (surface)
:

#PRAGMA EXTERNAL "PROC C.occ.SDL.LoadBMP (SDL.Surface  return.value, []BYTE file) = 0"

--* Foreign function [@text occ_SDL_LoadBMP].
-- @param return.value Function return value with type [@text SDL_Surface *].
-- @param file Array pointer argument with element type [@text char].
INLINE PROC occ.SDL.LoadBMP (SDL.Surface  return.value, []BYTE file)
  C.occ.SDL.LoadBMP (return.value, file)
:

#PRAGMA EXTERNAL "PROC C.occ.SDL.SaveBMP (SDL.Surface  return.value, SDL.Surface surface, []BYTE file) = 0"

--* Foreign function [@text occ_SDL_SaveBMP].
-- @param return.value Function return value with type [@text SDL_Surface *].
-- @param surface Argument with type [@text SDL_Surface *].
-- @param file Array pointer argument with element type [@text char].
INLINE PROC occ.SDL.SaveBMP (SDL.Surface  return.value, SDL.Surface surface, []BYTE file)
  C.occ.SDL.SaveBMP (return.value, surface, file)
:

#PRAGMA EXTERNAL "PROC C.SDL.SetColorKey (RESULT INT return.value, SDL.Surface surface, VAL INT flag, VAL INT key) = 0"

--* Foreign function [@text SDL_SetColorKey].
-- @param return.value Function return value with type [@text int].
-- @param surface Argument with type [@text SDL_Surface *].
-- @param flag Argument with type [@text Uint32].
-- @param key Argument with type [@text Uint32].
INLINE PROC SDL.SetColorKey (RESULT INT return.value, SDL.Surface surface, VAL INT flag, VAL INT key)
  C.SDL.SetColorKey (return.value, surface, flag, key)
:

#PRAGMA EXTERNAL "PROC C.SDL.SetAlpha (RESULT INT return.value, SDL.Surface surface, VAL INT flag, VAL BYTE alpha) = 0"

--* Foreign function [@text SDL_SetAlpha].
-- @param return.value Function return value with type [@text int].
-- @param surface Argument with type [@text SDL_Surface *].
-- @param flag Argument with type [@text Uint32].
-- @param alpha Argument with type [@text Uint8].
INLINE PROC SDL.SetAlpha (RESULT INT return.value, SDL.Surface surface, VAL INT flag, VAL BYTE alpha)
  C.SDL.SetAlpha (return.value, surface, flag, alpha)
:

#PRAGMA EXTERNAL "PROC C.SDL.SetClipRect (SDL.bool return.value, SDL.Surface surface, SDL.Rect rect) = 0"

--* Foreign function [@text SDL_SetClipRect].
-- @param return.value Function return value with type [@text SDL_bool].
-- @param surface Argument with type [@text SDL_Surface *].
-- @param rect Argument with type [@text SDL_Rect const *].
INLINE PROC SDL.SetClipRect (SDL.bool return.value, SDL.Surface surface, SDL.Rect rect)
  C.SDL.SetClipRect (return.value, surface, rect)
:

#PRAGMA EXTERNAL "PROC C.SDL.GetClipRect (SDL.Surface surface, SDL.Rect rect) = 0"

--* Foreign function [@text SDL_GetClipRect].
-- @param surface Argument with type [@text SDL_Surface *].
-- @param rect Argument with type [@text SDL_Rect *].
INLINE PROC SDL.GetClipRect (SDL.Surface surface, SDL.Rect rect)
  C.SDL.GetClipRect (surface, rect)
:

#PRAGMA EXTERNAL "PROC C.SDL.ConvertSurface (SDL.Surface  return.value, SDL.Surface src, SDL.PixelFormat fmt, VAL INT flags) = 0"

--* Foreign function [@text SDL_ConvertSurface].
-- @param return.value Function return value with type [@text SDL_Surface *].
-- @param src Argument with type [@text SDL_Surface *].
-- @param fmt Argument with type [@text SDL_PixelFormat *].
-- @param flags Argument with type [@text Uint32].
INLINE PROC SDL.ConvertSurface (SDL.Surface  return.value, SDL.Surface src, SDL.PixelFormat fmt, VAL INT flags)
  C.SDL.ConvertSurface (return.value, src, fmt, flags)
:

#PRAGMA EXTERNAL "PROC C.SDL.BlitSurface (RESULT INT return.value, SDL.Surface src, SDL.Rect srcrect, SDL.Surface dst, SDL.Rect dstrect) = 0"

--* Foreign function [@text SDL_BlitSurface].
-- @param return.value Function return value with type [@text int].
-- @param src Argument with type [@text SDL_Surface *].
-- @param srcrect Argument with type [@text SDL_Rect *].
-- @param dst Argument with type [@text SDL_Surface *].
-- @param dstrect Argument with type [@text SDL_Rect *].
INLINE PROC SDL.BlitSurface (RESULT INT return.value, SDL.Surface src, SDL.Rect srcrect, SDL.Surface dst, SDL.Rect dstrect)
  C.SDL.BlitSurface (return.value, src, srcrect, dst, dstrect)
:

#PRAGMA EXTERNAL "PROC C.SDL.UpperBlit (RESULT INT return.value, SDL.Surface src, SDL.Rect srcrect, SDL.Surface dst, SDL.Rect dstrect) = 0"

--* Foreign function [@text SDL_UpperBlit].
-- @param return.value Function return value with type [@text int].
-- @param src Argument with type [@text SDL_Surface *].
-- @param srcrect Argument with type [@text SDL_Rect *].
-- @param dst Argument with type [@text SDL_Surface *].
-- @param dstrect Argument with type [@text SDL_Rect *].
INLINE PROC SDL.UpperBlit (RESULT INT return.value, SDL.Surface src, SDL.Rect srcrect, SDL.Surface dst, SDL.Rect dstrect)
  C.SDL.UpperBlit (return.value, src, srcrect, dst, dstrect)
:

#PRAGMA EXTERNAL "PROC C.SDL.LowerBlit (RESULT INT return.value, SDL.Surface src, SDL.Rect srcrect, SDL.Surface dst, SDL.Rect dstrect) = 0"

--* Foreign function [@text SDL_LowerBlit].
-- @param return.value Function return value with type [@text int].
-- @param src Argument with type [@text SDL_Surface *].
-- @param srcrect Argument with type [@text SDL_Rect *].
-- @param dst Argument with type [@text SDL_Surface *].
-- @param dstrect Argument with type [@text SDL_Rect *].
INLINE PROC SDL.LowerBlit (RESULT INT return.value, SDL.Surface src, SDL.Rect srcrect, SDL.Surface dst, SDL.Rect dstrect)
  C.SDL.LowerBlit (return.value, src, srcrect, dst, dstrect)
:

#PRAGMA EXTERNAL "PROC C.SDL.FillRect (RESULT INT return.value, SDL.Surface dst, SDL.Rect dstrect, VAL INT color) = 0"

--* Foreign function [@text SDL_FillRect].
-- @param return.value Function return value with type [@text int].
-- @param dst Argument with type [@text SDL_Surface *].
-- @param dstrect Argument with type [@text SDL_Rect *].
-- @param color Argument with type [@text Uint32].
INLINE PROC SDL.FillRect (RESULT INT return.value, SDL.Surface dst, SDL.Rect dstrect, VAL INT color)
  C.SDL.FillRect (return.value, dst, dstrect, color)
:

#PRAGMA EXTERNAL "PROC C.SDL.DisplayFormat (SDL.Surface  return.value, SDL.Surface surface) = 0"

--* Foreign function [@text SDL_DisplayFormat].
-- @param return.value Function return value with type [@text SDL_Surface *].
-- @param surface Argument with type [@text SDL_Surface *].
INLINE PROC SDL.DisplayFormat (SDL.Surface  return.value, SDL.Surface surface)
  C.SDL.DisplayFormat (return.value, surface)
:

#PRAGMA EXTERNAL "PROC C.SDL.DisplayFormatAlpha (SDL.Surface  return.value, SDL.Surface surface) = 0"

--* Foreign function [@text SDL_DisplayFormatAlpha].
-- @param return.value Function return value with type [@text SDL_Surface *].
-- @param surface Argument with type [@text SDL_Surface *].
INLINE PROC SDL.DisplayFormatAlpha (SDL.Surface  return.value, SDL.Surface surface)
  C.SDL.DisplayFormatAlpha (return.value, surface)
:

#PRAGMA EXTERNAL "PROC C.SDL.CreateYUVOverlay (SDL.Overlay  return.value, VAL INT width, VAL INT height, VAL INT format, SDL.Surface display) = 0"

--* Foreign function [@text SDL_CreateYUVOverlay].
-- @param return.value Function return value with type [@text SDL_Overlay *].
-- @param width Argument with type [@text int].
-- @param height Argument with type [@text int].
-- @param format Argument with type [@text Uint32].
-- @param display Argument with type [@text SDL_Surface *].
INLINE PROC SDL.CreateYUVOverlay (SDL.Overlay  return.value, VAL INT width, VAL INT height, VAL INT format, SDL.Surface display)
  C.SDL.CreateYUVOverlay (return.value, width, height, format, display)
:

#PRAGMA EXTERNAL "PROC C.SDL.LockYUVOverlay (RESULT INT return.value, SDL.Overlay overlay) = 0"

--* Foreign function [@text SDL_LockYUVOverlay].
-- @param return.value Function return value with type [@text int].
-- @param overlay Argument with type [@text SDL_Overlay *].
INLINE PROC SDL.LockYUVOverlay (RESULT INT return.value, SDL.Overlay overlay)
  C.SDL.LockYUVOverlay (return.value, overlay)
:

#PRAGMA EXTERNAL "PROC C.SDL.UnlockYUVOverlay (SDL.Overlay overlay) = 0"

--* Foreign function [@text SDL_UnlockYUVOverlay].
-- @param overlay Argument with type [@text SDL_Overlay *].
INLINE PROC SDL.UnlockYUVOverlay (SDL.Overlay overlay)
  C.SDL.UnlockYUVOverlay (overlay)
:

#PRAGMA EXTERNAL "PROC C.SDL.DisplayYUVOverlay (RESULT INT return.value, SDL.Overlay overlay, SDL.Rect dstrect) = 0"

--* Foreign function [@text SDL_DisplayYUVOverlay].
-- @param return.value Function return value with type [@text int].
-- @param overlay Argument with type [@text SDL_Overlay *].
-- @param dstrect Argument with type [@text SDL_Rect *].
INLINE PROC SDL.DisplayYUVOverlay (RESULT INT return.value, SDL.Overlay overlay, SDL.Rect dstrect)
  C.SDL.DisplayYUVOverlay (return.value, overlay, dstrect)
:

#PRAGMA EXTERNAL "PROC C.SDL.FreeYUVOverlay (SDL.Overlay overlay) = 0"

--* Foreign function [@text SDL_FreeYUVOverlay].
-- @param overlay Argument with type [@text SDL_Overlay *].
INLINE PROC SDL.FreeYUVOverlay (SDL.Overlay overlay)
  C.SDL.FreeYUVOverlay (overlay)
:

#PRAGMA EXTERNAL "PROC C.SDL.GL.LoadLibrary (RESULT INT return.value, BYTE path) = 0"

--* Foreign function [@text SDL_GL_LoadLibrary].
-- @param return.value Function return value with type [@text int].
-- @param path Argument with type [@text char const *].
INLINE PROC SDL.GL.LoadLibrary (RESULT INT return.value, BYTE path)
  C.SDL.GL.LoadLibrary (return.value, path)
:

#PRAGMA EXTERNAL "PROC C.SDL.GL.GetProcAddress (BYTE proc) = 0"

--* Foreign function [@text SDL_GL_GetProcAddress].
-- @param proc Argument with type [@text char const *].
INLINE PROC SDL.GL.GetProcAddress (BYTE proc)
  C.SDL.GL.GetProcAddress (proc)
:

#PRAGMA EXTERNAL "PROC C.SDL.GL.SetAttribute (RESULT INT return.value, VAL INT attr, VAL INT value) = 0"

--* Foreign function [@text SDL_GL_SetAttribute].
-- @param return.value Function return value with type [@text int].
-- @param attr Argument with type [@text SDL_GLattr].
-- @param value Argument with type [@text int].
INLINE PROC SDL.GL.SetAttribute (RESULT INT return.value, VAL INT attr, VAL INT value)
  C.SDL.GL.SetAttribute (return.value, attr, value)
:

#PRAGMA EXTERNAL "PROC C.SDL.GL.GetAttribute (RESULT INT return.value, VAL INT attr, INT value) = 0"

--* Foreign function [@text SDL_GL_GetAttribute].
-- @param return.value Function return value with type [@text int].
-- @param attr Argument with type [@text SDL_GLattr].
-- @param value Argument with type [@text int *].
INLINE PROC SDL.GL.GetAttribute (RESULT INT return.value, VAL INT attr, INT value)
  C.SDL.GL.GetAttribute (return.value, attr, value)
:

#PRAGMA EXTERNAL "PROC C.SDL.GL.SwapBuffers () = 0"

--* Foreign function [@text SDL_GL_SwapBuffers].
INLINE PROC SDL.GL.SwapBuffers ()
  C.SDL.GL.SwapBuffers ()
:

#PRAGMA EXTERNAL "PROC C.SDL.GL.UpdateRects (VAL INT numrects, SDL.Rect rects) = 0"

--* Foreign function [@text SDL_GL_UpdateRects].
-- @param numrects Argument with type [@text int].
-- @param rects Argument with type [@text SDL_Rect *].
INLINE PROC SDL.GL.UpdateRects (VAL INT numrects, SDL.Rect rects)
  C.SDL.GL.UpdateRects (numrects, rects)
:

#PRAGMA EXTERNAL "PROC C.SDL.GL.Lock () = 0"

--* Foreign function [@text SDL_GL_Lock].
INLINE PROC SDL.GL.Lock ()
  C.SDL.GL.Lock ()
:

#PRAGMA EXTERNAL "PROC C.SDL.GL.Unlock () = 0"

--* Foreign function [@text SDL_GL_Unlock].
INLINE PROC SDL.GL.Unlock ()
  C.SDL.GL.Unlock ()
:

#PRAGMA EXTERNAL "PROC C.SDL.WM.SetCaption (VAL []BYTE title, VAL []BYTE icon) = 0"

--* Foreign function [@text SDL_WM_SetCaption].
-- @param title Array pointer argument with element type [@text char const].
-- @param icon Array pointer argument with element type [@text char const].
INLINE PROC SDL.WM.SetCaption (VAL []BYTE title, VAL []BYTE icon)
  C.SDL.WM.SetCaption (title, icon)
:

#PRAGMA EXTERNAL "PROC C.SDL.WM.GetCaption (BYTE title, BYTE icon) = 0"

--* Foreign function [@text SDL_WM_GetCaption].
-- @param title Argument with type [@text char **].
-- @param icon Argument with type [@text char **].
INLINE PROC SDL.WM.GetCaption (BYTE title, BYTE icon)
  C.SDL.WM.GetCaption (title, icon)
:

#PRAGMA EXTERNAL "PROC C.SDL.WM.SetIcon (SDL.Surface icon, BYTE mask) = 0"

--* Foreign function [@text SDL_WM_SetIcon].
-- @param icon Argument with type [@text SDL_Surface *].
-- @param mask Argument with type [@text Uint8 *].
INLINE PROC SDL.WM.SetIcon (SDL.Surface icon, BYTE mask)
  C.SDL.WM.SetIcon (icon, mask)
:

#PRAGMA EXTERNAL "PROC C.SDL.WM.IconifyWindow (RESULT INT return.value) = 0"

--* Foreign function [@text SDL_WM_IconifyWindow].
-- @param return.value Function return value with type [@text int].
INLINE PROC SDL.WM.IconifyWindow (RESULT INT return.value)
  C.SDL.WM.IconifyWindow (return.value)
:

#PRAGMA EXTERNAL "PROC C.SDL.WM.ToggleFullScreen (RESULT INT return.value, SDL.Surface surface) = 0"

--* Foreign function [@text SDL_WM_ToggleFullScreen].
-- @param return.value Function return value with type [@text int].
-- @param surface Argument with type [@text SDL_Surface *].
INLINE PROC SDL.WM.ToggleFullScreen (RESULT INT return.value, SDL.Surface surface)
  C.SDL.WM.ToggleFullScreen (return.value, surface)
:

DATA TYPE SDL.GrabMode IS INT:
--*{ SDL.GrabMode Foreign enumeration [@text SDL_GrabMode].
VAL INT SDL.GRAB.QUERY IS -1:
VAL INT SDL.GRAB.OFF IS 0:
VAL INT SDL.GRAB.ON IS 1:
VAL INT SDL.GRAB.FULLSCREEN IS 2:
--*}

#PRAGMA EXTERNAL "PROC C.SDL.WM.GrabInput (SDL.GrabMode return.value, VAL INT mode) = 0"

--* Foreign function [@text SDL_WM_GrabInput].
-- @param return.value Function return value with type [@text SDL_GrabMode].
-- @param mode Argument with type [@text SDL_GrabMode].
INLINE PROC SDL.WM.GrabInput (SDL.GrabMode return.value, VAL INT mode)
  C.SDL.WM.GrabInput (return.value, mode)
:

#PRAGMA EXTERNAL "PROC C.SDL.SoftStretch (RESULT INT return.value, SDL.Surface src, SDL.Rect srcrect, SDL.Surface dst, SDL.Rect dstrect) = 0"

--* Foreign function [@text SDL_SoftStretch].
-- @param return.value Function return value with type [@text int].
-- @param src Argument with type [@text SDL_Surface *].
-- @param srcrect Argument with type [@text SDL_Rect *].
-- @param dst Argument with type [@text SDL_Surface *].
-- @param dstrect Argument with type [@text SDL_Rect *].
INLINE PROC SDL.SoftStretch (RESULT INT return.value, SDL.Surface src, SDL.Rect srcrect, SDL.Surface dst, SDL.Rect dstrect)
  C.SDL.SoftStretch (return.value, src, srcrect, dst, dstrect)
:

DATA TYPE SDLKey IS INT:
--*{ SDLKey Foreign enumeration [@text SDLKey].
VAL INT SDLK.UNKNOWN IS 0:
VAL INT SDLK.FIRST IS 1:
VAL INT SDLK.BACKSPACE IS 8:
VAL INT SDLK.TAB IS 9:
VAL INT SDLK.CLEAR IS 12:
VAL INT SDLK.RETURN IS 13:
VAL INT SDLK.PAUSE IS 19:
VAL INT SDLK.ESCAPE IS 27:
VAL INT SDLK.SPACE IS 32:
VAL INT SDLK.EXCLAIM IS 33:
VAL INT SDLK.QUOTEDBL IS 34:
VAL INT SDLK.HASH IS 35:
VAL INT SDLK.DOLLAR IS 36:
VAL INT SDLK.AMPERSAND IS 38:
VAL INT SDLK.QUOTE IS 39:
VAL INT SDLK.LEFTPAREN IS 40:
VAL INT SDLK.RIGHTPAREN IS 41:
VAL INT SDLK.ASTERISK IS 42:
VAL INT SDLK.PLUS IS 43:
VAL INT SDLK.COMMA IS 44:
VAL INT SDLK.MINUS IS 45:
VAL INT SDLK.PERIOD IS 46:
VAL INT SDLK.SLASH IS 47:
VAL INT SDLK.0 IS 48:
VAL INT SDLK.1 IS 49:
VAL INT SDLK.2 IS 50:
VAL INT SDLK.3 IS 51:
VAL INT SDLK.4 IS 52:
VAL INT SDLK.5 IS 53:
VAL INT SDLK.6 IS 54:
VAL INT SDLK.7 IS 55:
VAL INT SDLK.8 IS 56:
VAL INT SDLK.9 IS 57:
VAL INT SDLK.COLON IS 58:
VAL INT SDLK.SEMICOLON IS 59:
VAL INT SDLK.LESS IS 60:
VAL INT SDLK.EQUALS IS 61:
VAL INT SDLK.GREATER IS 62:
VAL INT SDLK.QUESTION IS 63:
VAL INT SDLK.AT IS 64:
VAL INT SDLK.LEFTBRACKET IS 91:
VAL INT SDLK.BACKSLASH IS 92:
VAL INT SDLK.RIGHTBRACKET IS 93:
VAL INT SDLK.CARET IS 94:
VAL INT SDLK.UNDERSCORE IS 95:
VAL INT SDLK.BACKQUOTE IS 96:
VAL INT SDLK.a IS 97:
VAL INT SDLK.b IS 98:
VAL INT SDLK.c IS 99:
VAL INT SDLK.d IS 100:
VAL INT SDLK.e IS 101:
VAL INT SDLK.f IS 102:
VAL INT SDLK.g IS 103:
VAL INT SDLK.h IS 104:
VAL INT SDLK.i IS 105:
VAL INT SDLK.j IS 106:
VAL INT SDLK.k IS 107:
VAL INT SDLK.l IS 108:
VAL INT SDLK.m IS 109:
VAL INT SDLK.n IS 110:
VAL INT SDLK.o IS 111:
VAL INT SDLK.p IS 112:
VAL INT SDLK.q IS 113:
VAL INT SDLK.r IS 114:
VAL INT SDLK.s IS 115:
VAL INT SDLK.t IS 116:
VAL INT SDLK.u IS 117:
VAL INT SDLK.v IS 118:
VAL INT SDLK.w IS 119:
VAL INT SDLK.x IS 120:
VAL INT SDLK.y IS 121:
VAL INT SDLK.z IS 122:
VAL INT SDLK.DELETE IS 127:
VAL INT SDLK.WORLD.0 IS 160:
VAL INT SDLK.WORLD.1 IS 161:
VAL INT SDLK.WORLD.2 IS 162:
VAL INT SDLK.WORLD.3 IS 163:
VAL INT SDLK.WORLD.4 IS 164:
VAL INT SDLK.WORLD.5 IS 165:
VAL INT SDLK.WORLD.6 IS 166:
VAL INT SDLK.WORLD.7 IS 167:
VAL INT SDLK.WORLD.8 IS 168:
VAL INT SDLK.WORLD.9 IS 169:
VAL INT SDLK.WORLD.10 IS 170:
VAL INT SDLK.WORLD.11 IS 171:
VAL INT SDLK.WORLD.12 IS 172:
VAL INT SDLK.WORLD.13 IS 173:
VAL INT SDLK.WORLD.14 IS 174:
VAL INT SDLK.WORLD.15 IS 175:
VAL INT SDLK.WORLD.16 IS 176:
VAL INT SDLK.WORLD.17 IS 177:
VAL INT SDLK.WORLD.18 IS 178:
VAL INT SDLK.WORLD.19 IS 179:
VAL INT SDLK.WORLD.20 IS 180:
VAL INT SDLK.WORLD.21 IS 181:
VAL INT SDLK.WORLD.22 IS 182:
VAL INT SDLK.WORLD.23 IS 183:
VAL INT SDLK.WORLD.24 IS 184:
VAL INT SDLK.WORLD.25 IS 185:
VAL INT SDLK.WORLD.26 IS 186:
VAL INT SDLK.WORLD.27 IS 187:
VAL INT SDLK.WORLD.28 IS 188:
VAL INT SDLK.WORLD.29 IS 189:
VAL INT SDLK.WORLD.30 IS 190:
VAL INT SDLK.WORLD.31 IS 191:
VAL INT SDLK.WORLD.32 IS 192:
VAL INT SDLK.WORLD.33 IS 193:
VAL INT SDLK.WORLD.34 IS 194:
VAL INT SDLK.WORLD.35 IS 195:
VAL INT SDLK.WORLD.36 IS 196:
VAL INT SDLK.WORLD.37 IS 197:
VAL INT SDLK.WORLD.38 IS 198:
VAL INT SDLK.WORLD.39 IS 199:
VAL INT SDLK.WORLD.40 IS 200:
VAL INT SDLK.WORLD.41 IS 201:
VAL INT SDLK.WORLD.42 IS 202:
VAL INT SDLK.WORLD.43 IS 203:
VAL INT SDLK.WORLD.44 IS 204:
VAL INT SDLK.WORLD.45 IS 205:
VAL INT SDLK.WORLD.46 IS 206:
VAL INT SDLK.WORLD.47 IS 207:
VAL INT SDLK.WORLD.48 IS 208:
VAL INT SDLK.WORLD.49 IS 209:
VAL INT SDLK.WORLD.50 IS 210:
VAL INT SDLK.WORLD.51 IS 211:
VAL INT SDLK.WORLD.52 IS 212:
VAL INT SDLK.WORLD.53 IS 213:
VAL INT SDLK.WORLD.54 IS 214:
VAL INT SDLK.WORLD.55 IS 215:
VAL INT SDLK.WORLD.56 IS 216:
VAL INT SDLK.WORLD.57 IS 217:
VAL INT SDLK.WORLD.58 IS 218:
VAL INT SDLK.WORLD.59 IS 219:
VAL INT SDLK.WORLD.60 IS 220:
VAL INT SDLK.WORLD.61 IS 221:
VAL INT SDLK.WORLD.62 IS 222:
VAL INT SDLK.WORLD.63 IS 223:
VAL INT SDLK.WORLD.64 IS 224:
VAL INT SDLK.WORLD.65 IS 225:
VAL INT SDLK.WORLD.66 IS 226:
VAL INT SDLK.WORLD.67 IS 227:
VAL INT SDLK.WORLD.68 IS 228:
VAL INT SDLK.WORLD.69 IS 229:
VAL INT SDLK.WORLD.70 IS 230:
VAL INT SDLK.WORLD.71 IS 231:
VAL INT SDLK.WORLD.72 IS 232:
VAL INT SDLK.WORLD.73 IS 233:
VAL INT SDLK.WORLD.74 IS 234:
VAL INT SDLK.WORLD.75 IS 235:
VAL INT SDLK.WORLD.76 IS 236:
VAL INT SDLK.WORLD.77 IS 237:
VAL INT SDLK.WORLD.78 IS 238:
VAL INT SDLK.WORLD.79 IS 239:
VAL INT SDLK.WORLD.80 IS 240:
VAL INT SDLK.WORLD.81 IS 241:
VAL INT SDLK.WORLD.82 IS 242:
VAL INT SDLK.WORLD.83 IS 243:
VAL INT SDLK.WORLD.84 IS 244:
VAL INT SDLK.WORLD.85 IS 245:
VAL INT SDLK.WORLD.86 IS 246:
VAL INT SDLK.WORLD.87 IS 247:
VAL INT SDLK.WORLD.88 IS 248:
VAL INT SDLK.WORLD.89 IS 249:
VAL INT SDLK.WORLD.90 IS 250:
VAL INT SDLK.WORLD.91 IS 251:
VAL INT SDLK.WORLD.92 IS 252:
VAL INT SDLK.WORLD.93 IS 253:
VAL INT SDLK.WORLD.94 IS 254:
VAL INT SDLK.WORLD.95 IS 255:
VAL INT SDLK.KP0 IS 256:
VAL INT SDLK.KP1 IS 257:
VAL INT SDLK.KP2 IS 258:
VAL INT SDLK.KP3 IS 259:
VAL INT SDLK.KP4 IS 260:
VAL INT SDLK.KP5 IS 261:
VAL INT SDLK.KP6 IS 262:
VAL INT SDLK.KP7 IS 263:
VAL INT SDLK.KP8 IS 264:
VAL INT SDLK.KP9 IS 265:
VAL INT SDLK.KP.PERIOD IS 266:
VAL INT SDLK.KP.DIVIDE IS 267:
VAL INT SDLK.KP.MULTIPLY IS 268:
VAL INT SDLK.KP.MINUS IS 269:
VAL INT SDLK.KP.PLUS IS 270:
VAL INT SDLK.KP.ENTER IS 271:
VAL INT SDLK.KP.EQUALS IS 272:
VAL INT SDLK.UP IS 273:
VAL INT SDLK.DOWN IS 274:
VAL INT SDLK.RIGHT IS 275:
VAL INT SDLK.LEFT IS 276:
VAL INT SDLK.INSERT IS 277:
VAL INT SDLK.HOME IS 278:
VAL INT SDLK.END IS 279:
VAL INT SDLK.PAGEUP IS 280:
VAL INT SDLK.PAGEDOWN IS 281:
VAL INT SDLK.F1 IS 282:
VAL INT SDLK.F2 IS 283:
VAL INT SDLK.F3 IS 284:
VAL INT SDLK.F4 IS 285:
VAL INT SDLK.F5 IS 286:
VAL INT SDLK.F6 IS 287:
VAL INT SDLK.F7 IS 288:
VAL INT SDLK.F8 IS 289:
VAL INT SDLK.F9 IS 290:
VAL INT SDLK.F10 IS 291:
VAL INT SDLK.F11 IS 292:
VAL INT SDLK.F12 IS 293:
VAL INT SDLK.F13 IS 294:
VAL INT SDLK.F14 IS 295:
VAL INT SDLK.F15 IS 296:
VAL INT SDLK.NUMLOCK IS 300:
VAL INT SDLK.CAPSLOCK IS 301:
VAL INT SDLK.SCROLLOCK IS 302:
VAL INT SDLK.RSHIFT IS 303:
VAL INT SDLK.LSHIFT IS 304:
VAL INT SDLK.RCTRL IS 305:
VAL INT SDLK.LCTRL IS 306:
VAL INT SDLK.RALT IS 307:
VAL INT SDLK.LALT IS 308:
VAL INT SDLK.RMETA IS 309:
VAL INT SDLK.LMETA IS 310:
VAL INT SDLK.LSUPER IS 311:
VAL INT SDLK.RSUPER IS 312:
VAL INT SDLK.MODE IS 313:
VAL INT SDLK.COMPOSE IS 314:
VAL INT SDLK.HELP IS 315:
VAL INT SDLK.PRINT IS 316:
VAL INT SDLK.SYSREQ IS 317:
VAL INT SDLK.BREAK IS 318:
VAL INT SDLK.MENU IS 319:
VAL INT SDLK.POWER IS 320:
VAL INT SDLK.EURO IS 321:
VAL INT SDLK.UNDO IS 322:
VAL INT SDLK.LAST IS 323:
--*}

DATA TYPE SDLMod IS INT:
--*{ SDLMod Foreign enumeration [@text SDLMod].
VAL INT KMOD.NONE IS 0:
VAL INT KMOD.LSHIFT IS 1:
VAL INT KMOD.RSHIFT IS 2:
VAL INT KMOD.LCTRL IS 64:
VAL INT KMOD.RCTRL IS 128:
VAL INT KMOD.LALT IS 256:
VAL INT KMOD.RALT IS 512:
VAL INT KMOD.LMETA IS 1024:
VAL INT KMOD.RMETA IS 2048:
VAL INT KMOD.NUM IS 4096:
VAL INT KMOD.CAPS IS 8192:
VAL INT KMOD.MODE IS 16384:
VAL INT KMOD.RESERVED IS 32768:
--*}

--* Foreign structure pointer type [@text SDL_keysym].
DATA TYPE SDL.keysym IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.keysym (RESULT SDL.keysym ptr) = 0"
--* Allocate foreign structure [@text SDL.keysym].
-- @param ptr Pointer to newly-allocated structure.
INLINE PROC create.SDL.keysym (RESULT SDL.keysym ptr)
  C.create.SDL.keysym (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.keysym (SDL.keysym ptr) = 0"
--* Free foreign structure [@text SDL.keysym].
-- @param ptr Pointer to structure to free.
INLINE PROC delete.SDL.keysym (SDL.keysym ptr)
  C.delete.SDL.keysym (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.keysym.scancode (RESULT BYTE value, VAL SDL.keysym ptr) = 0"
--* Get value of member [@text scancode] of foreign structure [@text SDL.keysym].
-- @param value Contents of the member [@text scancode].
-- @param ptr Pointer to foreign structure [@text SDL.keysym].
INLINE PROC get.SDL.keysym.scancode (RESULT BYTE value, VAL SDL.keysym ptr)
  C.get.SDL.keysym.scancode (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.keysym.scancode (VAL BYTE value, VAL SDL.keysym ptr) = 0"
--* Set value of member [@text scancode] of foreign structure [@text SDL.keysym].
-- @param value New contents of the member [@text scancode].
-- @param ptr Pointer to foreign structure [@text SDL.keysym].
INLINE PROC set.SDL.keysym.scancode (VAL BYTE value, VAL SDL.keysym ptr)
  C.set.SDL.keysym.scancode (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.keysym.sym (RESULT INT value, VAL SDL.keysym ptr) = 0"
--* Get value of member [@text sym] of foreign structure [@text SDL.keysym].
-- @param value Contents of the member [@text sym].
-- @param ptr Pointer to foreign structure [@text SDL.keysym].
INLINE PROC get.SDL.keysym.sym (RESULT INT value, VAL SDL.keysym ptr)
  C.get.SDL.keysym.sym (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.keysym.sym (VAL INT value, VAL SDL.keysym ptr) = 0"
--* Set value of member [@text sym] of foreign structure [@text SDL.keysym].
-- @param value New contents of the member [@text sym].
-- @param ptr Pointer to foreign structure [@text SDL.keysym].
INLINE PROC set.SDL.keysym.sym (VAL INT value, VAL SDL.keysym ptr)
  C.set.SDL.keysym.sym (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.keysym.mod (RESULT INT value, VAL SDL.keysym ptr) = 0"
--* Get value of member [@text mod] of foreign structure [@text SDL.keysym].
-- @param value Contents of the member [@text mod].
-- @param ptr Pointer to foreign structure [@text SDL.keysym].
INLINE PROC get.SDL.keysym.mod (RESULT INT value, VAL SDL.keysym ptr)
  C.get.SDL.keysym.mod (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.keysym.mod (VAL INT value, VAL SDL.keysym ptr) = 0"
--* Set value of member [@text mod] of foreign structure [@text SDL.keysym].
-- @param value New contents of the member [@text mod].
-- @param ptr Pointer to foreign structure [@text SDL.keysym].
INLINE PROC set.SDL.keysym.mod (VAL INT value, VAL SDL.keysym ptr)
  C.set.SDL.keysym.mod (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.keysym.unicode (RESULT INT16 value, VAL SDL.keysym ptr) = 0"
--* Get value of member [@text unicode] of foreign structure [@text SDL.keysym].
-- @param value Contents of the member [@text unicode].
-- @param ptr Pointer to foreign structure [@text SDL.keysym].
INLINE PROC get.SDL.keysym.unicode (RESULT INT16 value, VAL SDL.keysym ptr)
  C.get.SDL.keysym.unicode (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.keysym.unicode (VAL INT16 value, VAL SDL.keysym ptr) = 0"
--* Set value of member [@text unicode] of foreign structure [@text SDL.keysym].
-- @param value New contents of the member [@text unicode].
-- @param ptr Pointer to foreign structure [@text SDL.keysym].
INLINE PROC set.SDL.keysym.unicode (VAL INT16 value, VAL SDL.keysym ptr)
  C.set.SDL.keysym.unicode (value, ptr)
:
-- End of structure pointer SDL.keysym
--* Foreign [@text int] constant [@text SDL_ALL_HOTKEYS].
VAL INT SDL.ALL.HOTKEYS IS #FFFFFFFF:
#PRAGMA EXTERNAL "PROC C.SDL.EnableUNICODE (RESULT INT return.value, VAL INT enable) = 0"

--* Foreign function [@text SDL_EnableUNICODE].
-- @param return.value Function return value with type [@text int].
-- @param enable Argument with type [@text int].
INLINE PROC SDL.EnableUNICODE (RESULT INT return.value, VAL INT enable)
  C.SDL.EnableUNICODE (return.value, enable)
:

--* Foreign [@text int] constant [@text SDL_DEFAULT_REPEAT_DELAY].
VAL INT SDL.DEFAULT.REPEAT.DELAY IS 500:
--* Foreign [@text int] constant [@text SDL_DEFAULT_REPEAT_INTERVAL].
VAL INT SDL.DEFAULT.REPEAT.INTERVAL IS 30:
#PRAGMA EXTERNAL "PROC C.SDL.EnableKeyRepeat (RESULT INT return.value, VAL INT delay, VAL INT interval) = 0"

--* Foreign function [@text SDL_EnableKeyRepeat].
-- @param return.value Function return value with type [@text int].
-- @param delay Argument with type [@text int].
-- @param interval Argument with type [@text int].
INLINE PROC SDL.EnableKeyRepeat (RESULT INT return.value, VAL INT delay, VAL INT interval)
  C.SDL.EnableKeyRepeat (return.value, delay, interval)
:

#PRAGMA EXTERNAL "PROC C.SDL.GetKeyState (RESULT BYTE return.value, INT numkeys) = 0"

--* Foreign function [@text SDL_GetKeyState].
-- @param return.value Function return value with type [@text Uint8 *].
-- @param numkeys Argument with type [@text int *].
INLINE PROC SDL.GetKeyState (RESULT BYTE return.value, INT numkeys)
  C.SDL.GetKeyState (return.value, numkeys)
:

#PRAGMA EXTERNAL "PROC C.SDL.GetModState (SDLMod return.value) = 0"

--* Foreign function [@text SDL_GetModState].
-- @param return.value Function return value with type [@text SDLMod].
INLINE PROC SDL.GetModState (SDLMod return.value)
  C.SDL.GetModState (return.value)
:

#PRAGMA EXTERNAL "PROC C.SDL.SetModState (VAL INT modstate) = 0"

--* Foreign function [@text SDL_SetModState].
-- @param modstate Argument with type [@text SDLMod].
INLINE PROC SDL.SetModState (VAL INT modstate)
  C.SDL.SetModState (modstate)
:

#PRAGMA EXTERNAL "PROC C.SDL.GetKeyName (RESULT BYTE return.value, VAL INT key) = 0"

--* Foreign function [@text SDL_GetKeyName].
-- @param return.value Function return value with type [@text char *].
-- @param key Argument with type [@text SDLKey].
INLINE PROC SDL.GetKeyName (RESULT BYTE return.value, VAL INT key)
  C.SDL.GetKeyName (return.value, key)
:

--* Foreign structure pointer type [@text SDL_Joystick].
DATA TYPE SDL.Joystick IS INT:

#PRAGMA EXTERNAL "PROC C.SDL.NumJoysticks (RESULT INT return.value) = 0"

--* Foreign function [@text SDL_NumJoysticks].
-- @param return.value Function return value with type [@text int].
INLINE PROC SDL.NumJoysticks (RESULT INT return.value)
  C.SDL.NumJoysticks (return.value)
:

#PRAGMA EXTERNAL "PROC C.SDL.JoystickName (RESULT BYTE return.value, VAL INT device.index) = 0"

--* Foreign function [@text SDL_JoystickName].
-- @param return.value Function return value with type [@text char const *].
-- @param device.index Argument with type [@text int].
INLINE PROC SDL.JoystickName (RESULT BYTE return.value, VAL INT device.index)
  C.SDL.JoystickName (return.value, device.index)
:

#PRAGMA EXTERNAL "PROC C.SDL.JoystickOpen (SDL.Joystick  return.value, VAL INT device.index) = 0"

--* Foreign function [@text SDL_JoystickOpen].
-- @param return.value Function return value with type [@text SDL_Joystick *].
-- @param device.index Argument with type [@text int].
INLINE PROC SDL.JoystickOpen (SDL.Joystick  return.value, VAL INT device.index)
  C.SDL.JoystickOpen (return.value, device.index)
:

#PRAGMA EXTERNAL "PROC C.SDL.JoystickOpened (RESULT INT return.value, VAL INT device.index) = 0"

--* Foreign function [@text SDL_JoystickOpened].
-- @param return.value Function return value with type [@text int].
-- @param device.index Argument with type [@text int].
INLINE PROC SDL.JoystickOpened (RESULT INT return.value, VAL INT device.index)
  C.SDL.JoystickOpened (return.value, device.index)
:

#PRAGMA EXTERNAL "PROC C.SDL.JoystickIndex (RESULT INT return.value, SDL.Joystick joystick) = 0"

--* Foreign function [@text SDL_JoystickIndex].
-- @param return.value Function return value with type [@text int].
-- @param joystick Argument with type [@text SDL_Joystick *].
INLINE PROC SDL.JoystickIndex (RESULT INT return.value, SDL.Joystick joystick)
  C.SDL.JoystickIndex (return.value, joystick)
:

#PRAGMA EXTERNAL "PROC C.SDL.JoystickNumAxes (RESULT INT return.value, SDL.Joystick joystick) = 0"

--* Foreign function [@text SDL_JoystickNumAxes].
-- @param return.value Function return value with type [@text int].
-- @param joystick Argument with type [@text SDL_Joystick *].
INLINE PROC SDL.JoystickNumAxes (RESULT INT return.value, SDL.Joystick joystick)
  C.SDL.JoystickNumAxes (return.value, joystick)
:

#PRAGMA EXTERNAL "PROC C.SDL.JoystickNumBalls (RESULT INT return.value, SDL.Joystick joystick) = 0"

--* Foreign function [@text SDL_JoystickNumBalls].
-- @param return.value Function return value with type [@text int].
-- @param joystick Argument with type [@text SDL_Joystick *].
INLINE PROC SDL.JoystickNumBalls (RESULT INT return.value, SDL.Joystick joystick)
  C.SDL.JoystickNumBalls (return.value, joystick)
:

#PRAGMA EXTERNAL "PROC C.SDL.JoystickNumHats (RESULT INT return.value, SDL.Joystick joystick) = 0"

--* Foreign function [@text SDL_JoystickNumHats].
-- @param return.value Function return value with type [@text int].
-- @param joystick Argument with type [@text SDL_Joystick *].
INLINE PROC SDL.JoystickNumHats (RESULT INT return.value, SDL.Joystick joystick)
  C.SDL.JoystickNumHats (return.value, joystick)
:

#PRAGMA EXTERNAL "PROC C.SDL.JoystickNumButtons (RESULT INT return.value, SDL.Joystick joystick) = 0"

--* Foreign function [@text SDL_JoystickNumButtons].
-- @param return.value Function return value with type [@text int].
-- @param joystick Argument with type [@text SDL_Joystick *].
INLINE PROC SDL.JoystickNumButtons (RESULT INT return.value, SDL.Joystick joystick)
  C.SDL.JoystickNumButtons (return.value, joystick)
:

#PRAGMA EXTERNAL "PROC C.SDL.JoystickUpdate () = 0"

--* Foreign function [@text SDL_JoystickUpdate].
INLINE PROC SDL.JoystickUpdate ()
  C.SDL.JoystickUpdate ()
:

#PRAGMA EXTERNAL "PROC C.SDL.JoystickEventState (RESULT INT return.value, VAL INT state) = 0"

--* Foreign function [@text SDL_JoystickEventState].
-- @param return.value Function return value with type [@text int].
-- @param state Argument with type [@text int].
INLINE PROC SDL.JoystickEventState (RESULT INT return.value, VAL INT state)
  C.SDL.JoystickEventState (return.value, state)
:

#PRAGMA EXTERNAL "PROC C.SDL.JoystickGetAxis (RESULT INT16 return.value, SDL.Joystick joystick, VAL INT axis) = 0"

--* Foreign function [@text SDL_JoystickGetAxis].
-- @param return.value Function return value with type [@text Sint16].
-- @param joystick Argument with type [@text SDL_Joystick *].
-- @param axis Argument with type [@text int].
INLINE PROC SDL.JoystickGetAxis (RESULT INT16 return.value, SDL.Joystick joystick, VAL INT axis)
  C.SDL.JoystickGetAxis (return.value, joystick, axis)
:

--* Foreign [@text int] constant [@text SDL_HAT_CENTERED].
VAL INT SDL.HAT.CENTERED IS #00:
--* Foreign [@text int] constant [@text SDL_HAT_UP].
VAL INT SDL.HAT.UP IS #01:
--* Foreign [@text int] constant [@text SDL_HAT_RIGHT].
VAL INT SDL.HAT.RIGHT IS #02:
--* Foreign [@text int] constant [@text SDL_HAT_DOWN].
VAL INT SDL.HAT.DOWN IS #04:
--* Foreign [@text int] constant [@text SDL_HAT_LEFT].
VAL INT SDL.HAT.LEFT IS #08:
#PRAGMA EXTERNAL "PROC C.SDL.JoystickGetHat (RESULT BYTE return.value, SDL.Joystick joystick, VAL INT hat) = 0"

--* Foreign function [@text SDL_JoystickGetHat].
-- @param return.value Function return value with type [@text Uint8].
-- @param joystick Argument with type [@text SDL_Joystick *].
-- @param hat Argument with type [@text int].
INLINE PROC SDL.JoystickGetHat (RESULT BYTE return.value, SDL.Joystick joystick, VAL INT hat)
  C.SDL.JoystickGetHat (return.value, joystick, hat)
:

#PRAGMA EXTERNAL "PROC C.SDL.JoystickGetBall (RESULT INT return.value, SDL.Joystick joystick, VAL INT ball, INT dx, INT dy) = 0"

--* Foreign function [@text SDL_JoystickGetBall].
-- @param return.value Function return value with type [@text int].
-- @param joystick Argument with type [@text SDL_Joystick *].
-- @param ball Argument with type [@text int].
-- @param dx Argument with type [@text int *].
-- @param dy Argument with type [@text int *].
INLINE PROC SDL.JoystickGetBall (RESULT INT return.value, SDL.Joystick joystick, VAL INT ball, INT dx, INT dy)
  C.SDL.JoystickGetBall (return.value, joystick, ball, dx, dy)
:

#PRAGMA EXTERNAL "PROC C.SDL.JoystickGetButton (RESULT BYTE return.value, SDL.Joystick joystick, VAL INT button) = 0"

--* Foreign function [@text SDL_JoystickGetButton].
-- @param return.value Function return value with type [@text Uint8].
-- @param joystick Argument with type [@text SDL_Joystick *].
-- @param button Argument with type [@text int].
INLINE PROC SDL.JoystickGetButton (RESULT BYTE return.value, SDL.Joystick joystick, VAL INT button)
  C.SDL.JoystickGetButton (return.value, joystick, button)
:

#PRAGMA EXTERNAL "PROC C.SDL.JoystickClose (SDL.Joystick joystick) = 0"

--* Foreign function [@text SDL_JoystickClose].
-- @param joystick Argument with type [@text SDL_Joystick *].
INLINE PROC SDL.JoystickClose (SDL.Joystick joystick)
  C.SDL.JoystickClose (joystick)
:

--* Foreign structure pointer type [@text SDL_AudioSpec].
DATA TYPE SDL.AudioSpec IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.AudioSpec (RESULT SDL.AudioSpec ptr) = 0"
--* Allocate foreign structure [@text SDL.AudioSpec].
-- @param ptr Pointer to newly-allocated structure.
INLINE PROC create.SDL.AudioSpec (RESULT SDL.AudioSpec ptr)
  C.create.SDL.AudioSpec (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.AudioSpec (SDL.AudioSpec ptr) = 0"
--* Free foreign structure [@text SDL.AudioSpec].
-- @param ptr Pointer to structure to free.
INLINE PROC delete.SDL.AudioSpec (SDL.AudioSpec ptr)
  C.delete.SDL.AudioSpec (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.AudioSpec.freq (RESULT INT value, VAL SDL.AudioSpec ptr) = 0"
--* Get value of member [@text freq] of foreign structure [@text SDL.AudioSpec].
-- @param value Contents of the member [@text freq].
-- @param ptr Pointer to foreign structure [@text SDL.AudioSpec].
INLINE PROC get.SDL.AudioSpec.freq (RESULT INT value, VAL SDL.AudioSpec ptr)
  C.get.SDL.AudioSpec.freq (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.AudioSpec.freq (VAL INT value, VAL SDL.AudioSpec ptr) = 0"
--* Set value of member [@text freq] of foreign structure [@text SDL.AudioSpec].
-- @param value New contents of the member [@text freq].
-- @param ptr Pointer to foreign structure [@text SDL.AudioSpec].
INLINE PROC set.SDL.AudioSpec.freq (VAL INT value, VAL SDL.AudioSpec ptr)
  C.set.SDL.AudioSpec.freq (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.AudioSpec.format (RESULT INT16 value, VAL SDL.AudioSpec ptr) = 0"
--* Get value of member [@text format] of foreign structure [@text SDL.AudioSpec].
-- @param value Contents of the member [@text format].
-- @param ptr Pointer to foreign structure [@text SDL.AudioSpec].
INLINE PROC get.SDL.AudioSpec.format (RESULT INT16 value, VAL SDL.AudioSpec ptr)
  C.get.SDL.AudioSpec.format (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.AudioSpec.format (VAL INT16 value, VAL SDL.AudioSpec ptr) = 0"
--* Set value of member [@text format] of foreign structure [@text SDL.AudioSpec].
-- @param value New contents of the member [@text format].
-- @param ptr Pointer to foreign structure [@text SDL.AudioSpec].
INLINE PROC set.SDL.AudioSpec.format (VAL INT16 value, VAL SDL.AudioSpec ptr)
  C.set.SDL.AudioSpec.format (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.AudioSpec.channels (RESULT BYTE value, VAL SDL.AudioSpec ptr) = 0"
--* Get value of member [@text channels] of foreign structure [@text SDL.AudioSpec].
-- @param value Contents of the member [@text channels].
-- @param ptr Pointer to foreign structure [@text SDL.AudioSpec].
INLINE PROC get.SDL.AudioSpec.channels (RESULT BYTE value, VAL SDL.AudioSpec ptr)
  C.get.SDL.AudioSpec.channels (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.AudioSpec.channels (VAL BYTE value, VAL SDL.AudioSpec ptr) = 0"
--* Set value of member [@text channels] of foreign structure [@text SDL.AudioSpec].
-- @param value New contents of the member [@text channels].
-- @param ptr Pointer to foreign structure [@text SDL.AudioSpec].
INLINE PROC set.SDL.AudioSpec.channels (VAL BYTE value, VAL SDL.AudioSpec ptr)
  C.set.SDL.AudioSpec.channels (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.AudioSpec.silence (RESULT BYTE value, VAL SDL.AudioSpec ptr) = 0"
--* Get value of member [@text silence] of foreign structure [@text SDL.AudioSpec].
-- @param value Contents of the member [@text silence].
-- @param ptr Pointer to foreign structure [@text SDL.AudioSpec].
INLINE PROC get.SDL.AudioSpec.silence (RESULT BYTE value, VAL SDL.AudioSpec ptr)
  C.get.SDL.AudioSpec.silence (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.AudioSpec.silence (VAL BYTE value, VAL SDL.AudioSpec ptr) = 0"
--* Set value of member [@text silence] of foreign structure [@text SDL.AudioSpec].
-- @param value New contents of the member [@text silence].
-- @param ptr Pointer to foreign structure [@text SDL.AudioSpec].
INLINE PROC set.SDL.AudioSpec.silence (VAL BYTE value, VAL SDL.AudioSpec ptr)
  C.set.SDL.AudioSpec.silence (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.AudioSpec.samples (RESULT INT16 value, VAL SDL.AudioSpec ptr) = 0"
--* Get value of member [@text samples] of foreign structure [@text SDL.AudioSpec].
-- @param value Contents of the member [@text samples].
-- @param ptr Pointer to foreign structure [@text SDL.AudioSpec].
INLINE PROC get.SDL.AudioSpec.samples (RESULT INT16 value, VAL SDL.AudioSpec ptr)
  C.get.SDL.AudioSpec.samples (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.AudioSpec.samples (VAL INT16 value, VAL SDL.AudioSpec ptr) = 0"
--* Set value of member [@text samples] of foreign structure [@text SDL.AudioSpec].
-- @param value New contents of the member [@text samples].
-- @param ptr Pointer to foreign structure [@text SDL.AudioSpec].
INLINE PROC set.SDL.AudioSpec.samples (VAL INT16 value, VAL SDL.AudioSpec ptr)
  C.set.SDL.AudioSpec.samples (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.AudioSpec.padding (RESULT INT16 value, VAL SDL.AudioSpec ptr) = 0"
--* Get value of member [@text padding] of foreign structure [@text SDL.AudioSpec].
-- @param value Contents of the member [@text padding].
-- @param ptr Pointer to foreign structure [@text SDL.AudioSpec].
INLINE PROC get.SDL.AudioSpec.padding (RESULT INT16 value, VAL SDL.AudioSpec ptr)
  C.get.SDL.AudioSpec.padding (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.AudioSpec.padding (VAL INT16 value, VAL SDL.AudioSpec ptr) = 0"
--* Set value of member [@text padding] of foreign structure [@text SDL.AudioSpec].
-- @param value New contents of the member [@text padding].
-- @param ptr Pointer to foreign structure [@text SDL.AudioSpec].
INLINE PROC set.SDL.AudioSpec.padding (VAL INT16 value, VAL SDL.AudioSpec ptr)
  C.set.SDL.AudioSpec.padding (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.AudioSpec.size (RESULT INT value, VAL SDL.AudioSpec ptr) = 0"
--* Get value of member [@text size] of foreign structure [@text SDL.AudioSpec].
-- @param value Contents of the member [@text size].
-- @param ptr Pointer to foreign structure [@text SDL.AudioSpec].
INLINE PROC get.SDL.AudioSpec.size (RESULT INT value, VAL SDL.AudioSpec ptr)
  C.get.SDL.AudioSpec.size (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.AudioSpec.size (VAL INT value, VAL SDL.AudioSpec ptr) = 0"
--* Set value of member [@text size] of foreign structure [@text SDL.AudioSpec].
-- @param value New contents of the member [@text size].
-- @param ptr Pointer to foreign structure [@text SDL.AudioSpec].
INLINE PROC set.SDL.AudioSpec.size (VAL INT value, VAL SDL.AudioSpec ptr)
  C.set.SDL.AudioSpec.size (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.AudioSpec.callback (RESULT INT value, VAL SDL.AudioSpec ptr) = 0"
--* Get value of member [@text callback] of foreign structure [@text SDL.AudioSpec].
-- @param value Contents of the member [@text callback].
-- @param ptr Pointer to foreign structure [@text SDL.AudioSpec].
INLINE PROC get.SDL.AudioSpec.callback (RESULT INT value, VAL SDL.AudioSpec ptr)
  C.get.SDL.AudioSpec.callback (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.AudioSpec.callback (VAL INT value, VAL SDL.AudioSpec ptr) = 0"
--* Set value of member [@text callback] of foreign structure [@text SDL.AudioSpec].
-- @param value New contents of the member [@text callback].
-- @param ptr Pointer to foreign structure [@text SDL.AudioSpec].
INLINE PROC set.SDL.AudioSpec.callback (VAL INT value, VAL SDL.AudioSpec ptr)
  C.set.SDL.AudioSpec.callback (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.AudioSpec.userdata (RESULT INT value, VAL SDL.AudioSpec ptr) = 0"
--* Get value of member [@text userdata] of foreign structure [@text SDL.AudioSpec].
-- @param value Contents of the member [@text userdata].
-- @param ptr Pointer to foreign structure [@text SDL.AudioSpec].
INLINE PROC get.SDL.AudioSpec.userdata (RESULT INT value, VAL SDL.AudioSpec ptr)
  C.get.SDL.AudioSpec.userdata (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.AudioSpec.userdata (VAL INT value, VAL SDL.AudioSpec ptr) = 0"
--* Set value of member [@text userdata] of foreign structure [@text SDL.AudioSpec].
-- @param value New contents of the member [@text userdata].
-- @param ptr Pointer to foreign structure [@text SDL.AudioSpec].
INLINE PROC set.SDL.AudioSpec.userdata (VAL INT value, VAL SDL.AudioSpec ptr)
  C.set.SDL.AudioSpec.userdata (value, ptr)
:
-- End of structure pointer SDL.AudioSpec
--* Foreign [@text int] constant [@text AUDIO_U8].
VAL INT AUDIO.U8 IS #0008:
--* Foreign [@text int] constant [@text AUDIO_S8].
VAL INT AUDIO.S8 IS #8008:
--* Foreign [@text int] constant [@text AUDIO_U16LSB].
VAL INT AUDIO.U16LSB IS #0010:
--* Foreign [@text int] constant [@text AUDIO_S16LSB].
VAL INT AUDIO.S16LSB IS #8010:
--* Foreign [@text int] constant [@text AUDIO_U16MSB].
VAL INT AUDIO.U16MSB IS #1010:
--* Foreign [@text int] constant [@text AUDIO_S16MSB].
VAL INT AUDIO.S16MSB IS #9010:
--* Foreign [@text int] constant [@text AUDIO_U16].
VAL INT AUDIO.U16 IS #0010:
--* Foreign [@text int] constant [@text AUDIO_S16].
VAL INT AUDIO.S16 IS #8010:
--* Foreign structure pointer type [@text SDL_AudioCVT].
DATA TYPE SDL.AudioCVT IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.AudioCVT (RESULT SDL.AudioCVT ptr) = 0"
--* Allocate foreign structure [@text SDL.AudioCVT].
-- @param ptr Pointer to newly-allocated structure.
INLINE PROC create.SDL.AudioCVT (RESULT SDL.AudioCVT ptr)
  C.create.SDL.AudioCVT (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.AudioCVT (SDL.AudioCVT ptr) = 0"
--* Free foreign structure [@text SDL.AudioCVT].
-- @param ptr Pointer to structure to free.
INLINE PROC delete.SDL.AudioCVT (SDL.AudioCVT ptr)
  C.delete.SDL.AudioCVT (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.AudioCVT.needed (RESULT INT value, VAL SDL.AudioCVT ptr) = 0"
--* Get value of member [@text needed] of foreign structure [@text SDL.AudioCVT].
-- @param value Contents of the member [@text needed].
-- @param ptr Pointer to foreign structure [@text SDL.AudioCVT].
INLINE PROC get.SDL.AudioCVT.needed (RESULT INT value, VAL SDL.AudioCVT ptr)
  C.get.SDL.AudioCVT.needed (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.AudioCVT.needed (VAL INT value, VAL SDL.AudioCVT ptr) = 0"
--* Set value of member [@text needed] of foreign structure [@text SDL.AudioCVT].
-- @param value New contents of the member [@text needed].
-- @param ptr Pointer to foreign structure [@text SDL.AudioCVT].
INLINE PROC set.SDL.AudioCVT.needed (VAL INT value, VAL SDL.AudioCVT ptr)
  C.set.SDL.AudioCVT.needed (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.AudioCVT.src.format (RESULT INT16 value, VAL SDL.AudioCVT ptr) = 0"
--* Get value of member [@text src.format] of foreign structure [@text SDL.AudioCVT].
-- @param value Contents of the member [@text src.format].
-- @param ptr Pointer to foreign structure [@text SDL.AudioCVT].
INLINE PROC get.SDL.AudioCVT.src.format (RESULT INT16 value, VAL SDL.AudioCVT ptr)
  C.get.SDL.AudioCVT.src.format (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.AudioCVT.src.format (VAL INT16 value, VAL SDL.AudioCVT ptr) = 0"
--* Set value of member [@text src.format] of foreign structure [@text SDL.AudioCVT].
-- @param value New contents of the member [@text src.format].
-- @param ptr Pointer to foreign structure [@text SDL.AudioCVT].
INLINE PROC set.SDL.AudioCVT.src.format (VAL INT16 value, VAL SDL.AudioCVT ptr)
  C.set.SDL.AudioCVT.src.format (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.AudioCVT.dst.format (RESULT INT16 value, VAL SDL.AudioCVT ptr) = 0"
--* Get value of member [@text dst.format] of foreign structure [@text SDL.AudioCVT].
-- @param value Contents of the member [@text dst.format].
-- @param ptr Pointer to foreign structure [@text SDL.AudioCVT].
INLINE PROC get.SDL.AudioCVT.dst.format (RESULT INT16 value, VAL SDL.AudioCVT ptr)
  C.get.SDL.AudioCVT.dst.format (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.AudioCVT.dst.format (VAL INT16 value, VAL SDL.AudioCVT ptr) = 0"
--* Set value of member [@text dst.format] of foreign structure [@text SDL.AudioCVT].
-- @param value New contents of the member [@text dst.format].
-- @param ptr Pointer to foreign structure [@text SDL.AudioCVT].
INLINE PROC set.SDL.AudioCVT.dst.format (VAL INT16 value, VAL SDL.AudioCVT ptr)
  C.set.SDL.AudioCVT.dst.format (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.AudioCVT.rate.incr (RESULT REAL64 value, VAL SDL.AudioCVT ptr) = 0"
--* Get value of member [@text rate.incr] of foreign structure [@text SDL.AudioCVT].
-- @param value Contents of the member [@text rate.incr].
-- @param ptr Pointer to foreign structure [@text SDL.AudioCVT].
INLINE PROC get.SDL.AudioCVT.rate.incr (RESULT REAL64 value, VAL SDL.AudioCVT ptr)
  C.get.SDL.AudioCVT.rate.incr (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.AudioCVT.rate.incr (VAL REAL64 value, VAL SDL.AudioCVT ptr) = 0"
--* Set value of member [@text rate.incr] of foreign structure [@text SDL.AudioCVT].
-- @param value New contents of the member [@text rate.incr].
-- @param ptr Pointer to foreign structure [@text SDL.AudioCVT].
INLINE PROC set.SDL.AudioCVT.rate.incr (VAL REAL64 value, VAL SDL.AudioCVT ptr)
  C.set.SDL.AudioCVT.rate.incr (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.AudioCVT.buf (RESULT BYTE value, VAL SDL.AudioCVT ptr) = 0"
--* Get value of member [@text buf] of foreign structure [@text SDL.AudioCVT].
-- @param value Contents of the member [@text buf].
-- @param ptr Pointer to foreign structure [@text SDL.AudioCVT].
INLINE PROC get.SDL.AudioCVT.buf (RESULT BYTE value, VAL SDL.AudioCVT ptr)
  C.get.SDL.AudioCVT.buf (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.AudioCVT.buf (VAL BYTE value, VAL SDL.AudioCVT ptr) = 0"
--* Set value of member [@text buf] of foreign structure [@text SDL.AudioCVT].
-- @param value New contents of the member [@text buf].
-- @param ptr Pointer to foreign structure [@text SDL.AudioCVT].
INLINE PROC set.SDL.AudioCVT.buf (VAL BYTE value, VAL SDL.AudioCVT ptr)
  C.set.SDL.AudioCVT.buf (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.AudioCVT.len (RESULT INT value, VAL SDL.AudioCVT ptr) = 0"
--* Get value of member [@text len] of foreign structure [@text SDL.AudioCVT].
-- @param value Contents of the member [@text len].
-- @param ptr Pointer to foreign structure [@text SDL.AudioCVT].
INLINE PROC get.SDL.AudioCVT.len (RESULT INT value, VAL SDL.AudioCVT ptr)
  C.get.SDL.AudioCVT.len (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.AudioCVT.len (VAL INT value, VAL SDL.AudioCVT ptr) = 0"
--* Set value of member [@text len] of foreign structure [@text SDL.AudioCVT].
-- @param value New contents of the member [@text len].
-- @param ptr Pointer to foreign structure [@text SDL.AudioCVT].
INLINE PROC set.SDL.AudioCVT.len (VAL INT value, VAL SDL.AudioCVT ptr)
  C.set.SDL.AudioCVT.len (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.AudioCVT.len.cvt (RESULT INT value, VAL SDL.AudioCVT ptr) = 0"
--* Get value of member [@text len.cvt] of foreign structure [@text SDL.AudioCVT].
-- @param value Contents of the member [@text len.cvt].
-- @param ptr Pointer to foreign structure [@text SDL.AudioCVT].
INLINE PROC get.SDL.AudioCVT.len.cvt (RESULT INT value, VAL SDL.AudioCVT ptr)
  C.get.SDL.AudioCVT.len.cvt (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.AudioCVT.len.cvt (VAL INT value, VAL SDL.AudioCVT ptr) = 0"
--* Set value of member [@text len.cvt] of foreign structure [@text SDL.AudioCVT].
-- @param value New contents of the member [@text len.cvt].
-- @param ptr Pointer to foreign structure [@text SDL.AudioCVT].
INLINE PROC set.SDL.AudioCVT.len.cvt (VAL INT value, VAL SDL.AudioCVT ptr)
  C.set.SDL.AudioCVT.len.cvt (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.AudioCVT.len.mult (RESULT INT value, VAL SDL.AudioCVT ptr) = 0"
--* Get value of member [@text len.mult] of foreign structure [@text SDL.AudioCVT].
-- @param value Contents of the member [@text len.mult].
-- @param ptr Pointer to foreign structure [@text SDL.AudioCVT].
INLINE PROC get.SDL.AudioCVT.len.mult (RESULT INT value, VAL SDL.AudioCVT ptr)
  C.get.SDL.AudioCVT.len.mult (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.AudioCVT.len.mult (VAL INT value, VAL SDL.AudioCVT ptr) = 0"
--* Set value of member [@text len.mult] of foreign structure [@text SDL.AudioCVT].
-- @param value New contents of the member [@text len.mult].
-- @param ptr Pointer to foreign structure [@text SDL.AudioCVT].
INLINE PROC set.SDL.AudioCVT.len.mult (VAL INT value, VAL SDL.AudioCVT ptr)
  C.set.SDL.AudioCVT.len.mult (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.AudioCVT.len.ratio (RESULT REAL64 value, VAL SDL.AudioCVT ptr) = 0"
--* Get value of member [@text len.ratio] of foreign structure [@text SDL.AudioCVT].
-- @param value Contents of the member [@text len.ratio].
-- @param ptr Pointer to foreign structure [@text SDL.AudioCVT].
INLINE PROC get.SDL.AudioCVT.len.ratio (RESULT REAL64 value, VAL SDL.AudioCVT ptr)
  C.get.SDL.AudioCVT.len.ratio (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.AudioCVT.len.ratio (VAL REAL64 value, VAL SDL.AudioCVT ptr) = 0"
--* Set value of member [@text len.ratio] of foreign structure [@text SDL.AudioCVT].
-- @param value New contents of the member [@text len.ratio].
-- @param ptr Pointer to foreign structure [@text SDL.AudioCVT].
INLINE PROC set.SDL.AudioCVT.len.ratio (VAL REAL64 value, VAL SDL.AudioCVT ptr)
  C.set.SDL.AudioCVT.len.ratio (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.AudioCVT.filter.index (RESULT INT value, VAL SDL.AudioCVT ptr) = 0"
--* Get value of member [@text filter.index] of foreign structure [@text SDL.AudioCVT].
-- @param value Contents of the member [@text filter.index].
-- @param ptr Pointer to foreign structure [@text SDL.AudioCVT].
INLINE PROC get.SDL.AudioCVT.filter.index (RESULT INT value, VAL SDL.AudioCVT ptr)
  C.get.SDL.AudioCVT.filter.index (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.AudioCVT.filter.index (VAL INT value, VAL SDL.AudioCVT ptr) = 0"
--* Set value of member [@text filter.index] of foreign structure [@text SDL.AudioCVT].
-- @param value New contents of the member [@text filter.index].
-- @param ptr Pointer to foreign structure [@text SDL.AudioCVT].
INLINE PROC set.SDL.AudioCVT.filter.index (VAL INT value, VAL SDL.AudioCVT ptr)
  C.set.SDL.AudioCVT.filter.index (value, ptr)
:
-- End of structure pointer SDL.AudioCVT
#PRAGMA EXTERNAL "PROC C.SDL.AudioDriverName (RESULT BYTE return.value, []BYTE namebuf, VAL INT maxlen) = 0"

--* Foreign function [@text SDL_AudioDriverName].
-- @param return.value Function return value with type [@text char *].
-- @param namebuf Array pointer argument with element type [@text char].
-- @param maxlen Argument with type [@text int].
INLINE PROC SDL.AudioDriverName (RESULT BYTE return.value, []BYTE namebuf, VAL INT maxlen)
  C.SDL.AudioDriverName (return.value, namebuf, maxlen)
:

#PRAGMA EXTERNAL "PROC C.SDL.OpenAudio (RESULT INT return.value, SDL.AudioSpec desired, SDL.AudioSpec obtained) = 0"

--* Foreign function [@text SDL_OpenAudio].
-- @param return.value Function return value with type [@text int].
-- @param desired Argument with type [@text SDL_AudioSpec *].
-- @param obtained Argument with type [@text SDL_AudioSpec *].
INLINE PROC SDL.OpenAudio (RESULT INT return.value, SDL.AudioSpec desired, SDL.AudioSpec obtained)
  C.SDL.OpenAudio (return.value, desired, obtained)
:

DATA TYPE SDL.audiostatus IS INT:
--*{ SDL.audiostatus Foreign enumeration [@text SDL_audiostatus].
VAL INT SDL.AUDIO.STOPPED IS 0:
VAL INT SDL.AUDIO.PLAYING IS 1:
VAL INT SDL.AUDIO.PAUSED IS 2:
--*}

#PRAGMA EXTERNAL "PROC C.SDL.GetAudioStatus (SDL.audiostatus return.value) = 0"

--* Foreign function [@text SDL_GetAudioStatus].
-- @param return.value Function return value with type [@text SDL_audiostatus].
INLINE PROC SDL.GetAudioStatus (SDL.audiostatus return.value)
  C.SDL.GetAudioStatus (return.value)
:

#PRAGMA EXTERNAL "PROC C.SDL.PauseAudio (VAL INT pause.on) = 0"

--* Foreign function [@text SDL_PauseAudio].
-- @param pause.on Argument with type [@text int].
INLINE PROC SDL.PauseAudio (VAL INT pause.on)
  C.SDL.PauseAudio (pause.on)
:

#PRAGMA EXTERNAL "PROC C.occ.SDL.LoadWAV (SDL.AudioSpec  return.value, []BYTE file, SDL.AudioSpec spec, [][]BYTE audio.buf, []INT audio.len) = 0"

--* Foreign function [@text occ_SDL_LoadWAV].
-- @param return.value Function return value with type [@text SDL_AudioSpec *].
-- @param file Array pointer argument with element type [@text char].
-- @param spec Argument with type [@text SDL_AudioSpec *].
-- @param audio.buf Array pointer argument with element type [@text Uint8].
-- @param audio.len Array pointer argument with element type [@text Uint32].
INLINE PROC occ.SDL.LoadWAV (SDL.AudioSpec  return.value, []BYTE file, SDL.AudioSpec spec, [][]BYTE audio.buf, []INT audio.len)
  C.occ.SDL.LoadWAV (return.value, file, spec, audio.buf, audio.len)
:

#PRAGMA EXTERNAL "PROC C.SDL.FreeWAV (BYTE audio.buf) = 0"

--* Foreign function [@text SDL_FreeWAV].
-- @param audio.buf Argument with type [@text Uint8 *].
INLINE PROC SDL.FreeWAV (BYTE audio.buf)
  C.SDL.FreeWAV (audio.buf)
:

#PRAGMA EXTERNAL "PROC C.SDL.BuildAudioCVT (RESULT INT return.value, SDL.AudioCVT cvt, VAL INT16 src.format, VAL BYTE src.channels, VAL INT src.rate, VAL INT16 dst.format, VAL BYTE dst.channels, VAL INT dst.rate) = 0"

--* Foreign function [@text SDL_BuildAudioCVT].
-- @param return.value Function return value with type [@text int].
-- @param cvt Argument with type [@text SDL_AudioCVT *].
-- @param src.format Argument with type [@text Uint16].
-- @param src.channels Argument with type [@text Uint8].
-- @param src.rate Argument with type [@text int].
-- @param dst.format Argument with type [@text Uint16].
-- @param dst.channels Argument with type [@text Uint8].
-- @param dst.rate Argument with type [@text int].
INLINE PROC SDL.BuildAudioCVT (RESULT INT return.value, SDL.AudioCVT cvt, VAL INT16 src.format, VAL BYTE src.channels, VAL INT src.rate, VAL INT16 dst.format, VAL BYTE dst.channels, VAL INT dst.rate)
  C.SDL.BuildAudioCVT (return.value, cvt, src.format, src.channels, src.rate, dst.format, dst.channels, dst.rate)
:

#PRAGMA EXTERNAL "PROC C.SDL.ConvertAudio (RESULT INT return.value, SDL.AudioCVT cvt) = 0"

--* Foreign function [@text SDL_ConvertAudio].
-- @param return.value Function return value with type [@text int].
-- @param cvt Argument with type [@text SDL_AudioCVT *].
INLINE PROC SDL.ConvertAudio (RESULT INT return.value, SDL.AudioCVT cvt)
  C.SDL.ConvertAudio (return.value, cvt)
:

--* Foreign [@text int] constant [@text SDL_MIX_MAXVOLUME].
VAL INT SDL.MIX.MAXVOLUME IS 128:
#PRAGMA EXTERNAL "PROC C.SDL.MixAudio (BYTE dst, BYTE src, VAL INT len, VAL INT volume) = 0"

--* Foreign function [@text SDL_MixAudio].
-- @param dst Argument with type [@text Uint8 *].
-- @param src Argument with type [@text Uint8 const *].
-- @param len Argument with type [@text Uint32].
-- @param volume Argument with type [@text int].
INLINE PROC SDL.MixAudio (BYTE dst, BYTE src, VAL INT len, VAL INT volume)
  C.SDL.MixAudio (dst, src, len, volume)
:

#PRAGMA EXTERNAL "PROC C.SDL.LockAudio () = 0"

--* Foreign function [@text SDL_LockAudio].
INLINE PROC SDL.LockAudio ()
  C.SDL.LockAudio ()
:

#PRAGMA EXTERNAL "PROC C.SDL.UnlockAudio () = 0"

--* Foreign function [@text SDL_UnlockAudio].
INLINE PROC SDL.UnlockAudio ()
  C.SDL.UnlockAudio ()
:

#PRAGMA EXTERNAL "PROC C.SDL.CloseAudio () = 0"

--* Foreign function [@text SDL_CloseAudio].
INLINE PROC SDL.CloseAudio ()
  C.SDL.CloseAudio ()
:

--*{ arbitrary.name21 Foreign enumeration [@text ].
VAL INT SDL.NOEVENT IS 0:
VAL INT SDL.ACTIVEEVENT IS 1:
VAL INT SDL.KEYDOWN IS 2:
VAL INT SDL.KEYUP IS 3:
VAL INT SDL.MOUSEMOTION IS 4:
VAL INT SDL.MOUSEBUTTONDOWN IS 5:
VAL INT SDL.MOUSEBUTTONUP IS 6:
VAL INT SDL.JOYAXISMOTION IS 7:
VAL INT SDL.JOYBALLMOTION IS 8:
VAL INT SDL.JOYHATMOTION IS 9:
VAL INT SDL.JOYBUTTONDOWN IS 10:
VAL INT SDL.JOYBUTTONUP IS 11:
VAL INT SDL.QUIT IS 12:
VAL INT SDL.SYSWMEVENT IS 13:
VAL INT SDL.EVENT.RESERVEDA IS 14:
VAL INT SDL.EVENT.RESERVEDB IS 15:
VAL INT SDL.VIDEORESIZE IS 16:
VAL INT SDL.VIDEOEXPOSE IS 17:
VAL INT SDL.EVENT.RESERVED2 IS 18:
VAL INT SDL.EVENT.RESERVED3 IS 19:
VAL INT SDL.EVENT.RESERVED4 IS 20:
VAL INT SDL.EVENT.RESERVED5 IS 21:
VAL INT SDL.EVENT.RESERVED6 IS 22:
VAL INT SDL.EVENT.RESERVED7 IS 23:
VAL INT SDL.USEREVENT IS 24:
VAL INT SDL.NUMEVENTS IS 32:
--*}

--*{ arbitrary.name22 Foreign enumeration [@text ].
VAL INT SDL.ACTIVEEVENTMASK IS 0:
VAL INT SDL.KEYDOWNMASK IS 1:
VAL INT SDL.KEYUPMASK IS 2:
VAL INT SDL.MOUSEMOTIONMASK IS 3:
VAL INT SDL.MOUSEBUTTONDOWNMASK IS 4:
VAL INT SDL.MOUSEBUTTONUPMASK IS 5:
VAL INT SDL.MOUSEEVENTMASK IS 6:
VAL INT SDL.JOYAXISMOTIONMASK IS 7:
VAL INT SDL.JOYBALLMOTIONMASK IS 8:
VAL INT SDL.JOYHATMOTIONMASK IS 9:
VAL INT SDL.JOYBUTTONDOWNMASK IS 10:
VAL INT SDL.JOYBUTTONUPMASK IS 11:
VAL INT SDL.JOYEVENTMASK IS 12:
VAL INT SDL.VIDEORESIZEMASK IS 13:
VAL INT SDL.VIDEOEXPOSEMASK IS 14:
VAL INT SDL.QUITMASK IS 15:
VAL INT SDL.SYSWMEVENTMASK IS 16:
--*}

--* Foreign [@text int] constant [@text SDL_ALLEVENTS].
VAL INT SDL.ALLEVENTS IS #FFFFFFFF:
--* Foreign structure pointer type [@text SDL_ActiveEvent].
DATA TYPE SDL.ActiveEvent IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.ActiveEvent (RESULT SDL.ActiveEvent ptr) = 0"
--* Allocate foreign structure [@text SDL.ActiveEvent].
-- @param ptr Pointer to newly-allocated structure.
INLINE PROC create.SDL.ActiveEvent (RESULT SDL.ActiveEvent ptr)
  C.create.SDL.ActiveEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.ActiveEvent (SDL.ActiveEvent ptr) = 0"
--* Free foreign structure [@text SDL.ActiveEvent].
-- @param ptr Pointer to structure to free.
INLINE PROC delete.SDL.ActiveEvent (SDL.ActiveEvent ptr)
  C.delete.SDL.ActiveEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.ActiveEvent.type (RESULT BYTE value, VAL SDL.ActiveEvent ptr) = 0"
--* Get value of member [@text type] of foreign structure [@text SDL.ActiveEvent].
-- @param value Contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.ActiveEvent].
INLINE PROC get.SDL.ActiveEvent.type (RESULT BYTE value, VAL SDL.ActiveEvent ptr)
  C.get.SDL.ActiveEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.ActiveEvent.type (VAL BYTE value, VAL SDL.ActiveEvent ptr) = 0"
--* Set value of member [@text type] of foreign structure [@text SDL.ActiveEvent].
-- @param value New contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.ActiveEvent].
INLINE PROC set.SDL.ActiveEvent.type (VAL BYTE value, VAL SDL.ActiveEvent ptr)
  C.set.SDL.ActiveEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.ActiveEvent.gain (RESULT BYTE value, VAL SDL.ActiveEvent ptr) = 0"
--* Get value of member [@text gain] of foreign structure [@text SDL.ActiveEvent].
-- @param value Contents of the member [@text gain].
-- @param ptr Pointer to foreign structure [@text SDL.ActiveEvent].
INLINE PROC get.SDL.ActiveEvent.gain (RESULT BYTE value, VAL SDL.ActiveEvent ptr)
  C.get.SDL.ActiveEvent.gain (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.ActiveEvent.gain (VAL BYTE value, VAL SDL.ActiveEvent ptr) = 0"
--* Set value of member [@text gain] of foreign structure [@text SDL.ActiveEvent].
-- @param value New contents of the member [@text gain].
-- @param ptr Pointer to foreign structure [@text SDL.ActiveEvent].
INLINE PROC set.SDL.ActiveEvent.gain (VAL BYTE value, VAL SDL.ActiveEvent ptr)
  C.set.SDL.ActiveEvent.gain (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.ActiveEvent.state (RESULT BYTE value, VAL SDL.ActiveEvent ptr) = 0"
--* Get value of member [@text state] of foreign structure [@text SDL.ActiveEvent].
-- @param value Contents of the member [@text state].
-- @param ptr Pointer to foreign structure [@text SDL.ActiveEvent].
INLINE PROC get.SDL.ActiveEvent.state (RESULT BYTE value, VAL SDL.ActiveEvent ptr)
  C.get.SDL.ActiveEvent.state (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.ActiveEvent.state (VAL BYTE value, VAL SDL.ActiveEvent ptr) = 0"
--* Set value of member [@text state] of foreign structure [@text SDL.ActiveEvent].
-- @param value New contents of the member [@text state].
-- @param ptr Pointer to foreign structure [@text SDL.ActiveEvent].
INLINE PROC set.SDL.ActiveEvent.state (VAL BYTE value, VAL SDL.ActiveEvent ptr)
  C.set.SDL.ActiveEvent.state (value, ptr)
:
-- End of structure pointer SDL.ActiveEvent
--* Foreign structure pointer type [@text SDL_KeyboardEvent].
DATA TYPE SDL.KeyboardEvent IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.KeyboardEvent (RESULT SDL.KeyboardEvent ptr) = 0"
--* Allocate foreign structure [@text SDL.KeyboardEvent].
-- @param ptr Pointer to newly-allocated structure.
INLINE PROC create.SDL.KeyboardEvent (RESULT SDL.KeyboardEvent ptr)
  C.create.SDL.KeyboardEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.KeyboardEvent (SDL.KeyboardEvent ptr) = 0"
--* Free foreign structure [@text SDL.KeyboardEvent].
-- @param ptr Pointer to structure to free.
INLINE PROC delete.SDL.KeyboardEvent (SDL.KeyboardEvent ptr)
  C.delete.SDL.KeyboardEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.KeyboardEvent.type (RESULT BYTE value, VAL SDL.KeyboardEvent ptr) = 0"
--* Get value of member [@text type] of foreign structure [@text SDL.KeyboardEvent].
-- @param value Contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.KeyboardEvent].
INLINE PROC get.SDL.KeyboardEvent.type (RESULT BYTE value, VAL SDL.KeyboardEvent ptr)
  C.get.SDL.KeyboardEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.KeyboardEvent.type (VAL BYTE value, VAL SDL.KeyboardEvent ptr) = 0"
--* Set value of member [@text type] of foreign structure [@text SDL.KeyboardEvent].
-- @param value New contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.KeyboardEvent].
INLINE PROC set.SDL.KeyboardEvent.type (VAL BYTE value, VAL SDL.KeyboardEvent ptr)
  C.set.SDL.KeyboardEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.KeyboardEvent.which (RESULT BYTE value, VAL SDL.KeyboardEvent ptr) = 0"
--* Get value of member [@text which] of foreign structure [@text SDL.KeyboardEvent].
-- @param value Contents of the member [@text which].
-- @param ptr Pointer to foreign structure [@text SDL.KeyboardEvent].
INLINE PROC get.SDL.KeyboardEvent.which (RESULT BYTE value, VAL SDL.KeyboardEvent ptr)
  C.get.SDL.KeyboardEvent.which (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.KeyboardEvent.which (VAL BYTE value, VAL SDL.KeyboardEvent ptr) = 0"
--* Set value of member [@text which] of foreign structure [@text SDL.KeyboardEvent].
-- @param value New contents of the member [@text which].
-- @param ptr Pointer to foreign structure [@text SDL.KeyboardEvent].
INLINE PROC set.SDL.KeyboardEvent.which (VAL BYTE value, VAL SDL.KeyboardEvent ptr)
  C.set.SDL.KeyboardEvent.which (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.KeyboardEvent.state (RESULT BYTE value, VAL SDL.KeyboardEvent ptr) = 0"
--* Get value of member [@text state] of foreign structure [@text SDL.KeyboardEvent].
-- @param value Contents of the member [@text state].
-- @param ptr Pointer to foreign structure [@text SDL.KeyboardEvent].
INLINE PROC get.SDL.KeyboardEvent.state (RESULT BYTE value, VAL SDL.KeyboardEvent ptr)
  C.get.SDL.KeyboardEvent.state (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.KeyboardEvent.state (VAL BYTE value, VAL SDL.KeyboardEvent ptr) = 0"
--* Set value of member [@text state] of foreign structure [@text SDL.KeyboardEvent].
-- @param value New contents of the member [@text state].
-- @param ptr Pointer to foreign structure [@text SDL.KeyboardEvent].
INLINE PROC set.SDL.KeyboardEvent.state (VAL BYTE value, VAL SDL.KeyboardEvent ptr)
  C.set.SDL.KeyboardEvent.state (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.KeyboardEvent.keysym (RESULT SDL.keysym value, VAL SDL.KeyboardEvent ptr) = 0"
--* Get value of member [@text keysym] of foreign structure [@text SDL.KeyboardEvent].
-- @param value Contents of the member [@text keysym].
-- @param ptr Pointer to foreign structure [@text SDL.KeyboardEvent].
INLINE PROC get.SDL.KeyboardEvent.keysym (RESULT SDL.keysym value, VAL SDL.KeyboardEvent ptr)
  C.get.SDL.KeyboardEvent.keysym (value, ptr)
:
-- End of structure pointer SDL.KeyboardEvent
--* Foreign structure pointer type [@text SDL_MouseMotionEvent].
DATA TYPE SDL.MouseMotionEvent IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.MouseMotionEvent (RESULT SDL.MouseMotionEvent ptr) = 0"
--* Allocate foreign structure [@text SDL.MouseMotionEvent].
-- @param ptr Pointer to newly-allocated structure.
INLINE PROC create.SDL.MouseMotionEvent (RESULT SDL.MouseMotionEvent ptr)
  C.create.SDL.MouseMotionEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.MouseMotionEvent (SDL.MouseMotionEvent ptr) = 0"
--* Free foreign structure [@text SDL.MouseMotionEvent].
-- @param ptr Pointer to structure to free.
INLINE PROC delete.SDL.MouseMotionEvent (SDL.MouseMotionEvent ptr)
  C.delete.SDL.MouseMotionEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.MouseMotionEvent.type (RESULT BYTE value, VAL SDL.MouseMotionEvent ptr) = 0"
--* Get value of member [@text type] of foreign structure [@text SDL.MouseMotionEvent].
-- @param value Contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.MouseMotionEvent].
INLINE PROC get.SDL.MouseMotionEvent.type (RESULT BYTE value, VAL SDL.MouseMotionEvent ptr)
  C.get.SDL.MouseMotionEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.MouseMotionEvent.type (VAL BYTE value, VAL SDL.MouseMotionEvent ptr) = 0"
--* Set value of member [@text type] of foreign structure [@text SDL.MouseMotionEvent].
-- @param value New contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.MouseMotionEvent].
INLINE PROC set.SDL.MouseMotionEvent.type (VAL BYTE value, VAL SDL.MouseMotionEvent ptr)
  C.set.SDL.MouseMotionEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.MouseMotionEvent.which (RESULT BYTE value, VAL SDL.MouseMotionEvent ptr) = 0"
--* Get value of member [@text which] of foreign structure [@text SDL.MouseMotionEvent].
-- @param value Contents of the member [@text which].
-- @param ptr Pointer to foreign structure [@text SDL.MouseMotionEvent].
INLINE PROC get.SDL.MouseMotionEvent.which (RESULT BYTE value, VAL SDL.MouseMotionEvent ptr)
  C.get.SDL.MouseMotionEvent.which (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.MouseMotionEvent.which (VAL BYTE value, VAL SDL.MouseMotionEvent ptr) = 0"
--* Set value of member [@text which] of foreign structure [@text SDL.MouseMotionEvent].
-- @param value New contents of the member [@text which].
-- @param ptr Pointer to foreign structure [@text SDL.MouseMotionEvent].
INLINE PROC set.SDL.MouseMotionEvent.which (VAL BYTE value, VAL SDL.MouseMotionEvent ptr)
  C.set.SDL.MouseMotionEvent.which (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.MouseMotionEvent.state (RESULT BYTE value, VAL SDL.MouseMotionEvent ptr) = 0"
--* Get value of member [@text state] of foreign structure [@text SDL.MouseMotionEvent].
-- @param value Contents of the member [@text state].
-- @param ptr Pointer to foreign structure [@text SDL.MouseMotionEvent].
INLINE PROC get.SDL.MouseMotionEvent.state (RESULT BYTE value, VAL SDL.MouseMotionEvent ptr)
  C.get.SDL.MouseMotionEvent.state (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.MouseMotionEvent.state (VAL BYTE value, VAL SDL.MouseMotionEvent ptr) = 0"
--* Set value of member [@text state] of foreign structure [@text SDL.MouseMotionEvent].
-- @param value New contents of the member [@text state].
-- @param ptr Pointer to foreign structure [@text SDL.MouseMotionEvent].
INLINE PROC set.SDL.MouseMotionEvent.state (VAL BYTE value, VAL SDL.MouseMotionEvent ptr)
  C.set.SDL.MouseMotionEvent.state (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.MouseMotionEvent.x (RESULT INT16 value, VAL SDL.MouseMotionEvent ptr) = 0"
--* Get value of member [@text x] of foreign structure [@text SDL.MouseMotionEvent].
-- @param value Contents of the member [@text x].
-- @param ptr Pointer to foreign structure [@text SDL.MouseMotionEvent].
INLINE PROC get.SDL.MouseMotionEvent.x (RESULT INT16 value, VAL SDL.MouseMotionEvent ptr)
  C.get.SDL.MouseMotionEvent.x (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.MouseMotionEvent.x (VAL INT16 value, VAL SDL.MouseMotionEvent ptr) = 0"
--* Set value of member [@text x] of foreign structure [@text SDL.MouseMotionEvent].
-- @param value New contents of the member [@text x].
-- @param ptr Pointer to foreign structure [@text SDL.MouseMotionEvent].
INLINE PROC set.SDL.MouseMotionEvent.x (VAL INT16 value, VAL SDL.MouseMotionEvent ptr)
  C.set.SDL.MouseMotionEvent.x (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.MouseMotionEvent.y (RESULT INT16 value, VAL SDL.MouseMotionEvent ptr) = 0"
--* Get value of member [@text y] of foreign structure [@text SDL.MouseMotionEvent].
-- @param value Contents of the member [@text y].
-- @param ptr Pointer to foreign structure [@text SDL.MouseMotionEvent].
INLINE PROC get.SDL.MouseMotionEvent.y (RESULT INT16 value, VAL SDL.MouseMotionEvent ptr)
  C.get.SDL.MouseMotionEvent.y (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.MouseMotionEvent.y (VAL INT16 value, VAL SDL.MouseMotionEvent ptr) = 0"
--* Set value of member [@text y] of foreign structure [@text SDL.MouseMotionEvent].
-- @param value New contents of the member [@text y].
-- @param ptr Pointer to foreign structure [@text SDL.MouseMotionEvent].
INLINE PROC set.SDL.MouseMotionEvent.y (VAL INT16 value, VAL SDL.MouseMotionEvent ptr)
  C.set.SDL.MouseMotionEvent.y (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.MouseMotionEvent.xrel (RESULT INT16 value, VAL SDL.MouseMotionEvent ptr) = 0"
--* Get value of member [@text xrel] of foreign structure [@text SDL.MouseMotionEvent].
-- @param value Contents of the member [@text xrel].
-- @param ptr Pointer to foreign structure [@text SDL.MouseMotionEvent].
INLINE PROC get.SDL.MouseMotionEvent.xrel (RESULT INT16 value, VAL SDL.MouseMotionEvent ptr)
  C.get.SDL.MouseMotionEvent.xrel (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.MouseMotionEvent.xrel (VAL INT16 value, VAL SDL.MouseMotionEvent ptr) = 0"
--* Set value of member [@text xrel] of foreign structure [@text SDL.MouseMotionEvent].
-- @param value New contents of the member [@text xrel].
-- @param ptr Pointer to foreign structure [@text SDL.MouseMotionEvent].
INLINE PROC set.SDL.MouseMotionEvent.xrel (VAL INT16 value, VAL SDL.MouseMotionEvent ptr)
  C.set.SDL.MouseMotionEvent.xrel (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.MouseMotionEvent.yrel (RESULT INT16 value, VAL SDL.MouseMotionEvent ptr) = 0"
--* Get value of member [@text yrel] of foreign structure [@text SDL.MouseMotionEvent].
-- @param value Contents of the member [@text yrel].
-- @param ptr Pointer to foreign structure [@text SDL.MouseMotionEvent].
INLINE PROC get.SDL.MouseMotionEvent.yrel (RESULT INT16 value, VAL SDL.MouseMotionEvent ptr)
  C.get.SDL.MouseMotionEvent.yrel (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.MouseMotionEvent.yrel (VAL INT16 value, VAL SDL.MouseMotionEvent ptr) = 0"
--* Set value of member [@text yrel] of foreign structure [@text SDL.MouseMotionEvent].
-- @param value New contents of the member [@text yrel].
-- @param ptr Pointer to foreign structure [@text SDL.MouseMotionEvent].
INLINE PROC set.SDL.MouseMotionEvent.yrel (VAL INT16 value, VAL SDL.MouseMotionEvent ptr)
  C.set.SDL.MouseMotionEvent.yrel (value, ptr)
:
-- End of structure pointer SDL.MouseMotionEvent
--* Foreign structure pointer type [@text SDL_MouseButtonEvent].
DATA TYPE SDL.MouseButtonEvent IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.MouseButtonEvent (RESULT SDL.MouseButtonEvent ptr) = 0"
--* Allocate foreign structure [@text SDL.MouseButtonEvent].
-- @param ptr Pointer to newly-allocated structure.
INLINE PROC create.SDL.MouseButtonEvent (RESULT SDL.MouseButtonEvent ptr)
  C.create.SDL.MouseButtonEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.MouseButtonEvent (SDL.MouseButtonEvent ptr) = 0"
--* Free foreign structure [@text SDL.MouseButtonEvent].
-- @param ptr Pointer to structure to free.
INLINE PROC delete.SDL.MouseButtonEvent (SDL.MouseButtonEvent ptr)
  C.delete.SDL.MouseButtonEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.MouseButtonEvent.type (RESULT BYTE value, VAL SDL.MouseButtonEvent ptr) = 0"
--* Get value of member [@text type] of foreign structure [@text SDL.MouseButtonEvent].
-- @param value Contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.MouseButtonEvent].
INLINE PROC get.SDL.MouseButtonEvent.type (RESULT BYTE value, VAL SDL.MouseButtonEvent ptr)
  C.get.SDL.MouseButtonEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.MouseButtonEvent.type (VAL BYTE value, VAL SDL.MouseButtonEvent ptr) = 0"
--* Set value of member [@text type] of foreign structure [@text SDL.MouseButtonEvent].
-- @param value New contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.MouseButtonEvent].
INLINE PROC set.SDL.MouseButtonEvent.type (VAL BYTE value, VAL SDL.MouseButtonEvent ptr)
  C.set.SDL.MouseButtonEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.MouseButtonEvent.which (RESULT BYTE value, VAL SDL.MouseButtonEvent ptr) = 0"
--* Get value of member [@text which] of foreign structure [@text SDL.MouseButtonEvent].
-- @param value Contents of the member [@text which].
-- @param ptr Pointer to foreign structure [@text SDL.MouseButtonEvent].
INLINE PROC get.SDL.MouseButtonEvent.which (RESULT BYTE value, VAL SDL.MouseButtonEvent ptr)
  C.get.SDL.MouseButtonEvent.which (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.MouseButtonEvent.which (VAL BYTE value, VAL SDL.MouseButtonEvent ptr) = 0"
--* Set value of member [@text which] of foreign structure [@text SDL.MouseButtonEvent].
-- @param value New contents of the member [@text which].
-- @param ptr Pointer to foreign structure [@text SDL.MouseButtonEvent].
INLINE PROC set.SDL.MouseButtonEvent.which (VAL BYTE value, VAL SDL.MouseButtonEvent ptr)
  C.set.SDL.MouseButtonEvent.which (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.MouseButtonEvent.button (RESULT BYTE value, VAL SDL.MouseButtonEvent ptr) = 0"
--* Get value of member [@text button] of foreign structure [@text SDL.MouseButtonEvent].
-- @param value Contents of the member [@text button].
-- @param ptr Pointer to foreign structure [@text SDL.MouseButtonEvent].
INLINE PROC get.SDL.MouseButtonEvent.button (RESULT BYTE value, VAL SDL.MouseButtonEvent ptr)
  C.get.SDL.MouseButtonEvent.button (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.MouseButtonEvent.button (VAL BYTE value, VAL SDL.MouseButtonEvent ptr) = 0"
--* Set value of member [@text button] of foreign structure [@text SDL.MouseButtonEvent].
-- @param value New contents of the member [@text button].
-- @param ptr Pointer to foreign structure [@text SDL.MouseButtonEvent].
INLINE PROC set.SDL.MouseButtonEvent.button (VAL BYTE value, VAL SDL.MouseButtonEvent ptr)
  C.set.SDL.MouseButtonEvent.button (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.MouseButtonEvent.state (RESULT BYTE value, VAL SDL.MouseButtonEvent ptr) = 0"
--* Get value of member [@text state] of foreign structure [@text SDL.MouseButtonEvent].
-- @param value Contents of the member [@text state].
-- @param ptr Pointer to foreign structure [@text SDL.MouseButtonEvent].
INLINE PROC get.SDL.MouseButtonEvent.state (RESULT BYTE value, VAL SDL.MouseButtonEvent ptr)
  C.get.SDL.MouseButtonEvent.state (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.MouseButtonEvent.state (VAL BYTE value, VAL SDL.MouseButtonEvent ptr) = 0"
--* Set value of member [@text state] of foreign structure [@text SDL.MouseButtonEvent].
-- @param value New contents of the member [@text state].
-- @param ptr Pointer to foreign structure [@text SDL.MouseButtonEvent].
INLINE PROC set.SDL.MouseButtonEvent.state (VAL BYTE value, VAL SDL.MouseButtonEvent ptr)
  C.set.SDL.MouseButtonEvent.state (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.MouseButtonEvent.x (RESULT INT16 value, VAL SDL.MouseButtonEvent ptr) = 0"
--* Get value of member [@text x] of foreign structure [@text SDL.MouseButtonEvent].
-- @param value Contents of the member [@text x].
-- @param ptr Pointer to foreign structure [@text SDL.MouseButtonEvent].
INLINE PROC get.SDL.MouseButtonEvent.x (RESULT INT16 value, VAL SDL.MouseButtonEvent ptr)
  C.get.SDL.MouseButtonEvent.x (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.MouseButtonEvent.x (VAL INT16 value, VAL SDL.MouseButtonEvent ptr) = 0"
--* Set value of member [@text x] of foreign structure [@text SDL.MouseButtonEvent].
-- @param value New contents of the member [@text x].
-- @param ptr Pointer to foreign structure [@text SDL.MouseButtonEvent].
INLINE PROC set.SDL.MouseButtonEvent.x (VAL INT16 value, VAL SDL.MouseButtonEvent ptr)
  C.set.SDL.MouseButtonEvent.x (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.MouseButtonEvent.y (RESULT INT16 value, VAL SDL.MouseButtonEvent ptr) = 0"
--* Get value of member [@text y] of foreign structure [@text SDL.MouseButtonEvent].
-- @param value Contents of the member [@text y].
-- @param ptr Pointer to foreign structure [@text SDL.MouseButtonEvent].
INLINE PROC get.SDL.MouseButtonEvent.y (RESULT INT16 value, VAL SDL.MouseButtonEvent ptr)
  C.get.SDL.MouseButtonEvent.y (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.MouseButtonEvent.y (VAL INT16 value, VAL SDL.MouseButtonEvent ptr) = 0"
--* Set value of member [@text y] of foreign structure [@text SDL.MouseButtonEvent].
-- @param value New contents of the member [@text y].
-- @param ptr Pointer to foreign structure [@text SDL.MouseButtonEvent].
INLINE PROC set.SDL.MouseButtonEvent.y (VAL INT16 value, VAL SDL.MouseButtonEvent ptr)
  C.set.SDL.MouseButtonEvent.y (value, ptr)
:
-- End of structure pointer SDL.MouseButtonEvent
--* Foreign structure pointer type [@text SDL_JoyAxisEvent].
DATA TYPE SDL.JoyAxisEvent IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.JoyAxisEvent (RESULT SDL.JoyAxisEvent ptr) = 0"
--* Allocate foreign structure [@text SDL.JoyAxisEvent].
-- @param ptr Pointer to newly-allocated structure.
INLINE PROC create.SDL.JoyAxisEvent (RESULT SDL.JoyAxisEvent ptr)
  C.create.SDL.JoyAxisEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.JoyAxisEvent (SDL.JoyAxisEvent ptr) = 0"
--* Free foreign structure [@text SDL.JoyAxisEvent].
-- @param ptr Pointer to structure to free.
INLINE PROC delete.SDL.JoyAxisEvent (SDL.JoyAxisEvent ptr)
  C.delete.SDL.JoyAxisEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.JoyAxisEvent.type (RESULT BYTE value, VAL SDL.JoyAxisEvent ptr) = 0"
--* Get value of member [@text type] of foreign structure [@text SDL.JoyAxisEvent].
-- @param value Contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.JoyAxisEvent].
INLINE PROC get.SDL.JoyAxisEvent.type (RESULT BYTE value, VAL SDL.JoyAxisEvent ptr)
  C.get.SDL.JoyAxisEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.JoyAxisEvent.type (VAL BYTE value, VAL SDL.JoyAxisEvent ptr) = 0"
--* Set value of member [@text type] of foreign structure [@text SDL.JoyAxisEvent].
-- @param value New contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.JoyAxisEvent].
INLINE PROC set.SDL.JoyAxisEvent.type (VAL BYTE value, VAL SDL.JoyAxisEvent ptr)
  C.set.SDL.JoyAxisEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.JoyAxisEvent.which (RESULT BYTE value, VAL SDL.JoyAxisEvent ptr) = 0"
--* Get value of member [@text which] of foreign structure [@text SDL.JoyAxisEvent].
-- @param value Contents of the member [@text which].
-- @param ptr Pointer to foreign structure [@text SDL.JoyAxisEvent].
INLINE PROC get.SDL.JoyAxisEvent.which (RESULT BYTE value, VAL SDL.JoyAxisEvent ptr)
  C.get.SDL.JoyAxisEvent.which (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.JoyAxisEvent.which (VAL BYTE value, VAL SDL.JoyAxisEvent ptr) = 0"
--* Set value of member [@text which] of foreign structure [@text SDL.JoyAxisEvent].
-- @param value New contents of the member [@text which].
-- @param ptr Pointer to foreign structure [@text SDL.JoyAxisEvent].
INLINE PROC set.SDL.JoyAxisEvent.which (VAL BYTE value, VAL SDL.JoyAxisEvent ptr)
  C.set.SDL.JoyAxisEvent.which (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.JoyAxisEvent.axis (RESULT BYTE value, VAL SDL.JoyAxisEvent ptr) = 0"
--* Get value of member [@text axis] of foreign structure [@text SDL.JoyAxisEvent].
-- @param value Contents of the member [@text axis].
-- @param ptr Pointer to foreign structure [@text SDL.JoyAxisEvent].
INLINE PROC get.SDL.JoyAxisEvent.axis (RESULT BYTE value, VAL SDL.JoyAxisEvent ptr)
  C.get.SDL.JoyAxisEvent.axis (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.JoyAxisEvent.axis (VAL BYTE value, VAL SDL.JoyAxisEvent ptr) = 0"
--* Set value of member [@text axis] of foreign structure [@text SDL.JoyAxisEvent].
-- @param value New contents of the member [@text axis].
-- @param ptr Pointer to foreign structure [@text SDL.JoyAxisEvent].
INLINE PROC set.SDL.JoyAxisEvent.axis (VAL BYTE value, VAL SDL.JoyAxisEvent ptr)
  C.set.SDL.JoyAxisEvent.axis (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.JoyAxisEvent.value (RESULT INT16 value, VAL SDL.JoyAxisEvent ptr) = 0"
--* Get value of member [@text value] of foreign structure [@text SDL.JoyAxisEvent].
-- @param value Contents of the member [@text value].
-- @param ptr Pointer to foreign structure [@text SDL.JoyAxisEvent].
INLINE PROC get.SDL.JoyAxisEvent.value (RESULT INT16 value, VAL SDL.JoyAxisEvent ptr)
  C.get.SDL.JoyAxisEvent.value (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.JoyAxisEvent.value (VAL INT16 value, VAL SDL.JoyAxisEvent ptr) = 0"
--* Set value of member [@text value] of foreign structure [@text SDL.JoyAxisEvent].
-- @param value New contents of the member [@text value].
-- @param ptr Pointer to foreign structure [@text SDL.JoyAxisEvent].
INLINE PROC set.SDL.JoyAxisEvent.value (VAL INT16 value, VAL SDL.JoyAxisEvent ptr)
  C.set.SDL.JoyAxisEvent.value (value, ptr)
:
-- End of structure pointer SDL.JoyAxisEvent
--* Foreign structure pointer type [@text SDL_JoyBallEvent].
DATA TYPE SDL.JoyBallEvent IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.JoyBallEvent (RESULT SDL.JoyBallEvent ptr) = 0"
--* Allocate foreign structure [@text SDL.JoyBallEvent].
-- @param ptr Pointer to newly-allocated structure.
INLINE PROC create.SDL.JoyBallEvent (RESULT SDL.JoyBallEvent ptr)
  C.create.SDL.JoyBallEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.JoyBallEvent (SDL.JoyBallEvent ptr) = 0"
--* Free foreign structure [@text SDL.JoyBallEvent].
-- @param ptr Pointer to structure to free.
INLINE PROC delete.SDL.JoyBallEvent (SDL.JoyBallEvent ptr)
  C.delete.SDL.JoyBallEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.JoyBallEvent.type (RESULT BYTE value, VAL SDL.JoyBallEvent ptr) = 0"
--* Get value of member [@text type] of foreign structure [@text SDL.JoyBallEvent].
-- @param value Contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.JoyBallEvent].
INLINE PROC get.SDL.JoyBallEvent.type (RESULT BYTE value, VAL SDL.JoyBallEvent ptr)
  C.get.SDL.JoyBallEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.JoyBallEvent.type (VAL BYTE value, VAL SDL.JoyBallEvent ptr) = 0"
--* Set value of member [@text type] of foreign structure [@text SDL.JoyBallEvent].
-- @param value New contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.JoyBallEvent].
INLINE PROC set.SDL.JoyBallEvent.type (VAL BYTE value, VAL SDL.JoyBallEvent ptr)
  C.set.SDL.JoyBallEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.JoyBallEvent.which (RESULT BYTE value, VAL SDL.JoyBallEvent ptr) = 0"
--* Get value of member [@text which] of foreign structure [@text SDL.JoyBallEvent].
-- @param value Contents of the member [@text which].
-- @param ptr Pointer to foreign structure [@text SDL.JoyBallEvent].
INLINE PROC get.SDL.JoyBallEvent.which (RESULT BYTE value, VAL SDL.JoyBallEvent ptr)
  C.get.SDL.JoyBallEvent.which (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.JoyBallEvent.which (VAL BYTE value, VAL SDL.JoyBallEvent ptr) = 0"
--* Set value of member [@text which] of foreign structure [@text SDL.JoyBallEvent].
-- @param value New contents of the member [@text which].
-- @param ptr Pointer to foreign structure [@text SDL.JoyBallEvent].
INLINE PROC set.SDL.JoyBallEvent.which (VAL BYTE value, VAL SDL.JoyBallEvent ptr)
  C.set.SDL.JoyBallEvent.which (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.JoyBallEvent.ball (RESULT BYTE value, VAL SDL.JoyBallEvent ptr) = 0"
--* Get value of member [@text ball] of foreign structure [@text SDL.JoyBallEvent].
-- @param value Contents of the member [@text ball].
-- @param ptr Pointer to foreign structure [@text SDL.JoyBallEvent].
INLINE PROC get.SDL.JoyBallEvent.ball (RESULT BYTE value, VAL SDL.JoyBallEvent ptr)
  C.get.SDL.JoyBallEvent.ball (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.JoyBallEvent.ball (VAL BYTE value, VAL SDL.JoyBallEvent ptr) = 0"
--* Set value of member [@text ball] of foreign structure [@text SDL.JoyBallEvent].
-- @param value New contents of the member [@text ball].
-- @param ptr Pointer to foreign structure [@text SDL.JoyBallEvent].
INLINE PROC set.SDL.JoyBallEvent.ball (VAL BYTE value, VAL SDL.JoyBallEvent ptr)
  C.set.SDL.JoyBallEvent.ball (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.JoyBallEvent.xrel (RESULT INT16 value, VAL SDL.JoyBallEvent ptr) = 0"
--* Get value of member [@text xrel] of foreign structure [@text SDL.JoyBallEvent].
-- @param value Contents of the member [@text xrel].
-- @param ptr Pointer to foreign structure [@text SDL.JoyBallEvent].
INLINE PROC get.SDL.JoyBallEvent.xrel (RESULT INT16 value, VAL SDL.JoyBallEvent ptr)
  C.get.SDL.JoyBallEvent.xrel (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.JoyBallEvent.xrel (VAL INT16 value, VAL SDL.JoyBallEvent ptr) = 0"
--* Set value of member [@text xrel] of foreign structure [@text SDL.JoyBallEvent].
-- @param value New contents of the member [@text xrel].
-- @param ptr Pointer to foreign structure [@text SDL.JoyBallEvent].
INLINE PROC set.SDL.JoyBallEvent.xrel (VAL INT16 value, VAL SDL.JoyBallEvent ptr)
  C.set.SDL.JoyBallEvent.xrel (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.JoyBallEvent.yrel (RESULT INT16 value, VAL SDL.JoyBallEvent ptr) = 0"
--* Get value of member [@text yrel] of foreign structure [@text SDL.JoyBallEvent].
-- @param value Contents of the member [@text yrel].
-- @param ptr Pointer to foreign structure [@text SDL.JoyBallEvent].
INLINE PROC get.SDL.JoyBallEvent.yrel (RESULT INT16 value, VAL SDL.JoyBallEvent ptr)
  C.get.SDL.JoyBallEvent.yrel (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.JoyBallEvent.yrel (VAL INT16 value, VAL SDL.JoyBallEvent ptr) = 0"
--* Set value of member [@text yrel] of foreign structure [@text SDL.JoyBallEvent].
-- @param value New contents of the member [@text yrel].
-- @param ptr Pointer to foreign structure [@text SDL.JoyBallEvent].
INLINE PROC set.SDL.JoyBallEvent.yrel (VAL INT16 value, VAL SDL.JoyBallEvent ptr)
  C.set.SDL.JoyBallEvent.yrel (value, ptr)
:
-- End of structure pointer SDL.JoyBallEvent
--* Foreign structure pointer type [@text SDL_JoyHatEvent].
DATA TYPE SDL.JoyHatEvent IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.JoyHatEvent (RESULT SDL.JoyHatEvent ptr) = 0"
--* Allocate foreign structure [@text SDL.JoyHatEvent].
-- @param ptr Pointer to newly-allocated structure.
INLINE PROC create.SDL.JoyHatEvent (RESULT SDL.JoyHatEvent ptr)
  C.create.SDL.JoyHatEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.JoyHatEvent (SDL.JoyHatEvent ptr) = 0"
--* Free foreign structure [@text SDL.JoyHatEvent].
-- @param ptr Pointer to structure to free.
INLINE PROC delete.SDL.JoyHatEvent (SDL.JoyHatEvent ptr)
  C.delete.SDL.JoyHatEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.JoyHatEvent.type (RESULT BYTE value, VAL SDL.JoyHatEvent ptr) = 0"
--* Get value of member [@text type] of foreign structure [@text SDL.JoyHatEvent].
-- @param value Contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.JoyHatEvent].
INLINE PROC get.SDL.JoyHatEvent.type (RESULT BYTE value, VAL SDL.JoyHatEvent ptr)
  C.get.SDL.JoyHatEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.JoyHatEvent.type (VAL BYTE value, VAL SDL.JoyHatEvent ptr) = 0"
--* Set value of member [@text type] of foreign structure [@text SDL.JoyHatEvent].
-- @param value New contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.JoyHatEvent].
INLINE PROC set.SDL.JoyHatEvent.type (VAL BYTE value, VAL SDL.JoyHatEvent ptr)
  C.set.SDL.JoyHatEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.JoyHatEvent.which (RESULT BYTE value, VAL SDL.JoyHatEvent ptr) = 0"
--* Get value of member [@text which] of foreign structure [@text SDL.JoyHatEvent].
-- @param value Contents of the member [@text which].
-- @param ptr Pointer to foreign structure [@text SDL.JoyHatEvent].
INLINE PROC get.SDL.JoyHatEvent.which (RESULT BYTE value, VAL SDL.JoyHatEvent ptr)
  C.get.SDL.JoyHatEvent.which (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.JoyHatEvent.which (VAL BYTE value, VAL SDL.JoyHatEvent ptr) = 0"
--* Set value of member [@text which] of foreign structure [@text SDL.JoyHatEvent].
-- @param value New contents of the member [@text which].
-- @param ptr Pointer to foreign structure [@text SDL.JoyHatEvent].
INLINE PROC set.SDL.JoyHatEvent.which (VAL BYTE value, VAL SDL.JoyHatEvent ptr)
  C.set.SDL.JoyHatEvent.which (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.JoyHatEvent.hat (RESULT BYTE value, VAL SDL.JoyHatEvent ptr) = 0"
--* Get value of member [@text hat] of foreign structure [@text SDL.JoyHatEvent].
-- @param value Contents of the member [@text hat].
-- @param ptr Pointer to foreign structure [@text SDL.JoyHatEvent].
INLINE PROC get.SDL.JoyHatEvent.hat (RESULT BYTE value, VAL SDL.JoyHatEvent ptr)
  C.get.SDL.JoyHatEvent.hat (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.JoyHatEvent.hat (VAL BYTE value, VAL SDL.JoyHatEvent ptr) = 0"
--* Set value of member [@text hat] of foreign structure [@text SDL.JoyHatEvent].
-- @param value New contents of the member [@text hat].
-- @param ptr Pointer to foreign structure [@text SDL.JoyHatEvent].
INLINE PROC set.SDL.JoyHatEvent.hat (VAL BYTE value, VAL SDL.JoyHatEvent ptr)
  C.set.SDL.JoyHatEvent.hat (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.JoyHatEvent.value (RESULT BYTE value, VAL SDL.JoyHatEvent ptr) = 0"
--* Get value of member [@text value] of foreign structure [@text SDL.JoyHatEvent].
-- @param value Contents of the member [@text value].
-- @param ptr Pointer to foreign structure [@text SDL.JoyHatEvent].
INLINE PROC get.SDL.JoyHatEvent.value (RESULT BYTE value, VAL SDL.JoyHatEvent ptr)
  C.get.SDL.JoyHatEvent.value (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.JoyHatEvent.value (VAL BYTE value, VAL SDL.JoyHatEvent ptr) = 0"
--* Set value of member [@text value] of foreign structure [@text SDL.JoyHatEvent].
-- @param value New contents of the member [@text value].
-- @param ptr Pointer to foreign structure [@text SDL.JoyHatEvent].
INLINE PROC set.SDL.JoyHatEvent.value (VAL BYTE value, VAL SDL.JoyHatEvent ptr)
  C.set.SDL.JoyHatEvent.value (value, ptr)
:
-- End of structure pointer SDL.JoyHatEvent
--* Foreign structure pointer type [@text SDL_JoyButtonEvent].
DATA TYPE SDL.JoyButtonEvent IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.JoyButtonEvent (RESULT SDL.JoyButtonEvent ptr) = 0"
--* Allocate foreign structure [@text SDL.JoyButtonEvent].
-- @param ptr Pointer to newly-allocated structure.
INLINE PROC create.SDL.JoyButtonEvent (RESULT SDL.JoyButtonEvent ptr)
  C.create.SDL.JoyButtonEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.JoyButtonEvent (SDL.JoyButtonEvent ptr) = 0"
--* Free foreign structure [@text SDL.JoyButtonEvent].
-- @param ptr Pointer to structure to free.
INLINE PROC delete.SDL.JoyButtonEvent (SDL.JoyButtonEvent ptr)
  C.delete.SDL.JoyButtonEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.JoyButtonEvent.type (RESULT BYTE value, VAL SDL.JoyButtonEvent ptr) = 0"
--* Get value of member [@text type] of foreign structure [@text SDL.JoyButtonEvent].
-- @param value Contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.JoyButtonEvent].
INLINE PROC get.SDL.JoyButtonEvent.type (RESULT BYTE value, VAL SDL.JoyButtonEvent ptr)
  C.get.SDL.JoyButtonEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.JoyButtonEvent.type (VAL BYTE value, VAL SDL.JoyButtonEvent ptr) = 0"
--* Set value of member [@text type] of foreign structure [@text SDL.JoyButtonEvent].
-- @param value New contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.JoyButtonEvent].
INLINE PROC set.SDL.JoyButtonEvent.type (VAL BYTE value, VAL SDL.JoyButtonEvent ptr)
  C.set.SDL.JoyButtonEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.JoyButtonEvent.which (RESULT BYTE value, VAL SDL.JoyButtonEvent ptr) = 0"
--* Get value of member [@text which] of foreign structure [@text SDL.JoyButtonEvent].
-- @param value Contents of the member [@text which].
-- @param ptr Pointer to foreign structure [@text SDL.JoyButtonEvent].
INLINE PROC get.SDL.JoyButtonEvent.which (RESULT BYTE value, VAL SDL.JoyButtonEvent ptr)
  C.get.SDL.JoyButtonEvent.which (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.JoyButtonEvent.which (VAL BYTE value, VAL SDL.JoyButtonEvent ptr) = 0"
--* Set value of member [@text which] of foreign structure [@text SDL.JoyButtonEvent].
-- @param value New contents of the member [@text which].
-- @param ptr Pointer to foreign structure [@text SDL.JoyButtonEvent].
INLINE PROC set.SDL.JoyButtonEvent.which (VAL BYTE value, VAL SDL.JoyButtonEvent ptr)
  C.set.SDL.JoyButtonEvent.which (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.JoyButtonEvent.button (RESULT BYTE value, VAL SDL.JoyButtonEvent ptr) = 0"
--* Get value of member [@text button] of foreign structure [@text SDL.JoyButtonEvent].
-- @param value Contents of the member [@text button].
-- @param ptr Pointer to foreign structure [@text SDL.JoyButtonEvent].
INLINE PROC get.SDL.JoyButtonEvent.button (RESULT BYTE value, VAL SDL.JoyButtonEvent ptr)
  C.get.SDL.JoyButtonEvent.button (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.JoyButtonEvent.button (VAL BYTE value, VAL SDL.JoyButtonEvent ptr) = 0"
--* Set value of member [@text button] of foreign structure [@text SDL.JoyButtonEvent].
-- @param value New contents of the member [@text button].
-- @param ptr Pointer to foreign structure [@text SDL.JoyButtonEvent].
INLINE PROC set.SDL.JoyButtonEvent.button (VAL BYTE value, VAL SDL.JoyButtonEvent ptr)
  C.set.SDL.JoyButtonEvent.button (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.JoyButtonEvent.state (RESULT BYTE value, VAL SDL.JoyButtonEvent ptr) = 0"
--* Get value of member [@text state] of foreign structure [@text SDL.JoyButtonEvent].
-- @param value Contents of the member [@text state].
-- @param ptr Pointer to foreign structure [@text SDL.JoyButtonEvent].
INLINE PROC get.SDL.JoyButtonEvent.state (RESULT BYTE value, VAL SDL.JoyButtonEvent ptr)
  C.get.SDL.JoyButtonEvent.state (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.JoyButtonEvent.state (VAL BYTE value, VAL SDL.JoyButtonEvent ptr) = 0"
--* Set value of member [@text state] of foreign structure [@text SDL.JoyButtonEvent].
-- @param value New contents of the member [@text state].
-- @param ptr Pointer to foreign structure [@text SDL.JoyButtonEvent].
INLINE PROC set.SDL.JoyButtonEvent.state (VAL BYTE value, VAL SDL.JoyButtonEvent ptr)
  C.set.SDL.JoyButtonEvent.state (value, ptr)
:
-- End of structure pointer SDL.JoyButtonEvent
--* Foreign structure pointer type [@text SDL_ResizeEvent].
DATA TYPE SDL.ResizeEvent IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.ResizeEvent (RESULT SDL.ResizeEvent ptr) = 0"
--* Allocate foreign structure [@text SDL.ResizeEvent].
-- @param ptr Pointer to newly-allocated structure.
INLINE PROC create.SDL.ResizeEvent (RESULT SDL.ResizeEvent ptr)
  C.create.SDL.ResizeEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.ResizeEvent (SDL.ResizeEvent ptr) = 0"
--* Free foreign structure [@text SDL.ResizeEvent].
-- @param ptr Pointer to structure to free.
INLINE PROC delete.SDL.ResizeEvent (SDL.ResizeEvent ptr)
  C.delete.SDL.ResizeEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.ResizeEvent.type (RESULT BYTE value, VAL SDL.ResizeEvent ptr) = 0"
--* Get value of member [@text type] of foreign structure [@text SDL.ResizeEvent].
-- @param value Contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.ResizeEvent].
INLINE PROC get.SDL.ResizeEvent.type (RESULT BYTE value, VAL SDL.ResizeEvent ptr)
  C.get.SDL.ResizeEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.ResizeEvent.type (VAL BYTE value, VAL SDL.ResizeEvent ptr) = 0"
--* Set value of member [@text type] of foreign structure [@text SDL.ResizeEvent].
-- @param value New contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.ResizeEvent].
INLINE PROC set.SDL.ResizeEvent.type (VAL BYTE value, VAL SDL.ResizeEvent ptr)
  C.set.SDL.ResizeEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.ResizeEvent.w (RESULT INT value, VAL SDL.ResizeEvent ptr) = 0"
--* Get value of member [@text w] of foreign structure [@text SDL.ResizeEvent].
-- @param value Contents of the member [@text w].
-- @param ptr Pointer to foreign structure [@text SDL.ResizeEvent].
INLINE PROC get.SDL.ResizeEvent.w (RESULT INT value, VAL SDL.ResizeEvent ptr)
  C.get.SDL.ResizeEvent.w (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.ResizeEvent.w (VAL INT value, VAL SDL.ResizeEvent ptr) = 0"
--* Set value of member [@text w] of foreign structure [@text SDL.ResizeEvent].
-- @param value New contents of the member [@text w].
-- @param ptr Pointer to foreign structure [@text SDL.ResizeEvent].
INLINE PROC set.SDL.ResizeEvent.w (VAL INT value, VAL SDL.ResizeEvent ptr)
  C.set.SDL.ResizeEvent.w (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.ResizeEvent.h (RESULT INT value, VAL SDL.ResizeEvent ptr) = 0"
--* Get value of member [@text h] of foreign structure [@text SDL.ResizeEvent].
-- @param value Contents of the member [@text h].
-- @param ptr Pointer to foreign structure [@text SDL.ResizeEvent].
INLINE PROC get.SDL.ResizeEvent.h (RESULT INT value, VAL SDL.ResizeEvent ptr)
  C.get.SDL.ResizeEvent.h (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.ResizeEvent.h (VAL INT value, VAL SDL.ResizeEvent ptr) = 0"
--* Set value of member [@text h] of foreign structure [@text SDL.ResizeEvent].
-- @param value New contents of the member [@text h].
-- @param ptr Pointer to foreign structure [@text SDL.ResizeEvent].
INLINE PROC set.SDL.ResizeEvent.h (VAL INT value, VAL SDL.ResizeEvent ptr)
  C.set.SDL.ResizeEvent.h (value, ptr)
:
-- End of structure pointer SDL.ResizeEvent
--* Foreign structure pointer type [@text SDL_ExposeEvent].
DATA TYPE SDL.ExposeEvent IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.ExposeEvent (RESULT SDL.ExposeEvent ptr) = 0"
--* Allocate foreign structure [@text SDL.ExposeEvent].
-- @param ptr Pointer to newly-allocated structure.
INLINE PROC create.SDL.ExposeEvent (RESULT SDL.ExposeEvent ptr)
  C.create.SDL.ExposeEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.ExposeEvent (SDL.ExposeEvent ptr) = 0"
--* Free foreign structure [@text SDL.ExposeEvent].
-- @param ptr Pointer to structure to free.
INLINE PROC delete.SDL.ExposeEvent (SDL.ExposeEvent ptr)
  C.delete.SDL.ExposeEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.ExposeEvent.type (RESULT BYTE value, VAL SDL.ExposeEvent ptr) = 0"
--* Get value of member [@text type] of foreign structure [@text SDL.ExposeEvent].
-- @param value Contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.ExposeEvent].
INLINE PROC get.SDL.ExposeEvent.type (RESULT BYTE value, VAL SDL.ExposeEvent ptr)
  C.get.SDL.ExposeEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.ExposeEvent.type (VAL BYTE value, VAL SDL.ExposeEvent ptr) = 0"
--* Set value of member [@text type] of foreign structure [@text SDL.ExposeEvent].
-- @param value New contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.ExposeEvent].
INLINE PROC set.SDL.ExposeEvent.type (VAL BYTE value, VAL SDL.ExposeEvent ptr)
  C.set.SDL.ExposeEvent.type (value, ptr)
:
-- End of structure pointer SDL.ExposeEvent
--* Foreign structure pointer type [@text SDL_QuitEvent].
DATA TYPE SDL.QuitEvent IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.QuitEvent (RESULT SDL.QuitEvent ptr) = 0"
--* Allocate foreign structure [@text SDL.QuitEvent].
-- @param ptr Pointer to newly-allocated structure.
INLINE PROC create.SDL.QuitEvent (RESULT SDL.QuitEvent ptr)
  C.create.SDL.QuitEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.QuitEvent (SDL.QuitEvent ptr) = 0"
--* Free foreign structure [@text SDL.QuitEvent].
-- @param ptr Pointer to structure to free.
INLINE PROC delete.SDL.QuitEvent (SDL.QuitEvent ptr)
  C.delete.SDL.QuitEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.QuitEvent.type (RESULT BYTE value, VAL SDL.QuitEvent ptr) = 0"
--* Get value of member [@text type] of foreign structure [@text SDL.QuitEvent].
-- @param value Contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.QuitEvent].
INLINE PROC get.SDL.QuitEvent.type (RESULT BYTE value, VAL SDL.QuitEvent ptr)
  C.get.SDL.QuitEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.QuitEvent.type (VAL BYTE value, VAL SDL.QuitEvent ptr) = 0"
--* Set value of member [@text type] of foreign structure [@text SDL.QuitEvent].
-- @param value New contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.QuitEvent].
INLINE PROC set.SDL.QuitEvent.type (VAL BYTE value, VAL SDL.QuitEvent ptr)
  C.set.SDL.QuitEvent.type (value, ptr)
:
-- End of structure pointer SDL.QuitEvent
--* Foreign structure pointer type [@text SDL_UserEvent].
DATA TYPE SDL.UserEvent IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.UserEvent (RESULT SDL.UserEvent ptr) = 0"
--* Allocate foreign structure [@text SDL.UserEvent].
-- @param ptr Pointer to newly-allocated structure.
INLINE PROC create.SDL.UserEvent (RESULT SDL.UserEvent ptr)
  C.create.SDL.UserEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.UserEvent (SDL.UserEvent ptr) = 0"
--* Free foreign structure [@text SDL.UserEvent].
-- @param ptr Pointer to structure to free.
INLINE PROC delete.SDL.UserEvent (SDL.UserEvent ptr)
  C.delete.SDL.UserEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.UserEvent.type (RESULT BYTE value, VAL SDL.UserEvent ptr) = 0"
--* Get value of member [@text type] of foreign structure [@text SDL.UserEvent].
-- @param value Contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.UserEvent].
INLINE PROC get.SDL.UserEvent.type (RESULT BYTE value, VAL SDL.UserEvent ptr)
  C.get.SDL.UserEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.UserEvent.type (VAL BYTE value, VAL SDL.UserEvent ptr) = 0"
--* Set value of member [@text type] of foreign structure [@text SDL.UserEvent].
-- @param value New contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.UserEvent].
INLINE PROC set.SDL.UserEvent.type (VAL BYTE value, VAL SDL.UserEvent ptr)
  C.set.SDL.UserEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.UserEvent.code (RESULT INT value, VAL SDL.UserEvent ptr) = 0"
--* Get value of member [@text code] of foreign structure [@text SDL.UserEvent].
-- @param value Contents of the member [@text code].
-- @param ptr Pointer to foreign structure [@text SDL.UserEvent].
INLINE PROC get.SDL.UserEvent.code (RESULT INT value, VAL SDL.UserEvent ptr)
  C.get.SDL.UserEvent.code (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.UserEvent.code (VAL INT value, VAL SDL.UserEvent ptr) = 0"
--* Set value of member [@text code] of foreign structure [@text SDL.UserEvent].
-- @param value New contents of the member [@text code].
-- @param ptr Pointer to foreign structure [@text SDL.UserEvent].
INLINE PROC set.SDL.UserEvent.code (VAL INT value, VAL SDL.UserEvent ptr)
  C.set.SDL.UserEvent.code (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.UserEvent.data1 (RESULT INT value, VAL SDL.UserEvent ptr) = 0"
--* Get value of member [@text data1] of foreign structure [@text SDL.UserEvent].
-- @param value Contents of the member [@text data1].
-- @param ptr Pointer to foreign structure [@text SDL.UserEvent].
INLINE PROC get.SDL.UserEvent.data1 (RESULT INT value, VAL SDL.UserEvent ptr)
  C.get.SDL.UserEvent.data1 (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.UserEvent.data1 (VAL INT value, VAL SDL.UserEvent ptr) = 0"
--* Set value of member [@text data1] of foreign structure [@text SDL.UserEvent].
-- @param value New contents of the member [@text data1].
-- @param ptr Pointer to foreign structure [@text SDL.UserEvent].
INLINE PROC set.SDL.UserEvent.data1 (VAL INT value, VAL SDL.UserEvent ptr)
  C.set.SDL.UserEvent.data1 (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.UserEvent.data2 (RESULT INT value, VAL SDL.UserEvent ptr) = 0"
--* Get value of member [@text data2] of foreign structure [@text SDL.UserEvent].
-- @param value Contents of the member [@text data2].
-- @param ptr Pointer to foreign structure [@text SDL.UserEvent].
INLINE PROC get.SDL.UserEvent.data2 (RESULT INT value, VAL SDL.UserEvent ptr)
  C.get.SDL.UserEvent.data2 (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.UserEvent.data2 (VAL INT value, VAL SDL.UserEvent ptr) = 0"
--* Set value of member [@text data2] of foreign structure [@text SDL.UserEvent].
-- @param value New contents of the member [@text data2].
-- @param ptr Pointer to foreign structure [@text SDL.UserEvent].
INLINE PROC set.SDL.UserEvent.data2 (VAL INT value, VAL SDL.UserEvent ptr)
  C.set.SDL.UserEvent.data2 (value, ptr)
:
-- End of structure pointer SDL.UserEvent
--* Foreign structure pointer type [@text SDL_SysWMmsg].
DATA TYPE SDL.SysWMmsg IS INT:

--* Foreign structure pointer type [@text SDL_SysWMEvent].
DATA TYPE SDL.SysWMEvent IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.SysWMEvent (RESULT SDL.SysWMEvent ptr) = 0"
--* Allocate foreign structure [@text SDL.SysWMEvent].
-- @param ptr Pointer to newly-allocated structure.
INLINE PROC create.SDL.SysWMEvent (RESULT SDL.SysWMEvent ptr)
  C.create.SDL.SysWMEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.SysWMEvent (SDL.SysWMEvent ptr) = 0"
--* Free foreign structure [@text SDL.SysWMEvent].
-- @param ptr Pointer to structure to free.
INLINE PROC delete.SDL.SysWMEvent (SDL.SysWMEvent ptr)
  C.delete.SDL.SysWMEvent (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.SysWMEvent.type (RESULT BYTE value, VAL SDL.SysWMEvent ptr) = 0"
--* Get value of member [@text type] of foreign structure [@text SDL.SysWMEvent].
-- @param value Contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.SysWMEvent].
INLINE PROC get.SDL.SysWMEvent.type (RESULT BYTE value, VAL SDL.SysWMEvent ptr)
  C.get.SDL.SysWMEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.set.SDL.SysWMEvent.type (VAL BYTE value, VAL SDL.SysWMEvent ptr) = 0"
--* Set value of member [@text type] of foreign structure [@text SDL.SysWMEvent].
-- @param value New contents of the member [@text type].
-- @param ptr Pointer to foreign structure [@text SDL.SysWMEvent].
INLINE PROC set.SDL.SysWMEvent.type (VAL BYTE value, VAL SDL.SysWMEvent ptr)
  C.set.SDL.SysWMEvent.type (value, ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.SysWMEvent.msg (RESULT SDL.SysWMmsg value, VAL SDL.SysWMEvent ptr) = 0"
--* Get value of member [@text msg] of foreign structure [@text SDL.SysWMEvent].
-- @param value Contents of the member [@text msg].
-- @param ptr Pointer to foreign structure [@text SDL.SysWMEvent].
INLINE PROC get.SDL.SysWMEvent.msg (RESULT SDL.SysWMmsg value, VAL SDL.SysWMEvent ptr)
  C.get.SDL.SysWMEvent.msg (value, ptr)
:
-- End of structure pointer SDL.SysWMEvent
--* Foreign union pointer type [@text SDL.Event].
DATA TYPE SDL.Event IS INT:

#PRAGMA EXTERNAL "PROC C.create.SDL.Event (RESULT SDL.Event ptr) = 0"
--* Allocate foreign union [@text SDL.Event].
-- @param ptr Pointer to newly-allocated union.
INLINE PROC create.SDL.Event (RESULT SDL.Event ptr)
  C.create.SDL.Event (ptr)
:
#PRAGMA EXTERNAL "PROC C.delete.SDL.Event (VAL SDL.Event ptr) = 0"
--* Free foreign union [@text SDL.Event].
-- @param ptr Pointer to union to free.
INLINE PROC delete.SDL.Event (VAL SDL.Event ptr)
  C.delete.SDL.Event (ptr)
:
#PRAGMA EXTERNAL "PROC C.get.SDL.Event.type (RESULT BYTE return.value, SDL.Event event) = 0"

--* Foreign function [@text get_SDL_Event_type].
-- @param return.value Function return value with type [@text Uint8].
-- @param event Argument with type [@text SDL_Event *].
INLINE PROC get.SDL.Event.type (RESULT BYTE return.value, SDL.Event event)
  C.get.SDL.Event.type (return.value, event)
:

#PRAGMA EXTERNAL "PROC C.SDL.PumpEvents () = 0"

--* Foreign function [@text SDL_PumpEvents].
INLINE PROC SDL.PumpEvents ()
  C.SDL.PumpEvents ()
:

DATA TYPE SDL.eventaction IS INT:
--*{ SDL.eventaction Foreign enumeration [@text SDL_eventaction].
VAL INT SDL.ADDEVENT IS 0:
VAL INT SDL.PEEKEVENT IS 1:
VAL INT SDL.GETEVENT IS 2:
--*}

#PRAGMA EXTERNAL "PROC C.SDL.PeepEvents (RESULT INT return.value, SDL.Event events, VAL INT numevents, VAL INT action, VAL INT mask) = 0"

--* Foreign function [@text SDL_PeepEvents].
-- @param return.value Function return value with type [@text int].
-- @param events Argument with type [@text SDL_Event *].
-- @param numevents Argument with type [@text int].
-- @param action Argument with type [@text SDL_eventaction].
-- @param mask Argument with type [@text Uint32].
INLINE PROC SDL.PeepEvents (RESULT INT return.value, SDL.Event events, VAL INT numevents, VAL INT action, VAL INT mask)
  C.SDL.PeepEvents (return.value, events, numevents, action, mask)
:

#PRAGMA EXTERNAL "PROC C.SDL.PollEvent (RESULT INT return.value, SDL.Event event) = 0"

--* Foreign function [@text SDL_PollEvent].
-- @param return.value Function return value with type [@text int].
-- @param event Argument with type [@text SDL_Event *].
INLINE PROC SDL.PollEvent (RESULT INT return.value, SDL.Event event)
  C.SDL.PollEvent (return.value, event)
:

#PRAGMA EXTERNAL "PROC B.SDL.WaitEvent (RESULT INT return.value, SDL.Event event) = 3"

--* Foreign function [@text SDL_WaitEvent].
-- @param return.value Function return value with type [@text int].
-- @param event Argument with type [@text SDL_Event *].
INLINE PROC SDL.WaitEvent (RESULT INT return.value, SDL.Event event)
  B.SDL.WaitEvent (return.value, event)
:

#PRAGMA EXTERNAL "PROC C.SDL.PushEvent (RESULT INT return.value, SDL.Event event) = 0"

--* Foreign function [@text SDL_PushEvent].
-- @param return.value Function return value with type [@text int].
-- @param event Argument with type [@text SDL_Event *].
INLINE PROC SDL.PushEvent (RESULT INT return.value, SDL.Event event)
  C.SDL.PushEvent (return.value, event)
:

--* Foreign [@text int] constant [@text SDL_QUERY].
VAL INT SDL.QUERY IS -1:
--* Foreign [@text int] constant [@text SDL_IGNORE].
VAL INT SDL.IGNORE IS 0:
--* Foreign [@text int] constant [@text SDL_DISABLE].
VAL INT SDL.DISABLE IS 0:
--* Foreign [@text int] constant [@text SDL_ENABLE].
VAL INT SDL.ENABLE IS 1:
#PRAGMA EXTERNAL "PROC C.SDL.EventState (RESULT BYTE return.value, VAL BYTE type, VAL INT state) = 0"

--* Foreign function [@text SDL_EventState].
-- @param return.value Function return value with type [@text Uint8].
-- @param type Argument with type [@text Uint8].
-- @param state Argument with type [@text int].
INLINE PROC SDL.EventState (RESULT BYTE return.value, VAL BYTE type, VAL INT state)
  C.SDL.EventState (return.value, type, state)
:

#PRAGMA EXTERNAL "PROC C.occ.SDL.GetError ([]BYTE err.str, VAL INT err.str.len, INT str.len) = 0"

--* Foreign function [@text occ_SDL_GetError].
-- @param err.str Array pointer argument with element type [@text char].
-- @param err.str.len Argument with type [@text int].
-- @param str.len Argument with type [@text int *].
INLINE PROC occ.SDL.GetError ([]BYTE err.str, VAL INT err.str.len, INT str.len)
  C.occ.SDL.GetError (err.str, err.str.len, str.len)
:

#PRAGMA EXTERNAL "PROC C.SDL.ClearError () = 0"

--* Foreign function [@text SDL_ClearError].
INLINE PROC SDL.ClearError ()
  C.SDL.ClearError ()
:

#ENDIF
