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