diff options
author | Wolfgang Ginolas <wolfgang.ginolas@gwif.eu> | 2017-11-05 19:43:16 +0100 |
---|---|---|
committer | Wolfgang Ginolas <wolfgang.ginolas@gwif.eu> | 2017-11-05 21:23:21 +0100 |
commit | 718bd9d75ec948afe211b4b49935044ab2004822 (patch) | |
tree | 52086f14aa3b202a98d46fb766f615c07544c8ec /src/sys/reboot.rs | |
parent | ba9ee75ec0333f66d25b09d5c18bbaefac23714f (diff) | |
download | nix-718bd9d75ec948afe211b4b49935044ab2004822.zip |
Use libc_enum! where possible
Some enums which use different names for values than libc still set the
discriminators manually.
closes #254
Diffstat (limited to 'src/sys/reboot.rs')
-rw-r--r-- | src/sys/reboot.rs | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/src/sys/reboot.rs b/src/sys/reboot.rs index 94f30f62..5b340e32 100644 --- a/src/sys/reboot.rs +++ b/src/sys/reboot.rs @@ -5,19 +5,20 @@ use libc; use void::Void; use std::mem::drop; -/// How exactly should the system be rebooted. -/// -/// See [`set_cad_enabled()`](fn.set_cad_enabled.html) for -/// enabling/disabling Ctrl-Alt-Delete. -#[repr(i32)] -#[derive(Clone, Copy, Debug, Eq, PartialEq)] -pub enum RebootMode { - RB_HALT_SYSTEM = libc::RB_HALT_SYSTEM, - RB_KEXEC = libc::RB_KEXEC, - RB_POWER_OFF = libc::RB_POWER_OFF, - RB_AUTOBOOT = libc::RB_AUTOBOOT, - // we do not support Restart2, - RB_SW_SUSPEND = libc::RB_SW_SUSPEND, +libc_enum! { + /// How exactly should the system be rebooted. + /// + /// See [`set_cad_enabled()`](fn.set_cad_enabled.html) for + /// enabling/disabling Ctrl-Alt-Delete. + #[repr(i32)] + pub enum RebootMode { + RB_HALT_SYSTEM, + RB_KEXEC, + RB_POWER_OFF, + RB_AUTOBOOT, + // we do not support Restart2, + RB_SW_SUSPEND, + } } pub fn reboot(how: RebootMode) -> Result<Void> { |