Deleted Added
full compact
signal.h (47289) signal.h (51794)
1/*-
2 * Copyright (c) 1991, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 17 unchanged lines hidden (view full) ---

26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
33 * @(#)signal.h 8.3 (Berkeley) 3/30/94
1/*-
2 * Copyright (c) 1991, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 17 unchanged lines hidden (view full) ---

26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
33 * @(#)signal.h 8.3 (Berkeley) 3/30/94
34 *
35 * $FreeBSD: head/include/signal.h 51794 1999-09-29 15:18:46Z marcel $
34 */
35
36#ifndef _SIGNAL_H_
37#define _SIGNAL_H_
38
39#include <sys/cdefs.h>
40#include <sys/_posix.h>
41#include <machine/ansi.h>
42#include <sys/signal.h>
36 */
37
38#ifndef _SIGNAL_H_
39#define _SIGNAL_H_
40
41#include <sys/cdefs.h>
42#include <sys/_posix.h>
43#include <machine/ansi.h>
44#include <sys/signal.h>
45#include <sys/time.h>
43
44#if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE)
45extern __const char *__const sys_signame[NSIG];
46extern __const char *__const sys_siglist[NSIG];
47extern __const int sys_nsig;
48#endif
49
50__BEGIN_DECLS

--- 11 unchanged lines hidden (view full) ---

62int sigsuspend __P((const sigset_t *));
63int sigwait __P((const sigset_t *, int *));
64
65
66#ifdef _P1003_1B_VISIBLE
67
68__BEGIN_DECLS
69int sigqueue __P((_BSD_PID_T_, int, const union sigval));
46
47#if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE)
48extern __const char *__const sys_signame[NSIG];
49extern __const char *__const sys_siglist[NSIG];
50extern __const int sys_nsig;
51#endif
52
53__BEGIN_DECLS

--- 11 unchanged lines hidden (view full) ---

65int sigsuspend __P((const sigset_t *));
66int sigwait __P((const sigset_t *, int *));
67
68
69#ifdef _P1003_1B_VISIBLE
70
71__BEGIN_DECLS
72int sigqueue __P((_BSD_PID_T_, int, const union sigval));
70int sigtimedwait __P((const sigset_t *, siginfo_t *));
73int sigtimedwait __P((const sigset_t *, siginfo_t *, const struct timespec *));
71int sigwaitinfo __P((const sigset_t *, siginfo_t *));
72__END_DECLS
73
74#endif
75#ifndef _POSIX_SOURCE
76int killpg __P((_BSD_PID_T_, int));
74int sigwaitinfo __P((const sigset_t *, siginfo_t *));
75__END_DECLS
76
77#endif
78#ifndef _POSIX_SOURCE
79int killpg __P((_BSD_PID_T_, int));
77int sigaltstack __P((const struct sigaltstack *, struct sigaltstack *));
80int sigaltstack __P((const stack_t *, stack_t *));
78int sigblock __P((int));
79int siginterrupt __P((int, int));
80int sigpause __P((int));
81int sigblock __P((int));
82int siginterrupt __P((int, int));
83int sigpause __P((int));
81int sigreturn __P((struct sigcontext *));
84int sigreturn __P((ucontext_t *));
82int sigsetmask __P((int));
83int sigstack __P((const struct sigstack *, struct sigstack *));
84int sigvec __P((int, struct sigvec *, struct sigvec *));
85void psignal __P((unsigned int, const char *));
86#endif /* !_POSIX_SOURCE */
87#endif /* !_ANSI_SOURCE */
88__END_DECLS
89
90#ifndef _ANSI_SOURCE
91/* List definitions after function declarations, or Reiser cpp gets upset. */
85int sigsetmask __P((int));
86int sigstack __P((const struct sigstack *, struct sigstack *));
87int sigvec __P((int, struct sigvec *, struct sigvec *));
88void psignal __P((unsigned int, const char *));
89#endif /* !_POSIX_SOURCE */
90#endif /* !_ANSI_SOURCE */
91__END_DECLS
92
93#ifndef _ANSI_SOURCE
94/* List definitions after function declarations, or Reiser cpp gets upset. */
92#define sigaddset(set, signo) (*(set) |= 1 << ((signo) - 1), 0)
93#define sigdelset(set, signo) (*(set) &= ~(1 << ((signo) - 1)), 0)
94#define sigemptyset(set) (*(set) = 0, 0)
95#define sigfillset(set) (*(set) = ~(sigset_t)0, 0)
96#define sigismember(set, signo) ((*(set) & (1 << ((signo) - 1))) != 0)
95extern __inline int sigaddset(sigset_t *set, int signo)
96{
97
98 if (signo <= 0 || signo > _SIG_MAXSIG) {
99 /* errno = EINVAL; */
100 return (-1);
101 }
102 set->__bits[_SIG_WORD(signo)] |= _SIG_BIT(signo);
103 return (0);
104}
105
106extern __inline int sigdelset(sigset_t *set, int signo)
107{
108
109 if (signo <= 0 || signo > _SIG_MAXSIG) {
110 /* errno = EINVAL; */
111 return (-1);
112 }
113 set->__bits[_SIG_WORD(signo)] &= ~_SIG_BIT(signo);
114 return (0);
115}
116
117extern __inline int sigemptyset(sigset_t *set)
118{
119 int i;
120
121 for (i = 0; i < _SIG_WORDS; i++)
122 set->__bits[i] = 0;
123 return (0);
124}
125
126extern __inline int sigfillset(sigset_t *set)
127{
128 int i;
129
130 for (i = 0; i < _SIG_WORDS; i++)
131 set->__bits[i] = ~(unsigned int)0;
132 return (0);
133}
134
135extern __inline int sigismember(__const sigset_t *set, int signo)
136{
137
138 if (signo <= 0 || signo > _SIG_MAXSIG) {
139 /* errno = EINVAL; */
140 return (-1);
141 }
142 return ((set->__bits[_SIG_WORD(signo)] & _SIG_BIT(signo)) ? 1 : 0);
143}
97#endif /* !_ANSI_SOURCE */
98
99#endif /* !_SIGNAL_H_ */
144#endif /* !_ANSI_SOURCE */
145
146#endif /* !_SIGNAL_H_ */