]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - include/lldb/Host/linux/Signalfd.h
Vendor import of lldb release_38 branch r260756:
[FreeBSD/FreeBSD.git] / include / lldb / Host / linux / Signalfd.h
1 //===-- Signalfd.h ----------------------------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 // This file defines signalfd functions & structures
11
12 #ifndef liblldb_Host_linux_Signalfd_h_
13 #define liblldb_Host_linux_Signalfd_h_
14
15 #ifdef __ANDROID_NDK__
16 #include <android/api-level.h>
17 #endif
18
19 #if defined(__ANDROID_API__) && __ANDROID_API__ < 21
20
21 #include <linux/types.h>
22 #include <linux/fcntl.h>
23
24 #define SFD_CLOEXEC O_CLOEXEC
25 #define SFD_NONBLOCK O_NONBLOCK
26
27 struct signalfd_siginfo {
28     __u32 ssi_signo;
29     __s32 ssi_errno;
30     __s32 ssi_code;
31     __u32 ssi_pid;
32     __u32 ssi_uid;
33     __s32 ssi_fd;
34     __u32 ssi_tid;
35     __u32 ssi_band;
36     __u32 ssi_overrun;
37     __u32 ssi_trapno;
38     __s32 ssi_status;
39     __s32 ssi_int;
40     __u64 ssi_ptr;
41     __u64 ssi_utime;
42     __u64 ssi_stime;
43     __u64 ssi_addr;
44     __u16 ssi_addr_lsb;
45     __u8 __pad[46];
46 };
47
48 int signalfd (int fd, const sigset_t *mask, int flags);
49
50 #else
51 #include <sys/signalfd.h>
52 #endif
53
54 #endif // liblldb_Host_linux_Signalfd_h_