str2sig(3C) manual page
Table of Contents
str2sig, sig2str - translation between signal name and signal number
#include <signal.h>
int str2sig(const char *str, int *signum);
int sig2str(int signum, char *str);
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.
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.
int i; |
char buf[STR2SIG_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 */ |
kill(1)
, strsignal(3C)
Table of Contents