use abistr::CStrNonNull;
use crate::*;
#[derive(Clone, Copy, Debug)] #[repr(transparent)] pub struct Name(CStrNonNull<'static>);
impl Name {
pub fn luid(self) -> privilege::Luid {
privilege::lookup_privilege_value_a(self.0).unwrap()
}
}
impl From<Name> for privilege::Luid { fn from(n: Name) -> Self { n.luid() } }
pub mod name {
use super::*;
macro_rules! name { ( $name:tt ) => { Name(abistr::cstr!($name)) } }
pub const CREATE_TOKEN : Name = name!("SeCreateTokenPrivilege");
pub const ASSIGNPRIMARYTOKEN : Name = name!("SeAssignPrimaryTokenPrivilege");
pub const LOCK_MEMORY : Name = name!("SeLockMemoryPrivilege");
pub const INCREASE_QUOTA : Name = name!("SeIncreaseQuotaPrivilege");
pub const UNSOLICITED_INPUT : Name = name!("SeUnsolicitedInputPrivilege");
pub const MACHINE_ACCOUNT : Name = name!("SeMachineAccountPrivilege");
pub const TCB : Name = name!("SeTcbPrivilege");
pub const SECURITY : Name = name!("SeSecurityPrivilege");
pub const TAKE_OWNERSHIP : Name = name!("SeTakeOwnershipPrivilege");
pub const LOAD_DRIVER : Name = name!("SeLoadDriverPrivilege");
pub const SYSTEM_PROFILE : Name = name!("SeSystemProfilePrivilege");
pub const SYSTEMTIME : Name = name!("SeSystemtimePrivilege");
pub const PROF_SINGLE_PROCESS : Name = name!("SeProfileSingleProcessPrivilege");
pub const INC_BASE_PRIORITY : Name = name!("SeIncreaseBasePriorityPrivilege");
pub const CREATE_PAGEFILE : Name = name!("SeCreatePagefilePrivilege");
pub const CREATE_PERMANENT : Name = name!("SeCreatePermanentPrivilege");
pub const BACKUP : Name = name!("SeBackupPrivilege");
pub const RESTORE : Name = name!("SeRestorePrivilege");
pub const SHUTDOWN : Name = name!("SeShutdownPrivilege");
pub const DEBUG : Name = name!("SeDebugPrivilege");
pub const AUDIT : Name = name!("SeAuditPrivilege");
pub const SYSTEM_ENVIRONMENT : Name = name!("SeSystemEnvironmentPrivilege");
pub const CHANGE_NOTIFY : Name = name!("SeChangeNotifyPrivilege");
pub const REMOTE_SHUTDOWN : Name = name!("SeRemoteShutdownPrivilege");
pub const UNDOCK : Name = name!("SeUndockPrivilege");
pub const SYNC_AGENT : Name = name!("SeSyncAgentPrivilege");
pub const ENABLE_DELEGATION : Name = name!("SeEnableDelegationPrivilege");
pub const MANAGE_VOLUME : Name = name!("SeManageVolumePrivilege");
pub const IMPERSONATE : Name = name!("SeImpersonatePrivilege");
pub const CREATE_GLOBAL : Name = name!("SeCreateGlobalPrivilege");
pub const TRUSTED_CREDMAN_ACCESS : Name = name!("SeTrustedCredManAccessPrivilege");
pub const RELABEL : Name = name!("SeRelabelPrivilege");
pub const INC_WORKING_SET : Name = name!("SeIncreaseWorkingSetPrivilege");
pub const TIME_ZONE : Name = name!("SeTimeZonePrivilege");
pub const CREATE_SYMBOLIC_LINK : Name = name!("SeCreateSymbolicLinkPrivilege");
pub const DELEGATE_SESSION_USER_IMPERSONATE : Name = name!("SeDelegateSessionUserImpersonatePrivilege");
}
#[cfg(nope)] pub mod capability { }