/* Copyright (C) 2007, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ #ifndef _SYS_SIGNALFD_H #define _SYS_SIGNALFD_H 1 #define __need_sigset_t #include #include struct signalfd_siginfo { uint32_t ssi_signo; int32_t ssi_errno; int32_t ssi_code; uint32_t ssi_pid; uint32_t ssi_uid; int32_t ssi_fd; uint32_t ssi_tid; uint32_t ssi_band; uint32_t ssi_overrun; uint32_t ssi_trapno; int32_t ssi_status; int32_t ssi_int; uint64_t ssi_ptr; uint64_t ssi_utime; uint64_t ssi_stime; uint64_t ssi_addr; uint8_t __pad[48]; }; /* Flags for signalfd. */ #if defined __sparc__ || defined __sparc64__ enum { SFD_CLOEXEC = 0x400000, # define SFD_CLOEXEC SFD_CLOEXEC SFD_NONBLOCK = 0x4000 # define SFD_NONBLOCK SFD_NONBLOCK }; #elif defined __alpha__ enum { SFD_CLOEXEC = 010000000, # define SFD_CLOEXEC SFD_CLOEXEC SFD_NONBLOCK = 04 # define SFD_NONBLOCK SFD_NONBLOCK }; #else enum { SFD_CLOEXEC = 02000000, # define SFD_CLOEXEC SFD_CLOEXEC SFD_NONBLOCK = 04000 # define SFD_NONBLOCK SFD_NONBLOCK }; #endif __BEGIN_DECLS /* Request notification for delivery of signals in MASK to be performed using descriptor FD.*/ extern int signalfd (int __fd, const sigset_t *__mask, int __flags) __nonnull ((2)) __THROW; __END_DECLS #endif /* sys/signalfd.h */