#! [allow(non_camel_case_types)]
#! [allow(non_upper_case_globals)]
use num_derive::FromPrimitive;
/// Values for
/// [`MINIDUMP_EXCEPTION::exception_code`](crate::format::MINIDUMP_EXCEPTION::exception_code)
/// for crashes on Linux.
///
/// These are primarily signal numbers from bits/signum.h.
#[ repr(u32)]
#[ derive(Copy, Clone, PartialEq, Eq, Debug, FromPrimitive)]
pub enum ExceptionCodeLinux {
/// Hangup (POSIX)
SIGHUP = 0 x1u32,
/// Interrupt (ANSI)
SIGINT = 0 x2,
/// Quit (POSIX)
SIGQUIT = 0 x3,
/// Illegal instruction (ANSI)
SIGILL = 0 x4,
/// Trace trap (POSIX)
SIGTRAP = 0 x5,
/// Abort (ANSI)
SIGABRT = 0 x6,
/// BUS error (4.2 BSD)
SIGBUS = 0 x7,
/// Floating-point exception (ANSI)
SIGFPE = 0 x8,
/// Kill, unblockable (POSIX)
SIGKILL = 0 x9,
/// User-defined signal 1 (POSIX)
SIGUSR1 = 0 xa,
/// Segmentation violation (ANSI)
SIGSEGV = 0 xb,
/// User-defined signal 2 (POSIX)
SIGUSR2 = 0 xc,
/// Broken pipe (POSIX)
SIGPIPE = 0 xd,
/// Alarm clock (POSIX)
SIGALRM = 0 xe,
/// Termination (ANSI)
SIGTERM = 0 xf,
/// Stack fault
SIGSTKFLT = 0 x10,
/// Child status has changed (POSIX)
SIGCHLD = 0 x11,
/// Continue (POSIX)
SIGCONT = 0 x12,
/// Stop, unblockable (POSIX)
SIGSTOP = 0 x13,
/// Keyboard stop (POSIX)
SIGTSTP = 0 x14,
/// Background read from tty (POSIX)
SIGTTIN = 0 x15,
/// Background write to tty (POSIX)
SIGTTOU = 0 x16,
/// Urgent condition on socket (4.2 BSD)
SIGURG = 0 x17,
/// CPU limit exceeded (4.2 BSD)
SIGXCPU = 0 x18,
/// File size limit exceeded (4.2 BSD)
SIGXFSZ = 0 x19,
/// Virtual alarm clock (4.2 BSD)
SIGVTALRM = 0 x1a,
/// Profiling alarm clock (4.2 BSD)
SIGPROF = 0 x1b,
/// Window size change (4.3 BSD, Sun)
SIGWINCH = 0 x1c,
/// I/O now possible (4.2 BSD)
SIGIO = 0 x1d,
/// Power failure restart (System V)
SIGPWR = 0 x1e,
/// Bad system call
SIGSYS = 0 x1f,
/// No exception, dump requested
DUMP_REQUESTED = 0 xffffffff,
}
// These values come from asm-generic/siginfo.h
#[ derive(Copy, Clone, PartialEq, Eq, Debug, FromPrimitive)]
#[ repr(i32)]
pub enum ExceptionCodeLinuxSicode {
SI_USER = 0 ,
SI_KERNEL = 0 x80,
SI_QUEUE = -1 i32,
SI_TIMER = -2 i32,
SI_MESGQ = -3 i32,
SI_ASYNCIO = -4 i32,
SI_SIGIO = -5 i32,
SI_TKILL = -6 i32,
SI_DETHREAD = -7 i32,
SI_ASYNCNL = -60 i32,
}
#[ derive(Copy, Clone, PartialEq, Eq, Debug, FromPrimitive)]
pub enum ExceptionCodeLinuxSigillKind {
ILL_ILLOPC = 1 ,
ILL_ILLOPN = 2 ,
ILL_ILLADR = 3 ,
ILL_ILLTRP = 4 ,
ILL_PRVOPC = 5 ,
ILL_PRVREG = 6 ,
ILL_COPROC = 7 ,
ILL_BADSTK = 8 ,
ILL_BADIADDR = 9 ,
}
#[ derive(Copy, Clone, PartialEq, Eq, Debug, FromPrimitive)]
pub enum ExceptionCodeLinuxSigtrapKind {
TRAP_BRKPT = 1 ,
TRAP_TRACE = 2 ,
TRAP_BRANCH = 3 ,
TRAP_HWBKPT = 4 ,
TRAP_UNK = 5 ,
TRAP_PERF = 6 ,
}
#[ derive(Copy, Clone, PartialEq, Eq, Debug, FromPrimitive)]
pub enum ExceptionCodeLinuxSigfpeKind {
FPE_INTDIV = 1 ,
FPE_INTOVF = 2 ,
FPE_FLTDIV = 3 ,
FPE_FLTOVF = 4 ,
FPE_FLTUND = 5 ,
FPE_FLTRES = 6 ,
FPE_FLTINV = 7 ,
FPE_FLTSUB = 8 ,
}
#[ derive(Copy, Clone, PartialEq, Eq, Debug, FromPrimitive)]
pub enum ExceptionCodeLinuxSigsegvKind {
SEGV_MAPERR = 1 ,
SEGV_ACCERR = 2 ,
SEGV_BNDERR = 3 ,
SEGV_PKUERR = 4 ,
}
#[ derive(Copy, Clone, PartialEq, Eq, Debug, FromPrimitive)]
pub enum ExceptionCodeLinuxSigbusKind {
BUS_ADRALN = 1 ,
BUS_ADRERR = 2 ,
BUS_OBJERR = 3 ,
BUS_MCEERR_AR = 4 ,
BUS_MCEERR_AO = 5 ,
}
#[ derive(Copy, Clone, PartialEq, Eq, Debug, FromPrimitive)]
pub enum ExceptionCodeLinuxSigsysKind {
SYS_SECCOMP = 1 ,
SYS_USER_DISPATCH = 2 ,
}
Messung V0.5 in Prozent C=75 H=100 G=88
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-08-22)
¤
*© Formatika GbR, Deutschland