module sdl3::sdl; extern fn bool set_error(ZString fmt, ...) @extern("SDL_SetError"); // extern fn bool set_error_v(SDL_PRINTF_FORMAT_STRING ZString fmt, va_list ap) SDL_PRINTF_VARARG_FUNCV(1) @extern("SDL_SetErrorV"); extern fn bool out_of_memory() @extern("SDL_OutOfMemory"); extern fn ZString get_error() @extern("SDL_GetError"); extern fn bool clear_error() @extern("SDL_ClearError"); macro unsupported() => set_error("That operation is not supported"); macro invalid_param_error(param) => set_error("Parameter '%s' is invalid", param);