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