1#include <stdlib.h>
2#include <assert.h>
3#include "handle.h"
4#include "debug.h"
5
6sepol_handle_t *sepol_handle_create(void)
7{
8
9	sepol_handle_t *sh = malloc(sizeof(sepol_handle_t));
10	if (sh == NULL)
11		return NULL;
12
13	/* Set callback */
14	sh->msg_callback = sepol_msg_default_handler;
15	sh->msg_callback_arg = NULL;
16
17	/* by default do not disable dontaudits */
18	sh->disable_dontaudit = 0;
19	sh->expand_consume_base = 0;
20
21	/* by default needless unused branch of tunables would be discarded  */
22	sh->preserve_tunables = 0;
23
24	return sh;
25}
26
27int sepol_get_preserve_tunables(sepol_handle_t *sh)
28{
29	assert(sh != NULL);
30	return sh->preserve_tunables;
31}
32
33void sepol_set_preserve_tunables(sepol_handle_t * sh, int preserve_tunables)
34{
35	assert(sh !=NULL);
36	sh->preserve_tunables = preserve_tunables;
37}
38
39int sepol_get_disable_dontaudit(sepol_handle_t *sh)
40{
41	assert(sh !=NULL);
42	return sh->disable_dontaudit;
43}
44
45void sepol_set_disable_dontaudit(sepol_handle_t * sh, int disable_dontaudit)
46{
47	assert(sh !=NULL);
48	sh->disable_dontaudit = disable_dontaudit;
49}
50
51void sepol_set_expand_consume_base(sepol_handle_t *sh, int consume_base)
52{
53	assert(sh != NULL);
54	sh->expand_consume_base = consume_base;
55}
56
57void sepol_handle_destroy(sepol_handle_t * sh)
58{
59	free(sh);
60}
61