]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/libc/gen/psignal.3
awk: Merge upstream 2nd Edition Awk Book
[FreeBSD/FreeBSD.git] / lib / libc / gen / psignal.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 .\"     @(#)psignal.3   8.2 (Berkeley) 2/27/95
29 .\"
30 .Dd May 30, 2016
31 .Dt PSIGNAL 3
32 .Os
33 .Sh NAME
34 .Nm psignal ,
35 .Nm strsignal ,
36 .Nm sys_siglist ,
37 .Nm sys_signame
38 .Nd system signal messages
39 .Sh LIBRARY
40 .Lb libc
41 .Sh SYNOPSIS
42 .In signal.h
43 .Ft void
44 .Fn psignal "int sig" "const char *s"
45 .Vt extern const char * const sys_siglist[] ;
46 .Vt extern const char * const sys_signame[] ;
47 .In string.h
48 .Ft "char *"
49 .Fn strsignal "int sig"
50 .Sh DESCRIPTION
51 The
52 .Fn psignal
53 and
54 .Fn strsignal
55 functions locate the descriptive message
56 string for a signal number.
57 .Pp
58 The
59 .Fn strsignal
60 function accepts a signal number argument
61 .Fa sig
62 and returns a pointer to the corresponding message string.
63 .Pp
64 The
65 .Fn psignal
66 function accepts a signal number argument
67 .Fa sig
68 and writes it to the standard error.
69 If the argument
70 .Fa s
71 is
72 .Pf non- Dv NULL
73 and does not point to the null character,
74 .Fa s
75 is written to the standard error file descriptor
76 prior to the message string,
77 immediately followed by a colon and a space.
78 If the signal number is not recognized
79 .Pq Xr sigaction 2 ,
80 the string
81 .Dq "Unknown signal"
82 is produced.
83 .Pp
84 The message strings can be accessed directly
85 through the external array
86 .Va sys_siglist ,
87 indexed by recognized signal numbers.
88 The external array
89 .Va sys_signame
90 is used similarly and
91 contains short, upper-case abbreviations for signals
92 which are useful for recognizing signal names
93 in user input.
94 The defined variable
95 .Dv NSIG
96 contains a count of the strings in
97 .Va sys_siglist
98 and
99 .Va sys_signame .
100 .Sh SEE ALSO
101 .Xr sigaction 2 ,
102 .Xr perror 3 ,
103 .Xr strerror 3
104 .Sh HISTORY
105 The
106 .Fn psignal
107 function appeared in
108 .Bx 4.2 .