chiark / gitweb /
2a9773f32a1fb06f0b5957d5b5eb79e77b165bf9
[elogind.git] / src / basic / smack-util.h
1 /* SPDX-License-Identifier: LGPL-2.1+ */
2 #pragma once
3
4 /***
5   Copyright © 2013 Intel Corporation
6
7   Author: Auke Kok <auke-jan.h.kok@intel.com>
8 ***/
9
10 #include <stdbool.h>
11 #include <sys/types.h>
12
13 //#include "label.h"
14 #include "macro.h"
15
16 #define SMACK_FLOOR_LABEL "_"
17 #define SMACK_STAR_LABEL  "*"
18
19 #if 0 /// UNNEEDED by elogind
20 typedef enum SmackAttr {
21         SMACK_ATTR_ACCESS,
22         SMACK_ATTR_EXEC,
23         SMACK_ATTR_MMAP,
24         SMACK_ATTR_TRANSMUTE,
25         SMACK_ATTR_IPIN,
26         SMACK_ATTR_IPOUT,
27         _SMACK_ATTR_MAX,
28         _SMACK_ATTR_INVALID = -1,
29 } SmackAttr;
30 #endif // 0
31
32 bool mac_smack_use(void);
33
34 int mac_smack_fix(const char *path, LabelFixFlags flags);
35
36 #if 0 /// UNNEEDED by elogind
37 const char* smack_attr_to_string(SmackAttr i) _const_;
38 SmackAttr smack_attr_from_string(const char *s) _pure_;
39 int mac_smack_read(const char *path, SmackAttr attr, char **label);
40 int mac_smack_read_fd(int fd, SmackAttr attr, char **label);
41 int mac_smack_apply(const char *path, SmackAttr attr, const char *label);
42 int mac_smack_apply_fd(int fd, SmackAttr attr, const char *label);
43 int mac_smack_apply_pid(pid_t pid, const char *label);
44 int mac_smack_copy(const char *dest, const char *src);
45 #endif // 0