---
name: "SDL_UserEvent"
section: "3"
platform: "linux"
package: "libsdl1.2-dev"
version: "1.2.15+dfsg2-8"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/SDL_UserEvent"
---

# SDL\_UserEvent(3)

A user-defined event type

## NAME

SDL\_UserEvent - A user-defined event type

## STRUCTURE DEFINITION

```
typedef struct{
  Uint8 type;
  int code;
  void *data1;
  void *data2;
} SDL_UserEvent;
```

## STRUCTURE DATA

- **type**

  **SDL\_USEREVENT** through to **SDL\_NUMEVENTS-1**

- **code**

  User defined event code

- **data1**

  User defined data pointer

- **data2**

  User defined data pointer

## DESCRIPTION

**SDL\_UserEvent** is in the **user** member of the structure **SDL\_Event**. This event is unique, it is never created by SDL but only by the user. The event can be pushed onto the event queue using **SDL\_PushEvent**. The contents of the structure members or completely up to the programmer, the only requirement is that **type** is a value from **SDL\_USEREVENT** to **SDL\_NUMEVENTS-1** (inclusive).

## EXAMPLES

```
SDL_Event event;
event.type = SDL_USEREVENT;
event.user.code = my_event_code;
event.user.data1 = significant_data;
event.user.data2 = 0;
SDL_PushEvent(&event);
```

## SEE ALSO

**SDL\_Event**, **SDL\_PushEvent**
