123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- 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;
-
|