See the POSIX (2008, 2013) specification for <signal.h>
. In part, it says:
The
<signal.h>
header shall define the following macros that are used to refer to the signals that occur in the system. Signals defined here begin with the letters SIG followed by an uppercase letter. The macros shall expand to positive integer constant expressions with type int and distinct values. The value 0 is reserved for use as the null signal (seekill()
). Additional implementation-defined signals may occur in the system.…
The following signals shall be supported on all implementations…
and this is followed by a table of signal names. The version you link to is the 2004 edition of the standard, and it is not so explicit about the signal names being macros, but the later version codifies existing practice.
So, to be POSIX conformant, the signal names shall be #define
'd.