[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    str2sig(3C) manual page Table of Contents

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

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 */

See Also

kill(1) , strsignal(3C)


Table of Contents