NAME
psignal
, psiginfo
,
strsignal
, sys_siglist
,
sys_signame
, sys_nsig
— system signal
messages
LIBRARY
library “libc”
SYNOPSIS
#include
<signal.h>
void
psignal
(unsigned
sig, const char
*s);
void
psiginfo
(const
siginfo_t *si, const char
*s);
extern const char * const sys_siglist[];
extern const char * const sys_signame[];
extern const int sys_nsig;
#include
<string.h>
char *
strsignal
(int
sig);
DESCRIPTION
Thepsignal
()
and strsignal
() functions locate the descriptive
message string for a signal number.
The
strsignal
()
function accepts a signal number argument sig and
returns a pointer to the corresponding message string.
The
psignal
()
function accepts a signal number argument sig and
writes it to the standard error. If the argument s is
non-NULL
and does not point to the null character,
s is written to the standard error file descriptor
prior to the message string, immediately followed by a colon and a space. If
the signal number is not recognized
(sigaction(2)), the string “Unknown signal” is
produced.
The
psiginfo
()
function is similar to psignal
(), except that the
signal number information is taken from the si
argument which is a siginfo_t structure.
The message strings can be accessed directly through the external
array sys_siglist, indexed by recognized signal
numbers. The external array sys_signame is used
similarly and contains short, lower-case abbreviations for signals which are
useful for recognizing signal names in user input. The external variable
sys_nsig contains a count of the strings in
sys_siglist and sys_signame.
Note that the defined variable NSIG
will typically
be the same as sys_nsig, but might be different due to
newer or older kernels and newer or older libc libraries. For maximum
portability you must use sys_nsig to limit-check the
above arrays. Additionally, you should check for
NULL
array entries and generate a generic signal
name in those cases.
SEE ALSO
HISTORY
The psignal
() function appeared in
4.2BSD. The psiginfo
()
function appeared in DragonFly 4.1.