2
This file is part of the Free Pascal run time library.
3
Copyright (c) 1999-2000 by Jonas Maebe,
4
member of the Free Pascal development team.
6
See the file COPYING.FPC, included in this distribution,
7
for details about the copyright.
9
This program is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
**********************************************************************}
22
{ For sending a signal }
34
SA_RESTORER = $04000000;
35
SA_ONSTACK = $08000000;
36
SA_RESTART = $10000000;
37
SA_INTERRUPT = $20000000;
38
SA_NODEFER = $40000000;
39
SA_RESETHAND = $80000000;
41
SA_NOMASK = SA_NODEFER;
42
SA_ONESHOT = SA_RESETHAND;
124
{ si_code field values for tsiginfo.si_code when si_signo = SIGFPE }
126
FPE_INTDIV = 1; { integer divide by zero }
127
FPE_INTOVF = 2; { integer overflow }
128
FPE_FLTDIV = 3; { floating point divide by zero }
129
FPE_FLTOVF = 4; { floating point overflow }
130
FPE_FLTUND = 5; { floating point underflow }
131
FPE_FLTRES = 6; { floating point inexact result }
132
FPE_FLTINV = 7; { floating point invalid operation }
133
FPE_FLTSUB = 8; { floating point subscript out of range }
136
SI_PAD_SIZE = ((128 div sizeof(longint)) - 3);
139
sigset_t = array[0..wordsinsigset-1] of cuLong;
144
psiginfo = ^tsiginfo;
151
0 : ( _pad : array[0..(SI_PAD_SIZE)-1] of longint );
156
2 : ( _timer : record
165
4 : ( _sigchld : record
172
5 : ( _sigfault : record
175
6 : ( _sigpoll : record
182
{ CPU dependent TSigContext }
186
signalhandler_t = procedure(signal: longint); cdecl;
187
sigactionhandler_t = procedure(signal: longint; info: psiginfo; context: psigcontext); cdecl;
188
sigrestorerhandler_t = procedure; cdecl;
190
signalhandler = signalhandler_t;
191
sigactionhandler = sigactionhandler_t;
192
sigrestorerhandler = sigrestorerhandler_t;
193
tsignalhandler = signalhandler_t;
194
tsigactionhandler = sigactionhandler_t;
195
tsigrestorerhandler = sigrestorerhandler_t;
197
psigactionrec = ^sigactionrec;
198
sigactionrec = record
199
sa_handler: sigactionhandler_t;
201
sa_restorer: sigrestorerhandler_t;