123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- {
- This file is part of the Free Pascal run time library.
- Copyright (c) 2011 by Free Pascal development team
- This file implements all the types/constants related
- to signals for AIX.
- See the file COPYING.FPC, included in this distribution,
- for details about the copyright.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- **********************************************************************}
- const
- {************************ signals *****************************}
- { more can be provided. Herein are only included the required }
- { values. }
- {**************************************************************}
- SIGHUP = 1; { Hangup }
- SIGINT = 2; { Interactive attention signal }
- SIGQUIT = 3; { Interactive termination signal }
- SIGILL = 4; { Illegal instruction }
- SIGABRT = 6; { abnormal termination }
- SIGFPE = 8; { illegal arithmetic operation }
- SIGKILL = 9; { Kill, cannot be caught }
- SIGBUS = 10; { Access to undefined memory }
- SIGSEGV = 11; { Detection of invalid memory reference }
- SIGPIPE = 13; { Broken pipe signal }
- SIGALRM = 14; { alarm clock (used with alarm() }
- SIGTERM = 15; { Termination request }
- SIGUSR1 = 30;
- SIGUSR2 = 31;
- SIGSTOP = 17; { Stop signal. cannot be cuaght }
- SIGSTP = 18; { Interactive stop signal }
- SIGCONT = 19; { Continue if stopped }
- SIGCHLD = 20; { Child process terminated / stopped }
- SIGTSTP = SIGSTP; { AIX name for SIGSTP }
- SIGTTIN = 21; { Background read from TTY }
- SIGTTOU = 22; { Background write to TTY }
- { AIX specific signals }
- SIGTRAP = 5; { trace trap (not reset when caught) }
- SIGIOT = SIGABRT; { IOT instruction }
- SIGLOST = SIGIOT; { resource lost (eg, record-lock lost) }
- SIGEMT = 7; { EMT instruction }
- SIGSYS = 12; { bad argument to system call }
- SIGCLD = SIGCHLD; { child status change }
- SIGURG = 16; { (+) urgent contition on I/O channel }
- SIGPOLL = 23; { pollable event occurred }
- SIGXCPU = 24; { exceeded cpu limit }
- SIGXFSZ = 25;
- SIGMSG = 27;
- SIGWINCH = 28; { window size change }
- SIGPWR = 29; { power-fail restart }
- SIGIO = SIGPOLL; { socket I/O possible (SIGPOLL alias) }
- SIGAIO = SIGIO;
- SIGPTY = SIGIO;
- SIGPROF = 32; { profiling timer expired }
- SIGVTALRM = 34; { virtual timer expired }
- SIGMIGRATE = 35; { exceeded file size limit }
- SIGPRE = 36;
- SIGVIRT = 37;
- SIGALARM1 = 38;
- SIGWAITING = 39; { process's lwps are blocked }
- SIGRECONFIG = 58;
- SIGCPUFAIL = 59;
- SIGKAP = 60;
- SIGGRANT = SIGKAP;
- SIGRETRACT = 61;
- SIGSOUND = 62;
- SIGSAK = 63;
- SIG_BLOCK = 1;
- SIG_UNBLOCK = 2;
- SIG_SETMASK = 3;
- SIG_DFL = pointer(0) ;
- SIG_IGN = pointer(1) ;
- SIG_ERR = pointer(-1) ;
- { definitions for the sa_flags field }
- SA_ONSTACK = $00000001;
- SA_RESETHAND = $00000002;
- SA_RESTART = $00000008;
- SA_SIGINFO = $00000100;
- SA_NODEFER = $00000200;
- SA_NOCLDWAIT = $00000400;
- SI_USER = 0;
- SI_UNDEFINED = 8;
- SI_EMPTY = 9;
- { SIGBUS }
- BUS_ADRALN = 1;
- BUS_ADRERR = 2;
- BUS_OBJERR = 3;
- BUS_UEGARD = 4;
- { SIGCHLD }
- CLD_EXITED = 10;
- CLD_KILLED = 11;
- CLD_DUMPED = 12;
- CLD_TRAPPED = 13;
- CLD_STOPPED = 14;
- CLD_CONTINUED = 15;
- { SIGFPE }
- FPE_INTDIV = 20;
- FPE_INTOVF = 21;
- FPE_FLTDIV = 22;
- FPE_FLTOVF = 23;
- FPE_FLTUND = 24;
- FPE_FLTRES = 25;
- FPE_FLTINV = 26;
- FPE_FLTSUB = 27;
- { SIGILL }
- ILL_ILLOPC = 30;
- ILL_ILLOPN = 31;
- ILL_ILLADR = 32;
- ILL_ILLTRP = 33;
- ILL_PRVOPC = 34;
- ILL_PRVREG = 35;
- ILL_COPROC = 36;
- ILL_BADSTK = 37;
- { SIGPOLL }
- POLL_IN = 40;
- POLL_OUT = 41;
- POLL_MSG = -3;
- POLL_ERR = 43;
- POLL_PRI = 44;
- POLL_HUP = 45;
- { SIGSEGV }
- SEGV_MAPERR = 50;
- SEGV_ACCERR = 51;
- SEGV_KEYERR = 52;
- { SIGTRAP }
- TRAP_BRKPT = 60;
- TRAP_TRACE = 61;
- { GENERAL }
- SI_QUEUE = 71;
- SI_TIMER = 72;
- SI_ASYNCIO = 73;
- SI_MESGQ = 74;
- type
- SigSet = array[0..wordsinsigset-1] of clong;
- sigset_t= SigSet;
- PSigSet = ^SigSet;
- psigset_t=psigset;
- TSigSet = SigSet;
- psiginfo = ^tsiginfo;
- tsiginfo = record
- si_signo : cint;
- si_errno : cint;
- si_code : cint;
- si_pid : pid_t;
- si_uid : uid_t;
- {$ifdef cpu64}
- si_status: cint;
- si_addr : pointer;
- {$else cpu64}
- si_addr : pointer;
- si_status: cint;
- {$endif cpu64}
- si_band : clong;
- __si_flags: cint;
- {$ifdef cpu64}
- __pad: array[0..2] of cint;
- {$else cpu64}
- __pad: array[0..5] of cint;
- {$endif cpu64}
- end;
- { CPU dependent TSigContext }
- {$i sighndh.inc}
- type
- SignalHandler = Procedure(Sig : Longint);cdecl;
- PSignalHandler = ^SignalHandler;
- SignalRestorer = Procedure;cdecl;
- PSignalRestorer = ^SignalRestorer;
- SigActionHandler = procedure(sig : longint; SigInfo: PSigInfo; SigContext: PSigContext);cdecl;
- SigActionRec = record // this needs correct 8-byte alignment for hander
- sa_handler : SigActionHandler;
- Sa_Mask : SigSet;
- Sa_Flags : cint;
- end;
- TSigActionRec = SigActionRec;
- PSigActionRec = ^SigActionRec;
|