blob: eeb27ee03c176e0463fa5a5327da0e7b668775c2 [file] [log] [blame]
Chih-Hung Hsieha5ef72f2014-11-05 10:47:59 -08001/* Copyright (C) 2007, 2008 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, write to the Free
16 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17 02111-1307 USA. */
18
19#ifndef _SYS_SIGNALFD_H
20#define _SYS_SIGNALFD_H 1
21
22#define __need_sigset_t
23#include <signal.h>
24#include <stdint.h>
25
26
27struct signalfd_siginfo
28{
29 uint32_t ssi_signo;
30 int32_t ssi_errno;
31 int32_t ssi_code;
32 uint32_t ssi_pid;
33 uint32_t ssi_uid;
34 int32_t ssi_fd;
35 uint32_t ssi_tid;
36 uint32_t ssi_band;
37 uint32_t ssi_overrun;
38 uint32_t ssi_trapno;
39 int32_t ssi_status;
40 int32_t ssi_int;
41 uint64_t ssi_ptr;
42 uint64_t ssi_utime;
43 uint64_t ssi_stime;
44 uint64_t ssi_addr;
45 uint8_t __pad[48];
46};
47
48/* Flags for signalfd. */
49enum
50 {
51 SFD_CLOEXEC = 02000000,
52#define SFD_CLOEXEC SFD_CLOEXEC
53 SFD_NONBLOCK = 04000
54#define SFD_NONBLOCK SFD_NONBLOCK
55 };
56
57__BEGIN_DECLS
58
59/* Request notification for delivery of signals in MASK to be
60 performed using descriptor FD.*/
61extern int signalfd (int __fd, const sigset_t *__mask, int __flags)
62 __THROW __nonnull ((2));
63
64__END_DECLS
65
66#endif /* sys/signalfd.h */