#[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub enum ParsedSignal
{
Kill
{
signal: Signal,
process_identifier: ProcessIdentifier,
user_identifier: UserIdentifier,
},
Fault
{
address: VirtualAddress,
#[cfg(any(target_arch = "mips64", target_arch = "sparc64"))] trap_number: u32,
#[cfg(any(target_arch = "aarch64", target_arch = "powerpc64"))] trap_number: i32,
fault_code: FaultCode
},
FaultMachineCheck
{
address: VirtualAddress,
#[cfg(any(target_arch = "mips64", target_arch = "sparc64"))] trap_number: u32,
#[cfg(any(target_arch = "aarch64", target_arch = "powerpc64"))] trap_number: i32,
hardware_error_machine_check_bus_code: HardwareErrorMachineCheckBusCode,
address_least_significant_bit: u16,
},
Child
{
process_identifier: ProcessIdentifier,
user_identifier: UserIdentifier,
status: ChildStatus,
user_cpu_time_consumed_in_clock_ticks: ClockTicks,
system_cpu_time_consumed_in_clock_ticks: ClockTicks,
child_code: ChildCode,
},
SeccompSystemCall
{
seccomp_ret_data: i32,
system_call_number: UnconstrainedSystemCallNumber,
address: VirtualAddress,
audit_architecture: Option<AuditArchitecture>,
system_call_code: SystemCallCode,
},
Poll
{
signal: Signal,
band_event: u32,
file_descriptor: RawFd,
poll_code: PollCode,
},
UserspacePoll
{
signal: Result<Signal, OutOfRangeSignalNumberError>,
error_number: i32,
band_event: u32,
file_descriptor: RawFd,
},
UserspaceTimer
{
signal: Result<Signal, OutOfRangeSignalNumberError>,
error_number: i32,
timer_identifier: u32,
overrun_count: u32,
pointer: VirtualAddress,
int: i32,
},
UserspaceRealTime
{
signal: Result<Signal, OutOfRangeSignalNumberError>,
error_number: i32,
process_identifier: Result<ProcessIdentifier, ParseNumberError>,
user_identifier: UserIdentifier,
pointer: VirtualAddress,
int: i32,
userspace_signal_code: UserspaceSignalCode,
},
}