]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/basic/selinux-util.h
tree-wide: drop license boilerplate
[thirdparty/systemd.git] / src / basic / selinux-util.h
CommitLineData
53e1b683 1/* SPDX-License-Identifier: LGPL-2.1+ */
cad45ba1
LP
2#pragma once
3
4/***
5 This file is part of systemd.
6
7 Copyright 2010 Lennart Poettering
cad45ba1
LP
8***/
9
10#include <stdbool.h>
71d35b6b 11#include <sys/socket.h>
11c3a366 12#include <sys/types.h>
cad45ba1 13
710a6b50 14#include "macro.h"
08c84981 15#include "label.h"
710a6b50 16
6baa7db0
LP
17bool mac_selinux_use(void);
18void mac_selinux_retest(void);
66b6d9d5 19
c3dacc8b 20int mac_selinux_init(void);
cc56fafe 21void mac_selinux_finish(void);
66b6d9d5 22
08c84981 23int mac_selinux_fix(const char *path, LabelFixFlags flags);
ecabcf8b 24int mac_selinux_apply(const char *path, const char *label);
66b6d9d5 25
cc56fafe
WC
26int mac_selinux_get_create_label_from_exe(const char *exe, char **label);
27int mac_selinux_get_our_label(char **label);
9008e1ac 28int mac_selinux_get_child_mls_label(int socket_fd, const char *exe, const char *exec_label, char **label);
710a6b50 29char* mac_selinux_free(char *label);
66b6d9d5 30
ecabcf8b
LP
31int mac_selinux_create_file_prepare(const char *path, mode_t mode);
32void mac_selinux_create_file_clear(void);
66b6d9d5 33
ecabcf8b
LP
34int mac_selinux_create_socket_prepare(const char *label);
35void mac_selinux_create_socket_clear(void);
36
ecabcf8b 37int mac_selinux_bind(int fd, const struct sockaddr *addr, socklen_t addrlen);
710a6b50
LP
38
39DEFINE_TRIVIAL_CLEANUP_FUNC(char*, mac_selinux_free);