Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
0002 /*
0003  *  include/linux/signalfd.h
0004  *
0005  *  Copyright (C) 2007  Davide Libenzi <davidel@xmailserver.org>
0006  *
0007  */
0008 
0009 #ifndef _UAPI_LINUX_SIGNALFD_H
0010 #define _UAPI_LINUX_SIGNALFD_H
0011 
0012 #include <linux/types.h>
0013 /* For O_CLOEXEC and O_NONBLOCK */
0014 #include <linux/fcntl.h>
0015 
0016 /* Flags for signalfd4.  */
0017 #define SFD_CLOEXEC O_CLOEXEC
0018 #define SFD_NONBLOCK O_NONBLOCK
0019 
0020 struct signalfd_siginfo {
0021     __u32 ssi_signo;
0022     __s32 ssi_errno;
0023     __s32 ssi_code;
0024     __u32 ssi_pid;
0025     __u32 ssi_uid;
0026     __s32 ssi_fd;
0027     __u32 ssi_tid;
0028     __u32 ssi_band;
0029     __u32 ssi_overrun;
0030     __u32 ssi_trapno;
0031     __s32 ssi_status;
0032     __s32 ssi_int;
0033     __u64 ssi_ptr;
0034     __u64 ssi_utime;
0035     __u64 ssi_stime;
0036     __u64 ssi_addr;
0037     __u16 ssi_addr_lsb;
0038     __u16 __pad2;
0039     __s32 ssi_syscall;
0040     __u64 ssi_call_addr;
0041     __u32 ssi_arch;
0042 
0043     /*
0044      * Pad strcture to 128 bytes. Remember to update the
0045      * pad size when you add new members. We use a fixed
0046      * size structure to avoid compatibility problems with
0047      * future versions, and we leave extra space for additional
0048      * members. We use fixed size members because this strcture
0049      * comes out of a read(2) and we really don't want to have
0050      * a compat on read(2).
0051      */
0052     __u8 __pad[28];
0053 };
0054 
0055 
0056 
0057 #endif /* _UAPI_LINUX_SIGNALFD_H */