rte_epoll.h(3)

πŸ’– rte_epoll.h(3) πŸ’–

okay bestie, welcome to the Library Functions Manual entry for rte_epoll.h β€” she's a header file from DPDK and she is lowkey iconic. pull up a chair, grab a boba, and let's get into it πŸ§‹βœ¨


✨ NAME ✨

rte_epoll.h β€” no cap, that's literally the whole name 🫢


🌸 SYNOPSIS 🌸

start by manifesting these includes:

#include <stdint.h>
#include <rte_stdatomic.h>

πŸŽ€ Data Structures

  • struct rte_epoll_event

πŸ¦‹ Macros

  • #define RTE_EPOLL_PER_THREAD -1

⭐ Functions

int rte_epoll_wait (int epfd, struct rte_epoll_event *events, int
    maxevents, int timeout)
int rte_epoll_wait_interruptible (int epfd, struct rte_epoll_event
    *events, int maxevents, int timeout)
int rte_epoll_ctl (int epfd, int op, int fd, struct rte_epoll_event
    *event)

πŸ’… Detailed Description πŸ’…

so the rte_epoll girlies provide interfaces functions that let you add delete events, and wait poll for an event. that's the whole serve. periodt πŸ”₯

Definition in file rte_epoll.h.


🌈 Macro Definition Documentation 🌈

πŸ’œ #define RTE_EPOLL_PER_THREAD -1

to hint using per thread epfd ✨

Definition at line 48 of file rte_epoll.h.


πŸ‘‘ Function Documentation πŸ‘‘

πŸ“ int rte_epoll_wait (int epfd, struct rte_epoll_event * events, int maxevents, int timeout)

It waits for events on the epoll instance. Retries if signal received. she's persistent, she's not giving up on you πŸ’–

Parameters

  • epfd β€” Epoll instance fd on which the caller wait for events.
  • events β€” Memory area contains the events that will be available for the caller.
  • maxevents β€” Up to maxevents are returned, must greater than zero. (fr fr, zero is a no πŸ™ˆ)
  • timeout β€” Specifying a timeout of -1 causes a block indefinitely. Specifying a timeout equal to zero cause to return immediately.

Returns

  • On success, returns the number of available event. πŸ‘‘
  • On failure, a negative value. πŸ’€

🧚 int rte_epoll_wait_interruptible (int epfd, struct rte_epoll_event * events, int maxevents, int timeout)

It waits for events on the epoll instance. Does not retry if signal received. so like, the opposite vibe of her sister up there β€” she hears the signal and she respectfully steps out 😌

Parameters

  • epfd β€” Epoll instance fd on which the caller wait for events.
  • events β€” Memory area contains the events that will be available for the caller.
  • maxevents β€” Up to maxevents are returned, must greater than zero.
  • timeout β€” Specifying a timeout of -1 causes a block indefinitely. Specifying a timeout equal to zero cause to return immediately.

Returns

  • On success, returns the number of available event. ✨
  • On failure, a negative value. πŸ’€

πŸ’Ž int rte_epoll_ctl (int epfd, int op, int fd, struct rte_epoll_event * event)

It performs control operations on epoll instance referred by the epfd. It requests that the operation op be performed for the target fd. she's the manager of the group chat, filing all the paperwork πŸ“‹πŸ’…

Parameters

  • epfd β€” Epoll instance fd on which the caller perform control operations.
  • op β€” The operation be performed for the target fd.
  • fd β€” The target fd on which the control ops perform.
  • event β€” Describes the object linked to the fd. Note: The caller must take care the object deletion after CTL_DEL. 🚨 okay this one is important bestie, don't leave your object hanging after CTL_DEL, that's not the move.

Returns

  • On success, zero. πŸŽ‰
  • On failure, a negative errno value, e.g. -EEXIST if the fd is already registered on the epoll instance (a fd shared between vectors). not the -EEXIST jump scare 😭

🫢 Author 🫢

Generated automatically by Doxygen for DPDK from the source code. no human wrote this, she was born from the machine, and honestly? she ate πŸ€–πŸ’–


and that's the whole page bestie!! this one's from DPDK Version 25.11.3, so if you're reading it out in the wild, that's where she's from πŸ¦‹ mwah, go write some bomb epoll code, i'm obsessed with you, bye!! πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from