1{
2    $Id: signal.inc,v 1.1.2.1 2001/12/20 02:55:01 carl Exp $
3    This file is part of the Free Pascal run time library.
4    Copyright (c) 2001 by Free Pascal development team
5
6    This file implements all the types/constants related
7    to signal for QNX RTP
8
9    See the file COPYING.FPC, included in this distribution,
10    for details about the copyright.
11
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15
16 **********************************************************************}
17
18   { requires osposixh types first }
19type
20
21   sigset_t = int64;     { used for additional signal   }
22
23   sighandler_t = procedure (signo: cint); cdecl;
24
25   { signal services }
26   sigactionrec = packed record
27     sa_handler : sighandler_t;   { this is overlapped with sa_sigaction field on solaris }
28     sa_flags : cint;
29     sa_mask : sigset_t;
30   end;
31
32
33const
34    {************************ signals *****************************}
35    { more can be provided. Herein are only included the required  }
36    { values.                                                      }
37    {**************************************************************}
38    SIGABRT    = 6;     { abnormal termination           }
39    SIGALRM    =14;     { alarm clock (used with alarm() }
40    SIGFPE     = 8;     { illegal arithmetic operation   }
41    SIGHUP     = 1;     { Hangup                         }
42    SIGILL     = 4;     { Illegal instruction            }
43    SIGINT     = 2;     { Interactive attention signal   }
44    SIGKILL    = 9;     { Kill, cannot be caught         }
45    SIGPIPE    =13;     { Broken pipe signal             }
46    SIGQUIT    = 3;     { Interactive termination signal }
47    SIGSEGV    =11;     { Detection of invalid memory reference }
48    SIGTERM    =15;     { Termination request           }
49    SIGUSR1    =16;     { Application defined signal 1  }
50    SIGUSR2    =17;     { Application defined signal 2  }
51    SIGCHLD    =18;     { Child process terminated / stopped }
52    SIGCONT    =25;     { Continue if stopped               }
53    SIGSTOP    =23;     { Stop signal. cannot be cuaght     }
54    SIGSTP     =24;     { Interactive stop signal           }
55    SIGTTIN    =26;     { Background read from TTY          }
56    SIGTTOU    =27;     { Background write to TTY           }
57    SIGBUS     =10;     { Access to undefined memory        }
58    { --------------- QNX specific signals ---------------  }
59    SIGTRAP    = 5;     { trace trap (not reset when caught) }
60    SIGIOT     = 6;     { IOT instruction                    }
61    SIGEMT     = 7;     { EMT instruction                    }
62    SIGDEADLK  = 7; { Mutex deadlock                     }
63    SIGSYS     =12;     { bad argument to system call        }
64    SIGCLD     =SIGCHLD;
65    SIGPWR     =19;     { power-fail restart                 }
66    SIGWINCH   =20;     { window change                      }
67    SIGURG     =21;     { urgent condition on I/O channel    }
68    SIGPOLL    =22;     { System V name for SIGIO            }
69    SIGIO      =SIGPOLL;
70    SIGVTALRM  =28;     { virtual timer expired              }
71    SIGPROF    =29;     { profileing timer expired           }
72    SIGXCPU    =30;     { exceded cpu limit                  }
73    SIGXFSZ    =31;     { exceded file size limit            }
74
75
76{
77  $Log: signal.inc,v $
78  Revision 1.1.2.1  2001/12/20 02:55:01  carl
79  + QNX versions (still untested)
80
81}