• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2  /*
3   *  include/linux/signalfd.h
4   *
5   *  Copyright (C) 2007  Davide Libenzi <davidel@xmailserver.org>
6   *
7   */
8  
9  #ifndef _UAPI_LINUX_SIGNALFD_H
10  #define _UAPI_LINUX_SIGNALFD_H
11  
12  #include <linux/types.h>
13  /* For O_CLOEXEC and O_NONBLOCK */
14  #include <linux/fcntl.h>
15  
16  /* Flags for signalfd4.  */
17  #define SFD_CLOEXEC O_CLOEXEC
18  #define SFD_NONBLOCK O_NONBLOCK
19  
20  struct signalfd_siginfo {
21  	__u32 ssi_signo;
22  	__s32 ssi_errno;
23  	__s32 ssi_code;
24  	__u32 ssi_pid;
25  	__u32 ssi_uid;
26  	__s32 ssi_fd;
27  	__u32 ssi_tid;
28  	__u32 ssi_band;
29  	__u32 ssi_overrun;
30  	__u32 ssi_trapno;
31  	__s32 ssi_status;
32  	__s32 ssi_int;
33  	__u64 ssi_ptr;
34  	__u64 ssi_utime;
35  	__u64 ssi_stime;
36  	__u64 ssi_addr;
37  	__u16 ssi_addr_lsb;
38  	__u16 __pad2;
39  	__s32 ssi_syscall;
40  	__u64 ssi_call_addr;
41  	__u32 ssi_arch;
42  
43  	/*
44  	 * Pad strcture to 128 bytes. Remember to update the
45  	 * pad size when you add new members. We use a fixed
46  	 * size structure to avoid compatibility problems with
47  	 * future versions, and we leave extra space for additional
48  	 * members. We use fixed size members because this strcture
49  	 * comes out of a read(2) and we really don't want to have
50  	 * a compat on read(2).
51  	 */
52  	__u8 __pad[28];
53  };
54  
55  
56  
57  #endif /* _UAPI_LINUX_SIGNALFD_H */
58