signalfd.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /*
  2. * include/linux/signalfd.h
  3. *
  4. * Copyright (C) 2007 Davide Libenzi <davidel@xmailserver.org>
  5. *
  6. */
  7. #ifndef _UAPI_LINUX_SIGNALFD_H
  8. #define _UAPI_LINUX_SIGNALFD_H
  9. #include <linux/types.h>
  10. /* For O_CLOEXEC and O_NONBLOCK */
  11. #include <linux/fcntl.h>
  12. /* Flags for signalfd4. */
  13. #define SFD_CLOEXEC O_CLOEXEC
  14. #define SFD_NONBLOCK O_NONBLOCK
  15. struct signalfd_siginfo {
  16. __u32 ssi_signo;
  17. __s32 ssi_errno;
  18. __s32 ssi_code;
  19. __u32 ssi_pid;
  20. __u32 ssi_uid;
  21. __s32 ssi_fd;
  22. __u32 ssi_tid;
  23. __u32 ssi_band;
  24. __u32 ssi_overrun;
  25. __u32 ssi_trapno;
  26. __s32 ssi_status;
  27. __s32 ssi_int;
  28. __u64 ssi_ptr;
  29. __u64 ssi_utime;
  30. __u64 ssi_stime;
  31. __u64 ssi_addr;
  32. __u16 ssi_addr_lsb;
  33. /*
  34. * Pad strcture to 128 bytes. Remember to update the
  35. * pad size when you add new members. We use a fixed
  36. * size structure to avoid compatibility problems with
  37. * future versions, and we leave extra space for additional
  38. * members. We use fixed size members because this strcture
  39. * comes out of a read(2) and we really don't want to have
  40. * a compat on read(2).
  41. */
  42. __u8 __pad[46];
  43. };
  44. #endif /* _UAPI_LINUX_SIGNALFD_H */