]> git.llucax.com Git - software/druntime.git/blob - import/core/stdc/signal.d
Use unix EOL style for makefiles
[software/druntime.git] / import / core / stdc / signal.d
1 /**
2  * D header file for C99.
3  *
4  * Copyright: Public Domain
5  * License:   Public Domain
6  * Authors:   Sean Kelly
7  * Standards: ISO/IEC 9899:1999 (E)
8  */
9 module core.stdc.signal;
10
11 extern (C):
12
13 // this should be volatile
14 alias int sig_atomic_t;
15
16 private alias void function(int) sigfn_t;
17
18 version( Posix )
19 {
20     const SIG_ERR   = cast(sigfn_t) -1;
21     const SIG_DFL   = cast(sigfn_t) 0;
22     const SIG_IGN   = cast(sigfn_t) 1;
23
24     // standard C signals
25     const SIGABRT   = 6;  // Abnormal termination
26     const SIGFPE    = 8;  // Floating-point error
27     const SIGILL    = 4;  // Illegal hardware instruction
28     const SIGINT    = 2;  // Terminal interrupt character
29     const SIGSEGV   = 11; // Invalid memory reference
30     const SIGTERM   = 15; // Termination
31 }
32 else
33 {
34     const SIG_ERR   = cast(sigfn_t) -1;
35     const SIG_DFL   = cast(sigfn_t) 0;
36     const SIG_IGN   = cast(sigfn_t) 1;
37
38     // standard C signals
39     const SIGABRT   = 22; // Abnormal termination
40     const SIGFPE    = 8;  // Floating-point error
41     const SIGILL    = 4;  // Illegal hardware instruction
42     const SIGINT    = 2;  // Terminal interrupt character
43     const SIGSEGV   = 11; // Invalid memory reference
44     const SIGTERM   = 15; // Termination
45 }
46
47 sigfn_t signal(int sig, sigfn_t func);
48 int     raise(int sig);