1
2type
3   P_sigaction = ^_sigaction;
4   _sigaction = record // Renamed, avoid conflict with sigaction function
5     case integer of
6       1: (sa_handler : __sighandler_t;
7           sa_mask : __sigset_t;
8           sa_flags : longint;
9           sa_restorer : procedure ;cdecl;
10          );
11       // Kylix compatibility
12       2: (__sigaction_handler: __sighandler_t);
13   end;
14
15const
16   SA_NOCLDSTOP = 1;
17   SA_NOCLDWAIT = 2;
18   SA_SIGINFO = 4;
19
20const
21   SA_ONSTACK = $08000000;
22   SA_RESTART = $10000000;
23   SA_NODEFER = $40000000;
24   SA_RESETHAND = $80000000;
25
26   SA_INTERRUPT = $20000000;
27   SA_NOMASK = SA_NODEFER;
28   SA_ONESHOT = SA_RESETHAND;
29   SA_STACK = SA_ONSTACK;
30
31const
32   SIG_BLOCK = 0;
33   SIG_UNBLOCK = 1;
34   SIG_SETMASK = 2;
35
36{ ---------------------------------------------------------------------
37    Borland compatibility types
38  ---------------------------------------------------------------------}
39
40Type
41  TSigAction = _sigaction;
42  PSigAction = ^TSigAction;
43  TRestoreHandler = procedure; cdecl;
44   __sigaction = _sigaction;
45  TSigActionHandler = procedure(Signal: Integer); cdecl;
46
47
48