1------------------------------------------------------------------------------
2--                                                                          --
3--                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
4--                                                                          --
5--                   A D A . I N T E R R U P T S . N A M E S                --
6--                                                                          --
7--                                  S p e c                                 --
8--                                                                          --
9--          Copyright (C) 1991-2020, Free Software Foundation, Inc.         --
10--                                                                          --
11-- GNARL is free software; you can  redistribute it  and/or modify it under --
12-- terms of the  GNU General Public License as published  by the Free Soft- --
13-- ware  Foundation;  either version 3,  or (at your option) any later ver- --
14-- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
15-- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
16-- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
17--                                                                          --
18-- As a special exception under Section 7 of GPL version 3, you are granted --
19-- additional permissions described in the GCC Runtime Library Exception,   --
20-- version 3.1, as published by the Free Software Foundation.               --
21--                                                                          --
22-- You should have received a copy of the GNU General Public License and    --
23-- a copy of the GCC Runtime Library Exception along with this program;     --
24-- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
25-- <http://www.gnu.org/licenses/>.                                          --
26--                                                                          --
27-- GNARL was developed by the GNARL team at Florida State University.       --
28-- Extensive contributions were provided by Ada Core Technologies, Inc.     --
29--                                                                          --
30------------------------------------------------------------------------------
31
32--  This is a Solaris version of this package
33
34--  The following signals are reserved by the run time (native threads):
35
36--  SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGTRAP, SIGABRT, SIGINT,
37--  SIGLWP, SIGWAITING, SIGCANCEL, SIGSTOP, SIGKILL
38
39--  The following signals are reserved by the run time (FSU threads):
40
41--  SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGTRAP, SIGTERM, SIGABRT, SIGINT,
42--  SIGLWP, SIGALRM, SIGVTALRM, SIGWAITING, SIGSTOP, SIGKILL
43
44--  The pragma Unreserve_All_Interrupts affects the following signal(s):
45
46--  SIGINT: made available for Ada handlers
47
48with System.OS_Interface;
49
50package Ada.Interrupts.Names is
51
52   --  All identifiers in this unit are implementation defined
53
54   pragma Implementation_Defined;
55
56   --  Beware that the mapping of names to signals may be many-to-one. There
57   --  may be aliases. Also, for all signal names that are not supported on the
58   --  current system the value of the corresponding constant will be zero.
59
60   SIGHUP : constant Interrupt_ID :=
61     System.OS_Interface.SIGHUP;      --  hangup
62
63   SIGINT : constant Interrupt_ID :=
64     System.OS_Interface.SIGINT;      --  interrupt (rubout)
65
66   SIGQUIT : constant Interrupt_ID :=
67     System.OS_Interface.SIGQUIT;     --  quit (ASCD FS)
68
69   SIGILL : constant Interrupt_ID :=
70     System.OS_Interface.SIGILL;      --  illegal instruction (not reset)
71
72   SIGTRAP : constant Interrupt_ID :=
73     System.OS_Interface.SIGTRAP;     --  trace trap (not reset)
74
75   SIGIOT : constant Interrupt_ID :=
76     System.OS_Interface.SIGIOT;      --  IOT instruction
77
78   SIGABRT : constant Interrupt_ID := --  used by abort,
79     System.OS_Interface.SIGABRT;     --  replace SIGIOT in the  future
80
81   SIGEMT : constant Interrupt_ID :=
82     System.OS_Interface.SIGEMT;      --  EMT instruction
83
84   SIGFPE : constant Interrupt_ID :=
85     System.OS_Interface.SIGFPE;      --  floating point exception
86
87   SIGKILL : constant Interrupt_ID :=
88     System.OS_Interface.SIGKILL;     --  kill (cannot be caught or ignored)
89
90   SIGBUS : constant Interrupt_ID :=
91     System.OS_Interface.SIGBUS;      --  bus error
92
93   SIGSEGV : constant Interrupt_ID :=
94     System.OS_Interface.SIGSEGV;     --  segmentation violation
95
96   SIGSYS : constant Interrupt_ID :=
97     System.OS_Interface.SIGSYS;      --  bad argument to system call
98
99   SIGPIPE : constant Interrupt_ID := --  write on a pipe with
100     System.OS_Interface.SIGPIPE;     --  no one to read it
101
102   SIGALRM : constant Interrupt_ID :=
103     System.OS_Interface.SIGALRM;     --  alarm clock
104
105   SIGTERM : constant Interrupt_ID :=
106     System.OS_Interface.SIGTERM;     --  software termination signal from kill
107
108   SIGUSR1 : constant Interrupt_ID :=
109     System.OS_Interface.SIGUSR1;     --  user defined signal 1
110
111   SIGUSR2 : constant Interrupt_ID :=
112     System.OS_Interface.SIGUSR2;     --  user defined signal 2
113
114   SIGCLD : constant Interrupt_ID :=
115     System.OS_Interface.SIGCLD;      --  child status change
116
117   SIGCHLD : constant Interrupt_ID :=
118     System.OS_Interface.SIGCHLD;     --  4.3BSD's/POSIX name for SIGCLD
119
120   SIGWINCH : constant Interrupt_ID :=
121     System.OS_Interface.SIGWINCH;    --  window size change
122
123   SIGURG : constant Interrupt_ID :=
124     System.OS_Interface.SIGURG;      --  urgent condition on IO channel
125
126   SIGPOLL : constant Interrupt_ID :=
127     System.OS_Interface.SIGPOLL;     --  pollable event occurred
128
129   SIGIO : constant Interrupt_ID :=   --  input/output possible,
130     System.OS_Interface.SIGIO;       --  SIGPOLL alias (Solaris)
131
132   SIGSTOP : constant Interrupt_ID :=
133     System.OS_Interface.SIGSTOP;     --  stop (cannot be caught or ignored)
134
135   SIGTSTP : constant Interrupt_ID :=
136     System.OS_Interface.SIGTSTP;     --  user stop requested from tty
137
138   SIGCONT : constant Interrupt_ID :=
139     System.OS_Interface.SIGCONT;     --  stopped process has been continued
140
141   SIGTTIN : constant Interrupt_ID :=
142     System.OS_Interface.SIGTTIN;     --  background tty read attempted
143
144   SIGTTOU : constant Interrupt_ID :=
145     System.OS_Interface.SIGTTOU;     --  background tty write attempted
146
147   SIGVTALRM : constant Interrupt_ID :=
148     System.OS_Interface.SIGVTALRM;   --  virtual timer expired
149
150   SIGPROF : constant Interrupt_ID :=
151     System.OS_Interface.SIGPROF;     --  profiling timer expired
152
153   SIGXCPU : constant Interrupt_ID :=
154     System.OS_Interface.SIGXCPU;     --  CPU time limit exceeded
155
156   SIGXFSZ : constant Interrupt_ID :=
157     System.OS_Interface.SIGXFSZ;     --  filesize limit exceeded
158
159   SIGPWR : constant Interrupt_ID :=
160     System.OS_Interface.SIGPWR;      --  power-fail restart
161
162   SIGWAITING : constant Interrupt_ID :=
163     System.OS_Interface.SIGWAITING;  --  process's lwps blocked (Solaris)
164
165   SIGLWP : constant Interrupt_ID :=
166     System.OS_Interface.SIGLWP;      --  used by thread library (Solaris)
167
168   SIGFREEZE : constant Interrupt_ID :=
169     System.OS_Interface.SIGFREEZE;   --  used by CPR (Solaris)
170
171--  what is CPR????
172
173   SIGTHAW : constant Interrupt_ID :=
174     System.OS_Interface.SIGTHAW;     --  used by CPR (Solaris)
175
176   SIGCANCEL : constant Interrupt_ID :=
177     System.OS_Interface.SIGCANCEL;     --  used for thread cancel (Solaris)
178
179end Ada.Interrupts.Names;
180