ssignal(3C) ssignal(3C)NAME ssignal, gsignal - produce software signals SYNOPSIS #include <signal.h> int(*ssignal(sig, action))() int sig,(*action)(); int gsignal(sig) int sig; DESCRIPTION ssignal and gsignal implement a software facility similar to signal(3). This facility is used by the Standard C Library to enable users to indicate the disposition of error conditions; it is also made available to users for their own purposes. Software signals made available to users are associated with integers in the inclusive range 1 through 15. A call to ssignal associates a procedure, action, with the software signal, sig; the software signal, sig, is raised by a call to gsignal. Raising a software signal causes the action established for that signal to be taken. The first argument to ssignal is a number identifying the type of signal for which an action is to be established. The second argument defines the action; it is either the name of a user-defined action function or one of the manifest constants SIG_DFL (default) or SIG_IGN (ignore). ssignal returns the action previously established for that signal type; if no action has been established or the signal number (sig) is illegal, ssignal returns SIG_DFL. gsignal raises the signal identified by its argument, sig: If an action function has been established for sig, then that action is reset to SIG_DFL and the action function is entered with argument sig. gsignal returns the value returned to it by the action function. If the action for sig is SIG_IGN, gsignal returns the value 1 and takes no other action. If the action for sig is SIG_DFL, gsignal returns the value 0 and takes no other action. If sig has an illegal value or no action was ever specified for sig, gsignal returns the value 0 and takes no other action. January 1992 1
ssignal(3C) ssignal(3C)NOTES There are some additional signals with numbers outside the range 1 through 15 that are used by the Standard C Library to indicate error conditions. Thus, some signal numbers outside the range 1 through 15 are legal, although their use may interfere with the operation of the Standard C Library. SEE ALSO sigvec(2), signal(3) 2 January 1992