|
|
1.1 root 1: /***
2: *signal.h - defines signal values and routines
3: *
4: * Copyright (c) 1985-1991, Microsoft Corporation. All rights reserved.
5: *
6: *Purpose:
7: * This file defines the signal values and declares the signal functions.
8: * [ANSI/System V]
9: *
10: ****/
11:
12: #ifndef _INC_SIGNAL
13:
14: #ifdef __cplusplus
15: extern "C" {
16: #endif
17:
18:
19: #if (_MSC_VER <= 600)
20: #define __cdecl _cdecl
21: #endif
22:
23: #ifndef _SIG_ATOMIC_T_DEFINED
24: typedef int sig_atomic_t;
25: #define _SIG_ATOMIC_T_DEFINED
26: #endif
27:
28: #define NSIG 23 /* maximum signal number + 1 */
29:
30: /* signal types */
31:
32: #define SIGINT 2 /* interrupt */
33: #define SIGILL 4 /* illegal instruction - invalid function image */
34: #define SIGFPE 8 /* floating point exception */
35: #define SIGSEGV 11 /* segment violation */
36: #define SIGTERM 15 /* Software termination signal from kill */
37: #define SIGUSR1 16 /* User defined signal 1 */
38: #define SIGUSR2 17 /* User defined signal 2 */
39: #define SIGUSR3 20 /* User defined signal 3 */
40: #define SIGBREAK 21 /* Ctrl-Break sequence */
41: #define SIGABRT 22 /* abnormal termination triggered by abort call */
42:
43:
44: /* signal action codes */
45:
46: #define SIG_DFL (void (*)(int))0 /* default signal action */
47: #define SIG_IGN (void (*)(int))1 /* ignore signal */
48: #define SIG_SGE (void (*)(int))3 /* signal gets error */
49: #define SIG_ACK (void (*)(int))4 /* acknowledge */
50:
51:
52: /* signal error value (returned by signal call on error) */
53:
54: #define SIG_ERR (void (*)(int))-1 /* signal error value */
55:
56: /* pointer to exception information pointers structure */
57:
58: #ifdef _MT
59: extern void * * __pxcptinfoptrs(void);
60: #define _pxcptinfoptrs (*__pxcptinfoptrs())
61: #else
62: extern void * _pxcptinfoptrs;
63: #endif
64:
65: /* function prototypes */
66:
67: void (* signal(int, void (*)(int)))(int);
68: int raise(int);
69:
70: #ifdef __cplusplus
71: }
72: #endif
73:
74: #define _INC_SIGNAL
75: #endif /* _INC_SIGNAL */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.