#line 3226 "/home/ubuntu/felix/src/packages/sdl.fdoc"
open module SDL_timer_h
{
requires package "sdl";
header '#include "SDL_timer.h"';
header '''typedef Uint32 (*SDL_timer_h_cft_2)(Uint32, void *);''';
type SDL_timer_h_cft_2 = 'SDL_timer_h_cft_2';
header '''typedef Uint32 (*SDL_timer_h_cft_1)(Uint32);''';
type SDL_timer_h_cft_1 = 'SDL_timer_h_cft_1';
type _struct__SDL_TimerID = 'struct _SDL_TimerID';
typedef SDL_NewTimerCallback = SDL_timer_h_cft_2;
typedef SDL_TimerID = &_struct__SDL_TimerID;
typedef SDL_TimerCallback = SDL_timer_h_cft_1;
proc SDL_Delay: uint32;
fun SDL_AddTimer: uint32 * SDL_timer_h_cft_2 * address -> SDL_TimerID;
fun SDL_GetTicks: 1 -> uint32;
fun SDL_RemoveTimer: SDL_TimerID -> SDL_bool;
fun SDL_SetTimer: uint32 * SDL_timer_h_cft_1 -> int;
typedef _fcbat_SDL_timer_h_cft_2 = uint32;
export type (_fcbat_SDL_timer_h_cft_2) as "_fcbat_SDL_timer_h_cft_2";
typedef _fcbt_SDL_timer_h_cft_2 = uint32 -> uint32;
export type (_fcbt_SDL_timer_h_cft_2) as "_fcbt_SDL_timer_h_cft_2";
header '''Uint32 _fcbw_SDL_timer_h_cft_2(Uint32 a1, void *a2);''';
const _fcbw_SDL_timer_h_cft_2: SDL_timer_h_cft_2 = "_fcbw_SDL_timer_h_cft_2";
body '''
Uint32 _fcbw_SDL_timer_h_cft_2(Uint32 a1, void *a2){
return ((_fcbt_SDL_timer_h_cft_2)a2)->apply(a1);
}''';
fun wrapper_SDL_AddTimer(a1: uint32, a2: _fcbt_SDL_timer_h_cft_2): SDL_TimerID= {
return SDL_AddTimer(a1, _fcbw_SDL_timer_h_cft_2, C_hack::cast[address]a2);
}
}