xref: /freebsd/lib/libc/gen/psignal.3 (revision 734e82fe33aa764367791a7d603b383996c6b40b)
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
51The
52.Fn psignal
53and
54.Fn strsignal
55functions locate the descriptive message
56string for a signal number.
57.Pp
58The
59.Fn strsignal
60function accepts a signal number argument
61.Fa sig
62and returns a pointer to the corresponding message string.
63.Pp
64The
65.Fn psignal
66function accepts a signal number argument
67.Fa sig
68and writes it to the standard error.
69If the argument
70.Fa s
71is
72.Pf non- Dv NULL
73and does not point to the null character,
74.Fa s
75is written to the standard error file descriptor
76prior to the message string,
77immediately followed by a colon and a space.
78If the signal number is not recognized
79.Pq Xr sigaction 2 ,
80the string
81.Dq "Unknown signal"
82is produced.
83.Pp
84The message strings can be accessed directly
85through the external array
86.Va sys_siglist ,
87indexed by recognized signal numbers.
88The external array
89.Va sys_signame
90is used similarly and
91contains short, upper-case abbreviations for signals
92which are useful for recognizing signal names
93in user input.
94The defined variable
95.Dv NSIG
96contains a count of the strings in
97.Va sys_siglist
98and
99.Va sys_signame .
100.Sh SEE ALSO
101.Xr sigaction 2 ,
102.Xr perror 3 ,
103.Xr strerror 3
104.Sh HISTORY
105The
106.Fn psignal
107function appeared in
108.Bx 4.2 .
109