aboutsummaryrefslogtreecommitdiff
path: root/src/libcap.lisp
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-11-03 14:32:39 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-11-04 12:19:00 -0700
commit9d857f62af05ff2f9a4ec22f1cfacecf071b668a (patch)
treed405328773cdc2336089d1ef15d53a68933c1ee3 /src/libcap.lisp
parent2c9bf3e94369e6576ea576eaa82970a8128a59f5 (diff)
downloadconsfigurator-9d857f62af05ff2f9a4ec22f1cfacecf071b668a.tar.gz
add CAPABILITY-P and grovel for some Linux capability constants
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/libcap.lisp')
-rw-r--r--src/libcap.lisp57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/libcap.lisp b/src/libcap.lisp
new file mode 100644
index 0000000..96f850e
--- /dev/null
+++ b/src/libcap.lisp
@@ -0,0 +1,57 @@
+(in-package :consfigurator.util.posix1e)
+
+(include "sys/capability.h")
+
+(ctype cap_t "cap_t")
+(ctype cap_value_t "cap_value_t")
+
+(cenum cap_flag_t
+ ((:cap-effective "CAP_EFFECTIVE"))
+ ((:cap-permitted "CAP_PERMITTED"))
+ ((:cap-inheritable "CAP_INHERITABLE")))
+(cenum cap_flag_value_t ((:cap-set "CAP_SET")) ((:cap-clear "CAP_CLEAR")))
+
+(constant (+CAP-CHOWN+ "CAP_CHOWN"))
+(constant (+CAP-DAC-OVERRIDE+ "CAP_DAC_OVERRIDE"))
+(constant (+CAP-DAC-READ-SEARCH+ "CAP_DAC_READ_SEARCH"))
+(constant (+CAP-FOWNER+ "CAP_FOWNER"))
+(constant (+CAP-FSETID+ "CAP_FSETID"))
+(constant (+CAP-KILL+ "CAP_KILL"))
+(constant (+CAP-SETGID+ "CAP_SETGID"))
+(constant (+CAP-SETUID+ "CAP_SETUID"))
+
+#+linux
+(progn
+ (constant (+CAP-SETPCAP+ "CAP_SETPCAP"))
+ (constant (+CAP-LINUX-IMMUTABLE+ "CAP_LINUX_IMMUTABLE"))
+ (constant (+CAP-NET-BIND-SERVICE+ "CAP_NET_BIND_SERVICE"))
+ (constant (+CAP-NET-BROADCAST+ "CAP_NET_BROADCAST"))
+ (constant (+CAP-NET-ADMIN+ "CAP_NET_ADMIN"))
+ (constant (+CAP-NET-RAW+ "CAP_NET_RAW"))
+ (constant (+CAP-IPC-LOCK+ "CAP_IPC_LOCK"))
+ (constant (+CAP-IPC-OWNER+ "CAP_IPC_OWNER"))
+ (constant (+CAP-SYS-MODULE+ "CAP_SYS_MODULE"))
+ (constant (+CAP-SYS-RAWIO+ "CAP_SYS_RAWIO"))
+ (constant (+CAP-SYS-CHROOT+ "CAP_SYS_CHROOT"))
+ (constant (+CAP-SYS-PTRACE+ "CAP_SYS_PTRACE"))
+ (constant (+CAP-SYS-PACCT+ "CAP_SYS_PACCT"))
+ (constant (+CAP-SYS-ADMIN+ "CAP_SYS_ADMIN"))
+ (constant (+CAP-SYS-BOOT+ "CAP_SYS_BOOT"))
+ (constant (+CAP-SYS-NICE+ "CAP_SYS_NICE"))
+ (constant (+CAP-SYS-RESOURCE+ "CAP_SYS_RESOURCE"))
+ (constant (+CAP-SYS-TIME+ "CAP_SYS_TIME"))
+ (constant (+CAP-SYS-TTY-CONFIG+ "CAP_SYS_TTY_CONFIG"))
+ (constant (+CAP-MKNOD+ "CAP_MKNOD"))
+ (constant (+CAP-LEASE+ "CAP_LEASE"))
+ (constant (+CAP-AUDIT-WRITE+ "CAP_AUDIT_WRITE"))
+ (constant (+CAP-AUDIT-CONTROL+ "CAP_AUDIT_CONTROL"))
+ (constant (+CAP-SETFCAP+ "CAP_SETFCAP"))
+ (constant (+CAP-MAC-OVERRIDE+ "CAP_MAC_OVERRIDE"))
+ (constant (+CAP-MAC-ADMIN+ "CAP_MAC_ADMIN"))
+ (constant (+CAP-SYSLOG+ "CAP_SYSLOG"))
+ (constant (+CAP-WAKE-ALARM+ "CAP_WAKE_ALARM"))
+ (constant (+CAP-BLOCK-SUSPEND+ "CAP_BLOCK_SUSPEND"))
+ (constant (+CAP-AUDIT-READ+ "CAP_AUDIT_READ"))
+ (constant (+CAP-PERFMON+ "CAP_PERFMON"))
+ (constant (+CAP-BPF+ "CAP_BPF"))
+ (constant (+CAP-CHECKPOINT-RESTORE+ "CAP_CHECKPOINT_RESTORE")))