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