X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fbasic%2Fsmack-util.h;h=1052cecf4c9295a518f01eda80d604c91652f9b9;hp=6472f86661e9a9b17f28d47928df424dcfe91170;hb=c91b060008f145236e99826488f7e10c7f7971b7;hpb=5db0e7adf018c82dd63cd21d31dd313dff5561af diff --git a/src/basic/smack-util.h b/src/basic/smack-util.h index 6472f8666..1052cecf4 100644 --- a/src/basic/smack-util.h +++ b/src/basic/smack-util.h @@ -25,12 +25,28 @@ #include +#include "macro.h" + +typedef enum SmackAttr { + SMACK_ATTR_ACCESS = 0, + SMACK_ATTR_EXEC = 1, + SMACK_ATTR_MMAP = 2, + SMACK_ATTR_TRANSMUTE = 3, + SMACK_ATTR_IPIN = 4, + SMACK_ATTR_IPOUT = 5, + _SMACK_ATTR_MAX, + _SMACK_ATTR_INVALID = -1, +} SmackAttr; + bool mac_smack_use(void); int mac_smack_fix(const char *path, bool ignore_enoent, bool ignore_erofs); -int mac_smack_apply(const char *path, const char *label); -// UNNEEDED int mac_smack_apply_fd(int fd, const char *label); -// UNNEEDED int mac_smack_apply_pid(pid_t pid, const char *label); -// UNNEEDED int mac_smack_apply_ip_in_fd(int fd, const char *label); -// UNNEEDED int mac_smack_apply_ip_out_fd(int fd, const char *label); +const char* smack_attr_to_string(SmackAttr i) _const_; +SmackAttr smack_attr_from_string(const char *s) _pure_; +int mac_smack_read(const char *path, SmackAttr attr, char **label); +int mac_smack_read_fd(int fd, SmackAttr attr, char **label); +int mac_smack_apply(const char *path, SmackAttr attr, const char *label); +int mac_smack_apply_fd(int fd, SmackAttr attr, const char *label); + +int mac_smack_apply_pid(pid_t pid, const char *label);