PSIGNAL(3)             FreeBSD Library Functions Manual             PSIGNAL(3)

NAME

     psignal, psiginfo, strsignal, sys_siglist, sys_signame, sig2str, str2sig
     - system signal messages

LIBRARY

     Standard C Library (libc, -lc)

SYNOPSIS

     #include <signal.h>

     void
     psignal(int 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[];

     #include <string.h>

     char *
     strsignal(int sig);

     int
     sig2str(int signum, char *str);

     int
     str2sig(char *str, int *pnum);

DESCRIPTION

     The psignal() 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, upper-case
     abbreviations for signals which are useful for recognizing signal names
     in user input.  The defined variable NSIG contains a count of the strings
     in sys_siglist and sys_signame.

     The sig2str() function translates the signal number signum to the signal
     name, without the "SIG" prefix, and stores it at the location specified
     by str, which should be large enough to hold the name and the terminating
     NUL byte.  The symbol SIG2STR_MAX gives the maximum size in bytes
     required.

     The str2sig() function translates the signal name str to a signal number
     and stores it in the location referenced by pnum.  The name in str can be
     either the name of the signal, with or without the "SIG" prefix, or a
     decimal number.

SEE ALSO

     sigaction(2), perror(3), strerror(3)

STANDARDS

     The psignal() and psiginfo() functions are defined by IEEE Std
     1003.1-2008 ("POSIX.1") , while the sig2str() and str2sig() functions are
     defined by IEEE Std 1003.1-2024 ("POSIX.1").

HISTORY

     The psignal() function appeared in 4.2BSD.  The psiginfo() function
     appeared in FreeBSD 14.3, NetBSD 6.0, and DragonFly 4.1.  The sig2str()
     and str2sig() functions appeared in FreeBSD 15.0.

FreeBSD 15.1-STABLE-HBSD         May 10, 2025                       PSIGNAL(3)