Provided by: libsdl3-doc_3.2.20+ds-2_all bug

NAME

       SDL_AddTimerNS - Call a callback function at a future time.

SYNOPSIS

       #include <SDL3/SDL_timer.h>

       SDL_TimerID SDL_AddTimerNS(Uint64 interval, SDL_NSTimerCallback callback, void *userdata);

DESCRIPTION

       The  callback  function  is  passed  the  current timer interval and the user supplied parameter from the
       SDL_AddTimerNS() call and should return the next timer interval. If the value returned from the  callback
       is 0, the timer is canceled and will be removed.

       The  callback  is  run on a separate thread, and for short timeouts can potentially be called before this
       function returns.

       Timers take into account the amount of time it took to execute the callback. For example, if the callback
       took 250 ns to execute and returned 1000 (ns), the timer would only wait another 750 ns before  its  next
       iteration.

       Timing  may  be  inexact  due to OS scheduling. Be sure to note the current time with SDL_GetTicksNS() or
       SDL_GetPerformanceCounter() in case your callback needs to adjust for variances.

FUNCTION PARAMETERS

       interval
              the timer delay, in nanoseconds, passed to callback.

       callback
              the SDL_TimerCallback function to call when the specified interval elapses.

       userdata
              a pointer that is passed to callback.

RETURN VALUE

       Returns a timer ID or 0 on failure; call SDL_GetError() for more information.

THREAD SAFETY

       It is safe to call this function from any thread.

AVAILABILITY

       This function is available since SDL 3.2.0.

SEE ALSO

       SDL_AddTimer(3), SDL_RemoveTimer(3)

Simple Directmedia Layer                           SDL 3.2.20                                  SDL_AddTimerNS(3)