cpp-d1064d
[cross.git] / i686-linux-gnu-4.7 / usr / include / x86_64-linux-gnu / bits / siginfo-consts.h
1 /* siginfo constants.  Linux version.
2    Copyright (C) 1997-2018 Free Software Foundation, Inc.
3    This file is part of the GNU C Library.
4
5    The GNU C Library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Lesser General Public
7    License as published by the Free Software Foundation; either
8    version 2.1 of the License, or (at your option) any later version.
9
10    The GNU C Library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Lesser General Public License for more details.
14
15    You should have received a copy of the GNU Lesser General Public
16    License along with the GNU C Library; if not, see
17    <http://www.gnu.org/licenses/>.  */
18
19 #ifndef _BITS_SIGINFO_CONSTS_H
20 #define _BITS_SIGINFO_CONSTS_H 1
21
22 #ifndef _SIGNAL_H
23 #error "Don't include <bits/siginfo-consts.h> directly; use <signal.h> instead."
24 #endif
25
26 /* Most of these constants are uniform across all architectures, but there
27    is one exception.  */
28 #include <bits/siginfo-arch.h>
29 #ifndef __SI_ASYNCIO_AFTER_SIGIO
30 # define __SI_ASYNCIO_AFTER_SIGIO 1
31 #endif
32
33 /* Values for `si_code'.  Positive values are reserved for kernel-generated
34    signals.  */
35 enum
36 {
37   SI_ASYNCNL = -60,             /* Sent by asynch name lookup completion.  */
38   SI_TKILL = -6,                /* Sent by tkill.  */
39   SI_SIGIO,                     /* Sent by queued SIGIO. */
40 #if __SI_ASYNCIO_AFTER_SIGIO
41   SI_ASYNCIO,                   /* Sent by AIO completion.  */
42   SI_MESGQ,                     /* Sent by real time mesq state change.  */
43   SI_TIMER,                     /* Sent by timer expiration.  */
44 #else
45   SI_MESGQ,
46   SI_TIMER,
47   SI_ASYNCIO,
48 #endif
49   SI_QUEUE,                     /* Sent by sigqueue.  */
50   SI_USER,                      /* Sent by kill, sigsend.  */
51   SI_KERNEL = 0x80              /* Send by kernel.  */
52
53 #define SI_ASYNCNL      SI_ASYNCNL
54 #define SI_TKILL        SI_TKILL
55 #define SI_SIGIO        SI_SIGIO
56 #define SI_ASYNCIO      SI_ASYNCIO
57 #define SI_MESGQ        SI_MESGQ
58 #define SI_TIMER        SI_TIMER
59 #define SI_ASYNCIO      SI_ASYNCIO
60 #define SI_QUEUE        SI_QUEUE
61 #define SI_USER         SI_USER
62 #define SI_KERNEL       SI_KERNEL
63 };
64
65
66 # if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
67 /* `si_code' values for SIGILL signal.  */
68 enum
69 {
70   ILL_ILLOPC = 1,               /* Illegal opcode.  */
71 #  define ILL_ILLOPC    ILL_ILLOPC
72   ILL_ILLOPN,                   /* Illegal operand.  */
73 #  define ILL_ILLOPN    ILL_ILLOPN
74   ILL_ILLADR,                   /* Illegal addressing mode.  */
75 #  define ILL_ILLADR    ILL_ILLADR
76   ILL_ILLTRP,                   /* Illegal trap. */
77 #  define ILL_ILLTRP    ILL_ILLTRP
78   ILL_PRVOPC,                   /* Privileged opcode.  */
79 #  define ILL_PRVOPC    ILL_PRVOPC
80   ILL_PRVREG,                   /* Privileged register.  */
81 #  define ILL_PRVREG    ILL_PRVREG
82   ILL_COPROC,                   /* Coprocessor error.  */
83 #  define ILL_COPROC    ILL_COPROC
84   ILL_BADSTK                    /* Internal stack error.  */
85 #  define ILL_BADSTK    ILL_BADSTK
86 };
87
88 /* `si_code' values for SIGFPE signal.  */
89 enum
90 {
91   FPE_INTDIV = 1,               /* Integer divide by zero.  */
92 #  define FPE_INTDIV    FPE_INTDIV
93   FPE_INTOVF,                   /* Integer overflow.  */
94 #  define FPE_INTOVF    FPE_INTOVF
95   FPE_FLTDIV,                   /* Floating point divide by zero.  */
96 #  define FPE_FLTDIV    FPE_FLTDIV
97   FPE_FLTOVF,                   /* Floating point overflow.  */
98 #  define FPE_FLTOVF    FPE_FLTOVF
99   FPE_FLTUND,                   /* Floating point underflow.  */
100 #  define FPE_FLTUND    FPE_FLTUND
101   FPE_FLTRES,                   /* Floating point inexact result.  */
102 #  define FPE_FLTRES    FPE_FLTRES
103   FPE_FLTINV,                   /* Floating point invalid operation.  */
104 #  define FPE_FLTINV    FPE_FLTINV
105   FPE_FLTSUB                    /* Subscript out of range.  */
106 #  define FPE_FLTSUB    FPE_FLTSUB
107 };
108
109 /* `si_code' values for SIGSEGV signal.  */
110 enum
111 {
112   SEGV_MAPERR = 1,              /* Address not mapped to object.  */
113 #  define SEGV_MAPERR   SEGV_MAPERR
114   SEGV_ACCERR,                  /* Invalid permissions for mapped object.  */
115 #  define SEGV_ACCERR   SEGV_ACCERR
116   SEGV_BNDERR,                  /* Bounds checking failure.  */
117 #  define SEGV_BNDERR   SEGV_BNDERR
118   SEGV_PKUERR                   /* Protection key checking failure.  */
119 #  define SEGV_PKUERR   SEGV_PKUERR
120 };
121
122 /* `si_code' values for SIGBUS signal.  */
123 enum
124 {
125   BUS_ADRALN = 1,               /* Invalid address alignment.  */
126 #  define BUS_ADRALN    BUS_ADRALN
127   BUS_ADRERR,                   /* Non-existant physical address.  */
128 #  define BUS_ADRERR    BUS_ADRERR
129   BUS_OBJERR,                   /* Object specific hardware error.  */
130 #  define BUS_OBJERR    BUS_OBJERR
131   BUS_MCEERR_AR,                /* Hardware memory error: action required.  */
132 #  define BUS_MCEERR_AR BUS_MCEERR_AR
133   BUS_MCEERR_AO                 /* Hardware memory error: action optional.  */
134 #  define BUS_MCEERR_AO BUS_MCEERR_AO
135 };
136 # endif
137
138 # ifdef __USE_XOPEN_EXTENDED
139 /* `si_code' values for SIGTRAP signal.  */
140 enum
141 {
142   TRAP_BRKPT = 1,               /* Process breakpoint.  */
143 #  define TRAP_BRKPT    TRAP_BRKPT
144   TRAP_TRACE                    /* Process trace trap.  */
145 #  define TRAP_TRACE    TRAP_TRACE
146 };
147 # endif
148
149 # if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
150 /* `si_code' values for SIGCHLD signal.  */
151 enum
152 {
153   CLD_EXITED = 1,               /* Child has exited.  */
154 #  define CLD_EXITED    CLD_EXITED
155   CLD_KILLED,                   /* Child was killed.  */
156 #  define CLD_KILLED    CLD_KILLED
157   CLD_DUMPED,                   /* Child terminated abnormally.  */
158 #  define CLD_DUMPED    CLD_DUMPED
159   CLD_TRAPPED,                  /* Traced child has trapped.  */
160 #  define CLD_TRAPPED   CLD_TRAPPED
161   CLD_STOPPED,                  /* Child has stopped.  */
162 #  define CLD_STOPPED   CLD_STOPPED
163   CLD_CONTINUED                 /* Stopped child has continued.  */
164 #  define CLD_CONTINUED CLD_CONTINUED
165 };
166
167 /* `si_code' values for SIGPOLL signal.  */
168 enum
169 {
170   POLL_IN = 1,                  /* Data input available.  */
171 #  define POLL_IN       POLL_IN
172   POLL_OUT,                     /* Output buffers available.  */
173 #  define POLL_OUT      POLL_OUT
174   POLL_MSG,                     /* Input message available.   */
175 #  define POLL_MSG      POLL_MSG
176   POLL_ERR,                     /* I/O error.  */
177 #  define POLL_ERR      POLL_ERR
178   POLL_PRI,                     /* High priority input available.  */
179 #  define POLL_PRI      POLL_PRI
180   POLL_HUP                      /* Device disconnected.  */
181 #  define POLL_HUP      POLL_HUP
182 };
183 # endif
184
185 /* Architectures might also add architecture-specific constants.
186    These are all considered GNU extensions.  */
187 #ifdef __USE_GNU
188 # include <bits/siginfo-consts-arch.h>
189 #endif
190
191 #endif