diff options
author | WaLyong Cho <walyong.cho@samsung.com> | 2015-07-28 02:43:55 +0900 |
---|---|---|
committer | Sven Eden <yamakuzure@gmx.net> | 2017-03-14 10:18:46 +0100 |
commit | 85e24486d87c04c1825acc2735b11d4a9f4a9fe9 (patch) | |
tree | f6ab3e46ace76178e178cf4baf7939e1751955ee /src/basic/smack-util.h | |
parent | 5db0e7adf018c82dd63cd21d31dd313dff5561af (diff) |
smack-util: revise smack-util apis and add read smack attr apis
- Add smack xattr lookup table
- Unify all of mac_smack_apply_xxx{_fd}() to mac_smack_apply() and
mac_smack_apply_fd().
- Add smack xattr read apis similar with apply apis as
mac_smack_read{_fd}().
Diffstat (limited to 'src/basic/smack-util.h')
-rw-r--r-- | src/basic/smack-util.h | 26 |
1 files changed, 21 insertions, 5 deletions
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 <stdbool.h> +#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); |