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