pub const CAP = struct 6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975pub const CAP = struct {
pub const CHOWN = 0;
pub const DAC_OVERRIDE = 1;
pub const DAC_READ_SEARCH = 2;
pub const FOWNER = 3;
pub const FSETID = 4;
pub const KILL = 5;
pub const SETGID = 6;
pub const SETUID = 7;
pub const SETPCAP = 8;
pub const LINUX_IMMUTABLE = 9;
pub const NET_BIND_SERVICE = 10;
pub const NET_BROADCAST = 11;
pub const NET_ADMIN = 12;
pub const NET_RAW = 13;
pub const IPC_LOCK = 14;
pub const IPC_OWNER = 15;
pub const SYS_MODULE = 16;
pub const SYS_RAWIO = 17;
pub const SYS_CHROOT = 18;
pub const SYS_PTRACE = 19;
pub const SYS_PACCT = 20;
pub const SYS_ADMIN = 21;
pub const SYS_BOOT = 22;
pub const SYS_NICE = 23;
pub const SYS_RESOURCE = 24;
pub const SYS_TIME = 25;
pub const SYS_TTY_CONFIG = 26;
pub const MKNOD = 27;
pub const LEASE = 28;
pub const AUDIT_WRITE = 29;
pub const AUDIT_CONTROL = 30;
pub const SETFCAP = 31;
pub const MAC_OVERRIDE = 32;
pub const MAC_ADMIN = 33;
pub const SYSLOG = 34;
pub const WAKE_ALARM = 35;
pub const BLOCK_SUSPEND = 36;
pub const AUDIT_READ = 37;
pub const PERFMON = 38;
pub const BPF = 39;
pub const CHECKPOINT_RESTORE = 40;
pub const LAST_CAP = CHECKPOINT_RESTORE;
pub fn valid(x: u8) bool {
return x >= 0 and x <= LAST_CAP;
}
pub fn TO_MASK(cap: u8) u32 {
return @as(u32, 1) << @as(u5, @intCast(cap & 31));
}
pub fn TO_INDEX(cap: u8) u8 {
return cap >> 5;
}
}