summaryrefslogtreecommitdiff
path: root/src/sys/reboot.rs
diff options
context:
space:
mode:
authorWolfgang Ginolas <wolfgang.ginolas@gwif.eu>2017-11-05 19:43:16 +0100
committerWolfgang Ginolas <wolfgang.ginolas@gwif.eu>2017-11-05 21:23:21 +0100
commit718bd9d75ec948afe211b4b49935044ab2004822 (patch)
tree52086f14aa3b202a98d46fb766f615c07544c8ec /src/sys/reboot.rs
parentba9ee75ec0333f66d25b09d5c18bbaefac23714f (diff)
downloadnix-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.rs27
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> {