mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-05-28 20:02:41 +02:00
167 lines
3.3 KiB
PHP
167 lines
3.3 KiB
PHP
const
|
|
__SI_MAX_SIZE = 128;
|
|
__SI_PAD_SIZE = (__SI_MAX_SIZE div sizeof (Integer)) - 3;
|
|
|
|
type
|
|
|
|
Psigval = ^sigval;
|
|
sigval = record
|
|
case longint of
|
|
0 : ( sival_int : longint );
|
|
1 : ( sival_ptr : pointer );
|
|
end;
|
|
sigval_t = sigval;
|
|
Psigval_t = ^sigval_t;
|
|
|
|
|
|
// Borland compatibility types moved here, needed for siginfo
|
|
_si_sigchld = record
|
|
si_pid: __pid_t;
|
|
si_uid: __uid_t;
|
|
si_status: Integer;
|
|
si_utime: __clock_t;
|
|
si_stime: __clock_t;
|
|
end;
|
|
|
|
_si_kill = record
|
|
si_pid: __pid_t;
|
|
si_uid: __uid_t;
|
|
end;
|
|
_si_pad = packed array[0..__SI_PAD_SIZE-1] of Integer;
|
|
_si_sigfault = record
|
|
si_addr: Pointer;
|
|
end;
|
|
_si_sigpoll = record
|
|
si_band: Longint;
|
|
si_fd: Integer;
|
|
end;
|
|
_si_timer = record
|
|
_timer1: Cardinal;
|
|
_timer2: Cardinal;
|
|
end;
|
|
_si_rt = record
|
|
si_pid: __pid_t;
|
|
si_uid: __uid_t;
|
|
si_sigval: sigval_t;
|
|
end;
|
|
|
|
|
|
|
|
|
|
type
|
|
|
|
Psiginfo = ^siginfo;
|
|
siginfo = record
|
|
si_signo : longint;
|
|
si_errno : longint;
|
|
si_code : longint;
|
|
Case integer of
|
|
0: (_pad: _si_pad);
|
|
1: (_kill: _si_kill);
|
|
2: (_timer: _si_timer);
|
|
3: (_rt: _si_rt);
|
|
4: (_sigchld: _si_sigchld);
|
|
5: (_sigfault: _si_sigfault);
|
|
6: (_sigpoll: _si_sigpoll);
|
|
end;
|
|
siginfo_t = siginfo;
|
|
Psiginfo_t = ^siginfo_t;
|
|
Tsiginfo_t = siginfo_t;
|
|
|
|
Const
|
|
|
|
SI_ASYNCNL = -(6);
|
|
SI_SIGIO = (-(6))+1;
|
|
SI_ASYNCIO = (-(6))+2;
|
|
SI_MESGQ = (-(6))+3;
|
|
SI_TIMER = (-(6))+4;
|
|
SI_QUEUE = (-(6))+5;
|
|
SI_USER = (-(6))+6;
|
|
SI_KERNEL = $80;
|
|
|
|
ILL_ILLOPC = 1;
|
|
ILL_ILLOPN = 2;
|
|
ILL_ILLADR = 3;
|
|
ILL_ILLTRP = 4;
|
|
ILL_PRVOPC = 5;
|
|
ILL_PRVREG = 6;
|
|
ILL_COPROC = 7;
|
|
ILL_BADSTK = 8;
|
|
|
|
FPE_INTDIV = 1;
|
|
FPE_INTOVF = 2;
|
|
FPE_FLTDIV = 3;
|
|
FPE_FLTOVF = 4;
|
|
FPE_FLTUND = 5;
|
|
FPE_FLTRES = 6;
|
|
FPE_FLTINV = 7;
|
|
FPE_FLTSUB = 8;
|
|
|
|
SEGV_MAPERR = 1;
|
|
SEGV_ACCERR = 2;
|
|
|
|
BUS_ADRALN = 1;
|
|
BUS_ADRERR = 2;
|
|
BUS_OBJERR = 3;
|
|
|
|
TRAP_BRKPT = 1;
|
|
TRAP_TRACE = 2;
|
|
|
|
CLD_EXITED = 1;
|
|
CLD_KILLED = 2;
|
|
CLD_DUMPED = 3;
|
|
CLD_TRAPPED = 4;
|
|
CLD_STOPPED = 5;
|
|
CLD_CONTINUED = 6;
|
|
|
|
POLL_IN = 1;
|
|
POLL_OUT = 2;
|
|
POLL_MSG = 3;
|
|
POLL_ERR = 4;
|
|
POLL_PRI = 5;
|
|
POLL_HUP = 6;
|
|
|
|
__SIGEV_MAX_SIZE = 64;
|
|
__SIGEV_PAD_SIZE = (__SIGEV_MAX_SIZE div SizeOf(Integer)) - 3;
|
|
|
|
type
|
|
// Glue structures.
|
|
_se_pad = packed array[0..__SIGEV_PAD_SIZE-1] of Integer;
|
|
TSignalEventStartProc = procedure(Param: sigval_t); cdecl;
|
|
|
|
_se_sigev_thread = {packed} record
|
|
_function: TSignalEventStartProc; { Function to start. }
|
|
_attribute: Pointer; { Really pthread_attr_t. }
|
|
end;
|
|
|
|
Psigevent = ^sigevent;
|
|
sigevent = record
|
|
sigev_value : sigval_t;
|
|
sigev_signo : longint;
|
|
sigev_notify : longint;
|
|
_sigev_un : record
|
|
case longint of
|
|
0 : ( _pad : array[0..(__SIGEV_PAD_SIZE)-1] of longint );
|
|
1 : ( _sigev_thread :_se_sigev_thread;);
|
|
end;
|
|
end;
|
|
sigevent_t = sigevent;
|
|
Psigevent_t = ^sigevent_t;
|
|
|
|
Const
|
|
SIGEV_SIGNAL = 0;
|
|
SIGEV_NONE = 1;
|
|
SIGEV_THREAD = 2;
|
|
|
|
{ ---------------------------------------------------------------------
|
|
Borland compatibility types
|
|
---------------------------------------------------------------------}
|
|
|
|
Type
|
|
TSigval = sigval_t;
|
|
|
|
TSigInfo = siginfo;
|
|
|
|
TSigEvent = sigevent;
|
|
|
|
|