1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
|
/**
* D header file for C99.
*
* Copyright: Public Domain
* License: Public Domain
* Authors: Sean Kelly
* Standards: ISO/IEC 9899:1999 (E)
*/
module tango.stdc.signal;
extern (C):
// this should be volatile
alias int sig_atomic_t;
private alias void function(int) sigfn_t;
version( Posix )
{
const SIG_ERR = cast(sigfn_t) -1;
const SIG_DFL = cast(sigfn_t) 0;
const SIG_IGN = cast(sigfn_t) 1;
// standard C signals
const SIGABRT = 6; // Abnormal termination
const SIGFPE = 8; // Floating-point error
const SIGILL = 4; // Illegal hardware instruction
const SIGINT = 2; // Terminal interrupt character
const SIGSEGV = 11; // Invalid memory reference
const SIGTERM = 15; // Termination
}
else
{
const SIG_ERR = cast(sigfn_t) -1;
const SIG_DFL = cast(sigfn_t) 0;
const SIG_IGN = cast(sigfn_t) 1;
// standard C signals
const SIGABRT = 22; // Abnormal termination
const SIGFPE = 8; // Floating-point error
const SIGILL = 4; // Illegal hardware instruction
const SIGINT = 2; // Terminal interrupt character
const SIGSEGV = 11; // Invalid memory reference
const SIGTERM = 15; // Termination
}
/// on posix SIGUSR1 and SIGUSR2 are used by the gc, and should not be used/handled/blocked
sigfn_t signal(int sig, sigfn_t func);
int raise(int sig);
|