summaryrefslogtreecommitdiff
path: root/PACE/pace/signal.h
blob: 4333419bad31f932bdc81b05a689ab0374bdeb40 (plain)
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/* $Id$

 * =============================================================================
 *
 * = LIBRARY
 *    pace
 *
 * = FILENAME
 *    signal.h
 *
 * = AUTHOR
 *    Luther Baker
 *
 * ============================================================================= */


#ifndef PACE_SIGNAL_H
#define PACE_SIGNAL_H


#include "pace/defines.h"
#include "pace/sys/types.h"
#include <signal.h>


# if defined (PACE_HAS_CPLUSPLUS)
extern "C" {
# endif /* PACE_HAS_CPLUSPLUS */

  PACE_INLINE int pace_kill (pid_t pid, int sig);

  PACE_INLINE int pace_sigaction (int sig,
                                  const struct sigaction * act,
                                  struct sigaction * oact);

  PACE_INLINE int pace_sigaddset (sigset_t * set, int signo);

  PACE_INLINE int pace_sigemptyset (sigset_t * set);

  PACE_INLINE int pace_sigdelset (sigset_t * set, int signo);

  PACE_INLINE int pace_sigfillset (sigset_t * set);

  PACE_INLINE int pace_sigismember (const sigset_t * set, int signo);

  PACE_INLINE int pace_sigpending (sigset_t * set);

  PACE_INLINE int pace_sigprocmask (int how,
                                    const sigset_t * set,
                                    sigset_t * oset);

  PACE_INLINE int pace_sigqueue (pid_t pid,
                                 int signo,
                                 const union sigval value);

  PACE_INLINE int pace_sigsuspend (const sigset_t * sigmask);

  PACE_INLINE int pace_sigtimedwait (const sigset_t * set,
                                     siginfo_t * info,
                                     const struct timespec * timeout);

  PACE_INLINE int pace_sigwait (const sigset_t * set, int * sig);
  /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */

  PACE_INLINE int pace_sigwaitinfo (const sigset_t * set, siginfo_t * info);

# if defined (PACE_HAS_CPLUSPLUS)
}
# endif /* PACE_HAS_CPLUSPLUS */

# if defined (PACE_HAS_INLINE)
# include "signal.inl"
# endif /* PACE_HAS_INLINE */


#endif /* PACE_SIGNAL_H */