• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  *  Derived from Goldfish include/linux/signalfd.h
3  *
4  *  Copyright (C) 2007  Davide Libenzi <davidel@xmailserver.org>
5  *
6  */
7 
8 #ifndef _LINUX_SIGNALFD_PORTABLE_H
9 #define _LINUX_SIGNALFD_PORTABLE_H
10 
11 #include <linux/types.h>
12 #include <fcntl.h>
13 
14 /* Flags for signalfd4.  */
15 #define SFD_CLOEXEC             O_CLOEXEC
16 #define SFD_NONBLOCK            O_NONBLOCK
17 
18 /* For O_CLOEXEC_PORTABLE and O_NONBLOCK_PORTABLE */
19 #include "fcntl_portable.h"
20 
21 #define SFD_CLOEXEC_PORTABLE    O_CLOEXEC_PORTABLE
22 #define SFD_NONBLOCK_PORTABLE   O_NONBLOCK_PORTABLE
23 
24 /*
25  * This structure is the same for Native and Portable.
26  * However for MIPS ssi_signo and ssi_errno differ in their
27  * values and need to be mapped.
28  */
29 struct signalfd_siginfo {
30         __u32 ssi_signo;
31         __s32 ssi_errno;
32         __s32 ssi_code;
33         __u32 ssi_pid;
34         __u32 ssi_uid;
35         __s32 ssi_fd;
36         __u32 ssi_tid;
37         __u32 ssi_band;
38         __u32 ssi_overrun;
39         __u32 ssi_trapno;
40         __s32 ssi_status;
41         __s32 ssi_int;
42         __u64 ssi_ptr;
43         __u64 ssi_utime;
44         __u64 ssi_stime;
45         __u64 ssi_addr;
46 
47         /*
48          * Pad structure to 128 bytes. Remember to update the
49          * pad size when you add new members. We use a fixed
50          * size structure to avoid compatibility problems with
51          * future versions, and we leave extra space for additional
52          * members. We use fixed size members because this structure
53          * comes out of a read(2) and we really don't want to have
54          * a compat (sp?) on read(2).
55          */
56         __u8 __pad[48];
57 };
58 
59 #endif /* _LINUX_SIGNALFD_PORTABLE_H */
60 
61