summaryrefslogtreecommitdiff
path: root/lib/mlibc/sysdeps/ironclad/generic/mac.cpp
blob: 12b63d86a6afd26476ac23f4f88a5ad0816fd17b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <sys/syscall.h>
#include <sys/mac.h>
#include <errno.h>
#include <string.h>

extern "C" {

unsigned long get_mac_capabilities(void) {
	int ret;
	SYSCALL0(SYSCALL_GET_MAC_CAPABILITIES);
	return ret;
}

int set_mac_capabilities(unsigned long request) {
	int ret;
	SYSCALL1(SYSCALL_SET_MAC_CAPABILITIES, request);
	return ret;
}

int add_mac_permissions(const char *path, int flags) {
	int ret;
	SYSCALL3(SYSCALL_ADD_MAC_PERMISSIONS, path, strlen(path), flags);
	return ret;
}

int set_mac_enforcement(unsigned long enforcement) {
	int ret;
	SYSCALL1(SYSCALL_SET_MAC_ENFORCEMENT, enforcement);
	return ret;
}

}