| /** | |
| * D header file for C99. | |
| * | |
| * $(C_HEADER_DESCRIPTION pubs.opengroup.org/onlinepubs/009695399/basedefs/_signal.h.html, _signal.h) | |
| * | |
| * Copyright: Copyright Sean Kelly 2005 - 2009. | |
| * License: Distributed under the | |
| * $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0). | |
| * (See accompanying file LICENSE) | |
| * Authors: Sean Kelly | |
| * Source: $(DRUNTIMESRC core/stdc/_signal.d) | |
| * Standards: ISO/IEC 9899:1999 (E) | |
| */ | |
| module core.stdc.signal; | |
| extern (C): | |
| nothrow: | |
| @nogc: | |
| // this should be volatile | |
| /// | |
| alias sig_atomic_t = int; | |
| private alias sigfn_t = void function(int); | |
| version (Posix) | |
| { | |
| /// | |
| enum SIG_ERR = cast(sigfn_t) -1; | |
| /// | |
| enum SIG_DFL = cast(sigfn_t) 0; | |
| /// | |
| enum SIG_IGN = cast(sigfn_t) 1; | |
| // standard C signals | |
| /// | |
| enum SIGABRT = 6; // Abnormal termination | |
| /// | |
| enum SIGFPE = 8; // Floating-point error | |
| /// | |
| enum SIGILL = 4; // Illegal hardware instruction | |
| /// | |
| enum SIGINT = 2; // Terminal interrupt character | |
| /// | |
| enum SIGSEGV = 11; // Invalid memory reference | |
| /// | |
| enum SIGTERM = 15; // Termination | |
| } | |
| else version (Windows) | |
| { | |
| /// | |
| enum SIG_ERR = cast(sigfn_t) -1; | |
| /// | |
| enum SIG_DFL = cast(sigfn_t) 0; | |
| /// | |
| enum SIG_IGN = cast(sigfn_t) 1; | |
| // standard C signals | |
| /// | |
| enum SIGABRT = 22; // Abnormal termination | |
| /// | |
| enum SIGFPE = 8; // Floating-point error | |
| /// | |
| enum SIGILL = 4; // Illegal hardware instruction | |
| /// | |
| enum SIGINT = 2; // Terminal interrupt character | |
| /// | |
| enum SIGSEGV = 11; // Invalid memory reference | |
| /// | |
| enum SIGTERM = 15; // Termination | |
| } | |
| /// | |
| sigfn_t signal(int sig, sigfn_t func); | |
| /// | |
| int raise(int sig); |