bio
 
Loading...
Searching...
No Matches
platform.h
1#ifndef BIO_LINUX_PLATFORM_H
2#define BIO_LINUX_PLATFORM_H
3
4#define _GNU_SOURCE
5#include <liburing.h>
6#include <threads.h>
7#include <sys/signalfd.h>
8#include <bio/bio.h>
9
29#ifndef BIO_LINUX_DEFAULT_QUEUE_SIZE
30# define BIO_LINUX_DEFAULT_QUEUE_SIZE 64
31#endif
32
35#ifndef DOXYGEN
36
37typedef struct {
38 bio_signal_t signal;
39 int32_t res;
40 uint32_t flags;
42
43typedef struct {
44 struct io_uring ioring;
45
46 // Signal handling
47 struct signalfd_siginfo siginfo;
48 sigset_t old_sigmask;
49 int signalfd;
50 bool signal_polled;
51
52 // Notification from thread pool
53 int eventfd;
54 atomic_uint notification_counter;
55 unsigned int ack_counter;
56
57 // Compatibility
58 bool has_op_bind;
59 bool has_op_listen;
60 bool has_op_futex_wait;
62
63#endif
64
65#endif
Definition platform.h:35
Definition platform.h:41
Handle to a signal.
Definition bio.h:147