STR2SIG(3C) Standard C Library Functions STR2SIG(3C)
NAME
str2sig, sig2str - translation between signal name and signal number
SYNOPSIS
#include <signal.h>
int str2sig(
const char *str,
int *signum);
int sig2str(
int signum,
char *str);
DESCRIPTION
The
str2sig() function translates the signal name
str to a signal
number, and stores that result in the location referenced by
signum.
The name in
str can be either the symbol for that signal, without the
"SIG" prefix, or a decimal number. All the signal symbols defined in
<
sys/signal.h> are recognized. This means that both "CLD" and "CHLD"
are recognized and return the same signal number, as do both "POLL"
and "IO". For access to the signals in the range
SIGRTMIN to
SIGRTMAX, the first four signals match the strings "RTMIN",
"RTMIN+1", "RTMIN+2", and "RTMIN+3" and the last four match the
strings "RTMAX-3", "RTMAX-2", "RTMAX-1", and "RTMAX".
The
sig2str() function translates the signal number
signum to the
symbol for that signal, without the "SIG" prefix, and stores that
symbol at the location specified by
str. The storage referenced by
str should be large enough to hold the symbol and a terminating null
byte. The symbol
SIG2STR_MAX defined by
<signal.h> gives the maximum
size in bytes required.
RETURN VALUES
The
str2sig() function returns
0 if it recognizes the signal name
specified in
str; otherwise, it returns
-1.
The
sig2str() function returns
0 if the value
signum corresponds to a
valid signal number; otherwise, it returns
-1.
EXAMPLES
Example 1: A sample program using the str2sig() function.
int i;
char buf[SIG2STR_MAX]; /*storage for symbol */
str2sig("KILL",&i); /*stores 9 in i */
str2sig("9", &i); /* stores 9 in i */
sig2str(SIGKILL,buf); /* stores "KILL" in buf */
sig2str(9,buf); /* stores "KILL" in buf */
SEE ALSO
kill(1),
strsignal(3C) October 7, 1999 STR2SIG(3C)