1#pragma once 2 3#ifdef __cplusplus 4extern "C" { 5#endif 6 7#include <fcntl.h> 8#include <stdint.h> 9 10#define __NEED_sigset_t 11 12#include <bits/alltypes.h> 13 14#define SFD_CLOEXEC O_CLOEXEC 15#define SFD_NONBLOCK O_NONBLOCK 16 17int signalfd(int, const sigset_t*, int); 18 19struct signalfd_siginfo { 20 uint32_t ssi_signo; 21 int32_t ssi_errno; 22 int32_t ssi_code; 23 uint32_t ssi_pid; 24 uint32_t ssi_uid; 25 int32_t ssi_fd; 26 uint32_t ssi_tid; 27 uint32_t ssi_band; 28 uint32_t ssi_overrun; 29 uint32_t ssi_trapno; 30 int32_t ssi_status; 31 int32_t ssi_int; 32 uint64_t ssi_ptr; 33 uint64_t ssi_utime; 34 uint64_t ssi_stime; 35 uint64_t ssi_addr; 36 uint16_t ssi_addr_lsb; 37 uint8_t pad[128 - 12 * 4 - 4 * 8 - 2]; 38}; 39 40#ifdef __cplusplus 41} 42#endif 43