linux/include/uapi/linux/signalfd.h
<<
>>
Prefs
   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
  20struct 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