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