xref: /freebsd/lib/libc/gen/psignal.3 (revision a1a4f1a0d87b594d3f17a97dc0127eec1417e6f6)
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. All advertising materials mentioning features or use of this software
13.\"    must display the following acknowledgement:
14.\"	This product includes software developed by the University of
15.\"	California, Berkeley and its contributors.
16.\" 4. Neither the name of the University nor the names of its contributors
17.\"    may be used to endorse or promote products derived from this software
18.\"    without specific prior written permission.
19.\"
20.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30.\" SUCH DAMAGE.
31.\"
32.\"     @(#)psignal.3	8.2 (Berkeley) 2/27/95
33.\" $FreeBSD$
34.\"
35.Dd February 27, 1995
36.Dt PSIGNAL 3
37.Os BSD 4.2
38.Sh NAME
39.Nm psignal ,
40.Nm strsignal ,
41.Nm sys_siglist ,
42.Nm sys_signame
43.Nd system signal messages
44.Sh SYNOPSIS
45.Fd #include <signal.h>
46.Ft void
47.Fn psignal "unsigned sig" "const char *s"
48.Ft "char *"
49.Fn strsignal "unsigned sig"
50.Vt extern const char * const sys_siglist[];
51.Vt extern const char * const sys_signame[];
52.Sh DESCRIPTION
53The
54.Fn psignal
55and
56.Fn strsignal
57functions locate the descriptive message
58string for a signal number.
59.Pp
60The
61.Fn strsignal
62function accepts a signal number argument
63.Fa sig
64and returns a pointer to the corresponding message string.
65.Pp
66The
67.Fn psignal
68function accepts an signal number argument
69.Fa sig
70and writes it to the standard error.
71If the argument
72.Fa s
73is
74.Pf non- Dv NULL
75and does not point to the null character,
76.Fa s
77is written to the standard error file descriptor
78prior to the message string,
79immediately followed by a colon and a space.
80If the signal number is not recognized
81.Pq Xr sigaction 2 ,
82the string
83.Dq "Unknown signal
84is produced.
85.Pp
86The message strings can be accessed directly
87through the external array
88.Va sys_siglist ,
89indexed by recognized signal numbers.
90The external array
91.Va sys_signame
92is used similarly and
93contains short, lower-case abbreviations for signals
94which are useful for recognizing signal names
95in user input.
96The defined variable
97.Dv NSIG
98contains a count of the strings in
99.Va sys_siglist
100and
101.Va sys_signame .
102.Sh SEE ALSO
103.Xr sigaction 2 ,
104.Xr perror 3 ,
105.Xr strerror 3
106.Sh HISTORY
107The
108.Fn psignal
109function appeared in
110.Bx 4.2 .
111