sig_atomic_t
非同期の割り込みがあっても、アトミックにアクセスできるオブジェクトの（おそらくvolatile 修飾された）整数型です。
SIG_DFL
SIG_ERR
SIG_IGN
シグナル関数の第2引数とその戻り値に対応した型を持ち、かつ宣言可能な関数のアドレスと比較して不等な値を持つ定数式に展開されるものと、
int型の正の整数の定数式に展開され、それぞれ指定された条件に対応するシグナル番号である明確な値を持つ以下のものがあります。
SIGABRT : アボート機能による異常終了
SIGFPE : ゼロ除算やオーバーフローのような誤った算術演算
SIGILL : 無効な命令など、無効な関数イメージの検出
SIGINT : インタラクティブ・アテンション・シグナルの受信
SIGSEGV : ストレージへの不正なアクセス
SIGTERM : プログラムへの終了要求
実装では、明示的に raise 関数を呼び出した場合を除き、これらのシグナルを生成する必要はありません。
SIGと大文字、またはSIG_と大文字で始まるマクロ定義を持つ、追加のシグナルと宣言不可能な関数へのポインタも、実装によって指定することができます。
シグナルの完全なセット、そのセマンティクス、およびデフォルトの処理は、実装によって定義されます。すべてのシグナル番号は正の値でなければなりません。
シグナル処理の指定。
形式 : 
void (*signal(int sig, void (*func)(int)))(int);
説明
signal 関数は、シグナル番号 sig の受信をその後どのように処理するか、funcの値によって3つの方法のうち1つを選択します。
SIG_DFL : そのシグナルに対するデフォルトの処理が行われます。
SIG_IGN : そのシグナルは無視される。
funcはそのシグナルが発生したときに呼び出される関数を指します。
シグナルが原因でこのような関数が呼び出された場合や(再帰的に)その呼び出しによってさらに呼び出される関数(標準ライブラリの関数を除く)をシグナルハンドラと呼びます。
形式 : 
int raise(int sig); 
説明
raise関数は、シグナルsigに対して前述の動作を行います。
シグナル・ハンドラーが呼ばれた場合、シグナル・ハンドラーが終了するまで、 raise関数は戻りません。
戻り値
raise関数は、成功した場合はゼロを、失敗した場合は非ゼロを返します。