is_admin/lib.rs
1#[cfg(windows)]
2#[link(name = "shell32")]
3unsafe extern "system" {
4 fn IsUserAnAdmin() -> bool;
5}
6
7#[cfg(windows)]
8pub fn is_admin() -> bool {
9 unsafe { IsUserAnAdmin() }
10}
11
12#[cfg(unix)]
13pub fn is_admin() -> bool {
14 use libc::{geteuid, getuid};
15 unsafe { getuid() == 0 || geteuid() == 0 }
16}