ctrlc/
signal.rs

1// Copyright (c) 2017 CtrlC developers
2// Licensed under the Apache License, Version 2.0
3// <LICENSE-APACHE or
4// http://www.apache.org/licenses/LICENSE-2.0> or the MIT
5// license <LICENSE-MIT or http://opensource.org/licenses/MIT>,
6// at your option. All files in the project carrying such
7// notice may not be copied, modified, or distributed except
8// according to those terms.
9
10use crate::platform;
11
12/// A cross-platform way to represent Ctrl-C or program termination signal. Other
13/// signals/events are supported via `Other`-variant.
14#[derive(Debug)]
15pub enum SignalType {
16    /// Ctrl-C
17    Ctrlc,
18    /// Program termination
19    /// Maps to `SIGTERM` and `SIGHUP` on *nix, `CTRL_CLOSE_EVENT` on Windows.
20    Termination,
21    /// Other signal/event using platform-specific data
22    Other(platform::Signal),
23}