# SDL_WaitEventTimeout

Wait until the specified timeout (in milliseconds) for the next available event.

## Header File

Defined in [SDL_events.h](https://github.com/libsdl-org/SDL/blob/SDL2/include/SDL_events.h)

## Syntax

```c
int SDL_WaitEventTimeout(SDL_Event * event,
                         int timeout);
```

## Function Parameters

|                          |             |                                                                                                   |
| ------------------------ | ----------- | ------------------------------------------------------------------------------------------------- |
| [SDL_Event](SDL_Event) * | **event**   | the [SDL_Event](SDL_Event) structure to be filled in with the next event from the queue, or NULL. |
| int                      | **timeout** | the maximum number of milliseconds to wait for the next available event.                          |

## Return Value

(int) Returns 1 on success or 0 if there was an error while waiting for
events; call [SDL_GetError](SDL_GetError)() for more information. This also
returns 0 if the timeout elapsed without an event arriving.

## Remarks

If `event` is not NULL, the next event is removed from the queue and stored
in the [SDL_Event](SDL_Event) structure pointed to by `event`.

As this function may implicitly call [SDL_PumpEvents](SDL_PumpEvents)(),
you can only call this function in the thread that initialized the video
subsystem.

## Version

This function is available since SDL 2.0.0.

## See Also

- [SDL_PollEvent](SDL_PollEvent)
- [SDL_PumpEvents](SDL_PumpEvents)
- [SDL_WaitEvent](SDL_WaitEvent)

----
[CategoryAPI](CategoryAPI), [CategoryAPIFunction](CategoryAPIFunction), [CategoryEvents](CategoryEvents)