]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/basic/smack-util.h
tree-wide: beautify remaining copyright statements
[thirdparty/systemd.git] / src / basic / smack-util.h
CommitLineData
53e1b683 1/* SPDX-License-Identifier: LGPL-2.1+ */
8552b176
AK
2#pragma once
3
4/***
96b2fb93 5 Copyright © 2013 Intel Corporation
8552b176
AK
6
7 Author: Auke Kok <auke-jan.h.kok@intel.com>
8552b176
AK
8***/
9
10#include <stdbool.h>
11c3a366 11#include <sys/types.h>
8552b176 12
08c84981 13#include "label.h"
5ab58c20
WC
14#include "macro.h"
15
c02e7b1e
SW
16#define SMACK_FLOOR_LABEL "_"
17#define SMACK_STAR_LABEL "*"
18
5ab58c20 19typedef enum SmackAttr {
08c84981
LP
20 SMACK_ATTR_ACCESS,
21 SMACK_ATTR_EXEC,
22 SMACK_ATTR_MMAP,
23 SMACK_ATTR_TRANSMUTE,
24 SMACK_ATTR_IPIN,
25 SMACK_ATTR_IPOUT,
5ab58c20
WC
26 _SMACK_ATTR_MAX,
27 _SMACK_ATTR_INVALID = -1,
28} SmackAttr;
29
6baa7db0 30bool mac_smack_use(void);
b9c1bc28 31
08c84981 32int mac_smack_fix(const char *path, LabelFixFlags flags);
c80d766c 33
5ab58c20
WC
34const char* smack_attr_to_string(SmackAttr i) _const_;
35SmackAttr smack_attr_from_string(const char *s) _pure_;
36int mac_smack_read(const char *path, SmackAttr attr, char **label);
37int mac_smack_read_fd(int fd, SmackAttr attr, char **label);
38int mac_smack_apply(const char *path, SmackAttr attr, const char *label);
39int mac_smack_apply_fd(int fd, SmackAttr attr, const char *label);
2ca620c4 40int mac_smack_apply_pid(pid_t pid, const char *label);
ba056b73 41int mac_smack_copy(const char *dest, const char *src);