File: xiosigchld.h

package info (click to toggle)
socat 2.0.0~beta9-1
  • links: PTS
  • area: main
  • in suites: experimental
  • size: 3,740 kB
  • sloc: ansic: 30,875; sh: 11,630; makefile: 149
file content (32 lines) | stat: -rw-r--r-- 1,062 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/* 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) */