---
name: "epoll_event"
section: "3type"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/epoll_event"
---

# epoll\_event(3type)

epoll event

## NAME

epoll\_event, epoll\_data, epoll\_data\_t - epoll event

## LIBRARY

Standard C library (*libc*)

## SYNOPSIS

```
#include <sys/epoll.h>
```

**struct epoll\_event {**     **uint32\_t      events;**  /\* Epoll events \*/     **epoll\_data\_t  data;**    /\* User data variable \*/ **};**

**union epoll\_data {**     **void     \*ptr;**     **int       fd;**     **uint32\_t  u32;**     **uint64\_t  u64;** **};**

**typedef union epoll\_data  epoll\_data\_t;**

## DESCRIPTION

The *epoll\_event* structure specifies data that the kernel should save and return when the corresponding file descriptor becomes ready.

## VERSIONS

### C library/kernel differences

The Linux kernel headers also provide this type, with a slightly different definition:

```
#include <linux/eventpoll.h>
struct epoll_event {
    __poll_t  events;
    __u64     data;
};
```

## STANDARDS

Linux.

## SEE ALSO

[**epoll\_wait**(2)](/epoll_wait/2.md), [**epoll\_ctl**(2)](/epoll_ctl/2.md)
