socat/xiosigchld.h
2014-03-16 22:06:57 +01:00

32 lines
1 KiB
C

/* source: xiosigchld.h */
/* Copyright Gerhard Rieger 2012 */
/* Published under the GNU General Public License V.2, see file COPYING */
#ifndef __xiosigchld_h
#define __xiosigchld_h 1
#define NUMUNKNOWN 4
extern pid_t diedunknown[NUMUNKNOWN]; /* child died before it is registered */
#define diedunknown1 (diedunknown[0])
#define diedunknown2 (diedunknown[1])
#define diedunknown3 (diedunknown[2])
#define diedunknown4 (diedunknown[3])
extern int xiosetsigchild(xiofile_t *xfd, int (*callback)(struct single *));
extern void childdied(int signum
#if HAVE_SIGACTION
, siginfo_t *siginfo, void *context
#endif /* HAVE_SIGACTION */
);
extern int
xiosigchld_register(pid_t pid,
void (*sigaction)(int, siginfo_t *, void *),
void *context);
extern int xiosigchld_unregister(pid_t pid);
extern int xiosigchld_clearall(void);
extern void xiosigaction_subaddr_ok(int signum, siginfo_t *siginfo, void *ucontext);
extern void xiosigaction_child(int signum, siginfo_t *siginfo, void *ucontext);
#endif /* !defined(__xiosigchld_h) */