]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/libc/gen/sigsetops.3
Add sigsetop extensions commonly found in musl libc and glibc
[FreeBSD/FreeBSD.git] / lib / libc / gen / sigsetops.3
1 .\" Copyright (c) 1983, 1991, 1993
2 .\"     The Regents of the University of California.  All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. Neither the name of the University nor the names of its contributors
13 .\"    may be used to endorse or promote products derived from this software
14 .\"    without specific prior written permission.
15 .\"
16 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 .\" SUCH DAMAGE.
27 .\"
28 .\"     @(#)sigsetops.3 8.1 (Berkeley) 6/4/93
29 .\" $FreeBSD$
30 .\"
31 .Dd October 29, 2019
32 .Dt SIGSETOPS 3
33 .Os
34 .Sh NAME
35 .Nm sigemptyset ,
36 .Nm sigfillset ,
37 .Nm sigaddset ,
38 .Nm sigandset ,
39 .Nm sigdelset ,
40 .Nm sigisemptyset ,
41 .Nm sigismember ,
42 .Nm sigorset
43 .Nd manipulate signal sets
44 .Sh LIBRARY
45 .Lb libc
46 .Sh SYNOPSIS
47 .In signal.h
48 .Ft int
49 .Fn sigemptyset "sigset_t *set"
50 .Ft int
51 .Fn sigfillset "sigset_t *set"
52 .Ft int
53 .Fn sigaddset "sigset_t *set" "int signo"
54 .Ft int
55 .Fn sigandset "sigset_t *set" "const sigset_t *left" "const sigset_t *right"
56 .Ft int
57 .Fn sigdelset "sigset_t *set" "int signo"
58 .Ft int
59 .Fn sigisemptyset "const sigset_t *set"
60 .Ft int
61 .Fn sigismember "const sigset_t *set" "int signo"
62 .Ft int
63 .Fn sigorset "sigset_t *set" "const sigset_t *left" "const sigset_t *right"
64 .Sh DESCRIPTION
65 These functions manipulate signal sets stored in a
66 .Fa sigset_t .
67 Either
68 .Fn sigemptyset
69 or
70 .Fn sigfillset
71 must be called for every object of type
72 .Fa sigset_t
73 before any other use of the object.
74 .Pp
75 The
76 .Fn sigemptyset
77 function initializes a signal set to be empty.
78 .Pp
79 The
80 .Fn sigfillset
81 function initializes a signal set to contain all signals.
82 .Pp
83 The
84 .Fn sigaddset
85 function adds the specified signal
86 .Fa signo
87 to the signal set.
88 .Pp
89 The
90 .Fn sigandset
91 function sets the specified
92 .Fa set
93 to the logical AND of all signals from the
94 .Fa left
95 and
96 .Fa right
97 signal sets.
98 .Pp
99 The
100 .Fn sigdelset
101 function deletes the specified signal
102 .Fa signo
103 from the signal set.
104 .Pp
105 The
106 .Fn sigisemptyset
107 function returns whether the specified
108 .Fa set
109 is empty or not.
110 .Pp
111 The
112 .Fn sigismember
113 function returns whether a specified signal
114 .Fa signo
115 is contained in the signal set.
116 .Pp
117 The
118 .Fn sigorset
119 function sets the specified
120 .Fa set
121 to the logical OR of all signals from the
122 .Fa left
123 and
124 .Fa right
125 signal sets.
126 .Sh RETURN VALUES
127 The
128 .Fn sigisemptyset
129 function returns 1
130 if the set is empty, 0 otherwise.
131 .Pp
132 The
133 .Fn sigismember
134 function returns 1
135 if the signal is a member of the set,
136 0 otherwise.
137 .Pp
138 The other functions return 0 upon success.
139 A \-1 return value
140 indicates an error occurred and the global variable
141 .Va errno
142 is set to indicate the reason.
143 .Sh ERRORS
144 These functions could fail if one of the following occurs:
145 .Bl -tag -width Er
146 .It Bq Er EINVAL
147 .Fa signo
148 has an invalid value.
149 .El
150 .Sh SEE ALSO
151 .Xr kill 2 ,
152 .Xr sigaction 2 ,
153 .Xr sigpending 2 ,
154 .Xr sigprocmask 2 ,
155 .Xr sigsuspend 2
156 .Sh STANDARDS
157 The
158 .Fn sigandset ,
159 .Fn sigisemptyset ,
160 and
161 .Fn sigorset
162 functions are FreeBSD extensions, compatible with functions of the same name
163 provided by both musl libc and GNU libc.
164 .Pp
165 The rest of these functions are defined by
166 .St -p1003.1-88 .